{
    "tiddlers": {
        "$:/core/copyright.txt": {
            "title": "$:/core/copyright.txt",
            "type": "text/plain",
            "text": "TiddlyWiki created by Jeremy Ruston, (jeremy [at] jermolene [dot] com)\n\nCopyright © Jeremy Ruston 2004-2007\nCopyright © UnaMesa Association 2007-2014\n\nRedistribution and use in source and binary forms, with or without modification,\nare permitted provided that the following conditions are met:\n\nRedistributions of source code must retain the above copyright notice, this\nlist of conditions and the following disclaimer.\n\nRedistributions in binary form must reproduce the above copyright notice, this\nlist of conditions and the following disclaimer in the documentation and/or other\nmaterials provided with the distribution.\n\nNeither the name of the UnaMesa Association nor the names of its contributors may be\nused to endorse or promote products derived from this software without specific\nprior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS' AND ANY\nEXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES\nOF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT\nSHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\nINCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED\nTO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR\nBUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\nCONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN\nANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH\nDAMAGE.\n"
        },
        "$:/docs/fields/bag": {
            "title": "$:/docs/fields/bag",
            "text": "The name of the bag from which a tiddler came"
        },
        "$:/docs/fields/color": {
            "title": "$:/docs/fields/color",
            "text": "The CSS color value associated with a tiddler"
        },
        "$:/docs/fields/created": {
            "title": "$:/docs/fields/created",
            "text": "The date a tiddler was created"
        },
        "$:/docs/fields/creator": {
            "title": "$:/docs/fields/creator",
            "text": "The name of the person who created a tiddler"
        },
        "$:/docs/fields/description": {
            "title": "$:/docs/fields/description",
            "text": "The descriptive text for a wizard"
        },
        "$:/docs/fields/draft.of": {
            "title": "$:/docs/fields/draft.of",
            "text": "For draft tiddlers, contains the title of the tiddler of which this is a draft"
        },
        "$:/docs/fields/draft.title": {
            "title": "$:/docs/fields/draft.title",
            "text": "For draft tiddlers, contains the proposed new title of the tiddler"
        },
        "$:/docs/fields/footer": {
            "title": "$:/docs/fields/footer",
            "text": "The footer text for a wizard"
        },
        "$:/docs/fields/icon": {
            "title": "$:/docs/fields/icon",
            "text": "The title of the tiddler containing the icon associated with a tiddler"
        },
        "$:/docs/fields/library": {
            "title": "$:/docs/fields/library",
            "text": "If set to \"yes\" indicates that a tiddler should be saved as a JavaScript library"
        },
        "$:/docs/fields/list": {
            "title": "$:/docs/fields/list",
            "text": "An ordered list of tiddler titles associated with a tiddler"
        },
        "$:/docs/fields/modified": {
            "title": "$:/docs/fields/modified",
            "text": "The date and time at which a tiddler was last modified"
        },
        "$:/docs/fields/modifier": {
            "title": "$:/docs/fields/modifier",
            "text": "The tiddler title associated with the person who last modified a tiddler"
        },
        "$:/docs/fields/name": {
            "title": "$:/docs/fields/name",
            "text": "The human readable name associated with a plugin tiddler"
        },
        "$:/docs/fields/plugin-priority": {
            "title": "$:/docs/fields/plugin-priority",
            "text": "A numerical value indicating the priority of a plugin tiddler"
        },
        "$:/docs/fields/plugin-type": {
            "title": "$:/docs/fields/plugin-type",
            "text": "The type of plugin in a plugin tiddler"
        },
        "$:/docs/fields/revision": {
            "title": "$:/docs/fields/revision",
            "text": "The revision of the tiddler held at the server"
        },
        "$:/docs/fields/source": {
            "title": "$:/docs/fields/source",
            "text": "The source URL associated with a tiddler"
        },
        "$:/docs/fields/subtitle": {
            "title": "$:/docs/fields/subtitle",
            "text": "The subtitle text for a wizard"
        },
        "$:/docs/fields/tags": {
            "title": "$:/docs/fields/tags",
            "text": "A list of tags associated with a tiddler"
        },
        "$:/docs/fields/text": {
            "title": "$:/docs/fields/text",
            "text": "The body text of a tiddler"
        },
        "$:/docs/fields/title": {
            "title": "$:/docs/fields/title",
            "text": "The unique name of a tiddler"
        },
        "$:/docs/fields/type": {
            "title": "$:/docs/fields/type",
            "text": "The content type of a tiddler"
        },
        "$:/docs/moduletypes/animation": {
            "title": "$:/docs/moduletypes/animation",
            "text": "Animation modules contain animations that may be used with the RevealWidget."
        },
        "$:/docs/types/application/json": {
            "title": "$:/docs/types/application/json",
            "description": "JSON data",
            "name": "application/json",
            "text": ""
        },
        "$:/docs/types/application/x-tiddler-dictionary": {
            "title": "$:/docs/types/application/x-tiddler-dictionary",
            "description": "Data dictionary",
            "name": "application/x-tiddler-dictionary",
            "text": ""
        },
        "$:/docs/types/image/gif": {
            "title": "$:/docs/types/image/gif",
            "description": "GIF image",
            "name": "image/gif",
            "text": ""
        },
        "$:/docs/types/image/jpeg": {
            "title": "$:/docs/types/image/jpeg",
            "description": "JPEG image",
            "name": "image/jpeg",
            "text": ""
        },
        "$:/docs/types/image/png": {
            "title": "$:/docs/types/image/png",
            "description": "PNG image",
            "name": "image/png",
            "text": ""
        },
        "$:/docs/types/image/svg+xml": {
            "title": "$:/docs/types/image/svg+xml",
            "description": "Structured Vector Graphics image",
            "name": "image/svg+xml",
            "text": ""
        },
        "$:/docs/types/image/x-icon": {
            "title": "$:/docs/types/image/x-icon",
            "description": "ICO format icon file",
            "name": "image/x-icon",
            "text": ""
        },
        "$:/docs/types/text/plain": {
            "title": "$:/docs/types/text/plain",
            "description": "Plain text",
            "name": "text/plain",
            "text": ""
        },
        "$:/docs/types/text/vnd.tiddlywiki": {
            "title": "$:/docs/types/text/vnd.tiddlywiki",
            "description": "TiddlyWiki version 5 wikitext",
            "name": "text/vnd.tiddlywiki",
            "text": ""
        },
        "$:/docs/types/text/x-tiddlywiki": {
            "title": "$:/docs/types/text/x-tiddlywiki",
            "description": "TiddlyWiki Classic wikitext",
            "name": "text/x-tiddlywiki",
            "text": ""
        },
        "$:/core/images/cancel-button": {
            "title": "$:/core/images/cancel-button",
            "text": "<svg class=\"tw-image-cancel-button tw-image-button\" viewBox=\"366 150 58 58\" width=\"22pt\" height=\"22pt\"><path d=\"M 414.76236 158.98764 C 403.77887 148.0041 385.97113 148.0041 374.98764 158.98764 C 364.0041 169.97113 364.0041 187.77887 374.98764 198.76236 C 385.97113 209.7459 403.77887 209.7459 414.76236 198.76236 C 425.7459 187.77887 425.7459 169.97113 414.76236 158.98764 M 385.3967 165.32954 L 385.3967 165.32954 L 394.77674 174.7096 L 404.3533 165.13303 C 405.53068 163.95566 407.4396 163.95566 408.61697 165.13303 C 409.79434 166.31041 409.79434 168.21932 408.61697 169.39669 L 399.0404 178.97325 L 408.42046 188.35331 C 409.59783 189.53068 409.59783 191.43959 408.42046 192.61697 L 408.42046 192.61697 C 407.24308 193.79434 405.33417 193.79434 404.1568 192.61697 L 394.77675 183.23692 L 385.5932 192.42046 C 384.41583 193.59783 382.50692 193.59783 381.32954 192.42046 L 381.32954 192.42046 C 380.15217 191.24308 380.15217 189.33417 381.32954 188.1568 C 381.32954 188.1568 381.32954 188.1568 381.32954 188.1568 L 381.32954 188.1568 L 381.32954 188.1568 L 390.51309 178.97326 L 381.13303 169.5932 C 379.95566 168.41583 379.95566 166.50692 381.13303 165.32954 L 381.13303 165.32954 C 382.3104 164.15217 384.21932 164.15217 385.3967 165.32954 C 385.3967 165.32954 385.3967 165.32954 385.3967 165.32954 Z\"/></svg>"
        },
        "$:/core/images/close-button": {
            "title": "$:/core/images/close-button",
            "text": "<svg class=\"tw-image-close-button tw-image-button\" viewBox=\"222 150 56 56\" width=\"22pt\" height=\"22pt\"><path d=\"M 249.56668 185.88827 L 267.06757 203.38916 C 269.26427 205.58586 272.82582 205.58586 275.02252 203.38916 L 275.02252 203.38916 C 277.21922 201.19246 277.21922 197.63091 275.02252 195.43421 L 257.52163 177.93332 L 275.38916 160.06579 C 277.58586 157.86909 277.58586 154.30754 275.38916 152.11084 C 273.19246 149.91414 269.63091 149.91414 267.43421 152.11084 L 249.56668 169.97837 L 232.06579 152.47748 L 232.06579 152.47748 C 232.06579 152.47748 232.06579 152.47748 232.06579 152.47748 C 229.86909 150.28078 226.30754 150.28078 224.11084 152.47748 L 224.11084 152.47748 C 221.91414 154.674175 221.91414 158.23573 224.11084 160.43243 L 241.61173 177.93332 L 224.47748 195.06757 L 224.47748 195.06757 L 224.47748 195.06757 C 224.47748 195.06757 224.47748 195.06757 224.47748 195.06757 C 222.28078 197.26427 222.28078 200.82583 224.47748 203.02252 L 224.47748 203.02252 C 226.67418 205.21922 230.23573 205.21922 232.43243 203.02252 Z\"/></svg>\n"
        },
        "$:/core/images/delete-button": {
            "title": "$:/core/images/delete-button",
            "text": "<svg class=\"tw-image-delete-button tw-image-button\" viewBox=\"303 155 39 50\" width=\"17pt\" height=\"22pt\"><path d=\"M 333 164.25 L 333 157.25 C 333 156.14543 332.10457 155.25 331 155.25 L 314.75 155.25 C 314.75 155.25 314.75 155.25 314.75 155.25 C 313.64543 155.25 312.75 156.14543 312.75 157.25 L 312.75 164.25 L 303.75 164.25 L 303.75 168.75 L 306 168.75 L 306 201.75 L 306 201.75 L 306 201.75 C 306 203.40685 307.34315 204.75 309 204.75 L 336.75 204.75 C 338.40685 204.75 339.75 203.40685 339.75 201.75 L 339.75 168.75 L 342 168.75 L 342 164.25 Z M 317.25 160.75 L 317.25 160.75 C 317.25 160.19772 317.69772 159.75 318.25 159.75 C 318.25 159.75 318.25 159.75 318.25 159.75 L 327.5 159.75 C 328.05228 159.75 328.5 160.19772 328.5 160.75 L 328.5 164.25 L 317.25 164.25 L 317.25 160.75 Z M 310.5 168.75 L 312.75 168.75 L 312.75 200.25 L 310.5 200.25 Z M 317.25 168.75 L 319.5 168.75 L 319.5 200.25 L 317.25 200.25 Z M 324 168.75 L 326.25 168.75 L 326.25 200.25 L 324 200.25 Z M 330.75 168.75 L 333 168.75 L 333 200.25 L 330.75 200.25 Z\"/></svg>\n"
        },
        "$:/core/images/done-button": {
            "title": "$:/core/images/done-button",
            "text": "<svg class=\"tw-image-done-button tw-image-button\" viewBox=\"434 150 68 55\" width=\"22pt\" height=\"18pt\"><path d=\"M 438.49266 178.00797 L 439.00744 177.49319 C 441.35054 175.15008 445.14946 175.15004 447.49262 177.49309 L 452.50734 182.50757 C 454.8505 184.85063 458.6494 184.85058 460.99252 182.50748 L 488.50747 154.99255 C 490.85058 152.64944 494.6495 152.6494 496.99266 154.99246 L 497.50722 155.506995 C 499.8504 157.85009 499.8505 161.64908 497.5074 163.99228 C 497.50738 163.99229 497.50736 163.99231 497.50734 163.99233 L 460.9926 200.5077 C 458.64947 202.85087 454.85048 202.8509 452.50732 200.50778 C 452.5073 200.50777 452.5073 200.50777 452.5073 200.50776 L 438.49268 186.49327 C 436.14952 184.15013 436.1495 180.35114 438.49264 178.00799 C 438.49265 178.00798 438.49265 178.00797 438.49266 178.00797 Z\"/></svg>\n"
        },
        "$:/core/images/down-arrow": {
            "title": "$:/core/images/down-arrow",
            "text": "<svg class=\"tw-image-down-arrow tw-image-button\" viewBox=\"441 306 59 45\" width=\"24pt\" height=\"22pt\"><path d=\"M 441 306 L 470.25 351 L 499.5 306 Z\"/></svg>\n"
        },
        "$:/core/images/edit-button": {
            "title": "$:/core/images/edit-button",
            "text": "<svg class=\"tw-image-edit-button tw-image-button\" viewBox=\"244 193 20 22\" width=\"20pt\" height=\"22pt\"><path d=\"M 257.33334 196.80951 L 245.90476 207.2857 L 244 212.0476 L 248.7619 210.14284 L 260.19048 199.66665 Z M 259.2381 194.90475 L 258.28566 195.85716 L 261.14284 198.71428 L 262.09522 197.76187 Z M 261.14286 193 L 260.19042 193.95241 L 263.04762 196.80953 L 264 195.85714 Z M 244 213.72882 C 244 213.72882 247.4281 215.43353 250.8572 213.7288 C 254.28599 212.02405 261.14284 214.86531 261.14284 214.86531 L 261.14284 213.72884 C 261.14284 213.72884 254.28577 210.88755 250.8572 212.5923 C 247.42858 214.29712 244 212.59228 244 212.59228 Z\"/></svg>\n"
        },
        "$:/core/images/info-button": {
            "title": "$:/core/images/info-button",
            "text": "<svg class=\"tw-image-info-button tw-image-button\" viewBox=\"294 150 58 58\" width=\"22pt\" height=\"22pt\"><path d=\"M 342.76236 158.98764 C 331.77887 148.0041 313.97113 148.0041 302.98764 158.98764 C 292.0041 169.97113 292.0041 187.77887 302.98764 198.76236 C 313.97113 209.7459 331.77887 209.7459 342.76236 198.76236 C 353.7459 187.77887 353.7459 169.97113 342.76236 158.98764 M 326.5425 157.5 L 326.5425 157.5 C 327.72545 157.5 328.72201 157.91022 329.5337 158.73088 C 330.34465 159.55157 330.75 160.54402 330.75 161.7075 C 330.75 162.87172 330.33979 163.86316 329.51911 164.68385 C 328.69842 165.5045 327.70674 165.91501 326.5425 165.91501 C 325.39801 165.91501 324.4153 165.5045 323.5946 164.68385 C 322.77393 163.86316 322.36372 162.87172 322.36372 161.7075 C 322.36372 160.54402 322.76906 159.55157 323.58 158.73088 C 324.39171 157.91022 325.3793 157.5 326.5425 157.5 Z M 327.80211 190.47259 C 324.91945 195.49132 321.85778 198 318.61462 198 C 317.37452 198 316.38691 197.65158 315.65186 196.9555 C 314.9176 196.25866 314.54943 195.37617 314.54943 194.30782 C 314.54943 193.60202 314.71223 192.70572 315.03629 191.61813 L 319.0151 177.93651 C 319.39685 176.61922 319.58735 175.62754 319.58735 174.95991 C 319.58735 174.53996 319.40582 174.16692 319.04356 173.84286 C 318.68052 173.51905 318.18469 173.35701 317.55527 173.35701 C 317.26861 173.35701 316.92506 173.36677 316.5246 173.38548 L 316.89661 172.2407 L 326.59967 170.66627 L 328.31744 170.66627 L 322.44986 191.01638 C 322.12503 192.18064 321.963 192.94337 321.963 193.30666 C 321.963 193.51588 322.04862 193.71121 322.2204 193.89273 C 322.39218 194.07425 322.5737 194.16554 322.7642 194.16477 C 323.08903 194.16554 323.4131 194.02221 323.73792 193.73559 C 324.59605 193.02976 325.6267 191.75142 326.82838 189.90008 Z\"/></svg>\n"
        },
        "$:/core/images/new-button": {
            "title": "$:/core/images/new-button",
            "text": "<svg class=\"tw-image-new-button tw-image-button\" viewBox=\"83 81 50 50\" width=\"22pt\" height=\"22pt\"><path d=\"M 101.25 112.5 L 101.25 127.5 C 101.25 127.5 101.25 127.5 101.25 127.5 L 101.25 127.5 C 101.25 129.156855 102.593146 130.5 104.25 130.5 L 111.75 130.5 C 113.406854 130.5 114.75 129.156854 114.75 127.5 L 114.75 112.5 L 129.75 112.5 C 131.406854 112.5 132.75 111.156854 132.75 109.5 L 132.75 102 C 132.75 100.343146 131.406854 99 129.75 99 L 114.75 99 L 114.75 84 C 114.75 82.343146 113.406854 81 111.75 81 L 104.25 81 C 104.25 81 104.25 81 104.25 81 C 102.593146 81 101.25 82.343146 101.25 84 L 101.25 99 L 86.25 99 C 86.25 99 86.25 99 86.25 99 C 84.593146 99 83.25 100.343146 83.25 102 L 83.25 109.5 C 83.25 109.5 83.25 109.5 83.25 109.5 L 83.25 109.5 C 83.25 111.156855 84.593146 112.5 86.25 112.5 Z\"/></svg>\n"
        },
        "$:/core/images/options-button": {
            "title": "$:/core/images/options-button",
            "text": "<svg class=\"tw-image-options-button tw-image-button\" viewBox=\"434 218 68 68\" width=\"22pt\" height=\"22pt\"><path d=\"M 478.39696 232.53705 L 478.39696 232.53705 C 477.11453 231.85132 475.77877 231.30146 474.4106 230.88735 L 474.4106 218.24993 L 461.58944 218.24993 L 461.58944 230.88735 C 460.22126 231.30146 458.8855 231.85132 457.60308 232.53705 L 448.66825 223.60214 L 439.6022 232.66814 L 448.53716 241.60304 C 447.8515 242.88541 447.30158 244.22116 446.88747 245.58935 L 434.25 245.58935 L 434.25 258.41052 L 446.88747 258.41052 C 447.30158 259.7787 447.8515 261.11446 448.53716 262.39689 L 439.6022 271.33173 L 448.66825 280.39779 L 457.60308 271.46281 C 458.8855 272.14862 460.22126 272.69847 461.58944 273.11251 L 461.58944 285.74986 L 474.4106 285.74986 L 474.4106 273.11251 C 475.77877 272.69847 477.11453 272.14862 478.39696 271.46281 L 487.3318 280.39779 L 496.3977 271.33173 L 487.46287 262.39689 C 488.14854 261.11446 488.6984 259.7787 489.11257 258.41052 L 501.7499 258.41052 L 501.7499 245.58935 L 489.11257 245.58935 C 488.6984 244.22116 488.14854 242.88541 487.46287 241.60304 L 496.3977 232.66814 L 487.3318 223.60214 Z M 475.3328 244.66714 C 479.38253 248.71698 479.38253 255.2829 475.3328 259.33273 C 471.28297 263.3826 464.71706 263.3826 460.66723 259.33273 C 456.61737 255.2829 456.61737 248.71698 460.66723 244.66714 C 464.71706 240.61734 471.28297 240.61734 475.3328 244.66714\"/></svg>\n"
        },
        "$:/core/images/save-button": {
            "title": "$:/core/images/save-button",
            "text": "<svg class=\"tw-image-save-button tw-image-button\" viewBox=\"4 512 64 60\" width=\"22pt\" height=\"21pt\"><path d=\"M 13.5 537.75 L 11.5 537.75 C 11.5 537.75 11.5 537.75 11.5 537.75 C 7.6340064 537.75 4.4999994 540.884 4.5 544.75 L 4.5 564.5 L 4.5 564.5 C 4.5 564.5 4.5 564.5 4.5 564.5 L 4.5 564.5 C 4.5000006 568.366 7.634007 571.5 11.5 571.5 L 60.5 571.5 C 64.365993 571.5 67.5 568.366 67.5 564.5 L 67.5 544.75 C 67.5 540.884 64.365993 537.75 60.5 537.75 L 58.5 537.75 L 49.5 546.75 L 50 546.75 C 52.20914 546.75 54 548.54086 54 550.75 L 54 556.25 C 54 558.45914 52.20914 560.25 50 560.25 L 36 560.25 L 22 560.25 C 19.790861 560.25 18 558.45914 18 556.25 L 18 556.25 C 18 556.25 18 556.25 18 556.25 L 18 550.75 C 18 548.54086 19.790861 546.75 22 546.75 C 22 546.75 22 546.75 22 546.75 L 22.5 546.75 Z\"/><path d=\"M 16.37132 533.87132 L 33.87868 551.37868 C 35.050253 552.55025 36.949747 552.55025 38.12132 551.37868 L 55.62868 533.87132 C 56.800252 532.69975 56.800252 530.80025 55.62868 529.62868 C 55.06607 529.06607 54.30301 528.75 53.50736 528.75 L 48 528.75 C 46.343146 528.75 45 527.40685 45 525.75 L 45 516 C 45 514.34315 43.656854 513 42 513 L 30 513 C 28.343146 513 27 514.34315 27 516 L 27 525.75 C 27 527.40685 25.656854 528.75 24 528.75 L 18.492641 528.75 C 16.835786 528.75 15.492641 530.09315 15.492641 531.75 C 15.492641 532.54565 15.808711 533.3087 16.37132 533.87132 Z\"/></svg>\n"
        },
        "$:/messages/Download": {
            "title": "$:/messages/Download",
            "type": "text/vnd.tiddlywiki",
            "subtitle": "Download changes",
            "footer": "<$button message=\"tw-close-tiddler\" class=\"btn btn-primary\">Close</$button>",
            "help": "http://five.tiddlywiki.com/static/DownloadingChanges.html",
            "text": "Your browser only supports manual saving.\n\nTo save your modified wiki, right click on the download link below and select \"Download file\" or \"Save file\", and then choose the folder and filename.\n\n//You can marginally speed things up by clicking the link with the control key (Windows) or the options/alt key (Mac OS X). You will not be prompted for the folder or filename, but your browser is likely to give it an unrecognisable name -- you may need to rename the file to include an `.html` extension before you can do anything useful with it.//\n\nOn smartphones that do not allow files to be downloaded you can instead bookmark the link, and then sync your bookmarks to a desktop computer from where the wiki can be saved normally.\n"
        },
        "$:/messages/EnterEditMode": {
            "title": "$:/messages/EnterEditMode",
            "type": "text/vnd.tiddlywiki",
            "subtitle": "Editing this wiki",
            "footer": "<<button close class:\"btn btn-primary\"><Close>>",
            "help": "http://five.tiddlywiki.com/static/EditMode",
            "text": "You can edit this wiki and save your changes. You are strongly advised to verify that saving is working properly before trusting ~TiddlyWiki with your data.\n\nThe following methods of saving changes are available:\n\n* Using Firefox's built-in file system access\n* Uploading to a simple server script\n* Using HTML5's data URI and download attribute\n\n\n[x] Don't show this message again"
        },
        "$:/messages/SaveInstructions": {
            "title": "$:/messages/SaveInstructions",
            "type": "text/vnd.tiddlywiki",
            "subtitle": "Save your work",
            "footer": "<$button message=\"tw-close-tiddler\" class=\"btn btn-primary\">Close</$button>",
            "help": "http://five.tiddlywiki.com/static/SavingChanges",
            "text": "Your changes to this wiki need to be saved as a ~TiddlyWiki HTML file.\n\n!!! Desktop browsers\n\n# Select ''Save As'' from the ''File'' menu\n# Choose a filename and location\n#* Some browsers also require you to explicitly specify the file saving format as ''Webpage, HTML only'' or similar\n# Close this tab\n\n!!! Smartphone browsers\n\n# Create a bookmark to this page\n#* If you've got iCloud or Google Sync set up then the bookmark will automatically sync to your desktop where you can open it and save it as above\n# Close this tab\n\n//If you open the bookmark again in Mobile Safari you will see this message again. If you want to go ahead and use the file, just click the ''close'' button below//\n"
        },
        "$:/messages/Saved": {
            "title": "$:/messages/Saved",
            "text": "Saved wiki\n"
        },
        "$:/messages/StartingSave": {
            "title": "$:/messages/StartingSave",
            "text": "Starting to save wiki\n"
        },
        "$:/core/modules/commander.js": {
            "text": "/*\\\ntitle: $:/core/modules/commander.js\ntype: application/javascript\nmodule-type: global\n\nThe $tw.Commander class is a command interpreter\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nParse a sequence of commands\n\tcommandTokens: an array of command string tokens\n\twiki: reference to the wiki store object\n\tstreams: {output:, error:}, each of which has a write(string) method\n\tcallback: a callback invoked as callback(err) where err is null if there was no error\n*/\nvar Commander = function(commandTokens,callback,wiki,streams) {\n\tthis.commandTokens = commandTokens;\n\tthis.nextToken = 0;\n\tthis.callback = callback;\n\tthis.wiki = wiki;\n\tthis.streams = streams;\n};\n\n/*\nExecute the sequence of commands and invoke a callback on completion\n*/\nCommander.prototype.execute = function() {\n\tthis.executeNextCommand();\n};\n\n/*\nExecute the next command in the sequence\n*/\nCommander.prototype.executeNextCommand = function() {\n\tvar self = this;\n\t// Invoke the callback if there are no more commands\n\tif(this.nextToken >= this.commandTokens.length) {\n\t\tthis.callback(null);\n\t} else {\n\t\t// Get and check the command token\n\t\tvar commandName = this.commandTokens[this.nextToken++];\n\t\tif(commandName.substr(0,2) !== \"--\") {\n\t\t\tthis.callback(\"Missing command\");\n\t\t} else {\n\t\t\tcommandName = commandName.substr(2); // Trim off the --\n\t\t\t// Accumulate the parameters to the command\n\t\t\tvar params = [];\n\t\t\twhile(this.nextToken < this.commandTokens.length && \n\t\t\t\tthis.commandTokens[this.nextToken].substr(0,2) !== \"--\") {\n\t\t\t\tparams.push(this.commandTokens[this.nextToken++]);\n\t\t\t}\n\t\t\t// Get the command info\n\t\t\tvar command = $tw.commands[commandName],\n\t\t\t\tc,err;\n\t\t\tif(!command) {\n\t\t\t\tthis.callback(\"Unknown command: \" + commandName);\n\t\t\t} else {\n\t\t\t\tif(this.verbose) {\n\t\t\t\t\tthis.streams.output.write(\"Executing command: \" + commandName + \" \" + params.join(\" \") + \"\\n\");\n\t\t\t\t}\n\t\t\t\tif(command.info.synchronous) {\n\t\t\t\t\t// Synchronous command\n\t\t\t\t\tc = new command.Command(params,this);\n\t\t\t\t\terr = c.execute();\n\t\t\t\t\tif(err) {\n\t\t\t\t\t\tthis.callback(err);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.executeNextCommand();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// Asynchronous command\n\t\t\t\t\tc = new command.Command(params,this,function(err) {\n\t\t\t\t\t\tif(err) {\n\t\t\t\t\t\t\tself.callback(err);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tself.executeNextCommand();\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\terr = c.execute();\n\t\t\t\t\tif(err) {\n\t\t\t\t\t\tthis.callback(err);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nCommander.initCommands = function(moduleType) {\n\tmoduleType = moduleType || \"command\";\n\t$tw.commands = {};\n\t$tw.modules.forEachModuleOfType(moduleType,function(title,module) {\n\t\tvar c = $tw.commands[module.info.name] = {};\n\t\t// Add the methods defined by the module\n\t\tfor(var f in module) {\n\t\t\tif($tw.utils.hop(module,f)) {\n\t\t\t\tc[f] = module[f];\n\t\t\t}\n\t\t}\n\t});\n};\n\nexports.Commander = Commander;\n\n})();\n",
            "title": "$:/core/modules/commander.js",
            "type": "application/javascript",
            "module-type": "global"
        },
        "$:/core/modules/commands/load.js": {
            "text": "/*\\\ntitle: $:/core/modules/commands/load.js\ntype: application/javascript\nmodule-type: command\n\nCommand to load tiddlers from a file\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"load\",\n\tsynchronous: false\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\");\n\tif(this.params.length < 1) {\n\t\treturn \"Missing filename\";\n\t}\n\tfs.readFile(this.params[0],\"utf8\",function(err,data) {\n\t\tif(err) {\n\t\t\tself.callback(err);\n\t\t} else {\n\t\t\tvar fields = {title: self.params[0]},\n\t\t\t\ttype = path.extname(self.params[0]);\n\t\t\tvar tiddlers = self.commander.wiki.deserializeTiddlers(type,data,fields);\n\t\t\tif(!tiddlers) {\n\t\t\t\tself.callback(\"No tiddlers found in file \\\"\" + self.params[0] + \"\\\"\");\n\t\t\t} else {\n\t\t\t\tfor(var t=0; t<tiddlers.length; t++) {\n\t\t\t\t\tself.commander.wiki.addTiddler(new $tw.Tiddler(tiddlers[t]));\n\t\t\t\t}\n\t\t\t\tself.callback(null);\t\n\t\t\t}\n\t\t}\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "title": "$:/core/modules/commands/load.js",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/password.js": {
            "text": "/*\\\ntitle: $:/core/modules/commands/password.js\ntype: application/javascript\nmodule-type: command\n\nSave password for crypto operations\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"password\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing password\";\n\t}\n\t$tw.crypto.setPassword(this.params[0]);\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "title": "$:/core/modules/commands/password.js",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/print.js": {
            "text": "/*\\\ntitle: $:/core/modules/commands/print.js\ntype: application/javascript\nmodule-type: command\n\nPrint command for inspecting TiddlyWiki internals\n\n\\*/\n(function(){\n\n/*jshint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"print\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.output = commander.streams.output;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Too few parameters for print command\";\n\t}\n\tvar subcommand = this.subcommands[this.params[0]];\n\tif(subcommand) {\n\t\treturn subcommand.call(this);\n\t} else {\n\t\treturn \"Unknown subcommand (\" + this.params[0] + \") for print command\";\n\t}\n};\n\nCommand.prototype.subcommands = {};\n\nCommand.prototype.subcommands.tiddler = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Too few parameters for print tiddler command\";\n\t}\n\tvar tiddler = this.commander.wiki.getTiddler(this.params[1]);\n\tif(!tiddler) {\n\t\treturn \"No such tiddler as '\" + this.params[1] + \"'\";\n\t}\n\tthis.output.write(\"Tiddler '\" + this.params[1] + \"' contains these fields:\\n\");\n\tfor(var t in tiddler.fields) {\n\t\tthis.output.write(\"  \" + t + \": \" + tiddler.getFieldString(t) + \"\\n\");\n\t}\n\treturn null; // No error\n};\n\nCommand.prototype.subcommands.tiddlers = function() {\n\tvar tiddlers = this.commander.wiki.getTiddlers();\n\tthis.output.write(\"Wiki contains these tiddlers:\\n\");\n\tfor(var t=0; t<tiddlers.length; t++) {\n\t\tthis.output.write(tiddlers[t] + \"\\n\");\n\t}\n\treturn null; // No error\n};\n\nCommand.prototype.subcommands.system = function() {\n\tvar tiddlers = this.commander.wiki.getSystemTitles();\n\tthis.output.write(\"Wiki contains these system tiddlers:\\n\");\n\tfor(var t=0; t<tiddlers.length; t++) {\n\t\tthis.output.write(tiddlers[t] + \"\\n\");\n\t}\n\treturn null; // No error\n};\n\nCommand.prototype.subcommands.config = function() {\n\tvar self = this;\n\tvar quotePropertyName = function(p) {\n\t\t\tvar unquotedPattern = /^[A-Za-z0-9_]*$/mg;\n\t\t\tif(unquotedPattern.test(p)) {\n\t\t\t\treturn p;\n\t\t\t} else {\n\t\t\t\treturn \"[\\\"\" + $tw.utils.stringify(p) + \"\\\"]\";\n\t\t\t}\n\t\t},\n\t\tprintConfig = function(object,prefix) {\n\t\t\tfor(var n in object) {\n\t\t\t\tvar v = object[n];\n\t\t\t\tif(typeof v === \"object\") {\n\t\t\t\t\tprintConfig(v,prefix + \".\" + quotePropertyName(n));\n\t\t\t\t} else if(typeof v === \"string\") {\n\t\t\t\t\tself.output.write(prefix + \".\" + quotePropertyName(n) + \": \\\"\" + $tw.utils.stringify(v) + \"\\\"\\n\");\n\t\t\t\t} else {\n\t\t\t\t\tself.output.write(prefix + \".\" + quotePropertyName(n) + \": \" + v.toString() + \"\\n\");\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tprintObject = function(heading,object) {\n\t\t\tself.output.write(heading +\"\\n\");\n\t\t\tfor(var n in object) {\n\t\t\t\tself.output.write(\"  \" + n + \"\\n\");\n\t\t\t}\n\t\t};\n\tthis.output.write(\"Configuration:\\n\");\n\tprintConfig($tw.config,\"  $tw.config\");\n\tprintObject(\"Tiddler field modules:\",$tw.Tiddler.fieldModules);\n\tprintObject(\"Loaded modules:\",$tw.modules.titles);\n\tprintObject(\"Command modules:\",$tw.commands);\n\tprintObject(\"Parser modules:\",$tw.wiki.parsers);\n\tprintObject(\"Macro modules:\",$tw.wiki.macros);\n\tprintObject(\"Deserializer modules:\",$tw.Wiki.tiddlerDeserializerModules);\n\treturn null; // No error\n};\n\nexports.Command = Command;\n\n})();\n",
            "title": "$:/core/modules/commands/print.js",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/rendertiddler.js": {
            "text": "/*\\\ntitle: $:/core/modules/commands/rendertiddler.js\ntype: application/javascript\nmodule-type: command\n\nCommand to render a tiddler and save it to a file\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"rendertiddler\",\n\tsynchronous: false\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\ttitle = this.params[0],\n\t\tfilename = this.params[1],\n\t\ttype = this.params[2] || \"text/html\";\n\tfs.writeFile(filename,this.commander.wiki.renderTiddler(type,title),\"utf8\",function(err) {\n\t\tself.callback(err);\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "title": "$:/core/modules/commands/rendertiddler.js",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/rendertiddlers.js": {
            "text": "/*\\\ntitle: $:/core/modules/commands/rendertiddlers.js\ntype: application/javascript\nmodule-type: command\n\nCommand to render several tiddlers to a folder of files\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.info = {\n\tname: \"rendertiddlers\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\twiki = this.commander.wiki,\n\t\tfilter = this.params[0],\n\t\ttemplate = this.params[1],\n\t\tpathname = this.params[2],\n\t\ttype = this.params[3] || \"text/html\",\n\t\textension = this.params[4] || \".html\",\n\t\ttiddlers = wiki.filterTiddlers(filter);\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar parser = wiki.parseTiddler(template),\n\t\t\twidgetNode = wiki.makeWidget(parser,{variables: {currentTiddler: title}});\n\t\tvar container = $tw.document.createElement(\"div\");\n\t\twidgetNode.render(container,null);\n\t\tvar text = type === \"text/html\" ? container.innerHTML : container.textContent;\n\t\tfs.writeFileSync(path.resolve(pathname,encodeURIComponent(title) + extension),text,\"utf8\");\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "title": "$:/core/modules/commands/rendertiddlers.js",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/savetiddler.js": {
            "text": "/*\\\ntitle: $:/core/modules/commands/savetiddler.js\ntype: application/javascript\nmodule-type: command\n\nCommand to save the content of a tiddler to a file\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"savetiddler\",\n\tsynchronous: false\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\ttitle = this.params[0],\n\t\tfilename = this.params[1],\n\t\ttiddler = this.commander.wiki.getTiddler(title),\n\t\ttype = tiddler.fields.type || \"text/vnd.tiddlywiki\",\n\t\tcontentTypeInfo = $tw.config.contentTypeInfo[type] || {encoding: \"utf8\"};\n\tfs.writeFile(filename,tiddler.fields.text,contentTypeInfo.encoding,function(err) {\n\t\tself.callback(err);\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "title": "$:/core/modules/commands/savetiddler.js",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/server.js": {
            "text": "/*\\\ntitle: $:/core/modules/commands/server.js\ntype: application/javascript\nmodule-type: command\n\nServe tiddlers over http\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nif(!$tw.browser) {\n\tvar util = require(\"util\"),\n\t\tfs = require(\"fs\"),\n\t\turl = require(\"url\"),\n\t\tpath = require(\"path\"),\n\t\thttp = require(\"http\");\t\n}\n\nexports.info = {\n\tname: \"server\",\n\tsynchronous: true\n};\n\n/*\nA simple HTTP server with regexp-based routes\n*/\nfunction SimpleServer(options) {\n\tthis.routes = options.routes || [];\n\tthis.wiki = options.wiki;\n\tthis.variables = options.variables || {};\n}\n\nSimpleServer.prototype.set = function(obj) {\n\tvar self = this;\n\t$tw.utils.each(obj,function(value,name) {\n\t\tself.variables[name] = value;\n\t});\n};\n\nSimpleServer.prototype.get = function(name) {\n\treturn this.variables[name];\n};\n\nSimpleServer.prototype.addRoute = function(route) {\n\tthis.routes.push(route);\n};\n\nSimpleServer.prototype.findMatchingRoute = function(request,state) {\n\tfor(var t=0; t<this.routes.length; t++) {\n\t\tvar potentialRoute = this.routes[t],\n\t\t\tpathRegExp = potentialRoute.path,\n\t\t\tmatch = potentialRoute.path.exec(state.urlInfo.pathname);\n\t\tif(match && request.method === potentialRoute.method) {\n\t\t\tstate.params = [];\n\t\t\tfor(var p=1; p<match.length; p++) {\n\t\t\t\tstate.params.push(match[p]);\n\t\t\t}\n\t\t\treturn potentialRoute;\n\t\t}\n\t}\n\treturn null;\n};\n\nSimpleServer.prototype.checkCredentials = function(request,incomingUsername,incomingPassword) {\n\tvar header = request.headers[\"authorization\"] || \"\",\n\t\ttoken = header.split(/\\s+/).pop() || \"\",\n\t\tauth = $tw.utils.base64Decode(token),\n\t\tparts = auth.split(/:/),\n\t\tusername = parts[0],\n\t\tpassword = parts[1];\n\tif(incomingUsername === username && incomingPassword === password) {\n\t\treturn \"ALLOWED\";\n\t} else {\n\t\treturn \"DENIED\";\n\t}\n}\n\nSimpleServer.prototype.listen = function(port,host) {\n\tvar self = this;\n\thttp.createServer(function(request,response) {\n\t\t// Compose the state object\n\t\tvar state = {};\n\t\tstate.wiki = self.wiki;\n\t\tstate.server = self;\n\t\tstate.urlInfo = url.parse(request.url);\n\t\t// Find the route that matches this path\n\t\tvar route = self.findMatchingRoute(request,state);\n\t\t// Check for the username and password if we've got one\n\t\tvar username = self.get(\"username\"),\n\t\t\tpassword = self.get(\"password\");\n\t\tif(username && password) {\n\t\t\t// Check they match\n\t\t\tif(self.checkCredentials(request,username,password) !== \"ALLOWED\") {\n\t\t\t\tresponse.writeHead(401,\"Authentication required\",{\n\t\t\t\t\t\"WWW-Authenticate\": 'Basic realm=\"Please provide your username and password to login to TiddlyWiki5\"'\n\t\t\t\t});\n\t\t\t\tresponse.end();\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\t// Return a 404 if we didn't find a route\n\t\tif(!route) {\n\t\t\tresponse.writeHead(404);\n\t\t\tresponse.end();\n\t\t\treturn;\n\t\t}\n\t\t// Dispatch the appropriate method\n\t\tswitch(request.method) {\n\t\t\tcase \"GET\": // Intentional fall-through\n\t\t\tcase \"DELETE\":\n\t\t\t\troute.handler(request,response,state);\n\t\t\t\tbreak;\n\t\t\tcase \"PUT\":\n\t\t\t\tvar data = \"\";\n\t\t\t\trequest.on(\"data\",function(chunk) {\n\t\t\t\t\tdata += chunk.toString();\n\t\t\t\t});\n\t\t\t\trequest.on(\"end\",function() {\n\t\t\t\t\tstate.data = data;\n\t\t\t\t\troute.handler(request,response,state);\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t}\n\t}).listen(port,host);\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n\t// Set up server\n\tthis.server = new SimpleServer({\n\t\twiki: this.commander.wiki\n\t});\n\t// Add route handlers\n\tthis.server.addRoute({\n\t\tmethod: \"PUT\",\n\t\tpath: /^\\/recipes\\/default\\/tiddlers\\/(.+)$/,\n\t\thandler: function(request,response,state) {\n\t\t\tvar title = decodeURIComponent(state.params[0]),\n\t\t\t\tfields = JSON.parse(state.data);\n\t\t\t// Pull up any subfields in the `fields` object\n\t\t\tif(fields.fields) {\n\t\t\t\t$tw.utils.each(fields.fields,function(field,name) {\n\t\t\t\t\tfields[name] = field;\n\t\t\t\t});\n\t\t\t\tdelete fields.fields;\n\t\t\t}\n\t\t\t// Remove any revision field\n\t\t\tif(fields[\"revision\"]) {\n\t\t\t\tdelete fields[\"revision\"];\n\t\t\t}\n\t\t\tstate.wiki.addTiddler(new $tw.Tiddler(state.wiki.getCreationFields(),fields,{title: title}));\n\t\t\tvar changeCount = state.wiki.getChangeCount(title).toString();\n\t\t\tresponse.writeHead(204, \"OK\",{\n\t\t\t\tEtag: \"\\\"default/\" + title + \"/\" + changeCount + \":\\\"\"\n\t\t\t});\n\t\t\tresponse.end();\n\t\t}\n\t});\n\tthis.server.addRoute({\n\t\tmethod: \"DELETE\",\n\t\tpath: /^\\/bags\\/default\\/tiddlers\\/(.+)$/,\n\t\thandler: function(request,response,state) {\n\t\t\tvar title = decodeURIComponent(state.params[0]);\n\t\t\tstate.wiki.deleteTiddler(title);\n\t\t\tresponse.writeHead(204, \"OK\");\n\t\t\tresponse.end();\n\t\t}\n\t});\n\tthis.server.addRoute({\n\t\tmethod: \"GET\",\n\t\tpath: /^\\/$/,\n\t\thandler: function(request,response,state) {\n\t\t\tresponse.writeHead(200, {\"Content-Type\": state.server.get(\"serveType\")});\n\t\t\tvar text = state.wiki.renderTiddler(state.server.get(\"renderType\"),state.server.get(\"rootTiddler\"));\n\t\t\tresponse.end(text,\"utf8\");\n\t\t}\n\t});\n\tthis.server.addRoute({\n\t\tmethod: \"GET\",\n\t\tpath: /^\\/status$/,\n\t\thandler: function(request,response,state) {\n\t\t\tresponse.writeHead(200, {\"Content-Type\": \"application/json\"});\n\t\t\tvar text = JSON.stringify({\n\t\t\t\tusername: state.server.get(\"username\"),\n\t\t\t\tspace: {\n\t\t\t\t\trecipe: \"default\"\n\t\t\t\t},\n\t\t\t\ttiddlywiki_version: $tw.version\n\t\t\t});\n\t\t\tresponse.end(text,\"utf8\");\n\t\t}\n\t});\n\tthis.server.addRoute({\n\t\tmethod: \"GET\",\n\t\tpath: /^\\/favicon.ico$/,\n\t\thandler: function(request,response,state) {\n\t\t\tresponse.writeHead(200, {\"Content-Type\": \"image/x-icon\"});\n\t\t\tvar buffer = state.wiki.getTiddlerText(\"$:/favicon.ico\",\"\");\n\t\t\tresponse.end(buffer,\"base64\");\n\t\t}\n\t});\n\tthis.server.addRoute({\n\t\tmethod: \"GET\",\n\t\tpath: /^\\/recipes\\/default\\/tiddlers.json$/,\n\t\thandler: function(request,response,state) {\n\t\t\tresponse.writeHead(200, {\"Content-Type\": \"application/json\"});\n\t\t\tvar tiddlers = [];\n\t\t\tstate.wiki.forEachTiddler({sortField: \"title\"},function(title,tiddler) {\n\t\t\t\tvar tiddlerFields = {};\n\t\t\t\t$tw.utils.each(tiddler.fields,function(field,name) {\n\t\t\t\t\tif(name !== \"text\") {\n\t\t\t\t\t\ttiddlerFields[name] = tiddler.getFieldString(name);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\ttiddlerFields[\"revision\"] = state.wiki.getChangeCount(title);\n\t\t\t\ttiddlerFields.type = tiddlerFields.type || \"text/vnd.tiddlywiki\";\n\t\t\t\ttiddlers.push(tiddlerFields);\n\t\t\t});\n\t\t\tvar text = JSON.stringify(tiddlers);\n\t\t\tresponse.end(text,\"utf8\");\n\t\t}\n\t});\n\tthis.server.addRoute({\n\t\tmethod: \"GET\",\n\t\tpath: /^\\/recipes\\/default\\/tiddlers\\/(.+)$/,\n\t\thandler: function(request,response,state) {\n\t\t\tvar title = decodeURIComponent(state.params[0]),\n\t\t\t\ttiddler = state.wiki.getTiddler(title),\n\t\t\t\ttiddlerFields = {},\n\t\t\t\tknownFields = [\n\t\t\t\t\t\"bag\", \"created\", \"creator\", \"modified\", \"modifier\", \"permissions\", \"recipe\", \"revision\", \"tags\", \"text\", \"title\", \"type\", \"uri\"\n\t\t\t\t];\n\t\t\tif(tiddler) {\n\t\t\t\t$tw.utils.each(tiddler.fields,function(field,name) {\n\t\t\t\t\tvar value = tiddler.getFieldString(name);\n\t\t\t\t\tif(knownFields.indexOf(name) !== -1) {\n\t\t\t\t\t\ttiddlerFields[name] = value;\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttiddlerFields.fields = tiddlerFields.fields || {};\n\t\t\t\t\t\ttiddlerFields.fields[name] = value;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\ttiddlerFields[\"revision\"] = state.wiki.getChangeCount(title);\n\t\t\t\ttiddlerFields.type = tiddlerFields.type || \"text/vnd.tiddlywiki\";\n\t\t\t\tresponse.writeHead(200, {\"Content-Type\": \"application/json\"});\n\t\t\t\tresponse.end(JSON.stringify(tiddlerFields),\"utf8\");\n\t\t\t} else {\n\t\t\t\tresponse.writeHead(404);\n\t\t\t\tresponse.end();\n\t\t\t}\n\t\t}\n\t});\n};\n\nCommand.prototype.execute = function() {\n\tvar port = this.params[0] || \"8080\",\n\t\trootTiddler = this.params[1] || \"$:/core/save/all\",\n\t\trenderType = this.params[2] || \"text/plain\",\n\t\tserveType = this.params[3] || \"text/html\",\n\t\tusername = this.params[4],\n\t\tpassword = this.params[5],\n\t\thost = this.params[6];\n\tthis.server.set({\n\t\trootTiddler: rootTiddler,\n\t\trenderType: renderType,\n\t\tserveType: serveType,\n\t\tusername: username,\n\t\tpassword: password\n\t});\n\tthis.server.listen(port,host);\n\tconsole.log(\"Serving on \" + host + \":\" + port);\n\tconsole.log(\"(press ctrl-C to exit)\");\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "title": "$:/core/modules/commands/server.js",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/verbose.js": {
            "text": "/*\\\ntitle: $:/core/modules/commands/verbose.js\ntype: application/javascript\nmodule-type: command\n\nVerbose command\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"verbose\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tthis.commander.verbose = true;\n\treturn null; // No error\n};\n\nexports.Command = Command;\n\n})();\n",
            "title": "$:/core/modules/commands/verbose.js",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/version.js": {
            "text": "/*\\\ntitle: $:/core/modules/commands/version.js\ntype: application/javascript\nmodule-type: command\n\nVersion command\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"version\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tthis.commander.streams.output.write($tw.version + \"\\n\");\n\treturn null; // No error\n};\n\nexports.Command = Command;\n\n})();\n",
            "title": "$:/core/modules/commands/version.js",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/config.js": {
            "text": "/*\\\ntitle: $:/core/modules/config.js\ntype: application/javascript\nmodule-type: config\n\nCore configuration constants\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.preferences = {};\n\nexports.preferences.notificationDuration = 3 * 1000;\nexports.preferences.jsonSpaces = 4;\n\nexports.dateFormats = {\n\tmonths: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\",\"December\"],\n\tdays: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"],\n\tshortMonths: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"],\n\tshortDays: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n// suffixes for dates, eg \"1st\",\"2nd\",\"3rd\"...\"30th\",\"31st\"\n\tdaySuffixes: [\"st\",\"nd\",\"rd\",\"th\",\"th\",\"th\",\"th\",\"th\",\"th\",\"th\",\n\t\t\"th\",\"th\",\"th\",\"th\",\"th\",\"th\",\"th\",\"th\",\"th\",\"th\",\n\t\t\"st\",\"nd\",\"rd\",\"th\",\"th\",\"th\",\"th\",\"th\",\"th\",\"th\",\n\t\t\"st\"],\n\tam: \"am\",\n\tpm: \"pm\"\n};\n\nexports.htmlEntities = {quot:34, amp:38, apos:39, lt:60, gt:62, nbsp:160, iexcl:161, cent:162, pound:163, curren:164, yen:165, brvbar:166, sect:167, uml:168, copy:169, ordf:170, laquo:171, not:172, shy:173, reg:174, macr:175, deg:176, plusmn:177, sup2:178, sup3:179, acute:180, micro:181, para:182, middot:183, cedil:184, sup1:185, ordm:186, raquo:187, frac14:188, frac12:189, frac34:190, iquest:191, Agrave:192, Aacute:193, Acirc:194, Atilde:195, Auml:196, Aring:197, AElig:198, Ccedil:199, Egrave:200, Eacute:201, Ecirc:202, Euml:203, Igrave:204, Iacute:205, Icirc:206, Iuml:207, ETH:208, Ntilde:209, Ograve:210, Oacute:211, Ocirc:212, Otilde:213, Ouml:214, times:215, Oslash:216, Ugrave:217, Uacute:218, Ucirc:219, Uuml:220, Yacute:221, THORN:222, szlig:223, agrave:224, aacute:225, acirc:226, atilde:227, auml:228, aring:229, aelig:230, ccedil:231, egrave:232, eacute:233, ecirc:234, euml:235, igrave:236, iacute:237, icirc:238, iuml:239, eth:240, ntilde:241, ograve:242, oacute:243, ocirc:244, otilde:245, ouml:246, divide:247, oslash:248, ugrave:249, uacute:250, ucirc:251, uuml:252, yacute:253, thorn:254, yuml:255, OElig:338, oelig:339, Scaron:352, scaron:353, Yuml:376, fnof:402, circ:710, tilde:732, Alpha:913, Beta:914, Gamma:915, Delta:916, Epsilon:917, Zeta:918, Eta:919, Theta:920, Iota:921, Kappa:922, Lambda:923, Mu:924, Nu:925, Xi:926, Omicron:927, Pi:928, Rho:929, Sigma:931, Tau:932, Upsilon:933, Phi:934, Chi:935, Psi:936, Omega:937, alpha:945, beta:946, gamma:947, delta:948, epsilon:949, zeta:950, eta:951, theta:952, iota:953, kappa:954, lambda:955, mu:956, nu:957, xi:958, omicron:959, pi:960, rho:961, sigmaf:962, sigma:963, tau:964, upsilon:965, phi:966, chi:967, psi:968, omega:969, thetasym:977, upsih:978, piv:982, ensp:8194, emsp:8195, thinsp:8201, zwnj:8204, zwj:8205, lrm:8206, rlm:8207, ndash:8211, mdash:8212, lsquo:8216, rsquo:8217, sbquo:8218, ldquo:8220, rdquo:8221, bdquo:8222, dagger:8224, Dagger:8225, bull:8226, hellip:8230, permil:8240, prime:8242, Prime:8243, lsaquo:8249, rsaquo:8250, oline:8254, frasl:8260, euro:8364, image:8465, weierp:8472, real:8476, trade:8482, alefsym:8501, larr:8592, uarr:8593, rarr:8594, darr:8595, harr:8596, crarr:8629, lArr:8656, uArr:8657, rArr:8658, dArr:8659, hArr:8660, forall:8704, part:8706, exist:8707, empty:8709, nabla:8711, isin:8712, notin:8713, ni:8715, prod:8719, sum:8721, minus:8722, lowast:8727, radic:8730, prop:8733, infin:8734, ang:8736, and:8743, or:8744, cap:8745, cup:8746, int:8747, there4:8756, sim:8764, cong:8773, asymp:8776, ne:8800, equiv:8801, le:8804, ge:8805, sub:8834, sup:8835, nsub:8836, sube:8838, supe:8839, oplus:8853, otimes:8855, perp:8869, sdot:8901, lceil:8968, rceil:8969, lfloor:8970, rfloor:8971, lang:9001, rang:9002, loz:9674, spades:9824, clubs:9827, hearts:9829, diams:9830 };\n\nexports.htmlVoidElements = \"area,base,br,col,command,embed,hr,img,input,keygen,link,meta,param,source,track,wbr\".split(\",\");\n\n\n})();\n",
            "title": "$:/core/modules/config.js",
            "type": "application/javascript",
            "module-type": "config"
        },
        "$:/core/modules/deserializers.js": {
            "text": "/*\\\ntitle: $:/core/modules/deserializers.js\ntype: application/javascript\nmodule-type: tiddlerdeserializer\n\nFunctions to deserialise tiddlers from a block of text\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nUtility function to parse an old-style tiddler DIV in a *.tid file. It looks like this:\n\n<div title=\"Title\" creator=\"JoeBloggs\" modifier=\"JoeBloggs\" created=\"201102111106\" modified=\"201102111310\" tags=\"myTag [[my long tag]]\">\n<pre>The text of the tiddler (without the expected HTML encoding).\n</pre>\n</div>\n\nNote that the field attributes are HTML encoded, but that the body of the <PRE> tag is not encoded.\n\nWhen these tiddler DIVs are encountered within a TiddlyWiki HTML file then the body is encoded in the usual way.\n*/\nvar parseTiddlerDiv = function(text /* [,fields] */) {\n\t// Slot together the default results\n\tvar result = {};\n\tif(arguments.length > 1) {\n\t\tfor(var f=1; f<arguments.length; f++) {\n\t\t\tvar fields = arguments[f];\n\t\t\tfor(var t in fields) {\n\t\t\t\tresult[t] = fields[t];\t\t\n\t\t\t}\n\t\t}\n\t}\n\t// Parse the DIV body\n\tvar startRegExp = /^\\s*<div\\s+([^>]*)>(\\s*<pre>)?/gi,\n\t\tendRegExp,\n\t\tmatch = startRegExp.exec(text);\n\tif(match) {\n\t\t// Old-style DIVs don't have the <pre> tag\n\t\tif(match[2]) {\n\t\t\tendRegExp = /<\\/pre>\\s*<\\/div>\\s*$/gi;\n\t\t} else {\n\t\t\tendRegExp = /<\\/div>\\s*$/gi;\n\t\t}\n\t\tvar endMatch = endRegExp.exec(text);\n\t\tif(endMatch) {\n\t\t\t// Extract the text\n\t\t\tresult.text = text.substring(match.index + match[0].length,endMatch.index);\n\t\t\t// Process the attributes\n\t\t\tvar attrRegExp = /\\s*([^=\\s]+)\\s*=\\s*\"([^\"]*)\"/gi,\n\t\t\t\tattrMatch;\n\t\t\tdo {\n\t\t\t\tattrMatch = attrRegExp.exec(match[1]);\n\t\t\t\tif(attrMatch) {\n\t\t\t\t\tvar name = attrMatch[1];\n\t\t\t\t\tvar value = attrMatch[2];\n\t\t\t\t\tresult[name] = value;\n\t\t\t\t}\n\t\t\t} while(attrMatch);\n\t\t\treturn result;\n\t\t}\n\t}\n\treturn undefined;\n};\n\nexports[\"application/x-tiddler-html-div\"] = function(text,fields) {\n\treturn [parseTiddlerDiv(text,fields)];\n};\n\nexports[\"application/json\"] = function(text,fields) {\n\tvar tiddlers = JSON.parse(text),\n\t\tresult = [],\n\t\tgetKnownFields = function(tid) {\n\t\t\tvar fields = {};\n\t\t\t\"title text created creator modified modifier type tags\".split(\" \").forEach(function(value) {\n\t\t\t\tif(tid[value] !== null) {\n\t\t\t\t\tfields[value] = tid[value];\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn fields;\n\t\t};\n\tfor(var t=0; t<tiddlers.length; t++) {\n\t\tresult.push(getKnownFields(tiddlers[t]));\n\t}\n\treturn result;\n};\n\n/*\nParse an HTML file into tiddlers. There are three possibilities:\n# A TiddlyWiki classic HTML file containing `text/x-tiddlywiki` tiddlers\n# A TiddlyWiki5 HTML file containing `text/vnd.tiddlywiki` tiddlers\n# An ordinary HTML file\n*/\nexports[\"text/html\"] = function(text,fields) {\n\t// Check if we've got a store area\n\tvar storeAreaMarkerRegExp = /<div id=[\"']?storeArea['\"]?( style=[\"']?display:none;[\"']?)?>/gi,\n\t\tmatch = storeAreaMarkerRegExp.exec(text);\n\tif(match) {\n\t\t// If so, it's either a classic TiddlyWiki file or a TW5 file\n\t\t// First read the normal tiddlers\n\t\tvar results = deserializeTiddlyWikiFile(text,storeAreaMarkerRegExp.lastIndex,!!match[1],fields);\n\t\t// Then any system tiddlers\n\t\tvar systemAreaMarkerRegExp = /<div id=[\"']?systemArea['\"]?( style=[\"']?display:none;[\"']?)?>/gi,\n\t\t\tsysMatch = systemAreaMarkerRegExp.exec(text);\n\t\tif(sysMatch) {\n\t\t\tresults.push.apply(results,deserializeTiddlyWikiFile(text,systemAreaMarkerRegExp.lastIndex,!!sysMatch[1],fields));\n\t\t}\n\t\treturn results\n\t} else {\n\t\t// It's not a TiddlyWiki so we'll return the entire HTML file as a tiddler\n\t\treturn deserializeHtmlFile(text,fields);\n\t}\n};\n\nfunction deserializeHtmlFile(text,fields) {\n\tvar result = {};\n\t$tw.utils.each(fields,function(value,name) {\n\t\tresult[name] = value;\n\t});\n\tresult.text = text;\n\tresult.type = \"text/html\";\n\treturn [result];\n}\n\nfunction deserializeTiddlyWikiFile(text,storeAreaEnd,isTiddlyWiki5,fields) {\n\tvar results = [],\n\t\tendOfDivRegExp = /(<\\/div>\\s*)/gi,\n\t\tstartPos = storeAreaEnd,\n\t\tdefaultType = isTiddlyWiki5 ? undefined : \"text/x-tiddlywiki\";\n\tendOfDivRegExp.lastIndex = startPos;\n\tvar match = endOfDivRegExp.exec(text);\n\twhile(match) {\n\t\tvar endPos = endOfDivRegExp.lastIndex,\n\t\t\ttiddlerFields = parseTiddlerDiv(text.substring(startPos,endPos),fields,{type: defaultType});\n\t\tif(!tiddlerFields) {\n\t\t\tbreak;\n\t\t}\n\t\t$tw.utils.each(tiddlerFields,function(value,name) {\n\t\t\tif(typeof value === \"string\") {\n\t\t\t\ttiddlerFields[name] = $tw.utils.htmlDecode(value);\n\t\t\t}\n\t\t});\n\t\tif(tiddlerFields.text !== null) {\n\t\t\tresults.push(tiddlerFields);\n\t\t}\n\t\tstartPos = endPos;\n\t\tmatch = endOfDivRegExp.exec(text);\n\t}\n\treturn results;\n}\n\n})();\n",
            "title": "$:/core/modules/deserializers.js",
            "type": "application/javascript",
            "module-type": "tiddlerdeserializer"
        },
        "$:/core/modules/filters/backlinks.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/backlinks.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning all the backlinks from a tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.backlinks = function(source,operator,options) {\n\tvar results = [];\n\t// Function to check an individual title\n\tfunction checkTiddler(title) {\n\t\t$tw.utils.pushTop(results,options.wiki.getTiddlerBacklinks(title));\n\t}\n\t// Iterate through the source tiddlers\n\tif($tw.utils.isArray(source)) {\n\t\t$tw.utils.each(source,function(title) {\n\t\t\tcheckTiddler(title);\n\t\t});\n\t} else {\n\t\t$tw.utils.each(source,function(element,title) {\n\t\t\tcheckTiddler(title);\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/backlinks.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/each.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/each.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that selects one tiddler for each unique value of the specified field\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.each = function(source,operator,options) {\n\t// Convert the source to an array if necessary\n\tif(!$tw.utils.isArray(source)) {\n\t\tvar copy = [];\n\t\t$tw.utils.each(source,function(element,title) {\n\t\t\tcopy.push(title);\n\t\t});\n\t\tsource = copy;\n\t}\n\t// Collect up the first tiddler with each unique value of the specified field\n\tvar results = [],values = {};\n\t$tw.utils.each(source,function(title) {\n\t\tvar tiddler = options.wiki.getTiddler(title);\n\t\tif(tiddler) {\n\t\t\tvar value = tiddler.getFieldString(operator.operand);\n\t\t\tif(!$tw.utils.hop(values,value)) {\n\t\t\t\tvalues[value] = true;\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/each.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/eachday.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/eachday.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that selects one tiddler for each unique day covered by the specified date field\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.eachday = function(source,operator,options) {\n\t// Function to convert a date/time to a date integer\n\tvar toDate = function(value) {\n\t\tvalue = (new Date(value)).setHours(0,0,0,0);\n\t\treturn value+0;\n\t};\n\t// Convert the source to an array if necessary\n\tif(!$tw.utils.isArray(source)) {\n\t\tvar copy = [];\n\t\t$tw.utils.each(source,function(element,title) {\n\t\t\tcopy.push(title);\n\t\t});\n\t\tsource = copy;\n\t}\n\t// Collect up the first tiddler with each unique day value of the specified field\n\tvar results = [],values = [];\n\t$tw.utils.each(source,function(title) {\n\t\tvar tiddler = options.wiki.getTiddler(title);\n\t\tif(tiddler && tiddler.fields[operator.operand]) {\n\t\t\tvar value = toDate(tiddler.fields[operator.operand]);\n\t\t\tif(values.indexOf(value) === -1) {\n\t\t\t\tvalues.push(value);\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/eachday.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/field.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/field.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for comparing fields for equality\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.field = function(source,operator,options) {\n\tvar results = [];\n\t// Function to check an individual title\n\tfunction checkTiddler(title) {\n\t\tvar tiddler = options.wiki.getTiddler(title);\n\t\tif(tiddler) {\n\t\t\tvar match = tiddler.getFieldString(operator.operator) === operator.operand;\n\t\t\tif(operator.prefix === \"!\") {\n\t\t\t\tmatch = !match;\n\t\t\t}\n\t\t\tif(match) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t}\n\t}\n\t// Iterate through the source tiddlers\n\tif($tw.utils.isArray(source)) {\n\t\t$tw.utils.each(source,function(title) {\n\t\t\tcheckTiddler(title);\n\t\t});\n\t} else {\n\t\t$tw.utils.each(source,function(element,title) {\n\t\t\tcheckTiddler(title);\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/field.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/fields.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/fields.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the fields on the selected tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.fields = function(source,operator,options) {\n\tvar self = this,\n\t\tresults = [];\n\t// Function to check an individual title\n\tfunction checkTiddler(title) {\n\t\t// Return the fields on the specified tiddler\n\t\tvar tiddler = options.wiki.getTiddler(title);\n\t\tif(tiddler) {\n\t\t\tfor(var fieldName in tiddler.fields) {\n\t\t\t\t$tw.utils.pushTop(results,fieldName);\n\t\t\t}\n\t\t}\n\t}\n\t// Iterate through the source tiddlers\n\tif($tw.utils.isArray(source)) {\n\t\t$tw.utils.each(source,function(title) {\n\t\t\tcheckTiddler(title);\n\t\t});\n\t} else {\n\t\t$tw.utils.each(source,function(element,title) {\n\t\t\tcheckTiddler(title);\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/fields.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/has.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/has.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking if a tiddler has the specified field\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.has = function(source,operator,options) {\n\tvar results = [];\n\t// Function to check an individual title\n\tfunction checkTiddler(title) {\n\t\tvar tiddler = options.wiki.getTiddler(title);\n\t\tif(tiddler) {\n\t\t\tvar match = $tw.utils.hop(tiddler.fields,operator.operand);\n\t\t\tif(operator.prefix === \"!\") {\n\t\t\t\tmatch = !match;\n\t\t\t}\n\t\t\tif(match) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t}\n\t}\n\t// Iterate through the source tiddlers\n\tif($tw.utils.isArray(source)) {\n\t\t$tw.utils.each(source,function(title) {\n\t\t\tcheckTiddler(title);\n\t\t});\n\t} else {\n\t\t$tw.utils.each(source,function(element,title) {\n\t\t\tcheckTiddler(title);\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/has.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/is/current.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/is/current.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[current]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.current = function(source,prefix,options) {\n\tvar results = [];\n\t// Function to check a tiddler\n\tfunction checkTiddler(title) {\n\t\tif(title !== options.currTiddlerTitle) {\n\t\t\tresults.push(title);\n\t\t}\n\t};\n\t// Iterate through the source tiddlers\n\tif($tw.utils.isArray(source)) {\n\t\tif(prefix === \"!\") {\n\t\t\t$tw.utils.each(source,function(title) {\n\t\t\t\tcheckTiddler(title);\n\t\t\t});\n\t\t} else {\n\t\t\tif(source.indexOf(options.currTiddlerTitle) !== -1) {\n\t\t\t\tresults.push(options.currTiddlerTitle);\n\t\t\t}\n\t\t}\n\t} else {\n\t\tif(prefix === \"!\") {\n\t\t\t$tw.utils.each(source,function(element,title) {\n\t\t\t\tcheckTiddler(title);\n\t\t\t});\n\t\t} else {\n\t\t\tresults.push(options.currTiddlerTitle);\n\t\t}\n\t}\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/is/current.js",
            "type": "application/javascript",
            "module-type": "isfilteroperator"
        },
        "$:/core/modules/filters/is/missing.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/is/missing.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[missing]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.missing = function(source,prefix,options) {\n\tvar results = [],\n\t\tmissingTitles;\n\t// Iterate through the source tiddlers\n\tif($tw.utils.isArray(source)) {\n\t\tmissingTitles = options.wiki.getMissingTitles();\n\t\t$tw.utils.each(source,function(title) {\n\t\t\tvar match = missingTitles.indexOf(title) !== -1;\n\t\t\tif(prefix === \"!\") {\n\t\t\t\tmatch = !match;\n\t\t\t}\n\t\t\tif(match) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tif(prefix !== \"!\") {\n\t\t\tmissingTitles = options.wiki.getMissingTitles();\n\t\t\t$tw.utils.each(missingTitles,function(title) {\n\t\t\t\tresults.push(title);\n\t\t\t});\n\t\t} else {\n\t\t\t$tw.utils.each(source,function(element,title) {\n\t\t\t\tresults.push(title);\n\t\t\t});\n\t\t}\n\t}\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/is/missing.js",
            "type": "application/javascript",
            "module-type": "isfilteroperator"
        },
        "$:/core/modules/filters/is/orphan.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/is/orphan.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[orphan]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.orphan = function(source,prefix,options) {\n\tvar results = [],\n\t\torphanTitles = options.wiki.getOrphanTitles();\n\t// Iterate through the source tiddlers\n\tif($tw.utils.isArray(source)) {\n\t\t$tw.utils.each(source,function(title) {\n\t\t\tvar match = orphanTitles.indexOf(title) !== -1;\n\t\t\tif(prefix === \"!\") {\n\t\t\t\tmatch = !match;\n\t\t\t}\n\t\t\tif(match) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\t$tw.utils.each(source,function(element,title) {\n\t\t\tvar match = orphanTitles.indexOf(title) !== -1;\n\t\t\tif(prefix === \"!\") {\n\t\t\t\tmatch = !match;\n\t\t\t}\n\t\t\tif(match) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/is/orphan.js",
            "type": "application/javascript",
            "module-type": "isfilteroperator"
        },
        "$:/core/modules/filters/is/shadow.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/is/shadow.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[shadow]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.shadow = function(source,prefix,options) {\n\tvar results = [];\n\t// Function to check a tiddler\n\tfunction checkTiddler(title) {\n\t\tvar match = options.wiki.isShadowTiddler(title);\n\t\tif(prefix === \"!\") {\n\t\t\tmatch = !match;\n\t\t}\n\t\tif(match) {\n\t\t\tresults.push(title);\n\t\t}\n\t};\n\t// Iterate through the source tiddlers\n\tif($tw.utils.isArray(source)) {\n\t\t$tw.utils.each(source,function(title) {\n\t\t\tcheckTiddler(title);\n\t\t});\n\t} else {\n\t\tif(prefix !== \"!\") {\n\t\t\t$tw.utils.each(options.wiki.shadowTiddlers,function(tiddler,title) {\n\t\t\t\tresults.push(title);\n\t\t\t});\n\t\t} else {\n\t\t\t$tw.utils.each(source,function(element,title) {\n\t\t\t\tcheckTiddler(title);\n\t\t\t});\n\t\t}\n\t}\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/is/shadow.js",
            "type": "application/javascript",
            "module-type": "isfilteroperator"
        },
        "$:/core/modules/filters/is/system.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/is/system.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[system]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.system = function(source,prefix,options) {\n\tvar results = [];\n\t// Function to check a tiddler\n\tfunction checkTiddler(title) {\n\t\tvar match = options.wiki.isSystemTiddler(title);\n\t\tif(prefix === \"!\") {\n\t\t\tmatch = !match;\n\t\t}\n\t\tif(match) {\n\t\t\tresults.push(title);\n\t\t}\n\t};\n\t// Iterate through the source tiddlers\n\tif($tw.utils.isArray(source)) {\n\t\t$tw.utils.each(source,function(title) {\n\t\t\tcheckTiddler(title);\n\t\t});\n\t} else {\n\t\t$tw.utils.each(source,function(element,title) {\n\t\t\tcheckTiddler(title);\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/is/system.js",
            "type": "application/javascript",
            "module-type": "isfilteroperator"
        },
        "$:/core/modules/filters/is/tiddler.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/is/tiddler.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[tiddler]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tiddler = function(source,prefix,options) {\n\tvar results = [];\n\t// Function to check a tiddler\n\tfunction checkTiddler(title) {\n\t\tvar match = options.wiki.tiddlerExists(title);\n\t\tif(prefix === \"!\") {\n\t\t\tmatch = !match;\n\t\t}\n\t\tif(match) {\n\t\t\tresults.push(title);\n\t\t}\n\t};\n\t// Iterate through the source tiddlers\n\tif($tw.utils.isArray(source)) {\n\t\t$tw.utils.each(source,function(title) {\n\t\t\tcheckTiddler(title);\n\t\t});\n\t} else {\n\t\t$tw.utils.each(source,function(element,title) {\n\t\t\tcheckTiddler(title);\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/is/tiddler.js",
            "type": "application/javascript",
            "module-type": "isfilteroperator"
        },
        "$:/core/modules/filters/is.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/is.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking tiddler properties\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar isFilterOperators;\n\nfunction getIsFilterOperators() {\n\tif(!isFilterOperators) {\n\t\tisFilterOperators = {};\n\t\t$tw.modules.applyMethods(\"isfilteroperator\",isFilterOperators);\n\t}\n\treturn isFilterOperators;\n};\n\n/*\nExport our filter function\n*/\nexports.is = function(source,operator,options) {\n\t// Dispatch to the correct isfilteroperator\n\tvar isFilterOperators = getIsFilterOperators();\n\tvar isFilterOperator = isFilterOperators[operator.operand];\n\tif(isFilterOperator) {\n\t\treturn isFilterOperator(source,operator.prefix,options);\n\t} else {\n\t\treturn [\"Filter Error: Unknown operand for the 'is' filter operator\"];\n\t}\n};\n\n})();\n",
            "title": "$:/core/modules/filters/is.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/limit.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/limit.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for chopping the results to a specified maximum number of entries\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.limit = function(source,operator,options) {\n\tvar results = [];\n\t// Convert to an array if necessary\n\tif(!$tw.utils.isArray(source)) {\n\t\tvar copy = [];\n\t\t$tw.utils.each(source,function(element,title) {\n\t\t\tcopy.push(title);\n\t\t});\n\t\tsource = copy;\n\t}\n\t// Slice the array if necessary\n\tvar limit = Math.min(source.length,parseInt(operator.operand,10));\n\tif(operator.prefix === \"!\") {\n\t\tresults = source.slice(source.length - limit);\n\t} else {\n\t\tresults = source.slice(0,limit);\n\t}\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/limit.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/links.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/links.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning all the links from a tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.links = function(source,operator,options) {\n\tvar results = [];\n\t// Function to check an individual title\n\tfunction checkTiddler(title) {\n\t\t$tw.utils.pushTop(results,options.wiki.getTiddlerLinks(title));\n\t}\n\t// Iterate through the source tiddlers\n\tif($tw.utils.isArray(source)) {\n\t\t$tw.utils.each(source,function(title) {\n\t\t\tcheckTiddler(title);\n\t\t});\n\t} else {\n\t\t$tw.utils.each(source,function(element,title) {\n\t\t\tcheckTiddler(title);\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/links.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/list.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/list.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddlers whose title is listed in the operand tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.list = function(source,operator,options) {\n\tvar results = [],\n\t\tlist = options.wiki.getTiddlerList(operator.operand);\n\tfunction checkTiddler(title) {\n\t\tvar match = list.indexOf(title) !== -1;\n\t\tif(operator.prefix === \"!\") {\n\t\t\tmatch = !match;\n\t\t}\n\t\tif(match) {\n\t\t\tresults.push(title);\n\t\t}\n\t}\n\t// Iterate through the source tiddlers\n\tif($tw.utils.isArray(source)) {\n\t\t$tw.utils.each(source,function(title) {\n\t\t\tcheckTiddler(title);\n\t\t});\n\t} else {\n\t\tif(operator.prefix !== \"!\") {\n\t\t\tresults = list;\n\t\t} else {\n\t\t\t$tw.utils.each(source,function(element,title) {\n\t\t\t\tcheckTiddler(title);\n\t\t\t});\n\t\t}\n\t}\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/list.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/listed.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/listed.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning all tiddlers that have the selected tiddlers in a list\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.listed = function(source,operator,options) {\n\tvar results = [];\n\t// Function to check an individual title\n\tfunction checkTiddler(title) {\n\t\t$tw.utils.pushTop(results,options.wiki.findListingsOfTiddler(title));\n\t}\n\t// Iterate through the source tiddlers\n\tif($tw.utils.isArray(source)) {\n\t\t$tw.utils.each(source,function(title) {\n\t\t\tcheckTiddler(title);\n\t\t});\n\t} else {\n\t\t$tw.utils.each(source,function(element,title) {\n\t\t\tcheckTiddler(title);\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/listed.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/modules.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/modules.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the titles of the modules of a given type in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.modules = function(source,operator,options) {\n\tvar results = [],\n\t\tpushModules = function(type) {\n\t\t\t$tw.utils.each($tw.modules.types[type],function(moduleInfo,moduleName) {\n\t\t\t\tresults.push(moduleName);\n\t\t\t});\n\t\t};\n\t// Iterate through the source tiddlers\n\tif($tw.utils.isArray(source)) {\n\t\t$tw.utils.each(source,function(title) {\n\t\t\tpushModules(title);\n\t\t});\n\t} else {\n\t\t$tw.utils.each(source,function(element,title) {\n\t\t\tpushModules(title);\n\t\t});\n\t}\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/modules.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/moduletypes.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/moduletypes.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the module types in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.moduletypes = function(source,operator,options) {\n\tvar results = [];\n\t$tw.utils.each($tw.modules.types,function(moduleInfo,type) {\n\t\tresults.push(type);\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/moduletypes.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/next.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/next.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddler whose title occurs next in the list supplied in the operand tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.next = function(source,operator,options) {\n\tvar results = [],\n\t\tlist = options.wiki.getTiddlerList(operator.operand);\n\n\tfunction checkTiddler(title) {\n\t\tvar match = list.indexOf(title);\n\t\t// increment match and then test if result is in range\n\t\tmatch++;\n\t\tif(match > 0 && match < list.length) {\n\t\t\tresults.push(list[match]);\n\t\t}\n\t}\n\t// Iterate through the source tiddlers\n\tif($tw.utils.isArray(source)) {\n\t\t$tw.utils.each(source,function(title) {\n\t\t\tcheckTiddler(title);\n\t\t});\n\t} else {\n\t\t$tw.utils.each(source,function(element,title) {\n\t\t\tcheckTiddler(title);\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/next.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/prefix.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/prefix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking if a title starts with a prefix\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.prefix = function(source,operator,options) {\n\tvar results = [];\n\t// Function to check an individual title\n\tfunction checkTiddler(title) {\n\t\tvar match = title.substr(0,operator.operand.length).toLowerCase() === operator.operand.toLowerCase();\n\t\tif(operator.prefix === \"!\") {\n\t\t\tmatch = !match;\n\t\t}\n\t\tif(match) {\n\t\t\tresults.push(title);\n\t\t}\n\t}\n\t// Iterate through the source tiddlers\n\tif($tw.utils.isArray(source)) {\n\t\t$tw.utils.each(source,function(title) {\n\t\t\tcheckTiddler(title);\n\t\t});\n\t} else {\n\t\t$tw.utils.each(source,function(element,title) {\n\t\t\tcheckTiddler(title);\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/prefix.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/previous.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/previous.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddler whose title occurs immediately prior in the list supplied in the operand tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.previous = function(source,operator,options) {\n\tvar results = [],\n\t\tlist = options.wiki.getTiddlerList(operator.operand);\n\n\tfunction checkTiddler(title) {\n\t\tvar match = list.indexOf(title);\n\t\t// decrement match and then test if result is in range\n\t\tmatch--;\n\t\tif( match >= 0 ) {\n\t\t\tresults.push(list[match]);\n\t\t}\n\t}\n\t// Iterate through the source tiddlers\n\tif($tw.utils.isArray(source)) {\n\t\t$tw.utils.each(source,function(title) {\n\t\t\tcheckTiddler(title);\n\t\t});\n\t} else {\n\t\t$tw.utils.each(source,function(element,title) {\n\t\t\tcheckTiddler(title);\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/previous.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/sameday.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/sameday.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that selects tiddlers with a modified date field on the same day as the provided value.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.sameday = function(source,operator,options) {\n\tvar results = [],\n\t\tisSameDay = function(dateField,dateString) {\n\t\t\tvar date1 = (new Date(dateField)).setHours(0,0,0,0),\n\t\t\t\tdate2 = (new Date($tw.utils.parseDate(dateString))).setHours(0,0,0,0);\n\t\t\treturn date1 === date2;\n\t\t};\n\t// Function to check an individual title\n\tfunction checkTiddler(title) {\n\t\tvar tiddler = options.wiki.getTiddler(title);\n\t\tif(tiddler) {\n\t\t\tvar match = isSameDay(tiddler.fields.modified,operator.operand);\n\t\t\tif(operator.prefix === \"!\") {\n\t\t\t\tmatch = !match;\n\t\t\t}\n\t\t\tif(match) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t}\n\t}\n\t// Iterate through the source tiddlers\n\tif($tw.utils.isArray(source)) {\n\t\t$tw.utils.each(source,function(title) {\n\t\t\tcheckTiddler(title);\n\t\t});\n\t} else {\n\t\t$tw.utils.each(source,function(element,title) {\n\t\t\tcheckTiddler(title);\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/sameday.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/search.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/search.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for searching for the text in the operand tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.search = function(source,operator,options) {\n\tvar invert = operator.prefix === \"!\";\n\treturn options.wiki.search(operator.operand,{\n\t\ttitles: source,\n\t\tinvert: invert\n\t});\n};\n\n})();\n",
            "title": "$:/core/modules/filters/search.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/sort.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/sort.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for sorting\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.sort = function(source,operator,options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results,operator.operand,operator.prefix === \"!\",false,false);\n\treturn results;\n};\n\nexports.nsort = function(source,operator,options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results,operator.operand,operator.prefix === \"!\",false,true);\n\treturn results;\n};\n\nexports.sortcs = function(source,operator,options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results,operator.operand,operator.prefix === \"!\",true,false);\n\treturn results;\n};\n\nexports.nsortcs = function(source,operator,options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results,operator.operand,operator.prefix === \"!\",true,true);\n\treturn results;\n};\n\nvar prepare_results = function (source) {\n\tvar results;\n\tif($tw.utils.isArray(source)) {\n\t\tresults = source;\n\t} else {\n\t\tresults = [];\n\t\t$tw.utils.each(source,function(element,title) {\n\t\t\tresults.push(title);\n\t\t});\n\t}\n\treturn results;\n}\n\n})();\n",
            "title": "$:/core/modules/filters/sort.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/tag.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/tag.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking for the presence of a tag\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tag = function(source,operator,options) {\n\tvar results = [];\n\t// Function to check an individual title\n\tfunction checkTiddler(title) {\n\t\tvar tiddler = options.wiki.getTiddler(title);\n\t\tif(tiddler) {\n\t\t\tvar match = tiddler.hasTag(operator.operand);\n\t\t\tif(operator.prefix === \"!\") {\n\t\t\t\tmatch = !match;\n\t\t\t}\n\t\t\tif(match) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t}\n\t}\n\t// Iterate through the source tiddlers\n\tif($tw.utils.isArray(source)) {\n\t\t$tw.utils.each(source,function(title) {\n\t\t\tcheckTiddler(title);\n\t\t});\n\t} else {\n\t\t$tw.utils.each(source,function(element,title) {\n\t\t\tcheckTiddler(title);\n\t\t});\n\t}\n\t// Sort the results if we are matching a tag\n\tif(operator.prefix !== \"!\") {\n\t\tresults = options.wiki.sortByList(results,operator.operand);\n\t}\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/tag.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/tagging.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/tagging.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning all tiddlers that are tagged with the selected tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tagging = function(source,operator,options) {\n\tvar results = [];\n\t// Function to check an individual title\n\tfunction checkTiddler(title) {\n\t\t$tw.utils.pushTop(results,options.wiki.getTiddlersWithTag(title));\n\t}\n\t// Iterate through the source tiddlers\n\tif($tw.utils.isArray(source)) {\n\t\t$tw.utils.each(source,function(title) {\n\t\t\tcheckTiddler(title);\n\t\t});\n\t} else {\n\t\t$tw.utils.each(source,function(element,title) {\n\t\t\tcheckTiddler(title);\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/tagging.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/tags.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/tags.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning all the tags of the selected tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tags = function(source,operator,options) {\n\tvar results = [];\n\t// Function to check an individual title\n\tfunction checkTiddler(title) {\n\t\tvar tiddler = options.wiki.getTiddler(title);\n\t\tif(tiddler && tiddler.fields.tags) {\n\t\t\t$tw.utils.pushTop(results,tiddler.fields.tags);\n\t\t}\n\t}\n\t// Iterate through the source tiddlers\n\tif($tw.utils.isArray(source)) {\n\t\t$tw.utils.each(source,function(title) {\n\t\t\tcheckTiddler(title);\n\t\t});\n\t} else {\n\t\t$tw.utils.each(source,function(element,title) {\n\t\t\tcheckTiddler(title);\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/tags.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/title.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/title.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for comparing title fields for equality\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.title = function(source,operator,options) {\n\tvar results = [];\n\t// Function to check an individual title\n\tfunction checkTiddler(title) {\n\t\tvar tiddler = options.wiki.getTiddler(title);\n\t\tif(tiddler) {\n\t\t\tvar match = tiddler.fields[operator.operator] === operator.operand;\n\t\t\tif(operator.prefix === \"!\") {\n\t\t\t\tmatch = !match;\n\t\t\t}\n\t\t\tif(match) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t}\n\t}\n\t// Iterate through the source tiddlers\n\tif($tw.utils.isArray(source)) {\n\t\t$tw.utils.each(source,function(title) {\n\t\t\tcheckTiddler(title);\n\t\t});\n\t} else {\n\t\t// If we're filtering a hashmap we change the behaviour to pass through missing tiddlers\n\t\tif(operator.prefix !== \"!\") {\n\t\t\tresults.push(operator.operand);\n\t\t} else {\n\t\t\t$tw.utils.each(source,function(element,title) {\n\t\t\t\tif(title !== operator.operand) {\n\t\t\t\t\tcheckTiddler(title);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/title.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/untagged.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/untagged.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning all the selected tiddlers that are untagged\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.untagged = function(source,operator,options) {\n\tvar results = [];\n\t// Function to check an individual title\n\tfunction checkTiddler(title) {\n\t\tvar tiddler = options.wiki.getTiddler(title),\n\t\t\tmatch = tiddler && $tw.utils.isArray(tiddler.fields.tags) && tiddler.fields.tags.length > 0;\n\t\tif(operator.prefix !== \"!\") {\n\t\t\tmatch = !match;\n\t\t}\n\t\tif(match) {\n\t\t\t$tw.utils.pushTop(results,title);\n\t\t}\n\t}\n\t// Iterate through the source tiddlers\n\tif($tw.utils.isArray(source)) {\n\t\t$tw.utils.each(source,function(title) {\n\t\t\tcheckTiddler(title);\n\t\t});\n\t} else {\n\t\t$tw.utils.each(source,function(element,title) {\n\t\t\tcheckTiddler(title);\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/untagged.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters.js\ntype: application/javascript\nmodule-type: wikimethod\n\nAdds tiddler filtering to the $tw.Wiki object.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nParses an operation within a filter string\n\tresults: Array of array of operator nodes into which results should be inserted\n\tfilterString: filter string\n\tp: start position within the string\nReturns the new start position, after the parsed operation\n*/\nfunction parseFilterOperation(operators,filterString,p) {\n\tvar operator, operand, bracketPos, curlyBracketPos;\n\t// Skip the starting square bracket\n\tif(filterString.charAt(p++) !== \"[\") {\n\t\tthrow \"Missing [ in filter expression\";\n\t}\n\t// Process each operator in turn\n\tdo {\n\t\toperator = {};\n\t\t// Check for an operator prefix\n\t\tif(filterString.charAt(p) === \"!\") {\n\t\t\toperator.prefix = filterString.charAt(p++);\n\t\t}\n\t\t// Get the operator name\n\t\tbracketPos = filterString.indexOf(\"[\",p);\n\t\tcurlyBracketPos = filterString.indexOf(\"{\",p);\n\t\tif((bracketPos === -1) && (curlyBracketPos === -1)) {\n\t\t\tthrow \"Missing [ in filter expression\";\n\t\t}\n\t\tif(bracketPos === -1 || (curlyBracketPos !== -1 && curlyBracketPos < bracketPos)) {\n\t\t\t// Curly brackets\n\t\t\toperator.indirect = true;\n\t\t\toperator.operator = filterString.substring(p,curlyBracketPos);\n\t\t\tp = curlyBracketPos + 1;\n\t\t} else {\n\t\t\t// Square brackets\n\t\t\toperator.operator = filterString.substring(p,bracketPos);\n\t\t\tp = bracketPos + 1;\n\t\t}\n\t\tif(operator.operator === \"\") {\n\t\t\toperator.operator = \"title\";\n\t\t}\n\t\t// Get the operand\n\t\tbracketPos = filterString.indexOf(operator.indirect ? \"}\" : \"]\",p);\n\t\tif(bracketPos === -1) {\n\t\t\tthrow \"Missing closing bracket in filter expression\";\n\t\t}\n\t\toperator.operand = filterString.substring(p,bracketPos);\n\t\tp = bracketPos + 1;\n\t\t// Push this operator\n\t\toperators.push(operator);\n\t} while(filterString.charAt(p) !== \"]\");\n\t// Skip the ending square bracket\n\tif(filterString.charAt(p++) !== \"]\") {\n\t\tthrow \"Missing ] in filter expression\";\n\t}\n\t// Return the parsing position\n\treturn p;\n}\n\n/*\nParse a filter string\n*/\nexports.parseFilter = function(filterString) {\n\tfilterString = filterString || \"\";\n\tvar results = [], // Array of arrays of operator nodes {operator:,operand:}\n\t\tp = 0, // Current position in the filter string\n\t\tmatch;\n\tvar whitespaceRegExp = /(\\s+)/mg,\n\t\toperandRegExp = /((?:\\+|\\-)?)(?:(\\[)|(\"(?:[^\"])*\")|('(?:[^'])*')|([^\\s\\[\\]]+))/mg;\n\twhile(p < filterString.length) {\n\t\t// Skip any whitespace\n\t\twhitespaceRegExp.lastIndex = p;\n\t\tmatch = whitespaceRegExp.exec(filterString);\n\t\tif(match && match.index === p) {\n\t\t\tp = p + match[0].length;\n\t\t}\n\t\t// Match the start of the operation\n\t\tif(p < filterString.length) {\n\t\t\toperandRegExp.lastIndex = p;\n\t\t\tmatch = operandRegExp.exec(filterString);\n\t\t\tif(!match || match.index !== p) {\n\t\t\t\tthrow \"Syntax error in filter expression\";\n\t\t\t}\n\t\t\tvar operation = {\n\t\t\t\tprefix: \"\",\n\t\t\t\toperators: []\n\t\t\t};\n\t\t\tif(match[1]) {\n\t\t\t\toperation.prefix = match[1];\n\t\t\t\tp++;\n\t\t\t}\n\t\t\tif(match[2]) { // Opening square bracket\n\t\t\t\tp = parseFilterOperation(operation.operators,filterString,p);\n\t\t\t} else {\n\t\t\t\tp = match.index + match[0].length;\n\t\t\t}\n\t\t\tif(match[3] || match[4] || match[5]) { // Double quoted string, single quoted string or unquoted title\n\t\t\t\toperation.operators.push(\n\t\t\t\t\t{operator: \"title\", operand: match[3] || match[4] || match[5]}\n\t\t\t\t);\n\t\t\t}\n\t\t\tresults.push(operation);\n\t\t}\n\t}\n\treturn results;\n};\n\nexports.getFilterOperators = function() {\n\tif(!this.filterOperators) {\n\t\t$tw.Wiki.prototype.filterOperators = {};\n\t\t$tw.modules.applyMethods(\"filteroperator\",this.filterOperators);\n\t}\n\treturn this.filterOperators;\n};\n\nexports.filterTiddlers = function(filterString,currTiddlerTitle,tiddlerList) {\n\tvar fn = this.compileFilter(filterString);\n\treturn fn.call(this,tiddlerList || this.tiddlers,currTiddlerTitle);\n};\n\nexports.compileFilter = function(filterString) {\n\tvar filterParseTree;\n\ttry {\n\t\tfilterParseTree = this.parseFilter(filterString);\n\t} catch(e) {\n\t\treturn function(source,currTiddlerTitle) {\n\t\t\treturn [\"Filter error: \" + e];\n\t\t};\n\t}\n\t// Get the hashmap of filter operator functions\n\tvar filterOperators = this.getFilterOperators();\n\t// Assemble array of functions, one for each operation\n\tvar operationFunctions = [];\n\t// Step through the operations\n\tvar self = this;\n\t$tw.utils.each(filterParseTree,function(operation) {\n\t\t// Create a function for the chain of operators in the operation\n\t\tvar operationSubFunction = function(source,currTiddlerTitle) {\n\t\t\tvar accumulator = source,\n\t\t\t\tresults = [];\n\t\t\t$tw.utils.each(operation.operators,function(operator) {\n\t\t\t\tvar operatorFunction = filterOperators[operator.operator] || filterOperators.field || function(source,operator,operations) {\n\t\t\t\t\t\treturn [\"Filter Error: unknown operator '\" + operator.operator + \"'\"];\n\t\t\t\t\t},\n\t\t\t\t\toperand = operator.operand;\n\t\t\t\tif(operator.indirect) {\n\t\t\t\t\toperand = self.getTextReference(operator.operand,\"\",currTiddlerTitle);\n\t\t\t\t}\n\t\t\t\tresults = operatorFunction(accumulator,{\n\t\t\t\t\t\t\toperator: operator.operator,\n\t\t\t\t\t\t\toperand: operand,\n\t\t\t\t\t\t\tprefix: operator.prefix\n\t\t\t\t\t\t},{\n\t\t\t\t\t\t\twiki: self,\n\t\t\t\t\t\t\tcurrTiddlerTitle: currTiddlerTitle\n\t\t\t\t\t\t});\n\t\t\t\taccumulator = results;\n\t\t\t});\n\t\t\treturn results;\n\t\t};\n\t\t// Wrap the operator functions in a wrapper function that depends on the prefix\n\t\toperationFunctions.push((function() {\n\t\t\tswitch(operation.prefix || \"\") {\n\t\t\t\tcase \"\": // No prefix means that the operation is unioned into the result\n\t\t\t\t\treturn function(results,source,currTiddlerTitle) {\n\t\t\t\t\t\t$tw.utils.pushTop(results,operationSubFunction(source,currTiddlerTitle));\n\t\t\t\t\t};\n\t\t\t\tcase \"-\": // The results of this operation are removed from the main result\n\t\t\t\t\treturn function(results,source,currTiddlerTitle) {\n\t\t\t\t\t\t$tw.utils.removeArrayEntries(results,operationSubFunction(source,currTiddlerTitle));\n\t\t\t\t\t};\n\t\t\t\tcase \"+\": // This operation is applied to the main results so far\n\t\t\t\t\treturn function(results,source,currTiddlerTitle) {\n\t\t\t\t\t\t// This replaces all the elements of the array, but keeps the actual array so that references to it are preserved\n\t\t\t\t\t\tsource = results.slice(0);\n\t\t\t\t\t\tresults.splice(0,results.length);\n\t\t\t\t\t\t$tw.utils.pushTop(results,operationSubFunction(source,currTiddlerTitle));\n\t\t\t\t\t};\n\t\t\t}\n\t\t})());\n\t});\n\t// Return a function that applies the operations to a source array/hashmap of tiddler titles\n\treturn function(source,currTiddlerTitle) {\n\t\tvar results = [];\n\t\t$tw.utils.each(operationFunctions,function(operationFunction) {\n\t\t\toperationFunction(results,source,currTiddlerTitle);\n\t\t});\n\t\treturn results;\n\t};\n};\n\n})();\n",
            "title": "$:/core/modules/filters.js",
            "type": "application/javascript",
            "module-type": "wikimethod"
        },
        "$:/core/modules/macros/changecount.js": {
            "text": "/*\\\ntitle: $:/core/modules/macros/changecount.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to return the changecount for the current tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"changecount\";\n\nexports.params = [];\n\n/*\nRun the macro\n*/\nexports.run = function() {\n\treturn this.wiki.getChangeCount(this.getVariable(\"currentTiddler\")) + \"\";\n};\n\n})();\n",
            "title": "$:/core/modules/macros/changecount.js",
            "type": "application/javascript",
            "module-type": "macro"
        },
        "$:/core/modules/macros/makedatauri.js": {
            "text": "/*\\\ntitle: $:/core/modules/macros/makedatauri.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to convert the content of a tiddler to a data URI\n\n<<makedatauri text:\"Text to be converted\" type:\"text/vnd.tiddlywiki\">>\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"makedatauri\";\n\nexports.params = [\n\t{name: \"text\"},\n\t{name: \"type\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(text,type) {\n\ttype = type || \"text/vnd.tiddlywiki\";\n\tvar typeInfo = $tw.config.contentTypeInfo[type] || $tw.config.contentTypeInfo[\"text/plain\"],\n\t\tisBase64 = typeInfo.encoding === \"base64\",\n\t\tparts = [];\n\tparts.push(\"data:\");\n\tparts.push(type);\n\tparts.push(isBase64 ? \";base64\" : \"\");\n\tparts.push(\",\");\n\tparts.push(isBase64 ? text : encodeURIComponent(text));\n\treturn parts.join(\"\");\n};\n\n})();\n",
            "title": "$:/core/modules/macros/makedatauri.js",
            "type": "application/javascript",
            "module-type": "macro"
        },
        "$:/core/modules/macros/qualify.js": {
            "text": "/*\\\ntitle: $:/core/modules/macros/qualify.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to qualify a state tiddler title according\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"qualify\";\n\nexports.params = [\n\t{name: \"title\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(title) {\n\treturn title + \"-\" + this.getStateQualifier();\n};\n\n})();\n",
            "title": "$:/core/modules/macros/qualify.js",
            "type": "application/javascript",
            "module-type": "macro"
        },
        "$:/core/modules/macros/version.js": {
            "text": "/*\\\ntitle: $:/core/modules/macros/version.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to return the TiddlyWiki core version number\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"version\";\n\nexports.params = [];\n\n/*\nRun the macro\n*/\nexports.run = function() {\n\treturn $tw.version;\n};\n\n})();\n",
            "title": "$:/core/modules/macros/version.js",
            "type": "application/javascript",
            "module-type": "macro"
        },
        "$:/core/modules/parsers/htmlparser.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/htmlparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe HTML parser displays text as raw HTML\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar HtmlParser = function(type,text,options) {\n\tthis.tree = [{\n\t\ttype: \"raw\",\n\t\thtml: text\n\t}];\n};\n\nexports[\"text/html\"] = HtmlParser;\n\n})();\n\n",
            "title": "$:/core/modules/parsers/htmlparser.js",
            "type": "application/javascript",
            "module-type": "parser"
        },
        "$:/core/modules/parsers/imageparser.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/imageparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe image parser parses an image into an embeddable HTML element\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar ImageParser = function(type,text,options) {\n\tvar element = \"img\",\n\t\tsrc;\n\tif(type === \"application/pdf\" || type === \".pdf\") {\n\t\tsrc = \"data:application/pdf;base64,\" + text;\n\t\telement = \"embed\";\n\t} else if(type === \"image/svg+xml\" || type === \".svg\") {\n\t\tsrc = \"data:image/svg+xml,\" + encodeURIComponent(text);\n\t} else {\n\t\tsrc = \"data:\" + type + \";base64,\" + text;\n\t}\n\tthis.tree = [{\n\t\ttype: \"element\",\n\t\ttag: element,\n\t\tattributes: {\n\t\t\t\"src\": {type: \"string\", value: src}\n\t\t}\n\t}];\n};\n\nexports[\"image/svg+xml\"] = ImageParser;\nexports[\"image/jpg\"] = ImageParser;\nexports[\"image/jpeg\"] = ImageParser;\nexports[\"image/png\"] = ImageParser;\nexports[\"image/gif\"] = ImageParser;\nexports[\"application/pdf\"] = ImageParser;\nexports[\"image/x-icon\"] = ImageParser;\n\n})();\n\n",
            "title": "$:/core/modules/parsers/imageparser.js",
            "type": "application/javascript",
            "module-type": "parser"
        },
        "$:/core/modules/parsers/textparser.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/textparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe plain text parser processes blocks of source text into a degenerate parse tree consisting of a single text node\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar TextParser = function(type,text,options) {\n\tthis.tree = [{\n\t\ttype: \"element\",\n\t\ttag: \"pre\",\n\t\tchildren: [{\n\t\t\ttype: \"text\",\n\t\t\ttext: text\n\t\t}]\n\t}];\n};\n\nexports[\"text/plain\"] = TextParser;\nexports[\"text/x-tiddlywiki\"] = TextParser;\nexports[\"application/javascript\"] = TextParser;\nexports[\"application/json\"] = TextParser;\nexports[\"text/css\"] = TextParser;\n\n})();\n\n",
            "title": "$:/core/modules/parsers/textparser.js",
            "type": "application/javascript",
            "module-type": "parser"
        },
        "$:/core/modules/parsers/wikiparser/rules/codeblock.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/codeblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for code blocks. For example:\n\n```\n\t```\n\tThis text will not be //wikified//\n\t```\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"codeblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /```\\r?\\n/mg;\n};\n\nexports.parse = function() {\n\tvar reEnd = /(\\r?\\n```$)/mg;\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Look for the end of the block\n\treEnd.lastIndex = this.parser.pos;\n\tvar match = reEnd.exec(this.parser.source),\n\t\ttext;\n\t// Process the block\n\tif(match) {\n\t\ttext = this.parser.source.substring(this.parser.pos,match.index);\n\t\tthis.parser.pos = match.index + match[0].length;\n\t} else {\n\t\ttext = this.parser.source.substr(this.parser.pos);\n\t\tthis.parser.pos = this.parser.sourceLength;\n\t}\n\t// Return the pre element\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"pre\",\n\t\tchildren: [{\n\t\t\ttype: \"text\",\n\t\t\ttext: text\n\t\t}]\n\t}];\n};\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/codeblock.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/codeinline.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/codeinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for code runs. For example:\n\n```\n\tThis is a `code run`.\n\tThis is another ``code run``\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"codeinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /(``?)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar reEnd = new RegExp(this.match[1], \"mg\");\n\t// Look for the end marker\n\treEnd.lastIndex = this.parser.pos;\n\tvar match = reEnd.exec(this.parser.source),\n\t\ttext;\n\t// Process the text\n\tif(match) {\n\t\ttext = this.parser.source.substring(this.parser.pos,match.index);\n\t\tthis.parser.pos = match.index + match[0].length;\n\t} else {\n\t\ttext = this.parser.source.substr(this.parser.pos);\n\t\tthis.parser.pos = this.parser.sourceLength;\n\t}\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"code\",\n\t\tchildren: [{\n\t\t\ttype: \"text\",\n\t\t\ttext: text\n\t\t}]\n\t}];\n};\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/codeinline.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/commentblock.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/commentblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for HTML comments. For example:\n\n```\n<!-- This is a comment -->\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"commentblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match - HTML comment regexp by Stephen Ostermiller, http://ostermiller.org/findhtmlcomment.html\n\tthis.matchRegExp = /\\<![ \\r\\n\\t]*(?:--(?:[^\\-]|[\\r\\n]|-[^\\-])*--[ \\r\\n\\t]*)\\>\\r?\\n/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Don't return any elements\n\treturn [];\n};\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/commentblock.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/commentinline.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/commentinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for HTML comments. For example:\n\n```\n<!-- This is a comment -->\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"commentinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match - HTML comment regexp by Stephen Ostermiller, http://ostermiller.org/findhtmlcomment.html\n\tthis.matchRegExp = /\\<![ \\r\\n\\t]*(?:--(?:[^\\-]|[\\r\\n]|-[^\\-])*--[ \\r\\n\\t]*)\\>/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Don't return any elements\n\treturn [];\n};\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/commentinline.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/dash.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/dash.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for dashes. For example:\n\n```\nThis is an en-dash: --\n\nThis is an em-dash: ---\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"dash\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /-{2,3}(?!-)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar dash = this.match[0].length === 2 ? \"&ndash;\" : \"&mdash;\";\n\treturn [{\n\t\ttype: \"entity\",\n\t\tentity: dash\n\t}];\n};\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/dash.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/emphasis.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis. For example:\n\n```\n\tThis is ''bold'' text\n\n\tThis is //italic// text\n\n\tThis is __underlined__ text\n\n\tThis is ^^superscript^^ text\n\n\tThis is ,,subscript,, text\n\n\tThis is ~~strikethrough~~ text\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"emphasis\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /''|\\/\\/|__|\\^\\^|,,|~~/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Figure out which element and closing regexp to use\n\tvar tag,reEnd;\n\tswitch(this.match[0]) {\n\t\tcase \"''\": // Bold\n\t\t\ttag = \"strong\";\n\t\t\treEnd = /''/mg;\n\t\t\tbreak;\n\t\tcase \"//\": // Italics\n\t\t\ttag = \"em\";\n\t\t\treEnd = /\\/\\//mg;\n\t\t\tbreak;\n\t\tcase \"__\": // Underline\n\t\t\ttag = \"u\";\n\t\t\treEnd = /__/mg;\n\t\t\tbreak;\n\t\tcase \"^^\": // Superscript\n\t\t\ttag = \"sup\";\n\t\t\treEnd = /\\^\\^/mg;\n\t\t\tbreak;\n\t\tcase \",,\": // Subscript\n\t\t\ttag = \"sub\";\n\t\t\treEnd = /,,/mg;\n\t\t\tbreak;\n\t\tcase \"~~\": // Strikethrough\n\t\t\ttag = \"strike\";\n\t\t\treEnd = /~~/mg;\n\t\t\tbreak;\n\t}\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(reEnd,{eatTerminator: true});\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: tag,\n\t\tchildren: tree\n\t}];\n};\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/emphasis.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/entity.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/entity.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for HTML entities. For example:\n\n```\n\tThis is a copyright symbol: &copy;\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"entity\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /(&#?[a-zA-Z0-9]{2,8};)/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get all the details of the match\n\tvar entityString = this.match[1];\n\t// Move past the macro call\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Return the entity\n\treturn [{type: \"entity\", entity: this.match[0]}];\n};\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/entity.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/extlink.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/extlink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for external links. For example:\n\n```\nAn external link: http://www.tiddlywiki.com/\n\nA suppressed external link: ~http://www.tiddlyspace.com/\n```\n\nExternal links can be suppressed by preceding them with `~`.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"extlink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /~?(?:file|http|https|mailto|ftp|irc|news|data|skype):[^\\s'\"<>]+(?:\\/|\\b)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Create the link unless it is suppressed\n\tif(this.match[0].substr(0,1) === \"~\") {\n\t\treturn [{type: \"text\", text: this.match[0].substr(1)}];\n\t} else {\n\t\treturn [{\n\t\t\ttype: \"element\",\n\t\t\ttag: \"a\",\n\t\t\tattributes: {\n\t\t\t\thref: {type: \"string\", value: this.match[0]},\n\t\t\t\t\"class\": {type: \"string\", value: \"tw-tiddlylink-external\"},\n\t\t\t\ttarget: {type: \"string\", value: \"_blank\"}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\", text: this.match[0]\n\t\t\t}]\n\t\t}];\n\t}\n};\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/extlink.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/filteredtranscludeblock.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/filteredtranscludeblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for block-level filtered transclusion. For example:\n\n```\n{{{ [tag[docs]] }}}\n{{{ [tag[docs]] |tooltip}}}\n{{{ [tag[docs]] ||TemplateTitle}}}\n{{{ [tag[docs]] |tooltip||TemplateTitle}}}\n{{{ [tag[docs]] }}width:40;height:50;}.class.class\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"filteredtranscludeblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\{\\{\\{([^\\|]+?)(?:\\|([^\\|\\{\\}]+))?(?:\\|\\|([^\\|\\{\\}]+))?\\}\\}([^\\}]*)\\}(?:\\.(\\S+))?(?:\\r?\\n|$)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Get the match details\n\tvar filter = this.match[1],\n\t\ttooltip = this.match[2],\n\t\ttemplate = $tw.utils.trim(this.match[3]),\n\t\tstyle = this.match[4],\n\t\tclasses = this.match[5];\n\t// Return the list widget\n\tvar node = {\n\t\ttype: \"element\",\n\t\ttag: \"$list\",\n\t\tattributes: {\n\t\t\tfilter: {type: \"string\", value: filter}\n\t\t},\n\t\tisBlock: true\n\t};\n\tif(tooltip) {\n\t\tnode.attributes.tooltip = {type: \"string\", value: tooltip};\n\t}\n\tif(template) {\n\t\tnode.attributes.template = {type: \"string\", value: template};\n\t}\n\tif(style) {\n\t\tnode.attributes.style = {type: \"string\", value: style};\n\t}\n\tif(classes) {\n\t\tnode.attributes[\"itemClass\"] = {type: \"string\", value: classes.split(\".\").join(\" \")};\n\t}\n\treturn [node];\n};\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/filteredtranscludeblock.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/filteredtranscludeinline.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/filteredtranscludeinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for inline filtered transclusion. For example:\n\n```\n{{{ [tag[docs]] }}}\n{{{ [tag[docs]] |tooltip}}}\n{{{ [tag[docs]] ||TemplateTitle}}}\n{{{ [tag[docs]] |tooltip||TemplateTitle}}}\n{{{ [tag[docs]] }}width:40;height:50;}.class.class\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"filteredtranscludeinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\{\\{\\{([^\\|]+?)(?:\\|([^\\|\\{\\}]+))?(?:\\|\\|([^\\|\\{\\}]+))?\\}\\}([^\\}]*)\\}(?:\\.(\\S+))?/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Get the match details\n\tvar filter = this.match[1],\n\t\ttooltip = this.match[2],\n\t\ttemplate = $tw.utils.trim(this.match[3]),\n\t\tstyle = this.match[4],\n\t\tclasses = this.match[5];\n\t// Return the list widget\n\tvar node = {\n\t\ttype: \"element\",\n\t\ttag: \"$list\",\n\t\tattributes: {\n\t\t\tfilter: {type: \"string\", value: filter}\n\t\t}\n\t};\n\tif(tooltip) {\n\t\tnode.attributes.tooltip = {type: \"string\", value: tooltip};\n\t}\n\tif(template) {\n\t\tnode.attributes.template = {type: \"string\", value: template};\n\t}\n\tif(style) {\n\t\tnode.attributes.style = {type: \"string\", value: style};\n\t}\n\tif(classes) {\n\t\tnode.attributes[\"itemClass\"] = {type: \"string\", value: classes.split(\".\").join(\" \")};\n\t}\n\treturn [node];\n};\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/filteredtranscludeinline.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/hardlinebreaks.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/hardlinebreaks.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for marking areas with hard line breaks. For example:\n\n```\n\"\"\"\nThis is some text\nThat is set like\nIt is a Poem\nWhen it is\nClearly\nNot\n\"\"\"\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"hardlinebreaks\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\"\"\"(?:\\r?\\n)?/mg;\n};\n\nexports.parse = function() {\n\tvar reEnd = /(\"\"\")|(\\r?\\n)/mg,\n\t\ttree = [];\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tdo {\n\t\t// Parse the run up to the terminator\n\t\ttree.push.apply(tree,this.parser.parseInlineRun(reEnd,{eatTerminator: false}));\n\t\t// Redo the terminator match\n\t\treEnd.lastIndex = this.parser.pos;\n\t\tvar match = reEnd.exec(this.parser.source);\n\t\tif(match) {\n\t\t\tthis.parser.pos = reEnd.lastIndex;\n\t\t\t// Add a line break if the terminator was a line break\n\t\t\tif(match[2]) {\n\t\t\t\ttree.push({type: \"element\", tag: \"br\"});\n\t\t\t}\n\t\t}\n\t} while(match && !match[1]);\n\t// Return the nodes\n\treturn tree;\n};\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/hardlinebreaks.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/heading.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/heading.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for headings\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"heading\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /(!{1,6})/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get all the details of the match\n\tvar headingLevel = this.match[1].length;\n\t// Move past the !s\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse any classes, whitespace and then the heading itself\n\tvar classes = this.parser.parseClasses();\n\tthis.parser.skipWhitespace({treatNewlinesAsNonWhitespace: true});\n\tvar tree = this.parser.parseInlineRun(/(\\r?\\n)/mg);\n\t// Return the heading\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"h\" + this.match[1].length, \n\t\tattributes: {\n\t\t\t\"class\": {type: \"string\", value: classes.join(\" \")}\n\t\t},\n\t\tchildren: tree\n\t}];\n};\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/heading.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/horizrule.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/horizrule.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for rules. For example:\n\n```\n---\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"horizrule\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /-{3,}\\r?(?:\\n|$)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\treturn [{type: \"element\", tag: \"hr\"}];\n};\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/horizrule.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/html.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/html.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki rule for HTML elements and widgets. For example:\n\n{{{\n<aside>\nThis is an HTML5 aside element\n</aside>\n\n<$slider target=\"MyTiddler\">\nThis is a widget invocation\n</$slider>\n\n}}}\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"html\";\nexports.types = {inline: true, block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n};\n\nexports.findNextMatch = function(startPos) {\n\t// Find the next tag\n\tthis.nextTag = this.findNextTag(this.parser.source,startPos,{\n\t\trequireLineBreak: this.is.block\n\t});\n\treturn this.nextTag ? this.nextTag.start : undefined;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Retrieve the most recent match so that recursive calls don't overwrite it\n\tvar tag = this.nextTag;\n\tthis.nextTag = null;\n\t// Advance the parser position to past the tag\n\tthis.parser.pos = tag.end;\n\t// Check for a following linebreak\n\tvar hasLineBreak = !tag.isSelfClosing && !!this.parseTokenRegExp(this.parser.source,this.parser.pos,/(\\r?\\n)/g);\n\t// Set whether we're in block mode\n\ttag.isBlock = this.is.block || hasLineBreak;\n\t// Parse the body if we need to\n\tif(!tag.isSelfClosing && $tw.config.htmlVoidElements.indexOf(tag.tag) === -1) {\n\t\t\tvar reEndString = \"</\" + $tw.utils.escapeRegExp(tag.tag) + \">\",\n\t\t\t\treEnd = new RegExp(\"(\" + reEndString + \")\",\"mg\");\n\t\tif(hasLineBreak) {\n\t\t\ttag.children = this.parser.parseBlocks(reEndString);\n\t\t} else {\n\t\t\ttag.children = this.parser.parseInlineRun(reEnd);\n\t\t}\n\t\treEnd.lastIndex = this.parser.pos;\n\t\tvar endMatch = reEnd.exec(this.parser.source);\n\t\tif(endMatch && endMatch.index === this.parser.pos) {\n\t\t\tthis.parser.pos = endMatch.index + endMatch[0].length;\n\t\t}\n\t}\n\t// Return the tag\n\treturn [tag];\n};\n\n/*\nLook for a whitespace token. Returns null if not found, otherwise returns {type: \"whitespace\", start:, end:,}\n*/\nexports.parseWhiteSpace = function(source,pos) {\n\tvar node = {\n\t\ttype: \"whitespace\",\n\t\tstart: pos\n\t};\n\tvar re = /(\\s)+/g;\n\tre.lastIndex = pos;\n\tvar match = re.exec(source);\n\tif(match && match.index === pos) {\n\t\tnode.end = pos + match[0].length;\n\t\treturn node;\n\t}\n\treturn null;\n};\n\n/*\nConvenience wrapper for parseWhiteSpace\n*/\nexports.skipWhiteSpace = function(source,pos) {\n\tvar whitespace = this.parseWhiteSpace(source,pos);\n\tif(whitespace) {\n\t\treturn whitespace.end;\n\t}\n\treturn pos;\n};\n\n/*\nLook for a given string token. Returns null if not found, otherwise returns {type: \"token\", value:, start:, end:,}\n*/\nexports.parseTokenString = function(source,pos,token) {\n\tvar match = source.indexOf(token,pos) === pos;\n\tif(match) {\n\t\treturn {\n\t\t\ttype: \"token\",\n\t\t\tvalue: token,\n\t\t\tstart: pos,\n\t\t\tend: pos + token.length\n\t\t};\n\t}\n\treturn null;\n};\n\n/*\nLook for a token matching a regex. Returns null if not found, otherwise returns {type: \"regexp\", match:, start:, end:,}\n*/\nexports.parseTokenRegExp = function(source,pos,reToken) {\n\tvar node = {\n\t\ttype: \"regexp\",\n\t\tstart: pos\n\t};\n\treToken.lastIndex = pos;\n\tnode.match = reToken.exec(source);\n\tif(node.match && node.match.index === pos) {\n\t\tnode.end = pos + node.match[0].length;\n\t\treturn node;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n/*\nLook for a string literal. Returns null if not found, otherwise returns {type: \"string\", value:, start:, end:,}\n*/\nexports.parseStringLiteral = function(source,pos) {\n\tvar node = {\n\t\ttype: \"string\",\n\t\tstart: pos\n\t};\n\tvar reString = /(?:\"([^\"]*)\")|(?:'([^']*)')/g;\n\treString.lastIndex = pos;\n\tvar match = reString.exec(source);\n\tif(match && match.index === pos) {\n\t\tnode.value = match[1] === undefined ? match[2] : match[1];\n\t\tnode.end = pos + match[0].length;\n\t\treturn node;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n/*\nLook for a macro invocation parameter. Returns null if not found, or {type: \"macro-parameter\", name:, value:, start:, end:}\n*/\nexports.parseMacroParameter = function(source,pos) {\n\tvar node = {\n\t\ttype: \"macro-parameter\",\n\t\tstart: pos\n\t};\n\t// Define our regexp\n\tvar reMacroParameter = /(?:([A-Za-z0-9\\-_]+)\\s*:)?(?:\\s*(?:\"([^\"]*)\"|'([^']*)'|\\[\\[([^\\]]*)\\]\\]|([^\\s>\"'=]+)))/g;\n\t// Skip whitespace\n\tpos = this.skipWhiteSpace(source,pos);\n\t// Look for the parameter\n\tvar token = this.parseTokenRegExp(source,pos,reMacroParameter);\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Get the parameter details\n\tnode.value = token.match[2] !== undefined ? token.match[2] : (\n\t\t\t\t\ttoken.match[3] !== undefined ? token.match[3] : (\n\t\t\t\t\t\ttoken.match[4] !== undefined ? token.match[4] : (\n\t\t\t\t\t\t\ttoken.match[5] !== undefined ? token.match[5] : (\n\t\t\t\t\t\t\t\t\"\"\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t);\n\tif(token.match[1]) {\n\t\tnode.name = token.match[1];\n\t}\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\n/*\nLook for a macro invocation. Returns null if not found, or {type: \"macrocall\", name:, parameters:, start:, end:}\n*/\nexports.parseMacroInvocation = function(source,pos) {\n\tvar node = {\n\t\ttype: \"macrocall\",\n\t\tstart: pos,\n\t\tparams: []\n\t};\n\t// Define our regexps\n\tvar reMacroName = /([^\\s>\"'=]+)/g;\n\t// Skip whitespace\n\tpos = this.skipWhiteSpace(source,pos);\n\t// Look for a double less than sign\n\tvar token = this.parseTokenString(source,pos,\"<<\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Get the macro name\n\tvar name = this.parseTokenRegExp(source,pos,reMacroName);\n\tif(!name) {\n\t\treturn null;\n\t}\n\tnode.name = name.match[1];\n\tpos = name.end;\n\t// Process parameters\n\tvar parameter = this.parseMacroParameter(source,pos);\n\twhile(parameter) {\n\t\tnode.params.push(parameter);\n\t\tpos = parameter.end;\n\t\t// Get the next parameter\n\t\tparameter = this.parseMacroParameter(source,pos);\n\t}\n\t// Skip whitespace\n\tpos = this.skipWhiteSpace(source,pos);\n\t// Look for a double greater than sign\n\ttoken = this.parseTokenString(source,pos,\">>\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\n/*\nLook for an HTML attribute definition. Returns null if not found, otherwise returns {type: \"attribute\", name:, valueType: \"string|indirect|macro\", value:, start:, end:,}\n*/\nexports.parseAttribute = function(source,pos) {\n\tvar node = {\n\t\tstart: pos\n\t};\n\t// Define our regexps\n\tvar reAttributeName = /([^\\/\\s>\"'=]+)/g,\n\t\treUnquotedAttribute = /([^\\/\\s<>\"'=]+)/g,\n\t\treIndirectValue = /\\{\\{([^\\}]+)\\}\\}/g;\n\t// Skip whitespace\n\tpos = this.skipWhiteSpace(source,pos);\n\t// Get the attribute name\n\tvar name = this.parseTokenRegExp(source,pos,reAttributeName);\n\tif(!name) {\n\t\treturn null;\n\t}\n\tnode.name = name.match[1];\n\tpos = name.end;\n\t// Skip whitespace\n\tpos = this.skipWhiteSpace(source,pos);\n\t// Look for an equals sign\n\tvar token = this.parseTokenString(source,pos,\"=\");\n\tif(token) {\n\t\tpos = token.end;\n\t\t// Skip whitespace\n\t\tpos = this.skipWhiteSpace(source,pos);\n\t\t// Look for a string literal\n\t\tvar stringLiteral = this.parseStringLiteral(source,pos);\n\t\tif(stringLiteral) {\n\t\t\tpos = stringLiteral.end;\n\t\t\tnode.type = \"string\";\n\t\t\tnode.value = stringLiteral.value;\n\t\t} else {\n\t\t\t// Look for an indirect value\n\t\t\tvar indirectValue = this.parseTokenRegExp(source,pos,reIndirectValue);\n\t\t\tif(indirectValue) {\n\t\t\t\tpos = indirectValue.end;\n\t\t\t\tnode.type = \"indirect\";\n\t\t\t\tnode.textReference = indirectValue.match[1];\n\t\t\t} else {\n\t\t\t\t// Look for a unquoted value\n\t\t\t\tvar unquotedValue = this.parseTokenRegExp(source,pos,reUnquotedAttribute);\n\t\t\t\tif(unquotedValue) {\n\t\t\t\t\tpos = unquotedValue.end;\n\t\t\t\t\tnode.type = \"string\";\n\t\t\t\t\tnode.value = unquotedValue.match[1];\n\t\t\t\t} else {\n\t\t\t\t\t// Look for a macro invocation value\n\t\t\t\t\tvar macroInvocation = this.parseMacroInvocation(source,pos);\n\t\t\t\t\tif(macroInvocation) {\n\t\t\t\t\t\tpos = macroInvocation.end;\n\t\t\t\t\t\tnode.type = \"macro\";\n\t\t\t\t\t\tnode.value = macroInvocation;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnode.type = \"string\";\n\t\t\t\t\t\tnode.value = \"true\";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t} else {\n\t\tnode.type = \"string\";\n\t\tnode.value = \"true\";\n\t}\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\n/*\nLook for an HTML tag. Returns null if not found, otherwise returns {type: \"tag\", name:, attributes: [], isSelfClosing:, start:, end:,}\n*/\nexports.parseTag = function(source,pos,options) {\n\toptions = options || {};\n\tvar token,\n\t\tnode = {\n\t\t\ttype: \"element\",\n\t\t\tstart: pos,\n\t\t\tattributes: {}\n\t\t};\n\t// Define our regexps\n\tvar reTagName = /([a-zA-Z0-9\\-\\$]+)/g;\n\t// Skip whitespace\n\tpos = this.skipWhiteSpace(source,pos);\n\t// Look for a less than sign\n\ttoken = this.parseTokenString(source,pos,\"<\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Get the tag name\n\ttoken = this.parseTokenRegExp(source,pos,reTagName);\n\tif(!token) {\n\t\treturn null;\n\t}\n\tnode.tag = token.match[1];\n\tpos = token.end;\n\t// Process attributes\n\tvar attribute = this.parseAttribute(source,pos);\n\twhile(attribute) {\n\t\tnode.attributes[attribute.name] = attribute;\n\t\tpos = attribute.end;\n\t\t// Get the next attribute\n\t\tattribute = this.parseAttribute(source,pos);\n\t}\n\t// Skip whitespace\n\tpos = this.skipWhiteSpace(source,pos);\n\t// Look for a closing slash\n\ttoken = this.parseTokenString(source,pos,\"/\");\n\tif(token) {\n\t\tpos = token.end;\n\t\tnode.isSelfClosing = true;\n\t}\n\t// Look for a greater than sign\n\ttoken = this.parseTokenString(source,pos,\">\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Check for a required line break\n\tif(options.requireLineBreak) {\n\t\ttoken = this.parseTokenRegExp(source,pos,/(\\r?\\n)/g);\n\t\tif(!token) {\n\t\t\treturn null;\n\t\t}\n\t}\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\nexports.findNextTag = function(source,pos,options) {\n\t// A regexp for finding candidate HTML tags\n\tvar reLookahead = /<([a-zA-Z\\-\\$]+)/g;\n\t// Find the next candidate\n\treLookahead.lastIndex = pos;\n\tvar match = reLookahead.exec(source);\n\twhile(match) {\n\t\t// Try to parse the candidate as a tag\n\t\tvar tag = this.parseTag(source,match.index,options);\n\t\t// Return success\n\t\tif(tag && this.isLegalTag(tag.tag)) {\n\t\t\treturn tag;\n\t\t}\n\t\t// Look for the next match\n\t\treLookahead.lastIndex = match.index + 1;\n\t\tmatch = reLookahead.exec(source);\n\t}\n\t// Failed\n\treturn null;\n};\n\nexports.isLegalTag = function(tag) {\n\t// If it starts with a $ then we'll let anything go\n\tif(tag.charAt(0) === \"$\") {\n\t\treturn true;\n\t// If it starts with a dash then it's not legal\n\t} else if(tag.charAt(0) === \"-\") {\n\t\treturn false;\n\t} else {\n\t\t// Otherwise it's OK\n\t\treturn true;\n\t}\n};\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/html.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/list.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/list.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for lists. For example:\n\n```\n* This is an unordered list\n* It has two items\n\n# This is a numbered list\n## With a subitem\n# And a third item\n\n; This is a term that is being defined\n: This is the definition of that term\n```\n\nNote that lists can be nested arbitrarily:\n\n```\n#** One\n#* Two\n#** Three\n#**** Four\n#**# Five\n#**## Six\n## Seven\n### Eight\n## Nine\n```\n\nA CSS class can be applied to a list item as follows:\n\n```\n* List item one\n*.active List item two has the class `active`\n* List item three\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"list\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /([\\*#;:>]+)/mg;\n};\n\nvar listTypes = {\n\t\"*\": {listTag: \"ul\", itemTag: \"li\"},\n\t\"#\": {listTag: \"ol\", itemTag: \"li\"},\n\t\";\": {listTag: \"dl\", itemTag: \"dt\"},\n\t\":\": {listTag: \"dl\", itemTag: \"dd\"},\n\t\">\": {listTag: \"blockquote\", itemTag: \"p\"}\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Array of parse tree nodes for the previous row of the list\n\tvar listStack = [];\n\t// Cycle through the items in the list\n\twhile(true) {\n\t\t// Match the list marker\n\t\tvar reMatch = /([\\*#;:>]+)/mg;\n\t\treMatch.lastIndex = this.parser.pos;\n\t\tvar match = reMatch.exec(this.parser.source);\n\t\tif(!match || match.index !== this.parser.pos) {\n\t\t\tbreak;\n\t\t}\n\t\t// Check whether the list type of the top level matches\n\t\tvar listInfo = listTypes[match[0].charAt(0)];\n\t\tif(listStack.length > 0 && listStack[0].tag !== listInfo.listTag) {\n\t\t\tbreak;\n\t\t}\n\t\t// Move past the list marker\n\t\tthis.parser.pos = match.index + match[0].length;\n\t\t// Walk through the list markers for the current row\n\t\tfor(var t=0; t<match[0].length; t++) {\n\t\t\tlistInfo = listTypes[match[0].charAt(t)];\n\t\t\t// Remove any stacked up element if we can't re-use it because the list type doesn't match\n\t\t\tif(listStack.length > t && listStack[t].tag !== listInfo.listTag) {\n\t\t\t\tlistStack.splice(t,listStack.length - t);\n\t\t\t}\n\t\t\t// Construct the list element or reuse the previous one at this level\n\t\t\tif(listStack.length <= t) {\n\t\t\t\tvar listElement = {type: \"element\", tag: listInfo.listTag, children: [\n\t\t\t\t\t{type: \"element\", tag: listInfo.itemTag, children: []}\n\t\t\t\t]};\n\t\t\t\t// Link this list element into the last child item of the parent list item\n\t\t\t\tif(t) {\n\t\t\t\t\tvar prevListItem = listStack[t-1].children[listStack[t-1].children.length-1];\n\t\t\t\t\tprevListItem.children.push(listElement);\n\t\t\t\t}\n\t\t\t\t// Save this element in the stack\n\t\t\t\tlistStack[t] = listElement;\n\t\t\t} else if(t === (match[0].length - 1)) {\n\t\t\t\tlistStack[t].children.push({type: \"element\", tag: listInfo.itemTag, children: []});\n\t\t\t}\n\t\t}\n\t\tif(listStack.length > match[0].length) {\n\t\t\tlistStack.splice(match[0].length,listStack.length - match[0].length);\n\t\t}\n\t\t// Process the body of the list item into the last list item\n\t\tvar lastListChildren = listStack[listStack.length-1].children,\n\t\t\tlastListItem = lastListChildren[lastListChildren.length-1],\n\t\t\tclasses = this.parser.parseClasses();\n\t\tthis.parser.skipWhitespace({treatNewlinesAsNonWhitespace: true});\n\t\tvar tree = this.parser.parseInlineRun(/(\\r?\\n)/mg);\n\t\tlastListItem.children.push.apply(lastListItem.children,tree);\n\t\tif(classes.length > 0) {\n\t\t\t$tw.utils.addClassToParseTreeNode(lastListItem,classes.join(\" \"));\n\t\t}\n\t\t// Consume any whitespace following the list item\n\t\tthis.parser.skipWhitespace();\n\t}\n\t// Return the root element of the list\n\treturn [listStack[0]];\n};\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/list.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/macrocallblock.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/macrocallblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki rule for block macro calls\n\n```\n<<name value value2>>\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"macrocallblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /<<([^>\\s]+)(?:\\s*)((?:[^>]|(?:>(?!>)))*?)>>(?:\\r?\\n|$)/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get all the details of the match\n\tvar macroName = this.match[1],\n\t\tparamString = this.match[2];\n\t// Move past the macro call\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar params = [],\n\t\treParam = /\\s*(?:([A-Za-z0-9\\-_]+)\\s*:)?(?:\\s*(?:\"([^\"]*)\"|'([^']*)'|\\[\\[([^\\]]*)\\]\\]|([^\"'\\s]+)))/mg,\n\t\tparamMatch = reParam.exec(paramString);\n\twhile(paramMatch) {\n\t\t// Process this parameter\n\t\tvar paramInfo = {\n\t\t\tvalue: paramMatch[2] || paramMatch[3] || paramMatch[4] || paramMatch[5]\n\t\t};\n\t\tif(paramMatch[1]) {\n\t\t\tparamInfo.name = paramMatch[1];\n\t\t}\n\t\tparams.push(paramInfo);\n\t\t// Find the next match\n\t\tparamMatch = reParam.exec(paramString);\n\t}\n\treturn [{\n\t\ttype: \"macrocall\",\n\t\tname: macroName,\n\t\tparams: params,\n\t\tisBlock: true\n\t}];\n};\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/macrocallblock.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/macrocallinline.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/macrocallinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki rule for macro calls\n\n```\n<<name value value2>>\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"macrocallinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /<<([^\\s>]+)\\s*([\\s\\S]*?)>>/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get all the details of the match\n\tvar macroName = this.match[1],\n\t\tparamString = this.match[2];\n\t// Move past the macro call\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar params = [],\n\t\treParam = /\\s*(?:([A-Za-z0-9\\-_]+)\\s*:)?(?:\\s*(?:\"([^\"]*)\"|'([^']*)'|\\[\\[([^\\]]*)\\]\\]|([^\"'\\s]+)))/mg,\n\t\tparamMatch = reParam.exec(paramString);\n\twhile(paramMatch) {\n\t\t// Process this parameter\n\t\tvar paramInfo = {\n\t\t\tvalue: paramMatch[2] || paramMatch[3] || paramMatch[4] || paramMatch[5]\n\t\t};\n\t\tif(paramMatch[1]) {\n\t\t\tparamInfo.name = paramMatch[1];\n\t\t}\n\t\tparams.push(paramInfo);\n\t\t// Find the next match\n\t\tparamMatch = reParam.exec(paramString);\n\t}\n\treturn [{\n\t\ttype: \"macrocall\",\n\t\tname: macroName,\n\t\tparams: params\n\t}];\n};\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/macrocallinline.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/macrodef.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/macrodef.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki pragma rule for macro definitions\n\n```\n\\define name(param:defaultvalue,param2:defaultvalue)\ndefinition text, including $param$ markers\n\\end\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"macrodef\";\nexports.types = {pragma: true};\n\n/*\nInstantiate parse rule\n*/\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /^\\\\define\\s+([^(\\s]+)\\(\\s*([^)]*)\\)(\\r?\\n)?/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Move past the macro name and parameters\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse the parameters\n\tvar paramString = this.match[2],\n\t\tparams = [];\n\tif(paramString !== \"\") {\n\t\tvar reParam = /\\s*([A-Za-z0-9\\-_]+)(?:\\s*:\\s*(?:\"([^\"]*)\"|'([^']*)'|\\[\\[([^\\]]*)\\]\\]|([^\"'\\s]+)))?/mg,\n\t\t\tparamMatch = reParam.exec(paramString);\n\t\twhile(paramMatch) {\n\t\t\t// Save the parameter details\n\t\t\tvar paramInfo = {name: paramMatch[1]},\n\t\t\t\tdefaultValue = paramMatch[2] || paramMatch[3] || paramMatch[4] || paramMatch[5];\n\t\t\tif(defaultValue) {\n\t\t\t\tparamInfo[\"default\"] = defaultValue;\n\t\t\t}\n\t\t\tparams.push(paramInfo);\n\t\t\t// Look for the next parameter\n\t\t\tparamMatch = reParam.exec(paramString);\n\t\t}\n\t}\n\t// Is this a multiline definition?\n\tvar reEnd;\n\tif(this.match[3]) {\n\t\t// If so, the end of the body is marked with \\end\n\t\treEnd = /(\\r?\\n\\\\end\\r?\\n)/mg;\n\t} else {\n\t\t// Otherwise, the end of the definition is marked by the end of the line\n\t\treEnd = /(\\r?\\n)/mg;\n\t}\n\t// Find the end of the definition\n\treEnd.lastIndex = this.parser.pos;\n\tvar text,\n\t\tendMatch = reEnd.exec(this.parser.source);\n\tif(endMatch) {\n\t\ttext = this.parser.source.substring(this.parser.pos,endMatch.index);\n\t\tthis.parser.pos = endMatch.index + endMatch[0].length;\n\t} else {\n\t\t// We didn't find the end of the definition, so we'll make it blank\n\t\ttext = \"\";\n\t}\n\t// Save the macro definition\n\treturn [{\n\t\ttype: \"macrodef\",\n\t\tname: this.match[1],\n\t\tparams: params,\n\t\ttext: text\n\t}];\n};\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/macrodef.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/prettylink.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/prettylink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for pretty links. For example:\n\n```\n[[Introduction]]\n\n[[Link description|TiddlerTitle]]\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"prettylink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\[\\[(.*?)(?:\\|(.*?))?\\]\\]/mg;\n};\n\nvar isLinkExternal = function(to) {\n\tvar externalRegExp = /(?:file|http|https|mailto|ftp|irc|news|data|skype):[^\\s'\"]+(?:\\/|\\b)/i;\n\treturn externalRegExp.test(to);\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Process the link\n\tvar text = this.match[1],\n\t\tlink = this.match[2] || text;\n\tif(isLinkExternal(link)) {\n\t\treturn [{\n\t\t\ttype: \"element\",\n\t\t\ttag: \"a\",\n\t\t\tattributes: {\n\t\t\t\thref: {type: \"string\", value: link},\n\t\t\t\t\"class\": {type: \"string\", value: \"tw-tiddlylink-external\"},\n\t\t\t\ttarget: {type: \"string\", value: \"_blank\"}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\", text: text\n\t\t\t}]\n\t\t}];\n\t} else {\n\t\treturn [{\n\t\t\ttype: \"element\",\n\t\t\ttag: \"$link\",\n\t\t\tattributes: {\n\t\t\t\tto: {type: \"string\", value: link}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\", text: text\n\t\t\t}]\n\t\t}];\n\t}\n};\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/prettylink.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/quoteblock.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/quoteblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for quote blocks. For example:\n\n```\n\t<<<.optionalClass(es) optional cited from\n\ta quote\n\t<<<\n\t\n\t<<<.optionalClass(es)\n\ta quote\n\t<<< optional cited from\n```\n\nQuotes can be quoted by putting more <s\n\n```\n\t<<<\n\tQuote Level 1\n\t\n\t<<<<\n\tQuoteLevel 2\n\t<<<<\n\t\n\t<<<\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"quoteblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /(<<<+)/mg;\n};\n\nexports.parse = function() {\n\tvar classes = [\"tw-quote\"];\n\t// Get all the details of the match\n\tvar reEndString = \"^\" + this.match[1] + \"(?!<)\";\n\t// Move past the <s\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t\n\t// Parse any classes, whitespace and then the optional cite itself\n\tclasses.push.apply(classes, this.parser.parseClasses());\n\tthis.parser.skipWhitespace({treatNewlinesAsNonWhitespace: true});\n\tvar cite = this.parser.parseInlineRun(/(\\r?\\n)/mg);\n\n\t// before handling the cite, parse the body of the quote\n\tvar tree= this.parser.parseBlocks(reEndString);\n\t// If we got a cite, put it before the text\n\tif(cite.length > 0) {\n\t\ttree.unshift({\n\t\t\ttype: \"element\",\n\t\t\ttag: \"cite\",\n\t\t\tchildren: cite\n\t\t});\n\t}\n\n\t// Parse any optional cite\n\tthis.parser.skipWhitespace({treatNewlinesAsNonWhitespace: true});\n\tvar cite = this.parser.parseInlineRun(/(\\r?\\n)/mg);\n\t// If we got a cite, push it\n\tif(cite.length > 0) {\n\t\ttree.push({\n\t\t\ttype: \"element\",\n\t\t\ttag: \"cite\",\n\t\t\tchildren: cite\n\t\t});\n\t}\n\n\t// Return the blockquote element\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"blockquote\",\n\t\tattributes: {\n\t\t\tclass: { type: \"string\", value: classes.join(\" \") },\n\t\t},\n\t\tchildren: tree\n\t}];\n};\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/quoteblock.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/rules.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/rules.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki pragma rule for rules specifications\n\n```\n\\rules except ruleone ruletwo rulethree\n\\rules only ruleone ruletwo rulethree\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"rules\";\nexports.types = {pragma: true};\n\n/*\nInstantiate parse rule\n*/\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /^\\\\rules[^\\S\\n]/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Move past the pragma invocation\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse whitespace delimited tokens terminated by a line break\n\tvar reMatch = /[^\\S\\n]*(\\S+)|(\\r?\\n)/mg,\n\t\ttokens = [];\n\treMatch.lastIndex = this.parser.pos;\n\tvar match = reMatch.exec(this.parser.source);\n\twhile(match && match.index === this.parser.pos) {\n\t\tthis.parser.pos = reMatch.lastIndex;\n\t\t// Exit if we've got the line break\n\t\tif(match[2]) {\n\t\t\tbreak;\n\t\t}\n\t\t// Process the token\n\t\tif(match[1]) {\n\t\t\ttokens.push(match[1]);\n\t\t}\n\t\t// Match the next token\n\t\tmatch = reMatch.exec(this.parser.source);\n\t}\n\t// Process the tokens\n\tif(tokens.length > 0) {\n\t\tthis.parser.amendRules(tokens[0],tokens.slice(1));\n\t}\n\t// No parse tree nodes to return\n\treturn [];\n};\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/rules.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/styleblock.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/styleblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for assigning styles and classes to paragraphs and other blocks. For example:\n\n```\n@@.myClass\n@@background-color:red;\nThis paragraph will have the CSS class `myClass`.\n\n* The `<ul>` around this list will also have the class `myClass`\n* List item 2\n\n@@\n```\n\nNote that classes and styles can be mixed subject to the rule that styles must precede classes. For example\n\n```\n@@.myFirstClass.mySecondClass\n@@width:100px;.myThirdClass\nThis is a paragraph\n@@\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"styleblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /@@((?:[^\\.\\r\\n\\s:]+:[^\\r\\n;]+;)+)?(?:\\.([^\\r\\n\\s]+))?\\r?\\n/mg;\n};\n\nexports.parse = function() {\n\tvar reEndString = \"^@@(?:\\\\r?\\\\n)?\";\n\tvar classes = [], styles = [];\n\tdo {\n\t\t// Get the class and style\n\t\tif(this.match[1]) {\n\t\t\tstyles.push(this.match[1]);\n\t\t}\n\t\tif(this.match[2]) {\n\t\t\tclasses.push(this.match[2].split(\".\").join(\" \"));\n\t\t}\n\t\t// Move past the match\n\t\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t\t// Look for another line of classes and styles\n\t\tthis.match = this.matchRegExp.exec(this.parser.source);\n\t} while(this.match && this.match.index === this.parser.pos);\n\t// Parse the body\n\tvar tree = this.parser.parseBlocks(reEndString);\n\tfor(var t=0; t<tree.length; t++) {\n\t\tif(classes.length > 0) {\n\t\t\t$tw.utils.addClassToParseTreeNode(tree[t],classes.join(\" \"));\n\t\t}\n\t\tif(styles.length > 0) {\n\t\t\t$tw.utils.addAttributeToParseTreeNode(tree[t],\"style\",styles.join(\"\"));\n\t\t}\n\t}\n\treturn tree;\n};\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/styleblock.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/styleinline.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/styleinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for assigning styles and classes to inline runs. For example:\n\n```\n@@.myClass This is some text with a class@@\n@@background-color:red;This is some text with a background colour@@\n@@width:100px;.myClass This is some text with a class and a width@@\n```\n\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"styleinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /@@((?:[^\\.\\r\\n\\s:]+:[^\\r\\n;]+;)+)?(\\.(?:[^\\r\\n\\s]+)\\s+)?/mg;\n};\n\nexports.parse = function() {\n\tvar reEnd = /@@/g;\n\t// Get the styles and class\n\tvar stylesString = this.match[1],\n\t\tclassString = this.match[2] ? this.match[2].split(\".\").join(\" \") : undefined;\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse the run up to the terminator\n\tvar tree = this.parser.parseInlineRun(reEnd,{eatTerminator: true});\n\t// Return the classed span\n\tvar node = {\n\t\ttype: \"element\",\n\t\ttag: \"span\",\n\t\tattributes: {\n\t\t\t\"class\": {type: \"string\", value: \"tw-inline-style\"}\n\t\t},\n\t\tchildren: tree\n\t};\n\tif(classString) {\n\t\t$tw.utils.addClassToParseTreeNode(node,classString);\n\t}\n\tif(stylesString) {\n\t\t$tw.utils.addAttributeToParseTreeNode(node,\"style\",stylesString);\n\t}\n\treturn [node];\n};\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/styleinline.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/table.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/table.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for tables.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"table\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /^\\|(?:[^\\n]*)\\|(?:[fhck]?)\\r?(?:\\n|$)/mg;\n};\n\nvar processRow = function(prevColumns) {\n\tvar cellRegExp = /(?:\\|([^\\n\\|]*)\\|)|(\\|[fhck]?\\r?(?:\\n|$))/mg,\n\t\tcellTermRegExp = /((?:\\x20*)\\|)/mg,\n\t\ttree = [],\n\t\tcol = 0,\n\t\tcolSpanCount = 1,\n\t\tprevCell;\n\t// Match a single cell\n\tcellRegExp.lastIndex = this.parser.pos;\n\tvar cellMatch = cellRegExp.exec(this.parser.source);\n\twhile(cellMatch && cellMatch.index === this.parser.pos) {\n\t\tif(cellMatch[1] === \"~\") {\n\t\t\t// Rowspan\n\t\t\tvar last = prevColumns[col];\n\t\t\tif(last) {\n\t\t\t\tlast.rowSpanCount++;\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(last.element,\"rowspan\",last.rowSpanCount);\n\t\t\t\tvar vAlign = $tw.utils.getAttributeValueFromParseTreeNode(last.element,\"valign\",\"center\");\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(last.element,\"valign\",vAlign);\n\t\t\t\tif(colSpanCount > 1) {\n\t\t\t\t\t$tw.utils.addAttributeToParseTreeNode(last.element,\"colspan\",colSpanCount);\n\t\t\t\t\tcolSpanCount = 1;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Move to just before the `|` terminating the cell\n\t\t\tthis.parser.pos = cellRegExp.lastIndex - 1;\n\t\t} else if(cellMatch[1] === \">\") {\n\t\t\t// Colspan\n\t\t\tcolSpanCount++;\n\t\t\t// Move to just before the `|` terminating the cell\n\t\t\tthis.parser.pos = cellRegExp.lastIndex - 1;\n\t\t} else if(cellMatch[1] === \"<\" && prevCell) {\n\t\t\tcolSpanCount = 1 + $tw.utils.getAttributeValueFromParseTreeNode(prevCell,\"colspan\",1);\n\t\t\t$tw.utils.addAttributeToParseTreeNode(prevCell,\"colspan\",colSpanCount);\n\t\t\tcolSpanCount = 1;\n\t\t\t// Move to just before the `|` terminating the cell\n\t\t\tthis.parser.pos = cellRegExp.lastIndex - 1;\n\t\t} else if(cellMatch[2]) {\n\t\t\t// End of row\n\t\t\tif(prevCell && colSpanCount > 1) {\n\t\t\t\tif(prevCell.attributes && prevCell.attributes && prevCell.attributes.colspan) {\n\t\t\t\t\t\tcolSpanCount += prevCell.attributes.colspan.value;\n\t\t\t\t} else {\n\t\t\t\t\tcolSpanCount -= 1;\n\t\t\t\t}\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(prevCell,\"colspan\",colSpanCount);\n\t\t\t}\n\t\t\tthis.parser.pos = cellRegExp.lastIndex - 1;\n\t\t\tbreak;\n\t\t} else {\n\t\t\t// For ordinary cells, step beyond the opening `|`\n\t\t\tthis.parser.pos++;\n\t\t\t// Look for a space at the start of the cell\n\t\t\tvar spaceLeft = false,\n\t\t\t\tchr = this.parser.source.substr(this.parser.pos,1);\n\t\t\tvar vAlign = null;\n\t\t\tif(chr === \"^\") {\n\t\t\t\tvAlign = \"top\";\n\t\t\t} else if(chr === \",\") {\n\t\t\t\tvAlign = \"bottom\";\n\t\t\t}\n\t\t\tif(vAlign) {\n\t\t\t\tthis.parser.pos++;\n\t\t\t\tchr = this.parser.source.substr(this.parser.pos,1);\n\t\t\t}\n\t\t\twhile(chr === \" \") {\n\t\t\t\tspaceLeft = true;\n\t\t\t\tthis.parser.pos++;\n\t\t\t\tchr = this.parser.source.substr(this.parser.pos,1);\n\t\t\t}\n\t\t\t// Check whether this is a heading cell\n\t\t\tvar cell;\n\t\t\tif(chr === \"!\") {\n\t\t\t\tthis.parser.pos++;\n\t\t\t\tcell = {type: \"element\", tag: \"th\", children: []};\n\t\t\t} else {\n\t\t\t\tcell = {type: \"element\", tag: \"td\", children: []};\n\t\t\t}\n\t\t\ttree.push(cell);\n\t\t\t// Record information about this cell\n\t\t\tprevCell = cell;\n\t\t\tprevColumns[col] = {rowSpanCount:1,element:cell};\n\t\t\t// Check for a colspan\n\t\t\tif(colSpanCount > 1) {\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(cell,\"colspan\",colSpanCount);\n\t\t\t\tcolSpanCount = 1;\n\t\t\t}\n\t\t\t// Parse the cell\n\t\t\tcell.children = this.parser.parseInlineRun(cellTermRegExp,{eatTerminator: true});\n\t\t\t// Set the alignment for the cell\n\t\t\tif(vAlign) {\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(cell,\"valign\",vAlign);\n\t\t\t}\n\t\t\tif(this.parser.source.substr(this.parser.pos - 2,1) === \" \") { // spaceRight\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(cell,\"align\",spaceLeft ? \"center\" : \"left\");\n\t\t\t} else if(spaceLeft) {\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(cell,\"align\",\"right\");\n\t\t\t}\n\t\t\t// Move back to the closing `|`\n\t\t\tthis.parser.pos--;\n\t\t}\n\t\tcol++;\n\t\tcellRegExp.lastIndex = this.parser.pos;\n\t\tcellMatch = cellRegExp.exec(this.parser.source);\n\t}\n\treturn tree;\n};\n\nexports.parse = function() {\n\tvar rowContainerTypes = {\"c\":\"caption\", \"h\":\"thead\", \"\":\"tbody\", \"f\":\"tfoot\"},\n\t\ttable = {type: \"element\", tag: \"table\", children: []},\n\t\trowRegExp = /^\\|([^\\n]*)\\|([fhck]?)\\r?(?:\\n|$)/mg,\n\t\trowTermRegExp = /(\\|(?:[fhck]?)\\r?(?:\\n|$))/mg,\n\t\tprevColumns = [],\n\t\tcurrRowType,\n\t\trowContainer,\n\t\trowCount = 0;\n\t// Match the row\n\trowRegExp.lastIndex = this.parser.pos;\n\tvar rowMatch = rowRegExp.exec(this.parser.source);\n\twhile(rowMatch && rowMatch.index === this.parser.pos) {\n\t\tvar rowType = rowMatch[2];\n\t\t// Check if it is a class assignment\n\t\tif(rowType === \"k\") {\n\t\t\t$tw.utils.addClassToParseTreeNode(table,rowMatch[1]);\n\t\t\tthis.parser.pos = rowMatch.index + rowMatch[0].length;\n\t\t} else {\n\t\t\t// Otherwise, create a new row if this one is of a different type\n\t\t\tif(rowType !== currRowType) {\n\t\t\t\trowContainer = {type: \"element\", tag: rowContainerTypes[rowType], children: []};\n\t\t\t\ttable.children.push(rowContainer);\n\t\t\t\tcurrRowType = rowType;\n\t\t\t}\n\t\t\t// Is this a caption row?\n\t\t\tif(currRowType === \"c\") {\n\t\t\t\t// If so, move past the opening `|` of the row\n\t\t\t\tthis.parser.pos++;\n\t\t\t\t// Move the caption to the first row if it isn't already\n\t\t\t\tif(table.children.length !== 1) {\n\t\t\t\t\ttable.children.pop(); // Take rowContainer out of the children array\n\t\t\t\t\ttable.children.splice(0,0,rowContainer); // Insert it at the bottom\t\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t// Set the alignment - TODO: figure out why TW did this\n//\t\t\t\trowContainer.attributes.align = rowCount === 0 ? \"top\" : \"bottom\";\n\t\t\t\t// Parse the caption\n\t\t\t\trowContainer.children = this.parser.parseInlineRun(rowTermRegExp,{eatTerminator: true});\n\t\t\t} else {\n\t\t\t\t// Create the row\n\t\t\t\tvar theRow = {type: \"element\", tag: \"tr\", children: []};\n\t\t\t\t$tw.utils.addClassToParseTreeNode(theRow,rowCount%2 ? \"oddRow\" : \"evenRow\");\n\t\t\t\trowContainer.children.push(theRow);\n\t\t\t\t// Process the row\n\t\t\t\ttheRow.children = processRow.call(this,prevColumns);\n\t\t\t\tthis.parser.pos = rowMatch.index + rowMatch[0].length;\n\t\t\t\t// Increment the row count\n\t\t\t\trowCount++;\n\t\t\t}\n\t\t}\n\t\trowMatch = rowRegExp.exec(this.parser.source);\n\t}\n\treturn [table];\n};\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/table.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/transcludeblock.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/transcludeblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for block-level transclusion. For example:\n\n```\n{{MyTiddler}}\n{{MyTiddler||TemplateTitle}}\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"transcludeblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\{\\{([^\\{\\}\\|]+)(?:\\|\\|([^\\|\\{\\}]+))?\\}\\}(?:\\r?\\n|$)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Get the match details\n\tvar textRef = $tw.utils.trim(this.match[1]),\n\t\ttr = $tw.utils.parseTextReference(textRef),\n\t\ttargetTitle = tr.title,\n\t\ttargetField = tr.field,\n\t\ttargetIndex = tr.index,\n\t\ttemplate = $tw.utils.trim(this.match[2]);\n\t// Prepare the transclude widget\n\tvar transcludeNode = {\n\t\t\ttype: \"element\",\n\t\t\ttag: \"$transclude\",\n\t\t\tattributes: {},\n\t\t\tisBlock: true\n\t\t};\n\tvar tiddlerNode = {\n\t\ttype: \"element\",\n\t\ttag: \"$tiddler\",\n\t\tattributes: {\n\t\t\ttiddler: {type: \"string\", value: targetTitle}\n\t\t},\n\t\tisBlock: true,\n\t\tchildren: [transcludeNode]\n\t};\n\tif(template) {\n\t\ttranscludeNode.attributes.tiddler = {type: \"string\", value: template};\n\t} else {\n\t\ttranscludeNode.attributes.tiddler = {type: \"string\", value: targetTitle};\n\t\tif(targetField) {\n\t\t\ttranscludeNode.attributes.field = {type: \"string\", value: targetField};\n\t\t}\n\t\tif(targetIndex) {\n\t\t\ttranscludeNode.attributes.index = {type: \"string\", value: targetIndex};\n\t\t}\n\t}\n\treturn [tiddlerNode];\n};\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/transcludeblock.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/transcludeinline.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/transcludeinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for inline-level transclusion. For example:\n\n```\n{{MyTiddler}}\n{{MyTiddler||TemplateTitle}}\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"transcludeinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\{\\{([^\\{\\}\\|]+)(?:\\|\\|([^\\|\\{\\}]+))?\\}\\}/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Get the match details\n\tvar textRef = $tw.utils.trim(this.match[1]),\n\t\ttr = $tw.utils.parseTextReference(textRef),\n\t\ttargetTitle = tr.title,\n\t\ttargetField = tr.field,\n\t\ttargetIndex = tr.index,\n\t\ttemplate = $tw.utils.trim(this.match[2]);\n\t// Prepare the transclude widget\n\tvar transcludeNode = {\n\t\t\ttype: \"element\",\n\t\t\ttag: \"$transclude\",\n\t\t\tattributes: {}\n\t\t};\n\tvar tiddlerNode = {\n\t\ttype: \"element\",\n\t\ttag: \"$tiddler\",\n\t\tattributes: {\n\t\t\ttiddler: {type: \"string\", value: targetTitle}\n\t\t},\n\t\tchildren: [transcludeNode]\n\t};\n\tif(template) {\n\t\ttranscludeNode.attributes.tiddler = {type: \"string\", value: template};\n\t} else {\n\t\ttranscludeNode.attributes.tiddler = {type: \"string\", value: targetTitle};\n\t\tif(targetField) {\n\t\t\ttranscludeNode.attributes.field = {type: \"string\", value: targetField};\n\t\t}\n\t\tif(targetIndex) {\n\t\t\ttranscludeNode.attributes.index = {type: \"string\", value: targetIndex};\n\t\t}\n\t}\n\treturn [tiddlerNode];\n};\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/transcludeinline.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/typedblock.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/typedblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for typed blocks. For example:\n\n```\n$$$.js\nThis will be rendered as JavaScript\n$$$\n\n$$$.svg\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"150\" height=\"100\">\n  <circle cx=\"100\" cy=\"50\" r=\"40\" stroke=\"black\" stroke-width=\"2\" fill=\"red\" />\n</svg>\n$$$\n\n$$$text/vnd.tiddlywiki>text/html\nThis will be rendered as an //HTML representation// of WikiText\n$$$\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.name = \"typedblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\$\\$\\$([^ >\\r\\n]*)(?: *> *([^ \\r\\n]+))?\\r?\\n/mg;\n};\n\nexports.parse = function() {\n\tvar reEnd = /\\r?\\n\\$\\$\\$\\r?(?:\\n|$)/mg;\n\t// Save the type\n\tvar parseType = this.match[1],\n\t\trenderType = this.match[2];\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Look for the end of the block\n\treEnd.lastIndex = this.parser.pos;\n\tvar match = reEnd.exec(this.parser.source),\n\t\ttext;\n\t// Process the block\n\tif(match) {\n\t\ttext = this.parser.source.substring(this.parser.pos,match.index);\n\t\tthis.parser.pos = match.index + match[0].length;\n\t} else {\n\t\ttext = this.parser.source.substr(this.parser.pos);\n\t\tthis.parser.pos = this.parser.sourceLength;\n\t}\n\t// Parse the block according to the specified type\n\tvar parser = this.parser.wiki.parseText(parseType,text,{defaultType: \"text/plain\"});\n\t// If there's no render type, just return the parse tree\n\tif(!renderType) {\n\t\treturn parser.tree;\n\t} else {\n\t\t// Otherwise, render to the rendertype and return in a <PRE> tag\n\t\tvar widgetNode = this.parser.wiki.makeWidget(parser),\n\t\t\tcontainer = $tw.document.createElement(\"div\");\n\t\twidgetNode.render(container,null);\n\t\tvar text = renderType === \"text/html\" ? container.innerHTML : container.textContent;\n\t\treturn [{\n\t\t\ttype: \"element\",\n\t\t\ttag: \"pre\",\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\",\n\t\t\t\ttext: text\n\t\t\t}]\n\t\t}];\n\t}\n};\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/typedblock.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/wikilink.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/wikilink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for wiki links. For example:\n\n```\nAWikiLink\nAnotherLink\n~SuppressedLink\n```\n\nPrecede a camel case word with `~` to prevent it from being recognised as a link.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"wikilink\";\nexports.types = {inline: true};\n\nvar textPrimitives = {\n\tupperLetter: \"[A-Z\\u00c0-\\u00de\\u0150\\u0170]\",\n\tlowerLetter: \"[a-z0-9_\\\\-\\u00df-\\u00ff\\u0151\\u0171]\",\n\tanyLetter:   \"[A-Za-z0-9_\\\\-\\u00c0-\\u00de\\u00df-\\u00ff\\u0150\\u0170\\u0151\\u0171]\",\n\tanyLetterStrict: \"[A-Za-z0-9\\u00c0-\\u00de\\u00df-\\u00ff\\u0150\\u0170\\u0151\\u0171]\"\n};\n\ntextPrimitives.unWikiLink = \"~\";\ntextPrimitives.wikiLink = textPrimitives.upperLetter + \"+\" +\n\ttextPrimitives.lowerLetter + \"+\" +\n\ttextPrimitives.upperLetter +\n\ttextPrimitives.anyLetter + \"*\";\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = new RegExp(textPrimitives.unWikiLink + \"?\" + textPrimitives.wikiLink,\"mg\");\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get the details of the match\n\tvar linkText = this.match[0];\n\t// Move past the macro call\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// If the link starts with the unwikilink character then just output it as plain text\n\tif(linkText.substr(0,1) === textPrimitives.unWikiLink) {\n\t\treturn [{type: \"text\", text: linkText.substr(1)}];\n\t}\n\t// If the link has been preceded with a letter then don't treat it as a link\n\tif(this.match.index > 0) {\n\t\tvar preRegExp = new RegExp(textPrimitives.anyLetterStrict,\"mg\");\n\t\tpreRegExp.lastIndex = this.match.index-1;\n\t\tvar preMatch = preRegExp.exec(this.parser.source);\n\t\tif(preMatch && preMatch.index === this.match.index-1) {\n\t\t\treturn [{type: \"text\", text: linkText}];\n\t\t}\n\t}\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"$link\",\n\t\tattributes: {\n\t\t\tto: {type: \"string\", value: linkText}\n\t\t},\n\t\tchildren: [{\n\t\t\ttype: \"text\",\n\t\t\ttext: linkText\n\t\t}]\n\t}];\n};\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/wikilink.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/wikiparser.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/wikiparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe wiki text parser processes blocks of source text into a parse tree.\n\nThe parse tree is made up of nested arrays of these JavaScript objects:\n\n\t{type: \"element\", tag: <string>, attributes: {}, children: []} - an HTML element\n\t{type: \"text\", text: <string>} - a text node\n\t{type: \"entity\", value: <string>} - an entity\n\t{type: \"raw\", html: <string>} - raw HTML\n\nAttributes are stored as hashmaps of the following objects:\n\n\t{type: \"string\", value: <string>} - literal string\n\t{type: \"indirect\", textReference: <textReference>} - indirect through a text reference\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar WikiParser = function(type,text,options) {\n\tthis.wiki = options.wiki;\n\t// Initialise the classes if we don't have them already\n\tif(!this.pragmaRuleClasses) {\n\t\tWikiParser.prototype.pragmaRuleClasses = $tw.modules.createClassesFromModules(\"wikirule\",\"pragma\",$tw.WikiRuleBase);\n\t}\n\tif(!this.blockRuleClasses) {\n\t\tWikiParser.prototype.blockRuleClasses = $tw.modules.createClassesFromModules(\"wikirule\",\"block\",$tw.WikiRuleBase);\n\t}\n\tif(!this.inlineRuleClasses) {\n\t\tWikiParser.prototype.inlineRuleClasses = $tw.modules.createClassesFromModules(\"wikirule\",\"inline\",$tw.WikiRuleBase);\n\t}\n\t// Save the parse text\n\tthis.type = type || \"text/vnd.tiddlywiki\";\n\tthis.source = text || \"\";\n\tthis.sourceLength = this.source.length;\n\t// Set current parse position\n\tthis.pos = 0;\n\t// Instantiate the pragma parse rules\n\tthis.pragmaRules = this.instantiateRules(this.pragmaRuleClasses,\"pragma\",0);\n\t// Instantiate the parser block and inline rules\n\tthis.blockRules = this.instantiateRules(this.blockRuleClasses,\"block\",0);\n\tthis.inlineRules = this.instantiateRules(this.inlineRuleClasses,\"inline\",0);\n\t// Parse any pragmas\n\tthis.tree = this.parsePragmas();\n\t// Parse the text into inline runs or blocks\n\tif(options.parseAsInline) {\n\t\tthis.tree.push.apply(this.tree,this.parseInlineRun());\n\t} else {\n\t\tthis.tree.push.apply(this.tree,this.parseBlocks());\n\t}\n\t// Return the parse tree\n};\n\n/*\nInstantiate an array of parse rules\n*/\nWikiParser.prototype.instantiateRules = function(classes,type,startPos) {\n\tvar rulesInfo = [],\n\t\tself = this;\n\t$tw.utils.each(classes,function(RuleClass) {\n\t\t// Instantiate the rule\n\t\tvar rule = new RuleClass(self);\n\t\trule.is = {};\n\t\trule.is[type] = true;\n\t\trule.init(self);\n\t\tvar matchIndex = rule.findNextMatch(startPos);\n\t\tif(matchIndex !== undefined) {\n\t\t\trulesInfo.push({\n\t\t\t\trule: rule,\n\t\t\t\tmatchIndex: matchIndex\n\t\t\t});\n\t\t}\n\t});\n\treturn rulesInfo;\n};\n\n/*\nSkip any whitespace at the current position. Options are:\n\ttreatNewlinesAsNonWhitespace: true if newlines are NOT to be treated as whitespace\n*/\nWikiParser.prototype.skipWhitespace = function(options) {\n\toptions = options || {};\n\tvar whitespaceRegExp = options.treatNewlinesAsNonWhitespace ? /([^\\S\\n]+)/mg : /(\\s+)/mg;\n\twhitespaceRegExp.lastIndex = this.pos;\n\tvar whitespaceMatch = whitespaceRegExp.exec(this.source);\n\tif(whitespaceMatch && whitespaceMatch.index === this.pos) {\n\t\tthis.pos = whitespaceRegExp.lastIndex;\n\t}\n};\n\n/*\nGet the next match out of an array of parse rule instances\n*/\nWikiParser.prototype.findNextMatch = function(rules,startPos) {\n\t// Find the best matching rule by finding the closest match position\n\tvar matchingRule = undefined,\n\t\tmatchingRulePos = this.sourceLength;\n\t// Step through each rule\n\tfor(var t=0; t<rules.length; t++) {\n\t\tvar ruleInfo = rules[t];\n\t\t// Ask the rule to get the next match if we've moved past the current one\n\t\tif(ruleInfo.matchIndex !== undefined  && ruleInfo.matchIndex < startPos) {\n\t\t\truleInfo.matchIndex = ruleInfo.rule.findNextMatch(startPos);\n\t\t}\n\t\t// Adopt this match if it's closer than the current best match\n\t\tif(ruleInfo.matchIndex !== undefined && ruleInfo.matchIndex <= matchingRulePos) {\n\t\t\tmatchingRule = ruleInfo;\n\t\t\tmatchingRulePos = ruleInfo.matchIndex;\n\t\t}\n\t}\n\treturn matchingRule;\n};\n\n/*\nParse any pragmas at the beginning of a block of parse text\n*/\nWikiParser.prototype.parsePragmas = function() {\n\tvar tree = [];\n\twhile(true) {\n\t\t// Skip whitespace\n\t\tthis.skipWhitespace();\n\t\t// Check for the end of the text\n\t\tif(this.pos >= this.sourceLength) {\n\t\t\tbreak;\n\t\t}\n\t\t// Check if we've arrived at a pragma rule match\n\t\tvar nextMatch = this.findNextMatch(this.pragmaRules,this.pos);\n\t\t// If not, just exit\n\t\tif(!nextMatch || nextMatch.matchIndex !== this.pos) {\n\t\t\tbreak;\n\t\t}\n\t\t// Process the pragma rule\n\t\ttree.push.apply(tree,nextMatch.rule.parse());\n\t}\n\treturn tree;\n};\n\n/*\nParse a block from the current position\n\tterminatorRegExpString: optional regular expression string that identifies the end of plain paragraphs. Must not include capturing parenthesis\n*/\nWikiParser.prototype.parseBlock = function(terminatorRegExpString) {\n\tvar terminatorRegExp = terminatorRegExpString ? new RegExp(\"(\" + terminatorRegExpString + \"|\\\\r?\\\\n\\\\r?\\\\n)\",\"mg\") : /(\\r?\\n\\r?\\n)/mg;\n\tthis.skipWhitespace();\n\tif(this.pos >= this.sourceLength) {\n\t\treturn [];\n\t}\n\t// Look for a block rule that applies at the current position\n\tvar nextMatch = this.findNextMatch(this.blockRules,this.pos);\n\tif(nextMatch && nextMatch.matchIndex === this.pos) {\n\t\treturn nextMatch.rule.parse();\n\t}\n\t// Treat it as a paragraph if we didn't find a block rule\n\treturn [{type: \"element\", tag: \"p\", children: this.parseInlineRun(terminatorRegExp)}];\n};\n\n/*\nParse a series of blocks of text until a terminating regexp is encountered or the end of the text\n\tterminatorRegExpString: terminating regular expression\n*/\nWikiParser.prototype.parseBlocks = function(terminatorRegExpString) {\n\tif(terminatorRegExpString) {\n\t\treturn this.parseBlocksTerminated(terminatorRegExpString);\n\t} else {\n\t\treturn this.parseBlocksUnterminated();\n\t}\n};\n\n/*\nParse a block from the current position to the end of the text\n*/\nWikiParser.prototype.parseBlocksUnterminated = function() {\n\tvar tree = [];\n\twhile(this.pos < this.sourceLength) {\n\t\ttree.push.apply(tree,this.parseBlock());\n\t}\n\treturn tree;\n};\n\n/*\nParse blocks of text until a terminating regexp is encountered\n*/\nWikiParser.prototype.parseBlocksTerminated = function(terminatorRegExpString) {\n\tvar terminatorRegExp = new RegExp(\"(\" + terminatorRegExpString + \")\",\"mg\"),\n\t\ttree = [];\n\t// Skip any whitespace\n\tthis.skipWhitespace();\n\t//  Check if we've got the end marker\n\tterminatorRegExp.lastIndex = this.pos;\n\tvar match = terminatorRegExp.exec(this.source);\n\t// Parse the text into blocks\n\twhile(this.pos < this.sourceLength && !(match && match.index === this.pos)) {\n\t\tvar blocks = this.parseBlock(terminatorRegExpString);\n\t\ttree.push.apply(tree,blocks);\n\t\t// Skip any whitespace\n\t\tthis.skipWhitespace();\n\t\t//  Check if we've got the end marker\n\t\tterminatorRegExp.lastIndex = this.pos;\n\t\tmatch = terminatorRegExp.exec(this.source);\n\t}\n\tif(match && match.index === this.pos) {\n\t\tthis.pos = match.index + match[0].length;\n\t}\n\treturn tree;\n};\n\n/*\nParse a run of text at the current position\n\tterminatorRegExp: a regexp at which to stop the run\n\toptions: see below\nOptions available:\n\teatTerminator: move the parse position past any encountered terminator (default false)\n*/\nWikiParser.prototype.parseInlineRun = function(terminatorRegExp,options) {\n\tif(terminatorRegExp) {\n\t\treturn this.parseInlineRunTerminated(terminatorRegExp,options);\n\t} else {\n\t\treturn this.parseInlineRunUnterminated(options);\n\t}\n};\n\nWikiParser.prototype.parseInlineRunUnterminated = function(options) {\n\tvar tree = [];\n\t// Find the next occurrence of an inline rule\n\tvar nextMatch = this.findNextMatch(this.inlineRules,this.pos);\n\t// Loop around the matches until we've reached the end of the text\n\twhile(this.pos < this.sourceLength && nextMatch) {\n\t\t// Process the text preceding the run rule\n\t\tif(nextMatch.matchIndex > this.pos) {\n\t\t\ttree.push({type: \"text\", text: this.source.substring(this.pos,nextMatch.matchIndex)});\n\t\t\tthis.pos = nextMatch.matchIndex;\n\t\t}\n\t\t// Process the run rule\n\t\ttree.push.apply(tree,nextMatch.rule.parse());\n\t\t// Look for the next run rule\n\t\tnextMatch = this.findNextMatch(this.inlineRules,this.pos);\n\t}\n\t// Process the remaining text\n\tif(this.pos < this.sourceLength) {\n\t\ttree.push({type: \"text\", text: this.source.substr(this.pos)});\n\t}\n\tthis.pos = this.sourceLength;\n\treturn tree;\n};\n\nWikiParser.prototype.parseInlineRunTerminated = function(terminatorRegExp,options) {\n\toptions = options || {};\n\tvar tree = [];\n\t// Find the next occurrence of the terminator\n\tterminatorRegExp.lastIndex = this.pos;\n\tvar terminatorMatch = terminatorRegExp.exec(this.source);\n\t// Find the next occurrence of a inlinerule\n\tvar inlineRuleMatch = this.findNextMatch(this.inlineRules,this.pos);\n\t// Loop around until we've reached the end of the text\n\twhile(this.pos < this.sourceLength && (terminatorMatch || inlineRuleMatch)) {\n\t\t// Return if we've found the terminator, and it precedes any inline rule match\n\t\tif(terminatorMatch) {\n\t\t\tif(!inlineRuleMatch || inlineRuleMatch.matchIndex >= terminatorMatch.index) {\n\t\t\t\tif(terminatorMatch.index > this.pos) {\n\t\t\t\t\ttree.push({type: \"text\", text: this.source.substring(this.pos,terminatorMatch.index)});\n\t\t\t\t}\n\t\t\t\tthis.pos = terminatorMatch.index;\n\t\t\t\tif(options.eatTerminator) {\n\t\t\t\t\tthis.pos += terminatorMatch[0].length;\n\t\t\t\t}\n\t\t\t\treturn tree;\n\t\t\t}\n\t\t}\n\t\t// Process any inline rule, along with the text preceding it\n\t\tif(inlineRuleMatch) {\n\t\t\t// Preceding text\n\t\t\tif(inlineRuleMatch.matchIndex > this.pos) {\n\t\t\t\ttree.push({type: \"text\", text: this.source.substring(this.pos,inlineRuleMatch.matchIndex)});\n\t\t\t\tthis.pos = inlineRuleMatch.matchIndex;\n\t\t\t}\n\t\t\t// Process the inline rule\n\t\t\ttree.push.apply(tree,inlineRuleMatch.rule.parse());\n\t\t\t// Look for the next inline rule\n\t\t\tinlineRuleMatch = this.findNextMatch(this.inlineRules,this.pos);\n\t\t\t// Look for the next terminator match\n\t\t\tterminatorRegExp.lastIndex = this.pos;\n\t\t\tterminatorMatch = terminatorRegExp.exec(this.source);\n\t\t}\n\t}\n\t// Process the remaining text\n\tif(this.pos < this.sourceLength) {\n\t\ttree.push({type: \"text\", text: this.source.substr(this.pos)});\n\t}\n\tthis.pos = this.sourceLength;\n\treturn tree;\n};\n\n/*\nParse zero or more class specifiers `.classname`\n*/\nWikiParser.prototype.parseClasses = function() {\n\tvar classRegExp = /\\.([^\\s\\.]+)/mg,\n\t\tclassNames = [];\n\tclassRegExp.lastIndex = this.pos;\n\tvar match = classRegExp.exec(this.source);\n\twhile(match && match.index === this.pos) {\n\t\tthis.pos = match.index + match[0].length;\n\t\tclassNames.push(match[1]);\n\t\tvar match = classRegExp.exec(this.source);\n\t}\n\treturn classNames;\n};\n\n/*\nAmend the rules used by this instance of the parser\n\ttype: `only` keeps just the named rules, `except` keeps all but the named rules\n\tnames: array of rule names\n*/\nWikiParser.prototype.amendRules = function(type,names) {\n\tnames = names || [];\n\t// Define the filter function\n\tvar keepFilter;\n\tif(type === \"only\") {\n\t\tkeepFilter = function(name) {\n\t\t\treturn names.indexOf(name) !== -1;\n\t\t};\n\t} else if(type === \"except\") {\n\t\tkeepFilter = function(name) {\n\t\t\treturn names.indexOf(name) === -1;\n\t\t};\n\t} else {\n\t\treturn;\n\t}\n\t// Define a function to process each of our rule arrays\n\tvar processRuleArray = function(ruleArray) {\n\t\tfor(var t=ruleArray.length-1; t>=0; t--) {\n\t\t\tif(!keepFilter(ruleArray[t].rule.name)) {\n\t\t\t\truleArray.splice(t,1);\n\t\t\t}\n\t\t}\n\t};\n\t// Process each rule array\n\tprocessRuleArray(this.pragmaRules);\n\tprocessRuleArray(this.blockRules);\n\tprocessRuleArray(this.inlineRules);\n}\n\nexports[\"text/vnd.tiddlywiki\"] = WikiParser;\n\n})();\n\n",
            "title": "$:/core/modules/parsers/wikiparser/wikiparser.js",
            "type": "application/javascript",
            "module-type": "parser"
        },
        "$:/core/modules/parsers/wikiparser/rules/wikirulebase.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/wikirulebase.js\ntype: application/javascript\nmodule-type: global\n\nBase class for wiki parser rules\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nThis constructor is always overridden with a blank constructor, and so shouldn't be used\n*/\nvar WikiRuleBase = function() {\n};\n\n/*\nTo be overridden by individual rules\n*/\nWikiRuleBase.prototype.init = function(parser) {\n\tthis.parser = parser;\n};\n\n/*\nDefault implementation of findNextMatch uses RegExp matching\n*/\nWikiRuleBase.prototype.findNextMatch = function(startPos) {\n\tthis.matchRegExp.lastIndex = startPos;\n\tthis.match = this.matchRegExp.exec(this.parser.source);\n\treturn this.match ? this.match.index : undefined;\n};\n\nexports.WikiRuleBase = WikiRuleBase;\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/wikirulebase.js",
            "type": "application/javascript",
            "module-type": "global"
        },
        "$:/core/modules/savers/andtidwiki.js": {
            "text": "/*\\\ntitle: $:/core/modules/savers/andtidwiki.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via the AndTidWiki Android app\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false, netscape: false, Components: false */\n\"use strict\";\n\nvar AndTidWiki = function(wiki) {\n};\n\nAndTidWiki.prototype.save = function(text,method,callback) {\n\t// Bail out unless this is a save (rather than a download)\n\tif(method !== \"save\") {\n\t\treturn false;\n\t}\n\t// Get the pathname of this document\n\tvar pathname = decodeURIComponent(document.location.toString());\n\t// Strip the file://\n\tif(pathname.indexOf(\"file://\") === 0) {\n\t\tpathname = pathname.substr(7);\n\t}\n\t// Strip any query or location part\n\tvar p = pathname.indexOf(\"?\");\n\tif(p !== -1) {\n\t\tpathname = pathname.substr(0,p);\n\t}\n\tp = pathname.indexOf(\"#\");\n\tif(p !== -1) {\n\t\tpathname = pathname.substr(0,p);\n\t}\n\t// Save the file\n\twindow.twi.saveFile(pathname,text)\n\t// Call the callback\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nAndTidWiki.prototype.info = {\n\tname: \"andtidwiki\",\n\tpriority: 1600\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn !!window.twi && !!window.twi.saveFile;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new AndTidWiki(wiki);\n};\n\n})();\n",
            "title": "$:/core/modules/savers/andtidwiki.js",
            "type": "application/javascript",
            "module-type": "saver"
        },
        "$:/core/modules/savers/download.js": {
            "text": "/*\\\ntitle: $:/core/modules/savers/download.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via HTML5's download APIs\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar DownloadSaver = function(wiki) {\n};\n\nDownloadSaver.prototype.save = function(text,method,callback) {\n\t// Get the current filename\n\tvar filename = \"tiddlywiki.html\",\n\t\tp = document.location.pathname.lastIndexOf(\"/\");\n\tif(p !== -1) {\n\t\tfilename = document.location.pathname.substr(p+1);\n\t}\n\t// Set up the link\n\tvar link = document.createElement(\"a\");\n\tlink.setAttribute(\"target\",\"_blank\");\n\tif(Blob !== undefined) {\n\t\tvar blob = new Blob([text], {type: \"text/html\"});\n\t\tlink.setAttribute(\"href\", URL.createObjectURL(blob));\n\t} else {\n\t\tlink.setAttribute(\"href\",\"data:text/html,\" + encodeURIComponent(text));\n\t}\n\tlink.setAttribute(\"download\",filename);\n\tdocument.body.appendChild(link);\n\tlink.click();\n\tdocument.body.removeChild(link);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nDownloadSaver.prototype.info = {\n\tname: \"download\",\n\tpriority: 100\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn document.createElement(\"a\").download !== undefined;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new DownloadSaver(wiki);\n};\n\n})();\n",
            "title": "$:/core/modules/savers/download.js",
            "type": "application/javascript",
            "module-type": "saver"
        },
        "$:/core/modules/savers/fsosaver.js": {
            "text": "/*\\\ntitle: $:/core/modules/savers/fsosaver.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via MS FileSystemObject ActiveXObject\n\nNote: Since TiddlyWiki's markup contains the MOTW, the FileSystemObject normally won't be available. \nHowever, if the wiki is loaded as an .HTA file (Windows HTML Applications) then the FSO can be used.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar FSOSaver = function(wiki) {\n};\n\nFSOSaver.prototype.save = function(text,method,callback) {\n\t// Bail out unless this is a save (rather than a download)\n\tif(method !== \"save\") {\n\t\treturn false;\n\t}\n\t// Get the pathname of this document\n\tvar pathname = unescape(document.location.pathname);\n\t// Test for a Windows path of the form /x:\\blah...\n\tif(/^\\/[A-Z]\\:\\\\[^\\\\]+/i.test(pathname)) {\t// ie: ^/[a-z]:/[^/]+\n\t\t// Remove the leading slash\n\t\tpathname = pathname.substr(1);\n\t} else if(document.location.hostname !== \"\" && /^\\/\\\\[^\\\\]+\\\\[^\\\\]+/i.test(pathname)) {\t// test for \\\\server\\share\\blah... - ^/[^/]+/[^/]+\n\t\t// Remove the leading slash\n\t\tpathname = pathname.substr(1);\n\t\t// reconstruct UNC path\n\t\tpathname = \"\\\\\\\\\" + document.location.hostname + pathname;\n\t} else return false;\n\t\n\t// Save the file (as UTF-16)\n\tvar fso = new ActiveXObject(\"Scripting.FileSystemObject\");\n\tvar file = fso.OpenTextFile(pathname,2,-1,-1);\n\t\n\tfile.Write(text);\n\tfile.Close();\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nFSOSaver.prototype.info = {\n\tname: \"FSOSaver\",\n\tpriority: 120\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\ttry {\n\t\treturn (window.location.protocol === \"file:\") && !!(new ActiveXObject(\"Scripting.FileSystemObject\"));\n\t} catch(e) { return false; }\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new FSOSaver(wiki);\n};\n\n})();\n",
            "title": "$:/core/modules/savers/fsosaver.js",
            "type": "application/javascript",
            "module-type": "saver"
        },
        "$:/core/modules/savers/manualdownload.js": {
            "text": "/*\\\ntitle: $:/core/modules/savers/manualdownload.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via HTML5's download APIs\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Title of the tiddler containing the download message\nvar downloadInstructionsTitle = \"$:/messages/Download\"\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar ManualDownloadSaver = function(wiki) {\n};\n\nManualDownloadSaver.prototype.save = function(text,method,callback) {\n\t$tw.modal.display(downloadInstructionsTitle,{\n\t\tdownloadLink: \"data:text/html,\" + encodeURIComponent(text)\n\t});\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nManualDownloadSaver.prototype.info = {\n\tname: \"manualdownload\",\n\tpriority: 0\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new ManualDownloadSaver(wiki);\n};\n\n})();\n",
            "title": "$:/core/modules/savers/manualdownload.js",
            "type": "application/javascript",
            "module-type": "saver"
        },
        "$:/core/modules/savers/msdownload.js": {
            "text": "/*\\\ntitle: $:/core/modules/savers/msdownload.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via window.navigator.msSaveBlob()\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar MsDownloadSaver = function(wiki) {\n};\n\nMsDownloadSaver.prototype.save = function(text,method,callback) {\n\t// Get the current filename\n\tvar filename = \"tiddlywiki.html\",\n\t\tp = document.location.pathname.lastIndexOf(\"/\");\n\tif(p !== -1) {\n\t\tfilename = document.location.pathname.substr(p+1);\n\t}\n\t// Set up the link\n\tvar blob = new Blob([text], {type: \"text/html\"});\n\twindow.navigator.msSaveBlob(blob,filename);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nMsDownloadSaver.prototype.info = {\n\tname: \"msdownload\",\n\tpriority: 110\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn !!window.navigator.msSaveBlob;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new MsDownloadSaver(wiki);\n};\n\n})();\n",
            "title": "$:/core/modules/savers/msdownload.js",
            "type": "application/javascript",
            "module-type": "saver"
        },
        "$:/core/modules/savers/nodewebkit.js": {
            "text": "/*\\\ntitle: $:/core/modules/savers/nodewebkit.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes in the node-webkit environment\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false, netscape: false, Components: false */\n\"use strict\";\n\nvar NodeWebKitSaver = function(wiki) {\n};\n\nNodeWebKitSaver.prototype.save = function(text,method,callback) {\n\t// Bail out unless this is a save (rather than a download)\n\tif(method !== \"save\") {\n\t\treturn false;\n\t}\n\t// Get the pathname of this document\n\tvar pathname = document.location.pathname;\n\t// Test for a Windows path of the form /x:/blah/blah\n\tif(/^\\/[A-Z]\\:\\//i.test(pathname)) {\n\t\t// Remove the leading slash\n\t\tpathname = pathname.substr(1);\n\t\t// Convert slashes to backslashes\n\t\tpathname = pathname.replace(/\\//g,\"\\\\\");\n\t}\n\t// Try to save\n\tvar fs = require(\"fs\");\n\tfs.writeFile(pathname,text,callback);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nNodeWebKitSaver.prototype.info = {\n\tname: \"nodewebkit\",\n\tpriority: 1700\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\t// Check if we're running under node-webkit\n\treturn (typeof process == \"object\")\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new NodeWebKitSaver(wiki);\n};\n\n})();\n",
            "title": "$:/core/modules/savers/nodewebkit.js",
            "type": "application/javascript",
            "module-type": "saver"
        },
        "$:/core/modules/savers/tiddlyfox.js": {
            "text": "/*\\\ntitle: $:/core/modules/savers/tiddlyfox.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via the TiddlyFox file extension\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false, netscape: false, Components: false */\n\"use strict\";\n\nvar TiddlyFoxSaver = function(wiki) {\n};\n\nTiddlyFoxSaver.prototype.save = function(text,method,callback) {\n\t// Bail out unless this is a save (rather than a download)\n\tif(method !== \"save\") {\n\t\treturn false;\n\t}\n\tvar messageBox = document.getElementById(\"tiddlyfox-message-box\");\n\tif(messageBox) {\n\t\t// Get the pathname of this document\n\t\tvar pathname = document.location.pathname;\n\t\t// Test for a Windows path of the form /x:/blah/blah\n\t\tif(/^\\/[A-Z]\\:\\//i.test(pathname)) {\n\t\t\t// Remove the leading slash\n\t\t\tpathname = pathname.substr(1);\n\t\t\t// Convert slashes to backslashes\n\t\t\tpathname = pathname.replace(/\\//g,\"\\\\\");\n\t\t}\n\t\t// Create the message element and put it in the message box\n\t\tvar message = document.createElement(\"div\");\n\t\tmessage.setAttribute(\"data-tiddlyfox-path\",decodeURIComponent(pathname));\n\t\tmessage.setAttribute(\"data-tiddlyfox-content\",text);\n\t\tmessageBox.appendChild(message);\n\t\t// Add an event handler for when the file has been saved\n\t\tmessage.addEventListener(\"tiddlyfox-have-saved-file\",function(event) {\n\t\t\tcallback(null);\n\t\t}, false);\n\t\t// Create and dispatch the custom event to the extension\n\t\tvar event = document.createEvent(\"Events\");\n\t\tevent.initEvent(\"tiddlyfox-save-file\",true,false);\n\t\tmessage.dispatchEvent(event);\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\n/*\nInformation about this saver\n*/\nTiddlyFoxSaver.prototype.info = {\n\tname: \"tiddlyfox\",\n\tpriority: 1500\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn (window.location.protocol === \"file:\");\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new TiddlyFoxSaver(wiki);\n};\n\n})();\n",
            "title": "$:/core/modules/savers/tiddlyfox.js",
            "type": "application/javascript",
            "module-type": "saver"
        },
        "$:/core/modules/savers/tiddlyie.js": {
            "text": "/*\\\ntitle: $:/core/modules/savers/tiddlyie.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via Internet Explorer BHO extenion (TiddlyIE)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar TiddlyIESaver = function(wiki) {\n};\n\nTiddlyIESaver.prototype.save = function(text,method,callback) {\n\t// Bail out unless this is a save (rather than a download)\n\tif(method !== \"save\") {\n\t\treturn false;\n\t}\n\t// check existence of TiddlyIE BHO extension (note: only works after document is complete)\n\tif(typeof(window.TiddlyIE) != \"undefined\") {\n\t\t// Get the pathname of this document\n\t\tvar pathname = unescape(document.location.pathname);\n\t\t// Test for a Windows path of the form /x:/blah...\n\t\tif(/^\\/[A-Z]\\:\\/[^\\/]+/i.test(pathname)) {\t// ie: ^/[a-z]:/[^/]+ (is this better?: ^/[a-z]:/[^/]+(/[^/]+)*\\.[^/]+ )\n\t\t\t// Remove the leading slash\n\t\t\tpathname = pathname.substr(1);\n\t\t\t// Convert slashes to backslashes\n\t\t\tpathname = pathname.replace(/\\//g,\"\\\\\");\n\t\t} else if(document.hostname !== \"\" && /^\\/[^\\/]+\\/[^\\/]+/i.test(pathname)) {\t// test for \\\\server\\share\\blah... - ^/[^/]+/[^/]+\n\t\t\t// Convert slashes to backslashes\n\t\t\tpathname = pathname.replace(/\\//g,\"\\\\\");\n\t\t\t// reconstruct UNC path\n\t\t\tpathname = \"\\\\\\\\\" + document.location.hostname + pathname;\n\t\t} else return false;\n\t\t\n\t\t// Prompt the user to save the file\n\t\twindow.TiddlyIE.save(pathname, text);\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\n/*\nInformation about this saver\n*/\nTiddlyIESaver.prototype.info = {\n\tname: \"tiddlyiesaver\",\n\tpriority: 1500\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn (window.location.protocol === \"file:\");\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new TiddlyIESaver(wiki);\n};\n\n})();\n",
            "title": "$:/core/modules/savers/tiddlyie.js",
            "type": "application/javascript",
            "module-type": "saver"
        },
        "$:/core/modules/savers/twedit.js": {
            "text": "/*\\\ntitle: $:/core/modules/savers/twedit.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via the TWEdit iOS app\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false, netscape: false, Components: false */\n\"use strict\";\n\nvar TWEditSaver = function(wiki) {\n};\n\nTWEditSaver.prototype.save = function(text,method,callback) {\n\t// Bail out unless this is a save (rather than a download)\n\tif(method !== \"save\") {\n\t\treturn false;\n\t}\n\t// Bail if we're not running under TWEdit\n\tif(typeof DeviceInfo !== \"object\") {\n\t\treturn false;\n\t}\n\t// Get the pathname of this document\n\tvar pathname = decodeURIComponent(document.location.pathname);\n\t// Strip any query or location part\n\tvar p = pathname.indexOf(\"?\");\n\tif(p !== -1) {\n\t\tpathname = pathname.substr(0,p);\n\t}\n\tp = pathname.indexOf(\"#\");\n\tif(p !== -1) {\n\t\tpathname = pathname.substr(0,p);\n\t}\n\t// Remove the leading \"/Documents\" from path\n\tvar prefix = \"/Documents\";\n\tif(pathname.indexOf(prefix) === 0) {\n\t\tpathname = pathname.substr(prefix.length);\n\t}\n\t// Error handler\n\tvar errorHandler = function(event) {\n    \t// Error\n    \tcallback(\"Error saving to TWEdit: \" + event.target.error.code);\n    };\n\t// Get the file system\n    window.requestFileSystem(LocalFileSystem.PERSISTENT,0,function(fileSystem) {\n    \t// Now we've got the filesystem, get the fileEntry\n        fileSystem.root.getFile(pathname, {create: true}, function(fileEntry) {\n        \t// Now we've got the fileEntry, create the writer\n        \tfileEntry.createWriter(function(writer) {\n\t\t        writer.onerror = errorHandler;\n\t\t        writer.onwrite = function() {\n\t\t        \tcallback(null);\n\t\t        };\n\t\t        writer.position = 0;\n\t\t        writer.write(text);\n        \t},errorHandler);\n        }, errorHandler);\n    }, errorHandler);\n    return true;\n};\n\n/*\nInformation about this saver\n*/\nTWEditSaver.prototype.info = {\n\tname: \"twedit\",\n\tpriority: 1600\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new TWEditSaver(wiki);\n};\n\n/////////////////////////// Hack\n// HACK: This ensures that TWEdit recognises us as a TiddlyWiki document\nif($tw.browser) {\n\twindow.version = {title: \"TiddlyWiki\"};\n}\n\n})();\n",
            "title": "$:/core/modules/savers/twedit.js",
            "type": "application/javascript",
            "module-type": "saver"
        },
        "$:/core/modules/savers/upload.js": {
            "text": "/*\\\ntitle: $:/core/modules/savers/upload.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via upload to a server.\n\nDesigned to be compatible with BidiX's UploadPlugin at http://tiddlywiki.bidix.info/#UploadPlugin\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar UploadSaver = function(wiki) {\n\tthis.wiki = wiki;\n};\n\nUploadSaver.prototype.save = function(text,method,callback) {\n\t// Bail out unless this is a save (rather than a download)\n\tif(method !== \"save\") {\n\t\treturn false;\n\t}\n\t// Get the various parameters we need\n\tvar backupDir = \".\",\n\t\tusername = this.wiki.getTextReference(\"$:/UploadName\"),\n\t\tpassword = $tw.utils.getPassword(\"upload\"),\n\t\tuploadDir = \".\",\n\t\turl = this.wiki.getTextReference(\"$:/UploadURL\");\n\t// Bail out if we don't have the bits we need\n\tif(!username || username.toString().trim() === \"\" || !password || password.toString().trim() === \"\") {\n\t\treturn false;\n\t}\n\t// Construct the url if not provided\n\tif(!url) {\n\t\turl = \"http://\" + username + \".tiddlyspot.com/store.cgi\";\n\t}\n\t// Assemble the header\n\tvar boundary = \"---------------------------\" + \"AaB03x\";\t\n\tvar uploadFormName = \"UploadPlugin\";\n\tvar head = [];\n\thead.push(\"--\" + boundary + \"\\r\\nContent-disposition: form-data; name=\\\"UploadPlugin\\\"\\r\\n\");\n\thead.push(\"backupDir=\" + backupDir + \";user=\" + username + \";password=\" + password + \";uploaddir=\" + uploadDir + \";;\"); \n\thead.push(\"\\r\\n\" + \"--\" + boundary);\n\thead.push(\"Content-disposition: form-data; name=\\\"userfile\\\"; filename=\\\"index.html\\\"\");\n\thead.push(\"Content-Type: text/html;charset=UTF-8\");\n\thead.push(\"Content-Length: \" + text.length + \"\\r\\n\");\n\thead.push(\"\");\n\t// Assemble the tail and the data itself\n\tvar tail = \"\\r\\n--\" + boundary + \"--\\r\\n\",\n\t\tdata = head.join(\"\\r\\n\") + text + tail;\n\t// Do the HTTP post\n\tvar http = new XMLHttpRequest();\n\thttp.open(\"POST\",url,true,username,password);\n\thttp.setRequestHeader(\"Content-Type\",\"multipart/form-data; ;charset=UTF-8; boundary=\" + boundary);\n\thttp.onreadystatechange = function() {\n\t\tif(http.readyState == 4 && http.status == 200) {\n\t\t\tif(http.responseText.trim() === \"0 - Fileindex.html\") {\n\t\t\t\tcallback(null);\n\t\t\t} else {\n\t\t\t\tcallback(http.responseText);\n\t\t\t}\n\t\t}\n\t};\n\thttp.send(data);\n\t$tw.notifier.display(\"$:/messages/StartingSave\");\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nUploadSaver.prototype.info = {\n\tname: \"upload\",\n\tpriority: 500\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new UploadSaver(wiki);\n};\n\n})();\n",
            "title": "$:/core/modules/savers/upload.js",
            "type": "application/javascript",
            "module-type": "saver"
        },
        "$:/core/modules/startup.js": {
            "text": "/*\\\ntitle: $:/core/modules/startup.js\ntype: application/javascript\nmodule-type: startup\n\nThis is the main application logic for both the client and server\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.startup = function() {\n\tvar modules,n,m,f,commander;\n\t// Load modules\n\t$tw.modules.applyMethods(\"global\",$tw);\n\t$tw.modules.applyMethods(\"config\",$tw.config);\n\t$tw.modules.applyMethods(\"utils\",$tw.utils);\n\tif($tw.browser) {\n\t\t$tw.utils.getBrowserInfo($tw.browser);\n\t}\n\t$tw.version = $tw.utils.extractVersionInfo();\n\t$tw.Tiddler.fieldModules = $tw.modules.getModulesByTypeAsHashmap(\"tiddlerfield\");\n\t$tw.modules.applyMethods(\"tiddlermethod\",$tw.Tiddler.prototype);\n\t$tw.modules.applyMethods(\"wikimethod\",$tw.Wiki.prototype);\n\t$tw.modules.applyMethods(\"tiddlerdeserializer\",$tw.Wiki.tiddlerDeserializerModules);\n\t$tw.macros = $tw.modules.getModulesByTypeAsHashmap(\"macro\");\n\t// Set up the parsers\n\t$tw.wiki.initParsers();\n\t// Set up the syncer object\n\t$tw.syncer = new $tw.Syncer({wiki: $tw.wiki});\n\t// Set up the command modules\n\t$tw.Commander.initCommands();\n\t// Kick off the theme manager\n\t$tw.themeManager = new $tw.ThemeManager($tw.wiki);\n\t// Get the default tiddlers\n\tvar defaultTiddlersTitle = \"$:/DefaultTiddlers\",\n\t\tdefaultTiddlersTiddler = $tw.wiki.getTiddler(defaultTiddlersTitle),\n\t\tdefaultTiddlers = [];\n\tif(defaultTiddlersTiddler) {\n\t\tdefaultTiddlers = $tw.wiki.filterTiddlers(defaultTiddlersTiddler.fields.text);\n\t}\n\t// Initialise the story and history\n\tvar storyTitle = \"$:/StoryList\",\n\t\tstory = [];\n\tfor(var t=0; t<defaultTiddlers.length; t++) {\n\t\tstory[t] = defaultTiddlers[t];\n\t}\n\t$tw.wiki.addTiddler({title: storyTitle, text: \"\", list: story},$tw.wiki.getModificationFields());\n\t// Host-specific startup\n\tif($tw.browser) {\n\t\t// Install the popup manager\n\t\t$tw.popup = new $tw.utils.Popup({\n\t\t\trootElement: document.body\n\t\t});\n\t\t// Install the animator\n\t\t$tw.anim = new $tw.utils.Animator();\n\t\t// Create a root widget for attaching event handlers. By using it as the parentWidget for another widget tree, one can reuse the event handlers\n\t\t$tw.rootWidget = new widget.widget({\n\t\t\ttype: \"widget\",\n\t\t\tchildren: []\n\t\t},{\n\t\t\twiki: $tw.wiki,\n\t\t\tdocument: document\n\t\t});\n\t\t// Install the modal message mechanism\n\t\t$tw.modal = new $tw.utils.Modal($tw.wiki);\n\t\t$tw.rootWidget.addEventListener(\"tw-modal\",function(event) {\n\t\t\t$tw.modal.display(event.param);\n\t\t});\n\t\t// Install the notification  mechanism\n\t\t$tw.notifier = new $tw.utils.Notifier($tw.wiki);\n\t\t$tw.rootWidget.addEventListener(\"tw-notify\",function(event) {\n\t\t\t$tw.notifier.display(event.param);\n\t\t});\n\t\t// Install the scroller\n\t\t$tw.pageScroller = new $tw.utils.PageScroller();\n\t\t$tw.rootWidget.addEventListener(\"tw-scroll\",function(event) {\n\t\t\t$tw.pageScroller.handleEvent(event);\n\t\t});\n\t\t// Install the save action handler\n\t\t$tw.wiki.initSavers();\n\t\t$tw.rootWidget.addEventListener(\"tw-save-wiki\",function(event) {\n\t\t\t$tw.wiki.saveWiki({\n\t\t\t\ttemplate: event.param,\n\t\t\t\tdownloadType: \"text/plain\"\n\t\t\t});\n\t\t});\n\t\t$tw.rootWidget.addEventListener(\"tw-download-file\",function(event) {\n\t\t\t$tw.wiki.saveWiki({\n\t\t\t\tmethod: \"download\",\n\t\t\t\ttemplate: event.param,\n\t\t\t\tdownloadType: \"text/plain\"\n\t\t\t});\n\t\t});\n\t\t// Install the crypto event handlers\n\t\t$tw.rootWidget.addEventListener(\"tw-set-password\",function(event) {\n\t\t\t$tw.passwordPrompt.createPrompt({\n\t\t\t\tserviceName: \"Set a new password for this TiddlyWiki\",\n\t\t\t\tnoUserName: true,\n\t\t\t\tsubmitText: \"Set password\",\n\t\t\t\tcallback: function(data) {\n\t\t\t\t\t$tw.crypto.setPassword(data.password);\n\t\t\t\t\treturn true; // Get rid of the password prompt\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t\t$tw.rootWidget.addEventListener(\"tw-clear-password\",function(event) {\n\t\t\t$tw.crypto.setPassword(null);\n\t\t});\n\t\t// Set up the favicon\n\t\tvar faviconTitle = \"$:/favicon.ico\",\n\t\t\tfaviconLink = document.getElementById(\"faviconLink\"),\n\t\t\tsetFavicon = function() {\n\t\t\t\tvar tiddler = $tw.wiki.getTiddler(faviconTitle);\n\t\t\t\tif(tiddler) {\n\t\t\t\t\tfaviconLink.setAttribute(\"href\",\"data:\" + tiddler.fields.type + \";base64,\" + tiddler.fields.text);\n\t\t\t\t}\n\t\t\t};\n\t\tsetFavicon();\n\t\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\t\tif($tw.utils.hop(changes,faviconTitle)) {\n\t\t\t\tsetFavicon();\n\t\t\t}\n\t\t});\n\t\t// Set up the styles\n\t\tvar styleTemplateTitle = \"$:/core/ui/PageStylesheet\",\n\t\t\tstyleParser = $tw.wiki.parseTiddler(styleTemplateTitle);\n\t\t$tw.styleWidgetNode = $tw.wiki.makeWidget(styleParser,{document: $tw.document});\n\t\t$tw.styleContainer = $tw.document.createElement(\"style\");\n\t\t$tw.styleWidgetNode.render($tw.styleContainer,null);\n\t\t$tw.styleElement = document.createElement(\"style\");\n\t\t$tw.styleElement.innerHTML = $tw.styleContainer.textContent;\n\t\tdocument.head.insertBefore($tw.styleElement,document.head.firstChild);\n\t\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\t\tif($tw.styleWidgetNode.refresh(changes,$tw.styleContainer,null)) {\n\t\t\t\t$tw.styleElement.innerHTML = $tw.styleContainer.textContent;\n\t\t\t}\n\t\t});\n\t\t// Display the PageMacros, which includes the PageTemplate\n\t\tvar templateTitle = \"$:/core/ui/PageMacros\",\n\t\t\tparser = $tw.wiki.parseTiddler(templateTitle);\n\t\t$tw.pageWidgetNode = $tw.wiki.makeWidget(parser,{document: document, parentWidget: $tw.rootWidget});\n\t\t$tw.pageContainer = document.createElement(\"div\");\n\t\t$tw.utils.addClass($tw.pageContainer,\"tw-page-container\");\n\t\tdocument.body.insertBefore($tw.pageContainer,document.body.firstChild);\n\t\t$tw.pageWidgetNode.render($tw.pageContainer,null);\n\t\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\t\t$tw.pageWidgetNode.refresh(changes,$tw.pageContainer,null);\n\t\t});\n\t\t// Fix up the link between the root widget and the page container\n\t\t$tw.rootWidget.domNodes = [$tw.pageContainer];\n\t\t$tw.rootWidget.children = [$tw.pageWidgetNode];\n\t\t// If we're being viewed on a data: URI then give instructions for how to save\n\t\tif(document.location.protocol === \"data:\") {\n\t\t\t$tw.utils.dispatchCustomEvent(document,\"tw-modal\",{\n\t\t\t\tparam: \"$:/messages/SaveInstructions\"\n\t\t\t});\n\t\t}\n\t\t// Call browser startup modules\n\t\t$tw.modules.forEachModuleOfType(\"browser-startup\",function(title,module) {\n\t\t\tif(module.startup) {\n\t\t\t\tmodule.startup();\n\t\t\t}\n\t\t});\n\t} else {\n\t\t// On the server, start a commander with the command line arguments\n\t\tcommander = new $tw.Commander(\n\t\t\t$tw.boot.argv,\n\t\t\tfunction(err) {\n\t\t\t\tif(err) {\n\t\t\t\t\tconsole.log(\"Error: \" + err);\n\t\t\t\t}\n\t\t\t},\n\t\t\t$tw.wiki,\n\t\t\t{output: process.stdout, error: process.stderr}\n\t\t);\n\t\tcommander.execute();\n\t}\n\n};\n\n})();\n",
            "title": "$:/core/modules/startup.js",
            "type": "application/javascript",
            "module-type": "startup"
        },
        "$:/core/modules/storyviews/classic.js": {
            "text": "/*\\\ntitle: $:/core/modules/storyviews/classic.js\ntype: application/javascript\nmodule-type: storyview\n\nViews the story as a linear sequence\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar ClassicStoryView = function(listWidget) {\n\tthis.listWidget = listWidget;\n}\n\nClassicStoryView.prototype.navigateTo = function(historyInfo) {\n\tvar listElementIndex = this.listWidget.findListItem(0,historyInfo.title);\n\tif(listElementIndex === undefined) {\n\t\treturn;\n\t}\n\tvar listItemWidget = this.listWidget.children[listElementIndex],\n\t\ttargetElement = listItemWidget.findFirstDomNode();\n\t// Scroll the node into view\n\tthis.listWidget.dispatchEvent({type: \"tw-scroll\", target: targetElement});\n};\n\nClassicStoryView.prototype.insert = function(widget) {\n\tvar targetElement = widget.findFirstDomNode(),\n\t\tduration = $tw.utils.getAnimationDuration();\n\t// Get the current height of the tiddler\n\tvar computedStyle = window.getComputedStyle(targetElement),\n\t\tcurrMarginBottom = parseInt(computedStyle.marginBottom,10),\n\t\tcurrMarginTop = parseInt(computedStyle.marginTop,10),\n\t\tcurrHeight = targetElement.offsetHeight + currMarginTop;\n\t// Reset the margin once the transition is over\n\tsetTimeout(function() {\n\t\t$tw.utils.setStyle(targetElement,[\n\t\t\t{transition: \"none\"},\n\t\t\t{marginBottom: \"\"}\n\t\t]);\n\t},duration);\n\t// Set up the initial position of the element\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: \"none\"},\n\t\t{marginBottom: (-currHeight) + \"px\"},\n\t\t{opacity: \"0.0\"}\n\t]);\n\t$tw.utils.forceLayout(targetElement);\n\t// Transition to the final position\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: \"opacity \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"margin-bottom \" + duration + \"ms ease-in-out\"},\n\t\t{marginBottom: currMarginBottom + \"px\"},\n\t\t{opacity: \"1.0\"}\n\t]);\n};\n\nClassicStoryView.prototype.remove = function(widget) {\n\tvar targetElement = widget.findFirstDomNode(),\n\t\tduration = $tw.utils.getAnimationDuration();\n\t// Get the current height of the tiddler\n\tvar currWidth = targetElement.offsetWidth,\n\t\tcomputedStyle = window.getComputedStyle(targetElement),\n\t\tcurrMarginBottom = parseInt(computedStyle.marginBottom,10),\n\t\tcurrMarginTop = parseInt(computedStyle.marginTop,10),\n\t\tcurrHeight = targetElement.offsetHeight + currMarginTop;\n\t// Remove the dom nodes of the widget at the end of the transition\n\tsetTimeout(function() {\n\t\twidget.removeChildDomNodes();\n\t},duration);\n\t// Animate the closure\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: \"none\"},\n\t\t{transform: \"translateX(0px)\"},\n\t\t{marginBottom:  currMarginBottom + \"px\"},\n\t\t{opacity: \"1.0\"}\n\t]);\n\t$tw.utils.forceLayout(targetElement);\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"opacity \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"margin-bottom \" + duration + \"ms ease-in-out\"},\n\t\t{transform: \"translateX(-\" + currWidth + \"px)\"},\n\t\t{marginBottom: (-currHeight) + \"px\"},\n\t\t{opacity: \"0.0\"}\n\t]);\n};\n\nexports.classic = ClassicStoryView;\n\n})();",
            "title": "$:/core/modules/storyviews/classic.js",
            "type": "application/javascript",
            "module-type": "storyview"
        },
        "$:/core/modules/storyviews/pop.js": {
            "text": "/*\\\ntitle: $:/core/modules/storyviews/pop.js\ntype: application/javascript\nmodule-type: storyview\n\nAnimates list insertions and removals\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar PopStoryView = function(listWidget) {\n\tthis.listWidget = listWidget;\n}\n\nPopStoryView.prototype.navigateTo = function(historyInfo) {\n\tvar listElementIndex = this.listWidget.findListItem(0,historyInfo.title);\n\tif(listElementIndex === undefined) {\n\t\treturn;\n\t}\n\tvar listItemWidget = this.listWidget.children[listElementIndex],\n\t\ttargetElement = listItemWidget.findFirstDomNode();\n\t// Scroll the node into view\n\tthis.listWidget.dispatchEvent({type: \"tw-scroll\", target: targetElement});\n};\n\nPopStoryView.prototype.insert = function(widget) {\n\tvar targetElement = widget.findFirstDomNode(),\n\t\tduration = $tw.utils.getAnimationDuration();\n\t// Reset once the transition is over\n\tsetTimeout(function() {\n\t\t$tw.utils.setStyle(targetElement,[\n\t\t\t{transition: \"none\"},\n\t\t\t{transform: \"none\"}\n\t\t]);\n\t},duration);\n\t// Set up the initial position of the element\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: \"none\"},\n\t\t{transform: \"scale(2)\"},\n\t\t{opacity: \"0.0\"}\n\t]);\n\t$tw.utils.forceLayout(targetElement);\n\t// Transition to the final position\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"opacity \" + duration + \"ms ease-in-out\"},\n\t\t{transform: \"scale(1)\"},\n\t\t{opacity: \"1.0\"}\n\t]);\n};\n\nPopStoryView.prototype.remove = function(widget) {\n\tvar targetElement = widget.findFirstDomNode(),\n\t\tduration = $tw.utils.getAnimationDuration();\n\t// Remove the element at the end of the transition\n\tsetTimeout(function() {\n\t\tif(targetElement.parentNode) {\n\t\t\twidget.removeChildDomNodes();\n\t\t}\n\t},duration);\n\t// Animate the closure\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: \"none\"},\n\t\t{transform: \"scale(1)\"},\n\t\t{opacity: \"1.0\"}\n\t]);\n\t$tw.utils.forceLayout(targetElement);\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"opacity \" + duration + \"ms ease-in-out\"},\n\t\t{transform: \"scale(0.1)\"},\n\t\t{opacity: \"0.0\"}\n\t]);\n};\n\nexports.pop = PopStoryView;\n\n})();\n",
            "title": "$:/core/modules/storyviews/pop.js",
            "type": "application/javascript",
            "module-type": "storyview"
        },
        "$:/core/modules/storyviews/zoomin.js": {
            "text": "/*\\\ntitle: $:/core/modules/storyviews/zoomin.js\ntype: application/javascript\nmodule-type: storyview\n\nZooms between individual tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar ZoominListView = function(listWidget) {\n\tvar self = this;\n\tthis.listWidget = listWidget;\n\t// Make all the tiddlers position absolute, and hide all but the first one\n\t$tw.utils.each(this.listWidget.children,function(itemWidget,index) {\n\t\tvar domNode = itemWidget.findFirstDomNode();\n\t\tif(index) {\n\t\t\tdomNode.style.display = \"none\";\n\t\t} else {\n\t\t\tself.currentTiddlerDomNode = domNode;\n\t\t}\n\t\tdomNode.style.position = \"absolute\";\n\t});\n}\n\nZoominListView.prototype.navigateTo = function(historyInfo) {\n\tvar duration = $tw.utils.getAnimationDuration(),\n\t\tlistElementIndex = this.listWidget.findListItem(0,historyInfo.title);\n\tif(listElementIndex === undefined) {\n\t\treturn;\n\t}\n\tvar listItemWidget = this.listWidget.children[listElementIndex],\n\t\ttargetElement = listItemWidget.findFirstDomNode();\n\t// Make the new tiddler be position absolute and visible so that we can measure it\n\t$tw.utils.setStyle(targetElement,[\n\t\t{position: \"absolute\"},\n\t\t{display: \"block\"},\n\t\t{transformOrigin: \"0 0\"},\n\t\t{transform: \"translateX(0px) translateY(0px) scale(1)\"},\n\t\t{transition: \"none\"},\n\t\t{opacity: \"0.0\"}\n\t]);\n\t// Get the position of the source node, or use the centre of the window as the source position\n\tvar sourceBounds = historyInfo.fromPageRect || {\n\t\t\tleft: window.innerWidth/2 - 2,\n\t\t\ttop: window.innerHeight/2 - 2,\n\t\t\twidth: window.innerWidth/8,\n\t\t\theight: window.innerHeight/8\n\t\t};\n\t// Try to find the title node in the target tiddler\n\tvar titleDomNode = findTitleDomNode(listItemWidget) || listItemWidget.findFirstDomNode(),\n\t\tzoomBounds = titleDomNode.getBoundingClientRect();\n\t// Compute the transform for the target tiddler to make the title lie over the source rectange\n\tvar targetBounds = targetElement.getBoundingClientRect(),\n\t\tscale = sourceBounds.width / zoomBounds.width,\n\t\tx = sourceBounds.left - targetBounds.left - (zoomBounds.left - targetBounds.left) * scale,\n\t\ty = sourceBounds.top - targetBounds.top - (zoomBounds.top - targetBounds.top) * scale;\n\t// Transform the target tiddler to its starting position\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transform: \"translateX(\" + x + \"px) translateY(\" + y + \"px) scale(\" + scale + \")\"}\n\t]);\n\t// Force layout\n\t$tw.utils.forceLayout(targetElement);\n\t// Apply the ending transitions with a timeout to ensure that the previously applied transformations are applied first\n\tvar self = this,\n\t\tprevCurrentTiddler = this.currentTiddlerDomNode;\n\tthis.currentTiddlerDomNode = targetElement;\n\t// Transform the target tiddler to its natural size\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms ease-in, opacity \" + duration + \"ms ease-in\"},\n\t\t{opacity: \"1.0\"},\n\t\t{transform: \"translateX(0px) translateY(0px) scale(1)\"},\n\t\t{zIndex: \"500\"},\n\t]);\n\t// Transform the previous tiddler out of the way and then hide it\n\tif(prevCurrentTiddler && prevCurrentTiddler !== targetElement) {\n\t\tvar scale = zoomBounds.width / sourceBounds.width;\n\t\tx =  zoomBounds.left - targetBounds.left - (sourceBounds.left - targetBounds.left) * scale;\n\t\ty =  zoomBounds.top - targetBounds.top - (sourceBounds.top - targetBounds.top) * scale;\n\t\t$tw.utils.setStyle(prevCurrentTiddler,[\n\t\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms ease-in, opacity \" + duration + \"ms ease-in\"},\n\t\t\t{opacity: \"0.0\"},\n\t\t\t{transformOrigin: \"0 0\"},\n\t\t\t{transform: \"translateX(\" + x + \"px) translateY(\" + y + \"px) scale(\" + scale + \")\"},\n\t\t\t{zIndex: \"0\"}\n\t\t]);\n\t\t// Hide the tiddler when the transition has finished\n\t\tsetTimeout(function() {\n\t\t\tif(self.currentTiddlerDomNode !== prevCurrentTiddler) {\n\t\t\t\tprevCurrentTiddler.style.display = \"none\";\n\t\t\t}\n\t\t},duration);\n\t}\n\t// Scroll the target into view\n//\t$tw.pageScroller.scrollIntoView(targetElement);\n};\n\n/*\nFind the first child DOM node of a widget that has the class \"title\"\n*/\nfunction findTitleDomNode(widget,targetClass) {\n\ttargetClass = targetClass || \"title\";\n\tvar domNode = widget.findFirstDomNode();\n\tif(domNode && domNode.querySelector) {\n\t\treturn domNode.querySelector(\".\" + targetClass);\n\t}\n\treturn null;\n}\n\nZoominListView.prototype.insert = function(widget) {\n\tvar targetElement = widget.findFirstDomNode();\n\t// Make the newly inserted node position absolute and hidden\n\t$tw.utils.setStyle(targetElement,[\n\t\t{display: \"none\"},\n\t\t{position: \"absolute\"}\n\t]);\n};\n\nZoominListView.prototype.remove = function(widget) {\n\tvar targetElement = widget.findFirstDomNode(),\n\t\tduration = $tw.utils.getAnimationDuration();\n\t// Set up the tiddler that is being closed\n\t$tw.utils.setStyle(targetElement,[\n\t\t{position: \"absolute\"},\n\t\t{display: \"block\"},\n\t\t{transformOrigin: \"50% 50%\"},\n\t\t{transform: \"translateX(0px) translateY(0px) scale(1)\"},\n\t\t{transition: \"none\"},\n\t\t{zIndex: \"0\"}\n\t]);\n\t// We'll move back to the previous or next element in the story\n\tvar toWidget = widget.previousSibling();\n\tif(!toWidget) {\n\t\ttoWidget = widget.nextSibling();\n\t}\n\tvar toWidgetDomNode = toWidget && toWidget.findFirstDomNode();\n\t// Set up the tiddler we're moving back in\n\tif(toWidgetDomNode) {\n\t\t$tw.utils.setStyle(toWidgetDomNode,[\n\t\t\t{position: \"absolute\"},\n\t\t\t{display: \"block\"},\n\t\t\t{transformOrigin: \"50% 50%\"},\n\t\t\t{transform: \"translateX(0px) translateY(0px) scale(10)\"},\n\t\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms ease-in, opacity \" + duration + \"ms ease-in\"},\n\t\t\t{opacity: \"0\"},\n\t\t\t{zIndex: \"500\"}\n\t\t]);\n\t\tthis.currentTiddlerDomNode = toWidgetDomNode;\n\t}\n\t// Animate them both\n\t// Force layout\n\t$tw.utils.forceLayout(this.listWidget.parentDomNode);\n\t// First, the tiddler we're closing\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transformOrigin: \"50% 50%\"},\n\t\t{transform: \"translateX(0px) translateY(0px) scale(0.1)\"},\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms ease-in, opacity \" + duration + \"ms ease-in\"},\n\t\t{opacity: \"0\"},\n\t\t{zIndex: \"0\"}\n\t]);\n\tsetTimeout(function() {\n\t\t// Delete the DOM node when the transition is over\n\t\twidget.removeChildDomNodes();\n\t},duration);\n\t// Now the tiddler we're going back to\n\tif(toWidgetDomNode) {\n\t\t$tw.utils.setStyle(toWidgetDomNode,[\n\t\t\t{transform: \"translateX(0px) translateY(0px) scale(1)\"},\n\t\t\t{opacity: \"1\"}\n\t\t]);\n\t}\n\treturn true; // Indicate that we'll delete the DOM node\n};\n\nexports.zoomin = ZoominListView;\n\n})();",
            "title": "$:/core/modules/storyviews/zoomin.js",
            "type": "application/javascript",
            "module-type": "storyview"
        },
        "$:/core/modules/syncer.js": {
            "text": "/*\\\ntitle: $:/core/modules/syncer.js\ntype: application/javascript\nmodule-type: global\n\nThe syncer transfers content to and from data sources using syncadaptor modules.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInstantiate the syncer with the following options:\nwiki: wiki to be synced\n*/\nfunction Syncer(options) {\n\tvar self = this;\n\tthis.wiki = options.wiki;\n\t// Find a working syncadaptor\n\tthis.syncadaptor = undefined;\n\t$tw.modules.forEachModuleOfType(\"syncadaptor\",function(title,module) {\n\t\tif(!self.syncadaptor && module.adaptorClass) {\n\t\t\tself.syncadaptor = new module.adaptorClass(self);\n\t\t}\n\t});\n\t// Only do anything if we've got a syncadaptor\n\tif(this.syncadaptor) {\n\t\tthis.init();\n\t}\n}\n\n/*\nError handling\n*/\nSyncer.prototype.showError = function(error) {\n\talert(\"Syncer error: \" + error);\n\t$tw.utils.log(\"Syncer error: \" + error);\n};\n\n/*\nMessage logging\n*/\nSyncer.prototype.log = function(/* arguments */) {\n\tvar args = Array.prototype.slice.call(arguments,0);\n\targs[0] = \"Syncer: \" + args[0];\n\t// Temporarily disable logging to help the wood vs. trees situation; we need better filtering of log messages\n\t//$tw.utils.log.apply(null,args);\n};\n\n/*\nConstants\n*/\nSyncer.prototype.titleIsLoggedIn = \"$:/status/IsLoggedIn\";\nSyncer.prototype.titleUserName = \"$:/status/UserName\";\nSyncer.prototype.taskTimerInterval = 1 * 1000; // Interval for sync timer\nSyncer.prototype.throttleInterval = 1 * 1000; // Defer saving tiddlers if they've changed in the last 1s...\nSyncer.prototype.fallbackInterval = 10 * 1000; // Unless the task is older than 10s\nSyncer.prototype.pollTimerInterval = 60 * 1000; // Interval for polling for changes from the adaptor\n\n/*\nInitialise the syncer\n*/\nSyncer.prototype.init = function() {\n\tvar self = this;\n\t// Hashmap by title of {revision:,changeCount:,adaptorInfo:}\n\tthis.tiddlerInfo = {};\n\t// Record information for known tiddlers\n\tthis.wiki.forEachTiddler({includeSystem: true},function(title,tiddler) {\n\t\tself.tiddlerInfo[title] = {\n\t\t\trevision: tiddler.fields[\"revision\"],\n\t\t\tadaptorInfo: self.syncadaptor.getTiddlerInfo(tiddler),\n\t\t\tchangeCount: self.wiki.getChangeCount(title)\n\t\t}\n\t});\n\t// Tasks are {type: \"load\"/\"save\"/\"delete\", title:, queueTime:, lastModificationTime:}\n\tthis.taskQueue = {}; // Hashmap of tasks to be performed\n\tthis.taskInProgress = {}; // Hash of tasks in progress\n\tthis.taskTimerId = null; // Timer for task dispatch\n\tthis.pollTimerId = null; // Timer for polling server\n\t// Listen out for changes to tiddlers\n\tthis.wiki.addEventListener(\"change\",function(changes) {\n\t\tself.syncToServer(changes);\n\t});\n\t// Listen out for lazyLoad events\n\tthis.wiki.addEventListener(\"lazyLoad\",function(title) {\n\t\tself.handleLazyLoadEvent(title);\n\t});\n\t// Listen out for login/logout/refresh events in the browser\n\tif($tw.browser) {\n\t\tdocument.addEventListener(\"tw-login\",function(event) {\n\t\t\tself.handleLoginEvent(event);\n\t\t},false);\n\t\tdocument.addEventListener(\"tw-logout\",function(event) {\n\t\t\tself.handleLogoutEvent(event);\n\t\t},false);\n\t\tdocument.addEventListener(\"tw-server-refresh\",function(event) {\n\t\t\tself.handleRefreshEvent(event);\n\t\t},false);\n\t}\n\t// Get the login status\n\tthis.getStatus(function (err,isLoggedIn) {\n\t\tif(isLoggedIn) {\n\t\t\t// Do a sync from the server\n\t\t\tself.syncFromServer();\n\t\t}\n\t});\n};\n\n/*\nSave an incoming tiddler in the store, and updates the associated tiddlerInfo\n*/\nSyncer.prototype.storeTiddler = function(tiddlerFields) {\n\t// Save the tiddler\n\tvar tiddler = new $tw.Tiddler(this.wiki.getTiddler(tiddlerFields.title),tiddlerFields);\n\tthis.wiki.addTiddler(tiddler);\n\t// Save the tiddler revision and changeCount details\n\tthis.tiddlerInfo[tiddlerFields.title] = {\n\t\trevision: tiddlerFields.revision,\n\t\tadaptorInfo: this.syncadaptor.getTiddlerInfo(tiddler),\n\t\tchangeCount: this.wiki.getChangeCount(tiddlerFields.title)\n\t};\n};\n\nSyncer.prototype.getStatus = function(callback) {\n\tvar self = this;\n\t// Check if the adaptor supports getStatus()\n\tif(this.syncadaptor.getStatus) {\n\t\t// Mark us as not logged in\n\t\tthis.wiki.addTiddler({title: this.titleIsLoggedIn,text: \"no\"});\n\t\t// Get login status\n\t\tthis.syncadaptor.getStatus(function(err,isLoggedIn,username) {\n\t\t\tif(err) {\n\t\t\t\tself.showError(err);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// Set the various status tiddlers\n\t\t\tself.wiki.addTiddler({title: self.titleIsLoggedIn,text: isLoggedIn ? \"yes\" : \"no\"});\n\t\t\tif(isLoggedIn) {\n\t\t\t\tself.wiki.addTiddler({title: self.titleUserName,text: username});\n\t\t\t} else {\n\t\t\t\tself.wiki.deleteTiddler(self.titleUserName);\n\t\t\t}\n\t\t\t// Invoke the callback\n\t\t\tif(callback) {\n\t\t\t\tcallback(err,isLoggedIn,username);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tcallback(null,true,\"UNAUTHENTICATED\");\n\t}\n};\n\n/*\nSynchronise from the server by reading the skinny tiddler list and queuing up loads for any tiddlers that we don't already have up to date\n*/\nSyncer.prototype.syncFromServer = function() {\n\tif(this.syncadaptor.getSkinnyTiddlers) {\n\t\tthis.log(\"Retrieving skinny tiddler list\");\n\t\tvar self = this;\n\t\tif(this.pollTimerId) {\n\t\t\tclearTimeout(this.pollTimerId);\n\t\t\tthis.pollTimerId = null;\n\t\t}\n\t\tthis.syncadaptor.getSkinnyTiddlers(function(err,tiddlers) {\n\t\t\t// Trigger another sync\n\t\t\tself.pollTimerId = setTimeout(function() {\n\t\t\t\tself.pollTimerId = null;\n\t\t\t\tself.syncFromServer.call(self);\n\t\t\t},self.pollTimerInterval);\n\t\t\t// Check for errors\n\t\t\tif(err) {\n\t\t\t\tself.log(\"Error retrieving skinny tiddler list:\",err);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// Process each incoming tiddler\n\t\t\tfor(var t=0; t<tiddlers.length; t++) {\n\t\t\t\t// Get the incoming tiddler fields, and the existing tiddler\n\t\t\t\tvar tiddlerFields = tiddlers[t],\n\t\t\t\t\tincomingRevision = tiddlerFields.revision + \"\",\n\t\t\t\t\ttiddler = self.wiki.getTiddler(tiddlerFields.title),\n\t\t\t\t\ttiddlerInfo = self.tiddlerInfo[tiddlerFields.title],\n\t\t\t\t\tcurrRevision = tiddlerInfo ? tiddlerInfo.revision : null;\n\t\t\t\t// Ignore the incoming tiddler if it's the same as the revision we've already got\n\t\t\t\tif(currRevision !== incomingRevision) {\n\t\t\t\t\t// Do a full load if we've already got a fat version of the tiddler\n\t\t\t\t\tif(tiddler && tiddler.fields.text !== undefined) {\n\t\t\t\t\t\t// Do a full load of this tiddler\n\t\t\t\t\t\tself.enqueueSyncTask({\n\t\t\t\t\t\t\ttype: \"load\",\n\t\t\t\t\t\t\ttitle: tiddlerFields.title\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Load the skinny version of the tiddler\n\t\t\t\t\t\tself.storeTiddler(tiddlerFields);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n};\n\n/*\nSynchronise a set of changes to the server\n*/\nSyncer.prototype.syncToServer = function(changes) {\n\tvar self = this,\n\t\tnow = new Date();\n\t$tw.utils.each(changes,function(change,title,object) {\n\t\t// Ignore the change if it is a shadow tiddler\n\t\tif((change.deleted && $tw.utils.hop(self.tiddlerInfo,title)) || (!change.deleted && self.wiki.tiddlerExists(title))) {\n\t\t\t// Queue a task to sync this tiddler\n\t\t\tself.enqueueSyncTask({\n\t\t\t\ttype: change.deleted ? \"delete\" : \"save\",\n\t\t\t\ttitle: title\n\t\t\t});\n\t\t}\n\t});\n};\n\n/*\nLazily load a skinny tiddler if we can\n*/\nSyncer.prototype.handleLazyLoadEvent = function(title) {\n\t// Queue up a sync task to load this tiddler\n\tthis.enqueueSyncTask({\n\t\ttype: \"load\",\n\t\ttitle: title\n\t});\n};\n\n/*\nDispay a password prompt and allow the user to login\n*/\nSyncer.prototype.handleLoginEvent = function() {\n\tvar self = this;\n\tthis.getStatus(function(err,isLoggedIn,username) {\n\t\tif(!isLoggedIn) {\n\t\t\t$tw.passwordPrompt.createPrompt({\n\t\t\t\tserviceName: \"Login to TiddlySpace\",\n\t\t\t\tcallback: function(data) {\n\t\t\t\t\tself.login(data.username,data.password,function(err,isLoggedIn) {\n\t\t\t\t\t\tself.syncFromServer();\n\t\t\t\t\t});\n\t\t\t\t\treturn true; // Get rid of the password prompt\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n};\n\n/*\nAttempt to login to TiddlyWeb.\n\tusername: username\n\tpassword: password\n\tcallback: invoked with arguments (err,isLoggedIn)\n*/\nSyncer.prototype.login = function(username,password,callback) {\n\tthis.log(\"Attempting to login as\",username);\n\tvar self = this;\n\tif(this.syncadaptor.login) {\n\t\tthis.syncadaptor.login(username,password,function(err) {\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tself.getStatus(function(err,isLoggedIn,username) {\n\t\t\t\tif(callback) {\n\t\t\t\t\tcallback(null,isLoggedIn);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t} else {\n\t\tcallback(null,true);\n\t}\n};\n\n/*\nAttempt to log out of TiddlyWeb\n*/\nSyncer.prototype.handleLogoutEvent = function() {\n\tthis.log(\"Attempting to logout\");\n\tvar self = this;\n\tif(this.syncadaptor.logout) {\n\t\tthis.syncadaptor.logout(function(err) {\n\t\t\tif(err) {\n\t\t\t\tself.showError(err);\n\t\t\t} else {\n\t\t\t\tself.getStatus();\n\t\t\t}\n\t\t});\n\t}\n};\n\n/*\nImmediately refresh from the server\n*/\nSyncer.prototype.handleRefreshEvent = function() {\n\tthis.syncFromServer();\n};\n\n/*\nQueue up a sync task. If there is already a pending task for the tiddler, just update the last modification time\n*/\nSyncer.prototype.enqueueSyncTask = function(task) {\n\tvar self = this,\n\t\tnow = new Date();\n\t// Set the timestamps on this task\n\ttask.queueTime = now;\n\ttask.lastModificationTime = now;\n\t// Fill in some tiddlerInfo if the tiddler is one we haven't seen before\n\tif(!$tw.utils.hop(this.tiddlerInfo,task.title)) {\n\t\tthis.tiddlerInfo[task.title] = {\n\t\t\trevision: null,\n\t\t\tadaptorInfo: {},\n\t\t\tchangeCount: -1\n\t\t}\n\t}\n\t// Bail if this is a save and the tiddler is already at the changeCount that the server has\n\tif(task.type === \"save\" && this.wiki.getChangeCount(task.title) <= this.tiddlerInfo[task.title].changeCount) {\n\t\treturn;\n\t}\n\t// Check if this tiddler is already in the queue\n\tif($tw.utils.hop(this.taskQueue,task.title)) {\n\t\tthis.log(\"Re-queueing up sync task with type:\",task.type,\"title:\",task.title);\n\t\tvar existingTask = this.taskQueue[task.title];\n\t\t// If so, just update the last modification time\n\t\texistingTask.lastModificationTime = task.lastModificationTime;\n\t\t// If the new task is a save then we upgrade the existing task to a save. Thus a pending load is turned into a save if the tiddler changes locally in the meantime. But a pending save is not modified to become a load\n\t\tif(task.type === \"save\" || task.type === \"delete\") {\n\t\t\texistingTask.type = task.type;\n\t\t}\n\t} else {\n\t\tthis.log(\"Queuing up sync task with type:\",task.type,\"title:\",task.title);\n\t\t// If it is not in the queue, insert it\n\t\tthis.taskQueue[task.title] = task;\n\t}\n\t// Process the queue\n\t$tw.utils.nextTick(function() {self.processTaskQueue.call(self);});\n};\n\n/*\nReturn the number of tasks in progress\n*/\nSyncer.prototype.numTasksInProgress = function() {\n\treturn $tw.utils.count(this.taskInProgress);\n};\n\n/*\nReturn the number of tasks in the queue\n*/\nSyncer.prototype.numTasksInQueue = function() {\n\treturn $tw.utils.count(this.taskQueue);\n};\n\n/*\nTrigger a timeout if one isn't already outstanding\n*/\nSyncer.prototype.triggerTimeout = function() {\n\tvar self = this;\n\tif(!this.taskTimerId) {\n\t\tthis.taskTimerId = setTimeout(function() {\n\t\t\tself.taskTimerId = null;\n\t\t\tself.processTaskQueue.call(self);\n\t\t},self.taskTimerInterval);\n\t}\n};\n\n/*\nProcess the task queue, performing the next task if appropriate\n*/\nSyncer.prototype.processTaskQueue = function() {\n\tvar self = this;\n\t// Only process a task if we're not already performing a task. If we are already performing a task then we'll dispatch the next one when it completes\n\tif(this.numTasksInProgress() === 0) {\n\t\t// Choose the next task to perform\n\t\tvar task = this.chooseNextTask();\n\t\t// Perform the task if we had one\n\t\tif(task) {\n\t\t\t// Remove the task from the queue and add it to the in progress list\n\t\t\tdelete this.taskQueue[task.title];\n\t\t\tthis.taskInProgress[task.title] = task;\n\t\t\t// Dispatch the task\n\t\t\tthis.dispatchTask(task,function(err) {\n\t\t\t\tif(err) {\n\t\t\t\t\tconsole.log(\"Sync error while processing '\" + task.title + \"':\\n\" + err);\n\t\t\t\t}\n\t\t\t\t// Mark that this task is no longer in progress\n\t\t\t\tdelete self.taskInProgress[task.title];\n\t\t\t\t// Process the next task\n\t\t\t\tself.processTaskQueue.call(self);\n\t\t\t});\n\t\t} else {\n\t\t\t// Make sure we've set a time if there wasn't a task to perform, but we've still got tasks in the queue\n\t\t\tif(this.numTasksInQueue() > 0) {\n\t\t\t\tthis.triggerTimeout();\n\t\t\t}\n\t\t}\n\t}\n};\n\n/*\nChoose the next applicable task\n*/\nSyncer.prototype.chooseNextTask = function() {\n\tvar self = this,\n\t\tcandidateTask = null,\n\t\tnow = new Date();\n\t// Select the best candidate task\n\t$tw.utils.each(this.taskQueue,function(task,title) {\n\t\t// Exclude the task if there's one of the same name in progress\n\t\tif($tw.utils.hop(self.taskInProgress,title)) {\n\t\t\treturn;\n\t\t}\n\t\t// Exclude the task if it is a save and the tiddler has been modified recently, but not hit the fallback time\n\t\tif(task.type === \"save\" && (now - task.lastModificationTime) < self.throttleInterval &&\n\t\t\t(now - task.queueTime) < self.fallbackInterval) {\n\t\t\treturn;\t\n\t\t}\n\t\t// Exclude the task if it is newer than the current best candidate\n\t\tif(candidateTask && candidateTask.queueTime < task.queueTime) {\n\t\t\treturn;\n\t\t}\n\t\t// Now this is our best candidate\n\t\tcandidateTask = task;\n\t});\n\treturn candidateTask;\n};\n\n/*\nDispatch a task and invoke the callback\n*/\nSyncer.prototype.dispatchTask = function(task,callback) {\n\tvar self = this;\n\tif(task.type === \"save\") {\n\t\tvar changeCount = this.wiki.getChangeCount(task.title),\n\t\t\ttiddler = this.wiki.getTiddler(task.title);\n\t\tthis.log(\"Dispatching 'save' task:\",task.title);\n\t\tif(tiddler) {\n\t\t\tthis.syncadaptor.saveTiddler(tiddler,function(err,adaptorInfo,revision) {\n\t\t\t\tif(err) {\n\t\t\t\t\treturn callback(err);\n\t\t\t\t}\n\t\t\t\t// Adjust the info stored about this tiddler\n\t\t\t\tself.tiddlerInfo[task.title] = {\n\t\t\t\t\tchangeCount: changeCount,\n\t\t\t\t\tadaptorInfo: adaptorInfo,\n\t\t\t\t\trevision: revision\n\t\t\t\t};\n\t\t\t\t// Invoke the callback\n\t\t\t\tcallback(null);\n\t\t\t});\n\t\t}\n\t} else if(task.type === \"load\") {\n\t\t// Load the tiddler\n\t\tthis.log(\"Dispatching 'load' task:\",task.title);\n\t\tthis.syncadaptor.loadTiddler(task.title,function(err,tiddlerFields) {\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\t// Store the tiddler\n\t\t\tif(tiddlerFields) {\n\t\t\t\tself.storeTiddler(tiddlerFields);\n\t\t\t}\n\t\t\t// Invoke the callback\n\t\t\tcallback(null);\n\t\t});\n\t} else if(task.type === \"delete\") {\n\t\t// Delete the tiddler\n\t\tthis.log(\"Dispatching 'delete' task:\",task.title);\n\t\tthis.syncadaptor.deleteTiddler(task.title,function(err) {\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\t// Invoke the callback\n\t\t\tcallback(null);\n\t\t});\n\t}\n};\n\nexports.Syncer = Syncer;\n\n})();\n",
            "title": "$:/core/modules/syncer.js",
            "type": "application/javascript",
            "module-type": "global"
        },
        "$:/core/modules/themes.js": {
            "text": "/*\\\ntitle: $:/core/modules/themes.js\ntype: application/javascript\nmodule-type: global\n\nManages themes and styling.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar THEME_PLUGIN_TITLE = \"$:/theme\", // This tiddler contains the title of the current theme plugin\n\tDEFAULT_THEME_PLUGINS = [\n\t\t\"$:/themes/tiddlywiki/snowwhite\",\n\t\t\"$:/themes/tiddlywiki/vanilla\"\n\t];\n\nfunction ThemeManager(wiki) {\n\tthis.wiki = wiki;\n\t// There's no theme to start with\n\tthis.currentThemeTitle = undefined;\n\t// Switch to the current theme\n\tthis.switchTheme();\n\t// Listen for changes to the theme\n\tvar self = this;\n\tthis.wiki.addEventListener(\"change\",function(changes) {\n\t\tif($tw.utils.hop(changes,THEME_PLUGIN_TITLE)) {\n\t\t\tself.switchTheme();\n\t\t}\n\t});\n}\n\nThemeManager.prototype.switchTheme = function() {\n\t// Get the name of the current theme\n\tvar themePluginTitle = this.wiki.getTiddlerText(THEME_PLUGIN_TITLE);\n\t// If it doesn't exist, then fallback to one of the default themes\n\tvar index = 0;\n\twhile(!this.wiki.getTiddler(themePluginTitle) && index < DEFAULT_THEME_PLUGINS.length) {\n\t\tthemePluginTitle = DEFAULT_THEME_PLUGINS[index++];\n\t}\n\t// Accumulate the titles of the plugins that we need to load\n\tvar themePlugins = [],\n\t\tself = this,\n\t\taccumulatePlugin = function(title) {\n\t\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\t\tif(tiddler && tiddler.isPlugin() && themePlugins.indexOf(title) === -1) {\n\t\t\t\tthemePlugins.push(title);\n\t\t\t\tvar pluginInfo = JSON.parse(self.wiki.getTiddlerText(title)),\n\t\t\t\t\tdependents = $tw.utils.parseStringArray(tiddler.fields.dependents || \"\");\n\t\t\t\t$tw.utils.each(dependents,function(title) {\n\t\t\t\t\taccumulatePlugin(title);\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\taccumulatePlugin(themePluginTitle);\n\t// Unregister any existing theme tiddlers\n\tvar unregisteredThemeTiddlers = $tw.wiki.unregisterPluginTiddlers(\"theme\");\n\t// Accumulate the titles of shadow tiddlers that have changed as a result of this switch\n\tvar changedTiddlers = {};\n\t$tw.utils.each(this.wiki.shadowTiddlers,function(shadowInfo,title) {\n\t\tif(unregisteredThemeTiddlers.indexOf(shadowInfo.source) !== -1) {\n\t\t\tchangedTiddlers[title] = true; // isDeleted?\n\t\t}\n\t});\n\t// Register any new theme tiddlers\n\tvar registeredThemeTiddlers = $tw.wiki.registerPluginTiddlers(\"theme\",themePlugins);\n\t// Unpack the current theme tiddlers\n\t$tw.wiki.unpackPluginTiddlers();\n\t// Accumulate the affected shadow tiddlers\n\t$tw.utils.each(this.wiki.shadowTiddlers,function(shadowInfo,title) {\n\t\tif(registeredThemeTiddlers.indexOf(shadowInfo.source) !== -1) {\n\t\t\tchangedTiddlers[title] = false; // isDeleted?\n\t\t}\n\t});\n\t// Issue change events for the modified tiddlers\n\t$tw.utils.each(changedTiddlers,function(status,title) {\n\t\tself.wiki.enqueueTiddlerEvent(title,status);\n\t});\n};\n\nexports.ThemeManager = ThemeManager;\n\n})();\n",
            "title": "$:/core/modules/themes.js",
            "type": "application/javascript",
            "module-type": "global"
        },
        "$:/core/modules/tiddler.js": {
            "text": "/*\\\ntitle: $:/core/modules/tiddler.js\ntype: application/javascript\nmodule-type: tiddlermethod\n\nExtension methods for the $tw.Tiddler object (constructor and methods required at boot time are in boot/boot.js)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.hasTag = function(tag) {\n\treturn this.fields.tags && this.fields.tags.indexOf(tag) !== -1;\n};\n\nexports.isPlugin = function() {\n\treturn this.fields.type === \"application/json\" && this.hasField(\"plugin-type\");\n}\n\nexports.getFieldString = function(field) {\n\tvar value = this.fields[field];\n\t// Check for a missing field\n\tif(value === undefined || value === null) {\n\t\treturn \"\";\n\t}\n\t// Parse the field with the associated module (if any)\n\tvar fieldModule = $tw.Tiddler.fieldModules[field];\n\tif(fieldModule && fieldModule.stringify) {\n\t\treturn fieldModule.stringify.call(this,value);\n\t} else {\n\t\treturn value.toString();\n\t}\n};\n\n/*\nGet all the fields as a name:value block. Options:\n\texclude: an array of field names to exclude\n*/\nexports.getFieldStringBlock = function(options) {\n\toptions = options || {};\n\tvar exclude = options.exclude || [];\n\tvar fields = [];\n\tfor(var field in this.fields) {\n\t\tif($tw.utils.hop(this.fields,field)) {\n\t\t\tif(exclude.indexOf(field) === -1) {\n\t\t\t\tfields.push(field + \": \" + this.getFieldString(field));\n\t\t\t}\n\t\t}\n\t}\n\treturn fields.join(\"\\n\");\n};\n\n})();\n",
            "title": "$:/core/modules/tiddler.js",
            "type": "application/javascript",
            "module-type": "tiddlermethod"
        },
        "$:/core/modules/utils/dom/animations/slide.js": {
            "text": "/*\\\ntitle: $:/core/modules/utils/dom/animations/slide.js\ntype: application/javascript\nmodule-type: animation\n\nA simple slide animation that varies the height of the element\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nfunction slideOpen(domNode,options) {\n\toptions = options || {};\n\tvar duration = options.duration || $tw.utils.getAnimationDuration();\n\t// Get the current height of the domNode\n\tvar computedStyle = window.getComputedStyle(domNode),\n\t\tcurrMarginBottom = parseInt(computedStyle.marginBottom,10),\n\t\tcurrMarginTop = parseInt(computedStyle.marginTop,10),\n\t\tcurrPaddingBottom = parseInt(computedStyle.paddingBottom,10),\n\t\tcurrPaddingTop = parseInt(computedStyle.paddingTop,10),\n\t\tcurrHeight = domNode.offsetHeight;\n\t// Reset the margin once the transition is over\n\tsetTimeout(function() {\n\t\t$tw.utils.setStyle(domNode,[\n\t\t\t{transition: \"none\"},\n\t\t\t{marginBottom: \"\"},\n\t\t\t{marginTop: \"\"},\n\t\t\t{paddingBottom: \"\"},\n\t\t\t{paddingTop: \"\"},\n\t\t\t{height: \"auto\"},\n\t\t\t{opacity: \"\"}\n\t\t]);\n\t\tif(options.callback) {\n\t\t\toptions.callback();\n\t\t}\n\t},duration);\n\t// Set up the initial position of the element\n\t$tw.utils.setStyle(domNode,[\n\t\t{transition: \"none\"},\n\t\t{marginTop: \"0px\"},\n\t\t{marginBottom: \"0px\"},\n\t\t{paddingTop: \"0px\"},\n\t\t{paddingBottom: \"0px\"},\n\t\t{height: \"0px\"},\n\t\t{opacity: \"0\"}\n\t]);\n\t$tw.utils.forceLayout(domNode);\n\t// Transition to the final position\n\t$tw.utils.setStyle(domNode,[\n\t\t{transition: \"margin-top \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"margin-bottom \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"padding-top \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"padding-bottom \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"height \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"opacity \" + duration + \"ms ease-in-out\"},\n\t\t{marginBottom: currMarginBottom + \"px\"},\n\t\t{marginTop: currMarginTop + \"px\"},\n\t\t{paddingBottom: currPaddingBottom + \"px\"},\n\t\t{paddingTop: currPaddingTop + \"px\"},\n\t\t{height: currHeight + \"px\"},\n\t\t{opacity: \"1\"}\n\t]);\n}\n\nfunction slideClosed(domNode,options) {\n\toptions = options || {};\n\tvar duration = options.duration || $tw.utils.getAnimationDuration(),\n\t\tcurrHeight = domNode.offsetHeight;\n\t// Clear the properties we've set when the animation is over\n\tsetTimeout(function() {\n\t\t$tw.utils.setStyle(domNode,[\n\t\t\t{transition: \"none\"},\n\t\t\t{marginBottom: \"\"},\n\t\t\t{marginTop: \"\"},\n\t\t\t{paddingBottom: \"\"},\n\t\t\t{paddingTop: \"\"},\n\t\t\t{height: \"auto\"},\n\t\t\t{opacity: \"\"}\n\t\t]);\n\t\tif(options.callback) {\n\t\t\toptions.callback();\n\t\t}\n\t},duration);\n\t// Set up the initial position of the element\n\t$tw.utils.setStyle(domNode,[\n\t\t{height: currHeight + \"px\"},\n\t\t{opacity: \"1\"}\n\t]);\n\t$tw.utils.forceLayout(domNode);\n\t// Transition to the final position\n\t$tw.utils.setStyle(domNode,[\n\t\t{transition: \"margin-top \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"margin-bottom \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"padding-top \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"padding-bottom \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"height \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"opacity \" + duration + \"ms ease-in-out\"},\n\t\t{marginTop: \"0px\"},\n\t\t{marginBottom: \"0px\"},\n\t\t{paddingTop: \"0px\"},\n\t\t{paddingBottom: \"0px\"},\n\t\t{height: \"0px\"},\n\t\t{opacity: \"0\"}\n\t]);\n}\n\nexports.slide = {\n\topen: slideOpen,\n\tclose: slideClosed\n};\n\n})();\n",
            "title": "$:/core/modules/utils/dom/animations/slide.js",
            "type": "application/javascript",
            "module-type": "animation"
        },
        "$:/core/modules/utils/dom/animator.js": {
            "text": "/*\\\ntitle: $:/core/modules/utils/dom/animator.js\ntype: application/javascript\nmodule-type: utils\n\nOrchestrates animations and transitions\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nfunction Animator() {\n\t// Get the registered animation modules\n\tthis.animations = {};\n\t$tw.modules.applyMethods(\"animation\",this.animations);\n}\n\nAnimator.prototype.perform = function(type,domNode,options) {\n\toptions = options || {};\n\t// Find an animation that can handle this type\n\tvar chosenAnimation;\n\t$tw.utils.each(this.animations,function(animation,name) {\n\t\tif($tw.utils.hop(animation,type)) {\n\t\t\tchosenAnimation = animation[type];\n\t\t}\n\t});\n\tif(!chosenAnimation) {\n\t\tchosenAnimation = function(domNode,options) {\n\t\t\tif(options.callback) {\n\t\t\t\toptions.callback();\n\t\t\t}\n\t\t};\n\t}\n\t// Call the animation\n\tchosenAnimation(domNode,options);\n};\n\nexports.Animator = Animator;\n\n})();\n",
            "title": "$:/core/modules/utils/dom/animator.js",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/utils/dom/browser.js": {
            "text": "/*\\\ntitle: $:/core/modules/utils/dom/browser.js\ntype: application/javascript\nmodule-type: utils\n\nBrowser feature detection\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSet style properties of an element\n\telement: dom node\n\tstyles: ordered array of {name: value} pairs\n*/\nexports.setStyle = function(element,styles) {\n\tif(element.nodeType === Element.ELEMENT_NODE) {\n\t\tfor(var t=0; t<styles.length; t++) {\n\t\t\tfor(var styleName in styles[t]) {\n\t\t\t\telement.style[$tw.utils.convertStyleNameToPropertyName(styleName)] = styles[t][styleName];\n\t\t\t}\n\t\t}\n\t}\n};\n\n/*\nConverts a standard CSS property name into the local browser-specific equivalent. For example:\n\t\"background-color\" --> \"backgroundColor\"\n\t\"transition\" --> \"webkitTransition\"\n*/\n\nvar styleNameCache = {}; // We'll cache the style name conversions\n\nexports.convertStyleNameToPropertyName = function(styleName) {\n\t// Return from the cache if we can\n\tif(styleNameCache[styleName]) {\n\t\treturn styleNameCache[styleName];\n\t}\n\t// Convert it by first removing any hyphens\n\tvar propertyName = $tw.utils.unHyphenateCss(styleName);\n\t// Then check if it needs a prefix\n\tif(document.body.style[propertyName] === undefined) {\n\t\tvar prefixes = [\"O\",\"MS\",\"Moz\",\"webkit\"];\n\t\tfor(var t=0; t<prefixes.length; t++) {\n\t\t\tvar prefixedName = prefixes[t] + propertyName.substr(0,1).toUpperCase() + propertyName.substr(1);\n\t\t\tif(document.body.style[prefixedName] !== undefined) {\n\t\t\t\tpropertyName = prefixedName;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\t// Put it in the cache too\n\tstyleNameCache[styleName] = propertyName;\n\treturn propertyName;\n};\n\n/*\nConverts a JS format CSS property name back into the dashed form used in CSS declarations. For example:\n\t\"backgroundColor\" --> \"background-color\"\n\t\"webkitTransform\" --> \"-webkit-transform\"\n*/\nexports.convertPropertyNameToStyleName = function(propertyName) {\n\t// Rehyphenate the name\n\tvar styleName = $tw.utils.hyphenateCss(propertyName);\n\t// If there's a webkit prefix, add a dash (other browsers have uppercase prefixes, and so get the dash automatically)\n\tif(styleName.indexOf(\"webkit\") === 0) {\n\t\tstyleName = \"-\" + styleName;\n\t} else if(styleName.indexOf(\"-m-s\") === 0) {\n\t\tstyleName = \"-ms\" + styleName.substr(4);\n\t}\n\treturn styleName;\n};\n\n/*\nRound trip a stylename to a property name and back again. For example:\n\t\"transform\" --> \"webkitTransform\" --> \"-webkit-transform\"\n*/\nexports.roundTripPropertyName = function(propertyName) {\n\treturn $tw.utils.convertPropertyNameToStyleName($tw.utils.convertStyleNameToPropertyName(propertyName));\n};\n\n/*\nConverts a standard event name into the local browser specific equivalent. For example:\n\t\"animationEnd\" --> \"webkitAnimationEnd\"\n*/\n\nvar eventNameCache = {}; // We'll cache the conversions\n\nvar eventNameMappings = {\n\t\"transitionEnd\": {\n\t\tcorrespondingCssProperty: \"transition\",\n\t\tmappings: {\n\t\t\ttransition: \"transitionend\",\n\t\t\tOTransition: \"oTransitionEnd\",\n\t\t\tMSTransition: \"msTransitionEnd\",\n\t\t\tMozTransition: \"transitionend\",\n\t\t\twebkitTransition: \"webkitTransitionEnd\"\n\t\t}\n\t},\n\t\"animationEnd\": {\n\t\tcorrespondingCssProperty: \"animation\",\n\t\tmappings: {\n\t\t\tanimation: \"animationend\",\n\t\t\tOAnimation: \"oAnimationEnd\",\n\t\t\tMSAnimation: \"msAnimationEnd\",\n\t\t\tMozAnimation: \"animationend\",\n\t\t\twebkitAnimation: \"webkitAnimationEnd\"\n\t\t}\n\t}\n};\n\nexports.convertEventName = function(eventName) {\n\tif(eventNameCache[eventName]) {\n\t\treturn eventNameCache[eventName];\n\t}\n\tvar newEventName = eventName,\n\t\tmappings = eventNameMappings[eventName];\n\tif(mappings) {\n\t\tvar convertedProperty = $tw.utils.convertStyleNameToPropertyName(mappings.correspondingCssProperty);\n\t\tif(mappings.mappings[convertedProperty]) {\n\t\t\tnewEventName = mappings.mappings[convertedProperty];\n\t\t}\n\t}\n\t// Put it in the cache too\n\teventNameCache[eventName] = newEventName;\n\treturn newEventName;\n};\n\n// Setup constants for the current browser\nexports.getBrowserInfo = function(info) {\n\tinfo.isIE = (/msie|trident/i.test(navigator.userAgent));\n};\n\n})();\n",
            "title": "$:/core/modules/utils/dom/browser.js",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/utils/dom.js": {
            "text": "/*\\\ntitle: $:/core/modules/utils/dom.js\ntype: application/javascript\nmodule-type: utils\n\nVarious static DOM-related utility functions.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nDetermines whether element 'a' contains element 'b'\nCode thanks to John Resig, http://ejohn.org/blog/comparing-document-position/\n*/\nexports.domContains = function(a,b) {\n\treturn a.contains ?\n\t\ta !== b && a.contains(b) :\n\t\t!!(a.compareDocumentPosition(b) & 16);\n};\n\nexports.removeChildren = function(node) {\n\twhile(node.hasChildNodes()) {\n\t\tnode.removeChild(node.firstChild);\n\t}\n};\n\nexports.hasClass = function(el,className) {\n\treturn el && el.className && el.className.split(\" \").indexOf(className) !== -1;\n};\n\nexports.addClass = function(el,className) {\n\tvar c = el.className.split(\" \");\n\tif(c.indexOf(className) === -1) {\n\t\tc.push(className);\n\t}\n\tel.className = c.join(\" \");\n};\n\nexports.removeClass = function(el,className) {\n\tvar c = el.className.split(\" \"),\n\t\tp = c.indexOf(className);\n\tif(p !== -1) {\n\t\tc.splice(p,1);\n\t\tel.className = c.join(\" \");\n\t}\n};\n\nexports.toggleClass = function(el,className,status) {\n\tif(status === undefined) {\n\t\tstatus = !exports.hasClass(el,className);\n\t}\n\tif(status) {\n\t\texports.addClass(el,className);\n\t} else {\n\t\texports.removeClass(el,className);\n\t}\n};\n\nexports.applyStyleSheet = function(id,css) {\n\tvar el = document.getElementById(id);\n\tif(document.createStyleSheet) { // Older versions of IE\n\t\tif(el) {\n\t\t\tel.parentNode.removeChild(el);\n\t\t}\n\t\tdocument.getElementsByTagName(\"head\")[0].insertAdjacentHTML(\"beforeEnd\",\n\t\t\t'&nbsp;<style id=\"' + id + '\" type=\"text/css\">' + css + '</style>'); // fails without &nbsp;\n\t} else { // Modern browsers\n\t\tif(el) {\n\t\t\tel.replaceChild(document.createTextNode(css), el.firstChild);\n\t\t} else {\n\t\t\tel = document.createElement(\"style\");\n\t\t\tel.type = \"text/css\";\n\t\t\tel.id = id;\n\t\t\tel.appendChild(document.createTextNode(css));\n\t\t\tdocument.getElementsByTagName(\"head\")[0].appendChild(el);\n\t\t}\n\t}\n};\n\n/*\nGet the scroll position of the viewport\nReturns:\n\t{\n\t\tx: horizontal scroll position in pixels,\n\t\ty: vertical scroll position in pixels\n\t}\n*/\nexports.getScrollPosition = function() {\n\tif(\"scrollX\" in window) {\n\t\treturn {x: window.scrollX, y: window.scrollY};\n\t} else {\n\t\treturn {x: document.documentElement.scrollLeft, y: document.documentElement.scrollTop};\n\t}\n};\n\n/*\nGets the bounding rectangle of an element in absolute page coordinates\n*/\nexports.getBoundingPageRect = function(element) {\n\tvar scrollPos = $tw.utils.getScrollPosition(),\n\t\tclientRect = element.getBoundingClientRect();\n\treturn {\n\t\tleft: clientRect.left + scrollPos.x,\n\t\twidth: clientRect.width,\n\t\tright: clientRect.right + scrollPos.x,\n\t\ttop: clientRect.top + scrollPos.y,\n\t\theight: clientRect.height,\n\t\tbottom: clientRect.bottom + scrollPos.y\n\t};\n};\n\n/*\nSaves a named password in the browser\n*/\nexports.savePassword = function(name,password) {\n\tif(window.localStorage) {\n\t\tlocalStorage.setItem(\"tw5-password-\" + name,password);\n\t}\n};\n\n/*\nRetrieve a named password from the browser\n*/\nexports.getPassword = function(name) {\n\treturn window.localStorage ? localStorage.getItem(\"tw5-password-\" + name) : \"\";\n};\n\n/*\nForce layout of a dom node and its descendents\n*/\nexports.forceLayout = function(element) {\n\tvar dummy = element.offsetWidth;\n};\n\n/*\nPulse an element for debugging purposes\n*/\nexports.pulseElement = function(element) {\n\t// Event handler to remove the class at the end\n\telement.addEventListener($tw.browser.animationEnd,function handler(event) {\n\t\telement.removeEventListener($tw.browser.animationEnd,handler,false);\n\t\t$tw.utils.removeClass(element,\"pulse\");\n\t},false);\n\t// Apply the pulse class\n\t$tw.utils.removeClass(element,\"pulse\");\n\t$tw.utils.forceLayout(element);\n\t$tw.utils.addClass(element,\"pulse\");\n};\n\n/*\nAttach specified event handlers to a DOM node\ndomNode: where to attach the event handlers\nevents: array of event handlers to be added (see below)\nEach entry in the events array is an object with these properties:\nhandlerFunction: optional event handler function\nhandlerObject: optional event handler object\nhandlerMethod: optionally specifies object handler method name (defaults to `handleEvent`)\n*/\nexports.addEventListeners = function(domNode,events) {\n\t$tw.utils.each(events,function(eventInfo) {\n\t\tvar handler;\n\t\tif(eventInfo.handlerFunction) {\n\t\t\thandler = eventInfo.handlerFunction;\n\t\t} else if(eventInfo.handlerObject) {\n\t\t\tif(eventInfo.handlerMethod) {\n\t\t\t\thandler = function(event) {\n\t\t\t\t\teventInfo.handlerObject[eventInfo.handlerMethod].call(eventInfo.handlerObject,event);\n\t\t\t\t};\t\n\t\t\t} else {\n\t\t\t\thandler = eventInfo.handlerObject;\n\t\t\t}\n\t\t}\n\t\tdomNode.addEventListener(eventInfo.name,handler,false);\n\t});\n};\n\n/*\nConstruct and dispatch a custom event\n*/\nexports.dispatchCustomEvent = function(target,name,members) {\n\tvar event = document.createEvent(\"Event\");\n\tevent.initEvent(name,true,true);\n\t$tw.utils.each(members,function(member,name) {\n\t\tevent[name] = member;\n\t});\n\ttarget.dispatchEvent(event); \n};\n\n\n})();\n",
            "title": "$:/core/modules/utils/dom.js",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/utils/dom/http.js": {
            "text": "/*\\\ntitle: $:/core/modules/utils/dom/http.js\ntype: application/javascript\nmodule-type: utils\n\nBrowser HTTP support\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nA quick and dirty HTTP function; to be refactored later. Options are:\n\turl: URL to retrieve\n\ttype: GET, PUT, POST etc\n\tcallback: function invoked with (err,data)\n*/\nexports.httpRequest = function(options) {\n\tvar type = options.type || \"GET\",\n\t\theaders = options.headers || {accept: \"application/json\"},\n\t\trequest = new XMLHttpRequest(),\n\t\tdata = \"\",\n\t\tf,results;\n\t// Massage the data hashmap into a string\n\tif(options.data) {\n\t\tif(typeof options.data === \"string\") { // Already a string\n\t\t\tdata = options.data;\n\t\t} else { // A hashmap of strings\n\t\t\tresults = [];\n\t\t\t$tw.utils.each(options.data,function(dataItem,dataItemTitle) {\n\t\t\t\tresults.push(dataItemTitle + \"=\" + encodeURIComponent(dataItem));\n\t\t\t});\n\t\t\tdata = results.join(\"&\");\n\t\t}\n\t}\n\t// Set up the state change handler\n\trequest.onreadystatechange = function() {\n\t\tif(this.readyState === 4) {\n\t\t\tif(this.status === 200 || this.status === 204) {\n\t\t\t\t// Success!\n\t\t\t\toptions.callback(null,this.responseText,this);\n\t\t\t\treturn;\n\t\t\t}\n\t\t// Something went wrong\n\t\toptions.callback(new Error(\"XMLHttpRequest error: \" + this.status));\n\t\t}\n\t};\n\t// Make the request\n\trequest.open(type,options.url,true);\n\tif(headers) {\n\t\t$tw.utils.each(headers,function(header,headerTitle,object) {\n\t\t\trequest.setRequestHeader(headerTitle,header);\n\t\t});\n\t}\n\tif(data && !$tw.utils.hop(headers,\"Content-type\")) {\n\t\trequest.setRequestHeader(\"Content-type\",\"application/x-www-form-urlencoded; charset=UTF-8\");\n\t}\n\trequest.send(data);\n\treturn request;\n};\n\n})();\n",
            "title": "$:/core/modules/utils/dom/http.js",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/utils/dom/modal.js": {
            "text": "/*\\\ntitle: $:/core/modules/utils/dom/modal.js\ntype: application/javascript\nmodule-type: utils\n\nModal message mechanism\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nvar Modal = function(wiki) {\n\tthis.wiki = wiki;\n\tthis.modalCount = 0;\n};\n\n/*\nDisplay a modal dialogue\n\ttitle: Title of tiddler to display\n\toptions: see below\nOptions include:\n\tdownloadLink: Text of a big download link to include\n*/\nModal.prototype.display = function(title,options) {\n\toptions = options || {};\n\tvar self = this,\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t\ttiddler = this.wiki.getTiddler(title);\n\t// Don't do anything if the tiddler doesn't exist\n\tif(!tiddler) {\n\t\treturn;\n\t}\n\t// Create the wrapper divs\n\tvar wrapper = document.createElement(\"div\"),\n\t\tmodalBackdrop = document.createElement(\"div\"),\n\t\tmodalWrapper = document.createElement(\"div\"),\n\t\tmodalHeader = document.createElement(\"div\"),\n\t\theaderTitle = document.createElement(\"h3\"),\n\t\tmodalBody = document.createElement(\"div\"),\n\t\tmodalLink = document.createElement(\"a\"),\n\t\tmodalFooter = document.createElement(\"div\"),\n\t\tmodalFooterHelp = document.createElement(\"span\"),\n\t\tmodalFooterButtons = document.createElement(\"span\");\n\t// Up the modal count and adjust the body class\n\tthis.modalCount++;\n\tthis.adjustPageClass();\n\t// Add classes\n\t$tw.utils.addClass(wrapper,\"modal-wrapper\");\n\t$tw.utils.addClass(modalBackdrop,\"modal-backdrop\");\n\t$tw.utils.addClass(modalWrapper,\"modal\");\n\t$tw.utils.addClass(modalHeader,\"modal-header\");\n\t$tw.utils.addClass(modalBody,\"modal-body\");\n\t$tw.utils.addClass(modalLink,\"btn btn-large btn-block btn-success\");\n\t$tw.utils.addClass(modalFooter,\"modal-footer\");\n\t// Join them together\n\twrapper.appendChild(modalBackdrop);\n\twrapper.appendChild(modalWrapper);\n\tmodalHeader.appendChild(headerTitle);\n\tmodalWrapper.appendChild(modalHeader);\n\tmodalWrapper.appendChild(modalBody);\n\tmodalFooter.appendChild(modalFooterHelp);\n\tmodalFooter.appendChild(modalFooterButtons);\n\tmodalWrapper.appendChild(modalFooter);\n\t// Render the title of the message\n\tvar titleText;\n\tif(tiddler && tiddler.fields && tiddler.fields.subtitle) {\n\t\ttitleText = tiddler.fields.subtitle;\n\t} else {\n\t\ttitleText = title;\n\t}\n\tvar headerParser = this.wiki.parseText(\"text/vnd.tiddlywiki\",titleText,{parseAsInline: true}),\n\t\theaderWidgetNode = this.wiki.makeWidget(headerParser,{parentWidget: $tw.rootWidget, document: document});\n\theaderWidgetNode.render(headerTitle,null);\n\tthis.wiki.addEventListener(\"change\",function(changes) {\n\t\theaderWidgetNode.refresh(changes,modalHeader,null);\n\t});\n\t// Render the body of the message\n\tvar bodyParser = this.wiki.parseTiddler(title),\n\t\tbodyWidgetNode = this.wiki.makeWidget(bodyParser,{parentWidget: $tw.rootWidget, document: document});\n\tbodyWidgetNode.render(modalBody,null);\n\tthis.wiki.addEventListener(\"change\",function(changes) {\n\t\tbodyWidgetNode.refresh(changes,modalBody,null);\n\t});\n\t// Setup the link if present\n\tif(options.downloadLink) {\n\t\tmodalLink.href = options.downloadLink\n\t\tmodalLink.appendChild(document.createTextNode(\"Right-click to save changes\"));\n\t\tmodalBody.appendChild(modalLink);\n\t}\n\t// Render the footer of the message\n\tif(tiddler && tiddler.fields && tiddler.fields.help) {\n\t\tvar link = document.createElement(\"a\");\n\t\tlink.setAttribute(\"href\",tiddler.fields.help);\n\t\tlink.setAttribute(\"target\",\"_blank\");\n\t\tlink.appendChild(document.createTextNode(\"Help\"));\n\t\tmodalFooterHelp.appendChild(link);\n\t\tmodalFooterHelp.style.float = \"left\";\n\t}\n\tvar footerText;\n\tif(tiddler && tiddler.fields && tiddler.fields.footer) {\n\t\tfooterText = tiddler.fields.footer;\n\t} else {\n\t\tfooterText = '<$button message=\"tw-close-tiddler\" class=\"btn btn-primary\">Close</$button>';\n\t}\n\tvar footerParser = this.wiki.parseText(\"text/vnd.tiddlywiki\",footerText,{parseAsInline: true}),\n\t\tfooterWidgetNode = this.wiki.makeWidget(footerParser,{parentWidget: $tw.rootWidget, document: document});\n\tfooterWidgetNode.render(modalFooterButtons,null);\n\tthis.wiki.addEventListener(\"change\",function(changes) {\n\t\tfooterWidgetNode.refresh(changes,modalFooterButtons,null);\n\t});\n\t// Add the close event handler\n\tvar closeHandler = function(event) {\n\t\t// Decrease the modal count and adjust the body class\n\t\tself.modalCount--;\n\t\tself.adjustPageClass();\n\t\t// Force layout and animate the modal message away\n\t\t$tw.utils.forceLayout(modalBackdrop);\n\t\t$tw.utils.forceLayout(modalWrapper);\n\t\t$tw.utils.setStyle(modalBackdrop,[\n\t\t\t{opacity: \"0\"}\n\t\t]);\n\t\t$tw.utils.setStyle(modalWrapper,[\n\t\t\t{transform: \"translateY(\" + window.innerHeight + \"px)\"}\n\t\t]);\n\t\t// Set up an event for the transition end\n\t\twindow.setTimeout(function() {\n\t\t\tif(wrapper.parentNode) {\n\t\t\t\t// Remove the modal message from the DOM\n\t\t\t\tdocument.body.removeChild(wrapper);\n\t\t\t}\n\t\t},duration);\n\t\t// Don't let anyone else handle the tw-close-tiddler message\n\t\treturn false;\n\t};\n\theaderWidgetNode.addEventListener(\"tw-close-tiddler\",closeHandler,false);\n\tbodyWidgetNode.addEventListener(\"tw-close-tiddler\",closeHandler,false);\n\tfooterWidgetNode.addEventListener(\"tw-close-tiddler\",closeHandler,false);\n\t// Set the initial styles for the message\n\t$tw.utils.setStyle(modalBackdrop,[\n\t\t{opacity: \"0\"}\n\t]);\n\t$tw.utils.setStyle(modalWrapper,[\n\t\t{transformOrigin: \"0% 0%\"},\n\t\t{transform: \"translateY(\" + (-window.innerHeight) + \"px)\"}\n\t]);\n\t// Put the message into the document\n\tdocument.body.appendChild(wrapper);\n\t// Set up animation for the styles\n\t$tw.utils.setStyle(modalBackdrop,[\n\t\t{transition: \"opacity \" + duration + \"ms ease-out\"}\n\t]);\n\t$tw.utils.setStyle(modalWrapper,[\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms ease-in-out\"}\n\t]);\n\t// Force layout\n\t$tw.utils.forceLayout(modalBackdrop);\n\t$tw.utils.forceLayout(modalWrapper);\n\t// Set final animated styles\n\t$tw.utils.setStyle(modalBackdrop,[\n\t\t{opacity: \"0.7\"}\n\t]);\n\t$tw.utils.setStyle(modalWrapper,[\n\t\t{transform: \"translateY(0px)\"}\n\t]);\n};\n\nModal.prototype.adjustPageClass = function() {\n\tif($tw.pageContainer) {\n\t\t$tw.utils.toggleClass($tw.pageContainer,\"tw-modal-displayed\",this.modalCount > 0);\n\t}\n};\n\nexports.Modal = Modal;\n\n})();\n",
            "title": "$:/core/modules/utils/dom/modal.js",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/utils/dom/notifier.js": {
            "text": "/*\\\ntitle: $:/core/modules/utils/dom/notifier.js\ntype: application/javascript\nmodule-type: utils\n\nNotifier mechanism\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nvar Notifier = function(wiki) {\n\tthis.wiki = wiki;\n};\n\n/*\nDisplay a notification\n\ttitle: Title of tiddler containing the notification text\n\toptions: see below\nOptions include:\n*/\nNotifier.prototype.display = function(title,options) {\n\toptions = options || {};\n\t// Create the wrapper divs\n\tvar notification = document.createElement(\"div\"),\n\t\ttiddler = this.wiki.getTiddler(title),\n\t\tduration = $tw.utils.getAnimationDuration();\n\t// Don't do anything if the tiddler doesn't exist\n\tif(!tiddler) {\n\t\treturn;\n\t}\n\t// Add classes\n\t$tw.utils.addClass(notification,\"tw-notification\");\n\t// Render the body of the notification\n\tvar parser = this.wiki.parseTiddler(title),\n\t\twidgetNode = this.wiki.makeWidget(parser,{parentWidget: $tw.rootWidget, document: document});\n\twidgetNode.render(notification,null);\n\tthis.wiki.addEventListener(\"change\",function(changes) {\n\t\twidgetNode.refresh(changes,notification,null);\n\t});\n\t// Set the initial styles for the notification\n\t$tw.utils.setStyle(notification,[\n\t\t{opacity: \"0\"},\n\t\t{transformOrigin: \"0% 0%\"},\n\t\t{transform: \"translateY(\" + (-window.innerHeight) + \"px)\"},\n\t\t{transition: \"opacity \" + duration + \"ms ease-out, \" + $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms ease-in-out\"}\n\t]);\n\t// Add the notification to the DOM\n\tdocument.body.appendChild(notification);\n\t// Force layout\n\t$tw.utils.forceLayout(notification);\n\t// Set final animated styles\n\t$tw.utils.setStyle(notification,[\n\t\t{opacity: \"1.0\"},\n\t\t{transform: \"translateY(0px)\"}\n\t]);\n\t// Set a timer to remove the notification\n\twindow.setTimeout(function() {\n\t\t// Force layout and animate the notification away\n\t\t$tw.utils.forceLayout(notification);\n\t\t$tw.utils.setStyle(notification,[\n\t\t\t{opacity: \"0.0\"},\n\t\t\t{transform: \"translateX(\" + (notification.offsetWidth) + \"px)\"}\n\t\t]);\n\t\t// Set up an event for the transition end\n\t\tnotification.addEventListener($tw.utils.convertEventName(\"transitionEnd\"),function(event) {\n\t\t\tif(notification.parentNode) {\n\t\t\t\t// Remove the modal message from the DOM\n\t\t\t\tdocument.body.removeChild(notification);\n\t\t\t}\n\t\t},false);\n\t},$tw.config.preferences.notificationDuration);\n};\n\nexports.Notifier = Notifier;\n\n})();\n",
            "title": "$:/core/modules/utils/dom/notifier.js",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/utils/dom/popup.js": {
            "text": "/*\\\ntitle: $:/core/modules/utils/dom/popup.js\ntype: application/javascript\nmodule-type: utils\n\nModule that creates a $tw.utils.Popup object prototype that manages popups in the browser\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nCreates a Popup object with these options:\n\trootElement: the DOM element to which the popup zapper should be attached\n*/\nvar Popup = function(options) {\n\toptions = options || {};\n\tthis.rootElement = options.rootElement || document.body;\n};\n\nPopup.prototype.show = function(options) {\n\tthis.cancel();\n\tthis.title = options.title;\n\tthis.wiki = options.wiki;\n\tthis.anchorDomNode = options.domNode;\n\t$tw.utils.addClass(this.anchorDomNode,\"tw-popup\");\n\tthis.rootElement.addEventListener(\"click\",this,false);\n};\n\nPopup.prototype.handleEvent = function(event) {\n\t// Dismiss the popup if we get a click on an element that doesn't have .tw-popup class\n\tif(event.type === \"click\") {\n\t\tvar node = event.target;\n\t\twhile(node && !$tw.utils.hasClass(node,\"tw-popup\")) {\n\t\t\tnode = node.parentNode;\n\t\t}\n\t\tif(!node) {\n\t\t\tthis.cancel();\n\t\t}\n\t}\n};\n\nPopup.prototype.cancel = function() {\n\tif(this.anchorDomNode) {\n\t\t$tw.utils.removeClass(this.anchorDomNode,\"tw-popup\");\n\t\tthis.anchorDomNode = null;\t\t\n\t}\n\tthis.rootElement.removeEventListener(\"click\",this,false);\n\tif(this.title) {\n\t\tthis.wiki.deleteTiddler(this.title);\n\t\tthis.title = null;\n\t}\n};\n\n/*\nTrigger a popup open or closed. Parameters are in a hashmap:\n\ttitle: title of the tiddler where the popup details are stored\n\tdomNode: dom node to which the popup will be positioned\n\twiki: wiki\n\tforce: if specified, forces the popup state to true or false\n*/\nPopup.prototype.triggerPopup = function(options) {\n\t// Get the current popup state tiddler\n\tvar value = options.wiki.getTextReference(options.title,\"\");\n\t// Check if the popup is open by checking whether it matches \"(<x>,<y>)\"\n\tvar state = !this.readPopupState(options.title,value);\n\tif(\"force\" in options) {\n\t\tstate = options.force;\n\t}\n\tif(state) {\n\t\t// Set the position if we're opening it\n\t\tthis.cancel();\n\t\toptions.wiki.setTextReference(options.title,\n\t\t\t\"(\" + options.domNode.offsetLeft + \",\" + options.domNode.offsetTop + \",\" + \n\t\t\t\toptions.domNode.offsetWidth + \",\" + options.domNode.offsetHeight + \")\");\n\t\tthis.show(options);\n\t} else {\n\t\tthis.cancel();\n\t}\n};\n\n/*\nReturns true if the specified title and text identifies an active popup\n*/\nPopup.prototype.readPopupState = function(title,text) {\n\tvar popupLocationRegExp = /^\\((-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+)\\)$/,\n\t\tresult = false;\n\tif(this.title === title) {\n\t\tresult = popupLocationRegExp.test(text);\n\t}\n\treturn result;\n};\n\nexports.Popup = Popup;\n\n})();\n",
            "title": "$:/core/modules/utils/dom/popup.js",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/utils/dom/scroller.js": {
            "text": "/*\\\ntitle: $:/core/modules/utils/dom/scroller.js\ntype: application/javascript\nmodule-type: utils\n\nModule that creates a $tw.utils.Scroller object prototype that manages scrolling in the browser\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nEvent handler for when the `tw-scroll` event hits the document body\n*/\nvar PageScroller = function() {\n\tthis.idRequestFrame = null;\n\tthis.requestAnimationFrame = window.requestAnimationFrame ||\n\t\twindow.webkitRequestAnimationFrame ||\n\t\twindow.mozRequestAnimationFrame ||\n\t\tfunction(callback) {\n\t\t\treturn window.setTimeout(callback, 1000/60);\n\t\t};\n\tthis.cancelAnimationFrame = window.cancelAnimationFrame ||\n\t\twindow.webkitCancelAnimationFrame ||\n\t\twindow.webkitCancelRequestAnimationFrame ||\n\t\twindow.mozCancelAnimationFrame ||\n\t\twindow.mozCancelRequestAnimationFrame ||\n\t\tfunction(id) {\n\t\t\twindow.clearTimeout(id);\n\t\t};\n};\n\nPageScroller.prototype.cancelScroll = function() {\n\tif(this.idRequestFrame) {\n\t\tthis.cancelAnimationFrame.call(window,this.idRequestFrame);\n\t\tthis.idRequestFrame = null;\n\t}\n};\n\n/*\nHandle an event\n*/\nPageScroller.prototype.handleEvent = function(event) {\n\tif(event.type === \"tw-scroll\") {\n\t\treturn this.scrollIntoView(event.target);\n\t}\n\treturn true;\n};\n\n/*\nHandle a scroll event hitting the page document\n*/\nPageScroller.prototype.scrollIntoView = function(element) {\n\tvar duration = $tw.utils.getAnimationDuration();\n\t// Get the offset bounds of the element\n\tvar bounds = {\n\t\t\tleft: element.offsetLeft,\n\t\t\ttop: element.offsetTop,\n\t\t\twidth: element.offsetWidth,\n\t\t\theight: element.offsetHeight\n\t\t};\n\t// Walk up the tree adjusting the offset bounds by each offsetParent\n\twhile(element.offsetParent) {\n\t\telement = element.offsetParent;\n\t\tbounds.left += element.offsetLeft;\n\t\tbounds.top += element.offsetTop;\n\t}\n\t// Now get ready to scroll the body\n\tthis.cancelScroll();\n\tthis.startTime = new Date();\n\tvar scrollPosition = $tw.utils.getScrollPosition(),\n\t\t// We'll consider the horizontal and vertical scroll directions separately via this function\n\t\tgetEndPos = function(targetPos,targetSize,currentPos,currentSize) {\n\t\t\t// If the target is above/left of the current view, then scroll to it's top/left\n\t\t\tif(targetPos <= currentPos) {\n\t\t\t\treturn targetPos;\n\t\t\t// If the target is smaller than the window and the scroll position is too far up, then scroll till the target is at the bottom of the window\n\t\t\t} else if(targetSize < currentSize && currentPos < (targetPos + targetSize - currentSize)) {\n\t\t\t\treturn targetPos + targetSize - currentSize;\n\t\t\t// If the target is big, then just scroll to the top\n\t\t\t} else if(currentPos < targetPos) {\n\t\t\t\treturn targetPos;\n\t\t\t// Otherwise, stay where we are\n\t\t\t} else {\n\t\t\t\treturn currentPos;\n\t\t\t}\n\t\t},\n\t\tendX = getEndPos(bounds.left,bounds.width,scrollPosition.x,window.innerWidth),\n\t\tendY = getEndPos(bounds.top,bounds.height,scrollPosition.y,window.innerHeight);\n\t// Only scroll if necessary\n\tif(endX !== scrollPosition.x || endY !== scrollPosition.y) {\n\t\tvar self = this,\n\t\t\tdrawFrame;\n\t\tdrawFrame = function () {\n\t\t\tvar t;\n\t\t\tif(duration <= 0) {\n\t\t\t\tt = 1;\n\t\t\t} else {\n\t\t\t\tt = ((new Date()) - self.startTime) / duration;\t\n\t\t\t}\n\t\t\tif(t >= 1) {\n\t\t\t\tself.cancelScroll();\n\t\t\t\tt = 1;\n\t\t\t}\n\t\t\tt = $tw.utils.slowInSlowOut(t);\n\t\t\twindow.scrollTo(scrollPosition.x + (endX - scrollPosition.x) * t,scrollPosition.y + (endY - scrollPosition.y) * t);\n\t\t\tif(t < 1) {\n\t\t\t\tself.idRequestFrame = self.requestAnimationFrame.call(window,drawFrame);\n\t\t\t}\n\t\t};\n\t\tdrawFrame();\n\t}\n};\n\nexports.PageScroller = PageScroller;\n\n})();\n",
            "title": "$:/core/modules/utils/dom/scroller.js",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/utils/fakedom.js": {
            "text": "/*\\\ntitle: $:/core/modules/utils/fakedom.js\ntype: application/javascript\nmodule-type: global\n\nA barebones implementation of DOM interfaces needed by the rendering mechanism.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Sequence number used to enable us to track objects for testing\nvar sequenceNumber = null;\n\nvar bumpSequenceNumber = function(object) {\n\tif(sequenceNumber !== null) {\n\t\tobject.sequenceNumber = sequenceNumber++;\n\t}\n}\n\nvar TW_TextNode = function(text) {\n\tbumpSequenceNumber(this);\n\tthis.textContent = text;\n};\n\nvar TW_Element = function(tag,namespace) {\n\tbumpSequenceNumber(this);\n\tthis.isTiddlyWikiFakeDom = true;\n\tthis.tag = tag;\n\tthis.attributes = {};\n\tthis.isRaw = false;\n\tthis.children = [];\n\tthis.namespaceURI = namespace || \"http://www.w3.org/1999/xhtml\";\n};\n\nTW_Element.prototype.setAttribute = function(name,value) {\n\tif(this.isRaw) {\n\t\tthrow \"Cannot setAttribute on a raw TW_Element\";\n\t}\n\tthis.attributes[name] = value;\n};\n\nTW_Element.prototype.setAttributeNS = function(namespace,name,value) {\n\tthis.setAttribute(name,value);\n};\n\nTW_Element.prototype.removeAttribute = function(name) {\n\tif(this.isRaw) {\n\t\tthrow \"Cannot removeAttribute on a raw TW_Element\";\n\t}\n\tif($tw.utils.hop(this.attributes,name)) {\n\t\tdelete this.attributes[name];\n\t}\n};\n\nTW_Element.prototype.appendChild = function(node) {\n\tthis.children.push(node);\n\tnode.parentNode = this;\n};\n\nTW_Element.prototype.insertBefore = function(node,nextSibling) {\n\tif(nextSibling) {\n\t\tvar p = this.children.indexOf(nextSibling);\n\t\tif(p !== -1) {\n\t\t\tthis.children.splice(p,0,node);\n\t\t\tnode.parentNode = this;\n\t\t} else {\n\t\t\tthis.appendChild(node);\n\t\t}\n\t} else {\n\t\tthis.appendChild(node);\n\t}\n}\n\nTW_Element.prototype.removeChild = function(node) {\n\tvar p = this.children.indexOf(node);\n\tif(p !== -1) {\n\t\tthis.children.splice(p,1);\n\t}\n};\n\nTW_Element.prototype.hasChildNodes = function() {\n\treturn !!this.children.length;\n};\n\nObject.defineProperty(TW_Element.prototype, \"firstChild\", {\n    get: function() {\n    \treturn this.children[0];\n    }\n});\n\nTW_Element.prototype.addEventListener = function(type,listener,useCapture) {\n\t// Do nothing\n};\n\nObject.defineProperty(TW_Element.prototype, \"className\", {\n\tget: function() {\n\t\treturn this.attributes[\"class\"] || \"\";\n\t},\n    set: function(value) {\n    \tthis.attributes[\"class\"] = value;\n    }\n});\n\nObject.defineProperty(TW_Element.prototype, \"outerHTML\", {\n    get: function() {\n\t\tvar output = [],attr,a,v;\n\t\toutput.push(\"<\",this.tag);\n\t\tif(this.attributes) {\n\t\t\tattr = [];\n\t\t\tfor(a in this.attributes) {\n\t\t\t\tattr.push(a);\n\t\t\t}\n\t\t\tattr.sort();\n\t\t\tfor(a=0; a<attr.length; a++) {\n\t\t\t\tv = this.attributes[attr[a]];\n\t\t\t\tif(v !== undefined) {\n\t\t\t\t\toutput.push(\" \",attr[a],\"='\",$tw.utils.htmlEncode(v),\"'\");\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\toutput.push(\">\");\n\t\tif($tw.config.htmlVoidElements.indexOf(this.tag) === -1) {\n\t\t\toutput.push(this.innerHTML);\n\t\t\toutput.push(\"</\",this.tag,\">\");\n\t\t}\n\t\treturn output.join(\"\");\n    }\n});\n\nObject.defineProperty(TW_Element.prototype, \"innerHTML\", {\n\tget: function() {\n\t\tif(this.isRaw) {\n\t\t\treturn this.rawHTML;\n\t\t} else {\n\t\t\tvar b = [];\n\t\t\t$tw.utils.each(this.children,function(node) {\n\t\t\t\tif(node instanceof TW_Element) {\n\t\t\t\t\tb.push(node.outerHTML);\n\t\t\t\t} else if(node instanceof TW_TextNode) {\n\t\t\t\t\tb.push($tw.utils.htmlEncode(node.textContent));\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn b.join(\"\");\n\t\t}\n\t},\n    set: function(value) {\n    \tthis.isRaw = true;\n    \tthis.rawHTML = value;\n    }\n});\n\nObject.defineProperty(TW_Element.prototype, \"textContent\", {\n\tget: function() {\n\t\tif(this.isRaw) {\n\t\t\tthrow \"Cannot get textContent on a raw TW_Element\";\n\t\t} else {\n\t\t\tvar b = [];\n\t\t\t$tw.utils.each(this.children,function(node) {\n\t\t\t\tb.push(node.textContent);\n\t\t\t});\n\t\t\treturn b.join(\"\");\n\t\t}\n\t}\n});\n\nvar document = {\n\tsetSequenceNumber: function(value) {\n\t\tsequenceNumber = value;\n\t},\n\tcreateElementNS: function(namespace,tag) {\n\t\treturn new TW_Element(tag,namespace);\n\t},\n\tcreateElement: function(tag) {\n\t\treturn new TW_Element(tag);\n\t},\n\tcreateTextNode: function(text) {\n\t\treturn new TW_TextNode(text);\n\t},\n};\n\nexports.document = document;\n\n})();\n",
            "title": "$:/core/modules/utils/fakedom.js",
            "type": "application/javascript",
            "module-type": "global"
        },
        "$:/core/modules/utils/parsetree.js": {
            "text": "/*\\\ntitle: $:/core/modules/utils/parsetree.js\ntype: application/javascript\nmodule-type: utils\n\nParse tree utility functions.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.addAttributeToParseTreeNode = function(node,name,value) {\n\tif(node.type === \"element\") {\n\t\tnode.attributes = node.attributes || {};\n\t\tnode.attributes[name] = {type: \"string\", value: value};\n\t}\n};\n\nexports.getAttributeValueFromParseTreeNode = function(node,name,defaultValue) {\n\tif(node.type === \"element\" && node.attributes && node.attributes[name] && node.attributes[name].value !== undefined) {\n\t\treturn node.attributes[name].value;\n\t}\n\treturn defaultValue;\n};\n\nexports.addClassToParseTreeNode = function(node,classString) {\n\tvar classes = [];\n\tif(node.type === \"element\") {\n\t\tnode.attributes = node.attributes || {};\n\t\tnode.attributes[\"class\"] = node.attributes[\"class\"] || {type: \"string\", value: \"\"};\n\t\tif(node.attributes[\"class\"].type === \"string\") {\n\t\t\tif(node.attributes[\"class\"].value !== \"\") {\n\t\t\t\tclasses = node.attributes[\"class\"].value.split(\" \");\n\t\t\t}\n\t\t\tif(classString !== \"\") {\n\t\t\t\t$tw.utils.pushTop(classes,classString.split(\" \"));\n\t\t\t}\n\t\t\tnode.attributes[\"class\"].value = classes.join(\" \");\n\t\t}\n\t}\n};\n\nexports.addStyleToParseTreeNode = function(node,name,value) {\n\tif(node.type === \"element\") {\n\t\tnode.attributes = node.attributes || {};\n\t\tnode.attributes[\"style\"] = node.attributes[\"style\"] || {type: \"string\", value: \"\"};\n\t\tif(node.attributes[\"style\"].type === \"string\") {\n\t\t\tnode.attributes[\"style\"].value += name + \":\" + value + \";\";\n\t\t}\n\t}\n};\n\nexports.findParseTreeNode = function(nodeArray,search) {\n\tfor(var t=0; t<nodeArray.length; t++) {\n\t\tif(nodeArray[t].type === search.type && nodeArray[t].tag === search.tag) {\n\t\t\treturn nodeArray[t];\n\t\t}\n\t}\n\treturn undefined;\n};\n\n})();\n",
            "title": "$:/core/modules/utils/parsetree.js",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/utils/utils.js": {
            "text": "/*\\\ntitle: $:/core/modules/utils/utils.js\ntype: application/javascript\nmodule-type: utils\n\nVarious static utility functions.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nTrim whitespace from the start and end of a string\nThanks to Steven Levithan, http://blog.stevenlevithan.com/archives/faster-trim-javascript\n*/\nexports.trim = function(str) {\n\tif(typeof str === \"string\") {\n\t\treturn str.replace(/^\\s\\s*/, '').replace(/\\s\\s*$/, '');\n\t} else {\n\t\treturn str;\n\t}\n};\n\n/*\nReturn the number of keys in an object\n*/\nexports.count = function(object) {\n\tvar s = 0;\n\t$tw.utils.each(object,function() {s++;});\n\treturn s;\n};\n\n/*\nPush entries onto an array, removing them first if they already exist in the array\n\tarray: array to modify\n\tvalue: a single value to push or an array of values to push\n*/\nexports.pushTop = function(array,value) {\n\tvar t,p;\n\tif($tw.utils.isArray(value)) {\n\t\t// Remove any array entries that are duplicated in the new values\n\t\tfor(t=0; t<value.length; t++) {\n\t\t\tp = array.indexOf(value[t]);\n\t\t\tif(p !== -1) {\n\t\t\t\tarray.splice(p,1);\n\t\t\t}\n\t\t}\n\t\t// Push the values on top of the main array\n\t\tarray.push.apply(array,value);\n\t} else {\n\t\tp = array.indexOf(value);\n\t\tif(p !== -1) {\n\t\t\tarray.splice(p,1);\n\t\t}\n\t\tarray.push(value);\n\t}\n};\n\n/*\nRemove entries from an array\n\tarray: array to modify\n\tvalue: a single value to remove, or an array of values to remove\n*/\nexports.removeArrayEntries = function(array,value) {\n\tvar t,p;\n\tif($tw.utils.isArray(value)) {\n\t\tfor(t=0; t<value.length; t++) {\n\t\t\tp = array.indexOf(value[t]);\n\t\t\tif(p !== -1) {\n\t\t\t\tarray.splice(p,1);\n\t\t\t}\n\t\t}\n\t} else {\n\t\tp = array.indexOf(value);\n\t\tif(p !== -1) {\n\t\t\tarray.splice(p,1);\n\t\t}\n\t}\n};\n\n/*\nCheck whether any members of a hashmap are present in another hashmap\n*/\nexports.checkDependencies = function(dependencies,changes) {\n\tvar hit = false;\n\t$tw.utils.each(changes,function(change,title) {\n\t\tif($tw.utils.hop(dependencies,title)) {\n\t\t\thit = true;\n\t\t}\n\t});\n\treturn hit;\n};\n\nexports.extend = function(object /* [, src] */) {\n\t$tw.utils.each(Array.prototype.slice.call(arguments, 1), function(source) {\n\t\tif(source) {\n\t\t\tfor(var property in source) {\n\t\t\t\tobject[property] = source[property];\n\t\t\t}\n\t\t}\n\t});\n\treturn object;\n};\n\nexports.deepCopy = function(object) {\n\tvar result,t;\n\tif($tw.utils.isArray(object)) {\n\t\t// Copy arrays\n\t\tresult = object.slice(0);\n\t} else if(typeof object === \"object\") {\n\t\tresult = {};\n\t\tfor(t in object) {\n\t\t\tif(object[t] !== undefined) {\n\t\t\t\tresult[t] = $tw.utils.deepCopy(object[t]);\n\t\t\t}\n\t\t}\n\t} else {\n\t\tresult = object;\n\t}\n\treturn result;\n};\n\nexports.extendDeepCopy = function(object,extendedProperties) {\n\tvar result = $tw.utils.deepCopy(object),t;\n\tfor(t in extendedProperties) {\n\t\tif(extendedProperties[t] !== undefined) {\n\t\t\tresult[t] = $tw.utils.deepCopy(extendedProperties[t]);\n\t\t}\n\t}\n\treturn result;\n};\n\nexports.slowInSlowOut = function(t) {\n\treturn (1 - ((Math.cos(t * Math.PI) + 1) / 2));\n};\n\nexports.formatDateString = function (date,template) {\n\tvar t = template.replace(/0hh12/g,$tw.utils.pad($tw.utils.getHours12(date)));\n\tt = t.replace(/hh12/g,$tw.utils.getHours12(date));\n\tt = t.replace(/0hh/g,$tw.utils.pad(date.getHours()));\n\tt = t.replace(/hh/g,date.getHours());\n\tt = t.replace(/mmm/g,$tw.config.dateFormats.shortMonths[date.getMonth()]);\n\tt = t.replace(/0mm/g,$tw.utils.pad(date.getMinutes()));\n\tt = t.replace(/mm/g,date.getMinutes());\n\tt = t.replace(/0ss/g,$tw.utils.pad(date.getSeconds()));\n\tt = t.replace(/ss/g,date.getSeconds());\n\tt = t.replace(/[ap]m/g,$tw.utils.getAmPm(date).toLowerCase());\n\tt = t.replace(/[AP]M/g,$tw.utils.getAmPm(date).toUpperCase());\n\tt = t.replace(/wYYYY/g,$tw.utils.getYearForWeekNo(date));\n\tt = t.replace(/wYY/g,$tw.utils.pad($tw.utils.getYearForWeekNo(date)-2000));\n\tt = t.replace(/YYYY/g,date.getFullYear());\n\tt = t.replace(/YY/g,$tw.utils.pad(date.getFullYear()-2000));\n\tt = t.replace(/MMM/g,$tw.config.dateFormats.months[date.getMonth()]);\n\tt = t.replace(/0MM/g,$tw.utils.pad(date.getMonth()+1));\n\tt = t.replace(/MM/g,date.getMonth()+1);\n\tt = t.replace(/0WW/g,$tw.utils.pad($tw.utils.getWeek(date)));\n\tt = t.replace(/WW/g,$tw.utils.getWeek(date));\n\tt = t.replace(/DDD/g,$tw.config.dateFormats.days[date.getDay()]);\n\tt = t.replace(/ddd/g,$tw.config.dateFormats.shortDays[date.getDay()]);\n\tt = t.replace(/0DD/g,$tw.utils.pad(date.getDate()));\n\tt = t.replace(/DDth/g,date.getDate()+$tw.utils.getDaySuffix(date));\n\tt = t.replace(/DD/g,date.getDate());\n\tvar tz = date.getTimezoneOffset();\n\tvar atz = Math.abs(tz);\n\tt = t.replace(/TZD/g,(tz < 0 ? '+' : '-') + $tw.utils.pad(Math.floor(atz / 60)) + ':' + $tw.utils.pad(atz % 60));\n\tt = t.replace(/\\\\/g,\"\");\n\treturn t;\n};\n\nexports.getAmPm = function(date) {\n\treturn date.getHours() >= 12 ? $tw.config.dateFormats.pm : $tw.config.dateFormats.am;\n};\n\nexports.getDaySuffix = function(date) {\n\treturn $tw.config.dateFormats.daySuffixes[date.getDate()-1];\n};\n\nexports.getWeek = function(date) {\n\tvar dt = new Date(date.getTime());\n\tvar d = dt.getDay();\n\tif(d === 0) d=7;// JavaScript Sun=0, ISO Sun=7\n\tdt.setTime(dt.getTime()+(4-d)*86400000);// shift day to Thurs of same week to calculate weekNo\n\tvar n = Math.floor((dt.getTime()-new Date(dt.getFullYear(),0,1)+3600000)/86400000);\n\treturn Math.floor(n/7)+1;\n};\n\nexports.getYearForWeekNo = function(date) {\n\tvar dt = new Date(date.getTime());\n\tvar d = dt.getDay();\n\tif(d === 0) d=7;// JavaScript Sun=0, ISO Sun=7\n\tdt.setTime(dt.getTime()+(4-d)*86400000);// shift day to Thurs of same week\n\treturn dt.getFullYear();\n};\n\nexports.getHours12 = function(date) {\n\tvar h = date.getHours();\n\treturn h > 12 ? h-12 : ( h > 0 ? h : 12 );\n};\n\n/*\nConvert a date delta in milliseconds into a string representation of \"23 seconds ago\", \"27 minutes ago\" etc.\n\tdelta: delta in milliseconds\nReturns an object with these members:\n\tdescription: string describing the delta period\n\tupdatePeriod: time in millisecond until the string will be inaccurate\n*/\nexports.getRelativeDate = function(delta) {\n\tvar units = [\n\t\t{name: \"years\",   duration:      365 * 24 * 60 * 60 * 1000},\n\t\t{name: \"months\",  duration: (365/12) * 24 * 60 * 60 * 1000},\n\t\t{name: \"days\",    duration:            24 * 60 * 60 * 1000},\n\t\t{name: \"hours\",   duration:                 60 * 60 * 1000},\n\t\t{name: \"minutes\", duration:                      60 * 1000},\n\t\t{name: \"seconds\", duration:                           1000}\n\t];\n\tfor(var t=0; t<units.length; t++) {\n\t\tvar result = Math.floor(delta / units[t].duration);\n\t\tif(result >= 2) {\n\t\t\treturn {\n\t\t\t\tdelta: delta,\n\t\t\t\tdescription: result + \" \" + units[t].name + \" ago\",\n\t\t\t\tupdatePeriod: units[t].duration\n\t\t\t};\n\t\t}\n\t}\n\treturn {\n\t\tdelta: delta,\n\t\tdescription: \"1 second ago\",\n\t\tupdatePeriod: 1000\n\t};\n};\n\n// Convert & to \"&amp;\", < to \"&lt;\", > to \"&gt;\" and \" to \"&quot;\"\nexports.htmlEncode = function(s) {\n\tif(s) {\n\t\treturn s.toString().replace(/&/mg,\"&amp;\").replace(/</mg,\"&lt;\").replace(/>/mg,\"&gt;\").replace(/\\\"/mg,\"&quot;\");\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\n// Converts all HTML entities to their character equivalents\nexports.entityDecode = function(s) {\n\tvar e = s.substr(1,s.length-2); // Strip the & and the ;\n\tif(e.charAt(0) === \"#\") {\n\t\tif(e.charAt(1) === \"x\" || e.charAt(1) === \"X\") {\n\t\t\treturn String.fromCharCode(parseInt(e.substr(2),16));\t\n\t\t} else {\n\t\t\treturn String.fromCharCode(parseInt(e.substr(1),10));\n\t\t}\n\t} else {\n\t\tvar c = $tw.config.htmlEntities[e];\n\t\tif(c) {\n\t\t\treturn String.fromCharCode(c);\n\t\t} else {\n\t\t\treturn s; // Couldn't convert it as an entity, just return it raw\n\t\t}\n\t}\n};\n\nexports.unescapeLineBreaks = function(s) {\n\treturn s.replace(/\\\\n/mg,\"\\n\").replace(/\\\\b/mg,\" \").replace(/\\\\s/mg,\"\\\\\").replace(/\\r/mg,\"\");\n};\n\n/*\n * Returns an escape sequence for given character. Uses \\x for characters <=\n * 0xFF to save space, \\u for the rest.\n *\n * The code needs to be in sync with th code template in the compilation\n * function for \"action\" nodes.\n */\n// Copied from peg.js, thanks to David Majda\nexports.escape = function(ch) {\n\tvar charCode = ch.charCodeAt(0);\n\tif(charCode <= 0xFF) {\n\t\treturn '\\\\x' + $tw.utils.pad(charCode.toString(16).toUpperCase());\n\t} else {\n\t\treturn '\\\\u' + $tw.utils.pad(charCode.toString(16).toUpperCase(),4);\n\t}\n};\n\n// Turns a string into a legal JavaScript string\n// Copied from peg.js, thanks to David Majda\nexports.stringify = function(s) {\n\t/*\n\t* ECMA-262, 5th ed., 7.8.4: All characters may appear literally in a string\n\t* literal except for the closing quote character, backslash, carriage return,\n\t* line separator, paragraph separator, and line feed. Any character may\n\t* appear in the form of an escape sequence.\n\t*\n\t* For portability, we also escape escape all non-ASCII characters.\n\t*/\n\treturn s\n\t\t.replace(/\\\\/g, '\\\\\\\\')            // backslash\n\t\t.replace(/\"/g, '\\\\\"')              // double quote character\n\t\t.replace(/'/g, \"\\\\'\")              // single quote character\n\t\t.replace(/\\r/g, '\\\\r')             // carriage return\n\t\t.replace(/\\n/g, '\\\\n')             // line feed\n\t\t.replace(/[\\x80-\\uFFFF]/g, exports.escape); // non-ASCII characters\n};\n\n/*\nEscape the RegExp special characters with a preceding backslash\n*/\nexports.escapeRegExp = function(s) {\n    return s.replace(/[\\-\\/\\\\\\^\\$\\*\\+\\?\\.\\(\\)\\|\\[\\]\\{\\}]/g, '\\\\$&');\n};\n\nexports.nextTick = function(fn) {\n/*global window: false */\n\tif(typeof window !== \"undefined\") {\n\t\t// Apparently it would be faster to use postMessage - http://dbaron.org/log/20100309-faster-timeouts\n\t\twindow.setTimeout(fn,4);\n\t} else {\n\t\tprocess.nextTick(fn);\n\t}\n};\n\n/*\nConvert a hyphenated CSS property name into a camel case one\n*/\nexports.unHyphenateCss = function(propName) {\n\treturn propName.replace(/-([a-z])/gi, function(match0,match1) {\n\t\treturn match1.toUpperCase();\n\t});\n};\n\n/*\nConvert a camelcase CSS property name into a dashed one (\"backgroundColor\" --> \"background-color\")\n*/\nexports.hyphenateCss = function(propName) {\n\treturn propName.replace(/([A-Z])/g, function(match0,match1) {\n\t\treturn \"-\" + match1.toLowerCase();\n\t});\n};\n\n/*\nParse a text reference of one of these forms:\n* title\n* !!field\n* title!!field\n* title##index\n* etc\nReturns an object with the following fields, all optional:\n* title: tiddler title\n* field: tiddler field name\n* index: JSON property index\n*/\nexports.parseTextReference = function(textRef) {\n\t// Separate out the title, field name and/or JSON indices\n\tvar reTextRef = /^\\s*([^!#]+)?(?:(?:!!([^\\s]+))|(?:##([^\\s]+)))?\\s*/mg,\n\t\tmatch = reTextRef.exec(textRef);\n\tif(match && reTextRef.lastIndex === textRef.length) {\n\t\t// Return the parts\n\t\treturn {\n\t\t\ttitle: match[1],\n\t\t\tfield: match[2],\n\t\t\tindex: match[3]\n\t\t};\n\t} else {\n\t\t// If we couldn't parse it (eg it started with a)\n\t\treturn {\n\t\t\ttitle: textRef\n\t\t};\n\t}\n};\n\n/*\nExtract the version number from the meta tag or from the boot file\n*/\n\nif($tw.browser) {\n\n// Browser version\nexports.extractVersionInfo = function() {\n\tvar metatags = document.getElementsByTagName(\"meta\");\n\tfor(var t=0; t<metatags.length; t++) {\n\t\tvar m = metatags[t];\n\t\tif(m.name === \"tiddlywiki-version\") {\n\t\t\treturn m.content;\n\t\t}\n\t}\n\treturn null;\n};\n\n} else {\n\n// Server version\nexports.extractVersionInfo = function() {\n\treturn $tw.packageInfo.version;\n};\n\n}\n\n/*\nGet the animation duration in ms\n*/\nexports.getAnimationDuration = function() {\n\treturn parseInt($tw.wiki.getTiddlerText(\"$:/config/AnimationDuration\",\"400\"),10);\n};\n\n/*\nHash a string to a number\nDerived from http://stackoverflow.com/a/15710692\n*/\nexports.hashString = function(str) {\n\treturn str.split(\"\").reduce(function(a,b) {\n\t\ta = ((a << 5) - a) + b.charCodeAt(0);\n\t\treturn a & a;\n\t},0);\n};\n\n/*\nDecode a base64 string\n*/\nexports.base64Decode = function(string64) {\n\tif($tw.browser) {\n\t\t// TODO\n\t\tthrow \"$tw.utils.base64Decode() doesn't work in the browser\";\n\t} else {\n\t\treturn (new Buffer(string64,\"base64\")).toString();\n\t}\n};\n\n})();\n",
            "title": "$:/core/modules/utils/utils.js",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/widgets/browse.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/browse.js\ntype: application/javascript\nmodule-type: widget\n\nBrowse widget for browsing for files to import\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar BrowseWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nBrowseWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nBrowseWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create element\n\tvar domNode = this.document.createElement(\"input\");\n\tdomNode.setAttribute(\"type\",\"file\");\n\tdomNode.setAttribute(\"multiple\",\"multiple\");\n\t// Add a click event handler\n\tdomNode.addEventListener(\"change\",function (event) {\n\t\tself.wiki.readFiles(event.target.files,function(tiddlerFieldsArray) {\n\t\t\tself.dispatchEvent({type: \"tw-import-tiddlers\", param: JSON.stringify(tiddlerFieldsArray)});\n\t\t});\n\t\treturn false;\n\t},false);\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nBrowseWidget.prototype.execute = function() {\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nBrowseWidget.prototype.refresh = function(changedTiddlers) {\n\treturn false;\n};\n\nexports.browse = BrowseWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/browse.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/button.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/button.js\ntype: application/javascript\nmodule-type: widget\n\nButton widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ButtonWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nButtonWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nButtonWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create element\n\tvar domNode = this.document.createElement(\"button\");\n\t// Assign classes\n\tvar classes = this[\"class\"].split(\" \") || [];\n\tif(this.selectedClass) {\n\t\tif(this.set && this.setTo && this.isSelected()) {\n\t\t\t$tw.utils.pushTop(classes,this.selectedClass.split(\" \"));\n\t\t}\n\t\tif(this.popup && this.isPoppedUp()) {\n\t\t\t$tw.utils.pushTop(classes,this.selectedClass.split(\" \"));\n\t\t}\n\t}\n\tdomNode.className = classes.join(\" \");\n\t// Assign classes\n\tif(this.style) {\n\t\tdomNode.setAttribute(\"style\",this.style);\n\t}\n\t// Add a click event handler\n\tdomNode.addEventListener(\"click\",function (event) {\n\t\tvar handled = false;\n\t\tif(self.message) {\n\t\t\tself.dispatchMessage(event);\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.popup) {\n\t\t\tself.triggerPopup(event);\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.set) {\n\t\t\tself.setTiddler();\n\t\t\thandled = true;\n\t\t}\n\t\tif(handled) {\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t}\n\t\treturn handled;\n\t},false);\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\nButtonWidget.prototype.isSelected = function() {\n\tvar tiddler = this.wiki.getTiddler(this.set);\n\treturn tiddler ? tiddler.fields.text === this.setTo : this.defaultSetValue === this.setTo;\n};\n\nButtonWidget.prototype.isPoppedUp = function() {\n\tvar tiddler = this.wiki.getTiddler(this.popup);\n\tvar result = tiddler && tiddler.fields.text ? $tw.popup.readPopupState(this.popup,tiddler.fields.text) : false;\n\treturn result;\n};\n\nButtonWidget.prototype.dispatchMessage = function(event) {\n\tthis.dispatchEvent({type: this.message, param: this.param, tiddlerTitle: this.getVariable(\"currentTiddler\")});\n};\n\nButtonWidget.prototype.triggerPopup = function(event) {\n\t$tw.popup.triggerPopup({\n\t\tdomNode: this.domNodes[0],\n\t\ttitle: this.popup,\n\t\twiki: this.wiki\n\t});\n};\n\nButtonWidget.prototype.setTiddler = function() {\n\tvar tiddler = this.wiki.getTiddler(this.set);\n\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,{title: this.set, text: this.setTo}));\n};\n\n/*\nCompute the internal state of the widget\n*/\nButtonWidget.prototype.execute = function() {\n\t// Get attributes\n\tthis.message = this.getAttribute(\"message\");\n\tthis.param = this.getAttribute(\"param\");\n\tthis.set = this.getAttribute(\"set\");\n\tthis.setTo = this.getAttribute(\"setTo\");\n\tthis.popup = this.getAttribute(\"popup\");\n\tthis.hover = this.getAttribute(\"hover\");\n\tthis[\"class\"] = this.getAttribute(\"class\",\"\");\n\tthis.style = this.getAttribute(\"style\");\n\tthis.selectedClass = this.getAttribute(\"selectedClass\");\n\tthis.defaultSetValue = this.getAttribute(\"default\");\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nButtonWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.message || changedAttributes.param || changedAttributes.set || changedAttributes.setTo || changedAttributes.popup || changedAttributes.hover || changedAttributes[\"class\"] || changedAttributes.selectedClass || changedAttributes.style || (this.set && changedTiddlers[this.set]) || (this.popup && changedTiddlers[this.popup])) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.button = ButtonWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/button.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/checkbox.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/checkbox.js\ntype: application/javascript\nmodule-type: widget\n\nCheckbox widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar CheckboxWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nCheckboxWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nCheckboxWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Create our elements\n\tthis.labelDomNode = this.document.createElement(\"label\");\n\tthis.inputDomNode = this.document.createElement(\"input\");\n\tthis.inputDomNode.setAttribute(\"type\",\"checkbox\");\n\tif(this.getValue()) {\n\t\tthis.inputDomNode.setAttribute(\"checked\",\"true\");\n\t}\n\tthis.labelDomNode.appendChild(this.inputDomNode);\n\tthis.spanDomNode = this.document.createElement(\"span\");\n\tthis.labelDomNode.appendChild(this.spanDomNode);\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(this.inputDomNode,[\n\t\t{name: \"change\", handlerObject: this, handlerMethod: \"handleChangeEvent\"}\n\t]);\n\t// Insert the label into the DOM and render any children\n\tparent.insertBefore(this.labelDomNode,nextSibling);\n\tthis.renderChildren(this.spanDomNode,null);\n\tthis.domNodes.push(this.labelDomNode);\n};\n\nCheckboxWidget.prototype.getValue = function() {\n\tvar tiddler = this.wiki.getTiddler(this.checkboxTitle);\n\treturn tiddler ? tiddler.hasTag(this.checkboxTag) : false;\n};\n\nCheckboxWidget.prototype.handleChangeEvent = function(event) {\n\tvar checked = this.inputDomNode.checked,\n\t\ttiddler = this.wiki.getTiddler(this.checkboxTitle);\n\tif(tiddler && tiddler.hasTag(this.checkboxTag) !== checked) {\n\t\tvar newTags = (tiddler.fields.tags || []).slice(0),\n\t\t\tpos = newTags.indexOf(this.checkboxTag);\n\t\tif(pos !== -1) {\n\t\t\tnewTags.splice(pos,1);\n\t\t}\n\t\tif(checked) {\n\t\t\tnewTags.push(this.checkboxTag);\n\t\t}\n\t\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,{tags: newTags},this.wiki.getModificationFields()));\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nCheckboxWidget.prototype.execute = function() {\n\t// Get the parameters from the attributes\n\tthis.checkboxTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.checkboxTag = this.getAttribute(\"tag\");\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nCheckboxWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.tag || changedAttributes[\"class\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\tvar refreshed = false;\n\t\tif(changedTiddlers[this.checkboxTitle]) {\n\t\t\tthis.inputDomNode.checked = this.getValue();\n\t\t\trefreshed = true;\n\t\t}\n\t\treturn this.refreshChildren(changedTiddlers) || refreshed;\n\t}\n};\n\nexports.checkbox = CheckboxWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/checkbox.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/count.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/count.js\ntype: application/javascript\nmodule-type: widget\n\nCount widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar CountWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nCountWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nCountWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar textNode = this.document.createTextNode(this.currentCount);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nCountWidget.prototype.execute = function() {\n\t// Get parameters from our attributes\n\tthis.filter = this.getAttribute(\"filter\");\n\t// Execute the filter\n\tif(this.filter) {\n\t\tthis.currentCount = this.wiki.filterTiddlers(this.filter,this.getVariable(\"currentTiddler\")).length;\n\t} else {\n\t\tthis.currentCount = undefined;\n\t}\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nCountWidget.prototype.refresh = function(changedTiddlers) {\n\t// Re-execute the filter to get the count\n\tvar oldCount = this.currentCount;\n\tthis.execute();\n\tif(this.currentCount !== oldCount) {\n\t\t// Regenerate and rerender the widget and replace the existing DOM node\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n\n};\n\nexports.count = CountWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/count.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/dropzone.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/dropzone.js\ntype: application/javascript\nmodule-type: widget\n\nDropzone widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar DropZoneWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDropZoneWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDropZoneWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create element\n\tvar domNode = this.document.createElement(\"div\");\n\tdomNode.className = \"tw-dropzone\";\n\t// Add event handlers\n\t$tw.utils.addEventListeners(domNode,[\n\t\t{name: \"dragenter\", handlerObject: this, handlerMethod: \"handleDragEnterEvent\"},\n\t\t{name: \"dragover\", handlerObject: this, handlerMethod: \"handleDragOverEvent\"},\n\t\t{name: \"dragleave\", handlerObject: this, handlerMethod: \"handleDragLeaveEvent\"},\n\t\t{name: \"drop\", handlerObject: this, handlerMethod: \"handleDropEvent\"},\n\t\t{name: \"paste\", handlerObject: this, handlerMethod: \"handlePasteEvent\"}\n\t]);\n\tdomNode.addEventListener(\"click\",function (event) {\n\t},false);\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\nDropZoneWidget.prototype.handleDragEnterEvent  = function(event) {\n\t// We count enter/leave events\n\tthis.dragEnterCount = (this.dragEnterCount || 0) + 1;\n\t// If we're entering for the first time we need to apply highlighting\n\tif(this.dragEnterCount === 1) {\n\t\t$tw.utils.addClass(this.domNodes[0],\"tw-dragover\");\n\t}\n\t// Tell the browser that we're ready to handle the drop\n\tevent.preventDefault();\n\t// Tell the browser not to ripple the drag up to any parent drop handlers\n\tevent.stopPropagation();\n};\n\nDropZoneWidget.prototype.handleDragOverEvent  = function(event) {\n\t// Tell the browser that we're still interested in the drop\n\tevent.preventDefault();\n\tevent.dataTransfer.dropEffect = \"copy\"; // Explicitly show this is a copy\n};\n\nDropZoneWidget.prototype.handleDragLeaveEvent  = function(event) {\n\t// Reduce the enter count\n\tthis.dragEnterCount = (this.dragEnterCount || 0) - 1;\n\t// Remove highlighting if we're leaving externally\n\tif(this.dragEnterCount <= 0) {\n\t\t$tw.utils.removeClass(this.domNodes[0],\"tw-dragover\");\n\t}\n};\n\nDropZoneWidget.prototype.handleDropEvent  = function(event) {\n\tvar self = this,\n\t\tdataTransfer = event.dataTransfer;\n\t// Reset the enter count\n\tthis.dragEnterCount = 0;\n\t// Remove highlighting\n\t$tw.utils.removeClass(this.domNodes[0],\"tw-dragover\");\n\t// Try to import the various data types we understand\n\tthis.importData(dataTransfer);\n\t// Import any files in the drop\n\tthis.wiki.readFiles(dataTransfer.files,function(tiddlerFieldsArray) {\n\t\tself.dispatchEvent({type: \"tw-import-tiddlers\", param: JSON.stringify(tiddlerFieldsArray)});\n\t});\n\t// Tell the browser that we handled the drop\n\tevent.preventDefault();\n\t// Stop the drop ripple up to any parent handlers\n\tevent.stopPropagation();\n};\n\nDropZoneWidget.prototype.importData = function(dataTransfer) {\n\t// Try each provided data type in turn\n\tfor(var t=0; t<this.importDataTypes.length; t++) {\n\t\tif(!$tw.browser.isIE || this.importDataTypes[t].IECompatible) {\n\t\t\t// Get the data\n\t\t\tvar dataType = this.importDataTypes[t];\n\t\t\t\tvar data = dataTransfer.getData(dataType.type);\n\t\t\t// Import the tiddlers in the data\n\t\t\tif(data !== \"\" && data !== null) {\n\t\t\t\tvar tiddlerFields = dataType.convertToFields(data);\n\t\t\t\tif(!tiddlerFields.title) {\n\t\t\t\t\ttiddlerFields.title = this.wiki.generateNewTitle(\"Untitled\");\n\t\t\t\t}\n\t\t\t\tthis.dispatchEvent({type: \"tw-import-tiddlers\", param: JSON.stringify([tiddlerFields])});\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t};\n};\n\nDropZoneWidget.prototype.importDataTypes = [\n\t{type: \"text/vnd.tiddler\", IECompatible: false, convertToFields: function(data) {\n\t\treturn JSON.parse(data);\n\t}},\n\t{type: \"URL\", IECompatible: true, convertToFields: function(data) {\n\t\t// Check for tiddler data URI\n\t\tvar match = decodeURI(data).match(/^data\\:text\\/vnd\\.tiddler,(.*)/i);\n\t\tif(match) {\n\t\t\treturn JSON.parse(match[1]);\n\t\t} else {\n\t\t\treturn { // As URL string\n\t\t\t\ttext: data\n\t\t\t};\n\t\t}\n\t}},\n\t{type: \"text/x-moz-url\", IECompatible: false, convertToFields: function(data) {\n\t\t// Check for tiddler data URI\n\t\tvar match = decodeURI(data).match(/^data\\:text\\/vnd\\.tiddler,(.*)/i);\n\t\tif(match) {\n\t\t\treturn JSON.parse(match[1]);\n\t\t} else {\n\t\t\treturn { // As URL string\n\t\t\t\ttext: data\n\t\t\t};\n\t\t}\n\t}},\n\t{type: \"text/plain\", IECompatible: false, convertToFields: function(data) {\n\t\treturn {\n\t\t\ttext: data\n\t\t};\n\t}},\n\t{type: \"Text\", IECompatible: true, convertToFields: function(data) {\n\t\treturn {\n\t\t\ttext: data\n\t\t};\n\t}},\n\t{type: \"text/uri-list\", IECompatible: false, convertToFields: function(data) {\n\t\treturn {\n\t\t\ttext: data\n\t\t};\n\t}}\n];\n\nDropZoneWidget.prototype.handlePasteEvent  = function(event) {\n\t// Let the browser handle it if we're in a textarea or input box\n\tif([\"TEXTAREA\",\"INPUT\"].indexOf(event.target.tagName) == -1) {\n\t\tvar self = this,\n\t\t\titems = event.clipboardData.items;\n\t\t// Enumerate the clipboard items\n\t\tfor(var t = 0; t<items.length; t++) {\n\t\t\tvar item = items[t];\n\t\t\tif(item.kind === \"file\") {\n\t\t\t\t// Import any files\n\t\t\t\tthis.wiki.readFile(item.getAsFile(),function(tiddlerFields) {\n\t\t\t\t\tself.dispatchEvent({type: \"tw-import-tiddlers\", param: JSON.stringify([tiddlerFields])});\n\t\t\t\t});\n\t\t\t} else if(item.kind === \"string\") {\n\t\t\t\t// Create tiddlers from string items\n\t\t\t\titem.getAsString(function(str) {\n\t\t\t\t\tvar tiddlerFields = {\n\t\t\t\t\t\ttitle: self.wiki.generateNewTitle(\"Untitled\"),\n\t\t\t\t\t\ttext: str\n\t\t\t\t\t};\n\t\t\t\t\tself.dispatchEvent({type: \"tw-import-tiddlers\", param: JSON.stringify([tiddlerFields])});\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\t// Tell the browser that we've handled the paste\n\t\tevent.stopPropagation();\n\t\tevent.preventDefault();\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nDropZoneWidget.prototype.execute = function() {\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nDropZoneWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.dropzone = DropZoneWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/dropzone.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/edit-bitmap.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/edit-bitmap.js\ntype: application/javascript\nmodule-type: widget\n\nEdit-bitmap widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Default image sizes\nvar DEFAULT_IMAGE_WIDTH = 300,\n\tDEFAULT_IMAGE_HEIGHT = 185;\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EditBitmapWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEditBitmapWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEditBitmapWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Create our element\n\tthis.canvasDomNode = $tw.utils.domMaker(\"canvas\",{\n\t\tdocument: this.document,\n\t\t\"class\":\"tw-edit-bitmapeditor\",\n\t\teventListeners: [{\n\t\t\tname: \"touchstart\", handlerObject: this, handlerMethod: \"handleTouchStartEvent\"\n\t\t},{\n\t\t\tname: \"touchmove\", handlerObject: this, handlerMethod: \"handleTouchMoveEvent\"\n\t\t},{\n\t\t\tname: \"touchend\", handlerObject: this, handlerMethod: \"handleTouchEndEvent\"\n\t\t},{\n\t\t\tname: \"mousedown\", handlerObject: this, handlerMethod: \"handleMouseDownEvent\"\n\t\t},{\n\t\t\tname: \"mousemove\", handlerObject: this, handlerMethod: \"handleMouseMoveEvent\"\n\t\t},{\n\t\t\tname: \"mouseup\", handlerObject: this, handlerMethod: \"handleMouseUpEvent\"\n\t\t}]\n\t});\n\tthis.widthDomNode = $tw.utils.domMaker(\"input\",{\n\t\tdocument: this.document,\n\t\t\"class\":\"tw-edit-bitmapeditor-width\",\n\t\teventListeners: [{\n\t\t\tname: \"change\", handlerObject: this, handlerMethod: \"handleWidthChangeEvent\"\n\t\t}]\n\t});\n\tthis.heightDomNode = $tw.utils.domMaker(\"input\",{\n\t\tdocument: this.document,\n\t\t\"class\":\"tw-edit-bitmapeditor-height\",\n\t\teventListeners: [{\n\t\t\tname: \"change\", handlerObject: this, handlerMethod: \"handleHeightChangeEvent\"\n\t\t}]\n\t});\n\t// Insert the elements into the DOM\n\tparent.insertBefore(this.canvasDomNode,nextSibling);\n\tparent.insertBefore(this.widthDomNode,nextSibling);\n\tparent.insertBefore(this.heightDomNode,nextSibling);\n\tthis.domNodes.push(this.canvasDomNode,this.widthDomNode,this.heightDomNode);\n\t// Load the image into the canvas\n\tthis.loadCanvas();\n};\n\n/*\nCompute the internal state of the widget\n*/\nEditBitmapWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.editTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n};\n\n/*\nNote that the bitmap editor intentionally doesn't try to refresh itself because it would be confusing to have the image changing spontaneously while editting it\n*/\nEditBitmapWidget.prototype.refresh = function(changedTiddlers) {\n\treturn false;\n};\n\nEditBitmapWidget.prototype.loadCanvas = function() {\n\tvar tiddler = this.wiki.getTiddler(this.editTitle),\n\t\tcurrImage = new Image();\n\t// Set up event handlers for loading the image\n\tvar self = this;\n\tcurrImage.onload = function() {\n\t\t// Copy the image to the on-screen canvas\n\t\tself.initCanvas(self.canvasDomNode,currImage.width,currImage.height,currImage);\n\t\t// And also copy the current bitmap to the off-screen canvas\n\t\tself.currCanvas = self.document.createElement(\"canvas\");\n\t\tself.initCanvas(self.currCanvas,currImage.width,currImage.height,currImage);\n\t\t// Set the width and height input boxes\n\t\tself.updateSize();\n\t};\n\tcurrImage.onerror = function() {\n\t\t// Set the on-screen canvas size and clear it\n\t\tself.initCanvas(self.canvasDomNode,DEFAULT_IMAGE_WIDTH,DEFAULT_IMAGE_HEIGHT);\n\t\t// Set the off-screen canvas size and clear it\n\t\tself.currCanvas = self.document.createElement(\"canvas\");\n\t\tself.initCanvas(self.currCanvas,DEFAULT_IMAGE_WIDTH,DEFAULT_IMAGE_HEIGHT);\n\t\t// Set the width and height input boxes\n\t\tself.updateSize();\n\t}\n\t// Get the current bitmap into an image object\n\tcurrImage.src = \"data:\" + tiddler.fields.type + \";base64,\" + tiddler.fields.text;\n};\n\nEditBitmapWidget.prototype.initCanvas = function(canvas,width,height,image) {\n\tcanvas.width = width;\n\tcanvas.height = height;\n\tvar ctx = canvas.getContext(\"2d\");\n\tif(image) {\n\t\tctx.drawImage(image,0,0);\n\t} else {\n\t\tctx.fillStyle = \"#fff\";\n\t\tctx.fillRect(0,0,canvas.width,canvas.height);\n\t}\n}\n\n/*\n** Update the input boxes with the actual size of the canvas\n*/\nEditBitmapWidget.prototype.updateSize = function() {\n\tthis.widthDomNode.value = this.currCanvas.width;\n\tthis.heightDomNode.value = this.currCanvas.height;\n};\n\n/*\n** Change the size of the canvas, preserving the current image\n*/\nEditBitmapWidget.prototype.changeCanvasSize = function(newWidth,newHeight) {\n\t// Create and size a new canvas\n\tvar newCanvas = this.document.createElement(\"canvas\");\n\tthis.initCanvas(newCanvas,newWidth,newHeight);\n\t// Copy the old image\n\tvar ctx = newCanvas.getContext(\"2d\");\n\tctx.drawImage(this.currCanvas,0,0);\n\t// Set the new canvas as the current one\n\tthis.currCanvas = newCanvas;\n\t// Set the size of the onscreen canvas\n\tthis.canvasDomNode.width = newWidth;\n\tthis.canvasDomNode.height = newHeight;\n\t// Paint the onscreen canvas with the offscreen canvas\n\tctx = this.canvasDomNode.getContext(\"2d\");\n\tctx.drawImage(this.currCanvas,0,0);\n};\n\nEditBitmapWidget.prototype.handleWidthChangeEvent = function(event) {\n\t// Get the new width\n\tvar newWidth = parseInt(this.widthDomNode.value,10);\n\t// Update if necessary\n\tif(newWidth > 0 && newWidth !== this.currCanvas.width) {\n\t\tthis.changeCanvasSize(newWidth,this.currCanvas.height);\n\t}\n\t// Update the input controls\n\tthis.updateSize();\n};\n\nEditBitmapWidget.prototype.handleHeightChangeEvent = function(event) {\n\t// Get the new width\n\tvar newHeight = parseInt(this.heightDomNode.value,10);\n\t// Update if necessary\n\tif(newHeight > 0 && newHeight !== this.currCanvas.height) {\n\t\tthis.changeCanvasSize(this.currCanvas.width,newHeight);\n\t}\n\t// Update the input controls\n\tthis.updateSize();\n};\n\nEditBitmapWidget.prototype.handleTouchStartEvent = function(event) {\n\tthis.brushDown = true;\n\tthis.strokeStart(event.touches[0].clientX,event.touches[0].clientY);\n\tevent.preventDefault();\n\tevent.stopPropagation();\n\treturn false;\n};\n\nEditBitmapWidget.prototype.handleTouchMoveEvent = function(event) {\n\tif(this.brushDown) {\n\t\tthis.strokeMove(event.touches[0].clientX,event.touches[0].clientY);\n\t}\n\tevent.preventDefault();\n\tevent.stopPropagation();\n\treturn false;\n};\n\nEditBitmapWidget.prototype.handleTouchEndEvent = function(event) {\n\tif(this.brushDown) {\n\t\tthis.brushDown = false;\n\t\tthis.strokeEnd();\n\t}\n\tevent.preventDefault();\n\tevent.stopPropagation();\n\treturn false;\n};\n\nEditBitmapWidget.prototype.handleMouseDownEvent = function(event) {\n\tthis.strokeStart(event.clientX,event.clientY);\n\tthis.brushDown = true;\n\tevent.preventDefault();\n\tevent.stopPropagation();\n\treturn false;\n};\n\nEditBitmapWidget.prototype.handleMouseMoveEvent = function(event) {\n\tif(this.brushDown) {\n\t\tthis.strokeMove(event.clientX,event.clientY);\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\treturn false;\n\t}\n\treturn true;\n};\n\nEditBitmapWidget.prototype.handleMouseUpEvent = function(event) {\n\tif(this.brushDown) {\n\t\tthis.brushDown = false;\n\t\tthis.strokeEnd();\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\treturn false;\n\t}\n\treturn true;\n};\n\nEditBitmapWidget.prototype.adjustCoordinates = function(x,y) {\n\tvar canvasRect = this.canvasDomNode.getBoundingClientRect(),\n\t\tscale = this.canvasDomNode.width/canvasRect.width;\n\treturn {x: (x - canvasRect.left) * scale, y: (y - canvasRect.top) * scale};\n};\n\nEditBitmapWidget.prototype.strokeStart = function(x,y) {\n\t// Start off a new stroke\n\tthis.stroke = [this.adjustCoordinates(x,y)];\n};\n\nEditBitmapWidget.prototype.strokeMove = function(x,y) {\n\tvar ctx = this.canvasDomNode.getContext(\"2d\"),\n\t\tt;\n\t// Add the new position to the end of the stroke\n\tthis.stroke.push(this.adjustCoordinates(x,y));\n\t// Redraw the previous image\n\tctx.drawImage(this.currCanvas,0,0);\n\t// Render the stroke\n\tctx.strokeStyle = \"#ff0\";\n\tctx.lineWidth = 3;\n\tctx.lineCap = \"round\";\n\tctx.lineJoin = \"round\";\n\tctx.beginPath();\n\tctx.moveTo(this.stroke[0].x,this.stroke[0].y);\n\tfor(t=1; t<this.stroke.length-1; t++) {\n\t\tvar s1 = this.stroke[t],\n\t\t\ts2 = this.stroke[t-1],\n\t\t\ttx = (s1.x + s2.x)/2,\n\t\t\tty = (s1.y + s2.y)/2;\n\t\tctx.quadraticCurveTo(s2.x,s2.y,tx,ty);\n\t}\n\tctx.stroke();\n};\n\nEditBitmapWidget.prototype.strokeEnd = function() {\n\t// Copy the bitmap to the off-screen canvas\n\tvar ctx = this.currCanvas.getContext(\"2d\");\n\tctx.drawImage(this.canvasDomNode,0,0);\n\t// Save the image into the tiddler\n\tthis.saveChanges();\n};\n\nEditBitmapWidget.prototype.saveChanges = function() {\n\tvar tiddler = this.wiki.getTiddler(this.editTitle);\n\tif(tiddler) {\n\t\t// data URIs look like \"data:<type>;base64,<text>\"\n\t\tvar dataURL = this.canvasDomNode.toDataURL(tiddler.fields.type,1.0),\n\t\t\tposColon = dataURL.indexOf(\":\"),\n\t\t\tposSemiColon = dataURL.indexOf(\";\"),\n\t\t\tposComma = dataURL.indexOf(\",\"),\n\t\t\ttype = dataURL.substring(posColon+1,posSemiColon),\n\t\t\ttext = dataURL.substring(posComma+1);\n\t\tvar update = {type: type, text: text};\n\t\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,update));\n\t}\n};\n\nexports[\"edit-bitmap\"] = EditBitmapWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/edit-bitmap.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/edit-text.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/edit-text.js\ntype: application/javascript\nmodule-type: widget\n\nEdit-text widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar MIN_TEXT_AREA_HEIGHT = 100; // Minimum height of textareas in pixels\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EditTextWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEditTextWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEditTextWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Create our element\n\tvar editInfo = this.getEditInfo();\n\tvar domNode = this.document.createElement(this.editTag);\n\tif(this.editType) {\n\t\tdomNode.setAttribute(\"type\",this.editType);\n\t}\n\tif(editInfo.value === \"\" && this.editPlaceholder) {\n\t\tdomNode.setAttribute(\"placeholder\",this.editPlaceholder);\n\t}\n\t// Assign classes\n\tif(this.editClass) {\n\t\tdomNode.className = this.editClass;\n\t}\n\t// Set the text\n\tif(this.editTag === \"textarea\") {\n\t\tdomNode.appendChild(this.document.createTextNode(editInfo.value));\n\t} else {\n\t\tdomNode.setAttribute(\"value\",editInfo.value)\n\t}\n\t// Add an input event handler\n\t$tw.utils.addEventListeners(domNode,[\n\t\t{name: \"focus\", handlerObject: this, handlerMethod: \"handleFocusEvent\"},\n\t\t{name: \"input\", handlerObject: this, handlerMethod: \"handleInputEvent\"}\n\t]);\n\t// Insert the element into the DOM\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.domNodes.push(domNode);\n\tif(this.postRender) {\n\t\tthis.postRender();\n\t}\n\t// Fix height\n\tthis.fixHeight();\n};\n\n/*\nGet the tiddler being edited and current value\n*/\nEditTextWidget.prototype.getEditInfo = function() {\n\t// Get the edit value\n\tvar self = this,\n\t\tvalue,\n\t\tupdate;\n\tif(this.editIndex) {\n\t\tvalue = this.wiki.extractTiddlerDataItem(this.editTitle,this.editIndex,this.editDefault);\n\t\tupdate = function(value) {\n\t\t\tvar data = self.wiki.getTiddlerData(self.editTitle,{});\n\t\t\tif(data[self.editIndex] !== value) {\n\t\t\t\tdata[self.editIndex] = value;\n\t\t\t\tself.wiki.setTiddlerData(self.editTitle,data);\n\t\t\t}\n\t\t};\n\t} else {\n\t\t// Get the current tiddler and the field name\n\t\tvar tiddler = this.wiki.getTiddler(this.editTitle);\n\t\tif(tiddler) {\n\t\t\t// If we've got a tiddler, the value to display is the field string value\n\t\t\tvalue = tiddler.getFieldString(this.editField);\n\t\t} else {\n\t\t\t// Otherwise, we need to construct a default value for the editor\n\t\t\tswitch(this.editField) {\n\t\t\t\tcase \"text\":\n\t\t\t\t\tvalue = \"Type the text for the tiddler '\" + this.editTitle + \"'\";\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"title\":\n\t\t\t\t\tvalue = this.editTitle;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tvalue = \"\";\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif(this.editDefault !== undefined) {\n\t\t\t\tvalue = this.editDefault;\n\t\t\t}\n\t\t}\n\t\tupdate = function(value) {\n\t\t\tvar tiddler = self.wiki.getTiddler(self.editTitle),\n\t\t\t\tupdateFields = {\n\t\t\t\t\ttitle: self.editTitle\n\t\t\t\t};\n\t\t\tupdateFields[self.editField] = value;\n\t\t\tself.wiki.addTiddler(new $tw.Tiddler(self.wiki.getCreationFields(),tiddler,updateFields,self.wiki.getModificationFields()));\n\t\t};\n\t}\n\treturn {value: value, update: update};\n};\n\n/*\nCompute the internal state of the widget\n*/\nEditTextWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.editTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.editField = this.getAttribute(\"field\",\"text\");\n\tthis.editIndex = this.getAttribute(\"index\");\n\tthis.editDefault = this.getAttribute(\"default\");\n\tthis.editClass = this.getAttribute(\"class\");\n\tthis.editPlaceholder = this.getAttribute(\"placeholder\");\n\tthis.editFocusPopup = this.getAttribute(\"focusPopup\");\n\t// Get the editor element tag and type\n\tvar tag,type;\n\tif(this.editField === \"text\") {\n\t\ttag = \"textarea\";\n\t} else {\n\t\ttag = \"input\";\n\t\tvar fieldModule = $tw.Tiddler.fieldModules[this.editField];\n\t\tif(fieldModule && fieldModule.editTag) {\n\t\t\ttag = fieldModule.editTag;\n\t\t}\n\t\tif(fieldModule && fieldModule.editType) {\n\t\t\ttype = fieldModule.editType;\n\t\t}\n\t\ttype = type || \"text\";\n\t}\n\t// Get the rest of our parameters\n\tthis.editTag = this.getAttribute(\"tag\",tag);\n\tthis.editType = this.getAttribute(\"type\",type);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nEditTextWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\t// Completely rerender if any of our attributes have changed\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else if(changedTiddlers[this.editTitle]) {\n\t\tthis.updateEditor(this.getEditInfo().value);\n\t\treturn true;\n\t}\n\treturn false;\n};\n\n/*\nUpdate the editor with new text. This method is separate from updateEditorDomNode()\nso that subclasses can override updateEditor() and still use updateEditorDomNode()\n*/\nEditTextWidget.prototype.updateEditor = function(text) {\n\tthis.updateEditorDomNode(text);\n};\n\n/*\nUpdate the editor dom node with new text\n*/\nEditTextWidget.prototype.updateEditorDomNode = function(text) {\n\t// Replace the edit value if the tiddler we're editing has changed\n\tvar domNode = this.domNodes[0];\n\tif(!domNode.isTiddlyWikiFakeDom) {\n\t\tif(this.document.activeElement !== domNode) {\n\t\t\tdomNode.value = text;\n\t\t}\n\t\t// Fix the height if needed\n\t\tthis.fixHeight();\n\t}\n};\n\n/*\nFix the height of textareas to fit their content\n*/\nEditTextWidget.prototype.fixHeight = function() {\n\tvar self = this,\n\t\tdomNode = this.domNodes[0];\n\tif(domNode && !domNode.isTiddlyWikiFakeDom && this.editTag === \"textarea\") {\n\t\t$tw.utils.nextTick(function() {\n\t\t\t// Resize the textarea to fit its content, preserving scroll position\n\t\t\tvar scrollPosition = $tw.utils.getScrollPosition(),\n\t\t\t\tscrollTop = scrollPosition.y;\n\t\t\t// Set its height to auto so that it snaps to the correct height\n\t\t\tdomNode.style.height = \"auto\";\n\t\t\t// Calculate the revised height\n\t\t\tvar newHeight = Math.max(domNode.scrollHeight + domNode.offsetHeight - domNode.clientHeight,MIN_TEXT_AREA_HEIGHT);\n\t\t\t// Only try to change the height if it has changed\n\t\t\tif(newHeight !== domNode.offsetHeight) {\n\t\t\t\tdomNode.style.height =  newHeight + \"px\";\n\t\t\t\t// Make sure that the dimensions of the textarea are recalculated\n\t\t\t\t$tw.utils.forceLayout(domNode);\n\t\t\t\t// Check that the scroll position is still visible before trying to scroll back to it\n\t\t\t\tscrollTop = Math.min(scrollTop,self.document.body.scrollHeight - window.innerHeight);\n\t\t\t\twindow.scrollTo(scrollPosition.x,scrollTop);\n\t\t\t}\n\t\t});\n\t}\n};\n\n/*\nHandle a dom \"input\" event\n*/\nEditTextWidget.prototype.handleInputEvent = function(event) {\n\tthis.saveChanges(this.domNodes[0].value);\n\tthis.fixHeight();\n\treturn true;\n};\n\nEditTextWidget.prototype.handleFocusEvent = function(event) {\n\tif(this.editFocusPopup) {\n\t\t$tw.popup.triggerPopup({\n\t\t\tdomNode: this.domNodes[0],\n\t\t\ttitle: this.editFocusPopup,\n\t\t\twiki: this.wiki,\n\t\t\tforce: true\n\t\t});\n\t}\n\treturn true;\n};\n\nEditTextWidget.prototype.saveChanges = function(text) {\n\tvar editInfo = this.getEditInfo();\n\tif(text !== editInfo.value) {\n\t\teditInfo.update(text);\n\t}\n};\n\nexports[\"edit-text\"] = EditTextWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/edit-text.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/edit.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/edit.js\ntype: application/javascript\nmodule-type: widget\n\nEdit widget is a meta-widget chooses the appropriate actual editting widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EditWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEditWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEditWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n// Mappings from content type to editor type\n// TODO: This information should be configurable/extensible\nvar editorTypeMappings = {\n\t\"text/vnd.tiddlywiki\": \"text\",\n\t\"image/svg+xml\": \"text\",\n\t\"text/html\": \"text\",\n\t\"image/jpg\": \"bitmap\",\n\t\"image/jpeg\": \"bitmap\",\n\t\"image/gif\": \"bitmap\",\n\t\"image/png\": \"bitmap\",\n\t\"image/x-icon\": \"bitmap\"\n};\n\n\n/*\nCompute the internal state of the widget\n*/\nEditWidget.prototype.execute = function() {\n\t// Get our parameters\n\tvar self = this;\n\tfunction existsEditor(name) {\n\t\treturn((!!self.widgetClasses[name])?name:null);\n\t}\n\tthis.editTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.editField = this.getAttribute(\"field\",\"text\");\n\tthis.editIndex = this.getAttribute(\"index\");\n\tthis.editClass = this.getAttribute(\"class\");\n\tthis.editPlaceholder = this.getAttribute(\"placeholder\");\n\t// Get the content type of the thing we're editing\n\tvar type;\n\tif(this.editField === \"text\") {\n\t\tvar tiddler = this.wiki.getTiddler(this.editTitle);\n\t\tif(tiddler) {\n\t\t\ttype = tiddler.fields.type;\n\t\t}\n\t}\n\ttype = type || \"text/vnd.tiddlywiki\";\n\t// Choose the appropriate edit widget\n\t// look to see if there is an editor name with an appendage that matches this types extension string  \n\tvar contentTypeInfo=$tw.config.contentTypeInfo[type];\n\tvar extensionString=contentTypeInfo?contentTypeInfo.extension.substr(1):null;//to be safe\n\tvar targetEditor = existsEditor(\"edit-\" + extensionString)||  //return the given string if exists\n\t\t\t\t\t   \"edit-\" + (editorTypeMappings[type]||\"text\");\n\t// Make the child widgets\n\tthis.makeChildWidgets([{\n\t\ttype: targetEditor,\n\t\tattributes: {\n\t\t\ttiddler: {type: \"string\", value: this.editTitle},\n\t\t\tfield: {type: \"string\", value: this.editField},\n\t\t\tindex: {type: \"string\", value: this.editIndex},\n\t\t\t\"class\": {type: \"string\", value: this.editClass},\n\t\t\t\"placeholder\": {type: \"string\", value: this.editPlaceholder}\n\t\t}\n\t}]);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nEditWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\nexports.edit = EditWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/edit.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/element.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/element.js\ntype: application/javascript\nmodule-type: widget\n\nElement widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ElementWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nElementWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nElementWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar domNode = this.document.createElementNS(this.namespace,this.parseTreeNode.tag);\n\tthis.assignAttributes(domNode);\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nElementWidget.prototype.execute = function() {\n\t// Select the namespace for the tag\n\tvar tagNamespaces = {\n\t\t\tsvg: \"http://www.w3.org/2000/svg\",\n\t\t\tmath: \"http://www.w3.org/1998/Math/MathML\",\n\t\t\tbody: \"http://www.w3.org/1999/xhtml\"\n\t\t};\n\tthis.namespace = tagNamespaces[this.parseTreeNode.tag];\n\tif(this.namespace) {\n\t\tthis.setVariable(\"namespace\",this.namespace);\n\t} else {\n\t\tthis.namespace = this.getVariable(\"namespace\",{defaultValue: \"http://www.w3.org/1999/xhtml\"});\n\t}\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nElementWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes(),\n\t\thasChangedAttributes = $tw.utils.count(changedAttributes) > 0;\n\tif(hasChangedAttributes) {\n\t\t// Update our attributes\n\t\tthis.assignAttributes(this.domNodes[0]);\n\t}\n\treturn this.refreshChildren(changedTiddlers) || hasChangedAttributes;\n};\n\nexports.element = ElementWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/element.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/encrypt.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/encrypt.js\ntype: application/javascript\nmodule-type: widget\n\nEncrypt widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EncryptWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEncryptWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEncryptWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar textNode = this.document.createTextNode(this.encryptedText);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nEncryptWidget.prototype.execute = function() {\n\t// Get parameters from our attributes\n\tthis.filter = this.getAttribute(\"filter\",\"[!is[system]]\");\n\t// Encrypt the filtered tiddlers\n\tvar tiddlers = this.wiki.filterTiddlers(this.filter),\n\t\tjson = {},\n\t\tself = this;\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar tiddler = self.wiki.getTiddler(title),\n\t\t\tjsonTiddler = {};\n\t\tfor(var f in tiddler.fields) {\n\t\t\tjsonTiddler[f] = tiddler.getFieldString(f);\n\t\t}\n\t\tjson[title] = jsonTiddler;\n\t});\n\tthis.encryptedText = $tw.utils.htmlEncode($tw.crypto.encrypt(JSON.stringify(json)));\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nEncryptWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes(),\n\t\taffectedTiddlers = this.wiki.filterTiddlers(this.filter,null,changedTiddlers);\n\tif(changedAttributes.filter || affectedTiddlers.length > 0) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\n\t}\n};\n\nexports.encrypt = EncryptWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/encrypt.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/entity.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/entity.js\ntype: application/javascript\nmodule-type: widget\n\nHTML entity widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EntityWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEntityWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEntityWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.execute();\n\tvar textNode = this.document.createTextNode($tw.utils.entityDecode(this.parseTreeNode.entity));\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nEntityWidget.prototype.execute = function() {\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nEntityWidget.prototype.refresh = function(changedTiddlers) {\n\treturn false;\n};\n\nexports.entity = EntityWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/entity.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/fieldmangler.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/fieldmangler.js\ntype: application/javascript\nmodule-type: widget\n\nField mangler widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar FieldManglerWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n\tthis.addEventListeners([\n\t\t{type: \"tw-remove-field\", handler: \"handleRemoveFieldEvent\"},\n\t\t{type: \"tw-add-field\", handler: \"handleAddFieldEvent\"},\n\t\t{type: \"tw-remove-tag\", handler: \"handleRemoveTagEvent\"},\n\t\t{type: \"tw-add-tag\", handler: \"handleAddTagEvent\"}\n\t]);\n};\n\n/*\nInherit from the base widget class\n*/\nFieldManglerWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nFieldManglerWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nFieldManglerWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.mangleTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nFieldManglerWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\nFieldManglerWidget.prototype.handleRemoveFieldEvent = function(event) {\n\tvar tiddler = this.wiki.getTiddler(this.mangleTitle),\n\t\tdeletion = {};\n\tdeletion[event.param] = undefined;\n\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,deletion));\n\treturn true;\n};\n\nFieldManglerWidget.prototype.handleAddFieldEvent = function(event) {\n\tvar tiddler = this.wiki.getTiddler(this.mangleTitle);\n\tif(tiddler && typeof event.param === \"string\") {\n\t\tvar name = event.param.toLowerCase();\n\t\tif(name !== \"\" && !$tw.utils.hop(tiddler.fields,name)) {\n\t\t\tvar addition = this.wiki.getModificationFields();\n\t\t\taddition[name] = \"\";\n\t\t\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,addition));\n\t\t}\n\t}\n\treturn true;\n};\n\nFieldManglerWidget.prototype.handleRemoveTagEvent = function(event) {\n\tvar tiddler = this.wiki.getTiddler(this.mangleTitle);\n\tif(tiddler && tiddler.fields.tags) {\n\t\tvar p = tiddler.fields.tags.indexOf(event.param);\n\t\tif(p !== -1) {\n\t\t\tvar modification = this.wiki.getModificationFields();\n\t\t\tmodification.tags = (tiddler.fields.tags || []).slice(0);\n\t\t\tmodification.tags.splice(p,1);\n\t\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,modification));\n\t\t}\n\t}\n\treturn true;\n};\n\nFieldManglerWidget.prototype.handleAddTagEvent = function(event) {\n\tvar tiddler = this.wiki.getTiddler(this.mangleTitle);\n\tif(tiddler && typeof event.param === \"string\" && event.param !== \"\") {\n\t\tvar modification = this.wiki.getModificationFields();\n\t\tmodification.tags = (tiddler.fields.tags || []).slice(0);\n\t\t$tw.utils.pushTop(modification.tags,event.param);\n\t\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,modification));\n\t}\n\treturn true;\n};\n\nexports.fieldmangler = FieldManglerWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/fieldmangler.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/fields.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/fields.js\ntype: application/javascript\nmodule-type: widget\n\nFields widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar FieldsWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nFieldsWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nFieldsWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar textNode = this.document.createTextNode(this.text);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nFieldsWidget.prototype.execute = function() {\n\t// Get parameters from our attributes\n\tthis.tiddlerTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.template = this.getAttribute(\"template\");\n\tthis.exclude = this.getAttribute(\"exclude\");\n\tthis.stripTitlePrefix = this.getAttribute(\"stripTitlePrefix\",\"no\") === \"yes\";\n\t// Get the value to display\n\tvar tiddler = this.wiki.getTiddler(this.tiddlerTitle);\n\t// Get the exclusion list\n\tvar exclude;\n\tif(this.exclude) {\n\t\texclude = this.exclude.split(\" \");\n\t} else {\n\t\texclude = [\"text\"]; \n\t}\n\t// Compose the template\n\tvar text = [];\n\tif(this.template && tiddler) {\n\t\tvar fields = [];\n\t\tfor(var fieldName in tiddler.fields) {\n\t\t\tif(exclude.indexOf(fieldName) === -1) {\n\t\t\t\tfields.push(fieldName);\n\t\t\t}\n\t\t}\n\t\tfields.sort();\n\t\tfor(var f=0; f<fields.length; f++) {\n\t\t\tfieldName = fields[f];\n\t\t\tif(exclude.indexOf(fieldName) === -1) {\n\t\t\t\tvar row = this.template,\n\t\t\t\t\tvalue = tiddler.getFieldString(fieldName);\n\t\t\t\tif(this.stripTitlePrefix && fieldName === \"title\") {\n\t\t\t\t\tvar reStrip = /^\\{[^\\}]+\\}(.+)/mg,\n\t\t\t\t\t\treMatch = reStrip.exec(value);\n\t\t\t\t\tif(reMatch) {\n\t\t\t\t\t\tvalue = reMatch[1];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\trow = row.replace(\"$name$\",fieldName);\n\t\t\t\trow = row.replace(\"$value$\",value);\n\t\t\t\trow = row.replace(\"$encoded_value$\",$tw.utils.htmlEncode(value));\n\t\t\t\ttext.push(row)\n\t\t\t}\n\t\t}\n\t}\n\tthis.text = text.join(\"\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nFieldsWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.template || changedAttributes.exclude || changedAttributes.stripTitlePrefix || changedTiddlers[this.tiddlerTitle]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\n\t}\n};\n\nexports.fields = FieldsWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/fields.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/link.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/link.js\ntype: application/javascript\nmodule-type: widget\n\nLink widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar LinkWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nLinkWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nLinkWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Get the value of the tw-wikilinks configuration macro\n\tvar wikiLinksMacro = this.getVariable(\"tw-wikilinks\"),\n\t\tuseWikiLinks = wikiLinksMacro ? !(wikiLinksMacro.trim() === \"no\") : true;\n\t// Render the link if required\n\tif(useWikiLinks) {\n\t\tthis.renderLink(parent,nextSibling);\n\t} else {\n\t\t// Just insert the link text\n\t\tvar domNode = this.document.createElement(\"span\");\n\t\tparent.insertBefore(domNode,nextSibling);\n\t\tthis.renderChildren(domNode,null);\n\t\tthis.domNodes.push(domNode);\n\t}\n};\n\n/*\nRender this widget into the DOM\n*/\nLinkWidget.prototype.renderLink = function(parent,nextSibling) {\n\tvar self = this;\n\t// Create our element\n\tvar domNode = this.document.createElement(\"a\");\n\t// Assign classes\n\t$tw.utils.addClass(domNode,\"tw-tiddlylink\");\n\tif(this.isShadow) {\n\t\t$tw.utils.addClass(domNode,\"tw-tiddlylink-shadow\");\n\t}\n\tif(this.isMissing && !this.isShadow) {\n\t\t$tw.utils.addClass(domNode,\"tw-tiddlylink-missing\");\n\t} else {\n\t\tif(!this.isMissing) {\n\t\t\t$tw.utils.addClass(domNode,\"tw-tiddlylink-resolves\");\n\t\t}\n\t}\n\t// Set an href\n\tvar wikiLinkTemplateMacro = this.getVariable(\"tw-wikilink-template\"),\n\t\twikiLinkTemplate = wikiLinkTemplateMacro ? wikiLinkTemplateMacro.trim() : \"#$uri_encoded$\",\n\t\twikiLinkText = wikiLinkTemplate.replace(\"$uri_encoded$\",encodeURIComponent(this.to));\n\twikiLinkText = wikiLinkText.replace(\"$uri_doubleencoded$\",encodeURIComponent(encodeURIComponent(this.to)));\n\tdomNode.setAttribute(\"href\",wikiLinkText);\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(domNode,[\n\t\t{name: \"click\", handlerObject: this, handlerMethod: \"handleClickEvent\"},\n\t\t{name: \"dragstart\", handlerObject: this, handlerMethod: \"handleDragStartEvent\"},\n\t\t{name: \"dragend\", handlerObject: this, handlerMethod: \"handleDragEndEvent\"}\n\t]);\n\t// Insert the link into the DOM and render any children\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\nLinkWidget.prototype.handleClickEvent = function (event) {\n\t// Send the click on it's way as a navigate event\n\tvar bounds = this.domNodes[0].getBoundingClientRect();\n\tthis.dispatchEvent({\n\t\ttype: \"tw-navigate\",\n\t\tnavigateTo: this.to,\n\t\tnavigateFromTitle: this.getVariable(\"storyTiddler\"),\n\t\tnavigateFromNode: this,\n\t\tnavigateFromClientRect: { top: bounds.top, left: bounds.left, width: bounds.width, right: bounds.right, bottom: bounds.bottom, height: bounds.height\n\t\t}\n\t});\n\tevent.preventDefault();\n\tevent.stopPropagation();\n\treturn false;\n};\n\nLinkWidget.prototype.handleDragStartEvent = function(event) {\n\tif(this.to) {\n\t\t// Set the dragging class on the element being dragged\n\t\t$tw.utils.addClass(event.target,\"tw-tiddlylink-dragging\");\n\t\t// Create the drag image elements\n\t\tthis.dragImage = this.document.createElement(\"div\");\n\t\tthis.dragImage.className = \"tw-tiddler-dragger\";\n\t\tvar inner = this.document.createElement(\"div\");\n\t\tinner.className = \"tw-tiddler-dragger-inner\";\n\t\tinner.appendChild(this.document.createTextNode(this.to));\n\t\tthis.dragImage.appendChild(inner);\n\t\tthis.document.body.appendChild(this.dragImage);\n\t\t// Astoundingly, we need to cover the dragger up: http://www.kryogenix.org/code/browser/custom-drag-image.html\n\t\tvar cover = this.document.createElement(\"div\");\n\t\tcover.className = \"tw-tiddler-dragger-cover\";\n\t\tcover.style.left = (inner.offsetLeft - 16) + \"px\";\n\t\tcover.style.top = (inner.offsetTop - 16) + \"px\";\n\t\tcover.style.width = (inner.offsetWidth + 32) + \"px\";\n\t\tcover.style.height = (inner.offsetHeight + 32) + \"px\";\n\t\tthis.dragImage.appendChild(cover);\n\t\t// Set the data transfer properties\n\t\tvar dataTransfer = event.dataTransfer;\n\t\t// First the image\n\t\tdataTransfer.effectAllowed = \"copy\";\n\t\tif(dataTransfer.setDragImage) {\n\t\t\tdataTransfer.setDragImage(this.dragImage.firstChild,-16,-16);\n\t\t}\n\t\t// Then the data\n\t\tdataTransfer.clearData();\n\t\tvar jsonData = this.wiki.getTiddlerAsJson(this.to),\n\t\t\ttextData = this.wiki.getTiddlerText(this.to,\"\");\n\t\t// IE doesn't like these content types\n\t\tif(!$tw.browser.isIE) {\n\t\t\tdataTransfer.setData(\"text/vnd.tiddler\",jsonData);\n\t\t\tdataTransfer.setData(\"text/plain\",textData);\n\t\t\tdataTransfer.setData(\"text/x-moz-url\",\"data:text/vnd.tiddler,\" + encodeURI(jsonData));\n\t\t}\n\t\tdataTransfer.setData(\"URL\",\"data:text/vnd.tiddler,\" + encodeURI(jsonData));\n\t\tdataTransfer.setData(\"Text\",textData);\n\t\tevent.stopPropagation();\n\t} else {\n\t\tevent.preventDefault();\n\t}\n};\n\nLinkWidget.prototype.handleDragEndEvent = function(event) {\n\t// Remove the dragging class on the element being dragged\n\t$tw.utils.removeClass(event.target,\"tw-tiddlylink-dragging\");\n\t// Delete the drag image element\n\tif(this.dragImage) {\n\t\tthis.dragImage.parentNode.removeChild(this.dragImage);\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nLinkWidget.prototype.execute = function() {\n\t// Get the target tiddler title\n\tthis.to = this.getAttribute(\"to\",this.getVariable(\"currentTiddler\"));\n\t// Determine the link characteristics\n\tthis.isMissing = !this.wiki.tiddlerExists(this.to);\n\tthis.isShadow = this.wiki.isShadowTiddler(this.to);\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nLinkWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.to || changedTiddlers[this.to]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.link = LinkWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/link.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/linkcatcher.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/linkcatcher.js\ntype: application/javascript\nmodule-type: widget\n\nLinkcatcher widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar LinkCatcherWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n\tthis.addEventListeners([\n\t\t{type: \"tw-navigate\", handler: \"handleNavigateEvent\"}\n\t]);\n};\n\n/*\nInherit from the base widget class\n*/\nLinkCatcherWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nLinkCatcherWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nLinkCatcherWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.catchTo = this.getAttribute(\"to\");\n\tthis.catchMessage = this.getAttribute(\"message\");\n\tthis.catchSet = this.getAttribute(\"set\");\n\tthis.catchSetTo = this.getAttribute(\"setTo\");\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nLinkCatcherWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.to || changedAttributes.message || changedAttributes.set || changedAttributes.setTo) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\n/*\nHandle a tw-navigate event\n*/\nLinkCatcherWidget.prototype.handleNavigateEvent = function(event) {\n\tif(this.catchTo) {\n\t\tthis.wiki.setTextReference(this.catchTo,event.navigateTo,this.getVariable(\"currentTiddler\"));\n\t}\n\tif(this.catchMessage) {\n\t\tthis.dispatchEvent({\n\t\t\ttype: this.catchMessage,\n\t\t\tparam: event.navigateTo\n\t\t});\n\t}\n\tif(this.catchSet) {\n\t\tvar tiddler = this.wiki.getTiddler(this.catchSet);\n\t\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,{title: this.catchSet, text: this.catchSetTo}));\n\t}\n\treturn false;\n};\n\nexports.linkcatcher = LinkCatcherWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/linkcatcher.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/list.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/list.js\ntype: application/javascript\nmodule-type: widget\n\nList and list item widgets\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\n/*\nThe list widget creates list element sub-widgets that reach back into the list widget for their configuration\n*/\n\nvar ListWidget = function(parseTreeNode,options) {\n\t// Initialise the storyviews if they've not been done already\n\tif(!this.storyViews) {\n\t\tListWidget.prototype.storyViews = {};\n\t\t$tw.modules.applyMethods(\"storyview\",this.storyViews);\n\t}\n\t// Main initialisation inherited from widget.js\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nListWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nListWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n\t// Construct the storyview\n\tvar StoryView = this.storyViews[this.storyViewName];\n\tthis.storyview = StoryView ? new StoryView(this) : null;\n};\n\n/*\nCompute the internal state of the widget\n*/\nListWidget.prototype.execute = function() {\n\t// Get our attributes\n\tthis.template = this.getAttribute(\"template\");\n\tthis.editTemplate = this.getAttribute(\"editTemplate\");\n\tthis.variableName = this.getAttribute(\"variable\",\"currentTiddler\");\n\tthis.storyViewName = this.getAttribute(\"storyview\");\n\tthis.historyTitle = this.getAttribute(\"history\");\n\t// Compose the list elements\n\tthis.list = this.getTiddlerList();\n\tvar members = [],\n\t\tself = this;\n\t// Check for an empty list\n\tif(this.list.length === 0) {\n\t\tmembers = this.getEmptyMessage();\n\t} else {\n\t\t$tw.utils.each(this.list,function(title,index) {\n\t\t\tmembers.push(self.makeItemTemplate(title));\n\t\t});\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets(members);\n\t// Clear the last history\n\tthis.history = [];\n};\n\nListWidget.prototype.getTiddlerList = function() {\n\tvar defaultFilter = \"[!is[system]sort[title]]\";\n\treturn this.wiki.filterTiddlers(this.getAttribute(\"filter\",defaultFilter),this.getVariable(\"currentTiddler\"));\n};\n\nListWidget.prototype.getEmptyMessage = function() {\n\tvar emptyMessage = this.getAttribute(\"emptyMessage\",\"\"),\n\t\tparser = this.wiki.parseText(\"text/vnd.tiddlywiki\",emptyMessage,{parseAsInline: true});\n\tif(parser) {\n\t\treturn parser.tree;\n\t} else {\n\t\treturn [];\n\t}\n};\n\n/*\nCompose the template for a list item\n*/\nListWidget.prototype.makeItemTemplate = function(title) {\n\t// Check if the tiddler is a draft\n\tvar tiddler = this.wiki.getTiddler(title),\n\t\tisDraft = tiddler && tiddler.hasField(\"draft.of\"),\n\t\ttemplate = this.template,\n\t\ttemplateTree;\n\tif(isDraft && this.editTemplate) {\n\t\ttemplate = this.editTemplate;\n\t}\n\t// Compose the transclusion of the template\n\tif(template) {\n\t\ttemplateTree = [{type: \"transclude\", attributes: {tiddler: {type: \"string\", value: template}}}];\n\t} else {\n\t\tif(this.parseTreeNode.children && this.parseTreeNode.children.length > 0) {\n\t\t\ttemplateTree = this.parseTreeNode.children;\n\t\t} else {\n\t\t\t// Default template is a link to the title\n\t\t\ttemplateTree = [{type: \"element\", tag: this.parseTreeNode.isBlock ? \"div\" : \"span\", children: [{type: \"link\", attributes: {to: {type: \"string\", value: title}}, children: [\n\t\t\t\t\t{type: \"text\", text: title}\n\t\t\t]}]}];\n\t\t}\n\t}\n\t// Return the list item\n\treturn {type: \"listitem\", itemTitle: title, variableName: this.variableName, children: templateTree};\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nListWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\t// Completely refresh if any of our attributes have changed\n\tif(changedAttributes.filter || changedAttributes.template || changedAttributes.editTemplate || changedAttributes.emptyMessage || changedAttributes.storyview || changedAttributes.history) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\t// Handle any changes to the list\n\t\tvar hasChanged = this.handleListChanges(changedTiddlers);\n\t\t// Handle any changes to the history stack\n\t\tif(this.historyTitle && changedTiddlers[this.historyTitle]) {\n\t\t\tthis.handleHistoryChanges();\n\t\t}\n\t\treturn hasChanged;\n\t}\n};\n\n/*\nHandle any changes to the history list\n*/\nListWidget.prototype.handleHistoryChanges = function() {\n\t// Get the history data\n\tvar newHistory = this.wiki.getTiddlerData(this.historyTitle,[]);\n\t// Ignore any entries of the history that match the previous history\n\tvar entry = 0;\n\twhile(entry < newHistory.length && entry < this.history.length && newHistory[entry].title === this.history[entry].title) {\n\t\tentry++;\n\t}\n\t// Navigate forwards to each of the new tiddlers\n\twhile(entry < newHistory.length) {\n\t\tif(this.storyview && this.storyview.navigateTo) {\n\t\t\tthis.storyview.navigateTo(newHistory[entry]);\n\t\t}\n\t\tentry++;\n\t}\n\t// Update the history\n\tthis.history = newHistory;\n};\n\n/*\nProcess any changes to the list\n*/\nListWidget.prototype.handleListChanges = function(changedTiddlers) {\n\t// Get the new list\n\tvar prevList = this.list;\n\tthis.list = this.getTiddlerList();\n\t// Check for an empty list\n\tif(this.list.length === 0) {\n\t\t// Check if it was empty before\n\t\tif(prevList.length === 0) {\n\t\t\t// If so, just refresh the empty message\n\t\t\treturn this.refreshChildren(changedTiddlers);\n\t\t} else {\n\t\t\t// Replace the previous content with the empty message\n\t\t\tfor(t=this.children.length-1; t>=0; t--) {\n\t\t\t\tthis.removeListItem(t);\n\t\t\t}\n\t\t\tvar nextSibling = this.findNextSiblingDomNode();\n\t\t\tthis.makeChildWidgets(this.getEmptyMessage());\n\t\t\tthis.renderChildren(this.parentDomNode,nextSibling);\n\t\t\treturn true;\n\t\t}\n\t} else {\n\t\t// If the list was empty then we need to remove the empty message\n\t\tif(prevList.length === 0) {\n\t\t\tthis.removeChildDomNodes();\n\t\t\tthis.children = [];\n\t\t}\n\t\t// Cycle through the list, inserting and removing list items as needed\n\t\tvar hasRefreshed = false;\n\t\tfor(var t=0; t<this.list.length; t++) {\n\t\t\tvar index = this.findListItem(t,this.list[t]);\n\t\t\tif(index === undefined) {\n\t\t\t\t// The list item must be inserted\n\t\t\t\tthis.insertListItem(t,this.list[t]);\n\t\t\t\thasRefreshed = true;\n\t\t\t} else {\n\t\t\t\t// There are intervening list items that must be removed\n\t\t\t\tfor(var n=index-1; n>=t; n--) {\n\t\t\t\t\tthis.removeListItem(n);\n\t\t\t\t\thasRefreshed = true;\n\t\t\t\t}\n\t\t\t\t// Refresh the item we're reusing\n\t\t\t\tvar refreshed = this.children[t].refresh(changedTiddlers);\n\t\t\t\thasRefreshed = hasRefreshed || refreshed;\n\t\t\t}\n\t\t}\n\t\t// Remove any left over items\n\t\tfor(t=this.children.length-1; t>=this.list.length; t--) {\n\t\t\tthis.removeListItem(t);\n\t\t\thasRefreshed = true;\n\t\t}\n\t\treturn hasRefreshed;\n\t}\n};\n\n/*\nFind the list item with a given title, starting from a specified position\n*/\nListWidget.prototype.findListItem = function(startIndex,title) {\n\twhile(startIndex < this.children.length) {\n\t\tif(this.children[startIndex].parseTreeNode.itemTitle === title) {\n\t\t\treturn startIndex;\n\t\t}\n\t\tstartIndex++;\n\t}\n\treturn undefined;\n};\n\n/*\nInsert a new list item at the specified index\n*/\nListWidget.prototype.insertListItem = function(index,title) {\n\t// Create, insert and render the new child widgets\n\tvar widget = this.makeChildWidget(this.makeItemTemplate(title));\n\twidget.parentDomNode = this.parentDomNode; // Hack to enable findNextSiblingDomNode() to work\n\tthis.children.splice(index,0,widget);\n\tvar nextSibling = widget.findNextSiblingDomNode();\n\twidget.render(this.parentDomNode,nextSibling);\n\t// Animate the insertion if required\n\tif(this.storyview && this.storyview.insert) {\n\t\tthis.storyview.insert(widget);\n\t}\n\treturn true;\n};\n\n/*\nRemove the specified list item\n*/\nListWidget.prototype.removeListItem = function(index) {\n\tvar widget = this.children[index];\n\t// Animate the removal if required\n\tif(this.storyview && this.storyview.remove) {\n\t\tthis.storyview.remove(widget);\n\t} else {\n\t\twidget.removeChildDomNodes();\n\t}\n\t// Remove the child widget\n\tthis.children.splice(index,1);\n};\n\nexports.list = ListWidget;\n\nvar ListItemWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nListItemWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nListItemWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nListItemWidget.prototype.execute = function() {\n\t// Set the current list item title\n\tthis.setVariable(this.parseTreeNode.variableName,this.parseTreeNode.itemTitle);\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nListItemWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.listitem = ListItemWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/list.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/macrocall.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/macrocall.js\ntype: application/javascript\nmodule-type: widget\n\nMacrocall widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar MacroCallWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nMacroCallWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nMacroCallWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nMacroCallWidget.prototype.execute = function() {\n\t// Get the parse type if specified\n\tthis.parseType = this.getAttribute(\"$type\",\"text/vnd.tiddlywiki\");\n\tthis.renderOutput = this.getAttribute(\"$output\",\"text/html\");\n\t// Merge together the parameters specified in the parse tree with the specified attributes\n\tvar params = this.parseTreeNode.params ? this.parseTreeNode.params.slice(0) : [];\n\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\tif(name.charAt(0) !== \"$\") {\n\t\t\tparams.push({name: name, value: attribute});\t\t\t\n\t\t}\n\t});\n\t// Get the macro value\n\tvar text = this.getVariable(this.parseTreeNode.name || this.getAttribute(\"$name\"),{params: params}),\n\t\tparseTreeNodes;\n\t// Are we rendering to HTML?\n\tif(this.renderOutput === \"text/html\") {\n\t\t// If so we'll return the parsed macro\n\t\tvar parser = this.wiki.parseText(this.parseType,text,\n\t\t\t\t\t\t\t{parseAsInline: !this.parseTreeNode.isBlock});\n\t\tparseTreeNodes = parser ? parser.tree : [];\n\t} else {\n\t\t// Otherwise, we'll render the text\n\t\tvar plainText = this.wiki.renderText(\"text/plain\",this.parseType,text,{parentWidget: this});\n\t\tparseTreeNodes = [{type: \"text\", text: plainText}];\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets(parseTreeNodes);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nMacroCallWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif($tw.utils.count(changedAttributes) > 0) {\n\t\t// Rerender ourselves\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.macrocall = MacroCallWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/macrocall.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/navigator.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/navigator.js\ntype: application/javascript\nmodule-type: widget\n\nNavigator widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar NavigatorWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n\tthis.addEventListeners([\n\t\t{type: \"tw-navigate\", handler: \"handleNavigateEvent\"},\n\t\t{type: \"tw-edit-tiddler\", handler: \"handleEditTiddlerEvent\"},\n\t\t{type: \"tw-delete-tiddler\", handler: \"handleDeleteTiddlerEvent\"},\n\t\t{type: \"tw-save-tiddler\", handler: \"handleSaveTiddlerEvent\"},\n\t\t{type: \"tw-cancel-tiddler\", handler: \"handleCancelTiddlerEvent\"},\n\t\t{type: \"tw-close-tiddler\", handler: \"handleCloseTiddlerEvent\"},\n\t\t{type: \"tw-close-all-tiddlers\", handler: \"handleCloseAllTiddlersEvent\"},\n\t\t{type: \"tw-close-other-tiddlers\", handler: \"handleCloseOtherTiddlersEvent\"},\n\t\t{type: \"tw-new-tiddler\", handler: \"handleNewTiddlerEvent\"},\n\t\t{type: \"tw-import-tiddlers\", handler: \"handleImportTiddlersEvent\"},\n\t]);\n};\n\n/*\nInherit from the base widget class\n*/\nNavigatorWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nNavigatorWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nNavigatorWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.storyTitle = this.getAttribute(\"story\");\n\tthis.historyTitle = this.getAttribute(\"history\");\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nNavigatorWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.story || changedAttributes.history) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\nNavigatorWidget.prototype.getStoryList = function() {\n\treturn this.storyTitle ? this.wiki.getTiddlerList(this.storyTitle) : null;\n};\n\nNavigatorWidget.prototype.saveStoryList = function(storyList) {\n\tvar storyTiddler = this.wiki.getTiddler(this.storyTitle);\n\tthis.wiki.addTiddler(new $tw.Tiddler(\n\t\t{title: this.storyTitle},\n\t\tstoryTiddler,\n\t\t{list: storyList}\n\t));\n};\n\nNavigatorWidget.prototype.findTitleInStory = function(storyList,title,defaultIndex) {\n\tvar p = storyList.indexOf(title);\n\treturn p === -1 ? defaultIndex : p;\n};\n\nNavigatorWidget.prototype.removeTitleFromStory = function(storyList,title) {\n\tvar p = storyList.indexOf(title);\n\twhile(p !== -1) {\n\t\tstoryList.splice(p,1);\n\t\tp = storyList.indexOf(title);\n\t}\n};\n\nNavigatorWidget.prototype.replaceFirstTitleInStory = function(storyList,oldTitle,newTitle) {\n\tvar pos = storyList.indexOf(oldTitle);\n\tif(pos !== -1) {\n\t\tstoryList[pos] = newTitle;\n\t\tdo {\n\t\t\tpos = storyList.indexOf(oldTitle,pos + 1);\n\t\t\tif(pos !== -1) {\n\t\t\t\tstoryList.splice(pos,1);\n\t\t\t}\n\t\t} while(pos !== -1);\n\t} else {\n\t\tstoryList.splice(0,0,newTitle);\n\t}\n};\n\nNavigatorWidget.prototype.addToStory = function(title,fromTitle) {\n\tvar storyList = this.getStoryList();\n\tif(storyList) {\n\t\t// See if the tiddler is already there\n\t\tvar slot = this.findTitleInStory(storyList,title,-1);\n\t\t// If not we need to add it\n\t\tif(slot === -1) {\n\t\t\t// First we try to find the position of the story element we navigated from\n\t\t\tslot = this.findTitleInStory(storyList,fromTitle,-1) + 1;\n\t\t\t// Add the tiddler\n\t\t\tstoryList.splice(slot,0,title);\n\t\t\t// Save the story\n\t\t\tthis.saveStoryList(storyList);\n\t\t}\n\t}\n};\n\n/*\nAdd a new record to the top of the history stack\ntitle: a title string or an array of title strings\nfromPageRect: page coordinates of the origin of the navigation\n*/\nNavigatorWidget.prototype.addToHistory = function(title,fromPageRect) {\n\tvar titles = $tw.utils.isArray(title) ? title : [title];\n\t// Add a new record to the top of the history stack\n\tif(this.historyTitle) {\n\t\tvar historyList = this.wiki.getTiddlerData(this.historyTitle,[]);\n\t\t$tw.utils.each(titles,function(title) {\n\t\t\thistoryList.push({title: title, fromPageRect: fromPageRect});\n\t\t});\n\t\tthis.wiki.setTiddlerData(this.historyTitle,historyList);\n\t}\n};\n\n/*\nHandle a tw-navigate event\n*/\nNavigatorWidget.prototype.handleNavigateEvent = function(event) {\n\tthis.addToStory(event.navigateTo,event.navigateFromTitle);\n\tthis.addToHistory(event.navigateTo,event.navigateFromClientRect);\n\treturn false;\n};\n\n// Close a specified tiddler\nNavigatorWidget.prototype.handleCloseTiddlerEvent = function(event) {\n\tvar title = event.param || event.tiddlerTitle,\n\t\tstoryList = this.getStoryList();\n\t// Look for tiddlers with this title to close\n\tthis.removeTitleFromStory(storyList,title);\n\tthis.saveStoryList(storyList);\n\treturn false;\n};\n\n// Close all tiddlers\nNavigatorWidget.prototype.handleCloseAllTiddlersEvent = function(event) {\n\tthis.saveStoryList([]);\n\treturn false;\n};\n\n// Close other tiddlers\nNavigatorWidget.prototype.handleCloseOtherTiddlersEvent = function(event) {\n\tvar title = event.param || event.tiddlerTitle;\n\tthis.saveStoryList([title]);\n\treturn false;\n};\n\n// Place a tiddler in edit mode\nNavigatorWidget.prototype.handleEditTiddlerEvent = function(event) {\n\t// Replace the specified tiddler with a draft in edit mode\n\tvar title = event.param || event.tiddlerTitle,\n\t\tdraftTiddler = this.makeDraftTiddler(title),\n\t\tdraftTitle = draftTiddler.fields.title,\n\t\tstoryList = this.getStoryList();\n\tthis.removeTitleFromStory(storyList,draftTitle);\n\tthis.replaceFirstTitleInStory(storyList,title,draftTitle);\n\tthis.addToHistory(draftTitle,event.navigateFromClientRect);\n\tthis.saveStoryList(storyList);\n\treturn false;\n};\n\n// Delete a tiddler\nNavigatorWidget.prototype.handleDeleteTiddlerEvent = function(event) {\n\t// Get the tiddler we're deleting\n\tvar title = event.param || event.tiddlerTitle,\n\t\ttiddler = this.wiki.getTiddler(title),\n\t\tstoryList = this.getStoryList();\n\t// Check if the tiddler we're deleting is in draft mode\n\tif(tiddler.hasField(\"draft.title\")) {\n\t\t// Delete the original tiddler\n\t\tvar originalTitle = tiddler.fields[\"draft.of\"];\n\t\tthis.wiki.deleteTiddler(originalTitle);\n\t\tthis.removeTitleFromStory(storyList,originalTitle);\n\t}\n\t// Delete this tiddler\n\tthis.wiki.deleteTiddler(title);\n\t// Remove the closed tiddler from the story\n\tthis.removeTitleFromStory(storyList,title);\n\tthis.saveStoryList(storyList);\n\treturn false;\n};\n\n/*\nCreate/reuse the draft tiddler for a given title\n*/\nNavigatorWidget.prototype.makeDraftTiddler = function(targetTitle) {\n\t// See if there is already a draft tiddler for this tiddler\n\tvar drafts = [];\n\tthis.wiki.forEachTiddler({includeSystem: true},function(title,tiddler) {\n\t\tif(tiddler.fields[\"draft.title\"] && tiddler.fields[\"draft.of\"] === targetTitle) {\n\t\t\tdrafts.push(tiddler);\n\t\t}\n\t});\n\tif(drafts.length > 0) {\n\t\treturn drafts[0];\n\t}\n\t// Get the current value of the tiddler we're editing\n\tvar tiddler = this.wiki.getTiddler(targetTitle),\n\t\tdraftTitle = this.generateDraftTitle(targetTitle);\n\t// Save the initial value of the draft tiddler\n\tvar draftTiddler = new $tw.Tiddler(\n\t\t\t{text: \"Type the text for the tiddler '\" + targetTitle + \"'\"},\n\t\t\ttiddler,\n\t\t\t{\n\t\t\t\ttitle: draftTitle,\n\t\t\t\t\"draft.title\": targetTitle,\n\t\t\t\t\"draft.of\": targetTitle\n\t\t\t},\n\t\t\tthis.wiki.getModificationFields()\n\t\t);\n\tthis.wiki.addTiddler(draftTiddler);\n\treturn draftTiddler;\n};\n\n/*\nGenerate a title for the draft of a given tiddler\n*/\nNavigatorWidget.prototype.generateDraftTitle = function(title) {\n\tvar c = 0;\n\tdo {\n\t\tvar draftTitle = \"Draft \" + (c ? (c + 1) + \" \" : \"\") + \"of '\" + title + \"'\";\n\t\tc++;\n\t} while(this.wiki.tiddlerExists(draftTitle));\n\treturn draftTitle;\n};\n\n// Take a tiddler out of edit mode, saving the changes\nNavigatorWidget.prototype.handleSaveTiddlerEvent = function(event) {\n\tvar title = event.param || event.tiddlerTitle,\n\t\ttiddler = this.wiki.getTiddler(title),\n\t\tstoryList = this.getStoryList(),\n\t\tstoryTiddlerModified = false; // We have to special case saving the story tiddler itself\n\t// Replace the original tiddler with the draft\n\tif(tiddler) {\n\t\tvar draftTitle = (tiddler.fields[\"draft.title\"] || \"\").trim(),\n\t\t\tdraftOf = (tiddler.fields[\"draft.of\"] || \"\").trim();\n\t\tif(draftTitle) {\n\t\t\tvar isRename = draftOf !== draftTitle,\n\t\t\t\tisConfirmed = true;\n\t\t\tif(isRename && this.wiki.tiddlerExists(draftTitle)) {\n\t\t\t\tisConfirmed = confirm(\"Do you wish to overwrite the tiddler '\" + draftTitle + \"'?\");\n\t\t\t}\n\t\t\tif(isConfirmed) {\n\t\t\t\t// Save the draft tiddler as the real tiddler\n\t\t\t\tthis.wiki.addTiddler(new $tw.Tiddler(this.wiki.getCreationFields(),tiddler,{\n\t\t\t\t\ttitle: draftTitle,\n\t\t\t\t\t\"draft.title\": undefined, \n\t\t\t\t\t\"draft.of\": undefined\n\t\t\t\t},this.wiki.getModificationFields()));\n\t\t\t\t// Remove the draft tiddler\n\t\t\t\tthis.wiki.deleteTiddler(title);\n\t\t\t\t// Remove the original tiddler if we're renaming it\n\t\t\t\tif(isRename) {\n\t\t\t\t\tthis.wiki.deleteTiddler(draftOf);\n\t\t\t\t}\n\t\t\t\t// Replace the draft in the story with the original\n\t\t\t\tthis.replaceFirstTitleInStory(storyList,title,draftTitle);\n\t\t\t\tthis.addToHistory(draftTitle,event.navigateFromClientRect);\n\t\t\t\tif(draftTitle !== this.storyTitle) {\n\t\t\t\t\tthis.saveStoryList(storyList);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n};\n\n// Take a tiddler out of edit mode without saving the changes\nNavigatorWidget.prototype.handleCancelTiddlerEvent = function(event) {\n\t// Flip the specified tiddler from draft back to the original\n\tvar draftTitle = event.param || event.tiddlerTitle,\n\t\tdraftTiddler = this.wiki.getTiddler(draftTitle),\n\t\toriginalTitle = draftTiddler.fields[\"draft.of\"],\n\t\tstoryList = this.getStoryList();\n\tif(draftTiddler && originalTitle) {\n\t\t// Remove the draft tiddler\n\t\tthis.wiki.deleteTiddler(draftTitle);\n\t\tthis.replaceFirstTitleInStory(storyList,draftTitle,originalTitle);\n\t\tthis.addToHistory(originalTitle,event.navigateFromClientRect);\n\t\tthis.saveStoryList(storyList);\n\t}\n\treturn false;\n};\n\n// Create a new draft tiddler\nNavigatorWidget.prototype.handleNewTiddlerEvent = function(event) {\n\t// Get the story details\n\tvar storyList = this.getStoryList();\n\t// Get the template tiddler if there is one\n\tvar templateTiddler = this.wiki.getTiddler(event.param);\n\t// Create the new tiddler\n\tvar title = this.wiki.generateNewTitle((templateTiddler && templateTiddler.fields.title) || \"New Tiddler\");\n\tvar tiddler = new $tw.Tiddler(this.wiki.getCreationFields(),{\n\t\ttext: \"Newly created tiddler\",\n\t\ttitle: title\n\t},this.wiki.getModificationFields());\n\tthis.wiki.addTiddler(tiddler);\n\t// Create the draft tiddler\n\tvar draftTitle = this.generateDraftTitle(title),\n\t\tdraftTiddler = new $tw.Tiddler({\n\t\t\ttext: \"\"\n\t\t},templateTiddler,{\n\t\t\ttitle: draftTitle,\n\t\t\t\"draft.title\": title,\n\t\t\t\"draft.of\": title\n\t\t},this.wiki.getModificationFields());\n\tthis.wiki.addTiddler(draftTiddler);\n\t// Update the story to insert the new draft at the top\n\tvar slot = storyList.indexOf(event.navigateFromTitle);\n\tstoryList.splice(slot + 1,0,draftTitle);\n\t// Save the updated story\n\tthis.saveStoryList(storyList);\n\t// Add a new record to the top of the history stack\n\tthis.addToHistory(draftTitle);\n\treturn false;\n};\n\n// Import JSON tiddlers\nNavigatorWidget.prototype.handleImportTiddlersEvent = function(event) {\n\tvar self = this;\n\t// Get the story and history details\n\tvar storyList = this.getStoryList();\n\tvar history = [];\n\t// Get the tiddlers\n\tvar tiddlers = [];\n\ttry {\n\t\ttiddlers = JSON.parse(event.param);\t\n\t} catch(e) {\n\t}\n\t// Process each tiddler\n\t$tw.utils.each(tiddlers,function(tiddlerFields) {\n\t\tvar title = tiddlerFields.title;\n\t\t// Add it to the store\n\t\tvar imported = self.wiki.importTiddler(new $tw.Tiddler(\n\t\t\tself.wiki.getCreationFields(),\n\t\t\tself.wiki.getModificationFields(),\n\t\t\ttiddlerFields\n\t\t));\n\t\tif(imported) {\n\t\t\t// Add it to the story\n\t\t\tif(storyList.indexOf(title) === -1) {\n\t\t\t\tstoryList.unshift(title);\n\t\t\t}\n\t\t\t// And to history\n\t\t\thistory.push(title);\n\t\t}\n\t});\n\t// Save the updated story and history\n\tthis.saveStoryList(storyList);\n\tthis.addToHistory(history);\n\treturn false;\n};\n\nexports.navigator = NavigatorWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/navigator.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/password.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/password.js\ntype: application/javascript\nmodule-type: widget\n\nPassword widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar PasswordWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nPasswordWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nPasswordWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Get the current password\n\tvar password = $tw.browser ? $tw.utils.getPassword(this.passwordName) || \"\" : \"\";\n\t// Create our element\n\tvar domNode = this.document.createElement(\"input\");\n\tdomNode.setAttribute(\"type\",\"password\");\n\tdomNode.setAttribute(\"value\",password);\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(domNode,[\n\t\t{name: \"change\", handlerObject: this, handlerMethod: \"handleChangeEvent\"}\n\t]);\n\t// Insert the label into the DOM and render any children\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\nPasswordWidget.prototype.handleChangeEvent = function(event) {\n\tvar password = this.domNodes[0].value;\n\treturn $tw.utils.savePassword(this.passwordName,password);\n};\n\n/*\nCompute the internal state of the widget\n*/\nPasswordWidget.prototype.execute = function() {\n\t// Get the parameters from the attributes\n\tthis.passwordName = this.getAttribute(\"name\",\"\");\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nPasswordWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.name) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.password = PasswordWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/password.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/radio.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/radio.js\ntype: application/javascript\nmodule-type: widget\n\nRadio widget\n\nWill set a field to the selected value:\n\n```\n\t<$radio field=\"myfield\" value=\"check 1\">one</$radio>\n\t<$radio field=\"myfield\" value=\"check 2\">two</$radio>\n\t<$radio field=\"myfield\" value=\"check 3\">three</$radio>\n```\n\n|Parameter |Description |h\n|tiddler |Name of the tiddler in which the field should be set. Defaults to current tiddler |\n|field |The name of the field to be set |\n|value |The value to set |\n|class |Optional class name(s) |\n\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar RadioWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nRadioWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nRadioWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Create our elements\n\tthis.labelDomNode = this.document.createElement(\"label\");\n\tthis.labelDomNode.setAttribute(\"class\",this.radioClass);\n\tthis.inputDomNode = this.document.createElement(\"input\");\n\tthis.inputDomNode.setAttribute(\"type\",\"radio\");\n\tif(this.getValue() == this.radioValue) {\n\t\tthis.inputDomNode.setAttribute(\"checked\",\"true\");\n\t}\n\tthis.labelDomNode.appendChild(this.inputDomNode);\n\tthis.spanDomNode = this.document.createElement(\"span\");\n\tthis.labelDomNode.appendChild(this.spanDomNode);\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(this.inputDomNode,[\n\t\t{name: \"change\", handlerObject: this, handlerMethod: \"handleChangeEvent\"}\n\t]);\n\t// Insert the label into the DOM and render any children\n\tparent.insertBefore(this.labelDomNode,nextSibling);\n\tthis.renderChildren(this.spanDomNode,null);\n\tthis.domNodes.push(this.labelDomNode);\n};\n\nRadioWidget.prototype.getValue = function() {\n\tvar tiddler = this.wiki.getTiddler(this.radioTitle);\n\treturn tiddler && tiddler.getFieldString(this.radioField);\n};\n\nRadioWidget.prototype.setValue = function() {\n\tif(this.radioField) {\n\t\tvar tiddler = this.wiki.getTiddler(this.radioTitle),\n\t\t\taddition = {};\n\t\taddition[this.radioField] = this.radioValue;\n\t\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,addition));\n\t}\n};\n\nRadioWidget.prototype.handleChangeEvent = function(event) {\n\tif(this.inputDomNode.checked) {\n\t\tthis.setValue();\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nRadioWidget.prototype.execute = function() {\n\t// Get the parameters from the attributes\n\tthis.radioTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.radioField = this.getAttribute(\"field\");\n\tthis.radioValue = this.getAttribute(\"value\");\n\tthis.radioClass = this.getAttribute(\"class\",\"\");\n\tif(this.radioClass !== \"\") {\n\t\tthis.radioClass += \" \";\n\t}\n\tthis.radioClass += \"tw-radio\";\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nRadioWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.value || changedAttributes[\"class\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\tvar refreshed = false;\n\t\tif(changedTiddlers[this.radioTitle]) {\n\t\t\tthis.inputDomNode.checked = this.getValue() === this.radioValue;\n\t\t\trefreshed = true;\n\t\t}\n\t\treturn this.refreshChildren(changedTiddlers) || refreshed;\n\t}\n};\n\nexports.radio = RadioWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/radio.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/raw.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/raw.js\ntype: application/javascript\nmodule-type: widget\n\nRaw widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar RawWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nRawWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nRawWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.execute();\n\tvar div = this.document.createElement(\"div\");\n\tdiv.innerHTML=this.parseTreeNode.html;\n\tparent.insertBefore(div,nextSibling);\n\tthis.domNodes.push(div);\t\n};\n\n/*\nCompute the internal state of the widget\n*/\nRawWidget.prototype.execute = function() {\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nRawWidget.prototype.refresh = function(changedTiddlers) {\n\treturn false;\n};\n\nexports.raw = RawWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/raw.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/reveal.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/reveal.js\ntype: application/javascript\nmodule-type: widget\n\nReveal widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar RevealWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nRevealWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nRevealWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar domNode = this.document.createElement(this.parseTreeNode.isBlock ? \"div\" : \"span\");\n\tvar classes = this[\"class\"].split(\" \") || [];\n\tclasses.push(\"tw-reveal\");\n\tdomNode.className = classes.join(\" \");\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tif(!domNode.isTiddlyWikiFakeDom && this.type === \"popup\" && this.isOpen) {\n\t\tthis.positionPopup(domNode);\n\t\t$tw.utils.addClass(domNode,\"tw-popup\"); // Make sure that clicks don't dismiss popups within the revealed content\n\t}\n\tif(!this.isOpen) {\n\t\tdomNode.setAttribute(\"hidden\",\"true\")\n\t}\n\tthis.domNodes.push(domNode);\n};\n\nRevealWidget.prototype.positionPopup = function(domNode) {\n\tdomNode.style.position = \"absolute\";\n\tdomNode.style.zIndex = \"1000\";\n\tswitch(this.position) {\n\t\tcase \"left\":\n\t\t\tdomNode.style.left = (this.popup.left - domNode.offsetWidth) + \"px\";\n\t\t\tdomNode.style.top = this.popup.top + \"px\";\n\t\t\tbreak;\n\t\tcase \"above\":\n\t\t\tdomNode.style.left = this.popup.left + \"px\";\n\t\t\tdomNode.style.top = (this.popup.top - domNode.offsetHeight) + \"px\";\n\t\t\tbreak;\n\t\tcase \"aboveright\":\n\t\t\tdomNode.style.left = (this.popup.left + this.popup.width) + \"px\";\n\t\t\tdomNode.style.top = (this.popup.top + this.popup.height - domNode.offsetHeight) + \"px\";\n\t\t\tbreak;\n\t\tcase \"right\":\n\t\t\tdomNode.style.left = (this.popup.left + this.popup.width) + \"px\";\n\t\t\tdomNode.style.top = this.popup.top + \"px\";\n\t\t\tbreak;\n\t\tcase \"belowleft\":\n\t\t\tdomNode.style.left = (this.popup.left + this.popup.width - domNode.offsetWidth) + \"px\";\n\t\t\tdomNode.style.top = (this.popup.top + this.popup.height) + \"px\";\n\t\t\tbreak;\n\t\tdefault: // Below\n\t\t\tdomNode.style.left = this.popup.left + \"px\";\n\t\t\tdomNode.style.top = (this.popup.top + this.popup.height) + \"px\";\n\t\t\tbreak;\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nRevealWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.state = this.getAttribute(\"state\");\n\tthis.type = this.getAttribute(\"type\");\n\tthis.text = this.getAttribute(\"text\");\n\tthis.position = this.getAttribute(\"position\");\n\tthis[\"class\"] = this.getAttribute(\"class\",\"\");\n\tthis[\"default\"] = this.getAttribute(\"default\",\"\");\n\tthis.animate = this.getAttribute(\"animate\",\"no\");\n\tthis.openAnimation = this.animate === \"no\" ? undefined : \"open\";\n\tthis.closeAnimation = this.animate === \"no\" ? undefined : \"close\";\n\t// Compute the title of the state tiddler and read it\n\tthis.stateTitle = this.state;\n\tthis.readState();\n\t// Construct the child widgets\n\tvar childNodes = this.isOpen ? this.parseTreeNode.children : [];\n\tthis.hasChildNodes = this.isOpen;\n\tthis.makeChildWidgets(childNodes);\n};\n\n/*\nRead the state tiddler\n*/\nRevealWidget.prototype.readState = function() {\n\t// Read the information from the state tiddler\n\tif(this.stateTitle) {\n\t\tvar state = this.wiki.getTextReference(this.stateTitle,this[\"default\"],this.getVariable(\"currentTiddler\"));\n\t\tswitch(this.type) {\n\t\t\tcase \"popup\":\n\t\t\t\tthis.readPopupState(state);\n\t\t\t\tbreak;\n\t\t\tcase \"match\":\n\t\t\t\tthis.readMatchState(state);\n\t\t\t\tbreak;\n\t\t\tcase \"nomatch\":\n\t\t\t\tthis.readMatchState(state);\n\t\t\t\tthis.isOpen = !this.isOpen;\n\t\t\t\tbreak;\n\t\t}\n\t}\n};\n\nRevealWidget.prototype.readMatchState = function(state) {\n\tthis.isOpen = state === this.text;\n};\n\nRevealWidget.prototype.readPopupState = function(state) {\n\tvar popupLocationRegExp = /^\\((-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+)\\)$/,\n\t\tmatch = popupLocationRegExp.exec(state);\n\t// Check if the state matches the location regexp\n\tif(match) {\n\t\t// If so, we're open\n\t\tthis.isOpen = true;\n\t\t// Get the location\n\t\tthis.popup = {\n\t\t\tleft: parseFloat(match[1]),\n\t\t\ttop: parseFloat(match[2]),\n\t\t\twidth: parseFloat(match[3]),\n\t\t\theight: parseFloat(match[4])\n\t\t};\n\t} else {\n\t\t// If not, we're closed\n\t\tthis.isOpen = false;\n\t}\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nRevealWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.state || changedAttributes.type || changedAttributes.text || changedAttributes.position || changedAttributes[\"default\"] || changedAttributes.animate) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\tvar refreshed = false;\n\t\tif(changedTiddlers[this.stateTitle]) {\n\t\t\tthis.updateState();\n\t\t\trefreshed = true;\n\t\t}\n\t\treturn this.refreshChildren(changedTiddlers) || refreshed;\n\t}\n};\n\n/*\nCalled by refresh() to dynamically show or hide the content\n*/\nRevealWidget.prototype.updateState = function() {\n\t// Read the current state\n\tthis.readState();\n\t// Construct the child nodes if needed\n\tvar domNode = this.domNodes[0];\n\tif(this.isOpen && !this.hasChildNodes) {\n\t\tthis.hasChildNodes = true;\n\t\tthis.makeChildWidgets(this.parseTreeNode.children);\n\t\tthis.renderChildren(domNode,null);\n\t}\n\t// Animate our DOM node\n\tif(!domNode.isTiddlyWikiFakeDom && this.type === \"popup\" && this.isOpen) {\n\t\tthis.positionPopup(domNode);\n\t\t$tw.utils.addClass(domNode,\"tw-popup\"); // Make sure that clicks don't dismiss popups within the revealed content\n\n\t}\n\tif(this.isOpen) {\n\t\tdomNode.removeAttribute(\"hidden\");\n        $tw.anim.perform(this.openAnimation,domNode);\n\t} else {\n\t\t$tw.anim.perform(this.closeAnimation,domNode,{callback: function() {\n\t\t\tdomNode.setAttribute(\"hidden\",\"true\");\n        }});\n\t}\n};\n\nexports.reveal = RevealWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/reveal.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/set.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/set.js\ntype: application/javascript\nmodule-type: widget\n\nSet variable widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar SetWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nSetWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nSetWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nSetWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.setName = this.getAttribute(\"name\",\"currentTiddler\");\n\tthis.setValue = this.getAttribute(\"value\");\n\t// Set context variable\n\tthis.setVariable(this.setName,this.setValue,this.parseTreeNode.params);\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nSetWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.name || changedAttributes.value) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\nexports.setvariable = SetWidget;\nexports.set = SetWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/set.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/text.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/text.js\ntype: application/javascript\nmodule-type: widget\n\nText node widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar TextNodeWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nTextNodeWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nTextNodeWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.execute();\n\tvar textNode = this.document.createTextNode(this.parseTreeNode.text);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nTextNodeWidget.prototype.execute = function() {\n\t// Nothing to do for a text node\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nTextNodeWidget.prototype.refresh = function(changedTiddlers) {\n\treturn false;\n};\n\nexports.text = TextNodeWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/text.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/tiddler.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/tiddler.js\ntype: application/javascript\nmodule-type: widget\n\nTiddler widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar TiddlerWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nTiddlerWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nTiddlerWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nTiddlerWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.tiddlerTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\t// Set context variables\n\tthis.setVariable(\"currentTiddler\",this.tiddlerTitle);\n\tthis.setVariable(\"missingTiddlerClass\",(this.wiki.tiddlerExists(this.tiddlerTitle) || this.wiki.isShadowTiddler(this.tiddlerTitle)) ? \"tw-tiddler-exists\" : \"tw-tiddler-missing\");\n\tthis.setVariable(\"shadowTiddlerClass\",this.wiki.isShadowTiddler(this.tiddlerTitle) ? \"tw-tiddler-shadow\" : \"\");\n\tthis.setVariable(\"systemTiddlerClass\",this.wiki.isSystemTiddler(this.tiddlerTitle) ? \"tw-tiddler-system\" : \"\");\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nTiddlerWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\nexports.tiddler = TiddlerWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/tiddler.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/transclude.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/transclude.js\ntype: application/javascript\nmodule-type: widget\n\nTransclude widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar TranscludeWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nTranscludeWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nTranscludeWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nTranscludeWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.transcludeTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.transcludeField = this.getAttribute(\"field\");\n\tthis.transcludeIndex = this.getAttribute(\"index\");\n\t// Check for recursion\n\tvar recursionMarker = this.makeRecursionMarker();;\n\tif(this.parentWidget && this.parentWidget.hasVariable(\"transclusion\",recursionMarker)) {\n\t\tthis.makeChildWidgets([{type: \"text\", text: \"Tiddler recursion error in transclude widget\"}]);\n\t\treturn;\n\t}\n\t// Set context variables for recursion detection\n\tthis.setVariable(\"transclusion\",recursionMarker);\n\t// Parse the text reference\n\tvar parser = this.wiki.parseTextReference(\n\t\t\t\t\t\tthis.transcludeTitle,\n\t\t\t\t\t\tthis.transcludeField,\n\t\t\t\t\t\tthis.transcludeIndex,\n\t\t\t\t\t\t{parseAsInline: !this.parseTreeNode.isBlock}),\n\t\tparseTreeNodes = parser ? parser.tree : [];\n\t// Construct the child widgets\n\tthis.makeChildWidgets(parseTreeNodes);\n};\n\n/*\nCompose a string comprising the title, field and/or index to identify this transclusion for recursion detection\n*/\nTranscludeWidget.prototype.makeRecursionMarker = function() {\n\tvar output = [];\n\toutput.push(\"{\");\n\toutput.push(this.getVariable(\"currentTiddler\",{defaultValue: \"\"}));\n\toutput.push(\"|\");\n\toutput.push(this.transcludeTitle || \"\");\n\toutput.push(\"|\");\n\toutput.push(this.transcludeField || \"\");\n\toutput.push(\"|\");\n\toutput.push(this.transcludeIndex || \"\");\n\toutput.push(\"}\");\n\treturn output.join(\"\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nTranscludeWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedTiddlers[this.transcludeTitle]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\nexports.transclude = TranscludeWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/transclude.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/view.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/view.js\ntype: application/javascript\nmodule-type: widget\n\nView widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ViewWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nViewWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nViewWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tif(this.text) {\n\t\tvar textNode = this.document.createTextNode(this.text);\n\t\tparent.insertBefore(textNode,nextSibling);\n\t\tthis.domNodes.push(textNode);\n\t} else {\n\t\tthis.makeChildWidgets();\n\t\tthis.renderChildren(parent,nextSibling);\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nViewWidget.prototype.execute = function() {\n\t// Get parameters from our attributes\n\tthis.viewTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.viewField = this.getAttribute(\"field\",\"text\");\n\tthis.viewIndex = this.getAttribute(\"index\");\n\tthis.viewFormat = this.getAttribute(\"format\",\"text\");\n\tthis.viewTemplate = this.getAttribute(\"template\",\"\");\n\tswitch(this.viewFormat) {\n\t\tcase \"htmlwikified\":\n\t\t\tthis.text = this.getValueAsHtmlWikified();\n\t\t\tbreak;\n\t\tcase \"htmlencoded\":\n\t\t\tthis.text = this.getValueAsHtmlEncoded();\n\t\t\tbreak;\n\t\tcase \"urlencoded\":\n\t\t\tthis.text = this.getValueAsUrlEncoded();\n\t\t\tbreak;\n\t\tcase \"doubleurlencoded\":\n\t\t\tthis.text = this.getValueAsDoubleUrlEncoded();\n\t\t\tbreak;\n\t\tcase \"date\":\n\t\t\tthis.text = this.getValueAsDate(this.viewTemplate);\n\t\t\tbreak;\n\t\tcase \"relativedate\":\n\t\t\tthis.text = this.getValueAsRelativeDate();\n\t\t\tbreak;\n\t\tcase \"stripcomments\":\n\t\t\tthis.text = this.getValueAsStrippedComments();\n\t\t\tbreak;\n\t\tcase \"jsencoded\":\n\t\t\tthis.text = this.getValueAsJsEncoded();\n\t\t\tbreak;\n\t\tdefault: // \"text\"\n\t\t\tthis.text = this.getValueAsText();\n\t\t\tbreak;\n\t}\n};\n\n/*\nThe various formatter functions are baked into this widget for the moment. Eventually they will be replaced by macro functions\n*/\n\nViewWidget.prototype.getValue = function() {\n\t// Get the value to display\n\tvar value,\n\t\ttiddler = this.wiki.getTiddler(this.viewTitle);\n\tif(tiddler) {\n\t\tif(this.viewField === \"text\") {\n\t\t\t// Calling getTiddlerText() triggers lazy loading of skinny tiddlers\n\t\t\tvalue = this.wiki.getTiddlerText(this.viewTitle);\n\t\t} else {\n\t\t\tif($tw.utils.hop(tiddler.fields,this.viewField)) {\n\t\t\t\tvalue = tiddler.fields[this.viewField];\t\t\t\t\n\t\t\t} else {\n\t\t\t\tvalue = \"\";\n\t\t\t}\n\t\t}\n\t} else {\n\t\tif(this.viewField === \"title\") {\n\t\t\tvalue = this.viewTitle;\n\t\t} else {\n\t\t\tvalue = undefined;\n\t\t}\n\t}\n\treturn value;\n};\n\nViewWidget.prototype.getValueAsText = function() {\n\t// Get the value to display\n\tvar text,\n\t\ttiddler = this.wiki.getTiddler(this.viewTitle);\n\tif(tiddler) {\n\t\tif(this.viewField === \"text\") {\n\t\t\t// Calling getTiddlerText() triggers lazy loading of skinny tiddlers\n\t\t\ttext = this.wiki.getTiddlerText(this.viewTitle);\n\t\t} else {\n\t\t\ttext = tiddler.getFieldString(this.viewField);\n\t\t}\n\t} else { // Use a special value if the tiddler is missing\n\t\tif(this.viewField === \"title\") {\n\t\t\ttext = this.viewTitle;\n\t\t} else {\n\t\t\ttext = \"\";\n\t\t}\n\t}\n\treturn text;\n};\n\nViewWidget.prototype.getValueAsHtmlWikified = function() {\n\treturn this.wiki.renderText(\"text/html\",\"text/vnd.tiddlywiki\",this.getValueAsText(),{parentWidget: this});\n};\n\nViewWidget.prototype.getValueAsHtmlEncoded = function() {\n\treturn $tw.utils.htmlEncode(this.getValueAsText());\n};\n\nViewWidget.prototype.getValueAsUrlEncoded = function() {\n\treturn encodeURIComponent(this.getValueAsText());\n};\n\nViewWidget.prototype.getValueAsDoubleUrlEncoded = function() {\n\treturn encodeURIComponent(encodeURIComponent(this.getValueAsText()));\n};\n\nViewWidget.prototype.getValueAsDate = function(format) {\n\tformat = format || \"YYYY MM DD 0hh:0ss\";\n\tvar value = $tw.utils.parseDate(this.getValue());\n\tif(value && $tw.utils.isDate(value) && value.toString() !== \"Invalid Date\") {\n\t\treturn $tw.utils.formatDateString(value,format);\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\nViewWidget.prototype.getValueAsRelativeDate = function(format) {\n\tvar value = $tw.utils.parseDate(this.getValue());\n\tif(value && $tw.utils.isDate(value) && value.toString() !== \"Invalid Date\") {\n\t\treturn $tw.utils.getRelativeDate((new Date()) - (new Date(value))).description;\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\nViewWidget.prototype.getValueAsStrippedComments = function() {\n\tvar lines = this.getValueAsText().split(\"\\n\"),\n\t\tout = [];\n\tfor(var line=0; line<lines.length; line++) {\n\t\tvar text = lines[line];\n\t\tif(!/^\\s*\\/\\/#/.test(text)) {\n\t\t\tout.push(text);\n\t\t}\n\t}\n\treturn out.join(\"\\n\");\n};\n\nViewWidget.prototype.getValueAsJsEncoded = function() {\n\treturn $tw.utils.stringify(this.getValueAsText());\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nViewWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes.template || changedAttributes.format || changedTiddlers[this.viewTitle]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\n\t}\n};\n\nexports.view = ViewWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/view.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/widget.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/widget.js\ntype: application/javascript\nmodule-type: widget\n\nWidget base class\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nCreate a widget object for a parse tree node\n\tparseTreeNode: reference to the parse tree node to be rendered\n\toptions: see below\nOptions include:\n\twiki: mandatory reference to wiki associated with this render tree\n\tvariables: optional hashmap of context variables (see below)\n\tparentWidget: optional reference to a parent renderer node for the context chain\n\tdocument: optional document object to use instead of global document\nContext variables include:\n\tcurrentTiddler: title of the tiddler providing the context\n*/\nvar Widget = function(parseTreeNode,options) {\n\tif(arguments.length > 0) {\n\t\tthis.initialise(parseTreeNode,options);\n\t}\n};\n\n/*\nInitialise widget properties. These steps are pulled out of the constructor so that we can reuse them in subclasses\n*/\nWidget.prototype.initialise = function(parseTreeNode,options) {\n\toptions = options || {};\n\t// Save widget info\n\tthis.parseTreeNode = parseTreeNode;\n\tthis.wiki = options.wiki;\n\tthis.parentWidget = options.parentWidget;\n\tthis.variablesConstructor = function() {};\n\tthis.variablesConstructor.prototype = this.parentWidget ? this.parentWidget.variables : {};\n\tthis.variables = new this.variablesConstructor();\n\tthis.document = options.document;\n\tthis.attributes = {};\n\tthis.children = [];\n\tthis.domNodes = [];\n\tthis.eventListeners = {};\n\t// Hashmap of the widget classes\n\tif(!this.widgetClasses) {\n\t\tWidget.prototype.widgetClasses = $tw.modules.applyMethods(\"widget\");\n\t}\n};\n\n/*\nRender this widget into the DOM\n*/\nWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nWidget.prototype.execute = function() {\n\tthis.makeChildWidgets();\n};\n\n/*\nSet the value of a context variable\nname: name of the variable\nvalue: value of the variable\nparams: array of {name:, default:} for each parameter\n*/\nWidget.prototype.setVariable = function(name,value,params) {\n\tthis.variables[name] = {value: value, params: params};\n};\n\n/*\nGet the prevailing value of a context variable\nname: name of variable\noptions: see below\nOptions include\nparams: array of {name:, value:} for each parameter\ndefaultValue: default value if the variable is not defined\n*/\nWidget.prototype.getVariable = function(name,options) {\n\toptions = options || {};\n\tvar actualParams = options.params || [];\n\t// If the variable doesn't exist then look for a macro module\n\tif(!(name in this.variables)) {\n\t\treturn this.evaluateMacroModule(name,actualParams,options.defaultValue);\n\t}\n\tvar variable = this.variables[name],\n\t\tvalue = variable.value || \"\";\n\t// Substitute any parameters specified in the definition\n\tvalue = this.substituteVariableParameters(value,variable.params,actualParams);\n\tvalue = this.substituteVariableReferences(value);\n\treturn value;\n};\n\nWidget.prototype.substituteVariableParameters = function(text,formalParams,actualParams) {\n\tif(formalParams) {\n\t\tvar nextAnonParameter = 0, // Next candidate anonymous parameter in macro call\n\t\t\tparamInfo, paramValue;\n\t\t// Step through each of the parameters in the macro definition\n\t\tfor(var p=0; p<formalParams.length; p++) {\n\t\t\t// Check if we've got a macro call parameter with the same name\n\t\t\tparamInfo = formalParams[p];\n\t\t\tparamValue = undefined;\n\t\t\tfor(var m=0; m<actualParams.length; m++) {\n\t\t\t\tif(actualParams[m].name === paramInfo.name) {\n\t\t\t\t\tparamValue = actualParams[m].value;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// If not, use the next available anonymous macro call parameter\n\t\t\twhile(nextAnonParameter < actualParams.length && actualParams[nextAnonParameter].name) {\n\t\t\t\tnextAnonParameter++;\n\t\t\t}\n\t\t\tif(paramValue === undefined && nextAnonParameter < actualParams.length) {\n\t\t\t\tparamValue = actualParams[nextAnonParameter++].value;\n\t\t\t}\n\t\t\t// If we've still not got a value, use the default, if any\n\t\t\tparamValue = paramValue || paramInfo[\"default\"] || \"\";\n\t\t\t// Replace any instances of this parameter\n\t\t\ttext = text.replace(new RegExp(\"\\\\$\" + $tw.utils.escapeRegExp(paramInfo.name) + \"\\\\$\",\"mg\"),paramValue);\n\t\t}\n\t}\n\treturn text;\n};\n\nWidget.prototype.substituteVariableReferences = function(text) {\n\tvar self = this;\n\treturn text.replace(/\\$\\(([^\\)\\$]+)\\)\\$/g,function(match,p1,offset,string) {\n\t\treturn self.getVariable(p1,{defaultValue: \"\"});\n\t});\n};\n\nWidget.prototype.evaluateMacroModule = function(name,actualParams,defaultValue) {\n\tif($tw.utils.hop($tw.macros,name)) {\n\t\tvar macro = $tw.macros[name],\n\t\t\targs = [];\n\t\tif(macro.params.length > 0) {\n\t\t\tvar nextAnonParameter = 0, // Next candidate anonymous parameter in macro call\n\t\t\t\tparamInfo, paramValue;\n\t\t\t// Step through each of the parameters in the macro definition\n\t\t\tfor(var p=0; p<macro.params.length; p++) {\n\t\t\t\t// Check if we've got a macro call parameter with the same name\n\t\t\t\tparamInfo = macro.params[p];\n\t\t\t\tparamValue = undefined;\n\t\t\t\tfor(var m=0; m<actualParams.length; m++) {\n\t\t\t\t\tif(actualParams[m].name === paramInfo.name) {\n\t\t\t\t\t\tparamValue = actualParams[m].value;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// If not, use the next available anonymous macro call parameter\n\t\t\t\twhile(nextAnonParameter < actualParams.length && actualParams[nextAnonParameter].name) {\n\t\t\t\t\tnextAnonParameter++;\n\t\t\t\t}\n\t\t\t\tif(paramValue === undefined && nextAnonParameter < actualParams.length) {\n\t\t\t\t\tparamValue = actualParams[nextAnonParameter++].value;\n\t\t\t\t}\n\t\t\t\t// If we've still not got a value, use the default, if any\n\t\t\t\tparamValue = paramValue || paramInfo[\"default\"] || \"\";\n\t\t\t\t// Save the parameter\n\t\t\t\targs.push(paramValue);\n\t\t\t}\n\t\t}\n\t\telse for(var i=0; i<actualParams.length; ++i) {\n\t\t\targs.push(actualParams[i].value);\n\t\t}\n\t\treturn macro.run.apply(this,args)\n\t} else {\n\t\treturn defaultValue;\n\t}\n};\n\n/*\nCheck whether a given context variable value exists in the parent chain\n*/\nWidget.prototype.hasVariable = function(name,value) {\n\tvar node = this;\n\twhile(node) {\n\t\tif($tw.utils.hop(node.variables,name) && node.variables[name].value === value) {\n\t\t\treturn true;\n\t\t}\n\t\tnode = node.parentWidget;\n\t}\n\treturn false;\n};\n\n/*\nConstruct a qualifying string based on a hash of concatenating the values of a given variable in the parent chain\n*/\nWidget.prototype.getStateQualifier = function(name) {\n\tname = name || \"transclusion\";\n\tvar output = [],\n\t\tnode = this;\n\twhile(node) {\n\t\tif($tw.utils.hop(node.variables,name)) {\n\t\t\toutput.push(node.getVariable(name));\n\t\t}\n\t\tnode = node.parentWidget;\n\t}\n\treturn \"{\" + $tw.utils.hashString(output.join(\"\")) + \"}\";\n};\n\n/*\nCompute the current values of the attributes of the widget. Returns a hashmap of the names of the attributes that have changed\n*/\nWidget.prototype.computeAttributes = function() {\n\tvar changedAttributes = {},\n\t\tself = this,\n\t\tvalue;\n\t$tw.utils.each(this.parseTreeNode.attributes,function(attribute,name) {\n\t\tif(attribute.type === \"indirect\") {\n\t\t\tvalue = self.wiki.getTextReference(attribute.textReference,\"\",self.getVariable(\"currentTiddler\"));\n\t\t} else if(attribute.type === \"macro\") {\n\t\t\tvalue = self.getVariable(attribute.value.name,{params: attribute.value.params});\n\t\t} else { // String attribute\n\t\t\tvalue = attribute.value;\n\t\t}\n\t\t// Check whether the attribute has changed\n\t\tif(self.attributes[name] !== value) {\n\t\t\tself.attributes[name] = value;\n\t\t\tchangedAttributes[name] = true;\n\t\t}\n\t});\n\treturn changedAttributes;\n};\n\n/*\nCheck for the presence of an attribute\n*/\nWidget.prototype.hasAttribute = function(name) {\n\treturn $tw.utils.hop(this.attributes,name);\n};\n\n/*\nGet the value of an attribute\n*/\nWidget.prototype.getAttribute = function(name,defaultText) {\n\tif($tw.utils.hop(this.attributes,name)) {\n\t\treturn this.attributes[name];\n\t} else {\n\t\treturn defaultText;\n\t}\n};\n\n/*\nAssign the computed attributes of the widget to a domNode\n*/\nWidget.prototype.assignAttributes = function(domNode) {\n\tvar self = this;\n\t$tw.utils.each(this.attributes,function(v,a) {\n\t\tif(v !== undefined) {\n\t\t\t// Setting certain attributes can cause a DOM error (eg xmlns on the svg element)\n\t\t\ttry {\n\t\t\t\tdomNode.setAttributeNS(null,a,v);\n\t\t\t} catch(e) {\n\t\t\t}\n\t\t}\n\t});\n};\n\n/*\nMake child widgets correspondng to specified parseTreeNodes\n*/\nWidget.prototype.makeChildWidgets = function(parseTreeNodes) {\n\tthis.children = [];\n\tvar self = this;\n\t$tw.utils.each(parseTreeNodes || (this.parseTreeNode && this.parseTreeNode.children),function(childNode) {\n\t\tself.children.push(self.makeChildWidget(childNode));\n\t});\n};\n\n/*\nConstruct the widget object for a parse tree node\n*/\nWidget.prototype.makeChildWidget = function(parseTreeNode) {\n\tvar WidgetClass = this.widgetClasses[parseTreeNode.type];\n\tif(!WidgetClass) {\n\t\tWidgetClass = this.widgetClasses[\"text\"];\n\t\tparseTreeNode = {type: \"text\", text: \"Undefined widget '\" + parseTreeNode.type + \"'\"};\n\t}\n\treturn new WidgetClass(parseTreeNode,{\n\t\twiki: this.wiki,\n\t\tvariables: {},\n\t\tparentWidget: this,\n\t\tdocument: this.document\n\t});\n};\n\n/*\nGet the next sibling of this widget\n*/\nWidget.prototype.nextSibling = function() {\n\tif(this.parentWidget) {\n\t\tvar index = this.parentWidget.children.indexOf(this);\n\t\tif(index !== -1 && index < this.parentWidget.children.length-1) {\n\t\t\treturn this.parentWidget.children[index+1];\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nGet the previous sibling of this widget\n*/\nWidget.prototype.previousSibling = function() {\n\tif(this.parentWidget) {\n\t\tvar index = this.parentWidget.children.indexOf(this);\n\t\tif(index !== -1 && index > 0) {\n\t\t\treturn this.parentWidget.children[index-1];\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nRender the children of this widget into the DOM\n*/\nWidget.prototype.renderChildren = function(parent,nextSibling) {\n\t$tw.utils.each(this.children,function(childWidget) {\n\t\tchildWidget.render(parent,nextSibling);\n\t});\n};\n\n/*\nAdd a list of event listeners from an array [{type:,handler:},...]\n*/\nWidget.prototype.addEventListeners = function(listeners) {\n\tvar self = this;\n\t$tw.utils.each(listeners,function(listenerInfo) {\n\t\tself.addEventListener(listenerInfo.type,listenerInfo.handler);\t\t\n\t});\n};\n\n/*\nAdd an event listener\n*/\nWidget.prototype.addEventListener = function(type,handler) {\n\tvar self = this;\n\tif(typeof handler === \"string\") { // The handler is a method name on this widget\n\t\tthis.eventListeners[type] = function(event) {\n\t\t\treturn self[handler].call(self,event);\n\t\t};\n\t} else { // The handler is a function\n\t\tthis.eventListeners[type] = function(event) {\n\t\t\treturn handler.call(self,event);\n\t\t}\n\n\t}\n};\n\n/*\nDispatch an event to a widget. If the widget doesn't handle the event then it is also dispatched to the parent widget\n*/\nWidget.prototype.dispatchEvent = function(event) {\n\t// Dispatch the event if this widget handles it\n\tvar listener = this.eventListeners[event.type];\n\tif(listener) {\n\t\t// Don't propagate the event if the listener returned false\n\t\tif(!listener(event)) {\n\t\t\treturn false;\n\t\t}\n\t}\n\t// Dispatch the event to the parent widget\n\tif(this.parentWidget) {\n\t\treturn this.parentWidget.dispatchEvent(event);\n\t}\n\treturn true;\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nRebuild a previously rendered widget\n*/\nWidget.prototype.refreshSelf = function() {\n\tvar nextSibling = this.findNextSiblingDomNode();\n\tthis.removeChildDomNodes();\n\tthis.render(this.parentDomNode,nextSibling);\n};\n\n/*\nRefresh all the children of a widget\n*/\nWidget.prototype.refreshChildren = function(changedTiddlers) {\n\tvar self = this,\n\t\trefreshed = false;\n\t$tw.utils.each(this.children,function(childWidget) {\n\t\trefreshed = childWidget.refresh(changedTiddlers) || refreshed;\n\t});\n\treturn refreshed;\n};\n\n/*\nFind the next sibling in the DOM to this widget. This is done by scanning the widget tree through all next siblings and their descendents that share the same parent DOM node\n*/\nWidget.prototype.findNextSiblingDomNode = function(startIndex) {\n\t// Refer to this widget by its index within its parents children\n\tvar parent = this.parentWidget,\n\t\tindex = startIndex !== undefined ? startIndex : parent.children.indexOf(this);\nif(index === -1) {\n\tthrow \"node not found in parents children\";\n}\n\t// Look for a DOM node in the later siblings\n\twhile(++index < parent.children.length) {\n\t\tvar domNode = parent.children[index].findFirstDomNode();\n\t\tif(domNode) {\n\t\t\treturn domNode;\n\t\t}\n\t}\n\t// Go back and look for later siblings of our parent if it has the same parent dom node\n\tvar grandParent = parent.parentWidget;\n\tif(grandParent && parent.parentDomNode === this.parentDomNode) {\n\t\tindex = grandParent.children.indexOf(parent);\n\t\treturn parent.findNextSiblingDomNode(index);\n\t}\n\treturn null;\n};\n\n/*\nFind the first DOM node generated by a widget or its children\n*/\nWidget.prototype.findFirstDomNode = function() {\n\t// Return the first dom node of this widget, if we've got one\n\tif(this.domNodes.length > 0) {\n\t\treturn this.domNodes[0];\n\t}\n\t// Otherwise, recursively call our children\n\tfor(var t=0; t<this.children.length; t++) {\n\t\tvar domNode = this.children[t].findFirstDomNode();\n\t\tif(domNode) {\n\t\t\treturn domNode;\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nRemove any DOM nodes created by this widget or its children\n*/\nWidget.prototype.removeChildDomNodes = function() {\n\t// If this widget has directly created DOM nodes, delete them and exit. This assumes that any child widgets are contained within the created DOM nodes, which would normally be the case \n\tif(this.domNodes.length > 0) {\n\t\t$tw.utils.each(this.domNodes,function(domNode) {\n\t\t\tdomNode.parentNode.removeChild(domNode);\n\t\t});\n\t\tthis.domNodes = [];\n\t} else {\n\t\t// Otherwise, ask the child widgets to delete their DOM nodes\n\t\t$tw.utils.each(this.children,function(childWidget) {\n\t\t\tchildWidget.removeChildDomNodes();\n\t\t});\n\t}\n};\n\nexports.widget = Widget;\n\n})();\n",
            "title": "$:/core/modules/widgets/widget.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/wiki.js": {
            "text": "/*\\\ntitle: $:/core/modules/wiki.js\ntype: application/javascript\nmodule-type: wikimethod\n\nExtension methods for the $tw.Wiki object\n\nAdds the following properties to the wiki object:\n\n* `eventListeners` is a hashmap by type of arrays of listener functions\n* `changedTiddlers` is a hashmap describing changes to named tiddlers since wiki change events were last dispatched. Each entry is a hashmap containing two fields:\n\tmodified: true/false\n\tdeleted: true/false\n* `changeCount` is a hashmap by tiddler title containing a numerical index that starts at zero and is incremented each time a tiddler is created changed or deleted\n* `caches` is a hashmap by tiddler title containing a further hashmap of named cache objects. Caches are automatically cleared when a tiddler is modified or deleted\n* `globalCache` is a hashmap by cache name of cache objects that are cleared whenever any tiddler change occurs\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nvar USER_NAME_TITLE = \"$:/status/UserName\";\n\n/*\nGet the value of a text reference. Text references can have any of these forms:\n\t<tiddlertitle>\n\t<tiddlertitle>!!<fieldname>\n\t!!<fieldname> - specifies a field of the current tiddlers\n\t<tiddlertitle>##<index>\n*/\nexports.getTextReference = function(textRef,defaultText,currTiddlerTitle) {\n\tvar tr = $tw.utils.parseTextReference(textRef),\n\t\ttitle = tr.title || currTiddlerTitle;\n\tif(tr.field) {\n\t\tvar tiddler = this.getTiddler(title);\n\t\tif(tr.field === \"title\") { // Special case so we can return the title of a non-existent tiddler\n\t\t\treturn title;\n\t\t} else if(tiddler && $tw.utils.hop(tiddler.fields,tr.field)) {\n\t\t\treturn tiddler.getFieldString(tr.field);\n\t\t} else {\n\t\t\treturn defaultText;\n\t\t}\n\t} else if(tr.index) {\n\t\treturn this.extractTiddlerDataItem(title,tr.index,defaultText);\n\t} else {\n\t\treturn this.getTiddlerText(title,defaultText);\n\t}\n};\n\nexports.setTextReference = function(textRef,value,currTiddlerTitle) {\n\tvar tr = $tw.utils.parseTextReference(textRef),\n\t\ttitle,tiddler,fields;\n\t// Check if it is a reference to a tiddler\n\tif(tr.title && !tr.field) {\n\t\ttiddler = this.getTiddler(tr.title);\n\t\tthis.addTiddler(new $tw.Tiddler(tiddler,{title: tr.title,text: value},this.getModificationFields()));\n\t// Else check for a field reference\n\t} else if(tr.field) {\n\t\ttitle = tr.title || currTiddlerTitle;\n\t\ttiddler = this.getTiddler(title);\n\t\tif(tiddler) {\n\t\t\tfields = {};\n\t\t\tfields[tr.field] = value;\n\t\t\tthis.addTiddler(new $tw.Tiddler(tiddler,fields,this.getModificationFields()));\n\t\t}\n\t}\n};\n\nexports.deleteTextReference = function(textRef,currTiddlerTitle) {\n\tvar tr = $tw.utils.parseTextReference(textRef),\n\t\ttitle,tiddler,fields;\n\t// Check if it is a reference to a tiddler\n\tif(tr.title && !tr.field) {\n\t\tthis.deleteTiddler(tr.title);\n\t// Else check for a field reference\n\t} else if(tr.field) {\n\t\ttitle = tr.title || currTiddlerTitle;\n\t\ttiddler = this.getTiddler(title);\n\t\tif(tiddler && $tw.utils.hop(tiddler.fields,tr.field)) {\n\t\t\tfields = {};\n\t\t\tfields[tr.field] = undefined;\n\t\t\tthis.addTiddler(new $tw.Tiddler(tiddler,fields,this.getModificationFields()));\n\t\t}\n\t}\n};\n\nexports.addEventListener = function(type,listener) {\n\tthis.eventListeners = this.eventListeners || {};\n\tthis.eventListeners[type] = this.eventListeners[type]  || [];\n\tthis.eventListeners[type].push(listener);\t\n};\n\nexports.removeEventListener = function(type,listener) {\n\tvar listeners = this.eventListeners[type];\n\tif(listeners) {\n\t\tvar p = listeners.indexOf(listener);\n\t\tif(p !== -1) {\n\t\t\tlisteners.splice(p,1);\n\t\t}\n\t}\n};\n\nexports.dispatchEvent = function(type /*, args */) {\n\tvar args = Array.prototype.slice.call(arguments,1),\n\t\tlisteners = this.eventListeners[type];\n\tif(listeners) {\n\t\tfor(var p=0; p<listeners.length; p++) {\n\t\t\tvar listener = listeners[p];\n\t\t\tlistener.apply(listener,args);\n\t\t}\n\t}\n};\n\n/*\nCauses a tiddler to be marked as changed, incrementing the change count, and triggers event handlers.\nThis method should be called after the changes it describes have been made to the wiki.tiddlers[] array.\n\ttitle: Title of tiddler\n\tisDeleted: defaults to false (meaning the tiddler has been created or modified),\n\t\ttrue if the tiddler has been created\n*/\nexports.enqueueTiddlerEvent = function(title,isDeleted) {\n\t// Record the touch in the list of changed tiddlers\n\tthis.changedTiddlers = this.changedTiddlers || {};\n\tthis.changedTiddlers[title] = this.changedTiddlers[title] || {};\n\tthis.changedTiddlers[title][isDeleted ? \"deleted\" : \"modified\"] = true;\n\t// Increment the change count\n\tthis.changeCount = this.changeCount || {};\n\tif($tw.utils.hop(this.changeCount,title)) {\n\t\tthis.changeCount[title]++;\n\t} else {\n\t\tthis.changeCount[title] = 1;\n\t}\n\t// Trigger events\n\tthis.eventListeners = this.eventListeners || [];\n\tif(!this.eventsTriggered) {\n\t\tvar self = this;\n\t\t$tw.utils.nextTick(function() {\n\t\t\tvar changes = self.changedTiddlers;\n\t\t\tself.changedTiddlers = {};\n\t\t\tself.eventsTriggered = false;\n\t\t\tself.dispatchEvent(\"change\",changes);\n\t\t});\n\t\tthis.eventsTriggered = true;\n\t}\n};\n\nexports.getChangeCount = function(title) {\n\tthis.changeCount = this.changeCount || {};\n\tif($tw.utils.hop(this.changeCount,title)) {\n\t\treturn this.changeCount[title];\n\t} else {\n\t\treturn 0;\n\t}\n};\n\nexports.deleteTiddler = function(title) {\n\tdelete this.tiddlers[title];\n\tthis.clearCache(title);\n\tthis.clearGlobalCache();\n\tthis.enqueueTiddlerEvent(title,true);\n};\n\nexports.tiddlerExists = function(title) {\n\treturn !!this.tiddlers[title];\n};\n\n/*\nGenerate an unused title from the specified base\n*/\nexports.generateNewTitle = function(baseTitle) {\n\tvar c = 0,\n\t    title = baseTitle;\n\twhile(this.tiddlerExists(title)) {\n\t\ttitle = baseTitle + \" \" + (++c);\n\t};\n\treturn title;\n};\n\nexports.isSystemTiddler = function(title) {\n\treturn title.indexOf(\"$:/\") === 0;\n};\n\nexports.isTemporaryTiddler = function(title) {\n\treturn title.indexOf(\"$:/temp/\") === 0;\n};\n\n/*\nDetermines if a tiddler is a shadow tiddler, regardless of whether it has been overridden by a real tiddler\n*/\nexports.isShadowTiddler = function(title) {\n\treturn $tw.utils.hop(this.shadowTiddlers,title);\n};\n\nexports.addTiddler = function(tiddler) {\n\t// Check if we're passed a fields hashmap instead of a tiddler\n\tif(!(tiddler instanceof $tw.Tiddler)) {\n\t\ttiddler = new $tw.Tiddler(tiddler);\n\t}\n\t// Get the title\n\tvar title = tiddler.fields.title;\n\t// Save the tiddler\n\tthis.tiddlers[title] = tiddler;\n\tthis.clearCache(title);\n\tthis.clearGlobalCache();\n\tthis.enqueueTiddlerEvent(title);\n};\n\n/*\nLike addTiddler() except it will silently reject any plugin tiddlers that are older than the currently loaded version. Returns true if the tiddler was imported\n*/\nexports.importTiddler = function(tiddler) {\n\tvar existingTiddler = this.getTiddler(tiddler.fields.title);\n\t// Check if we're dealing with a plugin\n\tif(tiddler && tiddler.hasField(\"plugin-type\") && tiddler.hasField(\"version\") && existingTiddler && existingTiddler.hasField(\"plugin-type\") && existingTiddler.hasField(\"version\")) {\n\t\t// Reject the incoming plugin if it is older\n\t\tif($tw.utils.checkVersions(existingTiddler.fields.version,tiddler.fields.version)) {\n\t\t\treturn false;\n\t\t}\n\t}\n\t// Fall through to adding the tiddler\n\tthis.addTiddler(tiddler);\n\treturn true;\n};\n\n/*\nReturn a hashmap of the fields that should be set when a tiddler is created\n*/\nexports.getCreationFields = function() {\n\tvar fields = {\n\t\t\tcreated: new Date()\n\t\t},\n\t\tcreator = this.getTiddlerText(USER_NAME_TITLE);\n\tif(creator) {\n\t\tfields.creator = creator;\n\t}\n\treturn fields;\n};\n\n/*\nReturn a hashmap of the fields that should be set when a tiddler is modified\n*/\nexports.getModificationFields = function() {\n\tvar fields = {},\n\t\tmodifier = this.getTiddlerText(USER_NAME_TITLE);\n\tfields.modified = new Date();\n\tif(modifier) {\n\t\tfields.modifier = modifier;\n\t}\n\treturn fields;\n};\n\n/*\nReturn a sorted array of tiddler titles.  Options include:\nsortField: field to sort by\nexcludeTag: tag to exclude\nincludeSystem: whether to include system tiddlers (defaults to false)\n*/\nexports.getTiddlers = function(options) {\n\toptions = options || {};\n\tvar self = this,\n\t\tsortField = options.sortField || \"title\",\n\t\ttiddlers = [], t, titles = [];\n\tfor(t in this.tiddlers) {\n\t\tif($tw.utils.hop(this.tiddlers,t)) {\n\t\t\tif(options.includeSystem || !this.isSystemTiddler(t)) {\n\t\t\t\tif(!options.excludeTag || !this.tiddlers[t].hasTag(excludeTag)) {\n\t\t\t\t\ttiddlers.push(this.tiddlers[t]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\ttiddlers.sort(function(a,b) {\n\t\tvar aa = a.fields[sortField].toLowerCase() || \"\",\n\t\t\tbb = b.fields[sortField].toLowerCase() || \"\";\n\t\tif(aa < bb) {\n\t\t\treturn -1;\n\t\t} else {\n\t\t\tif(aa > bb) {\n\t\t\t\treturn 1;\n\t\t\t} else {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t}\n\t});\n\tfor(t=0; t<tiddlers.length; t++) {\n\t\ttitles.push(tiddlers[t].fields.title);\n\t}\n\treturn titles;\n};\n\nexports.countTiddlers = function(excludeTag) {\n\tvar tiddlers = this.getTiddlers({excludeTag: excludeTag});\n\treturn $tw.utils.count(tiddlers);\n};\n\n/*\nSort an array of tiddler titles by a specified field\n\ttitles: array of titles (sorted in place)\n\tsortField: name of field to sort by\n\tisDescending: true if the sort should be descending\n\tisCaseSensitive: true if the sort should consider upper and lower case letters to be different\n*/\nexports.sortTiddlers = function(titles,sortField,isDescending,isCaseSensitive,isNumeric) {\n\tvar self = this;\n\ttitles.sort(function(a,b) {\n\t\tif(sortField !== \"title\") {\n\t\t\ta = self.getTiddler(a).fields[sortField] || \"\";\n\t\t\tb = self.getTiddler(b).fields[sortField] || \"\";\n\t\t}\n\t\tif(!isNumeric || isNaN(a) || isNaN(b)) {\n\t\t\tif(!isCaseSensitive) {\n\t\t\t\tif(typeof a === \"string\") {\n\t\t\t\t\ta = a.toLowerCase();\n\t\t\t\t}\n\t\t\t\tif(typeof b === \"string\") {\n\t\t\t\t\tb = b.toLowerCase();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\ta-= 0;\n\t\t\tb-= 0;\n\t\t}\n\t\tif(a < b) {\n\t\t\treturn isDescending ? +1 : -1;\n\t\t} else {\n\t\t\tif(a > b) {\n\t\t\t\treturn isDescending ? -1 : +1;\n\t\t\t} else {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t}\n\t});\n};\n\n/*\nFor every tiddler invoke a callback(title,tiddler) with `this` set to the wiki object. Options include:\nsortField: field to sort by\nexcludeTag: tag to exclude\nincludeSystem: whether to include system tiddlers (defaults to false)\n*/\nexports.forEachTiddler = function(/* [options,]callback */) {\n\tvar arg = 0,\n\t\toptions = arguments.length >= 2 ? arguments[arg++] : {},\n\t\tcallback = arguments[arg++],\n\t\ttitles = this.getTiddlers(options),\n\t\tt, tiddler;\n\tfor(t=0; t<titles.length; t++) {\n\t\ttiddler = this.tiddlers[titles[t]];\n\t\tif(tiddler) {\n\t\t\tcallback.call(this,tiddler.fields.title,tiddler);\n\t\t}\n\t}\n};\n\n/*\nReturn an array of tiddler titles that are directly linked from the specified tiddler\n*/\nexports.getTiddlerLinks = function(title) {\n\tvar self = this;\n\t// We'll cache the links so they only get computed if the tiddler changes\n\treturn this.getCacheForTiddler(title,\"links\",function() {\n\t\t// Parse the tiddler\n\t\tvar parser = self.parseTiddler(title);\n\t\t// Count up the links\n\t\tvar links = [],\n\t\t\tcheckParseTree = function(parseTree) {\n\t\t\t\tfor(var t=0; t<parseTree.length; t++) {\n\t\t\t\t\tvar parseTreeNode = parseTree[t];\n\t\t\t\t\tif(parseTreeNode.type === \"link\" && parseTreeNode.attributes.to && parseTreeNode.attributes.to.type === \"string\") {\n\t\t\t\t\t\tvar value = parseTreeNode.attributes.to.value;\n\t\t\t\t\t\tif(links.indexOf(value) === -1) {\n\t\t\t\t\t\t\tlinks.push(value);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif(parseTreeNode.children) {\n\t\t\t\t\t\tcheckParseTree(parseTreeNode.children);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\t\tif(parser) {\n\t\t\tcheckParseTree(parser.tree);\n\t\t}\n\t\treturn links;\n\t});\n};\n\n/*\nReturn an array of tiddler titles that link to the specified tiddler\n*/\nexports.getTiddlerBacklinks = function(targetTitle) {\n\tvar self = this,\n\t\tbacklinks = [];\n\tthis.forEachTiddler(function(title,tiddler) {\n\t\tvar links = self.getTiddlerLinks(title);\n\t\tif(links.indexOf(targetTitle) !== -1) {\n\t\t\tbacklinks.push(title);\n\t\t}\n\t});\n\treturn backlinks;\n};\n\n/*\nReturn a hashmap of tiddler titles that are referenced but not defined. Each value is the number of times the missing tiddler is referenced\n*/\nexports.getMissingTitles = function() {\n\tvar self = this,\n\t\tmissing = [];\n// We should cache the missing tiddler list, even if we recreate it every time any tiddler is modified\n\tthis.forEachTiddler(function(title,tiddler) {\n\t\tvar links = self.getTiddlerLinks(title);\n\t\t$tw.utils.each(links,function(link) {\n\t\t\tif((!self.tiddlerExists(link) && !self.isShadowTiddler(link)) && missing.indexOf(link) === -1) {\n\t\t\t\tmissing.push(link);\n\t\t\t}\n\t\t});\n\t});\n\treturn missing;\n};\n\nexports.getOrphanTitles = function() {\n\tvar self = this,\n\t\torphans = this.getTiddlers();\n\tthis.forEachTiddler(function(title,tiddler) {\n\t\tvar links = self.getTiddlerLinks(title);\n\t\t$tw.utils.each(links,function(link) {\n\t\t\tvar p = orphans.indexOf(link);\n\t\t\tif(p !== -1) {\n\t\t\t\torphans.splice(p,1);\n\t\t\t}\n\t\t});\n\t});\n\treturn orphans; // Todo\n};\n\nexports.getSystemTitles = function() {\n\tvar titles = [];\n\tfor(var title in this.tiddlers) {\n\t\tif(this.isSystemTiddler(title)) {\n\t\t\ttitles.push(title);\n\t\t}\n\t}\n\ttitles.sort();\n\treturn titles;\n};\n\nexports.getShadowTitles = function() {\n\tvar titles = [];\n\tfor(var title in this.shadowTiddlers) {\n\t\ttitles.push(title);\n\t}\n\ttitles.sort();\n\treturn titles;\n};\n\n/*\nRetrieves a list of the tiddler titles that are tagged with a given tag\n*/\nexports.getTiddlersWithTag = function(tag) {\n\tvar self = this;\n\treturn this.getGlobalCache(\"taglist-\" + tag,function() {\n\t\tvar tagmap = self.getTagMap();\n\t\treturn self.sortByList(tagmap[tag],tag);\n\t});\n};\n\n/*\nGet a hashmap by tag of arrays of tiddler titles\n*/\nexports.getTagMap = function() {\n\tvar self = this;\n\treturn this.getGlobalCache(\"tagmap\",function() {\n\t\tvar tags = {};\n\t\t// Collect up all the tags\n\t\tfor(var title in self.tiddlers) {\n\t\t\tvar tiddler = self.tiddlers[title];\n\t\t\tif(tiddler.fields.tags) {\n\t\t\t\tfor(var index=0; index<tiddler.fields.tags.length; index++) {\n\t\t\t\t\tvar tag = tiddler.fields.tags[index];\n\t\t\t\t\tif(tags[tag]) {\n\t\t\t\t\t\ttags[tag].push(title)\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttags[tag] = [title];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn tags;\n\t});\n};\n\n/*\nLookup a given tiddler and return a list of all the tiddlers that include it in their list\n*/\nexports.findListingsOfTiddler = function(targetTitle) {\n\t// Get the list associated with the tag\n\tvar titles = [];\n\tfor(var title in this.tiddlers) {\n\t\tvar tiddler = this.tiddlers[title];\n\t\tif($tw.utils.isArray(tiddler.fields.list) && tiddler.fields.list.indexOf(targetTitle) !== -1) {\n\t\t\ttitles.push(title);\n\t\t}\n\t}\n\treturn titles;\n};\n\n/*\nSorts an array of tiddler titles according to an ordered list\n*/\nexports.sortByList = function(array,listTitle) {\n\tvar list = this.getTiddlerList(listTitle);\n\tif(!array || array.length === 0) {\n\t\treturn [];\n\t} else if(list) {\n\t\tvar titles = [], t, title;\n\t\t// First place any entries that are present in the list\n\t\tfor(t=0; t<list.length; t++) {\n\t\t\ttitle = list[t];\n\t\t\tif(array.indexOf(title) !== -1) {\n\t\t\t\ttitles.push(title);\n\t\t\t}\n\t\t}\n\t\t// Then place any remaining entries\n\t\tfor(t=0; t<array.length; t++) {\n\t\t\ttitle = array[t];\n\t\t\tif(list.indexOf(title) === -1) {\n\t\t\t\ttitles.push(title);\n\t\t\t}\n\t\t}\n\t\treturn titles;\n\t} else {\n\t\treturn array;\n\t}\n};\n\n/*\nRetrieve a tiddler as a JSON string of the fields\n*/\nexports.getTiddlerAsJson = function(title) {\n\tvar tiddler = this.getTiddler(title);\n\tif(tiddler) {\n\t\tvar fields = {};\n\t\t$tw.utils.each(tiddler.fields,function(value,name) {\n\t\t\tfields[name] = tiddler.getFieldString(name);\n\t\t});\n\t\treturn JSON.stringify(fields);\n\t} else {\n\t\treturn JSON.stringify({title: title});\n\t}\n};\n\n/*\nGet a tiddlers content as a JavaScript object. How this is done depends on the type of the tiddler:\n\napplication/json: the tiddler JSON is parsed into an object\napplication/x-tiddler-dictionary: the tiddler is parsed as sequence of name:value pairs\n\nOther types currently just return null.\n*/\nexports.getTiddlerData = function(title,defaultData) {\n\tvar tiddler = this.getTiddler(title),\n\t\tdata;\n\tif(tiddler && tiddler.fields.text) {\n\t\tswitch(tiddler.fields.type) {\n\t\t\tcase \"application/json\":\n\t\t\t\t// JSON tiddler\n\t\t\t\ttry {\n\t\t\t\t\tdata = JSON.parse(tiddler.fields.text);\n\t\t\t\t} catch(ex) {\n\t\t\t\t\treturn defaultData;\n\t\t\t\t}\n\t\t\t\treturn data;\n\t\t\tcase \"application/x-tiddler-dictionary\":\n\t\t\t\treturn $tw.utils.parseFields(tiddler.fields.text);\n\t\t}\n\t}\n\treturn defaultData;\n};\n\n/*\nExtract an indexed field from within a data tiddler\n*/\nexports.extractTiddlerDataItem = function(title,index,defaultText) {\n\tvar data = this.getTiddlerData(title,{}),\n\t\ttext;\n\tif(data && $tw.utils.hop(data,index)) {\n\t\ttext = data[index];\n\t}\n\tif(typeof text === \"string\" || typeof text === \"number\") {\n\t\treturn text.toString();\n\t} else {\n\t\treturn defaultText;\n\t}\n};\n\n/*\nSet a tiddlers content to a JavaScript object. Currently this is done by setting the tiddler's type to \"application/json\" and setting the text to the JSON text of the data.\n*/\nexports.setTiddlerData = function(title,data) {\n\tvar tiddler = this.getTiddler(title);\n\tthis.addTiddler(new $tw.Tiddler(tiddler,{title: title, type: \"application/json\", text: JSON.stringify(data,null,$tw.config.preferences.jsonSpaces)},this.getModificationFields()));\n};\n\n/*\nReturn the content of a tiddler as an array containing each line\n*/\nexports.getTiddlerList = function(title) {\n\tvar tiddler = this.getTiddler(title);\n\tif(tiddler && $tw.utils.isArray(tiddler.fields.list)) {\n\t\treturn tiddler.fields.list.slice(0);\n\t}\n\treturn [];\n};\n\n// Return a named global cache object. Global cache objects are cleared whenever a tiddler change occurs\nexports.getGlobalCache = function(cacheName,initializer) {\n\tthis.globalCache = this.globalCache || {};\n\tif($tw.utils.hop(this.globalCache,cacheName)) {\n\t\treturn this.globalCache[cacheName];\n\t} else {\n\t\tthis.globalCache[cacheName] = initializer();\n\t\treturn this.globalCache[cacheName];\n\t}\n};\n\nexports.clearGlobalCache = function() {\n\tthis.globalCache = {};\n}\n\n// Return the named cache object for a tiddler. If the cache doesn't exist then the initializer function is invoked to create it\nexports.getCacheForTiddler = function(title,cacheName,initializer) {\n\n// Temporarily disable caching so that tweakParseTreeNode() works\nreturn initializer();\n\n\tthis.caches = this.caches || {};\n\tvar caches = this.caches[title];\n\tif(caches && caches[cacheName]) {\n\t\treturn caches[cacheName];\n\t} else {\n\t\tif(!caches) {\n\t\t\tcaches = {};\n\t\t\tthis.caches[title] = caches;\n\t\t}\n\t\tcaches[cacheName] = initializer();\n\t\treturn caches[cacheName];\n\t}\n};\n\n// Clear all caches associated with a particular tiddler\nexports.clearCache = function(title) {\n\tthis.caches = this.caches || {};\n\tif($tw.utils.hop(this.caches,title)) {\n\t\tdelete this.caches[title];\n\t}\n};\n\nexports.initParsers = function(moduleType) {\n\t// Install the parser modules\n\t$tw.Wiki.parsers = {};\n\tvar self = this;\n\t$tw.modules.forEachModuleOfType(\"parser\",function(title,module) {\n\t\tfor(var f in module) {\n\t\t\tif($tw.utils.hop(module,f)) {\n\t\t\t\t$tw.Wiki.parsers[f] = module[f]; // Store the parser class\n\t\t\t}\n\t\t}\n\t});\n};\n\n/*\nParse a block of text of a specified MIME type\n\ttype: content type of text to be parsed\n\ttext: text\n\toptions: see below\nOptions include:\n\tparseAsInline: if true, the text of the tiddler will be parsed as an inline run\n*/\nexports.old_parseText = function(type,text,options) {\n\toptions = options || {};\n\t// Select a parser\n\tvar Parser = $tw.Wiki.parsers[type];\n\tif(!Parser && $tw.config.fileExtensionInfo[type]) {\n\t\tParser = $tw.Wiki.parsers[$tw.config.fileExtensionInfo[type].type];\n\t}\n\tif(!Parser) {\n\t\tParser = $tw.Wiki.parsers[options.defaultType || \"text/vnd.tiddlywiki\"];\n\t}\n\tif(!Parser) {\n\t\treturn null;\n\t}\n\t// Return the parser instance\n\treturn new Parser(type,text,{\n\t\tparseAsInline: options.parseAsInline,\n\t\twiki: this\n\t});\n};\n\n/*\nParse a tiddler according to its MIME type\n*/\nexports.old_parseTiddler = function(title,options) {\n\toptions = options || {};\n\tvar cacheType = options.parseAsInline ? \"newInlineParseTree\" : \"newBlockParseTree\",\n\t\ttiddler = this.getTiddler(title),\n\t\tself = this;\n\treturn tiddler ? this.getCacheForTiddler(title,cacheType,function() {\n\t\t\treturn self.old_parseText(tiddler.fields.type,tiddler.fields.text,options);\n\t\t}) : null;\n};\n\n// We need to tweak parse trees generated by the existing parser because of the change from {type:\"element\",tag:\"$tiddler\",...} to {type:\"tiddler\",...}\nvar tweakParseTreeNode = function(node) {\n\tif(node.type === \"element\" && node.tag.charAt(0) === \"$\") {\n\t\tnode.type = node.tag.substr(1);\n\t\tdelete node.tag;\n\t}\n\ttweakParseTreeNodes(node.children);\n};\n\nvar tweakParseTreeNodes = function(nodeList) {\n\t$tw.utils.each(nodeList,tweakParseTreeNode);\n};\n\nvar tweakMacroDefinition = function(nodeList) {\n\tif(nodeList && nodeList[0] && nodeList[0].type === \"macrodef\") {\n\t\tnodeList[0].type = \"set\";\n\t\tnodeList[0].attributes = {\n\t\t\tname: {type: \"string\", value: nodeList[0].name},\n\t\t\tvalue: {type: \"string\", value: nodeList[0].text}\n\t\t};\n\t\tnodeList[0].children = nodeList.slice(1);\n\t\tnodeList.splice(1,nodeList.length-1);\n\t\ttweakMacroDefinition(nodeList[0].children);\n\t}\n};\n\nvar tweakParser = function(parser) {\n\t// Move any macro definitions to contain the body tree\n\ttweakMacroDefinition(parser.tree);\n\t// Tweak widgets\n\ttweakParseTreeNodes(parser.tree);\n};\n\nexports.parseText = function(type,text,options) {\n\tvar parser = this.old_parseText(type,text,options);\n\tif(parser) {\n\t\ttweakParser(parser)\n\t};\n\treturn parser;\n};\n\nexports.parseTiddler = function(title,options) {\n\tvar parser = this.old_parseTiddler(title,options);\n\tif(parser) {\n\t\ttweakParser(parser)\n\t};\n\treturn parser;\n};\n\nexports.parseTextReference = function(title,field,index,options) {\n\tif(field === \"text\" || (!field && !index)) {\n\t\t// Force the tiddler to be lazily loaded\n\t\tthis.getTiddlerText(title);\n\t\t// Parse it\n\t\treturn this.parseTiddler(title,options);\n\t} else {\n\t\tvar tiddler,text;\n\t\tif(field) {\n\t\t\ttiddler = this.getTiddler(title);\n\t\t\ttext = tiddler ? tiddler.fields[field] : \"\";\n\t\t\tif(text === undefined) {\n\t\t\t\ttext = \"\";\n\t\t\t}\n\t\t\treturn this.parseText(\"text/vnd.tiddlywiki\",text.toString(),options);\n\t\t} else if(index) {\n\t\t\ttext = this.extractTiddlerDataItem(title,index,\"\");\n\t\t\treturn this.parseText(\"text/vnd.tiddlywiki\",text,options);\n\t\t}\n\t}\n};\n\n/*\nMake a widget tree for a parse tree\nparser: parser object\noptions: see below\nOptions include:\ndocument: optional document to use\nvariables: hashmap of variables to set\nparentWidget: optional parent widget for the root node\n*/\nexports.makeWidget = function(parser,options) {\n\toptions = options || {};\n\tvar widgetNode = {\n\t\t\ttype: \"widget\",\n\t\t\tchildren: []\n\t\t},\n\t\tcurrWidgetNode = widgetNode;\n\t// Create set variable widgets for each variable\n\t$tw.utils.each(options.variables,function(value,name) {\n\t\tvar setVariableWidget = {\n\t\t\ttype: \"set\",\n\t\t\tattributes: {\n\t\t\t\tname: {type: \"string\", value: name},\n\t\t\t\tvalue: {type: \"string\", value: value}\n\t\t\t},\n\t\t\tchildren: []\n\t\t};\n\t\tcurrWidgetNode.children = [setVariableWidget];\n\t\tcurrWidgetNode = setVariableWidget;\n\t});\n\t// Add in the supplied parse tree nodes\n\tcurrWidgetNode.children = parser ? parser.tree : [];\n\t// Create the widget\n\treturn new widget.widget(widgetNode,{\n\t\twiki: this,\n\t\tdocument: options.document || $tw.document,\n\t\tparentWidget: options.parentWidget\n\t});\n};\n\n/*\nParse text in a specified format and render it into another format\n\toutputType: content type for the output\n\ttextType: content type of the input text\n\ttext: input text\n\toptions: see below\nOptions include:\nvariables: hashmap of variables to set\nparentWidget: optional parent widget for the root node\n*/\nexports.renderText = function(outputType,textType,text,options) {\n\toptions = options || {};\n\tvar parser = this.parseText(textType,text,options),\n\t\twidgetNode = this.makeWidget(parser,options);\n\tvar container = $tw.document.createElement(\"div\");\n\twidgetNode.render(container,null);\n\treturn outputType === \"text/html\" ? container.innerHTML : container.textContent;\n};\n\n/*\nParse text from a tiddler and render it into another format\n\toutputType: content type for the output\n\ttitle: title of the tiddler to be rendered\n\toptions: see below\nOptions include:\nvariables: hashmap of variables to set\nparentWidget: optional parent widget for the root node\n*/\nexports.renderTiddler = function(outputType,title,options) {\n\toptions = options || {};\n\tvar parser = this.parseTiddler(title),\n\t\twidgetNode = this.makeWidget(parser,options);\n\tvar container = $tw.document.createElement(\"div\");\n\twidgetNode.render(container,null);\n\treturn outputType === \"text/html\" ? container.innerHTML : container.textContent;\n};\n\n/*\nSelect the appropriate saver modules and set them up\n*/\nexports.initSavers = function(moduleType) {\n\tmoduleType = moduleType || \"saver\";\n\t// Instantiate the available savers\n\tthis.savers = [];\n\tvar self = this;\n\t$tw.modules.forEachModuleOfType(moduleType,function(title,module) {\n\t\tif(module.canSave(self)) {\n\t\t\tself.savers.push(module.create(self));\n\t\t}\n\t});\n\t// Sort the savers into priority order\n\tthis.savers.sort(function(a,b) {\n\t\tif(a.info.priority < b.info.priority) {\n\t\t\treturn -1;\n\t\t} else {\n\t\t\tif(a.info.priority > b.info.priority) {\n\t\t\t\treturn +1;\n\t\t\t} else {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t}\n\t});\n};\n\n/*\nInvoke the highest priority saver that successfully handles a method\n*/\nexports.callSaver = function(method /*, args */ ) {\n\tfor(var t=this.savers.length-1; t>=0; t--) {\n\t\tvar saver = this.savers[t];\n\t\tif(saver[method].apply(saver,Array.prototype.slice.call(arguments,1))) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n};\n\n/*\nSave the wiki contents. Options are:\n\tmethod: \"save\" or \"download\"\n\ttemplate: the tiddler containing the template to save\n\tdownloadType: the content type for the saved file\n*/\nexports.saveWiki = function(options) {\n\toptions = options || {};\n\tvar method = options.method || \"save\",\n\t\ttemplate = options.template || \"$:/core/save/all\",\n\t\tdownloadType = options.downloadType || \"text/plain\";\n\tvar text = this.renderTiddler(downloadType,template);\n\tthis.callSaver(\"save\",text,method,function(err) {\n\t\tif(err) {\n\t\t\talert(\"Error while saving:\\n\\n\" + err);\n\t\t} else {\n\t\t\t$tw.notifier.display(\"$:/messages/Saved\");\n\t\t}\n\t});\n};\n\n/*\nReturn an array of tiddler titles that match a search string\n\ttext: The text string to search for\n\toptions: see below\nOptions available:\n\ttitles:  Hashmap or array of tiddler titles to limit search\n\texclude: An array of tiddler titles to exclude from the search\n\tinvert: If true returns tiddlers that do not contain the specified string\n\tcaseSensitive: If true forces a case sensitive search\n\tliteral: If true, searches for literal string, rather than separate search terms\n*/\nexports.search = function(text,options) {\n\toptions = options || {};\n\tvar self = this,t;\n\t// Convert the search string into a regexp for each term\n\tvar terms, searchTermsRegExps,\n\t\tflags = options.caseSensitive ? \"\" : \"i\";\n\tif(options.literal) {\n\t\tif(text.length === 0) {\n\t\t\tsearchTermsRegExps = null;\n\t\t} else {\n\t\t\tsearchTermsRegExps = [new RegExp(\"(\" + $tw.utils.escapeRegExp(text) + \")\",flags)];\n\t\t}\n\t} else {\n\t\tterms = text.split(/ +/);\n\t\tif(terms.length === 1 && terms[0] === \"\") {\n\t\t\tsearchTermsRegExps = null;\n\t\t} else {\n\t\t\tsearchTermsRegExps = [];\n\t\t\tfor(t=0; t<terms.length; t++) {\n\t\t\t\tsearchTermsRegExps.push(new RegExp(\"(\" + $tw.utils.escapeRegExp(terms[t]) + \")\",flags));\n\t\t\t}\n\t\t}\n\t}\n\t// Function to check a given tiddler for the search term\n\tvar searchTiddler = function(title) {\n\t\tif(!searchTermsRegExps) {\n\t\t\treturn true;\n\t\t}\n\t\tvar tiddler = self.getTiddler(title);\n\t\tif(!tiddler) {\n\t\t\ttiddler = new $tw.Tiddler({title: title, text: \"\", type: \"text/vnd.tiddlywiki\"});\n\t\t}\n\t\tvar contentTypeInfo = $tw.config.contentTypeInfo[tiddler.fields.type] || $tw.config.contentTypeInfo[\"text/vnd.tiddlywiki\"],\n\t\t\tmatch;\n\t\tfor(var t=0; t<searchTermsRegExps.length; t++) {\n\t\t\t// Search title, tags and body\n\t\t\tmatch = false;\n\t\t\tif(contentTypeInfo.encoding === \"utf8\") {\n\t\t\t\tmatch = match || searchTermsRegExps[t].test(tiddler.fields.text);\n\t\t\t}\n\t\t\tvar tags = tiddler.fields.tags ? tiddler.fields.tags.join(\"\\0\") : \"\";\n\t\t\tmatch = match || searchTermsRegExps[t].test(tags) || searchTermsRegExps[t].test(tiddler.fields.title);\n\t\t\tif(!match) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t};\n\t// Loop through all the tiddlers doing the search\n\tvar results = [];\n\tif($tw.utils.isArray(options.titles)) {\n\t\tfor(t=0; t<options.titles.length; t++) {\n\t\t\tif(!!searchTiddler(options.titles[t]) === !options.invert) {\n\t\t\t\tresults.push(options.titles[t]);\n\t\t\t}\n\t\t}\n\t} else {\n\t\tvar source = options.titles || this.tiddlers;\n\t\tfor(t in source) {\n\t\t\tif(!!searchTiddler(t) === !options.invert) {\n\t\t\t\tresults.push(t);\n\t\t\t}\n\t\t}\n\t}\n\t// Remove any of the results we have to exclude\n\tif(options.exclude) {\n\t\tfor(t=0; t<options.exclude.length; t++) {\n\t\t\tvar p = results.indexOf(options.exclude[t]);\n\t\t\tif(p !== -1) {\n\t\t\t\tresults.splice(p,1);\n\t\t\t}\n\t\t}\n\t}\n\treturn results;\n};\n\n/*\nTrigger a load for a tiddler if it is skinny. Returns the text, or undefined if the tiddler is missing, null if the tiddler is being lazily loaded.\n*/\nexports.getTiddlerText = function(title,defaultText) {\n\tvar tiddler = this.getTiddler(title);\n\t// Return undefined if the tiddler isn't found\n\tif(!tiddler) {\n\t\treturn defaultText;\n\t}\n\tif(tiddler.fields.text !== undefined) {\n\t\t// Just return the text if we've got it\n\t\treturn tiddler.fields.text;\n\t} else {\n\t\t// Tell any listeners about the need to lazily load this tiddler\n\t\tthis.dispatchEvent(\"lazyLoad\",title);\n\t\t// Indicate that the text is being loaded\n\t\treturn null;\n\t}\n};\n\n/*\nRead an array of browser File objects, invoking callback(tiddlerFieldsArray) once they're all read\n*/\nexports.readFiles = function(files,callback) {\n\tvar result = [],\n\t\toutstanding = files.length;\n\tfor(var f=0; f<files.length; f++) {\n\t\tthis.readFile(files[f],function(tiddlerFieldsArray) {\n\t\t\tresult.push.apply(result,tiddlerFieldsArray);\n\t\t\tif(--outstanding === 0) {\n\t\t\t\tcallback(result);\n\t\t\t}\n\t\t});\n\t};\n};\n\n/*\nRead a browser File object, invoking callback(tiddlerFieldsArray) with an array of tiddler fields objects\n*/\nexports.readFile = function(file,callback) {\n\t// Get the type, falling back to the filename extension\n\tvar self = this,\n\t\ttype = file.type;\n\tif(type === \"\" || !type) {\n\t\tvar dotPos = file.name.lastIndexOf(\".\");\n\t\tif(dotPos !== -1) {\n\t\t\tvar fileExtensionInfo = $tw.config.fileExtensionInfo[file.name.substr(dotPos)];\n\t\t\tif(fileExtensionInfo) {\n\t\t\t\ttype = fileExtensionInfo.type;\n\t\t\t}\n\t\t}\n\t}\n\t// Figure out if we're reading a binary file\n\tvar contentTypeInfo = $tw.config.contentTypeInfo[type],\n\t\tisBinary = contentTypeInfo ? contentTypeInfo.encoding === \"base64\" : false;\n\t// Create the FileReader\n\tvar reader = new FileReader();\n\t// Onload\n\treader.onload = function(event) {\n\t\t// Deserialise the file contents\n\t\tvar tiddlerFields = {title: file.name || \"Untitled\", type: type};\n\t\t// Are we binary?\n\t\tif(isBinary) {\n\t\t\t// The base64 section starts after the first comma in the data URI\n\t\t\tvar commaPos = event.target.result.indexOf(\",\");\n\t\t\tif(commaPos !== -1) {\n\t\t\t\ttiddlerFields.text = event.target.result.substr(commaPos+1);\n\t\t\t\tcallback([tiddlerFields]);\n\t\t\t}\n\t\t} else {\n\t\t\tcallback(self.deserializeTiddlers(type,event.target.result,tiddlerFields));\n\t\t}\n\t};\n\t// Kick off the read\n\tif(isBinary) {\n\t\treader.readAsDataURL(file);\n\t} else {\n\t\treader.readAsText(file);\n\t}\n};\n\n})();\n",
            "title": "$:/core/modules/wiki.js",
            "type": "application/javascript",
            "module-type": "wikimethod"
        },
        "$:/core/templates/MOTW.html": {
            "title": "$:/core/templates/MOTW.html",
            "text": "\\rules only filteredtranscludeinline transcludeinline entity\n<!-- The following comment is called a MOTW comment and is necessary for the TiddlyIE Internet Explorer extension -->\n<!-- saved from url=(0021)http://tiddlywiki.com -->&#13;&#10;"
        },
        "$:/core/templates/alltiddlers.content": {
            "title": "$:/core/templates/alltiddlers.content",
            "text": "{{{ [!is[system]sort[title]] ||$:/core/templates/static-tiddler}}}"
        },
        "$:/core/templates/alltiddlers.template.html": {
            "title": "$:/core/templates/alltiddlers.template.html",
            "type": "text/vnd.tiddlywiki-html",
            "text": "\\define tw-wikilink-template() #$uri_encoded$\n\\rules only filteredtranscludeinline transcludeinline\n<!doctype html>\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"{{$:/core/templates/version}}\" />\n<meta name=\"format-detection\" content=\"telephone=no\">\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<title>{{$:/core/wiki/title}}</title>\n<div id=\"styleArea\">\n{{{ [is[system]type[text/css]] ||$:/core/templates/css-tiddler}}}\n</div>\n<style type=\"text/css\">\n{{{ [tag[$:/tags/stylesheet]] [is[shadow]tag[$:/tags/stylesheet]] ||$:/core/templates/wikified-tiddler}}}\n</style>\n</head>\n<body class=\"tw-body\">\n{{$:/StaticBanner||$:/core/templates/html-tiddler}}\n<section class=\"story-river\">\n{{$:/core/templates/alltiddlers.content||$:/core/templates/html-tiddler}}\n</section>\n</body>\n</html>\n"
        },
        "$:/core/templates/css-tiddler": {
            "title": "$:/core/templates/css-tiddler",
            "text": "<!--\n\nThis template is used for saving CSS tiddlers as a style tag with data attributes representing the tiddler fields.\n\n-->`<style`<$fields template=' data-tiddler-$name$=\"$encoded_value$\"'></$fields>` type=\"text/css\">`<$view field=\"text\" format=\"text\" />`</style>`"
        },
        "$:/core/templates/html-div-tiddler": {
            "title": "$:/core/templates/html-div-tiddler",
            "text": "<!--\n\nThis template is used for saving tiddlers as an HTML DIV tag with attributes representing the tiddler fields.\n\n-->`<div`<$fields template=' $name$=\"$encoded_value$\"'></$fields>`>\n<pre>`<$view field=\"text\" format=\"htmlencoded\" />`</pre>\n</div>`\n"
        },
        "$:/core/templates/html-tiddler": {
            "title": "$:/core/templates/html-tiddler",
            "text": "<!--\n\nThis template is used for saving tiddlers as raw HTML\n\n--><$view field=\"text\" format=\"htmlwikified\" />"
        },
        "$:/core/templates/javascript-tiddler": {
            "title": "$:/core/templates/javascript-tiddler",
            "text": "<!--\n\nThis template is used for saving JavaScript tiddlers as a script tag with data attributes representing the tiddler fields.\n\n-->`<script`<$fields template=' data-tiddler-$name$=\"$encoded_value$\"'></$fields>` type=\"text/javascript\">`<$view field=\"text\" format=\"text\" />`</script>`"
        },
        "$:/core/templates/module-tiddler": {
            "title": "$:/core/templates/module-tiddler",
            "text": "<!--\n\nThis template is used for saving JavaScript tiddlers as a script tag with data attributes representing the tiddler fields. The body of the tiddler is wrapped in a call to the `$tw.modules.define` function in order to define the body of the tiddler as a module\n\n-->`<script`<$fields template=' data-tiddler-$name$=\"$encoded_value$\"'></$fields>` type=\"text/javascript\" data-module=\"yes\">$tw.modules.define(\"`<$view field=\"title\" format=\"jsencoded\" />`\",\"`<$view field=\"module-type\" format=\"jsencoded\" />`\",function(module,exports,require) {`<$view field=\"text\" format=\"text\" />`});\n</script>`"
        },
        "$:/core/templates/plain-text-tiddler": {
            "title": "$:/core/templates/plain-text-tiddler",
            "text": "<$view field=\"text\" format=\"text\" />"
        },
        "$:/core/save/all": {
            "title": "$:/core/save/all",
            "text": "\\define saveTiddlerFilter()\n[is[tiddler]] -[type[text/css]] -[type[application/javascript]has[module-type]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]]\n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"
        },
        "$:/core/save/empty": {
            "title": "$:/core/save/empty",
            "text": "\\define saveTiddlerFilter()\n[is[system]] -[type[text/css]] -[type[application/javascript]has[module-type]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]]\n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"
        },
        "$:/core/templates/split-recipe": {
            "title": "$:/core/templates/split-recipe",
            "text": "<$list filter=\"[!is[system]]\">\ntiddler: <$view field=\"title\" format=\"urlencoded\"/>.tid\n</$list>\n"
        },
        "$:/core/templates/static-tiddler": {
            "title": "$:/core/templates/static-tiddler",
            "text": "<a name=<<currentTiddler>>>\n<$transclude tiddler=\"$:/core/ui/ViewTemplate\"/>\n</a>"
        },
        "$:/core/templates/static.area": {
            "title": "$:/core/templates/static.area",
            "text": "<$reveal type=\"nomatch\" state=\"$:/isEncrypted\" text=\"yes\">\n{{$:/core/templates/static.content||$:/core/templates/html-tiddler}}\n</$reveal>\n<$reveal type=\"match\" state=\"$:/isEncrypted\" text=\"yes\">\nThis file contains an encrypted ~TiddlyWiki. Enable ~JavaScript and enter the decryption password when prompted.\n</$reveal>\n"
        },
        "$:/core/templates/static.content": {
            "title": "$:/core/templates/static.content",
            "type": "text/vnd.tiddlywiki",
            "text": "<!-- For Google, and people without JavaScript-->\nThis [[TiddlyWiki|http://tiddlywiki.com]] contains the following tiddlers:\n\n<ul>\n<$list filter=<<saveTiddlerFilter>>>\n<li><$view field=\"title\" format=\"text\"></$view></li>\n</$list>\n</ul>\n"
        },
        "$:/core/templates/static.template.css": {
            "title": "$:/core/templates/static.template.css",
            "text": "{{{ [is[system]type[text/css]] ||$:/core/templates/plain-text-tiddler}}}\n{{{ [tag[$:/tags/stylesheet]] [is[shadow]tag[$:/tags/stylesheet]] ||$:/core/templates/wikified-tiddler}}}\n"
        },
        "$:/core/templates/static.template.html": {
            "title": "$:/core/templates/static.template.html",
            "type": "text/vnd.tiddlywiki-html",
            "text": "\\define tw-wikilink-template() static/$uri_doubleencoded$.html\n\\rules only filteredtranscludeinline transcludeinline\n<!doctype html>\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"{{$:/core/templates/version}}\" />\n<meta name=\"format-detection\" content=\"telephone=no\">\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<title>{{$:/core/wiki/title}}</title>\n<div id=\"styleArea\">\n{{{ [is[system]type[text/css]] ||$:/core/templates/css-tiddler}}}\n</div>\n<style type=\"text/css\">\n{{{ [tag[$:/tags/stylesheet]] [is[shadow]tag[$:/tags/stylesheet]] ||$:/core/templates/wikified-tiddler}}}\n</style>\n</head>\n<body class=\"tw-body\">\n{{$:/StaticBanner||$:/core/templates/html-tiddler}}\n{{$:/core/ui/PageMacros||$:/core/templates/html-tiddler}}\n</body>\n</html>\n"
        },
        "$:/core/templates/static.tiddler.html": {
            "title": "$:/core/templates/static.tiddler.html",
            "text": "\\define tw-wikilink-template() $uri_doubleencoded$.html\n`<!doctype html>\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"`{{$:/core/templates/version}}`\" />\n<meta name=\"format-detection\" content=\"telephone=no\">\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<link rel=\"stylesheet\" href=\"static.css\">\n<title>`{{$:/core/wiki/title}}`</title>\n</head>\n<body class=\"tw-body\">\n`{{$:/StaticBanner||$:/core/templates/html-tiddler}}`\n<section class=\"story-river\">\n`<$view tiddler=\"$:/core/ui/ViewTemplate\" format=\"htmlwikified\"/>`\n</section>\n</body>\n</html>\n`"
        },
        "$:/core/templates/store.area.template.html": {
            "title": "$:/core/templates/store.area.template.html",
            "text": "<$reveal type=\"nomatch\" state=\"$:/isEncrypted\" text=\"yes\">\n`<div id=\"storeArea\" style=\"display:none;\">`\n<$list filter=<<saveTiddlerFilter>> template=\"$:/core/templates/html-div-tiddler\"/>\n`</div>`\n</$reveal>\n<$reveal type=\"match\" state=\"$:/isEncrypted\" text=\"yes\">\n`<!--~~ Encrypted tiddlers ~~-->`\n`<pre id=\"encryptedStoreArea\" type=\"text/plain\" style=\"display:none;\">`\n<$encrypt filter=<<saveTiddlerFilter>>/>\n`</pre>`\n</$reveal>"
        },
        "$:/core/templates/tid-tiddler": {
            "title": "$:/core/templates/tid-tiddler",
            "text": "<!--\n\nThis template is used for saving tiddlers in TiddlyWeb *.tid format\n\n--><$fields exclude='text bag' template='$name$: $value$\n'></$fields>`\n`<$view field=\"text\" format=\"text\" />"
        },
        "$:/core/templates/tiddler-metadata": {
            "title": "$:/core/templates/tiddler-metadata",
            "text": "<!--\n\nThis template is used for saving tiddler metadata *.meta files\n\n--><$fields exclude='text bag' template='$name$: $value$\n'></$fields>"
        },
        "$:/core/templates/tiddlywiki5.html": {
            "title": "$:/core/templates/tiddlywiki5.html",
            "text": "\\rules only filteredtranscludeinline transcludeinline\n<!doctype html>\n{{$:/core/templates/MOTW.html}}<html>\n<head>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\" />\t\t<!-- Force IE standards mode for Intranet and HTA - should be the first meta -->\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<meta name=\"application-name\" content=\"TiddlyWiki\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"{{$:/core/templates/version}}\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\" />\n<meta name=\"format-detection\" content=\"telephone=no\" />\n<meta name=\"copyright\" content=\"{{$:/core/copyright.txt}}\" />\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<title>{{$:/core/wiki/title}}</title>\n<!--~~ This is a Tiddlywiki file. The points of interest in the file are marked with this pattern ~~-->\n\n<!--~~ Raw markup ~~-->\n{{{ [tag[$:/core/wiki/rawmarkup]] ||$:/core/templates/plain-text-tiddler}}}\n</head>\n<body class=\"tw-body\">\n<!--~~ Static styles ~~-->\n<div id=\"styleArea\">\n{{{ [is[system]type[text/css]] ||$:/core/templates/css-tiddler}}}\n</div>\n<!--~~ Static content for Google and browsers without JavaScript ~~-->\n<noscript>\n<div id=\"splashArea\">\n{{$:/core/templates/static.area}}\n</div>\n</noscript>\n<!--~~ Ordinary tiddlers ~~-->\n{{$:/core/templates/store.area.template.html}}\n<!--~~ Library modules ~~-->\n<div id=\"libraryModules\" style=\"display:none;\">\n{{{ [is[system]type[application/javascript]library[yes]] ||$:/core/templates/javascript-tiddler}}}\n</div>\n<!--~~ Boot kernel prologue ~~-->\n<div id=\"bootKernelPrefix\" style=\"display:none;\">\n{{ $:/boot/bootprefix.js ||$:/core/templates/javascript-tiddler}}\n</div>\n<!--~~ Plugin modules ~~-->\n<div id=\"modules\" style=\"display:none;\">\n{{{ [is[system]type[application/javascript]has[module-type]] ||$:/core/templates/module-tiddler}}}\n</div>\n<!--~~ Boot kernel ~~-->\n<div id=\"bootKernel\" style=\"display:none;\">\n{{ $:/boot/boot.js ||$:/core/templates/javascript-tiddler}}\n</div>\n</body>\n</html>\n"
        },
        "$:/core/templates/version": {
            "title": "$:/core/templates/version",
            "text": "<<version>>"
        },
        "$:/core/templates/wikified-tiddler": {
            "title": "$:/core/templates/wikified-tiddler",
            "text": "<$transclude />"
        },
        "$:/core/ui/AdvancedSearch/Shadows": {
            "title": "$:/core/ui/AdvancedSearch/Shadows",
            "tags": "$:/tags/AdvancedSearch",
            "caption": "Shadows",
            "text": "<$linkcatcher to=\"$:/temp/advancedsearch\">\n\nSearch for shadow tiddlers:\n\n<div class=\"tw-search\"><$edit-text tiddler=\"$:/temp/advancedsearch\" type=\"search\" tag=\"input\"/><$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\"> <$link to=\"\" class=\"btn-invisible\">{{$:/core/images/close-button}}</$link></$reveal></div>\n\n</$linkcatcher>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n\n<div class=\"tw-search-results\">\n\n//<small><$count filter=\"[is[shadow]search{$:/temp/advancedsearch}]\"/> matches</small>//\n\n<$list filter=\"[is[shadow]search{$:/temp/advancedsearch}sort[title]limit[250]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n\n</div>\n\n</$reveal>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"match\" text=\"\">\n\n</$reveal>\n"
        },
        "$:/core/ui/AdvancedSearch/System": {
            "title": "$:/core/ui/AdvancedSearch/System",
            "tags": "$:/tags/AdvancedSearch",
            "caption": "System",
            "text": "<$linkcatcher to=\"$:/temp/advancedsearch\">\n\nSearch for system tiddlers:\n\n<div class=\"tw-search\"><$edit-text tiddler=\"$:/temp/advancedsearch\" type=\"search\" tag=\"input\"/><$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\"> <$link to=\"\" class=\"btn-invisible\">{{$:/core/images/close-button}}</$link></$reveal></div>\n\n</$linkcatcher>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n\n<div class=\"tw-search-results\">\n\n//<small><$count filter=\"[search{$:/temp/advancedsearch}]\"/> matches</small>//\n\n<$list filter=\"[search{$:/temp/advancedsearch}sort[title]limit[250]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n\n</div>\n\n</$reveal>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"match\" text=\"\">\n\n</$reveal>\n"
        },
        "$:/AdvancedSearch": {
            "title": "$:/AdvancedSearch",
            "text": "<div class=\"tw-advanced-search\"><<tabs \"[is[shadow]!has[draft.of]tag[$:/tags/AdvancedSearch]] [!is[shadow]!has[draft.of]tag[$:/tags/AdvancedSearch]] +[tag[$:/tags/AdvancedSearch]]\" \"$:/core/ui/AdvancedSearch/System\">></div>\n"
        },
        "$:/core/ui/ControlPanel/Appearance": {
            "title": "$:/core/ui/ControlPanel/Appearance",
            "tags": "$:/tags/ControlPanel",
            "caption": "Appearance",
            "text": "! Theme\n\n{{$:/snippets/themeswitcher}}\n\n! Story View\n\n{{$:/snippets/viewswitcher}}\n"
        },
        "$:/core/ui/ControlPanel/Basics": {
            "title": "$:/core/ui/ControlPanel/Basics",
            "tags": "$:/tags/ControlPanel",
            "caption": "Basics",
            "text": "|TiddlyWiki version |''<<version>>'' |\n|[[Title of this TiddlyWiki|SiteTitle]] |<$edit-text tiddler=\"SiteTitle\" default=\"\" tag=\"input\"/> |\n|[[Subtitle|SiteSubtitle]] |<$edit-text tiddler=\"SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|[[Username for signing edits|$:/status/UserName]] |<$edit-text tiddler=\"$:/status/UserName\" default=\"\" tag=\"input\"/> |\n|[[Animation duration|$:/config/AnimationDuration]] |<$edit-text tiddler=\"$:/config/AnimationDuration\" default=\"\" tag=\"input\"/> |\n|[[DefaultTiddlers|$:/DefaultTiddlers]] |Choose which tiddlers are displayed at startup:<br> <$edit-text tag=\"textarea\" tiddler=\"$:/DefaultTiddlers\"/><br>//Use &#91;&#91;double square brackets&#93;&#93; for titles with spaces// |\n|Tiddlers |''<$count filter=\"[!is[system]]\"/>'' |\n|System tiddlers |''<$count filter=\"[is[system]]\"/>'' |\n|Shadow tiddlers |''<$count filter=\"[is[shadow]]\"/>'' |\n|Overridden shadow tiddlers |''<$count filter=\"[!is[system]is[shadow]]\"/>'' |\n"
        },
        "$:/core/ui/ControlPanel/Internals": {
            "title": "$:/core/ui/ControlPanel/Internals",
            "tags": "$:/tags/ControlPanel",
            "caption": "Internals",
            "text": "! Tiddler fields\n\nThis is the full set of TiddlerFields in use in this wiki (including system tiddlers but excluding shadow tiddlers).\n\n{{$:/snippets/allfields}}\n\n! Loaded Modules\n\nThese are the currently loaded tiddler modules linked to their source tiddlers. Any italicised modules lack a source tiddler, typically because they were setup during the boot process.\n\n{{$:/snippets/modules}}\n"
        },
        "$:/core/ui/ControlPanel/Plugins": {
            "title": "$:/core/ui/ControlPanel/Plugins",
            "tags": "$:/tags/ControlPanel",
            "caption": "Plugins",
            "text": "<table><tbody><tr><th>Title</th><th>Description</th><th>Version</th></tr><$list filter=\"[!has[draft.of]has[plugin-type]sort[title]]\"><tr><td><$link to={{!!title}}><$view field=\"title\"/></$link></td><td><$view field=\"description\"/></td><td><$view field=\"version\"/></td></tr></$list>\n</tbody>\n</table>\n"
        },
        "$:/core/ui/ControlPanel/Saving": {
            "title": "$:/core/ui/ControlPanel/Saving",
            "tags": "$:/tags/ControlPanel",
            "caption": "Saving",
            "text": "\\define backupURL()\nhttp://$(userName)$.tiddlyspot.com/backup/\n\\end\n\\define backupLink()\n<$reveal type=\"nomatch\" state=\"$:/UploadName\" text=\"\">\n<$set name=\"userName\" value={{$:/UploadName}}>\n<a href=<<backupURL>>><$macrocall $name=\"backupURL\" $type=\"text/plain\" $output=\"text/plain\"/></a>\n</$set>\n</$reveal>\n\\end\n! TiddlySpot\n\n|[[Wiki name|$:/UploadName]] |<$edit-text tiddler=\"$:/UploadName\" default=\"\" tag=\"input\"/> |\n|Password |<$password name=\"upload\"/> |\n|Server URL |<$edit-text tiddler=\"$:/UploadURL\" default=\"\" tag=\"input\"/> |\n|Backups |<<backupLink>> |\n\n//The server URL defaults to `http://<wikiname>.tiddlyspot.com/store.cgi` and can be changed to use a custom server address//\n"
        },
        "$:/core/ui/ControlPanel/Tools": {
            "title": "$:/core/ui/ControlPanel/Tools",
            "tags": "$:/tags/ControlPanel",
            "caption": "Tools",
            "text": "! Import\n\n<$browse/>\n\nBrowse for files on your computer to import their contents (the individual tiddlers within TiddlyWiki HTML files are imported separately). You can also drag and drop files directly to the browser window.\n\n! Encryption\n\n{{$:/snippets/encryptionstatus}}\n"
        },
        "$:/ControlPanel": {
            "title": "$:/ControlPanel",
            "text": "<div class=\"tw-control-panel\"><<tabs \"[is[shadow]!has[draft.of]tag[$:/tags/ControlPanel]] [!is[shadow]!has[draft.of]tag[$:/tags/ControlPanel]] +[tag[$:/tags/ControlPanel]]\" \"$:/core/ui/ControlPanel/Basics\">></div>\n"
        },
        "$:/core/ui/EditTemplate/body": {
            "title": "$:/core/ui/EditTemplate/body",
            "tags": "$:/tags/EditTemplate",
            "text": "\\define prompt()\nType the text for this tiddler\n\\end\n<$reveal state=\"$:/ShowEditPreview\" type=\"match\" text=\"yes\">\n<em class=\"tw-edit\"><$transclude tiddler=\"$:/core/ui/EditorHint\"/></em> <$button type=\"set\" set=\"$:/ShowEditPreview\" setTo=\"no\">hide preview</$button>\n<div class=\"tw-tiddler-preview\">\n<div class=\"tw-tiddler-preview-preview\">\n<$transclude />\n</div>\n<div class=\"tw-tiddler-preview-edit\">\n<$edit field=\"text\" class=\"tw-edit-texteditor\" placeholder=<<prompt>>/>\n</div>\n</div>\n</$reveal>\n<$reveal state=\"$:/ShowEditPreview\" type=\"nomatch\" text=\"yes\">\n<em class=\"tw-edit\"><$transclude tiddler=\"$:/core/ui/EditorHint\"/></em> <$button type=\"set\" set=\"$:/ShowEditPreview\" setTo=\"yes\">show preview</$button>\n<$edit field=\"text\" class=\"tw-edit-texteditor\" placeholder=<<prompt>>/>\n</$reveal>\n"
        },
        "$:/core/ui/EditTemplate/controls": {
            "title": "$:/core/ui/EditTemplate/controls",
            "tags": "$:/tags/EditTemplate",
            "text": "<span class=\"tw-tiddler-controls titlebar\"> <$list filter=\"[is[shadow]!has[draft.of]tag[$:/tags/EditToolbar]] [!is[shadow]!has[draft.of]tag[$:/tags/EditToolbar]] +[tag[$:/tags/EditToolbar]]\" variable=\"listItem\"><$transclude tiddler=<<listItem>>/></$list> </span>\n"
        },
        "$:/core/ui/EditTemplate/fields": {
            "title": "$:/core/ui/EditTemplate/fields",
            "tags": "$:/tags/EditTemplate",
            "text": "<$fieldmangler><div class=\"tw-edit-fields\">\n<table class=\"tw-edit-fields\"><tbody><$list filter=\"[is[current]fields[]] -title -tags -text -creator -created -modified -modifier -type -[[draft.title]] -[[draft.of]]\" variable=\"currentField\"><tr class=\"tw-edit-field\"><td class=\"tw-edit-field-name\"><<currentField>>:</td><td class=\"tw-edit-field-value\"><$edit-text tiddler=<<currentTiddler>> field=<<currentField>> placeholder=\"field value\"/></td><td class=\"tw-edit-field-remove\"><$button message=\"tw-remove-field\" param=<<currentField>> class=\"btn-invisible\">{{$:/core/images/delete-button}}</$button></td>\n</tr>\n</$list>\n</tbody>\n</table>\n</div>\n\n<div class=\"tw-edit-field-add\"><em class=\"tw-edit\">Add a new field:</em> <span class=\"tw-edit-field-add-name\"><$edit-text tiddler=\"$:/NewFieldName\" tag=\"input\" default=\"\" placeholder=\"field name\" class=\"tw-edit-texteditor\"/></span> <span class=\"tw-edit-field-add-button\"><$button message=\"tw-add-field\" param={{$:/NewFieldName}} set=\"$:/NewFieldName\" setTo=\"\" class=\"\">add</$button></span></div>\n\n</$fieldmangler>\n"
        },
        "$:/core/ui/EditTemplate/tags": {
            "title": "$:/core/ui/EditTemplate/tags",
            "tags": "$:/tags/EditTemplate",
            "text": "\\define tag-styles()\nbackground-color:$(backgroundColor)$;\n\\end\n<div class=\"tw-edit-tags\"><$fieldmangler><$list filter=\"[is[current]tags[]sort[title]]\" storyview=\"pop\" itemClass=\"tw-tag-editor-label\"><$set name=\"backgroundColor\" value={{!!color}}><span style=<<tag-styles>> class=\"tw-tag-label\"><$view field=\"title\" format=\"text\" /><$button message=\"tw-remove-tag\" param={{!!title}} class=\"btn-invisible tw-remove-tag-button\">&times;</$button></span></$set>\n</$list>\n\n<div class=\"tw-edit-add-tag\"><span class=\"tw-add-tag-name\"><$edit-text tiddler=\"$:/NewTagName\" tag=\"input\" default=\"\" placeholder=\"tag name\" focusPopup=<<qualify \"$:/state/tagsAutoComplete\">> class=\"tw-edit-texteditor\"/></span> <$button popup=<<qualify \"$:/state/tagsAutoComplete\">> class=\"btn-invisible btn-dropdown\">{{$:/core/images/down-arrow}}</$button> <span class=\"tw-add-tag-button\"><$button message=\"tw-add-tag\" param={{$:/NewTagName}} set=\"$:/NewTagName\" setTo=\"\" class=\"\">add</$button></span></div>\n\n<div class=\"tw-block-dropdown-wrapper\">\n<$reveal state=<<qualify \"$:/state/tagsAutoComplete\">> type=\"nomatch\" text=\"\" default=\"\">\n<div class=\"tw-block-dropdown\">\n<$linkcatcher set=\"$:/NewTagName\" setTo=\"\" message=\"tw-add-tag\"><$list filter=\"[!is[shadow]tags[]search{$:/NewTagName}sort[title]]\"><$link><$set name=\"backgroundColor\" value={{!!color}}><span style=<<tag-styles>> class=\"tw-tag-label\"><$view field=\"title\" format=\"text\"/></span></$set></$link>\n</$list>\n</$linkcatcher>\n</div>\n\n</$reveal>\n</div>\n</$fieldmangler>\n</div>"
        },
        "$:/core/ui/EditTemplate/title": {
            "title": "$:/core/ui/EditTemplate/title",
            "tags": "$:/tags/EditTemplate",
            "text": "<$view field=\"title\"/>\n\n<$edit-text field=\"draft.title\" class=\"titlebar tw-edit-texteditor\"/>\n"
        },
        "$:/core/ui/EditTemplate/type": {
            "title": "$:/core/ui/EditTemplate/type",
            "tags": "$:/tags/EditTemplate",
            "text": "<p><em class=\"tw-edit\">Type:</em> <$edit-text field=\"type\" tag=\"input\" default=\"\" placeholder=\"type\" focusPopup=<<qualify \"$:/state/typeDropdown\">> class=\"tw-edit-typeeditor\"/> <$button popup=<<qualify \"$:/state/typeDropdown\">> class=\"btn-invisible btn-dropdown\">{{$:/core/images/down-arrow}}</$button></p>\n\n<div class=\"tw-block-dropdown-wrapper\">\n<$reveal state=<<qualify \"$:/state/typeDropdown\">> type=\"nomatch\" text=\"\" default=\"\">\n<div class=\"tw-block-dropdown tw-edit-type-dropdown\">\n<$linkcatcher to=\"!!type\">\n<$list filter=\"[is[shadow]prefix[$:/docs/types/]] [!is[shadow]prefix[$:/docs/types/]] +[sort[description]]\"><$link to={{!!name}}><$view field=\"description\"/> (<$view field=\"name\"/>)</$link>\n</$list>\n</$linkcatcher>\n</div>\n</$reveal>\n</div>"
        },
        "$:/core/ui/EditTemplate": {
            "title": "$:/core/ui/EditTemplate",
            "text": "\\define frame-classes()\ntw-tiddler-frame tw-tiddler-edit-frame $(missingTiddlerClass)$ $(shadowTiddlerClass)$ $(systemTiddlerClass)$\n\\end\n<$set name=\"storyTiddler\" value=<<currentTiddler>>><div class=<<frame-classes>>><$list filter=\"[is[shadow]!has[draft.of]tag[$:/tags/EditTemplate]] [!is[shadow]!has[draft.of]tag[$:/tags/EditTemplate]] +[tag[$:/tags/EditTemplate]]\" variable=\"listItem\"><$transclude tiddler=<<listItem>>/></$list></div></$set>\n"
        },
        "$:/core/ui/EditToolbar/cancel": {
            "title": "$:/core/ui/EditToolbar/cancel",
            "tags": "$:/tags/EditToolbar",
            "text": "<$button message=\"tw-cancel-tiddler\" class=\"btn-invisible\">{{$:/core/images/cancel-button}}</$button>"
        },
        "$:/core/ui/EditToolbar/delete": {
            "title": "$:/core/ui/EditToolbar/delete",
            "tags": "$:/tags/EditToolbar",
            "text": "<$button message=\"tw-delete-tiddler\" class=\"btn-invisible\">{{$:/core/images/delete-button}}</$button>"
        },
        "$:/core/ui/EditToolbar/save": {
            "title": "$:/core/ui/EditToolbar/save",
            "tags": "$:/tags/EditToolbar",
            "text": "<$button message=\"tw-save-tiddler\" class=\"btn-invisible\">{{$:/core/images/done-button}}</$button>"
        },
        "$:/core/ui/EditorHint": {
            "title": "$:/core/ui/EditorHint",
            "text": "Use WikiText to add formatting, images, and dynamic features"
        },
        "$:/core/ui/ListItemTemplate": {
            "title": "$:/core/ui/ListItemTemplate",
            "text": "<div class=\"tw-menu-list-item\"><$link to={{!!title}}><$view field=\"title\"/></$link>\n</div>"
        },
        "$:/core/ui/MissingTemplate": {
            "title": "$:/core/ui/MissingTemplate",
            "text": "<div class=\"tw-tiddler-missing\"><$button popup=<<qualify \"$:/state/missingpopup\">> class=\"btn-invisible tw-missing-tiddler-label\"><$view field=\"title\" format=\"text\" /></$button>\n<$reveal state=<<qualify \"$:/state/missingpopup\">> type=\"popup\" position=\"below\" animate=\"yes\"><div class=\"tw-drop-down\">\n<$transclude tiddler=\"$:/core/ui/ListItemTemplate\"/>\n<hr>\n<$list filter=\"[is[current]backlinks[]sort[title]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n</div></$reveal></div>\n"
        },
        "$:/core/ui/MoreSideBar/All": {
            "title": "$:/core/ui/MoreSideBar/All",
            "tags": "$:/tags/MoreSideBar",
            "caption": "All",
            "text": "<$list filter=\"[!is[system]sort[title]]\" itemClass=\"tw-menu-list-item\" template=\"$:/core/ui/ListItemTemplate\"/>\n"
        },
        "$:/core/ui/MoreSideBar/Drafts": {
            "title": "$:/core/ui/MoreSideBar/Drafts",
            "tags": "$:/tags/MoreSideBar",
            "caption": "Drafts",
            "text": "<$list filter=\"[has[draft.of]sort[title]]\" itemClass=\"tw-menu-list-item\" template=\"$:/core/ui/ListItemTemplate\"/>\n"
        },
        "$:/core/ui/MoreSideBar/Missing": {
            "title": "$:/core/ui/MoreSideBar/Missing",
            "tags": "$:/tags/MoreSideBar",
            "caption": "Missing",
            "text": "<$list filter=\"[is[missing]sort[title]]\" itemClass=\"tw-menu-list-item\" template=\"$:/core/ui/MissingTemplate\"/>\n"
        },
        "$:/core/ui/MoreSideBar/Orphans": {
            "title": "$:/core/ui/MoreSideBar/Orphans",
            "tags": "$:/tags/MoreSideBar",
            "caption": "Orphans",
            "text": "<$list filter=\"[is[orphan]sort[title]]\" itemClass=\"tw-menu-list-item\" template=\"$:/core/ui/ListItemTemplate\"/>\n"
        },
        "$:/core/ui/MoreSideBar/Recent": {
            "title": "$:/core/ui/MoreSideBar/Recent",
            "tags": "$:/tags/MoreSideBar",
            "caption": "Recent",
            "text": "{{$:/snippets/recentchanges}}\n"
        },
        "$:/core/ui/MoreSideBar/Shadows": {
            "title": "$:/core/ui/MoreSideBar/Shadows",
            "tags": "$:/tags/MoreSideBar",
            "caption": "Shadows",
            "text": "<$list filter=\"[is[shadow]sort[title]]\" itemClass=\"tw-menu-list-item\" template=\"$:/core/ui/ListItemTemplate\"/>\n"
        },
        "$:/core/ui/MoreSideBar/System": {
            "title": "$:/core/ui/MoreSideBar/System",
            "tags": "$:/tags/MoreSideBar",
            "caption": "System",
            "text": "<$list filter=\"[is[system]sort[title]]\" itemClass=\"tw-menu-list-item\" template=\"$:/core/ui/ListItemTemplate\"/>\n"
        },
        "$:/core/ui/MoreSideBar/Tags": {
            "title": "$:/core/ui/MoreSideBar/Tags",
            "tags": "$:/tags/MoreSideBar",
            "caption": "Tags",
            "text": "<$list filter=\"[tags[]sort[title]]\" itemClass=\"tw-menu-list-item\">\n<$transclude tiddler=\"$:/core/ui/TagTemplate\"/> <small class=\"tw-menu-list-count\"><$count filter=\"[is[current]tagging[]]\"/></small>\n</$list>\n----\n{{$:/core/ui/UntaggedTemplate}} <small class=\"tw-menu-list-count\"><$count filter=\"[untagged[]!is[system]] -[tags[]]\"/></small>\n"
        },
        "$:/core/ui/MoreSideBar/Types": {
            "title": "$:/core/ui/MoreSideBar/Types",
            "tags": "$:/tags/MoreSideBar",
            "caption": "Types",
            "text": "<$list filter=\"[!is[system]has[type]each[type]sort[type]]\">\n<div class=\"tw-menu-list-item\">\n<$view field=\"type\"/>\n<$list filter=\"[type{!!type}!is[system]sort[title]]\">\n<div class=\"tw-menu-list-subitem\">\n<$link to={{!!title}}><$view field=\"title\"/></$link>\n</div>\n</$list>\n</div>\n</$list>\n"
        },
        "$:/core/ui/PageControls/control-panel": {
            "title": "$:/core/ui/PageControls/control-panel",
            "tags": "$:/tags/PageControls",
            "text": "<$link to=\"$:/ControlPanel\">{{$:/core/images/options-button}}</$link>"
        },
        "$:/core/ui/PageControls/new-tiddler": {
            "title": "$:/core/ui/PageControls/new-tiddler",
            "tags": "$:/tags/PageControls",
            "text": "<$button message=\"tw-new-tiddler\" class=\"btn-invisible\">{{$:/core/images/new-button}}</$button>"
        },
        "$:/core/ui/PageControls/save-wiki": {
            "title": "$:/core/ui/PageControls/save-wiki",
            "tags": "$:/tags/PageControls",
            "text": "<$button message=\"tw-save-wiki\" class=\"btn-invisible\">{{$:/core/images/save-button}}</$button>"
        },
        "$:/core/ui/PageMacros": {
            "title": "$:/core/ui/PageMacros",
            "text": "\\define tabs(tabsList,default,state:\"$:/state/tab\")\n<div class=\"tw-tab-buttons\"><$list filter=\"$tabsList$\" variable=\"currentTab\"><$button set=<<qualify \"$state$\">> setTo=<<currentTab>> default=\"$default$\" selectedClass=\"tw-tab-selected\"><$view tiddler=<<currentTab>> field=\"caption\"><$macrocall $name=\"currentTab\" $type=\"text/plain\" $output=\"text/plain\"/></$view> </$button>\n</$list>\n</div>\n<div class=\"tw-tab-divider\">\n</div>\n<div class=\"tw-tab-content\">\n<$list filter=\"$tabsList$\" variable=\"currentTab\">\n<$reveal type=\"match\" state=<<qualify \"$state$\">> text=<<currentTab>> default=\"$default$\">\n<$transclude tiddler=<<currentTab>>/>\n</$reveal>\n</$list>\n</div>\n\\end\n\\define wikitext-example(src)\n```\n$src$\n```\n\nRenders as:\n\n$src$\n\nIn HTML:\n\n$$$text/vnd.tiddlywiki>text/html\n$src$\n$$$\n\n\\end\n{{$:/core/ui/PageTemplate}}\n"
        },
        "$:/core/ui/PageStylesheet": {
            "title": "$:/core/ui/PageStylesheet",
            "text": "<$list filter=\"[is[shadow]tag[$:/tags/stylesheet]] [!is[shadow]tag[$:/tags/stylesheet]]\">\n<$transclude/>\n</$list>\n"
        },
        "$:/core/ui/PageTemplate/sidebar": {
            "title": "$:/core/ui/PageTemplate/sidebar",
            "tags": "$:/tags/PageTemplate",
            "text": "<header class=\"sidebar-header\">\n<div class=\"titlebar\">{{SiteTitle}}</div>\n<div class=\"tw-subtitle\">{{SiteSubtitle}}</div>\n\n<div class=\"tw-page-controls\">\n<$list filter=\"[is[shadow]!has[draft.of]tag[$:/tags/PageControls]] [!is[shadow]!has[draft.of]tag[$:/tags/PageControls]] +[tag[$:/tags/PageControls]]\" variable=\"listItem\"><$transclude tiddler=<<listItem>>/></$list>\n</div>\n\n{{$:/core/ui/SideBarLists}}\n\n</header>\n"
        },
        "$:/core/ui/PageTemplate/story": {
            "title": "$:/core/ui/PageTemplate/story",
            "tags": "$:/tags/PageTemplate",
            "text": "<section class=\"story-river\">\n\n<!-- The main story -->\n<$list filter=\"[list[$:/StoryList]]\" history=\"$:/HistoryList\" template=\"$:/core/ui/ViewTemplate\" editTemplate=\"$:/core/ui/EditTemplate\" storyview={{$:/view}} />\n\n<!-- End of story river -->\n</section>\n"
        },
        "$:/core/ui/PageTemplate": {
            "title": "$:/core/ui/PageTemplate",
            "text": "<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\">\n\n<$dropzone>\n\n<$list filter=\"[is[shadow]!has[draft.of]tag[$:/tags/PageTemplate]] [!is[shadow]!has[draft.of]tag[$:/tags/PageTemplate]] +[tag[$:/tags/PageTemplate]]\" variable=\"listItem\">\n\n<$transclude tiddler=<<listItem>>/>\n\n</$list>\n\n</$dropzone>\n\n</$navigator>\n\n"
        },
        "$:/core/ui/SideBar/More": {
            "title": "$:/core/ui/SideBar/More",
            "tags": "$:/tags/SideBar",
            "caption": "More",
            "text": "<div class=\"tw-more-sidebar\">\n<<tabs \"[is[shadow]!has[draft.of]tag[$:/tags/MoreSideBar]] [!is[shadow]!has[draft.of]tag[$:/tags/MoreSideBar]] +[tag[$:/tags/MoreSideBar]]\" \"$:/core/ui/MoreSideBar/Open\" \"$:/state/tab/moresidebar\">>\n</div>\n"
        },
        "$:/core/ui/SideBar/Open": {
            "title": "$:/core/ui/SideBar/Open",
            "tags": "$:/tags/SideBar",
            "caption": "Open",
            "text": "<$list filter=\"[list[$:/StoryList]]\" history=\"$:/HistoryList\" storyview=\"pop\" itemClass=\"tw-menu-list-item tw-open-tiddler-list\">\n<$button message=\"tw-close-tiddler\" class=\"btn-invisible btn-mini\">&times;</$button> <$link to={{!!title}}><$view field=\"title\"/></$link>\n</$list>\n<$button message=\"tw-close-all-tiddlers\" class=\"btn-invisible btn-mini\">close all</$button>\n"
        },
        "$:/core/ui/SideBar/Recent": {
            "title": "$:/core/ui/SideBar/Recent",
            "tags": "$:/tags/SideBar",
            "caption": "Recent",
            "text": "{{$:/snippets/recentchanges}}\n"
        },
        "$:/core/ui/SideBar/Tools": {
            "title": "$:/core/ui/SideBar/Tools",
            "tags": "$:/tags/SideBar",
            "caption": "Tools",
            "text": "{{$:/snippets/viewswitcher}}\n\n---\n\n[[AdvancedSearch|$:/AdvancedSearch]]\n\n---\n\n{{$:/snippets/minithemeswitcher}}\n\n---\n\nImport: <$browse/>\n\n---\n\n{{$:/snippets/encryptionstatus}}\n\n---\n\nTiddlyWiki5 version <<version>>\n"
        },
        "$:/core/ui/SideBarLists": {
            "title": "$:/core/ui/SideBarLists",
            "text": "<div class=\"tw-sidebar-lists\">\n\n<$linkcatcher to=\"$:/temp/search\">\n\n<div class=\"tw-search\"><$edit-text tiddler=\"$:/temp/search\" type=\"search\" tag=\"input\"/><$reveal state=\"$:/temp/search\" type=\"nomatch\" text=\"\"> <$link to=\"\" class=\"btn-invisible\">{{$:/core/images/close-button}}</$link></$reveal></div>\n\n</$linkcatcher>\n\n<$reveal state=\"$:/temp/search\" type=\"nomatch\" text=\"\">\n\n<div class=\"tw-search-results\">\n\n//<small><$count filter=\"[!is[system]search{$:/temp/search}]\"/> matches</small>//\n\n<$list filter=\"[!is[system]search{$:/temp/search}sort[title]limit[250]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n\n</div>\n\n</$reveal>\n\n<$reveal state=\"$:/temp/search\" type=\"match\" text=\"\">\n\n<<tabs \"[is[shadow]!has[draft.of]tag[$:/tags/SideBar]] [!is[shadow]!has[draft.of]tag[$:/tags/SideBar]] +[tag[$:/tags/SideBar]]\" \"$:/core/ui/SideBar/Open\" \"$:/state/tab/sidebar\">>\n\n</$reveal>\n</div>\n"
        },
        "$:/core/ui/TagTemplate": {
            "title": "$:/core/ui/TagTemplate",
            "text": "\\define tag-styles()\nbackground-color:$(backgroundColor)$;\n\\end\n<span class=\"tw-tag-list-item\"><$set name=\"backgroundColor\" value={{!!color}}><$button popup=<<qualify \"$:/state/tagpopup\">> class=\"btn-invisible tw-tag-label\" style=<<tag-styles>>><$transclude tiddler={{!!icon}}/> <$view field=\"title\" format=\"text\" /></$button></$set>\n<$reveal state=<<qualify \"$:/state/tagpopup\">> type=\"popup\" position=\"below\" animate=\"yes\"><div class=\"tw-drop-down\"><$transclude tiddler=\"$:/core/ui/ListItemTemplate\"/>\n<hr>\n<$list filter=\"[is[current]tagging[]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n</div></$reveal></span>\n"
        },
        "$:/core/ui/TiddlerFieldTemplate": {
            "title": "$:/core/ui/TiddlerFieldTemplate",
            "text": "<tr class=\"tw-view-field\"><td class=\"tw-view-field-name\"><<listItem>></td><td class=\"tw-view-field-value\"><$view field=<<listItem>>/></td></tr>"
        },
        "$:/core/ui/TiddlerFields": {
            "title": "$:/core/ui/TiddlerFields",
            "text": "<table class=\"tw-view-field-table\"><tbody><$list filter=\"[is[current]fields[]sort[title]] -text\" template=\"$:/core/ui/TiddlerFieldTemplate\" variable=\"listItem\"/>\n</tbody>\n</table>\n"
        },
        "$:/core/ui/TiddlerInfo/Fields": {
            "title": "$:/core/ui/TiddlerInfo/Fields",
            "tags": "$:/tags/TiddlerInfo",
            "caption": "Fields",
            "text": "<$transclude tiddler=\"$:/core/ui/TiddlerFields\"/>\n"
        },
        "$:/core/ui/TiddlerInfo/List": {
            "title": "$:/core/ui/TiddlerInfo/List",
            "tags": "$:/tags/TiddlerInfo",
            "caption": "List",
            "text": "<$list filter=\"[list{!!title}]\" itemClass=\"tw-menu-list-item\" emptyMessage=\"This tiddler does not have a list\" template=\"$:/core/ui/ListItemTemplate\"/>\n"
        },
        "$:/core/ui/TiddlerInfo/Listed": {
            "title": "$:/core/ui/TiddlerInfo/Listed",
            "tags": "$:/tags/TiddlerInfo",
            "caption": "Listed",
            "text": "<$list filter=\"[is[current]listed[]!is[system]]\" itemClass=\"tw-menu-list-item\" emptyMessage=\"This tiddler is not listed by any others\" template=\"$:/core/ui/ListItemTemplate\"/>\n"
        },
        "$:/core/ui/TiddlerInfo/References": {
            "title": "$:/core/ui/TiddlerInfo/References",
            "tags": "$:/tags/TiddlerInfo",
            "caption": "References",
            "text": "<$list filter=\"[is[current]backlinks[]sort[title]]\" emptyMessage=\"No tiddlers link to this one\" template=\"$:/core/ui/ListItemTemplate\">\n</$list>\n"
        },
        "$:/core/ui/TiddlerInfo/Tagging": {
            "title": "$:/core/ui/TiddlerInfo/Tagging",
            "tags": "$:/tags/TiddlerInfo",
            "caption": "Tagging",
            "text": "<$list filter=\"[is[current]tagging[]]\" itemClass=\"tw-menu-list-item\" emptyMessage=\"No tiddlers are tagged with this one\" template=\"$:/core/ui/ListItemTemplate\"/>\n"
        },
        "$:/core/ui/TiddlerInfo": {
            "title": "$:/core/ui/TiddlerInfo",
            "text": "<<tabs \"[is[shadow]!has[draft.of]tag[$:/tags/TiddlerInfo]] [!is[shadow]!has[draft.of]tag[$:/tags/TiddlerInfo]] +[tag[$:/tags/TiddlerInfo]]\" \"$:/core/ui/TiddlerInfo/References\">>\n"
        },
        "$:/core/ui/UntaggedTemplate": {
            "title": "$:/core/ui/UntaggedTemplate",
            "text": "<$button popup=<<qualify \"$:/state/tagpopup\">> class=\"btn-invisible tw-untagged-label tw-tag-label\">untagged</$button>\n<$reveal state=<<qualify \"$:/state/tagpopup\">> type=\"popup\" position=\"below\"><div class=\"tw-drop-down\">\n<$list filter=\"[untagged[]!is[system]] -[tags[]] +[sort[title]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n</div></$reveal>\n"
        },
        "$:/core/ui/ViewTemplate/body": {
            "title": "$:/core/ui/ViewTemplate/body",
            "tags": "$:/tags/ViewTemplate",
            "text": "<div class=\"body\">\n<$transclude />\n</div>"
        },
        "$:/core/ui/ViewTemplate/subtitle": {
            "title": "$:/core/ui/ViewTemplate/subtitle",
            "tags": "$:/tags/ViewTemplate",
            "text": "<div class=\"tw-subtitle\"><$link to={{!!modifier}}><$view field=\"modifier\"/></$link> <$view field=\"modified\" format=\"relativedate\"/></div>\n"
        },
        "$:/core/ui/ViewTemplate/tags": {
            "title": "$:/core/ui/ViewTemplate/tags",
            "tags": "$:/tags/ViewTemplate",
            "text": "<div class=\"tw-tags-wrapper\"><$list filter=\"[is[current]tags[]sort[title]]\" template=\"$:/core/ui/TagTemplate\" storyview=\"pop\" itemClass=\"tw-tag-list-item\"/></div>\n"
        },
        "$:/core/ui/ViewTemplate/title": {
            "title": "$:/core/ui/ViewTemplate/title",
            "tags": "$:/tags/ViewTemplate",
            "text": "\\define title-styles()\nfill:$(foregroundColor)$;\n\\end\n<div class=\"tw-tiddler-title\"><div class=\"titlebar\"><span class=\"tw-tiddler-controls\"><$list filter=\"[is[shadow]!has[draft.of]tag[$:/tags/ViewToolbar]] [!is[shadow]!has[draft.of]tag[$:/tags/ViewToolbar]] +[tag[$:/tags/ViewToolbar]]\" variable=\"listItem\"><$transclude tiddler=<<listItem>>/></$list>\n\n</span><$set name=\"foregroundColor\" value={{!!color}}><span style=<<title-styles>>><$transclude tiddler={{!!icon}}/></span></$set> <span class=\"title\"><$view field=\"title\"/></span></div>\n\n<$reveal type=\"nomatch\" text=\"\" default=\"\" state=<<tiddlerInfoState>> class=\"tw-tiddler-info tw-popup\" animate=\"yes\">\n\n<$transclude tiddler=\"$:/core/ui/TiddlerInfo\"/>\n\n</$reveal></div>"
        },
        "$:/core/ui/ViewTemplate": {
            "title": "$:/core/ui/ViewTemplate",
            "text": "\\define frame-classes()\ntw-tiddler-frame $(missingTiddlerClass)$ $(shadowTiddlerClass)$ $(systemTiddlerClass)$\n\\end\n<$set name=\"storyTiddler\" value=<<currentTiddler>>><$set name=\"tiddlerInfoState\" value=<<qualify \"$:/state/tiddlerInfo\">>><$tiddler tiddler=<<currentTiddler>>><div class=<<frame-classes>>><$list filter=\"[is[shadow]!has[draft.of]tag[$:/tags/ViewTemplate]] [!is[shadow]!has[draft.of]tag[$:/tags/ViewTemplate]] +[tag[$:/tags/ViewTemplate]]\" variable=\"listItem\"><$transclude tiddler=<<listItem>>/></$list>\n</div>\n</$tiddler></$set></$set>\n"
        },
        "$:/core/ui/ViewToolbar/close": {
            "title": "$:/core/ui/ViewToolbar/close",
            "tags": "$:/tags/ViewToolbar",
            "text": "<$button message=\"tw-close-tiddler\" class=\"btn-invisible\">{{$:/core/images/close-button}}</$button>"
        },
        "$:/core/ui/ViewToolbar/edit": {
            "title": "$:/core/ui/ViewToolbar/edit",
            "tags": "$:/tags/ViewToolbar",
            "text": "<$button message=\"tw-edit-tiddler\" class=\"btn-invisible\">{{$:/core/images/edit-button}}</$button>"
        },
        "$:/core/ui/ViewToolbar/info": {
            "title": "$:/core/ui/ViewToolbar/info",
            "tags": "$:/tags/ViewToolbar",
            "text": "<$button popup=<<tiddlerInfoState>> class=\"btn-invisible\" selectedClass=\"tw-selected\">{{$:/core/images/info-button}}</$button>"
        },
        "$:/DefaultTiddlers": {
            "title": "$:/DefaultTiddlers",
            "text": "GettingStarted"
        },
        "GettingStarted": {
            "title": "GettingStarted",
            "text": "Welcome to TiddlyWiki, the non-linear personal web notebook.\n\nTo get started, first verify that you can save changes successfully - see http://tiddlywiki.com/ for detailed instructions.\n\nThen you can:\n\n* Create new tiddlers using the 'plus' button in the sidebar\n* Save changes using the 'download' button in the sidebar\n* Edit [[DefaultTiddlers|$:/DefaultTiddlers]] to determine which tiddlers appear when you open this wiki\n* Edit the SiteTitle and SiteSubtitle\n* Learn more about [[WikiText|http://tiddlywiki.com/static/WikiText.html]]\n"
        },
        "SiteSubtitle": {
            "title": "SiteSubtitle",
            "text": "a non-linear personal web notebook"
        },
        "SiteTitle": {
            "title": "SiteTitle",
            "text": "My ~TiddlyWiki"
        },
        "$:/temp/advancedsearch": {
            "title": "$:/temp/advancedsearch",
            "text": ""
        },
        "$:/snippets/allfields": {
            "title": "$:/snippets/allfields",
            "text": "\\define renderfield(title)\n<tr class=\"tw-view-field\"><td class=\"tw-view-field-name\">''$title$'':</td><td class=\"tw-view-field-value\">//{{$:/docs/fields/$title$}}//</td></tr>\n\\end\n<table class=\"tw-view-field-table\"><tbody><$list filter=\"[fields[]sort[title]]\" variable=\"listItem\"><$macrocall $name=\"renderfield\" title=<<listItem>>/></$list>\n</tbody></table>\n"
        },
        "$:/config/AnimationDuration": {
            "title": "$:/config/AnimationDuration",
            "text": "400"
        },
        "$:/snippets/download-wiki-button": {
            "title": "$:/snippets/download-wiki-button",
            "text": "<$button message=\"tw-download-file\" param=\"$:/core/save/all\" class=\"btn-big-green\">Download Full {{$:/core/images/save-button}}</$button>"
        },
        "$:/snippets/encryptionstatus": {
            "title": "$:/snippets/encryptionstatus",
            "text": "<$reveal type=\"match\" state=\"$:/isEncrypted\" text=\"yes\">\nThis wiki is encrypted.\n<$button message=\"tw-clear-password\" class=\"btn btn-danger\">Clear password</$button>\n<$button message=\"tw-set-password\" class=\"btn btn-warning\">Change password</$button>\n</$reveal>\n<$reveal type=\"nomatch\" state=\"$:/isEncrypted\" text=\"yes\">\nThis wiki is not encrypted.\n<$button message=\"tw-set-password\" class=\"btn btn-warning\">Set password</$button>\n</$reveal>"
        },
        "$:/snippets/minithemeswitcher": {
            "title": "$:/snippets/minithemeswitcher",
            "text": "Current theme: <$link to={{$:/theme}}><$view tiddler={{$:/theme}} field=\"name\"/></$link>\n\n<$linkcatcher to=\"$:/theme\">\n<$list filter=\"[plugin-type[theme]sort[title]]\"><div><$reveal state=\"$:/theme\" type=\"match\" text={{!!title}}>&bull;</$reveal><$reveal state=\"$:/theme\" type=\"nomatch\" text={{!!title}}>&nbsp;</$reveal> <$link to={{!!title}}><$view field=\"name\" format=\"text\"/></$link></div>\n</$list>\n</$linkcatcher>"
        },
        "$:/snippets/modules": {
            "title": "$:/snippets/modules",
            "text": "\\define describeModuleType(type)\n{{$:/docs/moduletypes/$type$}}\n\\end\n<$list filter=\"[moduletypes[]]\">\n!! <$macrocall $name=\"currentTiddler\" $type=\"text/plain\" $output=\"text/plain\"/>\n<$macrocall $name=\"describeModuleType\" type=<<currentTiddler>>/>\n<ul><$list filter=\"[is[current]modules[]]\"><li><$link><<currentTiddler>></$link>\n</li>\n</$list>\n</ul>\n</$list>\n"
        },
        "$:/state/tab/moresidebar-{$:/core/ui/SideBar|$:/core/ui/SideBar/More||}{$:/core/ui/SideBar|$:/core/ui/SideBar||}{$:/core/ui/PageTemplate|$:/core/ui/PageTemplate||}": {
            "title": "$:/state/tab/moresidebar-{$:/core/ui/SideBar|$:/core/ui/SideBar/More||}{$:/core/ui/SideBar|$:/core/ui/SideBar||}{$:/core/ui/PageTemplate|$:/core/ui/PageTemplate||}",
            "text": "$:/core/ui/MoreSideBar/Tags"
        },
        "$:/snippets/recentchanges": {
            "title": "$:/snippets/recentchanges",
            "text": "<$list filter=\"[!is[system]has[modified]!sort[modified]limit[100]eachday[modified]]\" itemClass=\"tw-menu-list-item\">\n<div class=\"tw-menu-list-item\">\n<$view field=\"modified\" format=\"date\" template=\"DDth MMM YYYY\"/>\n<$list filter=\"[sameday{!!modified}!is[system]!sort[modified]]\" itemClass=\"tw-menu-list-subitem\">\n<div class=\"tw-menu-list-subitem\">\n<$link to={{!!title}}>\n<$view field=\"title\"/>\n</$link>\n</div>\n</$list>\n</div>\n</$list>\n"
        },
        "$:/temp/search": {
            "title": "$:/temp/search",
            "text": ""
        },
        "$:/state/tab/sidebar-{$:/core/ui/SideBar|$:/core/ui/SideBar||}{$:/core/ui/PageTemplate|$:/core/ui/PageTemplate||}": {
            "title": "$:/state/tab/sidebar-{$:/core/ui/SideBar|$:/core/ui/SideBar||}{$:/core/ui/PageTemplate|$:/core/ui/PageTemplate||}",
            "text": "$:/core/ui/SideBar/Open"
        },
        "$:/tags/ControlPanel": {
            "title": "$:/tags/ControlPanel",
            "list": "$:/core/ui/ControlPanel/Basics $:/core/ui/ControlPanel/Appearance $:/core/ui/ControlPanel/Saving $:/core/ui/ControlPanel/Plugins $:/core/ui/ControlPanel/Tools $:/core/ui/ControlPanel/Internals",
            "text": ""
        },
        "$:/tags/EditTemplate": {
            "title": "$:/tags/EditTemplate",
            "list": "[[$:/core/ui/EditTemplate/controls]] [[$:/core/ui/EditTemplate/title]] [[$:/core/ui/EditTemplate/tags]] [[$:/core/ui/EditTemplate/body]] [[$:/core/ui/EditTemplate/type]] [[$:/core/ui/EditTemplate/fields]]",
            "text": ""
        },
        "$:/tags/EditToolbar": {
            "title": "$:/tags/EditToolbar",
            "list": "[[$:/core/ui/EditToolbar/delete]] [[$:/core/ui/EditToolbar/cancel]] [[$:/core/ui/EditToolbar/save]]",
            "text": ""
        },
        "$:/tags/MoreSideBar": {
            "title": "$:/tags/MoreSideBar",
            "list": "[[$:/core/ui/MoreSideBar/All]] [[$:/core/ui/MoreSideBar/Recent]] [[$:/core/ui/MoreSideBar/Tags]] [[$:/core/ui/MoreSideBar/Missing]] [[$:/core/ui/MoreSideBar/Drafts]] [[$:/core/ui/MoreSideBar/Orphans]] [[$:/core/ui/MoreSideBar/Types]] [[$:/core/ui/MoreSideBar/System]] [[$:/core/ui/MoreSideBar/Shadows]]",
            "text": ""
        },
        "$:/tags/PageControls": {
            "title": "$:/tags/PageControls",
            "list": "[[$:/core/ui/PageControls/new-tiddler]] [[$:/core/ui/PageControls/control-panel]] [[$:/core/ui/PageControls/save-wiki]]",
            "text": ""
        },
        "$:/tags/PageTemplate": {
            "title": "$:/tags/PageTemplate",
            "list": "[[$:/core/ui/PageTemplate/sidebar]] [[$:/core/ui/PageTemplate/story]]",
            "text": ""
        },
        "$:/tags/SideBar": {
            "title": "$:/tags/SideBar",
            "list": "[[$:/core/ui/SideBar/Open]] [[$:/core/ui/SideBar/Recent]] [[$:/core/ui/SideBar/Tools]] [[$:/core/ui/SideBar/More]]",
            "text": ""
        },
        "$:/tags/TiddlerInfo": {
            "title": "$:/tags/TiddlerInfo",
            "list": "[[$:/core/ui/TiddlerInfo/References]] [[$:/core/ui/TiddlerInfo/Tagging]] [[$:/core/ui/TiddlerInfo/List]] [[$:/core/ui/TiddlerInfo/Listed]] [[$:/core/ui/TiddlerInfo/Fields]]",
            "text": ""
        },
        "$:/tags/ViewTemplate": {
            "title": "$:/tags/ViewTemplate",
            "list": "[[$:/core/ui/ViewTemplate/title]] [[$:/core/ui/ViewTemplate/subtitle]] [[$:/core/ui/ViewTemplate/tags]] [[$:/core/ui/ViewTemplate/body]]",
            "text": ""
        },
        "$:/tags/ViewToolbar": {
            "title": "$:/tags/ViewToolbar",
            "list": "[[$:/core/ui/ViewToolbar/info]] [[$:/core/ui/ViewToolbar/edit]] [[$:/core/ui/ViewToolbar/close]]",
            "text": ""
        },
        "$:/snippets/themeswitcher": {
            "title": "$:/snippets/themeswitcher",
            "text": "Current theme: <$link to={{$:/theme}}><$view tiddler={{$:/theme}} field=\"name\"/></$link>\n\n<$linkcatcher to=\"$:/theme\">\n<$list filter=\"[plugin-type[theme]sort[title]]\"><div><$reveal state=\"$:/theme\" type=\"match\" text={{!!title}}>&bull;</$reveal><$reveal state=\"$:/theme\" type=\"nomatch\" text={{!!title}}>&nbsp;</$reveal> <$link to={{!!title}}>''<$view field=\"name\" format=\"text\"/>'' <$view field=\"description\" format=\"text\"/></$link></div>\n</$list>\n</$linkcatcher>"
        },
        "$:/core/wiki/title": {
            "title": "$:/core/wiki/title",
            "type": "text/vnd.tiddlywiki",
            "text": "{{SiteTitle}} --- {{SiteSubtitle}}"
        },
        "$:/view": {
            "title": "$:/view",
            "text": "classic"
        },
        "$:/snippets/viewswitcher": {
            "title": "$:/snippets/viewswitcher",
            "text": "Current view: {{$:/view}}\n\n<$linkcatcher to=\"$:/view\"><$list filter=\"classic zoomin pop\"><div><$reveal state=\"$:/view\" type=\"match\" text={{!!title}}>&bull;</$reveal><$reveal state=\"$:/view\" type=\"nomatch\" text={{!!title}}>&nbsp;</$reveal> <$link to={{!!title}}><$view field=\"title\"/></$link>\n</div>\n</$list>\n</$linkcatcher>\n"
        }
    }
}
[[CKEditor TW5 Adaptor]]
[
    {
        "title": "Draft of 'GettingStarted'"
    },
    {
        "title": "GettingStarted"
    },
    {
        "title": "$:/ControlPanel",
        "fromPageRect": {
            "top": 227.46665954589844,
            "left": 799.3333129882812,
            "width": 33.333343505859375,
            "right": 832.6666564941406,
            "bottom": 246.46665954589844,
            "height": 19
        }
    },
    {
        "title": "$:/plugins/BJ/TW5CKEditor/styles.json",
        "fromPageRect": {
            "top": 322.01666259765625,
            "left": 124,
            "width": 260,
            "right": 384,
            "bottom": 341.01666259765625,
            "height": 19
        }
    },
    {
        "title": "$:/plugins/BJ/TW5CKEditor/styles.json",
        "fromPageRect": {
            "top": 322.01666259765625,
            "left": 124,
            "width": 260,
            "right": 384,
            "bottom": 341.01666259765625,
            "height": 19
        }
    },
    {
        "title": "Draft of '$:/plugins/BJ/TW5CKEditor/styles.json'"
    },
    {
        "title": "$:/plugins/BJ/TW5CKEditor/styles.json"
    },
    {
        "title": "Draft of 'GettingStarted'"
    },
    {
        "title": "Draft of 'New Tiddler'"
    },
    {
        "title": "CKEditor TW5 Adaptor"
    },
    {
        "title": "Draft of 'CKEditor TW5 Adaptor'"
    },
    {
        "title": "$:/ControlPanel",
        "fromPageRect": {
            "top": 227.46665954589844,
            "left": 799.3333129882812,
            "width": 33.333343505859375,
            "right": 832.6666564941406,
            "bottom": 246.46665954589844,
            "height": 19
        }
    },
    {
        "title": "$:/plugins/BJ/TW5CKEditor/plugins/templates/templates/default.js",
        "fromPageRect": {
            "top": 180.01666259765625,
            "left": 124,
            "width": 447,
            "right": 571,
            "bottom": 199.01666259765625,
            "height": 19
        }
    },
    {
        "title": "$:/plugins/BJ/TW5CKEditor/styles.json",
        "fromPageRect": {
            "top": 271.51666259765625,
            "left": 124,
            "width": 241,
            "right": 365,
            "bottom": 289.51666259765625,
            "height": 18
        }
    },
    {
        "title": "CKEditor TW5 Adaptor"
    },
    {
        "title": "Draft of 'CKEditor TW5 Adaptor'"
    },
    {
        "title": "CKEditor TW5 Adaptor"
    },
    {
        "title": "$:/ControlPanel",
        "fromPageRect": {
            "top": 227.46665954589844,
            "left": 799.3333129882812,
            "width": 33.333343505859375,
            "right": 832.6666564941406,
            "bottom": 246.46665954589844,
            "height": 19
        }
    },
    {
        "title": "Draft of 'CKEditor TW5 Adaptor'"
    },
    {
        "title": "CKEditor TW5 Adaptor"
    },
    {
        "title": "Draft of 'CKEditor TW5 Adaptor'"
    },
    {
        "title": "CKEditor TW5 Adaptor"
    },
    {
        "title": "$:/ControlPanel",
        "fromPageRect": {
            "top": 227.46665954589844,
            "left": 799.3333129882812,
            "width": 33.333343505859375,
            "right": 832.6666564941406,
            "bottom": 246.46665954589844,
            "height": 19
        }
    },
    {
        "title": "Draft of 'CKEditor TW5 Adaptor'"
    },
    {
        "title": "CKEditor TW5 Adaptor"
    },
    {
        "title": "Draft of 'CKEditor TW5 Adaptor'"
    },
    {
        "title": "CKEditor TW5 Adaptor"
    },
    {
        "title": "Draft of 'CKEditor TW5 Adaptor'"
    },
    {
        "title": "CKEditor TW5 Adaptor"
    },
    {
        "title": "Draft of 'CKEditor TW5 Adaptor'"
    },
    {
        "title": "CKEditor TW5 Adaptor"
    },
    {
        "title": "$:/ControlPanel",
        "fromPageRect": {
            "top": 227.46665954589844,
            "left": 799.3333129882812,
            "width": 33.333343505859375,
            "right": 832.6666564941406,
            "bottom": 246.46665954589844,
            "height": 19
        }
    },
    {
        "title": "Draft of '$:/ControlPanel'"
    },
    {
        "title": "$:/ControlPanel",
        "fromPageRect": {
            "top": 227,
            "left": 806.328125,
            "width": 40.328125,
            "right": 846.65625,
            "bottom": 243,
            "height": 16
        }
    },
    {
        "title": "Draft of 'CKEditor TW5 Adaptor'"
    },
    {
        "title": "$:/ControlPanel",
        "fromPageRect": {
            "top": 227,
            "left": 806.328125,
            "width": 40.328125,
            "right": 846.65625,
            "bottom": 243,
            "height": 16
        }
    }
]
no
{
    "tiddlers": {
        "$:/plugins/BJ/TW5CKEditor/ckedit.js": {
            "text": "/*\\\ntitle: $:/plugins/BJ/TW5CKEditor/ckedit.js\ntype: application/javascript\nmodule-type: widget\n\nckeditor adaptor\n\n\\*/\n\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nif($tw.browser) {\n\trequire(\"$:/plugins/BJ/TW5CKEditor/ckeditor.js\");\n\tvar dom=require(\"$:/core/modules/utils/dom.js\");\n    var sty;\n\tdom.applyStyleSheet(\"ckeditmain\",$tw.wiki.getTiddlerText(\"$:/plugins/BJ/TW5CKEditor/skins/moonomod/editor_gecko.css\"));\n\t//dom.applyStyleSheet(\"ckeditdialog\",$tw.wiki.getTiddlerText(\"$:/plugins/BJ/TW5CKEditor/skins/moonomod/dialog.css\"));\n\tif (typeof CKEDITOR != 'undefined')   {\n\ttry {\n\t sty=$tw.wiki.getTiddlerData(\"$:/plugins/BJ/TW5CKEditor/styles.json\");\n\t} catch(e){alert(\"invalid style format\") ;}\n\tif (!!sty) CKEDITOR.stylesSet.add( 'default',sty);\n\tCKEDITOR.on( 'instanceReady', function( ev ) {\n\t\tvar blockTags = ['div','h1','h2','h3','h4','h5','h6','p','pre','li','blockquote','ul','ol',\n  'table','thead','tbody','tfoot','td','th',];\n\t\tvar rules = {\n\t\tindent : false,\n\t\tbreakBeforeOpen : true,\n\t\tbreakAfterOpen : true,\n\t\tbreakBeforeClose : true,\n\t\tbreakAfterClose : true\n\t};\n\n\tfor (var i=0; i<blockTags.length; i++) {\n\tev.editor.dataProcessor.writer.setRules( blockTags[i], rules );\n\t}\n\n\n\t});\n\t//BJ FixMe: figure out how to hide tw5 tags and macros from ckeditor\n\t\tCKEDITOR.config.protectedSource.push(/<\\/?\\$[^<]*\\/?>/g);\n\t\tCKEDITOR.config.protectedSource.push(/<<[^<]*>>/g);\n\t\t//CKEDITOR. config.protectedSource.push(/<\\?[\\s\\S]*?\\?>/g); // PHP Code\n\t\tCKEDITOR.config.protectedSource.push(/<code>[\\s\\S]*?<\\/code>/gi); // Code tags\n\t\tCKEDITOR.config.entities = false;\n\t\t//CKEDITOR.config.extraPlugins = $tw.wiki.getTiddlerText(\"$:/plugins/BJ/TW5CKEditor/extraplugins.tid\");\n\t\tvar workfn= function(tiddler,title) {\n\t\t\tvar head_ext=title.split(\".\");\n\t\t\t\tif (head_ext[1]==='png'){\n\t\t\t\t\t\tvar head = head_ext[0];//hack off .png\n\t\t\t\t\t\tvar headlist = head.split(\"/\"); //filename is last\n\t\t\t\t\t\tif (headlist[3] ==='TW5CKEditor') {\n\t\t\t\t\t\t\tvar iconname = headlist[headlist.length-1];\n\t\t\t\t\t\t\t//alert(\"icon\"+iconname);\n\t\t\t\t\t\t\tif (headlist[headlist.length-2]!=\"hidpi\")\n\t\t\t\t\t\t\t\tCKEDITOR.skin.icons[ iconname ] = { path: '); background-image: url(data:image/png;base64,'+\n\t\t\t\t\t\t\t   $tw.wiki.getTiddlerText(title)+');', offset: 0 } ;\n\t\t\t\t\t\t}\n\t\t\t\t}else if (head_ext[1]==='js'){\n\t\t\t\t\t\tvar head = head_ext[0];//hack of .png\n\t\t\t\t\t\tvar headlist = head.split(\"/\"); //filename is last\n\t\t\t\t\t\tif (headlist[3] ==='TW5CKEditor') {require(title);  }\n\t\t\t\t}else if (head_ext[1]==='css'){\n\t\t\t\t\t\tvar head = head_ext[0];//hack of .png\n\t\t\t\t\t\tvar headlist = head.split(\"/\"); //filename is last\n\t\t\t\t\t\tif (headlist[3] ==='TW5CKEditor') {\n\t\t\t\t\t\t\tif (title !=\"$:/plugins/BJ/TW5CKEditor/skins/moonomod/editor_gecko.css\"\n\t\t\t\t\t\t\t&& title !=\"$:/plugins/BJ/TW5CKEditor/skins/moonomod/dialog.css\"){\n\t\t\t\t\t\t\t\t//dom.applyStyleSheet(\"ckedit\"+headlist[length-1],\n\t\t\t\t\t\t\t\t\t//\t\t\t\t $tw.wiki.getTiddlerText(title));\n\t\t\t\t\t\t\t\t\t\t\t\t\t }\n  }\n\t\t\t\t}\n\t\t}\n\t\t$tw.utils.each($tw.wiki.shadowTiddlers,workfn);\n\n\t\t//for non shadow tiddlers \n\t\tvar extensions =  $tw.wiki.getTiddlersWithTag(\"CKExtension\");\n\t\tfor (var i = 0; i<extensions.length;i++) {workfn(null,extensions[i])};\n\tdom.applyStyleSheet(\"ckeditdialog\",$tw.wiki.getTiddlerText(\"$:/plugins/BJ/TW5CKEditor/skins/moonomod/dialog.css\"));\n\n\t}\n}\n\n})();\n\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar MIN_TEXT_AREA_HEIGHT = 100; // Minimum height of textareas in pixels\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EditHtmlWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEditHtmlWidget.prototype = new Widget();\n\nEditHtmlWidget.prototype.postRender = function() {\n\tvar self = this,\n\t\tcm;\n\tif($tw.browser && window.CKEDITOR && this.editTag === \"textarea\") {\n\t\t\n\t\tvar ck =\"editor\"+ Math.random();\n\t\tthis.domNodes[0].setAttribute(\"name\",ck);\n\t\tthis.domNodes[0].setAttribute(\"id\",ck);\n\n\t\tCKEDITOR.replace(ck, $tw.wiki.getTiddlerData(\"$:/plugins/BJ/TW5CKEditor/config.json\"));//,\n\t\t\t//extraPlugins:$tw.wiki.getTiddlerText(\"$:/plugins/BJ/TW5CKEditor/extraplugins.tid\")});\t\n\t\t//BJ: note that we have statically loaded the style sheet already,\n\t\t//therefore it is not possible to load a different skin here\n\t\t//CKEDITOR.replace(ck,{ extraPlugins : 'divarea'})\n\t\tCKEDITOR.instances[ck].on('change', \n\t\t\tfunction() {\n\t\t\t\tself.getEditInfo().update(CKEDITOR.instances[ck].getData());\n\t\t\t}\n\t\t);\n\t} \n};\n/*\nBJ the follow code is from tw5 core, with some minor modifications\n*******************************************************************\nEdit-html widget\n*/\n/*\nRender this widget into the DOM\n*/\nEditHtmlWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Create our element\n\tvar domNode = this.document.createElement(this.editTag);\n\tif(this.editType) {\n\t\tdomNode.setAttribute(\"type\",this.editType);\n\t}\n\tif(this.editPlaceholder) {\n\t\tdomNode.setAttribute(\"placeholder\",this.editPlaceholder);\n\t}\n\t// Assign classes\n\tif(this.editClass) {\n\t\tdomNode.className = this.editClass;\n\t}\n\t// Set the text\n\tvar editInfo = this.getEditInfo();\n\tif(this.editTag === \"textarea\") {\n\t\tdomNode.appendChild(this.document.createTextNode(editInfo.value));\n\t} else {\n\t\tdomNode.setAttribute(\"value\",editInfo.value)\n\t}\n\n\t// Insert the element into the DOM\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.domNodes.push(domNode);\n\tif(this.postRender) {\n\t\tthis.postRender();\n\t}\n\t// Fix height\n\tthis.fixHeight();\n};\n\n/*\nGet the tiddler being edited and current value\n*/\nEditHtmlWidget.prototype.getEditInfo = function() {\n\t// Get the edit value\n\tvar self = this,\n\t\tvalue,\n\t\tupdate;\n\tif(this.editIndex) {\n\t\tvalue = this.wiki.extractTiddlerDataItem(this.editTitle,this.editIndex,this.editDefault);\n\t\tupdate = function(value) {\n\t\t\tvar data = self.wiki.getTiddlerData(self.editTitle,{});\n\t\t\tif(data[self.editIndex] !== value) {\n\t\t\t\tdata[self.editIndex] = value;\n\t\t\t\tself.wiki.setTiddlerData(self.editTitle,data);\n\t\t\t}\n\t\t};\n\t} else {\n\t\t// Get the current tiddler and the field name\n\t\tvar tiddler = this.wiki.getTiddler(this.editTitle);\n\t\tif(tiddler) {\n\t\t\t// If we've got a tiddler, the value to display is the field string value\n\t\t\tvalue = tiddler.getFieldString(this.editField);\n\t\t} else {\n\t\t\t// Otherwise, we need to construct a default value for the editor\n\t\t\tswitch(this.editField) {\n\t\t\t\tcase \"text\":\n\t\t\t\t\tvalue = \"Type the text for the tiddler '\" + this.editTitle + \"'\";\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"title\":\n\t\t\t\t\tvalue = this.editTitle;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tvalue = \"\";\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif(this.editDefault !== undefined) {\n\t\t\t\tvalue = this.editDefault;\n\t\t\t}\n\t\t}\n\t\tupdate = function(value) {\n\t\t\tvar tiddler = self.wiki.getTiddler(self.editTitle),\n\t\t\t\tupdateFields = {\n\t\t\t\t\ttitle: self.editTitle\n\t\t\t\t};\n\t\t\tupdateFields[self.editField] = value;\n\t\t\tself.wiki.addTiddler(new $tw.Tiddler(self.wiki.getCreationFields(),tiddler,updateFields,self.wiki.getModificationFields()));\n\t\t};\n\t}\n\treturn {value: value, update: update};\n};\n\n/*\nCompute the internal state of the widget\n*/\nEditHtmlWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.editTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.editField = this.getAttribute(\"field\",\"text\");\n\tthis.editIndex = this.getAttribute(\"index\");\n\tthis.editDefault = this.getAttribute(\"default\");\n\tthis.editClass = this.getAttribute(\"class\");\n\tthis.editPlaceholder = this.getAttribute(\"placeholder\");\n\tthis.editFocusPopup = this.getAttribute(\"focusPopup\");\n\tthis.onkeyupdate = this.getAttribute(\"onkeyupdate\",\"yes\"); \n\t// Get the editor element tag and type\n\tvar tag,type;\n\tif(this.editField === \"text\") {\n\t\ttag = \"textarea\";\n\t} else {\n\t\ttag = \"input\";\n\t\tvar fieldModule = $tw.Tiddler.fieldModules[this.editField];\n\t\tif(fieldModule && fieldModule.editTag) {\n\t\t\ttag = fieldModule.editTag;\n\t\t}\n\t\tif(fieldModule && fieldModule.editType) {\n\t\t\ttype = fieldModule.editType;\n\t\t}\n\t\ttype = type || \"text\";\n\t}\n\t// Get the rest of our parameters\n\tthis.editTag = this.getAttribute(\"tag\",tag);\n\tthis.editType = this.getAttribute(\"type\",type);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nEditHtmlWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\t// Completely rerender if any of our attributes have changed\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else if(changedTiddlers[this.editTitle]) {\n\t\tthis.updateEditor(this.getEditInfo().value);\n\t\treturn true;\n\t}\n\treturn false;\n};\n\n/*\nUpdate the editor with new text. This method is separate from updateEditorDomNode()\nso that subclasses can override updateEditor() and still use updateEditorDomNode()\n*/\nEditHtmlWidget.prototype.updateEditor = function(text) {\n\tthis.updateEditorDomNode(text);\n};\n\n/*\nUpdate the editor dom node with new text\n*/\nEditHtmlWidget.prototype.updateEditorDomNode = function(text) {\n\t// Replace the edit value if the tiddler we're editing has changed\n\tvar domNode = this.domNodes[0];\n\tif(!domNode.isTiddlyWikiFakeDom) {\n\t\tif(this.document.activeElement !== domNode) {\n\t\t\tdomNode.value = text;\n\t\t}\n\t\t// Fix the height if needed\n\t\tthis.fixHeight();\n\t}\n};\n\n/*\nFix the height of textareas to fit their content\n*/\nEditHtmlWidget.prototype.fixHeight = function() {\n\tvar self = this,\n\t\tdomNode = this.domNodes[0];\n\tif(domNode && !domNode.isTiddlyWikiFakeDom && this.editTag === \"textarea\") {\n\t\t$tw.utils.nextTick(function() {\n\t\t\t// Resize the textarea to fit its content, preserving scroll position\n\t\t\tvar scrollPosition = $tw.utils.getScrollPosition(),\n\t\t\t\tscrollTop = scrollPosition.y;\n\t\t\t// Set its height to auto so that it snaps to the correct height\n\t\t\tdomNode.style.height = \"auto\";\n\t\t\t// Calculate the revised height\n\t\t\tvar newHeight = Math.max(domNode.scrollHeight + domNode.offsetHeight - domNode.clientHeight,MIN_TEXT_AREA_HEIGHT);\n\t\t\t// Only try to change the height if it has changed\n\t\t\tif(newHeight !== domNode.offsetHeight) {\n\t\t\t\tdomNode.style.height =  newHeight + \"px\";\n\t\t\t\t// Make sure that the dimensions of the textarea are recalculated\n\t\t\t\t$tw.utils.forceLayout(domNode);\n\t\t\t\t// Check that the scroll position is still visible before trying to scroll back to it\n\t\t\t\tscrollTop = Math.min(scrollTop,self.document.body.scrollHeight - window.innerHeight);\n\t\t\t\twindow.scrollTo(scrollPosition.x,scrollTop);\n\t\t\t}\n\t\t});\n\t}\n};\n\n/*\nHandle a dom \"input\" event\n*/\nEditHtmlWidget.prototype.handleInputEvent = function(event) {\n\tthis.saveChanges(this.domNodes[0].value);\n\tthis.fixHeight();\n\treturn true;\n};\n\nEditHtmlWidget.prototype.handleFocusEvent = function(event) {\n\tif(this.editFocusPopup) {\n\t\t$tw.popup.triggerPopup({\n\t\t\tdomNode: this.domNodes[0],\n\t\t\ttitle: this.editFocusPopup,\n\t\t\twiki: this.wiki,\n\t\t\tforce: true\n\t\t});\n\t}\n\treturn true;\n};\n\nEditHtmlWidget.prototype.saveChanges = function(text) {\n\tvar editInfo = this.getEditInfo();\n\tif(text !== editInfo.value) {\n\t\teditInfo.update(text);\n\t}\n};\n\nexports[\"edit-html\"] = EditHtmlWidget;\n\n})();\n\n",
            "title": "$:/plugins/BJ/TW5CKEditor/ckedit.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/print.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/print.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAACFklEQVQ4y5WTzUojURCFv7rX0J2OraEXcemmhaxHEGfj4/gAMi/hK/gUunPtZkBx9mIEA4pIQGPr7b6xf2oWsYMzo8IUnN25p+rUqStXV1eICMYYrLVYa/mq6rqmrmuapkFVWQIwxtDr9UiSBGPMlwJN0/Dw8IBzjrquMSKCtZbV1VWstXsikomIfoLMWrv3xkVEkOvra8IwZG1tDREpdnZ2wjAMUdU/OosI3ntOTk68qnbv7+/x3sNkMkFVW/xQ1SdV9Z/g6Y2DqjKZTKAsS4BjQP8Tx2VZIqrK+vq6bm1t0TQNLy8vFEVBXdcLG+2eut0uy8vLGGM4PT1lPB7LEsBgMMB7j3OOg4ODn2mafvsogdFo9Gt3d/d7r9djMBgAzGMsy5LX11ecc6Rpui8ihx8JqOq+c+6w0+m01jHvj6OqKoCj4XBInufnqjpT1Vme5+fD4RDgqKqqBX8hUFXVAq1gFEWbIhKISBBF0Wb74G+uASiKgjzP57m+XVtVVYsJqqo6b5oGAO89eZ5TFMXcl3OOOI7PkiTRKIpUVUnT9J/Y0jRVVSWKIk2SROM4PnPOsfT4+EiWZVNg1i7Le8/29jZBEAAwm824ublpG7a86e3tLTIajWiaho2NjRDg+fnZr6ysaL/fp9Pp0KY0nU7JskziOA4BLi8vvTFmHiPAxcWFFxGCIEBVF9O8r/F4zN3dnVfVxa/9DSMafiMai7u8AAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwTaS7eAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMy0wNy0wNFQxNzowMzowMyswMjowMDz5A8QAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC"
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/bidirtl.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/bidirtl.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAACGUlEQVQ4y3VTu24aQRQ9d+5AJGPQChemCKXduCD8AAW9azdp0uYP7Mb+BH9AlCKFG/IDKSylcEfripcEghVSZGtXi3b2NTMpwixYJkeaauaeOefec2k6ncKBiHAI1lr8D5KIIIQAM4OZ3z3QWkNrDWPMQSIphECtVkOz2YQQ4iDB6+sr4jiG1vrdvWBmNJtNMHOFiL4Q0ZCIrDtSSttoNA6Slwq2l5/Pz8+/X1xcgJkxGAzSfr//IQiC8mdnl4hKS3KP7Guv10OWZfB9HwC85XKpRqNRul6vobWGlBJHR0eoVqtQSkEpBeEa02q1ZBAEiOMYWZYBQLLZbADAy7IMzAzP83BycoJGo3HneR6YGUJrjSiKcHV19bxcLhGGIdI0LRuolEqYGcfHx6jX6yCiO2a+rVar/yxprRGGIe7v739fXl7+mkwmz2EYlgRSSlQqlbL49PT0ttvt7qZgjEGSJADw4+bm5udsNtMvLy8AgKIoQESw1qIoCrTb7Y/tdhtRFO0IXPrG43E+n8+/5Xn+yT3Y9gJO5WKx+HN2dva4Wq2Q5zmstRAA4EYphIC11imCUgrWWhhjoJSC7/vXDw8Pw06n87jZbGCMQZkOJ9UVOyilYIyBszqfz6+fnp6GURRBa4038XJSrbXper2GtTYNw/BNhIuiwHQ6vS6KYmfBYa+h3nYSXpIkMMa82dj9raX9dXYk+wV7UT+Iv5WxRLH2Lo+oAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwTaS7eAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMy0wNy0wNFQxNzowMzowMyswMjowMDz5A8QAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC"
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/pagebreak.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/pagebreak.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAABc0lEQVQ4y42ST6oaQRjEf909zIgDGR1xMaAB1x7ApfEGuUeWuUeukVwgywfBRXKEgPhnqwaRDDOmg5mpbJ6JLzzNfFCLoumqr6vLrFYrnhtjDE0meO6itRbnHM65ZgIXN0lYa4njmDRNsdb+X+DiZIyhqiqstSRJgnNOjZ4QxzG9Xg9jDHme470nCAJmsxlZlhGG4d08TFVVOOfeAW8lyXsPwHg8Vrfb/ZPDtYikv1wSWZYJ+ACEkjidTkjyTWAkMZ1OBTCfzz8BryV9B1pNMrAAZVmSpimTyeQV8P5x5R8XeO/9LR4AFEXBdrtlv99/lfStLEsk/by45Hl+m5/PZzqdjgaDwRdJnyW93O12SGpd4SbneDwyGo0eJH2U9GKz2fD4E2qCIM9z1uv1EnizWCx+tVotoigiyzKGwyFRFN0N0SyXSyRR1zXWWsIwpN/v0263lSQJQRDcLVJwObyu8+FweBLa3Sr/27K6rimKAqDTROA3xOsBxDhPHswAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTMtMDctMDRUMTc6MDM6MDMrMDI6MDBNpLt4AAAAJXRFWHRkYXRlOm1vZGlmeQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwPPkDxAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAAASUVORK5CYII="
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/source-rtl.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/source-rtl.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAACE0lEQVQ4y42TzWoUQRSFv1vV1MRJT/eESUIgIQ+QlYQwEJhXMCDoyoWILkXiwrXZ6jOoD6AirgTXPoFbIWFCehauuukMoSdTXdfF/OSHCXjhUou653DuqVNyfHzMrESEKIqI45g0TTHGsKjG4zFFUXBxcYG5DU7TlJWVFay1RyKii9o5p0mSYIyZEFwHJ0mCiBy12+1DVWVR7+zsYIyZ4ACMMcRxPAenaXqY5/kQuH96etpXVQCcc6yurjIcDjWEADBRYK2l1WohIketVuuwKIoh0Ds7O+vPFAKEEFBVxuPx3I9IRBARrLUAb8uyHAA9oL+1tcVoNCKEwOXlJXVdE0UR3vs56dzEuq7Z2NhgBhYRMca8X1paYnl5+V273abT6WCtne9/g8AYQ6PRAOhvb29HwKfNzc3XAJ1O542IfBARC9BsNrHWIiI3CaYm3hsMBt96vd7TsiyfTdW93N/ff+6c+yIijTiO5xm5kZSpOU+63e6DZrP5+/z8/DNAURQf0zT9s7u7+xA4uG4iJycnZFlGCIH19XVVVYwxr/b29mrgx/QJv3e73doY80JVWVtb0xACWZZdEXjvcc7pLCzAoyRJKlUlSZIR8Hh255xT7z1Zlk2CdGsFAFT1q4j8BSjL8kBVfy6aW/xbrkh+Tc+fd81EqkoIgaqqUFVERPmPqqqKEMJEgfeePM+56/Ms6jzP8d7zD1OAIutzGIPtAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwTaS7eAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMy0wNy0wNFQxNzowMzowMyswMjowMDz5A8QAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC"
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/imagebutton.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/imagebutton.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAABwUlEQVQ4y6WTMYviUBSFz3tJjAQMxiIEX28RFATtrPwLdnYKU2lhlcLa32E1ha0Wgu3ULsMWMwQiMoiI2Ng6aszZYjcWW+wKXrhcOLx7Lu9974r1eo1nQhdCPGeQzWafMhAknzKAaZoGgC6AJQA+mEsAXdM0DQghukqp9ziOv0h+P5JxHH8ppd6FEF3hed5yMpnUPc/D8XjE9XrF39cSQkBK+fvRdB2FQgH7/R7tdvuHrpSql8tlbLdbAIBhGAAAkiAJKSUMw4BpmiCJy+WC0+mEcrkMpVRdz2QySJIEmqbBsiyYpgkpJc7nM67XK3Rdh+M4GA6HqFQqaLVauFwuSJIEmUwG8H3/czqdcrPZcL/fs9PpsFarMQxDbrdbHg4H9no92rZN27YZRRF3ux1nsxl93/9EEASvrutyPp+z3+/TsiwWi0UC4Hg85mAwYC6XY6PRYLVaZbPZ5GKxoOu6DILgFSQ7o9HoDcAHAObzeRYKBVqWdceWao7jpNrHaDR6I9kBSYPkC8mfj2L8c/aFpCHCMLwjKpVKD/3rKIq+ASBJEojVanXHdrvdkCTJP5ullNA0DekS6un0lPn/diNtTOsvlyozEjdB2QwAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTMtMDctMDRUMTc6MDM6MDMrMDI6MDBNpLt4AAAAJXRFWHRkYXRlOm1vZGlmeQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwPPkDxAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAAASUVORK5CYII="
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/block_pre.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/block_pre.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABYAAAAPCAMAAADXs89aAAAABlBMVEWAgID////n1o2sAAAAAnRSTlP/AOW3MEoAAAAvSURBVBhXY2DEChhIF2ZgYEAQDAhhEIIRjASFkQ1BUQ1Xj2oIHmGQDLJLMAEthQG8/gEfY+ZD4wAAAABJRU5ErkJggg=="
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/outdent.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/outdent.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAB1ElEQVQ4y4WTQW/aQBCFv12c9SIkapGU/JYe+3P7K+BQqcqh+QOJg7igYkBgEqIt2Pt6iB2ZiCorvcvu7JuZN29Mnud8PMYYjDFYa4kxIglJXDrJpc/WWrz3eO8JIRBCIMZ4FtcSvhNYa7HWYowhSRKyLMN7vwwh3O52uzMCScQYqev6jcBaS5qmeO+x1nJ1dUWapjjnvqZpyng8xhhzVkEIgbIssS2Bc47RaDTt9/sMBoMpwHg8bqsrjTHqot/vl845bK/Xo9frtWLdPT8/I+kO4Hg8tiXfS/r7AfeHwwFWqxWn04kYI2VZslwuKYqCuq4ZjUaxEWsPqMFekpeU5HkOp9MJ4BbI23G1oxsOh7G5m0gKDSaSeHl5YbFYQFVVAH9ubm7UyVJKYjAYXKrgPWaz2WC32y2Sfq7X62WnvzlAXdetBr8vafD6+gpPT09I+iLpR9Obl5Q0rX2qgXl8fATAOYdzDmMMzjmyLMMYEyVZYAJ8ayzwC/h+OBzY7/eQ5zmz2YyiKACmIQSAaZP5cw1aax6PRyRNuj7oWPe/GpjuNrZ2bXdhOBxuttvtdZZlyYXFqx4eHqrkQ6a3l6pit9sh6X4+n1MURVXXddVdaWstSZLwD9Q7oIRQPJBFAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwTaS7eAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMy0wNy0wNFQxNzowMzowMyswMjowMDz5A8QAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC"
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/find.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/find.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAC7UlEQVQ4y3WSwUsjBxTGvzczccbJzDBJnGyEDZK6oTmUHoTqRSRKDqUeYy+eeuul0H+gsgql5909dWkr3gr2XHocWhZcsrsemlbp6Iw2cV07iTqaUQMZ5+1hdXZp6YPHg8d7P7738cjzPEiSBF3XYZom/i+CIECv10MURWDmpC9IkgTTNGGaJogoR0QPiOg5EfVu6gMiyt3OSJIEIkoAdHp6ers8DeCniYmJgqZpSKfTuLi4QBiG2NzcPALwKTM/CYIAZ2dnuL6+fkO4kZNTVfVVvV7narXa8H2/yczHvu83q9Vqo16v8/Dw8CsAOWZGu92G67pwXRfCjZKlWq1W6HQ6z2zbHliW9QjAhGVZD23bHnQ6nWe1Wq0AYAkABEFIzhAAQFGU6aurK6yurv4DYMZxnO+2t7f/dhznewDVtbW1br/fh6Io0/82VwCAQqHwfhRFGB8f/yEIgutUKgVZlqEoCsIwHJRKpW+jKIJlWffeOfstQBTFvVQqBSJ6aZomDMOAruvI5/PQNA1E1JVlGYZh/PEfBf1+H0NDQ39FUQQAywCQy+VgWRYURQERkaqqS7IsY2ZmZufWgwRwfn6Ora2t3/f29vxKpfIJEf1MRB8RUZaIPhNF8bepqamPmRnHx8d3AEDXddwoBnmeh1KpNNJoNH5cWFj4UFXV/OHhIQaDAUZGRlAsFpHJZEBEaDabaLVaK8y8HIYhgiCAEMcxPM/rTk5OftNqtU6KxaKdyWS2RkdHzzRNezE/P/8rgP1ut4tKpYKxsbH7RLSsaRqy2Sxod3cXzAxmRrlcvgNgBcA0gPcAPAXwCwBhbm7uiyAI7mazWTiOg3a7vczMK+S6bgKI4zh5kHK5TDs7OyxJEtLpNPL5/Oezs7NfnZyc3DVNE57n4eDg4AMBwBsziCCKYgJwHIcBII5jXF5ewvf9x7Ztf62q6sv9/X0YhvH2D96FCIIAURSTJKIEcnR09HhjY+P++vp6b3Fx8Utm/vM1SWw9T15aOVMAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTMtMDctMDRUMTc6MDM6MDMrMDI6MDBNpLt4AAAAJXRFWHRkYXRlOm1vZGlmeQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwPPkDxAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAAASUVORK5CYII="
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/bulletedlist.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/bulletedlist.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAABn0lEQVQ4y52TvYoiQRSFv6quHoXWRIN+kzGZYCJhQfAxfBqDfYChn8HAiSc13MRAaWzQvH+S8qer7ga24qwOw+yFAwW3OHWK716VpikASiluS0Su5397t32jlEJrjTEGrTUA3nvqugYgCAK01p9MRATvPc45jNaaKIro9/vXSyJCnud47+l2u7RarbsEh8OBoihgu93inAN4ARaNXkQEay3AByAP9FGW5TlBE306Ho+fAWaz2RQYKKUQkRNw4L5OZVmiL3+J49iEYUgYhsRxbADqukYp9aSUaj3Qk/ce45yjLEuSJFlOJhMDkCTJMs9z9vs9InL8IsFxt9tBmqZkWYaIvIrIn0avm82G9XqNiBgRaT+QWa1WqDRN0VpfcV0wOufw3n8/B0EQEEURvV7vanCLsdPp0G637wystVRVdcbYvPT/GJuI08Fg8AywWCx+hrEZWeO9x3uPMeZnGPM85/39fTkajQzAfD5fFkWBtfZbjMY5R1VVDIfDt+Px+LtpvmVZxul0AvgFmAcGtbX2jFFEEJFPy6SUusN5W5cN/gs12Dh/m4Zu9QAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxMy0wNy0wNFQxNzowMzowMyswMjowME2ku3gAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTMtMDctMDRUMTc6MDM6MDMrMDI6MDA8+QPEAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAABJRU5ErkJggg=="
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/copy.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/copy.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAABxUlEQVQ4y32TUWrrQAxFz53xuCVtcUO/+tWQdXRR2UHz9tZlBJJAPkIKdil2cGzPzPtobOKm7wkEGqGRdK8kxRiRFPld/sQYl1VVkec5XdcR4zjUAMznc2KMV/r4+LiQtLy7u+P+/h5jzFWFpG1b8jzHe6/D4UDTNAC8vLzMiqJ4v729XUiiaZplVVWEEEZdGIC2bfHe473nDIndbrcBXuu6LoE3YwzOOYwxSBoSqGkaHh4eYlmW+vj4wDlHlmU45/qYGbAGBFAUBWVZDnwYSXjvAbDWkmUZaZpGSb2uJXG2l9PplCzLSJIESSQA3nskYYwhSRImkwlVVV0R5pxbSCLGuPTe8/X1RXJ2YK3FOYckjscjIQTt9/uB1NlsNmvb9t1au5BE13XLqqoYzSXLssGOMRJCwHtP13WsVqsN8Oq9L4E3ay3GGMzpdPpm84x5YPcb96AA2+12A7z2BWKMJJ+fn1fbdSn9556jtm03fQKApK5r1uu1JJGmKc/Pz6MOLpMYY7DWjjcRIIRAT2afWRI3NzejpUnTdFjn3p9cPn7K09PTP6ENEC6dIQTquh5I5T9S1zUhhPEYu64jz/NfL/On9uf9F/KEFkDo3OO5AAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwTaS7eAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMy0wNy0wNFQxNzowMzowMyswMjowMDz5A8QAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC"
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/superscript.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/superscript.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAACdElEQVQ4y42TTUsbURiFn3vnIzPJBIdsShQVJKVZ6Lq1iKCbQn5KoVBw6Z8odNdlcddlF6Ur201tEMSFGiFqg2MjQjvT2kRnzMy8XRgl/YD2wFncyz0vh/fcow4PD/kXlFJorTEMA601AHmek2UZ5v+IlVI4joPv+xQKBQDSNCWKIvTNI8MwsCwLwzBuRYZhYJomlmVRLBZxHOedUkqUUmJZVmdsbAxTKYVpmpTLZVzX5fLykn6/D0CpVMJ1XQaDAZZlISIDIAGo1+vThmFgaq0pl8v4vo9SSotIXiwWAbBt+/Zu6PQuUACYnJw8SZIEgiAgyzKA10AAPBARRARgAfgMvBIRarWaiEg85Kcoiq4HpGmK53mHjUZDfN8/Bx4CC5VK5Uej0RDP8/ZEBN/3A0CGfB+GITrLMs7Pz9nY2Phwenr6bWlpqVytVt9Wq9U3i4uLXrfb/bK9vf2x1+sRRVEqIsmQV/1+H3V0dEShUGB8fPy+iDxbXl6uVyoVHyAMw6/r6+sHwOPj4+OtqakpE26jT9vtdqq11jiOA9BcWVl5EcexdXFxwZDW6urqc2DLdV3a7XbaarXiVqsV7+/vp0opVBAETExMoLVeAN7Mz897vV4vEhFVKpX8ZrP5HXiU53nz5OSEq6srRASlFMB1jMPD2tzcnNfpdMJOp9MeDAYyMzNTn52d9Xd2dl4qpe6NfrIbmFmWEccxtm3v7u7uDs7Ozr7atv3Etm29ubn5bHp6+o5t23tJktzE/QvMLMsIw5AkST4DNeDxwcHBFkCtVnsqImtA0O12/zpAjbZRRMjz/I8ijVr+w8GoGLit6yhGl/Y7fgKDaThyiqUnXgAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxMy0wNy0wNFQxNzowMzowMyswMjowME2ku3gAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTMtMDctMDRUMTc6MDM6MDMrMDI6MDA8+QPEAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAABJRU5ErkJggg=="
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/select.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/select.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAABgUlEQVQ4y6WTu27aYBSAv/+AjblZQmJA3SxVMuwWU4aM2bLzHskTMDbvkC1Du+QZQLLCFhIhkFIuE7BHJBjznw4tljK6HOlbv3M38/mcc6Loed5ZAqOqZwkALoAnQHPyBFyIiNwNh8Otqu7zMB6PjyJyRxRFqqrXqurl5DqKIi2Wy2WOx+PjarViv99zmomIUKlUaDQa1Go1jDFZz4fDAcdxHqvVKpIkCSKC4zi4rovrupRKJTzPw/d9fN+/FxE1xmS4rnsPkKYpxTRNMcYgIhhjvmT6V9FHp9N5C4LgO8ByuXybTCYfAEmS/BVkOzUma8Fay263A7gZDAa/ut3uN4DRaPQbuMkE1loACoXCl+yqirWWxWLxHgTBba/X+wHQbDZvN5vNe6vVwlpLUUQA8H0fYwwn4akSVWW9Xo/7/f5PgO12O67X69mgCcPwFbhSVfIAXIVh+Eocxw/Ay39c4kscxw+o6qWqPqvqZ06eVfXSzGYzrLW02+1cbzmdTj9FhD8PH2z3UpcTNgAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxMy0wNy0wNFQxNzowMzowMyswMjowME2ku3gAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTMtMDctMDRUMTc6MDM6MDMrMDI6MDA8+QPEAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAABJRU5ErkJggg=="
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/scayt.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/scayt.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAALEgAACxIB0t1+/AAAAAd0SU1FB9wFBBEtF1C3eLwAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjEwMPRyoQAAALdJREFUOE+lU0EOwzAIyyNy3qV9xqpVanvY/x/EahYjkpGuUg5IJAFjA0mPbUsjNpSMwgaQl0XycxWyga8W3ePuNAOY9vc3+DT4eOBZ/RKMu/k47N0ArFoB6QO8jCGZqgRfgTJaCWTZNjwZ/aKLMioJQS+MgQ/01FsAaG9jtQf/AMJ3N5nbe6AMyjR8H24B9JKrRcIBgTRWuUr+AeBIuSx+xL3/EkrQ9XXrevXZuj2IGhYBJREZsg+Tbxg/C79loAAAAABJRU5ErkJggg=="
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/justifyright.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/justifyright.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAABQ0lEQVQ4y5WSTW7CMBCFP9uxhECgyiIbrsH9b8AV2AELICARiyTgny7SJKWNVTorS/Y8v2/eiO12S6qEEMm7GCMAWapRSolSCqXUr3vvPd57QgjjAlJKptMpxpikwOVy4X6/vwp0lpVSLBYLsiyLKYS6rkVd163AT8taa7TWrNdrjDForXtu5xzn85kQwjADKSWz2QxjDFLK/pfNZtOkHNxuN2KMg8B8PkcplbQ8goAQohXorK1WK/I8ZzKZjA6ve3c6nV5j9N5zvV7Z7/fNuw7KshwQYoxUVQXw8TXU6i+BpmlaBCFEe8gyDodDvVwuMcaQ53k//e/1fD45Ho8DwlgCRVH8iWKtbRG6pflPAgCPxwMpJVmMEe89QLd9yaYuhbIscc61DpxzFEVBjPHtBAB2ux3OObIQAtbaPoF3y1qL1ppPwFetLbWdKysAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTMtMDctMDRUMTc6MDM6MDMrMDI6MDBNpLt4AAAAJXRFWHRkYXRlOm1vZGlmeQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwPPkDxAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAAASUVORK5CYII="
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/smiley.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/smiley.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAACrUlEQVQ4y32Tv4sTaRzGP28yaRLnsoRpAmkkS9gqoneQvdViUQsLIYVNsLGxSnVNipNr0lludYT7CyyDCNekWQPa2ChEBzJT7EE8dfNrJ7m9CZOZ5wonh1xxLzzN8+X5fH/Aa3zfxxiDZVnYts3e3h7/95bLJavViu12iyQsYwy5XI5isYht2xhjvgN+Ao6AH9LcG+AVcCIpyGazXFxcEEURGcuyvg3fBUbNZvPBcDisSMpJyg2Hw0qz2XwAjIwxd23bplgsYlkWzOdzJAHcBqbL5fJc0omkO5JKqe5IOlkul+fAFLgtifl8DnEcA9jApyAIPko6lMR2u2U2mzGbzf7dV9JhEAQfgT8BO45jdt273W43kHQE3APOgKdpCOBp6t2TdNTtdgOgK+kroFqtvu/3+y8kUSqVThuNhhzHiYAckHMcJ2o0GiqVSqeS6Pf7L6rV6ntJZOI4ZrFYXK3X688kMRgMLsvlsnq9XryboNfrxeVyWYPB4FIS9Xr92WKxuBrHMURRRK1W23Y6nWubzQZJ1yX9LunxdDplOp0i6XHqXd9sNnQ6nWu1Wm0bRRGEYUir1bp0HOeRJJIkAbiy6/7NHa4kSYIkHMd51Gq1LsMwJBOGIZVKxbcs6yGAMQbg1BjzszHm0BjzvTHmF+BlWsOyrIeVSsUPwxAmkwmSnuTz+RVwLIn1ev2hWq2eASHw9/7+/h/r9dpNJznO5/MrSU8mkwn4vo+k/Gg0OgPOU8gNSc8lfUn1XNIN4Bg4H41GZ5Lyvu+D53k7yE3XdWfAZ+A34D5QTnU/9T67rjuTdNP3fTzP+woYj8c7yC1JXrvdflcoFN4CC2BRKBTettvtd5I8Sbd832c8HuN5HiYNkiQJcRxzcHBQANrAj//5ja+BX13X/SubzZLJZDDG8A/jc9VNll6oyAAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxMy0wNy0wNFQxNzowMzowMyswMjowME2ku3gAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTMtMDctMDRUMTc6MDM6MDMrMDI6MDA8+QPEAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAABJRU5ErkJggg=="
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/docprops.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/docprops.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAACZUlEQVQ4y22RvWvsRhTFf3dW0n5I1kqLvxrjIi5MYJtg3KxjjMGGV6QwwaQ0+J94pU3q/CGBpA+kiuHVIU1asazMYozXQlhGH6vRpHB27feeLxyYO8Oce+45Mh6P6fV6BEGAbdu8V03TkKYpWZZR1zXGmOWbUkrh+z6O4xgReRetVus6DEOCIMCyLETklUBEUEqxu7uLMab8Enmez7vd7kcRuV5ZWfmKRAForUnTFCD4Ep1O52Q6nRrHcZYknuehlALAMsZQ1zV5npMkSTGbzdBav05Q6mZnZ+f0/v7+z/X19Y8iwnw+v35+fkZr/bICwNXVFSJCu90mCAI2NzcJwxDLsoii6FO/3z+dzWYGuGq1WogIIoLq9Xp4nofW+jfHcXAch8FgQL/f/35tbQ3f9xERJpPJJ8/zTldXV9Fav0b0f/MDYIwxZFm2iKkCTrTWxHHMZDIhz3N83zdlWRLHMVEUvcRo2/Yvo9EIANd1ARiNRvZgMPhZKcVbvPVnmcL29vY37XYbEfldRL4VkV87nQ6u637HizQARIS6rpdnAFUUBYeHh6aqKvb3938Mw/Dfvb29n8qy5Pj4mKIoaJpm+ekrBVmWcXFx8ffj4yOu63JwcIDv+yRJwuXl5T8LTxauf2YgwHg8xhjzIc/zajgcmqOjIzMcDk1VVZUx5sPd3R3T6ZSHh4fFKqaua25vb4miCKuua+I4/mNra+skTdO/ut0uT09P2LZ9orW+2djY+GzgW/kA1uLCGHOT5zlFUVCWJcCNZVmGd2rhizHmJQURoWkazs/Pmc/nnJ2dLUjLd0CSJMs0/gPD1k0esGcikQAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxMy0wNy0wNFQxNzowMzowMyswMjowME2ku3gAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTMtMDctMDRUMTc6MDM6MDMrMDI6MDA8+QPEAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAABJRU5ErkJggg=="
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/specialchar.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/specialchar.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAC40lEQVQ4y3WTT0ikdRzGP793nP/jO46DdJDcHMiiCNKVwQEPEaFzCAXTm9egw+IeOniLkBQCD4sLnbuIeOokRAV5CAk21l3aIM1xp9ehHGWcmXeUmX2deZ8OOcIGPfA9PX8uz/M1hUIBAGMMlmURCoWIx+PYts1/4bouV1dXeJ6H7/tIoqdr7unpwbZtkslkNzAIvA28BTjAU0kN27ap1+u4rku73Ybj42Mcx6HRaCAJIAV8BbwAFIvFSoAH+MB3wJuSaDQaOI4DxWKRarXaNd8FzkZHRzUzM/OzpL8k/S3pYnV19YdsNtsxxnjAx5KoVqtQKpW65t5wOPzHwsKC8vn8I0nfSHq1UCggyZb0+cbGxo/z8/MaHBx8AYxLgtPT027AF3Nzc5qenvZardbX5XKZo6MjDg4OODw8xHEcJH06MTFRWFxcFPCLJKxIJAJAX1/fe6FQiIuLi+fhcPgzz/MACAQCWJaF7/sAD6LR6K/X19fk8/lRY0zSCgaDGGPM8PDwXc/zcF3XARzLsrAsC2PMbcVAp1arPWu326RSKcsYM2o1m00kGaDWbrdxXfcOQDweJxAI3AYEg0EA9vf3X+l0OtTrdZaWlvyeVquF7/v+ycnJk/7+/nwmk3ndGHNH0p+e59FqtTDG3A5rYGDgg2azSalUOtvZ2fndarfbXF5esr29/X25XPaj0SjAJzdiUqkU6XSaWCyGMWYqk8m8VqvVGB8f/xY4w3EcXNdF0rubm5s/jY2N+UNDQwIeAJakbkvzkUiklcvlNDs7+0jSfUlQqVS6gnuSPjo/P3+ey+VKIyMjAj684UK2bXcmJycvt7a2fpP0JXAPsK1oNIoxJgI8NMbk1tbWNtfX108SiQTw768AViaTsbLZ7ONAIPDEGPMsnU4/BN6nUqmwu7sb7u3tfQq0uhcIBE5XVlamJLG3txdOJBIv8clksrG8vDzFzVQtSY/1Mi4kvVEsFv+Pv5b0zj+ydKn/9EzXawAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxMy0wNy0wNFQxNzowMzowMyswMjowME2ku3gAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTMtMDctMDRUMTc6MDM6MDMrMDI6MDA8+QPEAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAABJRU5ErkJggg=="
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/docprops-rtl.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/docprops-rtl.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAACYUlEQVQ4y22TMUskWRSFv1tVXV1tlVV2t8YGm8hCJ4OYtCsiKEywgQwyoeCfmFDZeH7IwG6+6QgmmyybbGaLdEkjoraNja+qul7dDZzqVfHBhRecc+85590ng8EAABHB8zyiKCJJEhzH4b0zm814eHjg6ekJay3OS/LS0hLtdhvXdU9ERN8r3/c1juP5AOcleXFxERE5abVaX4wxM1XN39ba2hqO4yAiz4MdxyGKojnZ9/0vo9FIgyDYBf56a2EymRhrLQCqiue67ivyzc2NJkmyd35+flZV1Rzoui7dbhdjDGVZoqoAeCKC67oAx3d3dyaKor2Li4szz/MIw5Bms4kxhqIoEBGOj4/noYvIc4jWWpaXl4miaG84HJ6JCHEcs7KyQpIkv3Q6HXzfx/d9rLW/R1HEwsLCc5BpmpLnOXEcqzGG4XBImqb88LkLFKrKdDqtZSvwq7WWNE3/f0ZrLY7jvKpOp/Nbv99vAIRhCEC/36fRaHyd40QEgLIsqe91QGEYfgiCABH5JiI/i8gfzWaT1dXVn2rcKwV1g6qqyLKMnZ0d8jxnfX39c7vd/ndjY+NTURRsbW1plmVUVcV8X+sGIkLt+ejo6J/xeEwcx2xubhKGIff39xweHv49nU6fc7q6uqIsyx+KlNvbW0ajEdfX16jqx6Ioil6vp9vb29rr9dQYU6jqx8vLSwaDAV6toJbf7XZ5oerPRqOx+/j4+L3VajGZTAiCYDdN09M6M6/2q6qIiL5dXVWVPM/JsgxjDKp6+nKgU5Yl4/EYVeW9zwOwv7/PbDbj4OCAqqrmZID/ADGqVT9WV93kAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwTaS7eAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMy0wNy0wNFQxNzowMzowMyswMjowMDz5A8QAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC"
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/find-rtl.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/find-rtl.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAC7UlEQVQ4y3WSwUsjBxTGvzczccbJzDBJnGyEDZK6oTmUHoTqRSRKDqUeYy+eeuul0H+gsgql5909dWkr3gr2XHocWhZcsrsemlbp6Iw2cV07iTqaUQMZ5+1hdXZp6YPHg8d7P7738cjzPEiSBF3XYZom/i+CIECv10MURWDmpC9IkgTTNGGaJogoR0QPiOg5EfVu6gMiyt3OSJIEIkoAdHp6ers8DeCniYmJgqZpSKfTuLi4QBiG2NzcPALwKTM/CYIAZ2dnuL6+fkO4kZNTVfVVvV7narXa8H2/yczHvu83q9Vqo16v8/Dw8CsAOWZGu92G67pwXRfCjZKlWq1W6HQ6z2zbHliW9QjAhGVZD23bHnQ6nWe1Wq0AYAkABEFIzhAAQFGU6aurK6yurv4DYMZxnO+2t7f/dhznewDVtbW1br/fh6Io0/82VwCAQqHwfhRFGB8f/yEIgutUKgVZlqEoCsIwHJRKpW+jKIJlWffeOfstQBTFvVQqBSJ6aZomDMOAruvI5/PQNA1E1JVlGYZh/PEfBf1+H0NDQ39FUQQAywCQy+VgWRYURQERkaqqS7IsY2ZmZufWgwRwfn6Ora2t3/f29vxKpfIJEf1MRB8RUZaIPhNF8bepqamPmRnHx8d3AEDXddwoBnmeh1KpNNJoNH5cWFj4UFXV/OHhIQaDAUZGRlAsFpHJZEBEaDabaLVaK8y8HIYhgiCAEMcxPM/rTk5OftNqtU6KxaKdyWS2RkdHzzRNezE/P/8rgP1ut4tKpYKxsbH7RLSsaRqy2Sxod3cXzAxmRrlcvgNgBcA0gPcAPAXwCwBhbm7uiyAI7mazWTiOg3a7vczMK+S6bgKI4zh5kHK5TDs7OyxJEtLpNPL5/Oezs7NfnZyc3DVNE57n4eDg4AMBwBsziCCKYgJwHIcBII5jXF5ewvf9x7Ztf62q6sv9/X0YhvH2D96FCIIAURSTJKIEcnR09HhjY+P++vp6b3Fx8Utm/vM1SWw9T15aOVMAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTMtMDctMDRUMTc6MDM6MDMrMDI6MDBNpLt4AAAAJXRFWHRkYXRlOm1vZGlmeQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwPPkDxAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAAASUVORK5CYII="
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/showblocks-rtl.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/showblocks-rtl.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAABzElEQVQ4y32STW4iQQyFP1dXSyB+GiQukQvMigXLLOdIcAAOEA6QbCcLpEiR2GeJosCKXCAqFkRC3QS3Z0FXC0hmLD29kl0uP7ssHx8f9Pt9kiQBwMzY7/eoKmZW+0Tkgs2MPM/h6+sLYAi8VBhWiePj8QgwLorigquccQgB570HmK5WK12tVgpMq6qW5zlmZrvd7oKLosCqKl5V6fV6v25ubn4DDAaDPwAiItvtlhDCRFX5/PycAOz3+0mn06HdbksIAaeqtNttVPWxLMvHVqsV+7bY6zXKsqwVODPjcDjgnENE4kyQkyEinFv0SRVwIkJZlnVAVS8UxKRzjnEAB/VPAFBNHhGRJEnw3n9DpVYA/HlV4EJBnuc452qFZoZzDu89Zmbb7fa7gvMZNBoNut3uOMsysiwbZ1lGt9sdN5vNekb1DKLFc+zxf+y9P/XsnKu/rNlsxjtxO+0HvADD4/F4UlBtIwBpmsbjdL1eq5kV11iv1wpMkyQ5LVKapm8icisit977t/jWbDabA71r3N3dzYFUVSGEwPPz8wPwCrwuFosHVeXp6ekeWP6jheV8Pr8PIcBms8HMRma2rDB6f38/9+U/YGlmo81mw18xRo+Q6mSvowAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxMy0wNy0wNFQxNzowMzowMyswMjowME2ku3gAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTMtMDctMDRUMTc6MDM6MDMrMDI6MDA8+QPEAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAABJRU5ErkJggg=="
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/templates.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/templates.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAABmElEQVQ4y42TTY7iMBCFX9nG+UGggLKOZs0NuFnvhtvNLWgLIVaICBSJENvlWTR2hyYjTUklJXby6qtXNhljUJYlqqrCbDbDVDAzrtcruq6Dcw4hhLQnhBBYLpfQWgcimkwp5W61WqGqKiilQETfAkQEIQQ2mw1CCG9prcV8Pv8got1isXgTURGx6zoMw0Dn8xnDMEQ8NE3zyxjzp2maDyJCCGHnnMPtdoP3HiKiWGvBzPDeg5nBzLDWYr/fm7qut4fDoc3zPJFIKb+KjAWEEFBKQWuNPM9RFAW01jgej6au6+3pdGoB/JZSgohARF8tEBGYGUIIFEWBsiyhtU5G9X2Py+Vi1uv1tq7rT+992lPxwXsPKSXKskSWZd9zesb9fifnnBmGAcycRpkIoqoQAiEE+ingnIOUEsz8MkYVX6y1qS8iChMCRESw1iIWnSR4zn+SILb6cpDGHkSBqdMYex4b+EIQP3ga9EbweDzGBd4J4mKWZZMXKq6PfwYAxczo+z6h4z+i7/s0SuGcQ9u2kxfpX9m2bTL1L1PNGa2ESIi0AAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwTaS7eAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMy0wNy0wNFQxNzowMzowMyswMjowMDz5A8QAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC"
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/italic.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/italic.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAB3UlEQVQ4y3WTvW4aQRSFvzs7XsSuxY+toKVxZTd5hUhYTp10uMrTuPUbpOQ53OA+KazIiSwFUYCjSJa8Cix4YecnTZYQ2BxpmtHVd889c0dGoxHbEhGUUmitUUqxK2st1lqcc3jv0bsFSiniOObo6KgSUBQFaZqyXC7x3rNXEQQBzWaTIAjei0i+e8IwfFev1zfwPQfee7z3AG8vLy9rcRxjjCFNUx4fH83t7W2R5znOuWqAtZY0TfHefwd+9vv9ZLFYMBgMbjqdTg+YjMfjssn+CM45VqsVwEcRuTbG8PT09KvT6VwDrYeHh6/W2r+Z7QJEBK01gAHeiAiz2ewL8Hk0GuVKKURkU//fVwA4OTnprVYrkiT5lud5qrVmu/ueg7J7s9lERF6fnp6+ms/nXFxc3K3Xa6qkqhz80XmtVuP5+fnl6urqfrlcbpKvBIgIQRAQhmF51TPGYK29Bz5ZazfJ7wFK641Gg+PjYwC63e65MYazs7N7IIuiiCAIqgFKKaIootVqISI3IpInSdJdr9cMh8MPInJ3eHhYudp624GIxECv3W6Hk8mk/DA6iqJxURSVIepy++bzOd57B7wAu8P+mE6nGGOqAc45siwDyIGkolGRZRkHBwf/LBHAb9hB2IjVkGgMAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwTaS7eAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMy0wNy0wNFQxNzowMzowMyswMjowMDz5A8QAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC"
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/numberedlist-rtl.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/numberedlist-rtl.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAABs0lEQVQ4y42TwY7aQAyGP88kOxMQgQeoxKkP0Ueo+tJce+qVy64qUXHapQoQkiHB7oEl2wKqsOTDjOzfY38eeX5+5mIiwrWZGf+zTERwzuG9xzn3j4iZoaqcTidUdYgDhrtMRIgxMpvNCCHcVEgpUVUVbdsSY6QsS0SE7XbL4XDAOecoioIY40JE7NpjjIsYI957QggURbGIMf4syxLvPdnlqWbWAelOm11VVagqbdtiZu18Pp875wBwlz5F5ElEwh1/UlVUlZQSwLdLDoBTVeq6xsyOZpbu+LGu6yFhv9+fmqYZzpmq0jQNwFc4t3RlfdM0w/S7ruP19fVHSumDgveel5eXXkT6e3uQZdmAsO97zCyt1+uzwIVCWZYURXFTvm1bdrsdIsJkMiGEQN/3X/I8p+u6D4yj0eguxqIoFuPxmNFoNKDO8/z3dDp9HOP7wgwxZVnO8jxHRMj+xgiEOwJP+/2eEAIi8hkIIlIdj8fzej+C8XA4XP7I3MySqmpK6TzgRzDWdc14PAb4JSKfgO+bzeYsICKICMvlslfVG4zee7Is4+3tDTPr3+d0XK1WqCp/AOsbSUzM4PaQAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwTaS7eAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMy0wNy0wNFQxNzowMzowMyswMjowMDz5A8QAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC"
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/pastefromword.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/pastefromword.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAB7ElEQVQ4y32SwUobURSGvzN3kuiMhMnCZUICCoEiuHNhu67v0dIX6BP4AH2D9j2yb/eC0A41FUXGjSEakCSaiffvwkzMtE1/uIvDufc7//3vtcvLS+I4ptFo4JyjkJn1kyTZARiNRr8k7Ra9p6cn7u7uGI/HhM45kiQhDMPXwCfgDfD94OBgZ3t7G4DBYLBjZn3gFfAV+Jjn+beHhwe4vr5GEkCapumZpGq32501m011Oh11Oh01m011u92ZpGqapmdAKoksyyDLMrz3AJJ0NBwOkdTX3+rf3t4i6QjQfD4nyzJCAO89Zkae573JZML9/f2uc66UCYBzjsfHxx5AnucAz4DFFTAznHPUajWSJKFSqfAvFfs3NjYIVhtmRhiGJElCtVrtmZnWLMysV6/Xnx38CVlMfivJWCMzU6VSKTtYtRhF0XIjwGQyKdVRFOG9Xw9YvAz1ep3iwGrtvUfSC6AIMAjKzDiOS5OLulBQJFokHsdxCRJFEWam/f19zEyFkxIgz3MODw8xs6NarfbcWECm0ynA8cnJiQHHi/pFFxcX3NzccHp6+gP4ufiRbG1tSRLr1ubmpmazGYH3nvF4zN7e3gdJo8JRq9XK/vMP1G63s+l0ip2fny+pQRAsw2y1Wp+Bd6zXl6urq/e/AdjrHTsrslRZAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwTaS7eAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMy0wNy0wNFQxNzowMzowMyswMjowMDz5A8QAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC"
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/redo-rtl.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/redo-rtl.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAACaklEQVQ4y6WTP0gceRTHP+83P112mdtZ1y00IkRY/yFeFRHSpVAIkippJOmOQErbg0sg1ZUWB+G4Omlzd6S0SBGQTbCzcnSEjSIWwiw7LurO/OalCLMEk5AiDx7v8f5+H7yvRFHEz4i9HhARjDF4ngeAc448z1HVHw8QEYaGhvB9nyAIyPOcOI7p9Xo45745wBSN1lrK5TL1ep1arYYxpmqtfTkyMoK1FhFBRL5GUGytVqtUq9UCyW3g1czMzE3P8x6Vy2U8z8M5N9DiJGutpVar4fs+IuIBTxuNxh8rKyve1dUVAPV6fbCx2+3S7XZJ0xRVxfq+XzTfFJFXy8vLtxcWFgYFIvICiIBdYEtV1RhDp9MhTVOk3+8zPDz8EHixtrZWbTQapGlKnucYYzg8POTy8pIkSYiiaBd4pqr/nZ+fE8cxtt/vs7q6unByciJZltHpdDDGICKoKmNjYxhjsNYyOzu7uLOz86+I3FfV11mWIcfHx0xMTPwGbExOTubj4+O/BkGAtZaLiwuyLGudnp7+AtwYHR0dCYKAVquVJElyS1VDoigiiiJUdVpVt9fX17eazWa2tLSkc3Nzqqpbqrqrqmfb29ut+fn594uLiwo8V1U4ODggDEP29vZQ1SFV/XN/f/9DpVL5WKlU1DlHu91GVYdV9Z6qbm1ubr4F/nfOff4DYwx5nhOGYep53u/NZvNOr9f7q1QqvUuSBOccYRj2ReRNqVR6s7Gx8fjs7OxuHMdIQabiMfI8B2B6eroO/HN0dPQgy7JBHMAYw9TU1JN2u/23XGejqg60QHc9X1gR+TYbv7Tfyxf+J7LHOjzmnBVyAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwTaS7eAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMy0wNy0wNFQxNzowMzowMyswMjowMDz5A8QAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC"
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/selectall.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/selectall.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAABsklEQVQ4y52TzYriQBSFz63KD0GIG4U2C4X4AG59dB9ARbLwBcSAIGYjmIqi1v8sZpIZp9uhmQPFhYI69d1zq2ixWHjGGDjnICJ47+G9BxGBiPC3nHMwxuDxeGA+n1PAGEOSJEjTFHEcQ2sNKSU45wjDsDNqjaWUaJoGz+cTABBwzpGmKWazWXfL4XDAZDLBO63XazDGfhoQEeI4BgAMh0NcLhckSYKqqpAkCRhjHYG1Fk3ToKqqzizw3kNrDQAQQsAYA+ccRqPRW4LNZvNqIKXE6XRCmqYwxkBKifP5jCiKXoK01kII8UrQJptlGb6rTwRtcP1+H5zztwe/JGgR/5X6twnSNO0I2v1WRPT1FP6HYLVawTkH7/0rQa/Xg5QSWZZ9esNFUXgAkFKirmtIKWGt/T2FPwl+/YWuB6015XlOzjm0yxgDrTWYMQb3+x1FUWC73WK5XLYm1Nbr9YrBYKCEEPj4+FC32w3j8VhZaxEIIRAEAeq67oJSSiGKoo6Ic46yLCMA2O12ERF1lbz3ar/fR9PpVJVlGeV5rrz3EWPMh2EIrTW893Q8HqGUepkOEeEHGwghYxx8EWgAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTMtMDctMDRUMTc6MDE6MTIrMDI6MDAjjGBvAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDEzLTA3LTA0VDE3OjAxOjEyKzAyOjAwUtHY0wAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAAASUVORK5CYII="
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/save.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/save.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAB5UlEQVQ4y5WTv2siQRTHPzNZ2VURjRAIAS1tAxapUlxxnY2F/1LuD7DPf2BnfddbCrlyEQS9gyUh/th1Vmf2XWF2PYsL3oNXDMx83vf73huiKMI5h4j8VzrniKIInHMAj8AEkAtzAjw650BEACbdbldExFyS3W5XgImI4AF0Op2HIAgAGlwQQRDsOp3OA3AENBoNrLVkWWbm8znGmFxZEUopgiCg3W5jraXRONbyALIso1KpoLXm5uaGzWZDlmVnAK01tVoNrTVBEJAkyQkgItRqNZRStyLyu1qt/lO+Uuq21+sRx/EJAOD7PlrrX0qpT/1rrfF9vzh7cBylc47BYIC1Nh8tubq8B1dXV3ieR5qmxZ0CkKYpcRzz/v7ObrcjV/LRXLTWVKtVrq+v8TzvHLDf7zHG8Pb2xnQ6TT+zcH9/7zebTQ6HwxGQZRlJkpAkCZvNptgFpdTuw0L5b8B2u93V6/ViSjqOY/r9/vfX11fSNAUwgGm1WrRaLQCzXC7Ncrk0gFFKYa09KViv1wyHwx9xHMtoNPqaVyqVSkXVu7u7s4Xabres1+uf1lq8/X7PYrH49vz8XIqiCKWUAFQqlfzB2UqWy2Wccy/j8fhltVpBGIaEYchsNkNEni78UFMR+RKGIX8Aqct2fUQ36sYAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTMtMDctMDRUMTc6MDM6MDMrMDI6MDBNpLt4AAAAJXRFWHRkYXRlOm1vZGlmeQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwPPkDxAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAAASUVORK5CYII="
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/outdent-rtl.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/outdent-rtl.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAB3UlEQVQ4y4WTQW7UQBREX/dYdltO5IwVRblAbgESB2DPHTjFnIUdazgBBM4QRfImuyTKZKzgyNPd7mLBjOWBoHypdtX1/6+ub9q25aUyxmCMwVpLSglJSPqHl80fzMtai3MO5xzDMDAMwyR0ILBYLFgsFlhrD0SstZycnOCc+zoMw/v1ek2MEUmklEgp/RFwzlHXNc65A2VJGGPI8/xNURTUdU0IgZQSwzCw3W5JKWHzPKcsy0tjjOaw1l4CnJ2dAVBV1aosS5qmWeV5jrX2z6R93yMpSNr+hQDgvd9PpKenJyQppcR+ddq2RVImyQE/Ae3wQxJN02zGceTu7o7b21u6riOlRAiB+/t7srIs6fs+VlUVJW2B7c4GDxBjxFrL6enpZLIx5hPwMYTwi4eHB4DLWeeDCaqq2uy+buIsl0sBX0II2Ofn5/954AHGcdx7MHGOj4+/SerX6/XrHgCbEMLE2eGzpLpt29c9AMiyjM1mE733URLe+w/eeyRhi6Lg6Ohon4N3xphih3werOVyuarrmvPz85Vzbkrvqx7MkjnlYN8dwFxfX3NxcZHND2tX8fHxMTZN873rurdd1xFjnGI+rWeM4erqKqaU4vwyrbUURYGk4ebmhnEcXzzn36zUjIGc138bAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwTaS7eAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMy0wNy0wNFQxNzowMzowMyswMjowMDz5A8QAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC"
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/copy-rtl.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/copy-rtl.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAABxUlEQVQ4y32TUWrrQAxFz53xuCVtcUO/+tWQdXRR2UHz9tZlBJJAPkIKdil2cGzPzPtobOKm7wkEGqGRdK8kxRiRFPld/sQYl1VVkec5XdcR4zjUAMznc2KMV/r4+LiQtLy7u+P+/h5jzFWFpG1b8jzHe6/D4UDTNAC8vLzMiqJ4v729XUiiaZplVVWEEEZdGIC2bfHe473nDIndbrcBXuu6LoE3YwzOOYwxSBoSqGkaHh4eYlmW+vj4wDlHlmU45/qYGbAGBFAUBWVZDnwYSXjvAbDWkmUZaZpGSb2uJXG2l9PplCzLSJIESSQA3nskYYwhSRImkwlVVV0R5pxbSCLGuPTe8/X1RXJ2YK3FOYckjscjIQTt9/uB1NlsNmvb9t1au5BE13XLqqoYzSXLssGOMRJCwHtP13WsVqsN8Oq9L4E3ay3GGMzpdPpm84x5YPcb96AA2+12A7z2BWKMJJ+fn1fbdSn9556jtm03fQKApK5r1uu1JJGmKc/Pz6MOLpMYY7DWjjcRIIRAT2afWRI3NzejpUnTdFjn3p9cPn7K09PTP6ENEC6dIQTquh5I5T9S1zUhhPEYu64jz/NfL/On9uf9F/KEFkDo3OO5AAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwTaS7eAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMy0wNy0wNFQxNzowMzowMyswMjowMDz5A8QAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC"
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/form.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/form.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAABZ0lEQVQ4y52TMaviUBCFvzHXKpAEFcXCxsZue6t9sH9sf9YrtbLfzkKECBYikQiBxDvJbOEzuO5b2LwD09y5HOY7c6/sdjtEhK/IzHBBEPCoLqrrmrqucWEYMhgM6PV6nQyapiHLMvDeA7wD1rHevfeImbFYLGy5XOKca9me9ZqRqrLZbNhut+KapiFJEtI0/YsPwDn3Rz5mhoiQJAlN0+BUldPpxH6/X3fJYD6ff1dVKMuS8XhsZvb2zGhmb69nz73pdGplWeJEBO89ZrYys3aK4/G4iqKI2WzGZDKh3++jqlwuF4CVqiIid4O6rh9B/XwYPLjTNP0U7WHA7XYjDEP7SL4dM89zVJV/IBBFkXnv7xN8XOQZIc9zgiBgOBwyGo1wzqGqXK/XdlMignvZc4sQxzEA5/P5UwQzu/+Fqqooy3ItIsb/y4B1VVW4LMswsxjo9A6A+HA44IqiAPgBfOto8KsoCn4DBmboqXruCR0AAAAldEVYdGRhdGU6Y3JlYXRlADIwMTMtMDctMDRUMTc6MDM6MDMrMDI6MDBNpLt4AAAAJXRFWHRkYXRlOm1vZGlmeQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwPPkDxAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAAASUVORK5CYII="
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/image.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/image.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAACDUlEQVQ4y52TMU/bcBDFf/e3TRonBUskAi9AFwZLGSokpCwoA2OHLixM+QYszHyAzm0/QMdKHbrDjtS5QmICESERIUosJ9jO3//rQFKxtII+6W3v7nT33snFxQWe52GMQUR4DlQV5xxVVeGHYUgURQRB8KziOabTKff395DnOYD+D/M8xxhj6HQ6qGrxEiZJgjEG45xjPB4DRCJyJCJ3InIERP9imqaPNwCw1gLkwMHu7m58fHx8UJblh6urK8qyxBiD53mICJ7n0Wq1mE6niAi+iFAUBQD9fv/05OSku7+/f1oUBUEQEAQBzWaTKIoAeHh4oF6vY619dK0oCpaWllRVUdVDVR2q6uFwOOT6+posy1BVgHfA0UxHq9XSsiyhLEuazaaqKuPxmLngKYE37Xb71+bmpgPeqypra2taVRXmaXjCMERE+iLyVUTaACLyqlarfev1etHW1pbEcfxFRJJGo/Hogud51Go1ZuIkjuNP3W53r16v/xSRvYWFhY+9Xu9tVVXkec729vbrMAy/zweLqrKxsaGXl5eNxcXFHzs7O4nv+1hrOTs7Y3l5mdXVVay1qCrGGEajETc3N5yfn4s/zzbwudPpJJPJBOccIsL6+joAaZrinPuzqrV2nh1kZosCrKysUFXVvOFfH8laS5qmTCYT8W9vb1HV4kWfNMNgMMDPsoxZPF+MLMv4DfyAP8oRYsV6AAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwTaS7eAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMy0wNy0wNFQxNzowMzowMyswMjowMDz5A8QAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC"
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/button.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/button.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAABKUlEQVQ4y6WTPWrDUBCEZ98PkkGVIbXS+Aqu1LjVOYJV+xaufApfRqkMLgyyTdIHBJaLZ2S/N2kikypS0MCy28y3MOzK+XzGGBkRGQeI43gUQEiOAgBABqAEwH9WCSCT6XRarlareRRFgzcqpdC2LTabzbvkec7FYoH9fg/nHEQEfcGKCKy1uFwuMFEUIYSAuq5hrYVSqj84EXjvMZlMYJxz0Frj8XhARAYBfss453C9XnG/35/0IQohwHsPybLso2ma1ziOYYzpBZBECAFt2yJJkk9TFMV2vV4Xh8PhRWs9aLv3Hmmafi2Xyy1IWpJvJHckbwNr9+OxUlUVRAQkMZvNBt318Xi8dR45nU4gCZLw3iOE8KdZKQWt9fNeTDeQhFIKfb/Rhdz1b0pVvJkuVfk3AAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwTaS7eAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMy0wNy0wNFQxNzowMzowMyswMjowMDz5A8QAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC"
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/newpage.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/newpage.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAABXUlEQVQ4y42TUW6DMAyGfzsUVZWgVFygzz3DDrUbrIfbMfqQA1RKi3iIQmLvYUsGLdX2S5ZC7Px8sYGstdjtdui6DpvNBmsSEdzvd4zjiBgjVLXkmJnRti3qulYiWg1jzPlwOGC/36OqKhDRrwERgZlxOp2gqqvRdd07EZ3btn0yqTLiOI4IIdD1ekUIAaoKIsLxeDw65z5/TKCq55QShmFASgmcUaZpgoggpQQRgYggxojL5WIBvN1ut7FpmnciOjdNA2PM9xXmBkRU0ObrbDIMwwjgwxhT8pyLU0qLw48m1loL4K3ve6SUShOrvJhvzlXexAzvvQ0hQETKKAuBiCzG8yhmBjM/1XF+mKZpgb9GQUSIMS7qVnvwSmt1ix7ME69IHntV5YSqwhiD7XYLZn46XNc1jDHlA3siyJt93/95jQWBiMB7n50V/5D3voySY4xwzr38kdbCOVem8QVc3u0094BtXgAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxMy0wNy0wNFQxNzowMzowMyswMjowME2ku3gAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTMtMDctMDRUMTc6MDM6MDMrMDI6MDA8+QPEAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAABJRU5ErkJggg=="
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/textarea.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/textarea.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAABvklEQVQ4y6WSvWobQRSFv5md1UiyvBbbuFQh1Lk0SAEbXMaV38HvoCrPYNzrBVy7VKPYgdiok7EhAYMbgRoFNUJri/05aSInISKJ8MBhBu585965d8xkMuEty0h6kwHAATAEtKGGwIF1zp09PT3lkpabaDQa5dbaMzqdjiSdAKMfzp8klf9DJ/v7+3Lee4BLSR9arRaPj4/L8Xj8slgsKIriz6YZg/eeRqNxWalUcEmSrGLvptNpBhwXRYFzbm3DrLWUy2WCICBNU1ye5wAURZFnWcbz83NmjMFauzZ7GIZEUQRAGIbYVZnWWpxzeO9xzmGMWQvv7OxQq9UwxpxGUfTTAMB7j7X2dV8Hb29vY4w53d3d7QZBgM2ybHXpaj6fY4y5CoLgr3Acx93r6+vZcrnEpmkKgKQ0SZKlpHSxWCDpFa7X67/Bg8Fg1m63m1mWYX8p9Rior6ZQKpWoVqvEcfz65jiOu/1+f3Z4eNg6Pz//mqYpNJvNB+C9JCSR5zmr80rAaRRFX4bD4Wfv/bder/dxa2sr2dvbe+Dm5uYCuP/X3y+VSgJUrVYFKAzD+9vb2wskHUm6k/Syoe4kHX0H84hXI1gk/8oAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTMtMDctMDRUMTc6MDM6MDMrMDI6MDBNpLt4AAAAJXRFWHRkYXRlOm1vZGlmeQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwPPkDxAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAAASUVORK5CYII="
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/paste.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/paste.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAB7UlEQVQ4y32SwUocQRCGv+quWQZmddab4GERFFwSz0FMzvHsKwTyAnmOvM96jr6AJFnDrigygoiwATP2su1M5bCOibrrD3X6q7u/+qvl/PycLMtYWVnBe08jERlmWbYBUJblyMw2G6+qKsbjMWVZot578jxHVd8DX4EPwI/9/f2N1dVVAK6urjZEZAi8Ab4BX6bT6eFkMkGKomBtbQ0RGQwGA7+1tfV2d3f3D5A45wCo6xogHh0dtU9OTr73er3KzHqXl5dQFAUxRrIsMzPbu7m5wcyG9lLDB28vTVObTqcURYGaGXVds7S0xGQy6d/d3XF7e7upqjQEjbz3hBD6aZoSYwRA/w9GRPDek6YpnU6HJEmYp/F4DEAIgccnYow451BVOp0OrVarLyK2oBCR/vLy8oxARKiqqlkfSZKgqh9jjMICJUliqvpyhCb1PM+bC+35YTOTPM+p6xp9wHkM5aGBEMJj8zyCEAJm9o/AzFBVvPfPR5pL0Phq9tRvt9s457i/v3+VIMaIiODMjBgjOzs7iMheq9V60jhvCw0xAGdnZ1xfX3N8fPwT+DXzDO+9mRmLCrAYI66ua8qyZHt7+7OZ/W6Iut1u8co/sPX19SKEMAuxqipGo9Ghc+6diKCqnJ6eHgCfWKyDi4sL/gIXpTjZ8JWxsAAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxMy0wNy0wNFQxNzowMzowMyswMjowME2ku3gAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTMtMDctMDRUMTc6MDM6MDMrMDI6MDA8+QPEAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAABJRU5ErkJggg=="
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/maximize.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/maximize.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAACsklEQVQ4y1WTMU8baRCGn293bXkXWIQMlZsUlhWsWILecoElF6GNRJEy3f2Au0jUVxxlilRprktBm1QRvwEJDBIRAi2St8DG2OBdvN7d9wrb0WW6kR7NSO88Y8IwxPd9XNfFGAPAy8sLo9GIOI4BcF2X9fV1SqUSAJKI45jxeIzj+z7b29va3NzEtm1OT0+ZzWZHj4+Pf02nUwBKpRKu6/5TKBT+3NnZIcsy+v0+l5eXxnFdl62tLSqVCsYYVldXv52cnGT39/fkeQ5AkiRIyvb29r75vr8vCWMMrutiGWMoFovc3t5SLBZJ03QfOLRtG8uysCwL27YBDtM03f8/a4yBPM8xxgj4CqjdbqvRaEgSg8GAwWCAJBqNhtrttgABX40xyvMcRqMR5XL5h6Sfkt4DajabqtVqStOUNE2p1WpqNpua56f3kn6Wy+Ufo9EIgiBA0idJjqR/JX1cbPk1YNlL+rhgHEmfgiDAXF9fk2UZs9mMer1uA38Dr4DjwWBwDFAul98B74Bb4PDi4iIrFArYto25ubnBGEOWZQCsra2xsbGBMYbxeAyA7/tIYjgc8vT0BIBt20jC8TwPz/PI8xzHcfA8bxkqWZaZBayFQGZlZYU0TbEsiyiKYCHLkSSkOddqtVStVpUkCUmSUK1W1Wq1ljksuaPpdDrX0vM8AV8AdTod1et1SXoThiFhGCLpTb1eV6fTWZ7xi+d5koQDsLu7SxRFH2q1Gr1ej263+xl4/fz8fM68Xne73c+tVuuPg4MDrq6uPnieB4C1fIxKpUIURTiO8x04D8PweGliGIbHwLnjON+jKKJSqRDH8TzEyWRCr9cjjmMcx+Hs7OytMea83++TJAnAUttXwNtGo0GapgyHQyaTCc7DwwNhGE75veK7u7tfzxRFEZJi4DcuCAL+A+oEmlYTLOV8AAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwTaS7eAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMy0wNy0wNFQxNzowMzowMyswMjowMDz5A8QAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC"
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/anchor-rtl.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/anchor-rtl.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAACFUlEQVQ4y42Tz0obQRzHPzNJSIJSKtGD0YPYiohegr1Y6Jv0DXrrG/gsvaQPUUqlh16K1yCJrGgLUgNmcZ3uzux8e6i7aptCvzAMzHznw+/fmCRJWFhYYGlpiUajQYwRay2VjDHd5eXlF41Go395eflF0lmMkSzLuL29hfPzc7z3AJ+BV5IAOsBL4F2n0/m5s7Oj/f19LS4u5sCbO4+yLMNcXFywtrbGYDDQ6ekpaZpOjTG9fr/P3t4eW1tbWGuRRFEUDIdDrq+vze7uro6Pj02zCrXX6zEYDAB63W4XSZRliXOOGCMA3nsODg4AKIoCgBqQ5znOOdrtNlmWASCJu3CRhPe+fhhCeAyoLo0xzJMkQghVveq9BpRlSYyxDnceoCxLyrKs/caYe0BRFHjvsdZijEESMUbKsqxTCSH8nUKMEe89aZpyc3NTk733OOfIsowsy5J2u33lvX8eQnhaAYwxkCQJ0+mU4XD4dWVl5Wpzc1MbGxuu3+8fHR4efpR0JelM0pGkb+vr658k0e125b2HyWRCkiRIei3pR57niaRU0gdJbyXtjMdjxuMxkp5Iei+JZrMp7z1mMpnUuW5vb7eAZ8D3k5OTtKrFw850Oh1WV1dptVoKIfweJGMM1lpGo5GXNLLW1sX841/Uq9IjwENzdT5PVatjjPdt/Jd53jw45wBwzmH/69UDhRCYzWZIymezGb8APgRwGilQtRMAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTMtMDctMDRUMTc6MDM6MDMrMDI6MDBNpLt4AAAAJXRFWHRkYXRlOm1vZGlmeQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwPPkDxAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAAASUVORK5CYII="
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/textcolor.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/textcolor.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAACRklEQVQ4y41Tz0sbQRT+3ptJxk2czSq5SSgYb0arhzYkRUp786oHS7H0VvHoqf9CwZOUHnvvQfBvEIpQSsmxEapQ68mSKIRdd7OzOz3ULNlgoe82M+99P957Q2dnZ5gMIgIzQ0oJIoK1FsYYpGkKa20uV95XLKWE1hqe52X3Nzc3GAwGMMbkQHgSgJmzYiL6TESWiN57ngetNZj53wqICMVicVTcWF9ff1Kv13FycvKKiN5aawPf93NWeJK9XC6Pjru1Wg1RFGFpaakCYAsApMy75nF2KSVc1wURlZeXl7eDIEClUvlqjIFSagcAHMfJ2cgpGEN/2Wg0XGPMr/39/U9RFCXtdrtJRA9d10WxWAQR5QGYGY7j4I5ll5lxfX39o9VqhcPh8HJubg4A3gDA9PR0poLHm3cn/3Gz2VwNwxD9fv9Zt9v9EATBgziOsbi4uE1EZa11tiN8X/Nc10Wv1/tdq9VO19bWTmdnZ7/3+/1hvV53AbwYtysBQAgBrTWIaGZ+fn6r1+thc3Pz297e3pc7ULGysvK8Wq22AewA+KiUQhiGkKNmpGkKAK+Z2Tk/P482NjbeXV1dHUdRBM/zsLCwMNPpdNrVavUREa36vt9h5r8KrLUYDAa4vb19KqWEMeYyDMNj3/dhrYXv+zg8PPwZhiGUUvbo6KgQxzGYGXRxcYGpqSkopSClBDMjTVMkSYIkSbIRCyEghMi8x3EMYwykUgoHBwe2VCpBCJHbssmfR0TZ/EdvslAooFQqQWsNIUSW8L/xB4KN1kEFPV2tAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwTaS7eAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMy0wNy0wNFQxNzowMzowMyswMjowMDz5A8QAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC"
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/preview.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/preview.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAACcElEQVQ4y32TsU4bQRRFz9uxjWyMdy1RxBHCbkCIhsJl+ABEnwKaNFRQJJ9AQpsPSBdFiiJR+g8oUkBPAU4wlm2EiUBrm5Vlr3fnpQDbCqA86WpGGs3Rve/NSL1eJ5PJ4HkeyWSSl8paS7fbJQgCoihCVSdnjuM45HI5UqmUisiLMsbs5/N5XNclkUggIlOAiOA4Dqurq6jqi/I874OI7OdyuWeQxNhiEASEYSi3t7eEYQiAiFAsFku+7/98hKCq+3Ec0+v1iOMYZ2xlNBqhqlhrERGMMRhjuLq6qgPrnU4nGDuZm5vDGPNwsdlsMhgMmJ+f1+FwSLvdxvd9rLVPo5RUtQWotZZWq0WtVntwICJYazHGkM1m8TwPx3E2RORYRHqP6wqwXiqVJm5VdRohjmOMMczOziIiG8C3SqVSUFVzeHj4GvghIit7e3t2NBphrZ1GCMOQbDarYypwfnR0dKuqO6paUNXdSqXSTSQS59Vq9bvv+9TrdS4uLqDVahGGITMzMxOA67qRqu72+31ubm4YDAbc399/WlxcjLrd7ptOpzMBJMY9iON48urK5TKPIyOdTgNQLBbZ2tpS13Wzw+GQIAiw1v7bA1Wl3+9zcHDwG/goIjsiUhCR3XQ6/f709DS8u7tLp1IpMpkMjuM8RIiiCEBVFd/3UdWNs7OzP/l8vgbcLy0t1cvlsq6trSnwC3gVRRHNZnMKEBF9MvcNVT1W1Z6qHl9fX0fLy8taKBQU+BqGIY1GAxqNBkEQAOh/NNre3v58cnISbW5uqqp+abfbXF5eIrVajWQyycLCwvSPPq8I2HrcvwPeVqvVgTGGv5VznLZsZ+w7AAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwTaS7eAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMy0wNy0wNFQxNzowMzowMyswMjowMDz5A8QAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC"
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/pagebreak-rtl.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/pagebreak-rtl.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAABjklEQVQ4y42SPW4iQRCFX8GAmmQWIQICtGRcgQjkqxDtAfYam/oMduhkw013b8BmIA2IX8EIaXrc00z3cwCDkIztKamkqlL119WvS6bTKcoYybv1QCn15WHnHJxz8N6/A8lH5Fvz3uNwOEBrDeccROQ6VSAiXxMAWGvFGAMRQbVaBUk45xCMx+NP322txWq1QhAEqNfrUEohDEOQxH6/RzCZTK7NxWi3ojnnEMcxsixDGIZQSkHOjb+ccz9B0pTxNE0LaB3Ac6fTIUkEAJplNGg0GhCRbwBeRqPRQ1GviMiriLwaY0wR38sv/U+DweCh1WpBa30GkMxIZtZaFPG9XGsNkrvtdvt/vV4jSZKrWOrit/G7fLPZgOR3kn+73e6/ZrPJPM/PjDJujMFsNgPJkOTvXq/3J45jyHA4/HSRsizDfD7HcrmUKIpgjEG/3w8APEZR9EPa7faHAJLI8xzH4xFpmsput4O1Ft57VCoViAiEpCnzjYvFQp1OJ1y0AQCISPk9SJIEtVrtfOvNxr4BOWtWZLdFq4kAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTMtMDctMDRUMTc6MDM6MDMrMDI6MDBNpLt4AAAAJXRFWHRkYXRlOm1vZGlmeQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwPPkDxAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAAASUVORK5CYII="
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/showblocks.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/showblocks.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAB1klEQVQ4y4WTsU7jQBRFz4zHEiHBTpGfyA9sRUFJuZ+UfEA+AD4A2t0iUiQkesoIkVRJSWeQQAox9vPdIraTsKz2SVfXHs977747Y/f8/MzJyQnOOZxzSDpiAOccURRxenrarpkZr6+vkGUZwKgoCoBRnudHXJYlwEgSwDnwUOO8KAo8gCTleY4kvb29HfF2u0V1NjBZLBa2WCwMmIQQCLVE9/LyQpZlYzPj/f19DLDZbMZnZ2f0ej0nicFg8GM4HP4E6Pf7v8xsV0CSsixDEvtmtO+Ngm63S1VVvyXR6/Uws90IbhetQU00a67+UBQFzjm893x+fiJp78Fh0iEfKjCztmhVVbtijQLvPSGEvxBFUaugPhEaNcDeg4+PD6IoaitLwntPHMdHCppo1Phmxk6nQ5IkozRNSdN0lKYpSZKM6kvmDrsePvsQQtvhf1xVVVugUdrM1dwwfYMH4FwSnU5HzdF671WWJT6KIoDJcrk0SflXLJdLAyYAcRy3CkIIOw9qY+Krq6sp0P+K6+vrKRDXSU/OuUvn3GUcx09mtvuZptPpDTD/xwjz2Wx2Y2bc39/fAo/A493d3W2WZbBarZB0IWkuafsN5pIu1uv14b65pIvVasUfURB3OBrkZaIAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTMtMDctMDRUMTc6MDM6MDMrMDI6MDBNpLt4AAAAJXRFWHRkYXRlOm1vZGlmeQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwPPkDxAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAAASUVORK5CYII="
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/cut.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/cut.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAADIElEQVQ4y0WSTUxjdRTFz+3/9eXRR/v652PMIwgbo13wlRA6Jd00mT2QEIlbXbkz7FyYSYw7ccMsjBIXunAxm1FiYpxIJA5EFGMktiLWebFgAoYUaukHvNL+jwumw0nu8t6c87tHgiAAACil4LoutNaIRCKoVquo1Wpot9sAAMuyEI/H4XkejDGoVCpoNBqI4JmUUtBaw7KsDyKRyL1kMgmtNWzbhm3b0FojmUwiEolkLcv6SGsNpRQsABARiAiUUvA8b94Y84aI3CX5l23bEBFEo1GIyEgsFnuktTZKqTdF5MYBSZBEp9PBxMTEL/Pz89pxnK9ExLNtu7vsKqXWFxcX7/i+v2uMAcnbCJ1OB/V6HUtLS39Wq1XMzc294jjOQxFRIiKO43y2sLAwVavVkMvl/mg0GjDGQLoQuzaHh4fnU6nU++Pj4y+3Wi1sbW2tGmOq2Wz2fm9vL/L5/D/7+/v3j4+PPw3D8IYBABhjEIYhAHxTKBRen56e1qlUanBsbOyt6+trJBIJBEFQ39jYyAN4dHV1BQC3EUQEAFAqlULLspbX19cL5XK55fs+RkdHUS6XzcrKyu7Q0NA7R0dHFyRvD3Q/EIvF0NfXBwB/DwwMfBKGYbXZbKLZbKLVal0ODg5+AeBXrTV6enqglLphoJRCIpGA1rrrxgHwJJ1Oz4RheNJut9uJROLFnZ2dpwDukjwHgLOzM0RE5HlR5Eb3AHyZTqdnYrHY9t7eXrVQKFzE4/HvM5nMSwAei8irImL39/cDpVIJlUoFzzI9cF33JJfL/TA1NdXc3NxcJXmHpCa5Ojk5eTU7O/uT53lPATwhCRweHqJWqwFAj+u6dZK7JHeXl5e/A7DeLRiA92ZmZn4mWSAZ+L7fATBuGWNweXkJklHP84JoNPpbu93+0Lbtj33fD4wx6HQ6yGQylXw+PywiS47jZF3XfTsMQyAIApRKJZyfn2N7e/shgB8BXIyMjHxL8t3T01OcnJyA5FI2m30M4BRAfm1t7WuScQRB8HxIZklukfyP5OckXygWizg4OABJRfIByX9J/k7ytWKxiP8BDeCLDPFqgVEAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTMtMDctMDRUMTc6MDM6MDMrMDI6MDBNpLt4AAAAJXRFWHRkYXRlOm1vZGlmeQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwPPkDxAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAAASUVORK5CYII="
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/block_blockquote.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/block_blockquote.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAADoAAAAPCAMAAACC0iwEAAAABlBMVEWAgID////n1o2sAAAAAnRSTlP/AOW3MEoAAABcSURBVCjPzZJLDgAhCENf73/pWfBRx8QhbBwWhkZLC4LawT0qMGdyyLjJFIQ9UhwIRwTkhbPGorpRTblCJRUqVPN7UO0arvfKPMFtwm4+Wlgm3Pv3z5WAHy5iLx7UTQLbC2mHNQAAAABJRU5ErkJggg=="
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/bold.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/bold.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAACRklEQVQ4y3WTsUscURDGf/N21wiL53lRsFIMKWIIB0lQjkCQgIhNQAi2lv45AZsUpguksAiksItFCsOBIBaxMIVBhIugB7q3u6e79/ZNmtxpPB2Yama++eabGTk8PARARDDG4HkenudxlznnsNbinENVAfC7QWMMYRhSqVQwxnCfXVxcEMcx1lpUlV6m53mMjIzged5XEdEbfiYiuyLyQUQelctlhoaGek382/THxsZYXl4mz3NarRZpmo4650aTJHlRr9dXROSlqv5K0xTnHH1cO50OaZrSaDSyjY2NdHNzs7W6uro9MTHByspKCKx2mwL9ANbanlDAODCxtLT0OY7jIkkSAFXVbpx71SqVSiIiz0RkUUTeGmO809PTdGtr60+SJL1N+LcLu6vyfX+gXC7XwzBkamoKVWVtba1erVa/JUmCMQYR6QdQVfI85+rqys3Ozu5FUeTnef748vIynJmZeZXn+Zyq/rTWEkXR3QBZltFsNjs7OztNIAQ6tVptb35+/vnu7u57EfnknGslSdKvwc1rAxaB18B4rVbbttYyPT0dAE+6+XcyUFVKpRIi8hDIgafDw8NvqtUqJycnuaqm5+fnFEXRD9DpdGi32wRB8CAIgqYxhsHBQSYnJ2k0GszNzX0HfsdxfA2gqhRFQZZlAOzv7xMEAZVKBedc2zl3FkXR8fr6ullYWPhxfHx8aa39fwRrLc1mE1U1QHaD1MA/IdvAx6Ojoy9FUfQusQfgnCOOY4B3wM1/zg4ODtT3r6ftFgP8BQ+nPEJSi6tdAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwTaS7eAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMy0wNy0wNFQxNzowMzowMyswMjowMDz5A8QAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC"
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/pastetext-rtl.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/pastetext-rtl.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAACCUlEQVQ4y3WS3UocQRCFv5ruGUZnHfVuQRARA26SFxCT63jtK+QRfI68z3qd+AKSsJINuOAoIsK4kNldtqe7chF7gj850FDdVX26Tp2WyWRCURRsbm5ijCFCRMZFUewBNE3zS1XfxJz3nrquaZoGa4xhfX0da+0H4AvwEfhxfHy81+/3Abi9vd0TkTHwDvgKnCyXy2+LxQKpqoqtrS1EZDQajcz+/v77w8PD30CaJAkAIQQAd3Z21ru4uPg+GAy8qg6ur6+hqiqWyyV5nquqHt3f36OqY32J8WPuqCgKdc5RVRUWwDlHnufM5/Nh27bc3Nx0emMHbdtijKEoiuHa2hohBFQVm+c5q6ur1HUNwMrKCs/hnOPh4QHnHCKC977LJWVZIiJDEUFE9LWVZdlwY2MDay1JkuCc6wistRZr7SfnnPAfpGmqaZoiIp2NMbYhBMqyjN7r88uqKmVZRideSlBVZrNZV6yqsr293cUAs9kM1X/ccRYiQhIPVJXpdArA3d0dANPpFFXtNBtjsNY+IUtiS7HQe89iscB73xF77zHG0Ov1nsv72wFAkiRkWfakIMsy4m+MexE5Ojg46MjFOUeaphr1vgYRUVWVxyH/PD8/9/1+/23TNNj5fM7Ozk71mgMRu7u7VXwReABOJpMJIQRsXddcXl6eAp/5P06vrq5o21ZUlRBC58If6nlGw0mZvukAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTMtMDctMDRUMTc6MDM6MDMrMDI6MDBNpLt4AAAAJXRFWHRkYXRlOm1vZGlmeQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwPPkDxAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAAASUVORK5CYII="
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/bidiltr.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/bidiltr.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAACGklEQVQ4y4WTv04bQRCHv929EJ0Q5mQKKOISGgrCC1DQU9OkSZs3gAYegQeIUqRwQ14gBVIKOloqwEhGxrIUgXw66/b+7U4KshdInGSkbXY1v/nNN7NqMBjwr1BKzb0XEQCivyVprTHGYIz54905h3MO7/18Aa01i4uLdLtdtNZzBR4fH8nzHD2vujGGbreLMeaVUuq9UupCKSXhRFEknU4HrTWRUqq1LCJ479Fah8rvNjY2Pm1ubmKM4fT0tNzd3X09nU5xziEiRFpr4jgmjmOqqsJa+xzch52dHaqqYjweAySj0cheXV2Vk8kE5xzaGEOSJHQ6neOVlRWWl5dbcGtra9F0OiXPc6qqAihmsxlAUpYlIoJWSrGwsIAx5kgpdby0tEQcx+R5zv7+/uVoNCJNU8qybAFaa4vgsoW4vb3N6urqkVLqOI5jsizj5OTk297e3tebm5vLNE1bAWNMO51WIMsyer0evV7vTV3XFEUB8Pnw8PDL7e2te3h4AKBpGrTWtPBFhLquub+/Z319/ezu7u57mqY457i+vq6Hw+HHuq7fZlkGEFi0EXnvmc1mbG1tnfX7/YvxeHwQ+g3jFJHgCGstIvJrlZ1zZFnG+fn5xXA4PHDOvViq58khrLV475+mICI0TcNgMDhommbu2qZpioiUk8kEESlDiy8gBii/h/c+OEh+TiIpigLv/VPe/75zEAkJz9kA/ABubzXiCrz5ewAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxMy0wNy0wNFQxNzowMzowMyswMjowME2ku3gAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTMtMDctMDRUMTc6MDM6MDMrMDI6MDA8+QPEAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAABJRU5ErkJggg=="
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/subscript.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/subscript.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAACP0lEQVQ4y6WTv29SURTHP+cC773yK4ShyaMuJpgYhdFgTdOkHflTOpl07D9h4ubs5uBgTKMOdZK6dOlkpKRAKQOWtkCBR3nvOPRBaKiTN/ku595zzv1+v+fIyckJ/3OiACKCMQZjDEEQEAQBwFJMVZcLiAjRaJRUKsXKygqj0YibmxsAEonEPNbv95lOp0tFosYYUqkUmUwGETGqGsTjcQAsy5rHAK6vr/F9/14BE4lESKfTiMgnoC4iLy3LmiVvAE0R+ZBOp4lEIksUDICqkkwmn5XL5UeZTOariLwSkY1sNrtfLpdzjuM8f4g/gPF9n16vR6VS+dFut6+2trZSrut+cV13f3NzM3l+fv7n+Pj48KHvA0itVsO2bXK5XElV32xvbz/NZrMZgG63e3FwcFAFdlqt1tFkMrmXrKoYYwyO4wD83N3dfTcej2PD4ZAQsb29vbfAUSKRwHEcbNvGtm1isdidJs1mc+b7BtBfX1/XYrHYLRQKl6VSSYEroKSq81lQVW5vb+l0OtBqtWbenhaLRXVd98LzvMPBYFBZXV29LBQKCvwK33wHNMTpZDKBRqPBaDTCsqzPxpjfnU7nUFVfqGqpXq9XgFo8Hv8Ydv6mqmNVHd9JoER936fb7eJ5XgvIAzvVavUIIJ/Pv1bV90AzHPkngB1qeOZ5HrK4TDOec4vCHbFtm7W1NUREVdULr9u9Xu+xWUxeXCBjDCKCquL7PsPhEOBMROwQDd/3MYvd/oUZTVWdqqoXYjIYDPgL/8ZAl+EzJXAAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTMtMDctMDRUMTc6MDM6MDMrMDI6MDBNpLt4AAAAJXRFWHRkYXRlOm1vZGlmeQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwPPkDxAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAAASUVORK5CYII="
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/numberedlist.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/numberedlist.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAABnklEQVQ4y5WSy47iMBBFbzkhKfPMByD1qj+iP2H+mu2sZs0CMRIjdmF4BByTsmsWYLp7iOZRUklWybq+dY9ptVrhT0VETzNVfZzzdMkYgyzLAAAhBABAlmUwxnwSUVXEGBFCQIzxXYCZMZvNQERomgaqislkgrIsnxx477Hf7+Gcg/koYK1dMPP3qqowGo3AzAsi0t+bmRfWWhhjbg5UFW3bQlW7+Xz+kmyragfA90TTHQ4HALg5iDHCew8AX1IGIQQQUUFEZU8XMUao6k0gVdM00rYtRCTlcFVV39PX8/n8HmIqEUFd19+cc7hcLslR3rOCOOduGXxE2HUdVNVvt1sQEdbrtQCQvn+QkOeJQFVVKMsSIvLGzCiKAuPxGMz89LxzDsfjEXcXBtbaB7LBYPAzYbTW9mIcDoefMRpjHsim02n1PxhzYwyYGUT0CqAkooOIQERARAWAskeg2O12N4xElAJ5UVUfY4zOOZxOp3/DGGOEcw4AfhDRHMDXuq7T7O8YRQR3O3Lf97rZbKCqWC6XEkJ4wmiMQZ7nICL8AjrbLe/uCZarAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwTaS7eAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMy0wNy0wNFQxNzowMzowMyswMjowMDz5A8QAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC"
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/unlink.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/unlink.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAACRUlEQVQ4y6WTQUsbURSFz52XTB6IlQQhKSEOWrBgWgRLcegvCFn5B4RaXLTdd9GVbbNw031b90JFf0JbSy1UidDEUjdhLI6KpDCRVqITnZnThSaEQKHSCx88Lu+dc+/jXnEcB/8TsfZBRK70kOSFgFIKSikYhvHPIiQRRRHCMESsr68PyWQSSqkrVRCGIY6OjoAgCAAgDmAGQBkAu3gGYK4nV768Gw+CoNPLjGVZVZI7JP02lmUxl8uxO0fyh2VZVQAzJDsC5ZOTk2Wt9Xq3m23btG27252JRGK92WwuAyh3BFKpFEnaQ0ND9H1/s8exg+/7m9lsliRtpZTTarVgRFEErfV3EYmy2eym1vqOiCQuiYnIbD6fvyUiRa31zUKh8EFE3CAI6kEQAMfHx5ienn4NYI3kxqXbKcnT+fn5d6urq08BnE5NTb0k6ZFcBLAH4E2z2QT29/dB8kGpVPoIoNLz409I3p2cnPw8MDAQASgB2MvlcvVKpfLc8zygVquBZJzkLMmvPX0/ImmSXCkUChsjIyOcmJj4RfILydsHBweQWq2GKIogIiCJ0dFR3R6Wer3up9NpmKaZz2Qy7zOZzOD5+blyXXfO87wXjUYD4jgOSHYIwxAkYZom0uk0+vv7bwD4lEwmY41G4+f4+Pjvra2tewAe+77/ymgvkmEYMAwD8XgcpmlCKYWzszMsLCxcA3Douu4OgPvVavUwlUqtFYvFwVardVHB30JEMDw8fB3ACoCH29vb38bGxkwAbwEs7e7uLv0BACJ210JBXI8AAAAldEVYdGRhdGU6Y3JlYXRlADIwMTMtMDctMDRUMTc6MDM6MDMrMDI6MDBNpLt4AAAAJXRFWHRkYXRlOm1vZGlmeQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwPPkDxAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAAASUVORK5CYII="
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/textfield-rtl.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/textfield-rtl.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAABZUlEQVQ4y6WTMWsiURSFv3t9ZmYEK8HWSvAHTJkFy2yVX5bfkTrdlmEbDWxhDAFFsLEUS/FpZt7ZZjW7JMvieuE078LHuYfzbLlccsmEPM8vApikiwAA18AToDP1BFy7u99Np9Na0v4cTSaT2t3vKMtSkm4l5cCPX/TvkvJ/6LYsS4WiKJD0sNlskBT7/T6LxWK/Wq3idrslpfRnaGZkWUav13soioIQY8TMqKoK4Mt6vU7A15QSIYSPqZvRbDZpNBrEGAl1XZ8WMUZVVcVut6vMDHf/NPXje13X+NFiCIGrqytCCGRZRggBM/vUwXFSSu+AVquFu5NlGe5Onue4O2b2QY1G4wQ4HVkUBWb22Ol0MLPHGOOwqiqOJ/5uv91uv1f5cDi8mtmNpG+S3oA98AbQ7Xb/XmGzm8Fg8Mp4PL4HXv6jiS+j0egeSUNJz5LimXqWNLT5fE5KicFgcNa3nM1m0d35CaoyLxlNiQxFAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwTaS7eAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMy0wNy0wNFQxNzowMzowMyswMjowMDz5A8QAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC"
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/iframe.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/iframe.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAC9klEQVQ4y32TPUzrdRSGn9+/LTH0gw4QTG5SEhNiaSQ0TR24zU2hKUzEoQ6UDhiDTC5ODMTEwcHNmJi73MF0ug4KC3cTvBWJiIpiSAmRfkCBCulCKWApbV+HW4iTZ3+ec86bc0w+n8cYg8PhwO1209PTw/9VtVrl8vKSZrOJJOz3sNfrxeVyYYxxAh8Cj4G3O9yvwE/AU0nXNpuNi4sL7u7usOx2+3/hJ8BONBodq9VqHkmvSbKWl5e9Q0ND7wJ/GmOeuFwuvF4vdrsdy+PxPMButzszMzNzEwgEeoLBYJcx5kUoFHr/+Pj4xd7e3l46nS4Bq/cSj8cDkgCcxpiD1dXVtWg0+nckElE8HlcymXwOlNxu9zuSHJLe29zcXAf2AaekB8FCMpnMSPogEomUpqenlUgk5HK5btbW1n6UFDs6OuLk5ARJ8XA4/BuwIAmrE9LjiYmJ9YGBge1arfaoUqlQKpXY2traicVinwOZRqNBs9mk0Wis+ny+3zshv5rAsqzTs7OzKUlvzc7OfrewsPDy7OzsZ0njrVaLSqXC4eEhpVKJer3OyspK0uFwnD6s0NfXV06lUm9KQtKniUTis3K5HO/t7fUBvZKo1Wqcn5/TbrdJpVJv9Pf3lx8EPp/ve2CqIzCSppeWll4HasAeMCKJ29vb+8ziPp9vTRLU63VGRkaeAs8kcXV1xfX1NaFQ6FE4HP5nfHxcXV1dAp53GgB8FQgEvqzX61jVapWdnZ0DYMIYM+Z0Ounu7mZjY+NmcHAw02w2GR0dZXJysg1gjBkFxrLZ7EG1WoVCoYAkdyaT+QYoAWOdTnZJnwwPD7eDwWBB0sfAGFDJZDLfSnIXCgXI5XIUi0UkxXZ3d7eAAvAMmEqn00G/33+wuLi4DnwN/JXNZn+RFCsWi+RyuVeCXC53P0lc0vb8/Pw68BI4BcqWZf0wNze3LmlbUrxQKDxwJp/PI4l2u02r1cLv93uAjzqHEgIE/NH5xi/29/cvbTYblmVhjOFfc0+yCXFgRkkAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTMtMDctMDRUMTc6MDM6MDMrMDI6MDBNpLt4AAAAJXRFWHRkYXRlOm1vZGlmeQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwPPkDxAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAAASUVORK5CYII="
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/undo.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/undo.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAACa0lEQVQ4y6WTPWgbaRCGn/n2s4XEnlaWVdgxhhjkP4JSRU26FDYEkyppTK47DlK6DSSBq650cRCOqy9tfkgXFykCRgnuXHntNSg2xoVhhdbCtna/nSuOFcGX44obGGaY33dgXomiiP8j9npARDDG4HkeAM458jxHVf97gIgwNjaG7/sEQUCe58RxzGAwwDn33QGmaLTWUi6Xqdfr1Go1jDFVa+2fExMTWGsREUTknwiKrdVqlWq1WiC5C7xaWFi46Xnej+VyGc/zcM6NtDjJWmup1Wr4vo+IeMCzRqPxfGVlxbu6ugKgXq+PNvb7ffr9PmmaoqpY3/eL5psi8qrdbt9ttVqjAhF5CUTALrClqmqModfrkaYpMhwOGR8ffwy8XFtbqzYaDdI0Jc9zjDEcHh5yeXlJkiREUbQLvFDVt+fn58RxjB0Oh6yurt46OTmRLMvo9XoYYxARVJWpqSmMMVhrWVxcbO3s7LwRkYeq+jrLMuT4+JiZmZmfgI3Z2dl8enr6dhAEWGu5uLggy7LO6enpD8CNycnJiSAI6HQ6SZIkd1Q1JIoioihCVedVdXt9ff1Ds9nM2u22Li0tqapuqequqp5tb293lpeXP7daLQV+UVU4ODggDEP29vZQ1TFV/XV/f/9LpVL5WqlU1DlHt9tFVcdV9YGqbm1ubn4E3jnn/v4DYwx5nhOGYep53tNms3lvMBj8ViqVPiVJgnOOMAyHIvK+VCq939jY+Pns7Ox+HMdIQabiMfI8B2B+fr4O/HF0dPQoy7JRHMAYw9zc3JNut/u7XGejqo60QHc9X1gR+T4bv7X/li/8vwCxOTo7geJStQAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxMy0wNy0wNFQxNzowMzowMyswMjowME2ku3gAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTMtMDctMDRUMTc6MDM6MDMrMDI6MDA8+QPEAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAABJRU5ErkJggg=="
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/radio.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/radio.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAACg0lEQVQ4y32TQYtaZxiFn/deb2IRL8ilWUREyiwGAoJgKeiPkFn0Dww4MEQCQRCEWQ9Bmn/QroIr6WJI9pPgIot0ppR0NhNHO4vrBSEgKOjC+J1uvE0XpS+c1cd5eL9zeG0ymQBgZvi+j+/7eJ7Hf41zjt1ux263QxIAmdQcBAFhGBKGIf83y+WS5XLJdrtFEpnUXCgUyOVymJkBLaAJ1Pa+a+A18Isk+b7PYrFgu93i+b5PGIap+TFwWSqVno9Go0eScpJyo9HoUalUeg5cmtnjXC5HGIb4vg9xHKf/MeBtp9O5lPRe0pGk8l5Hkt53Op1L4C1gkojjGJIkSQEn1Wr1o6SXlUrlAXAM/LbXcaVSeSDpZbVa/QicSCJJEpjNZingzWAweCXJA47L5bKazaaazabK5bKAY0neYDB4BbyRxGw245++giCoNRqNC8ABT+v1Ovl8nnw+T71eB3gKuEajcREEQRouXtpnFEX0er0bgGKxmFmtVmw2GzabDavVimKxmAHo9Xo3URQBIOkrIJvNfhoOh08A2u32zXw+Z7FYsFgsmM/ntNvtG4DhcPgkm81+SgEZ5xzr9Zparfbn/f1918xeS3pXKBS+PT8/LwKcnZ3NTk9P35mZB3Rrtdrv6/Ua5xxMp9O0iVYURdfAiziOH0pqSfpjr1Ycxw+BF1EUXUtqJUnCdDrF7u7uADg4ODDgVzP7DtgAPwEf9ln9AHSBbyT9Bfw4mUwE4JkZkhiPxwKeSfrc7/e/mFkXuAKuzKzb7/e/SPoMPBuPx5KEmWGTyQRJOOdwznF4eGjACXAEfL/f4Aq4AH6+vb2V53l4nvcVkCbqnCMl//us0zNO31IzwN/2SWb00VF1LAAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxMy0wNy0wNFQxNzowMzowMyswMjowME2ku3gAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTMtMDctMDRUMTc6MDM6MDMrMDI6MDA8+QPEAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAABJRU5ErkJggg=="
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/spellchecker.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/spellchecker.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAABJQTFRFAAAAFD09FDxAI0RJJEVFFDw/eP53awAAAAF0Uk5TAEDm2GYAAAAJb0ZGcwAAAAAAAADAABHQYYAAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAJdnBBZwAAABAAAAUPAJdXYbYAAABVSURBVAjXZY3BDYAwDAOdAP80YoDULIA6QUHsPxMVpQ+EH9bJlmzgLwcd2TBxp2gNKIOytEY06KVBSRvVGxCkntGByNEnjndqtsevEaywDpLGm32+b8yhBZrqhTqWAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDEyLTAzLTI2VDE1OjIyOjIyKzAyOjAw09gMgwAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMi0wMy0yNlQxNToyMjoyMiswMjowMKKFtD8AAAAASUVORK5CYII="
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/preview-rtl.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/preview-rtl.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAACa0lEQVQ4y3WTvU4bURCFv7nXWmdh8doSQnGQEAVYEQ2RXIYHQJSU1FRQJG+QH9o8QLoIKUqEUvkNKKGnAIKDsRcBUdCug2XB/k0KMA4ROdLoVufcOTNnpNlsMoCIUCgU8DwP3/cxxvAYkiQhiiL6/T7mX7Lv+1QqFay1b0VEHyvHcbRUKmGMuRX4m1wqlRCRt+Vy+bWq8ljNzc1hjLnlARhj8Dzvnuz7/uswDHvAi5OTk5aqAuA4DuPj4/R6Pc3zHOC2A2stY2Nj9z9HUdQDFk5PT1vWWqy1iAh5nqOqJElyP4+CiCAiWGsB3oRheAosAK3JyUkAVJVut8vNzQ0i8kDADHwlScL09DTAgog8F5EdEfktIjvGmMVyuYzneVhryfMcERlayPOcJElYX1/PReQ58GVra+uZqtpGo1EFNkVkcXR0FGstWZYNd9psNmm1WoRhyOHh4edCoXDQaDS6qrqmqlVVXd3e3v4FHAy69TxP4zim0+kMBaIootvtvpyamkqvrq7eX19fc3FxQb/fR1XXfN9PBwLFYlHjOCYIAswgA67r4vu+t7y8rDMzMxSLRSYmJnBdFxGhXq8zWF2WZcMZGGMYGRnBcRwuLy/dvb292HXdVyKyJiJVEVkF3m1sbBzddfNwBp1OhzRNAZ4C3+fn57Ver+vs7GwLuKpUKj/29/d/qupiGIbchUrTNCUIAmi328RxDPCpWq1qrVbTs7OzVFV3VPX33bv4d5RFZChwfHzM+fk5qvpxaWlJd3d305WVlQ9AAuj/qtfr0W63kaOjI7Iso1arPQG+AZt37r7C7a08hiAIJEkS/gAuxWkS46HJtAAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxMy0wNy0wNFQxNzowMzowMyswMjowME2ku3gAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTMtMDctMDRUMTc6MDM6MDMrMDI6MDA8+QPEAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAABJRU5ErkJggg=="
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/table.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/table.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAABMElEQVQ4y6XTS24iMRSF4d9V19gwQOIhQLUCVlCTbIbdZicIkBAMyshIFU4PaBoa8iCJpTP5BpZ17rWTxG+OA351gy0WC376CucclnOmbVtOpxMARVHgnEPSl2Zm2H6/Z7fbcTgckESMkRACx+ORnDPAgznn6PV6DAYDqOtaktrbVFX1lNV1LUspAdhyuQRgMpmw3W7Vtq1tNpsPraoqUkqySyEhBCRhZudyzOh0Ouem78w5d52C9x6A0Wj0D/v9PgDj8fhT895T/G1YtwkhPGVFUWApJSS93c632+2Wz9h8Pi+taRoAW6/XSGI2m5FzFmCr1QrgwZxzTKdTmqa5lui9f9jISz/39l+JZVkCMBwOr2j2UOx7VpYlxBjF+UN9OzFGIelF0uv9lj2RV0kvfwCoQxSN62LCWQAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxMy0wNy0wNFQxNzowMzowMyswMjowME2ku3gAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTMtMDctMDRUMTc6MDM6MDMrMDI6MDA8+QPEAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAABJRU5ErkJggg=="
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/textfield.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/textfield.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAABZUlEQVQ4y6WTMWsiURSFv3t9ZmYEK8HWSvAHTJkFy2yVX5bfkTrdlmEbDWxhDAFFsLEUS/FpZt7ZZjW7JMvieuE078LHuYfzbLlccsmEPM8vApikiwAA18AToDP1BFy7u99Np9Na0v4cTSaT2t3vKMtSkm4l5cCPX/TvkvJ/6LYsS4WiKJD0sNlskBT7/T6LxWK/Wq3idrslpfRnaGZkWUav13soioIQY8TMqKoK4Mt6vU7A15QSIYSPqZvRbDZpNBrEGAl1XZ8WMUZVVcVut6vMDHf/NPXje13X+NFiCIGrqytCCGRZRggBM/vUwXFSSu+AVquFu5NlGe5Onue4O2b2QY1G4wQ4HVkUBWb22Ol0MLPHGOOwqiqOJ/5uv91uv1f5cDi8mtmNpG+S3oA98AbQ7Xb/XmGzm8Fg8Mp4PL4HXv6jiS+j0egeSUNJz5LimXqWNLT5fE5KicFgcNa3nM1m0d35CaoyLxlNiQxFAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwTaS7eAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMy0wNy0wNFQxNzowMzowMyswMjowMDz5A8QAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC"
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/anchor.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/anchor.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAACFElEQVQ4y3WSz2pTQRTGf2du2opNYymCreCiKYIo7lrUnYs+QB+gT+Ar+BouXXRTwa1YKlIEu7AUayk0SLiXmwahVOwiMUSlSWY+F3fSNv754MAwc+bHN3M+y7KMIAEQgL5z3F9YuA/cA3ZrzeZR4j0WAgZghgCTSMwgTVMkvVahTUlvWru7+riyos7+viQdSHoq6Ubt+BhJt+PeRj3LIMsyJAmQJL2bm9M6aB30ArQG+rC8HPlqd3d2wpPYW89zSmYGwPTsLABTJyfcqlQ47HSoAOUk4fvWFmtmDODadaBHIUsSSnFN33sAFmdmqMd3Mj7OWLnMQrnM4uQk01NTfD06YvP0NBLsEqBXcCURuFAwY2BGzzlsYoLBEB7lhgsfHRAncn4gFdBYgv8A+v3oykjMSIAEcGY4s2KE/9A5gHBh/Ee3yzfgV6/HhPeMA2NmJM6RwAjs/A+IDt62WrwCZoBD4Eq7zaN2m4fVKoRAt9u9uC1RwkbNZcAzqQXsAQ+2l5Yqn/b22Go0sEaDM+BO0fpe3kOe5yNBkrQt6Wat2URSSdJjSS8l9Q9WVyXpTNJzSdP1NMXyPKdarcrMkESa5xa8xwCZgXME57g7P38VqAJfPud5JwmBxIySpJEnOMA5xzChAjQYUE/Tn4KaAWPO4ZwrghRCGAEohBGAAXLu0riGISzOXQzQRnSy4b3nT1dm9lcN9RsyQ0BYyr+EAQAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxMy0wNy0wNFQxNzowMzowMyswMjowME2ku3gAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTMtMDctMDRUMTc6MDM6MDMrMDI6MDA8+QPEAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAABJRU5ErkJggg=="
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/select-rtl.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/select-rtl.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAABgklEQVQ4y6WTsW4aQRCGvx24vRPorqKw0kAR6RAtiMqFS3fueQ/7CSjjd3DnImn8CgjpZDpjS4DkcCVcRYOwc1x2UliQuLyw0idts9+/szNrlsslp6xqEAQnCYyqniQAOAceAS3JI3AuInI7Ho8zVf1Vhul0+ltEbun1eqqqV6oalOSq2+1qtV6vAzzs93s8zzvWpapst1s2mw273Q7n3MejGYPv+zSbzYdarYYURQGAtfbOGKMHRESjKLqLooggCPB9H2st1lo8z0NEyPOcap7nh8S3Tqfz2mq1vgKkafo6m83esiw7JhtjABARjDEURfFXAFyPRqMf/X7/C8BkMvkJXO92O/5t9UECfAgOta3X6+3Z2dnNYDD4BtBoNG7SNN065z6lG2OoVCoAOOeoiggAYRiSZdl0OBx+B1itVlNr7aeDh+uHYXjcE8fxC3CpqpQBuIzj+IUkSe6B5/+YxOckSe5R1QtVfVLV95I8qeqFWSwWOOdot9ulvuV8Pn8XEf4AFa1gi3KEQ7gAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTMtMDctMDRUMTc6MDM6MDMrMDI6MDBNpLt4AAAAJXRFWHRkYXRlOm1vZGlmeQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwPPkDxAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAAASUVORK5CYII="
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/indent.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/indent.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAB4ElEQVQ4y4WTv47TQBCHv1mvN7ZjOZbyT4I2Pa9Ac89Ah4TEC9Cn4J6DConmelqkeweKFHeHSEFQFHGRiC3HiZ2h4DaCcHeMNM3uzOibn+YnNzc3nIaIYIwhCAIA2rblcDigqv/U2oea0zQlz3NEhPV6TVmWtG378ABjDNZajDE45+j3+4jIe+CNqt4C7Ha7Y6Onsb45jmOyLCOKIkQEgMlk8uz6+joDbvv9PveF8djOOZIkmRpjrIhM4zi24/HYr/VBRPQkv4hIaDxOXdeoaqCqjaoGVVU1ZVl63KeqWp/k/HA47E0QBFhrERGKoji/IzsH2O/3nmAhIp27/H5xcTEEzlarFTaKInq9HlEU+eJ3wFtV/RaGoSd4AtR3w78CG4DRaIRxzhHH8aXfbTAYvAYuRST1d3BC8PwvDcqyRH9Hrar1YDD4pKqfVbUoiuJI8KAGVVUBnAE5kM9msx/AKwAv4qMaiAhXV1dNp9Nper0eSZK88Ls75/6vgTGGMAzpdrvkeT51zlkRmSZJYv1BPabB8ZT9Hex2u8Y5FwBNlmX3EfiYt227F+9GbyIRIQxDhsMhaZp+rOv6par+vMd4zXw+b46Pqnp0W9u2LJdLttttpyiK28ViwWazafz/n3b/BVs9FHnbN9VlAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwTaS7eAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMy0wNy0wNFQxNzowMzowMyswMjowMDz5A8QAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC"
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/blockquote.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/blockquote.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAACtklEQVQ4y22TP0gkdxzFP7/fTlZux8XVgEa0MAdi5EgIaIooUdhCwRSHKdLapE1hI2KXyi4cNiGFVkmRJqAXAkmwOyurpAgirLOK+8fNsbM7MyzMzu68FHEXjtxr3/vy/feeKZVKDGCMAUASb8PbeMcYg7WWTCaDtRZJ9Ho90jQdCgcax3EwxpCmKf1+nzRNcRzHYXR0lEKhMOwQhiFRFNHtdpFEJpMhn89TKBSGnX3fJ4oiaDabSMJ1XQf4AvhIEpJoNptUKhWCIBhM8xR4DrwjCd/3h/t8AlQWFhY0Pj4u4DfASqLT6Qw0P2az2XR+fl5AHShKwkjCGPPzzs7O9tjYGMYYyuUyp6enzyWdPd5gdWVl5dXS0hLWWsIw5OTk5JWkzxyAycnJZ71ej1arhbWWiYkJgDXg7HHlj2dnZ/F9H2st1lpWV1c/NcaM2CRJaDQa31YqFZrNJlEU0W63Af4ExuI4Znd394f7+/uwWq0SBAFhGBKG4d+SntBoNJDE5eXlN8fHx8HW1pbW19e1t7e3HgQB9XqdMAyR9PXFxcXrjY2NfzY3NzUzM/NTmqZwe3s7/MT09PRXa2trmpqaupL0ZaVSoVwuU61WieMYSe8uLi7WlpeXtb+//6LdbmOttYyMjABQq9U+bzQa/YODgxPAj+MYay35fJ5sNosx5kNJ73U6nYvDw8M/oij6zxCPb9pyXbe/vb39UtKR53l4nker1Rrwo8Bfc3NzryV9X6vVuLm5gV6vB/ABcH90dPS7pF8kudfX19zd3Q2KLfCyWCzeSDqT9KRUKlEqlXD6/T7A0yRJjh3HaQEvrq6uNPB9kiQA75+fn3vFYvHXer3+3cBcxhjMw8MDuVyOOI4Jw5But/tGeHK5HK7rkiTJMB9pmg5zYzzPw1pLmqb/SyAwNI6kN/gB/gV0j6gOvWHJiQAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxMy0wNy0wNFQxNzowMToxMiswMjowMCOMYG8AAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTMtMDctMDRUMTc6MDE6MTIrMDI6MDBS0djTAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAABJRU5ErkJggg=="
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/removeformat.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/removeformat.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAACgElEQVQ4y31STUsbURQ99703MzrqkDqTZCE0KoFWAuKqNNCFm9ZuzA8o3fYPFH9AlyK0SHf9FV3UnZaKFGo/LChtLVh0NAuNNGNoEmcmycztopOBVuuBA4/L5dxzz7u0v78PIQSklBBCgIhwGZgZcRwjiiLEcQxmBgAoIoJpmshkMtA0DVeh2+3i7OwM5+fnqYAQQsA0Tei6/piI+Crquv58cHAQQohUVDEzwjDE0tJSNDExseE4DpaXl/PZbPaG7/uwbfv17Oys1mq1MDU19TMIAsRxnApQP4NCoXAbwE0AolwuP52cnMzUarVobW1tEcCPpH/z4ODge99+6iCKIhwdHW2OjY1tKqXK8/PzmTAMUa/XvwF45rqu1+l0QEQXghYAQETQdR1SSgCYM00TYRhiZGRkOwgCj4j++0siSRKmaQIALMua6/V6aDabqFQqn8IwvDCZiNK3ICIopWBZFojoWqlUutXpdFCv1xsLCwvve70edF1PaRgGDMOApmmQUkL1HSS4a9u2CIIASqltAB9t207txnGc9sZxDM/zIPA35trtNhqNBorF4mcAEf3BEyIaT9bQiGhRSpmzLAtwXRe1Wq1/WdVCocCO4/DOzs6DpGaNjo5+EUK4AG4AeOU4Tsu27Xu+7wMnJycIwxDMDGbeY+aAmX1mvp7ULGZen5mZ2RseHu6WSqW253kbzHzn9PQUIglmPTnXIhEZRDRARIdEtA7gF4CHQojG9PS0EkI0j4+PXwB4K6UEqtUqmHk1mfwvV6WUCsDLoaEhf2Vl5U02m3UBHAIY73a7wO7uLphZMfPAJVS5XM7K5/Mftra2Npj5ETO/y+VyXyuVyn1mxm/slEskxqQ5owAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxMy0wNy0wNFQxNzowMzowMyswMjowME2ku3gAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTMtMDctMDRUMTc6MDM6MDMrMDI6MDA8+QPEAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAABJRU5ErkJggg=="
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/underline.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/underline.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAACBElEQVQ4y42TwWrbQBRFz7wRxjKKRS2SQjDJzvss+gleFfIhIT/QRRel236DN4Uu+gmFQqDQTXYJlBYjsNMsQkCKG1m2LM2MuqgtkoakvTCLufO47937GBXHMQBaa4IgoNfroZTCWkuaphRFge/7RFGEUgrnHGmakuc51lo8AKUUWmt6vR4i0gYQEVOWpUmShCiKEJEWIIC11lZFUWCtRVhDRFBKASyBpXPundYaz/M2/Nn67b2INPWNQF3XABweHnJ0dITWmrs4ODjg+PiYKIru8cJfmM/nZFmGtfYev1gsyLKMsiyfFijL8kERgDGGsiwxxjwt4JzDOcdj/MbqowLGmHtdNlmIyIPujwmYtX8NEIYhAK1Wy7PW4pyzTwrM5/MrYwxbW1tN3EopvbOz87yqKtrt9u3drcnmUtc1xhgWi8WPPM/Z29t7qZQaKqX6nue9CoIguLm5YTAYXBRF0eTRTGCtJcsyRqPRt+l0WoZh2N3e3v7U6XR+7u/vv02ShPF4PD49Pb2YzWbNmmU9IgBFUTAcDj+cn59/n81mX8MwHPf7/Sul1Nnu7u7n6+vrX8DHqqoayyqOY0QE3/fpdrv4vg/wAngDDIBnwBT4Ary21t6uViuyLGO5XEIcx0wmE9I0BTgB6v84J0mSMJlM/vxG5xx5nlPXdQWs+Deqy8tLnHP8BuUKHbzV/Dz0AAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwTaS7eAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMy0wNy0wNFQxNzowMzowMyswMjowMDz5A8QAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC"
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/pastefromword-rtl.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/pastefromword-rtl.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAB6UlEQVQ4y3WST0sbURTFfzcziXESQ1zoLmDAQrAbd1nYruv36EfwE/gB+n3iut0LQjPUFAwyQUhQZ2P+vcw7XZgZTDUH3uLw7j33nvOeDYdDarUa+/v7BEFADjMbNJvNY4A0Tf9K+pTfZVnG8/MzLy8vhEEQ0Gw2CcPwC/AD+Ar87na7xwcHBwBMJpNjMxsAn4GfwIVz7td8PockSZAEEMdxfCup0ul0lq1WS+12W+12W61WS51OZympEsfxLRBLYjQavQqsVisASTp/enpC0kDvMXh8fETSOSDvPUmSEAI45wBYLBY95xwPDw+F39xzlmUEQcDe3l7PzPDeAxBWq1Wq1Wpug8PDQ/6Hc440TVmtVpgZ63UBKDUaDcysZ2aYmT46lUqltw66EMgRlstlgG+SjC0wM5XL5XfNACXvPVEUFYUA0+l0g0dRVKz8TkBSEUij0SBveMu999sF3pJarbYxOedFcalEEAQbVjYEoijCzHR6eoqZKd8kb84F17khaVNgNpsBXF5fXxtwueaUSq9lOzs7mNn52dkZzrlXW8vlkt3dXUli26nX61pnIODPzc1Nfzwec3d3RzibzTg6Okpy3x/h5OQkKSZCClwMh0O894RpmtLv96+A72zH1f39PVmWWf5q64/HP6WAJHBqtu+1AAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwTaS7eAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMy0wNy0wNFQxNzowMzowMyswMjowMDz5A8QAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC"
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/bgcolor.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/bgcolor.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAACo0lEQVQ4y5WSv2tbZxiFn1f3WlcSwhDwL13LrqHGGFosL50cg6DtaJwOxrgtXtrBa7dSOjhL/QfInZq0SyihdEiWLIG2cTE0rmvoYiha6q2yVEuxr6R7P33ffTsEKWPocLYD5zmHQ7PZJE1TVPV/KU1Tms0mpGkK8AbwLfACiF+jF8A9oOycQ1QVEXlQrVY/Wl5eHiUYY0iSBIAgCMhms4gIIsL5+TlHR0f3VfXTDMDCwsLW4uIizjmstSRJQrvdttvb27/s7u4+azQaURzHWGtxzrG0tMTs7OwWgA8wPz+f7Xa7+L6PqtLr9Wi32yebm5vfA7ZWqw1ubm7eKxQKeJ6HtZZyuRwAZACMMQwGA6y1GGOIooi9vb3fgW+A7/b3959fX1+PfMYYVJURQZqmOOfwPA9jDJeXl3/v7Ow8EZFpIFbVR51O506xWHxLREb+EcGw2zB9bW3tFHgKfAl8DpxubGz8EUXRiNRa+4rAOYdzjjRNubq6ig8PD5+JSDGfz3/inLMicldVf65UKndyudy4iIwI/CHBsH8+n38OPNSXJf8EFBDgx5mZmQ+73e77QRCMCDLDDay1xHHMwcHBCdASkY8nJydbU1NT/4rIFhDVarXf+v0+1trhAV8SDHs55/5aX19/LCJBGIZflUqlWyKC7/urIvJAVR/5vv+BtfbtwWDwiqDf7xvnHGEY/iMic57n7a+srNwKw5BSqcTq6mo5l8t9ISJL09PTDeccvV4vAZAkSahUKr+OjY3dNsbQ6XQYHx9nbm5uNJTneVxcXBBFEcVikUKhQJqmP52dnb0rjUaDJEm+rlarlVar9U4QBNnhLsOziAiZTAaAJEnMxMTEyfHx8Wkmk/mMer2Oqr6pqj+oak9V49eop6oPVXWhXq/zHxAY1OphZwhWAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwTaS7eAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMy0wNy0wNFQxNzowMzowMyswMjowMDz5A8QAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC"
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/justifyleft.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/justifyleft.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAABR0lEQVQ4y5WRy4rqQBRFV72IVzCoqANH/oL//y0igrNoDSSaivW6A0lo206TPqOCqtqctZc4HA4ACCEYmpzz4J0WQiClRCmFUurjQYyRGCMppR+DtJSS6XTKcrkcDLDW8ng8iDH+HFCWJVrrwT2dc6JtW1JKH0gaIKXEfr9ntVqhte778N5jrcUYw2QyQSn1gSROpxPz+ZyyLB3DM+kOKSWstdzvd2KMrxKLokAIUfwS8IbnnBNN07wCOqbdbsd6vX5D+F6mc46qqggh9D3onDPee47HY8vIOZ/PvZGxCF37/wCapumV9wiLxYLNZoMx5uOj956qqng+n+5yuVAURW+hR7DWjkLYbrdvJrSUcjTCVxtt2wrn3GuDEAIAs9ls0EI3IQRutxsxxhdCCIHr9UrOebSFzkQIAZ1Soq5rgPlfAuq6xhjDf7PL2v1zNAgqAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwTaS7eAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMy0wNy0wNFQxNzowMzowMyswMjowMDz5A8QAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC"
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/bulletedlist-rtl.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/bulletedlist-rtl.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAABoElEQVQ4y6WTsYoiQRCGv+5pdxRBNJo3WZMNNhIOBB/DpzG4B1jmGQw03tTwEoMdBhUDI5XBkXFGu+sCddhVD3a5gh+aqqK6qr5uFccxAEopbk1EyvNt/BoznufheR5a6y9JIoJzDmvtOdEYtNYAOOc4nU445zDVapVms4nv+3cd5HnObrdDa02r1SovEBHW6zX7/R6SJAF4B+SB3rMsu7b7AkwuerHWslwuMSKCiByBnHs75nnpHvR6vWeA4XA40Fq3tdYY5xxKqSfAf1DgKU1TfN8nCAJTqVQACILAWGvPO9jv94hI8Y8OitVqRVEUhGE47ff7BiAMw2mSJOcFf3x8ICJGRKoPZKIoYjabISKvIvLnotf5fE4cx6jvvAOtdYn6irEcoV6v02g0qNVqdwUOhwNpmt5hdM6x2Wz+D6Nz7ucY2+32M8BkMhkopX6G0RhjnHMAeJ5nrqN8C+PxeGQ0Gk273a4BGI/H0+12i7UWk2UZwC/APChwStOUPM/pdDpvRVH8vvjfFosF1lpUFEXlz7q1z/hE5MtnUkqhlOIvImU4TvNt0XwAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTMtMDctMDRUMTc6MDM6MDMrMDI6MDBNpLt4AAAAJXRFWHRkYXRlOm1vZGlmeQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwPPkDxAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAAASUVORK5CYII="
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/link.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/link.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAABqUlEQVQ4y6VTsWrjQBSctyvjRa7sWpY6ObhNow+4rzCoMNxHuLvr/Aup3eYbrkqTxIaQIoUtdFe5NkYgq9DuXHGS0JnAXcjCwDI7b2Z3H0/yPMdnltduRORDhST/GGitobWGUuq/TUjCOQdrLbzRaITxeAyt9YduYK3F6XQC6roGgAGAJYAtAPbwHcC3K27baAd1XXdvWUZR9EryJ8mqRRRFnE6n7HMkf0VR9ApgSbIz2JZleW+MeeynJUnCJEn66TTGPJZleQ9g2xlMJhOSTMIwZFVVu6vEDlVV7cIwJMmkqYFyzsH3/TcRcUEQ7IwxtyIyfA/GmNsgCHYi4nzff3POAUVRIE3TOwAPJJ+atAvJSxzHjOP4+g+eADykaXpXFAW88/mMzWbzPJ/Pb0RkCGDYtmqxWPwAQBH50uvgcL1eX1ar1fPxeASyLAPJAcmvJF+u0tYN+txLox1kWQbJsgzOOYgISCKOY9NG7ff7CgBms1nHHQ6HqtUqpSB5noNkB2stSEJEoJQCADjnOk5rDRHp4LWD1Hdtxe3SWv/F9c+83ue8K/jXtP4GAMhQwX2SIi0AAAAldEVYdGRhdGU6Y3JlYXRlADIwMTMtMDctMDRUMTc6MDM6MDMrMDI6MDBNpLt4AAAAJXRFWHRkYXRlOm1vZGlmeQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwPPkDxAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAAASUVORK5CYII="
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/cut-rtl.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/cut-rtl.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAADIElEQVQ4y0WSTUxjdRTFz+3/9eXRR/v652PMIwgbo13wlRA6Jd00mT2QEIlbXbkz7FyYSYw7ccMsjBIXunAxm1FiYpxIJA5EFGMktiLWebFgAoYUaukHvNL+jwumw0nu8t6c87tHgiAAACil4LoutNaIRCKoVquo1Wpot9sAAMuyEI/H4XkejDGoVCpoNBqI4JmUUtBaw7KsDyKRyL1kMgmtNWzbhm3b0FojmUwiEolkLcv6SGsNpRQsABARiAiUUvA8b94Y84aI3CX5l23bEBFEo1GIyEgsFnuktTZKqTdF5MYBSZBEp9PBxMTEL/Pz89pxnK9ExLNtu7vsKqXWFxcX7/i+v2uMAcnbCJ1OB/V6HUtLS39Wq1XMzc294jjOQxFRIiKO43y2sLAwVavVkMvl/mg0GjDGQLoQuzaHh4fnU6nU++Pj4y+3Wi1sbW2tGmOq2Wz2fm9vL/L5/D/7+/v3j4+PPw3D8IYBABhjEIYhAHxTKBRen56e1qlUanBsbOyt6+trJBIJBEFQ39jYyAN4dHV1BQC3EUQEAFAqlULLspbX19cL5XK55fs+RkdHUS6XzcrKyu7Q0NA7R0dHFyRvD3Q/EIvF0NfXBwB/DwwMfBKGYbXZbKLZbKLVal0ODg5+AeBXrTV6enqglLphoJRCIpGA1rrrxgHwJJ1Oz4RheNJut9uJROLFnZ2dpwDukjwHgLOzM0RE5HlR5Eb3AHyZTqdnYrHY9t7eXrVQKFzE4/HvM5nMSwAei8irImL39/cDpVIJlUoFzzI9cF33JJfL/TA1NdXc3NxcJXmHpCa5Ojk5eTU7O/uT53lPATwhCRweHqJWqwFAj+u6dZK7JHeXl5e/A7DeLRiA92ZmZn4mWSAZ+L7fATBuGWNweXkJklHP84JoNPpbu93+0Lbtj33fD4wx6HQ6yGQylXw+PywiS47jZF3XfTsMQyAIApRKJZyfn2N7e/shgB8BXIyMjHxL8t3T01OcnJyA5FI2m30M4BRAfm1t7WuScQRB8HxIZklukfyP5OckXygWizg4OABJRfIByX9J/k7ytWKxiP8BDeCLDPFqgVEAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTMtMDctMDRUMTc6MDM6MDMrMDI6MDBNpLt4AAAAJXRFWHRkYXRlOm1vZGlmeQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwPPkDxAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAAASUVORK5CYII="
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/templates-rtl.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/templates-rtl.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAABmElEQVQ4y42TTY7iMBCFX9nG+UGggLKOZs0NuFnvhtvNLWgLIVaICBSJENvlWTR2hyYjTUklJXby6qtXNhljUJYlqqrCbDbDVDAzrtcruq6Dcw4hhLQnhBBYLpfQWgcimkwp5W61WqGqKiilQETfAkQEIQQ2mw1CCG9prcV8Pv8got1isXgTURGx6zoMw0Dn8xnDMEQ8NE3zyxjzp2maDyJCCGHnnMPtdoP3HiKiWGvBzPDeg5nBzLDWYr/fm7qut4fDoc3zPJFIKb+KjAWEEFBKQWuNPM9RFAW01jgej6au6+3pdGoB/JZSgohARF8tEBGYGUIIFEWBsiyhtU5G9X2Py+Vi1uv1tq7rT+992lPxwXsPKSXKskSWZd9zesb9fifnnBmGAcycRpkIoqoQAiEE+ingnIOUEsz8MkYVX6y1qS8iChMCRESw1iIWnSR4zn+SILb6cpDGHkSBqdMYex4b+EIQP3ga9EbweDzGBd4J4mKWZZMXKq6PfwYAxczo+z6h4z+i7/s0SuGcQ9u2kxfpX9m2bTL1L1PNGa2ESIi0AAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwTaS7eAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMy0wNy0wNFQxNzowMzowMyswMjowMDz5A8QAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC"
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/paste-rtl.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/paste-rtl.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAB7UlEQVQ4y32SwUocQRCGv+quWQZmddab4GERFFwSz0FMzvHsKwTyAnmOvM96jr6AJFnDrigygoiwATP2su1M5bCOibrrD3X6q7u/+qvl/PycLMtYWVnBe08jERlmWbYBUJblyMw2G6+qKsbjMWVZot578jxHVd8DX4EPwI/9/f2N1dVVAK6urjZEZAi8Ab4BX6bT6eFkMkGKomBtbQ0RGQwGA7+1tfV2d3f3D5A45wCo6xogHh0dtU9OTr73er3KzHqXl5dQFAUxRrIsMzPbu7m5wcyG9lLDB28vTVObTqcURYGaGXVds7S0xGQy6d/d3XF7e7upqjQEjbz3hBD6aZoSYwRA/w9GRPDek6YpnU6HJEmYp/F4DEAIgccnYow451BVOp0OrVarLyK2oBCR/vLy8oxARKiqqlkfSZKgqh9jjMICJUliqvpyhCb1PM+bC+35YTOTPM+p6xp9wHkM5aGBEMJj8zyCEAJm9o/AzFBVvPfPR5pL0Phq9tRvt9s457i/v3+VIMaIiODMjBgjOzs7iMheq9V60jhvCw0xAGdnZ1xfX3N8fPwT+DXzDO+9mRmLCrAYI66ua8qyZHt7+7OZ/W6Iut1u8co/sPX19SKEMAuxqipGo9Ghc+6diKCqnJ6eHgCfWKyDi4sL/gIXpTjZ8JWxsAAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxMy0wNy0wNFQxNzowMzowMyswMjowME2ku3gAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTMtMDctMDRUMTc6MDM6MDMrMDI6MDA8+QPEAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAABJRU5ErkJggg=="
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/justifyblock.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/justifyblock.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAABCUlEQVQ4y6XRwWrCQBDG8f9sNgQEpYrm7Cv4/u/gG0guOSWagwmSmMlOD0sppbS47dxn+H7fyOVyAUBESBkzA8CLCM45siwjy7KXlpdlYVkWQgh45xyr1Yrdbpd0oOs6Ho9HPLDZbPDeWwphHEcZxxEPEELgdDqx3+/x3v/Yh5mhqlyvV0IIsQMzY55nzufzlJLgfr9jZrHEoigQkSKRgIhEgplxPB45HA4vEdq2/XzjB6GqqiRC3/f/I0zT9JWw3W4py5I8z39dnOeZpmm+E7quSyIMwxAJzrk/EZ7PJ865mEBVAViv1y99oe97VDUmUFVutxtmlkSo6xpVxYcQGIYB4C21gzzPeQf9Ea46v5ZZbAAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxMy0wNy0wNFQxNzowMzowMyswMjowME2ku3gAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTMtMDctMDRUMTc6MDM6MDMrMDI6MDA8+QPEAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAABJRU5ErkJggg=="
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/checkbox.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/checkbox.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAACDUlEQVQ4y5WTPUtcQRSGnzMzfoDK7t2wIMhCijTbBOtgEbARGxsLu9T5DWniD7CWgGUWLSxukcpCtItYCGm2kIXVu9UWVxGE3bkz96TI3gVDyCYHHhgGznuG874jvV4PABHhf0pVAXAigjEGay3GmJlCqkpZlsQYKcsSZ4xhaWmJJEmw1v7T9BgjDw8PPD8/Y6y11Ot1nHMbInIlIjqDK+fcRr1er15tcM4BHJycnHRV9fJvnJ6edoED5xzGGBgMBoQQWFlZUVXdV9X3f+Lw8PDD5Lxfq9U0hMBgMIAsyxiNRqyurqqq2uFwSJ7nDIdDHh8fq23vAgXwWVVtq9XS8XhMlmWYysIQAkBsNps0Go16s9mkVqshIrtJkhxvb287YBGI4/F4ulD3ewZE5B3wTUQ+TgSP19fXnfe+o6qvAbz3LwUqayb1fnNzM7m9vf0aQqDdbrsQQuf8/HwZ2PPeUxTFdKgREURkqqqqr4wxnbW1NddqtV4039/fj6y1lGVJ1WcAjDHTaAKfzs7OlkMInRhj5+LiYhnYy7JsVIWtSi/wywXvPfPz8zfAlqqiqouqmk5YjDEyuQfYWlhYuPHek2UZ9Pt98jwnTdMj4BrQGVynaXqU5zn9fh8XY+Tp6YmdnZ3vqroFXM74Cm+AL3d3d8QYkV6vR1mWFEVBu91uAG9nCPzodrv53Nwcxhh+An+WUju9uCfbAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwTaS7eAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMy0wNy0wNFQxNzowMzowMyswMjowMDz5A8QAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC"
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/pastetext.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/pastetext.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAACB0lEQVQ4y32Sz0ocQRDGf9XdMwzMOq43QRARBZfEcxCTczz7CoG8QJ4j77Oeoy8gSdawiiIjyCJsFjN/2KanctCZaMzmg6K7qeqqr74qubq6Ik1TVlZWsNbSQkTGaZpuARRFca6q260vhMB0OqUoCpy1luXlZZxzb4HPwDvg2+Hh4dbq6ioAt7e3WyIyBl4BX4BP8/n8uK5rJM9z1tbWEJHRaDSyOzs7r/f3938BkTEGgKZpAPzJyUnv7Ozs62AwCKo6uLm5gTzP8d6Tpqmq6sHd3R2qOtaXGD/6DpIk0fl8Tp7nOFWlaRqWlpao63pYliX39/fbzjlaBi2stVRVNUySBO89AO6pMCKCtZYkSej3+0RRxL8wnU4BqKqKroT3HmMMzjn6/T5xHA9FRBcYIjLMsuyBgYgQQmjHRxRFOOfee++FBYiiSJ1zL1toVc+yrE2of39WVcmyjKZpMI90OlEeAyjLsgtWVVlfX+/uAGVZoqp/NFBVnHPdNnrvUVVmsxkAk8kEgNlshqp2BY3qc4a9Xg9rLSGELjCEQF3XhBC6xG3Lpg3a29tDRA7iOO6SGWN4+gaI4/j5flxeXjKZTDg9Pf0O/HjoRmnPRQao9x7TNA1FUbC7u/tRVX+2jDY3N/P/7IFubGzkVVU9jDGEwPn5+bEx5o2I4Jzj4uLiCPjAYhxdX1/zGyKQVlCgOuDiAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwTaS7eAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMy0wNy0wNFQxNzowMzowMyswMjowMDz5A8QAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC"
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/undo-rtl.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/undo-rtl.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAACY0lEQVQ4y6WTv0scaRjHP8+77yzOODPMWMgiiIsGQbLBwh+c+QPSBUPaFNcdRyohRQqbkKRIZxcCQUiRXHVXXGElXCDXbXfp1t31x6pns9ywpyK7zsyTwozBECGQb/PyPs/7+T5v8X2k3W7zI7LXNUQEYwylUgmALMvI8xxV/T4DYwzDw8PEcYwxhl6vx8nJCefn51dMzLcmiwjWWuI4xlr71hgTRlHEyMgIrutirUVErhoUULlcxnVdXNelVCoxPT39APhHRG57nkelUiGKIhzHuWAK2HEcwjAkDMMrP6rVaszNzVU3Nzc/iMgz4LmqZsYYkiTBFHAURYRhiFzojog8EpGX5XIZx3FYXl4uLS4uPhGRDyJS9X0f3/eRTqdDHMcXF5F7wNOpqalbQRAwNDTE5OQkeZ5jjMFxHLrdLhsbG/8DDweDwTsbBEEB3x8dHf1jfn4e3/dJ05Q8zzk7O0NEUFVOT09J05RarSZjY2M3B4MBNooiRGQ6CII3s7OzdLtdGo1GAvxbqVSOrbU/ua5Lmqb0ej2Ojo4+7u/vG6B9eHh4mYMH1Wo1ODg4qK+vr+vS0tINQIGTmZkZgiAgSZJsYWHhr3q97gM/b29vNy8TBvy5trb2XlU3VfWuqpb39vbIsgzP89TzvE6z2ayr6gtVdRqNBltbW7RaLWySJKyurmYrKyu/dTqd1/1+H1XFcRyOj49J0/Tvfr8/Ajxut9vvsyy7jLmIILu7u0xMTPy6s7PzKs/zK1G21jI+Pv478Euz2fyvqBfZAZBWq4Wqfil8PgsVC1RE/Ou+vQ78ejeue/MJcD7r0TAk3yEAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTMtMDctMDRUMTc6MDM6MDMrMDI6MDBNpLt4AAAAJXRFWHRkYXRlOm1vZGlmeQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwPPkDxAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAAASUVORK5CYII="
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/strike.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/strike.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAACiElEQVQ4y31TPUubURR+nvteE4IxJkReiLq8uNVEcChEi46BNks7tCBdC+0PcHAQCi5dOnQoLbq49heUIri0TrpUWqQdAoFoqTEfRPL1Ju+9p0OMDfbjwFnOuc95zjn3PCwUChgaSSiloLWGUgp/M2stgiCAtRYiAj0K1lpjYmIC8Xgc/7NqtYpmswljDK5plFLXYJIPSH4k+ZNkh2SJ5CeSL0k6iUQCjuMAwKADkhgbGxuCnyaTybfpdJpKKRhj4Pv+bL/fny2Xy3emp6efA2gNifWQPRKJAABSqdSLlZUV9no9bG1tmXQ6LRcXFzg6OuL29rbKZrO60WjAGPNnByQjy8vLCd/3sbCwEGQymScAvrquG8vn8/P5fP4xgO7p6SlEZDA6SZBEEAQQESwuLoqIYH9/3yH5kORtkhUArwEsWWv9aDSKUCgEx3EGBcLhMKLRKAB01tbWvjuOg7m5OeZyuXuZTObN1NTU56slPpqcnNTxeByu6w7GLhaLqNVqAHAAQP7loVBItNajsYN6vQ4tIuh0OhARC6B/888vLy+5s7OjDg8PVSQSgVJKdnd3AwD2/PwcyloL3/dxdna2GgRBiOQtAKErj8Visbvr6+vvjDFoNps4OTkByXC73V7t9XqDQxpuVGsNAN9IfiD5jGSWZI9krdPpoNVqwfM8ERG0Wi0YY36fsoig3+9jfn7e0VrnKpVKrtvtwloL13URBAHK5TI2NzcL1WpV2u02rLXgUExKKYyPj6NUKvX39vbU8fEx6/U6G40GksmkzMzMyMbGhvE8736xWHxvrR1o6KYaPc/LA8gBWAKQAhAH8APAFwCvCoXCwfDtHwVEBNeVrw5sVMaj8WHuFwz5JYbiysKzAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwTaS7eAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMy0wNy0wNFQxNzowMzowMyswMjowMDz5A8QAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC"
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/about.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/about.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAACZElEQVQ4y3WSz0sUcRjGP+93xnVSR22lKC8KC4qKsJ4EPQnhYTf2kkIdhG7VpbMYXaJD0NVDxy5B/QFJB0EhkoRS9yg4tPkrY8nV2R3HZWfm20HH3z7X932e93mf9xXHcQAQEUzTxLZtWltbuQ7lcpn9/X1qtRpaa1RcUEqdkEXEEpFXIrIsIq6IfBORZyIitm3T0tKCYRgAmPH0RCIRk5uB74ODgz3t7e00NjZSLpeHCoXCUD6fz4hITmutXdclDMMjB0opmpqaYjNvx8fHe1KpVHB4eLgwOjo6X6lUltPpNNls9j7wNOYARwKGYdDQ0ICIqK6urkfVahWt9deZmZmdiYmJT7Ozs3/W19fzyWQS4CGA1vpUQGtNtVplYGDgTmdn50/Xdeenpqbmi8Xig2Kx+A7I9vX1/fA8j46Ojt6zoZoAQRBQKpVYWloKgd/HtQ97e3snF5menr6Zy+Woq6v7p7UmiiK01kcCsQPHcf4Cj5VSNDc309bWhoj0Ak/S6XTOdV2Gh4c3Pc8jiqJTBxdhmibJZBIReW2a5ovu7m5s22ZtbW1xbm5ucXt7mzAMTzOIISKICEopRARgeGRkBMuyyplM5svGxoYHvPF9/3yIF6G1JggCLMvacRyHsbGxhcnJyc/AvdXV1XJMvnKF2EUYhvi+XwDywPvd3d2PpVLprLvrBSzLor6+HhG5AdwGWoIgwPM8arXauf5LKyilSCQSiMgty7Ke9/f33wVeGoZxafqVAlEUcRxSnWEYK4VCgVQqteL7/sntLz3SRYGDgwO2tra2K5WKCzjAr83NTYIguBT4fxtECqulFC+MAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwTaS7eAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMy0wNy0wNFQxNzowMzowMyswMjowMDz5A8QAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC"
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/newpage-rtl.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/newpage-rtl.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAABWElEQVQ4y42TUY7iMBBEX9uRxUcSg+AUfM0BOBQ3WA4Kkm+QCEUoIrF7P2YdmZmwM5ZaTtuu7qqyI7fbDQARoaoq6rrGe48xhrUxTRN93/N4PIgxYkqw957dboe19iIiuhbOOW3bdmlgSnDbtojIZbvdnlWVtTgejxhjEJHPxsYY6rpewN77c9d1A/ARQgiqiojgnONwODAMg6aUAFBVKmstTdMgIpemac593w/A6Xq9hixPRIgxklJimqYXT4yIYK0F+HO/31fB5XdZQEQ+TYwxst/vAU4hhFVwnmOMSw5QqSopJZ7PJ+M4BmPM2yvMzV4k5MopJX4C53MlA5OTeZ4X2uWBEpwfUpkvDL5qe8fgmweltnLjHYuvHlR5Q1Wx1rLZbFZ9cM5hrSU/rG8M8uK/6/yvjBcGKSXGccyVlV+McRxJKaGqmHme6bqOdz/PWnRdxzzPAPwFIDbU8Fb+7DMAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTMtMDctMDRUMTc6MDM6MDMrMDI6MDBNpLt4AAAAJXRFWHRkYXRlOm1vZGlmeQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwPPkDxAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAAASUVORK5CYII="
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/justifycenter.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/justifycenter.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAABeklEQVQ4y5WSwYriQBRFz6uUGUECEiQjuBgXvWj37qQ/wn+ezxgVJBCiZjGRQGJVqmahcWyHSeOBtyneq3q37pXNZoOIoJRCa41SChHhEe89AM45rLU45+5nGkApRRRFxHHMV5xOJ6qqom3b6wUigtaaOI6R69Pfeua9c66p6/q+xX2DGz+UUrsgCP6RYK0FaERk+NCP7rR3rNfrT7o7rLWkaQpAEAQopXDOoUejEZPJpBvyQNMjoQZIkoSiKKiqCowxAO+Af6Xquma/36OdcwAsl8v/2thJcs5R1zWHw6H7E3RRFHjvHfD7Sw8fSNMUay2qqiqAX8B8tVp9iMiwpwSYA/POStlut4RhSJIkhGE4XywWO631Jxnee4wxZFnWHI/HYZ7nGGOuOYii6NmFQ8/mDcBsNru7IMYYBoPBG/Dz1qToxwFcLpdpnufoW2D0eDz+3iXwOUTPgSrL8m+UH1xIX3EhyzLatkWXZcl0Ot0BH69ccD6fCYKAP8ys4C4csGX9AAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwTaS7eAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMy0wNy0wNFQxNzowMzowMyswMjowMDz5A8QAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC"
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/source.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/source.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAACFUlEQVQ4y42TsWpUQRSGvzNzMzd7k529YUkIBBLrlCEsBLa1VBC0shDRUiQW1m6rz6A+gAGxEqyTF7C1CBey6QJ3c7PFupk7xyK7WZKs4g+HKc6Zj3/+mZGiKMiyjDzPWVhYYJ5ijJyfnzMcDgkhoKrXPWOMwXuPc05FZG5Za3srKyu0Wi2SJEFEZgARwRjD9vY2qjq38jzfF5Ge9/4OJJlaHA6HjMdjOTs7YzweAyAibG1t3SvL8mgCQVV7dV1TVRV1XWOmVi4vL1FVYozXmwFOTk4KoDsYDIbNZnNfRHrNZhNr7cyBiBBCIEkSGo0G1lqccxhjSNMUoAC6VVUdicg7a21PRBCRKwfTHKy1tNtt8jxnaWnp/eLiIsaYD3JlpwC66+vr1HV9M0RrLVmWTa1bEfnYbrffAmxsbLwBPm9ubiZAkaYpxpgZYHKXLC8vIyKpc+5gb2/vRV3XrwCqqnre7XafnZ6efhWRhvf+LmAaIvBwZ2fnUavV+jUYDD4BXFxcfMmy7Gen03kAPJ3MzdTv94kxsrq6qqqKMeZlp9OpgW+TF/d9d3e3Nsa8VlXW1tY0xki/3+f4+PgKEELAOafThwM88d7/VlW89yPg8bTnnNMQwjUguXUEAFT1QESqSQb3VfVw3tyNDG5LVX9M1kP+oSTGyGg0QlUREeU/NBqNiDGiqpgQAmVZ/vUjzauyLAkhAPAHxnop5PpvZUAAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTMtMDctMDRUMTc6MDM6MDMrMDI6MDBNpLt4AAAAJXRFWHRkYXRlOm1vZGlmeQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwPPkDxAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAAASUVORK5CYII="
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/redo.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/redo.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAACY0lEQVQ4y6WTv0scaRjHP8+77yzOODPMWMgiiIsGQbLBwh+c+QPSBUPaFNcdRyohRQqbkKRIZxcCQUiRXHVXXGElXCDXbXfp1t31x6pns9ywpyK7zsyTwozBECGQb/PyPs/7+T5v8X2k3W7zI7LXNUQEYwylUgmALMvI8xxV/T4DYwzDw8PEcYwxhl6vx8nJCefn51dMzLcmiwjWWuI4xlr71hgTRlHEyMgIrutirUVErhoUULlcxnVdXNelVCoxPT39APhHRG57nkelUiGKIhzHuWAK2HEcwjAkDMMrP6rVaszNzVU3Nzc/iMgz4LmqZsYYkiTBFHAURYRhiFzojog8EpGX5XIZx3FYXl4uLS4uPhGRDyJS9X0f3/eRTqdDHMcXF5F7wNOpqalbQRAwNDTE5OQkeZ5jjMFxHLrdLhsbG/8DDweDwTsbBEEB3x8dHf1jfn4e3/dJ05Q8zzk7O0NEUFVOT09J05RarSZjY2M3B4MBNooiRGQ6CII3s7OzdLtdGo1GAvxbqVSOrbU/ua5Lmqb0ej2Ojo4+7u/vG6B9eHh4mYMH1Wo1ODg4qK+vr+vS0tINQIGTmZkZgiAgSZJsYWHhr3q97gM/b29vNy8TBvy5trb2XlU3VfWuqpb39vbIsgzP89TzvE6z2ayr6gtVdRqNBltbW7RaLWySJKyurmYrKyu/dTqd1/1+H1XFcRyOj49J0/Tvfr8/Ajxut9vvsyy7jLmIILu7u0xMTPy6s7PzKs/zK1G21jI+Pv478Euz2fyvqBfZAZBWq4Wqfil8PgsVC1RE/Ou+vQ78ejeue/MJcD7r0TAk3yEAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTMtMDctMDRUMTc6MDM6MDMrMDI6MDBNpLt4AAAAJXRFWHRkYXRlOm1vZGlmeQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwPPkDxAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAAASUVORK5CYII="
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/flash.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/flash.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAADJ0lEQVQ4y32TS0hjdxSHv3Nzk07UPIzxUaUdDF1YkIIauxgsltJqFISCq+Km7UZhoBQEN4VWK1gKLkqldCPirhXR2SlCGQemFJw+XAy1DmOMxgdkk5h7k9wkN/f+u2h02bP/fuecj3MkmUwiIni9XgKBAKFQiP+rfD6PaZrYto1SCv0WDofDNDU1ISKNwEPgATBY534HfgN+UEoVPR4PNzc32LaNpNNpmpubb+F3gPV4PB7r7OwkEongOA6ZTIbLy0uOjo5OgY+VUk8LhQK5XA49GAzewdFo9MnExITW2NiIbdtUKhUsy8Lr9T5bXFwsbGxs3Nvd3d0TkVGl1FPHcdBDoRAi0hgIBNYnJyc1x3EoFArYtk0+n6e1tfXJ5uZmHtjt6up6W0TadnZ21kXkLaVUUavv+DCRSMRuO1YqFQqFAul0+mxtbe0Z8KGIXAwPD39aLpffGBsbi9U9odcDHvh8PqrVKq7rUqvVMAyDqampv4AvROQesDI+Po7f70dEqEtGA4hGo4PlchnbtrFtm2KxyMXFRXJubu6RaZo1pZQopWpDQ0OPLcvCsiyi0ejgXUAwGBTbtnFdF9u2MQyDmZmZP4GfAoEAQHV5eXlsaWnpTYBarUYwGJS7FTRNe1Eul191XZdSqUQmk/lndnb2EeCIyEfAV0BoZGSkQylFpVJB07QXALplWUQikZeGYbzb0NBALpdjZWXlV+BnEXmlpaXlm3g8ft/r9aLr+t2EkUjkpWVZ6IZhcHBw8LyjoyPd1tbmWVhY+DuRSHxbl/vjwMDAfb/fj+M4lMtlTNPk7OwsfX19/TyTyaCVSiWA9e3t7aPz8/Pw/Py8EpEPRGS3t7f3E13XsSyLYrFINpsllUq5W1tbR8B6qVRCTk5O0DSN7u7u9w4PD7/u7+9/zefzvR6LxWhvb8d1XarVKqZpcnV1ld7f37/o6+v7MpVKPXZd978ApRSaphGLxd4Hvp+enr7a29tryGazMaUU4XD4dHR0tLS6utoFfHZ6evqL67qICJJMJlFK4boujuPQ09MTBD6vH0q87uKP+jd+d3x8bHg8HjRNQ0T4F11+je9sgCXvAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwTaS7eAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMy0wNy0wNFQxNzowMzowMyswMjowMDz5A8QAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC"
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/indent-rtl.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/indent-rtl.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAB70lEQVQ4y4VTy24aQRCs7n0N7JoFgrB/gL9IpFxyyy0/hH8l95ySH4hCcswNCVniws0HsMHCDLO7Uz4AqwU7Skt16p5SdU21zOdzvFUiAhGBqsJ7D5Ig+WoubD5olqrCGANjDKy1sNbWRGcEQRAgCAKo6hmJqqLb7cIY88Na+3m1WqEsS5CE9x7e+wOBMQZ5nsMYc8ZMEiKCOI7fJ0mCPM9RFAW897DWYr/fw3sPjeMYrVZrIiJsQlUnADAcDgEAaZqO2+02+v3+OIqiWq1ut1uQLEjuL1AAgHPupIi73Q4k6ZyrvdDjwCcAXRH5KyLJETGAelcAt51OB5vN5jYIAoRhCFWFtlotbLfbEoC9UOCaBCKSicjXTqeD6+trDAaDg2/L5RIAJgB4gd8kkWXZ41Hu916v1+xP7u/voc/Pz//ywDU8CEhKmqY/G/3ecDiMMJ/PQTIkaQD8uVQA4LEoCpB8R/IbSXNEOJ1OEZ48SNO0JLkHsD+a5uq0hSE2m83SOfelqirsdjs45xBFETRJEmRZdsrBx8tfOFWe5+Orqyvc3NyM0zRFHMeHBP/Pg0Yy+fT09CoHcnd3h9FoFDYP61jlw8ND2e/3f63X6w/r9RplWdYxr9cTEcxms9J7XzYvU1WRJAlI2sVigaqq3jznF9Eoc9qoTKoGAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwTaS7eAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMy0wNy0wNFQxNzowMzowMyswMjowMDz5A8QAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC"
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/horizontalrule.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/horizontalrule.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAABIElEQVQ4y62TMW/CMBBG3xljW4ShEr+TKRIzSExZ+X8QJLYIJkLsYNkMtKJDWyWon3Tru3e6O6nrmtlsxm63y0VRoJRCRPgpOWdSSrRty3K5lNvthhwOB5xzzOdznHMopfgrKSW891yvV7z36C/yer3Ozrlfu3+38N5TlqUATwNrLUVRYK0dZBBCoG1bQggvg81mk40xgwB9378Mjscj1lqcc2itB40QY8R7TwgBmqYhpUTOeVSllGiahicF8jsVQkDHGDHGsFgsmE6nDMn9fud8PhNjRF8uF8KnxticTid013UAH+8Auq5DK6Wo69pXVTVqjavVSpRSyH6/xxjz1iH1fY8WEZRSbLfbPAZQlqWIyD88k4gwmUyoqmr0O4sID6B1+FsZxhbOAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDEzLTA3LTA0VDE3OjAzOjAzKzAyOjAwTaS7eAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMy0wNy0wNFQxNzowMzowMyswMjowMDz5A8QAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC"
        },
        "$:/plugins/BJ/TW5CKEditor/commonbuttons/textarea-rtl.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/commonbuttons/textarea-rtl.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAB20lEQVQ4y6WTMWtTURTHf+f23fcejxdaExqylCy6CCFTsSBUTR3cnPwCboEi+DHiJg7ZXd0iheJSSkVCaIcMVQSnDBlShGYIed6+m+NgEqoVtPTCj3s4w//8zzkcGQ6H3OSJqt5IAOAe8AnQa3ICPDQrKyuvut2uV9XsOoxGIx9F0Wu2t7czVX2mqvG/AD7Mq39R1SdbW1tZUKlUEJH3zrlsMBjgnOPPuRhjSNMUVXX1ev1Hv9+fAPvWWowxBgBrLXEcE4bhFYIgwHsP8DTLMjY3Nx8A5HlOMJvNlpWstX91sHChqj4MQ46Pjz3AbDbDzAWeA6RpirUWEfl91yIEQYCIYK1d5lWVwDnHxsbGCxFRVW177xmPx1xcXCydGGOIoghg0QqLFsx0OqXT6Xwvl8u7ItIsFAqsrq5ecWKMQUT2h8NhBBwAZFmGyfOcRqNxZ29v7/yyyNra2lJEVZlMJqhqcnZ2lqlqDuCcwzjnaLVan3d2dm53Op3z9fX1XRFppmlKsVgkSRLCMGQ+q0fArfn/y2GtVjspFApZu90+SJJkdHR09LFUKp0CTVXlMt77ZQw8rlarX+n1em+jKOoDGsexAmqt/Z9bOD08PHwnqnofeAPcveYRfgNe/gR9tDwhZqZ+/gAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxMy0wNy0wNFQxNzowMzowMyswMjowME2ku3gAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTMtMDctMDRUMTc6MDM6MDMrMDI6MDA8+QPEAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAABJRU5ErkJggg=="
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/magicline/images/hidpi/icon.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/magicline/images/hidpi/icon.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABIAAAAUCAYAAACAl21KAAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QYUDA4J3Ar8dwAAAJFJREFUOMutkssKxTAIRM948/9f22WDd1PatJHmVUFiQA6OowjC3W9/SVFPBjLwA3JiPuxIAFsB+ZMayukIla9NQipYKiELwEvaanwGSpJOSdG9DLn2BHjfsmrXSpiPbfyEWTDJtnIH1SRqLOzo34EE7JqQE9vfgHhvbYWE7U16q9ag5e3LDibTYNZufLH8aZl/lG9O7Qz6l4sAAAAASUVORK5CYII="
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/magicline/images/icon.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/magicline/images/icon.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAAAkAAAAKCAYAAABmBXS+AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAATElEQVQY04WQMQ7AMAgDz1X+/9qsibuUqELQemI4zAlRxHaMC1j6gQww+I4BrmL7HR3oAdy0SQlQdW6khqpth9PspIEd0nZjnn/TQjcvrCfcuJaz6gAAAABJRU5ErkJggg=="
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/a11yhelp.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/a11yhelp.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.dialog.add(\"a11yHelp\",function(j){var l=j.lang.a11yhelp,m=CKEDITOR.tools.getNextId(),d={8:\"BACKSPACE\",9:\"TAB\",13:\"ENTER\",16:\"SHIFT\",17:\"CTRL\",18:\"ALT\",19:\"PAUSE\",20:\"CAPSLOCK\",27:\"ESCAPE\",33:\"PAGE UP\",34:\"PAGE DOWN\",35:\"END\",36:\"HOME\",37:\"LEFT ARROW\",38:\"UP ARROW\",39:\"RIGHT ARROW\",40:\"DOWN ARROW\",45:\"INSERT\",46:\"DELETE\",91:\"LEFT WINDOW KEY\",92:\"RIGHT WINDOW KEY\",93:\"SELECT KEY\",96:\"NUMPAD  0\",97:\"NUMPAD  1\",98:\"NUMPAD  2\",99:\"NUMPAD  3\",100:\"NUMPAD  4\",101:\"NUMPAD  5\",102:\"NUMPAD  6\",103:\"NUMPAD  7\",\n104:\"NUMPAD  8\",105:\"NUMPAD  9\",106:\"MULTIPLY\",107:\"ADD\",109:\"SUBTRACT\",110:\"DECIMAL POINT\",111:\"DIVIDE\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NUM LOCK\",145:\"SCROLL LOCK\",186:\"SEMI-COLON\",187:\"EQUAL SIGN\",188:\"COMMA\",189:\"DASH\",190:\"PERIOD\",191:\"FORWARD SLASH\",192:\"GRAVE ACCENT\",219:\"OPEN BRACKET\",220:\"BACK SLASH\",221:\"CLOSE BRAKET\",222:\"SINGLE QUOTE\"};d[CKEDITOR.ALT]=\"ALT\";d[CKEDITOR.SHIFT]=\"SHIFT\";d[CKEDITOR.CTRL]=\"CTRL\";\nvar e=[CKEDITOR.ALT,CKEDITOR.SHIFT,CKEDITOR.CTRL],n=/\\$\\{(.*?)\\}/g,q=function(){var o=j.keystrokeHandler.keystrokes,f={},b;for(b in o)f[o[b]]=b;return function(b,g){var a;if(f[g]){a=f[g];for(var h,i,k=[],c=0;c<e.length;c++)i=e[c],h=a/e[c],1<h&&2>=h&&(a-=i,k.push(d[i]));k.push(d[a]||String.fromCharCode(a));a=k.join(\"+\")}else a=b;return a}}();return{title:l.title,minWidth:600,minHeight:400,contents:[{id:\"info\",label:j.lang.common.generalTab,expand:!0,elements:[{type:\"html\",id:\"legends\",style:\"white-space:normal;\",\nfocus:function(){this.getElement().focus()},html:function(){for(var d='<div class=\"cke_accessibility_legend\" role=\"document\" aria-labelledby=\"'+m+'_arialbl\" tabIndex=\"-1\">%1</div><span id=\"'+m+'_arialbl\" class=\"cke_voice_label\">'+l.contents+\" </span>\",f=[],b=l.legend,j=b.length,g=0;g<j;g++){for(var a=b[g],h=[],i=a.items,k=i.length,c=0;c<k;c++){var e=i[c],p=e.legend.replace(n,q);p.match(n)||h.push(\"<dt>%1</dt><dd>%2</dd>\".replace(\"%1\",e.name).replace(\"%2\",p))}f.push(\"<h1>%1</h1><dl>%2</dl>\".replace(\"%1\",\na.name).replace(\"%2\",h.join(\"\")))}return d.replace(\"%1\",f.join(\"\"))}()+'<style type=\"text/css\">.cke_accessibility_legend{width:600px;height:400px;padding-right:5px;overflow-y:auto;overflow-x:hidden;}.cke_browser_quirks .cke_accessibility_legend,.cke_browser_ie6 .cke_accessibility_legend{height:390px}.cke_accessibility_legend *{white-space:normal;}.cke_accessibility_legend h1{font-size: 20px;border-bottom: 1px solid #AAA;margin: 5px 0px 15px;}.cke_accessibility_legend dl{margin-left: 5px;}.cke_accessibility_legend dt{font-size: 13px;font-weight: bold;}.cke_accessibility_legend dd{margin:10px}</style>'}]}],\nbuttons:[CKEDITOR.dialog.cancelButton]}});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/si.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/si.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"a11yhelp\",\"si\",{title:\"ළඟා වියහැකි \",contents:\"උදව් සඳහා අන්තර්ගතය.නික්මයෙමට ESC බොත්තම ඔබන්න\",legend:[{name:\"පොදු කරුණු\",items:[{name:\"සංස්කරණ මෙවලම් \",legend:\"ඔබන්න ${මෙවලම් තීරු අවධානය} මෙවලම් තීරුවේ එහා මෙහා යෑමට.ඉදිරියට යෑමට හා ආපසු යෑමට මෙවලම් තීරුකාණ්ඩය හා TAB හා SHIFT-TAB .ඉදිරියට යෑමට හා ආපසු යෑමට මෙවලම් තීරු බොත්තම සමග RIGHT ARROW හෝ LEFT ARROW.මෙවලම් තීරු බොත්තම සක්‍රිය කර ගැනීමට  SPACE හෝ  ENTER බොත්තම ඔබන්න.\"},{name:\"සංස්කරණ \",legend:\"දෙබසක් තුළ, ඊළඟ දෙබස් පෙදෙසට යෑමට TAB බොත්තම ඔබන්න, කලින් පෙදෙසට යෑමට SHIFT + TAB බොත්තම ද, දෙබස් ඉදිරිපත් කිරීමට ENTER බොත්තම ද, දෙබස් නැවතීමට  ESCබොත්තම ද, දෙබස් සහිත ගොනු, පිටු වැඩි සංක්‍යයාවක් ලබා ගෙනිමට,ගොනු තුළ එහාමෙහා යෑමට ALT + F10 බොත්තම් ද, ඊළඟ ගොනුවට යෑමට TAB හෝ RIGTH ARROW බොත්තම ඔබන්න. පෙර ගොනුවට යෑමට SHIFT + TAB හෝ LEFT ARROW බොත්තම් ද ,ගොනු පිටු තේරීමට  SPACE හෝ ENTER බොත්තම් ද ඔබන්න.\"},\n{name:\"සංස්කරණ අඩංගුවට \",legend:\"ඔබන්න ${අන්තර්ගත මෙනුව} හෝ  APPLICATION KEY  අන්තර්ගත-මෙනුව විවුරතකිරීමට. ඊළඟ මෙනුව-ව්කල්පයන්ට යෑමට TAB හෝ DOWN ARROW බොත්තම ද, පෙර විකල්පයන්ටයෑමට SHIFT+TAB හෝ  UP ARROW බොත්තම ද, මෙනුව-ව්කල්පයන් තේරීමට SPACE හෝ ENTER බොත්තම ද,  දැනට විවුර්තව ඇති උප-මෙනුවක වීකල්ප තේරීමට SPACE හෝ ENTER හෝ RIGHT ARROW ද, නැවත පෙර ප්‍රධාන මෙනුවට යෑමට  ESC හෝ LEFT ARROW බොත්තම ද.  අන්තර්ගත-මෙනුව වැසීමට  ESC බොත්තම ද ඔබන්න.\"},{name:\"සංස්කරණ තේරුම් \",legend:\"තේරුම් කොටුව තුළ , ඊළඟ අයිතමයට යෑමට TAB හෝ DOWN ARROW , පෙර අයිතමයට යෑමට  SHIFT + TAB හෝ UP ARROW . අයිතම විකල්පයන් තේරීමට  SPACE හෝ  ENTER ,තේරුම් කොටුව වැසීමට ESC බොත්තම් ද ඔබන්න.\"},\n{name:\"සංස්කරණ අංග සහිත \",legend:\"ඔබන්න ${මෙවලම් තීරු අවධානය} මෙවලම් තීරුවේ එහා මෙහා යෑමට.ඉදිරියට යෑමට හා ආපසු යෑමට මෙවලම් තීරුකාණ්ඩය හා TAB හා SHIFT-TAB .ඉදිරියට යෑමට හා ආපසු යෑමට මෙවලම් තීරු බොත්තම සමග RIGHT ARROW හෝ LEFT ARROW.මෙවලම් තීරු බොත්තම සක්‍රිය කර ගැනීමට  SPACE හෝ  ENTER බොත්තම ඔබන්න.\"}]},{name:\"විධාන\",items:[{name:\"විධානය වෙනස් \",legend:\"ඔබන්න ${වෙනස් කිරීම}\"},{name:\"විධාන නැවත් පෙර පරිදිම වෙනස්කර ගැනීම.\",legend:\"ඔබන්න ${නැවත් පෙර පරිදිම වෙනස්කර ගැනීම}\"},{name:\"තද අකුරින් විධාන\",legend:\"ඔබන්න ${තද }\"},\n{name:\"බැධී අකුරු විධාන\",legend:\"ඔබන්න ${බැධී අකුරු }\"},{name:\"යටින් ඉරි ඇද ඇති විධාන.\",legend:\"ඔබන්න ${යටින් ඉරි ඇද ඇති}\"},{name:\"සම්බන්ධිත විධාන\",legend:\"ඔබන්න ${සම්බන්ධ }\"},{name:\"මෙවලම් තීරු හැකුලුම් විධාන\",legend:\"ඔබන්න ${මෙවලම් තීරු හැකුලුම් }\"},{name:\"යොමුවීමට පෙර  වැදගත්  විධාන\",legend:\"ඔබන්න ${යොමුවීමට ඊළඟ }\"},{name:\"යොමුවීමට ඊළග වැදගත්  විධාන\",legend:\"ඔබන්න ${යොමුවීමට ඊළඟ }\"},{name:\"ප්‍රවේශ \",legend:\"ඔබන්න  ${a11y }\"}]}]});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/ro.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/ro.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"a11yhelp\",\"ro\",{title:\"Instrucțiuni de accesibilitate\",contents:\"Cuprins. Pentru a închide acest dialog, apăsați tasta ESC.\",legend:[{name:\"General\",items:[{name:\"Editează bara.\",legend:\"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT-TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button.\"},{name:\"Dialog editor\",legend:\"Inside a dialog, press TAB to navigate to next dialog field, press SHIFT + TAB to move to previous field, press ENTER to submit dialog, press ESC to cancel dialog. For dialogs that have multiple tab pages, press ALT + F10 to navigate to tab-list. Then move to next tab with TAB OR RIGTH ARROW. Move to previous tab with SHIFT + TAB or LEFT ARROW. Press SPACE or ENTER to select the tab page.\"},\n{name:\"Editor meniu contextual\",legend:\"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC.\"},{name:\"Editor List Box\",legend:\"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT + TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box.\"},\n{name:\"Editor Element Path Bar\",legend:\"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with  SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor.\"}]},{name:\"Commands\",items:[{name:\" Undo command\",legend:\"Press ${undo}\"},{name:\" Redo command\",legend:\"Press ${redo}\"},{name:\" Bold command\",legend:\"Press ${bold}\"},{name:\" Italic command\",legend:\"Press ${italic}\"},{name:\" Underline command\",\nlegend:\"Press ${underline}\"},{name:\" Link command\",legend:\"Press ${link}\"},{name:\" Toolbar Collapse command\",legend:\"Press ${toolbarCollapse}\"},{name:\" Access previous focus space command\",legend:\"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces.\"},{name:\" Access next focus space command\",legend:\"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces.\"},\n{name:\" Accessibility Help\",legend:\"Press ${a11yHelp}\"}]}]});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/uk.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/uk.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"a11yhelp\",\"uk\",{title:\"Спеціальні Інструкції\",contents:\"Довідка. Натисніть ESC і вона зникне.\",legend:[{name:\"Основне\",items:[{name:\"Панель Редактора\",legend:\"Натисніть ${toolbarFocus} для переходу до панелі інструментів. Для переміщення між групами панелі інструментів використовуйте TAB і SHIFT-TAB. Для переміщення між кнопками панелі іструментів використовуйте кнопки СТРІЛКА ВПРАВО або ВЛІВО. Натисніть ПРОПУСК або ENTER для запуску кнопки панелі інструментів\"},{name:\"Діалог Редактора\",\nlegend:\"У діалозі натисніть клавішу TAB для переходу до наступного поля, натисніть SHIFT + TAB, щоб перейти до попереднього поля, натисніть ENTER, щоб відправити дані, натисніть ESC, щоб скасувати. Для вікон, які мають кілька вкладок, натисніть ALT + F10 для переходу до списку вкладок. Перехід до наступної вкладки TAB АБО СТРІЛКА ВПРАВО. Перехід до попередньої вкладки за допомогою SHIFT + TAB або СТРІЛКА ВЛІВО. Натисніть ПРОПУСК або ENTER, щоб вибрати вкладку.\"},{name:\"Контекстне Меню Редактора\",\nlegend:\"Press ${contextMenu} or APPLICATION KEY to open context-menu. Потім перейдіть до наступного пункту меню за допомогою TAB або СТРІЛКИ ВНИЗ. Натисніть ПРОПУСК або ENTER для вибору параметру меню. Відкрийте підменю поточного параметру, натиснувши ПРОПУСК або ENTER або СТРІЛКУ ВПРАВО. Перейдіть до батьківського елемента меню, натиснувши ESC або СТРІЛКУ ВЛІВО. Закрийте контекстне меню, натиснувши ESC.\"},{name:\"Скринька Списків Редактора\",legend:\"Всередині списку переходимо до наступного пункту списку  клавішею TAB або СТРІЛКА ВНИЗ. Перейти до попереднього елемента списку можна SHIFT + TAB або СТРІЛКА ВГОРУ. Натисніть ПРОПУСК або ENTER, щоб вибрати параметр списку. Натисніть клавішу ESC, щоб закрити список.\"},\n{name:\"Шлях до елемента редактора\",legend:\"Натисніть ${elementsPathFocus} для навігації між елементами панелі. Перейдіть до наступного елемента кнопкою TAB або СТРІЛКА ВПРАВО. Перейдіть до попереднього елемента кнопкою SHIFT+TAB або СТРІЛКА ВЛІВО. Натисніть ПРОПУСК або ENTER для вибору елемента в редакторі.\"}]},{name:\"Команди\",items:[{name:\"Відмінити команду\",legend:\"Натисніть ${undo}\"},{name:\"Повторити\",legend:\"Натисніть ${redo}\"},{name:\"Жирний\",legend:\"Натисніть ${bold}\"},{name:\"Курсив\",legend:\"Натисніть ${italic}\"},\n{name:\"Підкреслений\",legend:\"Натисніть ${underline}\"},{name:\"Посилання\",legend:\"Натисніть ${link}\"},{name:\"Згорнути панель інструментів\",legend:\"Натисніть ${toolbarCollapse}\"},{name:\"Доступ до попереднього місця фокусування\",legend:\"Натисніть ${accessNextSpace} для доступу до найближчої недосяжної області фокусування перед кареткою, наприклад: два сусідні елементи HR. Повторіть комбінацію клавіш для досягнення віддалених областей фокусування.\"},{name:\"Доступ до наступного місця фокусування\",legend:\"Натисніть ${accessNextSpace} для доступу до найближчої недосяжної області фокусування після каретки, наприклад: два сусідні елементи HR. Повторіть комбінацію клавіш для досягнення віддалених областей фокусування.\"},\n{name:\"Допомога з доступності\",legend:\"Натисніть ${a11yHelp}\"}]}]});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/sl.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/sl.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"a11yhelp\",\"sl\",{title:\"Navodila Dostopnosti\",contents:\"Vsebina Pomoči. Če želite zapreti to pogovorno okno pritisnite ESC.\",legend:[{name:\"Splošno\",items:[{name:\"Urejevalna Orodna Vrstica\",legend:\"Pritisnite ${toolbarFocus} za pomik v orodno vrstico. Z TAB in SHIFT-TAB se pomikate na naslednjo in prejšnjo skupino orodne vrstice. Z DESNO PUŠČICO ali LEVO PUŠČICO se pomikate na naslednji in prejšnji gumb orodne vrstice. Pritisnite SPACE ali ENTER, da aktivirate gumb orodne vrstice.\"},\n{name:\"Urejevalno Pogovorno Okno\",legend:\"Znotraj pogovornega okna, pritisnite tipko TAB za pomik na naslednjo pogovorno polje, pritisnite SHIFT + TAB za pomik v prejšnje polje, pritisnite tipko ENTER za predložitev pogovornega okna, pritisnite tipko ESC, da prekličete okno. Za okna, ki imajo več zavihkov, pritisnite ALT + F10, da pojdete na seznam zavihkov. Na naslednji zavihek se premaknete s tipko TAB ali DESNO PUŠČICO. Z SHIFT + TAB ali LEVO PUŠČICO pa se premaknete na prejšnji zavihek. Pritisnite tipko SPACE ali ENTER za izbiro zavihka.\"},\n{name:\"Urejevalni Kontekstni Meni\",legend:\"Pritisnite ${contextMenu} ali APPLICATION KEY, da odprete kontekstni meni. Nato se premaknite na naslednjo možnost menija s tipko TAB ali PUŠČICA DOL. Premakniti se na prejšnjo možnost z SHIFT + TAB ali PUŠČICA GOR. Pritisnite SPACE ali ENTER za izbiro možnosti menija. Odprite podmeni trenutne možnosti menija s tipko SPACE ali ENTER ali DESNA PUŠČICA. Vrnite se na matični element menija s tipko ESC ali LEVA PUŠČICA. Zaprite kontekstni meni z ESC.\"},{name:\"Urejevalno Seznamsko Polje\",\nlegend:\"Znotraj seznama, se premaknete na naslednji element seznama s tipko TAB ali PUŠČICO DOL. Z SHIFT + TAB ali PUŠČICO GOR se premaknete na prejšnji element seznama. Pritisnite tipko SPACE ali ENTER za izbiro elementa. Pritisnite tipko ESC, da zaprete seznam.\"},{name:\"Urejevalna vrstica poti elementa\",legend:\"Pritisnite ${elementsPathFocus} za pomikanje po vrstici elementnih poti. S TAB ali DESNA PUŠČICA se premaknete na naslednji gumb elementa. Z SHIFT + TAB ali LEVO PUŠČICO se premaknete na prejšnji gumb elementa. Pritisnite SPACE ali ENTER za izbiro elementa v urejevalniku.\"}]},\n{name:\"Ukazi\",items:[{name:\"Razveljavi ukaz\",legend:\"Pritisnite ${undo}\"},{name:\"Ponovi ukaz\",legend:\"Pritisnite ${redo}\"},{name:\"Krepki ukaz\",legend:\"Pritisnite ${bold}\"},{name:\"Ležeči ukaz\",legend:\"Pritisnite ${italic}\"},{name:\"Poudarni ukaz\",legend:\"Pritisnite ${underline}\"},{name:\"Ukaz povezave\",legend:\"Pritisnite ${link}\"},{name:\"Skrči Orodno Vrstico Ukaz\",legend:\"Pritisnite ${toolbarCollapse}\"},{name:\"Dostop do prejšnjega ukaza ostrenja\",legend:\"Pritisnite ${accessPreviousSpace} za dostop do najbližjega nedosegljivega osredotočenega prostora pred strešico, npr.: dva sosednja HR elementa. Ponovite kombinacijo tipk, da dosežete oddaljene osredotočene prostore.\"},\n{name:\"Dostop do naslednjega ukaza ostrenja\",legend:\"Pritisnite ${accessNextSpace} za dostop do najbližjega nedosegljivega osredotočenega prostora po strešici, npr.: dva sosednja HR elementa. Ponovite kombinacijo tipk, da dosežete oddaljene osredotočene prostore.\"},{name:\"Pomoč Dostopnosti\",legend:\"Pritisnite ${a11yHelp}\"}]}]});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/sk.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/sk.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"a11yhelp\",\"sk\",{title:\"Inštrukcie prístupnosti\",contents:\"Pomocný obsah. Pre zatvorenie tohto okna, stlačte ESC.\",legend:[{name:\"Všeobecne\",items:[{name:\"Lišta nástrojov editora\",legend:\"Stlačte ${toolbarFocus} pre navigáciu na lištu nástrojov. Medzi ďalšou a predchádzajúcou lištou nástrojov sa pohybujete s TAB a SHIFT-TAB. Medzi ďalším a predchádzajúcim tlačidlom na lište nástrojov sa pohybujete s pravou šípkou a ľavou šípkou. Stlačte medzerník alebo ENTER pre aktiváciu tlačidla lišty nástrojov.\"},\n{name:\"Editorový dialóg\",legend:\"V dialogu, stlačte TAB pre navigáciu na ďalšie dialógové pole, stlačte STIFT + TAB pre presun na predchádzajúce pole, stlačte ENTER pre odoslanie dialógu, stlačte ESC pre zrušenie dialógu. Pre dialógy, ktoré majú viac záložiek, stlačte ALT + F10 pre navigácou do zoznamu záložiek. Potom sa posúvajte k ďalšej žáložke pomocou TAB alebo pravou šípkou. Pre presun k predchádzajúcej záložke, stlačte SHIFT + TAB alebo ľavú šípku. Stlačte medzerník alebo ENTER pre vybranie záložky.\"},\n{name:\"Editorové kontextové menu\",legend:\"Stlačte ${contextMenu} alebo APPLICATION KEY pre otvorenie kontextového menu. Potom sa presúvajte na ďalšie možnosti menu s TAB alebo dolnou šípkou. Presunte sa k predchádzajúcej možnosti s SHIFT + TAB alebo hornou šípkou. Stlačte medzerník alebo ENTER pre výber možnosti menu. Otvorte pod-menu danej možnosti s medzerníkom, alebo ENTER, alebo pravou šípkou. Vráťte sa späť do položky rodičovského menu s ESC alebo ľavou šípkou. Zatvorte kontextové menu s ESC.\"},\n{name:\"Editorov box zoznamu\",legend:\"V boxe zoznamu, presuňte sa na ďalšiu položku v zozname s TAB alebo dolnou šípkou. Presuňte sa k predchádzajúcej položke v zozname so SHIFT + TAB alebo hornou šípkou. Stlačte medzerník alebo ENTER pre výber možnosti zoznamu. Stlačte ESC pre zatvorenie boxu zoznamu.\"},{name:\"Editorove pásmo cesty prvku\",legend:\"Stlačte ${elementsPathFocus} pre navigovanie na pásmo cesty elementu. Presuňte sa na tlačidlo ďalšieho prvku s TAB alebo pravou šípkou. Presuňte sa k predchádzajúcemu tlačidlu s SHIFT + TAB alebo ľavou šípkou. Stlačte medzerník alebo ENTER pre výber prvku v editore.\"}]},\n{name:\"Príkazy\",items:[{name:\"Vrátiť príkazy\",legend:\"Stlačte ${undo}\"},{name:\"Nanovo vrátiť príkaz\",legend:\"Stlačte ${redo}\"},{name:\"Príkaz na stučnenie\",legend:\"Stlačte ${bold}\"},{name:\"Príkaz na kurzívu\",legend:\"Stlačte ${italic}\"},{name:\"Príkaz na podčiarknutie\",legend:\"Stlačte ${underline}\"},{name:\"Príkaz na odkaz\",legend:\"Stlačte ${link}\"},{name:\"Príkaz na zbalenie lišty nástrojov\",legend:\"Stlačte ${toolbarCollapse}\"},{name:\"Prejsť na predchádzajúcu zamerateľnú medzeru príkazu\",legend:\"Stlačte ${accessPreviousSpace} pre prístup na najbližšie nedosiahnuteľné zamerateľné medzery pred vsuvkuo. Napríklad: dve za sebou idúce horizontálne čiary. Opakujte kombináciu klávesov pre dosiahnutie vzdialených zamerateľných medzier.\"},\n{name:\"Prejsť na ďalší \",legend:\"Stlačte ${accessNextSpace} pre prístup na najbližšie nedosiahnuteľné zamerateľné medzery po vsuvke. Napríklad: dve za sebou idúce horizontálne čiary. Opakujte kombináciu klávesov pre dosiahnutie vzdialených zamerateľných medzier.\"},{name:\"Pomoc prístupnosti\",legend:\"Stlačte ${a11yHelp}\"}]}]});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/nb.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/nb.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"a11yhelp\",\"nb\",{title:\"Instruksjoner for tilgjengelighet\",contents:\"Innhold for hjelp. Trykk ESC for å lukke denne dialogen.\",legend:[{name:\"Generelt\",items:[{name:\"Verktøylinje for editor\",legend:\"Trykk ${toolbarFocus} for å navigere til verktøylinjen. Flytt til neste og forrige verktøylinjegruppe med TAB og SHIFT-TAB. Flytt til neste og forrige verktøylinjeknapp med HØYRE PILTAST og VENSTRE PILTAST. Trykk MELLOMROM eller ENTER for å aktivere verktøylinjeknappen.\"},{name:\"Dialog for editor\",\nlegend:\"Mens du er i en dialog, trykk TAB for å navigere til neste dialogfelt, press SHIFT + TAB for å flytte til forrige felt, trykk ENTER for å akseptere dialogen, trykk ESC for å avbryte dialogen. For dialoger med flere faner, trykk ALT + F10 for å navigere til listen over faner. Gå til neste fane med TAB eller HØYRE PILTAST. Gå til forrige fane med SHIFT + TAB eller VENSTRE PILTAST. Trykk MELLOMROM eller ENTER for å velge fanen.\"},{name:\"Kontekstmeny for editor\",legend:\"Trykk ${contextMenu} eller MENYKNAPP for å åpne kontekstmeny. Gå til neste alternativ i menyen med TAB eller PILTAST NED. Gå til forrige alternativ med SHIFT+TAB eller PILTAST OPP. Trykk MELLOMROM eller ENTER for å velge menyalternativet. Åpne undermenyen på valgt alternativ med MELLOMROM eller ENTER eller HØYRE PILTAST. Gå tilbake til overordnet menyelement med ESC eller VENSTRE PILTAST. Lukk kontekstmenyen med ESC.\"},\n{name:\"Listeboks for editor\",legend:\"I en listeboks, gå til neste alternativ i listen med TAB eller PILTAST NED. Gå til forrige alternativ i listen med SHIFT + TAB eller PILTAST OPP. Trykk MELLOMROM eller ENTER for å velge alternativet i listen. Trykk ESC for å lukke listeboksen.\"},{name:\"Verktøylinje for elementsti\",legend:\"Trykk ${elementsPathFocus} for å navigere til verktøylinjen som viser elementsti. Gå til neste elementknapp med TAB eller HØYRE PILTAST. Gå til forrige elementknapp med SHIFT+TAB eller VENSTRE PILTAST. Trykk MELLOMROM eller ENTER for å velge elementet i editoren.\"}]},\n{name:\"Hurtigtaster\",items:[{name:\"Angre\",legend:\"Trykk ${undo}\"},{name:\"Gjør om\",legend:\"Trykk ${redo}\"},{name:\"Fet tekst\",legend:\"Trykk ${bold}\"},{name:\"Kursiv tekst\",legend:\"Trykk ${italic}\"},{name:\"Understreking\",legend:\"Trykk ${underline}\"},{name:\"Lenke\",legend:\"Trykk ${link}\"},{name:\"Skjul verktøylinje\",legend:\"Trykk ${toolbarCollapse}\"},{name:\"Gå til forrige fokusområde\",legend:\"Trykk ${accessPreviousSpace} for å komme til nærmeste fokusområde før skrivemarkøren som ikke kan nås på vanlig måte, for eksempel to tilstøtende HR-elementer. Gjenta tastekombinasjonen for å komme til fokusområder lenger unna i dokumentet.\"},\n{name:\"Gå til neste fokusområde\",legend:\"Trykk ${accessNextSpace} for å komme til nærmeste fokusområde etter skrivemarkøren som ikke kan nås på vanlig måte, for eksempel to tilstøtende HR-elementer. Gjenta tastekombinasjonen for å komme til fokusområder lenger unna i dokumentet.\"},{name:\"Hjelp for tilgjengelighet\",legend:\"Trykk ${a11yHelp}\"}]}]});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/gl.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/gl.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"a11yhelp\",\"gl\",{title:\"Instrucións de accesibilidade\",contents:\"Axuda. Para pechar este diálogo prema ESC.\",legend:[{name:\"Xeral\",items:[{name:\"Barra de ferramentas do editor\",legend:\"Prema ${toolbarFocus} para navegar pola barra de ferramentas. Para moverse polos distintos grupos de ferramentas use as teclas TAB e MAIÚS+TAB. Para moverse polas distintas ferramentas use FRECHA DEREITA ou FRECHA ESQUERDA. Prema ESPAZO ou INTRO para activar o botón da barra de ferramentas.\"},\n{name:\"Editor de diálogo\",legend:\"Dentro dun cadro de diálogo, prema a tecla TAB para desprazarse ao campo seguinte do cadro de diálogo, prema MAIÚS + TAB para desprazarse ao campo anterior, prema INTRO para presentar o cadro de diálogo, prema a tecla ESC para cancelar o diálogo. Para os diálogos que teñen varias páxinas, prema ALT + F10 para navegar á lapela da lista. Despois pasar á seguinte lapela con TAB ou FRECHA DEREITA. Para ir á lapela anterior con SHIFT + TAB ou FRECHA ESQUERDA. Prema ESPAZO ou INTRO para seleccionar a lapela da páxina.\"},\n{name:\"Editor do menú contextual\",legend:\"Prema ${contextMenu} ou a TECLA MENÚ para abrir o menú contextual. A seguir móvase á seguinte opción do menú con TAB ou FRECHA ABAIXO. Móvase á opción anterior con MAIÚS + TAB ou FRECHA ARRIBA. Prema ESPAZO ou INTRO para seleccionar a opción do menú. Abra o submenú da opción actual con ESPAZO ou INTRO ou FRECHA DEREITA. Regrese ao elemento principal do menú con ESC ou FRECHA ESQUERDA. Peche o menú contextual con ESC.\"},{name:\"Lista do editor\",legend:\"Dentro dunha lista, móvase ao seguinte elemento da lista con TAB ou FRECHA ABAIXO. Móvase ao elemento anterior da lista con MAIÚS + TAB ou FRECHA ARRIBA. Prema ESPAZO ou INTRO para escoller a opción da lista. Prema ESC para pechar a lista.\"},\n{name:\"Barra da ruta ao elemento no editor\",legend:\"Prema ${elementsPathFocus} para navegar ata os elementos da barra de ruta. Móvase ao seguinte elemento botón con TAB ou FRECHA DEREITA. Móvase ao botón anterior con MAIÚS + TAB ou FRECHA ESQUERDA. Prema ESPAZO ou INTRO para seleccionar o elemento no editor.\"}]},{name:\"Ordes\",items:[{name:\"Orde «desfacer»\",legend:\"Prema ${undo}\"},{name:\"Orde «refacer»\",legend:\"Prema ${redo}\"},{name:\"Orde «negra»\",legend:\"Prema ${bold}\"},{name:\"Orde «cursiva»\",legend:\"Prema ${italic}\"},\n{name:\"Orde «subliñar»\",legend:\"Prema ${underline}\"},{name:\"Orde «ligazón»\",legend:\"Prema ${link}\"},{name:\"Orde «contraer a barra de ferramentas»\",legend:\"Prema ${toolbarCollapse}\"},{name:\"Orde «acceder ao anterior espazo en foco»\",legend:\"Prema ${accessPreviousSpace} para acceder ao espazo máis próximo de foco inalcanzábel anterior ao cursor, por exemplo: dous elementos HR adxacentes. Repita a combinación de teclas para chegar a espazos de foco distantes.\"},{name:\"Orde «acceder ao seguinte espazo en foco»\",\nlegend:\"Prema ${accessNextSpace} para acceder ao espazo máis próximo de foco inalcanzábel posterior ao cursor, por exemplo: dous elementos HR adxacentes. Repita a combinación de teclas para chegar a espazos de foco distantes.\"},{name:\"Axuda da accesibilidade\",legend:\"Prema ${a11yHelp}\"}]}]});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/en.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/en.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"a11yhelp\",\"en\",{title:\"Accessibility Instructions\",contents:\"Help Contents. To close this dialog press ESC.\",legend:[{name:\"General\",items:[{name:\"Editor Toolbar\",legend:\"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT-TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button.\"},{name:\"Editor Dialog\",legend:\"Inside a dialog, press TAB to navigate to next dialog field, press SHIFT + TAB to move to previous field, press ENTER to submit dialog, press ESC to cancel dialog. For dialogs that have multiple tab pages, press ALT + F10 to navigate to tab-list. Then move to next tab with TAB OR RIGTH ARROW. Move to previous tab with SHIFT + TAB or LEFT ARROW. Press SPACE or ENTER to select the tab page.\"},\n{name:\"Editor Context Menu\",legend:\"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC.\"},{name:\"Editor List Box\",legend:\"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT + TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box.\"},\n{name:\"Editor Element Path Bar\",legend:\"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with  SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor.\"}]},{name:\"Commands\",items:[{name:\" Undo command\",legend:\"Press ${undo}\"},{name:\" Redo command\",legend:\"Press ${redo}\"},{name:\" Bold command\",legend:\"Press ${bold}\"},{name:\" Italic command\",legend:\"Press ${italic}\"},{name:\" Underline command\",\nlegend:\"Press ${underline}\"},{name:\" Link command\",legend:\"Press ${link}\"},{name:\" Toolbar Collapse command\",legend:\"Press ${toolbarCollapse}\"},{name:\" Access previous focus space command\",legend:\"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces.\"},{name:\" Access next focus space command\",legend:\"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces.\"},\n{name:\" Accessibility Help\",legend:\"Press ${a11yHelp}\"}]}]});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/et.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/et.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"a11yhelp\",\"et\",{title:\"Accessibility Instructions\",contents:\"Abi sisu. Selle dialoogi sulgemiseks vajuta ESC klahvi.\",legend:[{name:\"Üldine\",items:[{name:\"Editor Toolbar\",legend:\"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT-TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button.\"},{name:\"Editor Dialog\",legend:\"Inside a dialog, press TAB to navigate to next dialog field, press SHIFT + TAB to move to previous field, press ENTER to submit dialog, press ESC to cancel dialog. For dialogs that have multiple tab pages, press ALT + F10 to navigate to tab-list. Then move to next tab with TAB OR RIGTH ARROW. Move to previous tab with SHIFT + TAB or LEFT ARROW. Press SPACE or ENTER to select the tab page.\"},\n{name:\"Editor Context Menu\",legend:\"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC.\"},{name:\"Editor List Box\",legend:\"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT + TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box.\"},\n{name:\"Editor Element Path Bar\",legend:\"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with  SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor.\"}]},{name:\"Commands\",items:[{name:\" Undo command\",legend:\"Press ${undo}\"},{name:\" Redo command\",legend:\"Press ${redo}\"},{name:\" Bold command\",legend:\"Press ${bold}\"},{name:\" Italic command\",legend:\"Press ${italic}\"},{name:\" Underline command\",\nlegend:\"Press ${underline}\"},{name:\" Link command\",legend:\"Press ${link}\"},{name:\" Toolbar Collapse command\",legend:\"Press ${toolbarCollapse}\"},{name:\" Access previous focus space command\",legend:\"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces.\"},{name:\" Access next focus space command\",legend:\"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces.\"},\n{name:\" Accessibility Help\",legend:\"Press ${a11yHelp}\"}]}]});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/gu.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/gu.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"a11yhelp\",\"gu\",{title:\"એક્ક્ષેબિલિટી ની વિગતો\",contents:\"હેલ્પ. આ બંધ કરવા ESC દબાવો.\",legend:[{name:\"જનરલ\",items:[{name:\"એડિટર ટૂલબાર\",legend:\"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT-TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button.\"},{name:\"એડિટર ડાયલોગ\",legend:\"Inside a dialog, press TAB to navigate to next dialog field, press SHIFT + TAB to move to previous field, press ENTER to submit dialog, press ESC to cancel dialog. For dialogs that have multiple tab pages, press ALT + F10 to navigate to tab-list. Then move to next tab with TAB OR RIGTH ARROW. Move to previous tab with SHIFT + TAB or LEFT ARROW. Press SPACE or ENTER to select the tab page.\"},\n{name:\"Editor Context Menu\",legend:\"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC.\"},{name:\"Editor List Box\",legend:\"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT + TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box.\"},\n{name:\"Editor Element Path Bar\",legend:\"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with  SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor.\"}]},{name:\"કમાંડસ\",items:[{name:\"અન્ડું કમાંડ\",legend:\"$ દબાવો {undo}\"},{name:\"ફરી કરો કમાંડ\",legend:\"$ દબાવો {redo}\"},{name:\"બોલ્દનો કમાંડ\",legend:\"$ દબાવો {bold}\"},{name:\" Italic command\",legend:\"Press ${italic}\"},{name:\" Underline command\",\nlegend:\"Press ${underline}\"},{name:\" Link command\",legend:\"Press ${link}\"},{name:\" Toolbar Collapse command\",legend:\"Press ${toolbarCollapse}\"},{name:\" Access previous focus space command\",legend:\"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces.\"},{name:\" Access next focus space command\",legend:\"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces.\"},\n{name:\" Accessibility Help\",legend:\"Press ${a11yHelp}\"}]}]});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/ja.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/ja.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"a11yhelp\",\"ja\",{title:\"ユーザー補助の説明\",contents:\"ヘルプ このダイアログを閉じるには ESCを押してください。\",legend:[{name:\"全般\",items:[{name:\"エディターツールバー\",legend:\"${toolbarFocus} を押すとツールバーのオン/オフ操作ができます。カーソルをツールバーのグループで移動させるにはTabかSHIFT+Tabを押します。グループ内でカーソルを移動させるには、右カーソルか左カーソルを押します。スペースキーやエンターを押すとボタンを有効/無効にすることができます。\"},{name:\"編集ダイアログ\",legend:\"ダイヤログ内では、ダイアログの次の選択肢に移動するにはTabを押します。前の選択肢に移動するには、SHIFT+Tabを押します。ダイアログを決定するには、ENTERを押します。ESCでダイアログをキャンセルできます。複数のタブがあるダイアログではタブリストを操作するにはALT+F10を押します。次のタブに移動するにはTabか右カーソル、前のタブに戻るにはSHIFT+Tabか左カーソルです。タブページを決定するにはスペースもしくは、ENTERキーを押してください。\"},\n{name:\"エディターのメニュー\",legend:\"${contextMenu} キーかAPPLICATION KEYを押すとコンテキストメニューが開きます。Tabか下カーソルでメニューのオプション選択が下に移動します。戻るには、SHIFT+Tabか上カーソルです。スペースもしくはENTERキーでメニューオプションを決定できます。現在選んでいるオプションのサブメニューを開くには、スペース、もしくは右カーソルを押します。サブメニューから親メニューに戻るには、ESCか左カーソルを押してください。ESCでコンテキストメニュー自体をキャンセルできます。\"},{name:\"エディターリストボックス\",legend:\"リストボックス内で移動するには、Tabか下カーソルで次のアイテムへ移動します。SHIFT+Tabで前のアイテムに戻ります。リストのオプションを選択するには、スペースもしくは、ENTERを押してください。リストボックスを閉じるには、ESCを押してください。\"},{name:\"エディター要素パスバー\",legend:\"${elementsPathFocus} を押すとエレメントパスバーを操作出来ます。Tabか右カーソルで次のエレメントを選択できます。前のエレメントを選択するには、SHIFT+Tabか左カーソルです。スペースもしくは、ENTERでエディタ内の対象エレメントを選択出来ます。\"}]},\n{name:\"コマンド\",items:[{name:\"元に戻す\",legend:\"${undo} をクリック\"},{name:\"やり直し\",legend:\"${redo} をクリック\"},{name:\"太字\",legend:\"${bold} をクリック\"},{name:\"斜体 \",legend:\"${italic} をクリック\"},{name:\"下線\",legend:\"${underline} をクリック\"},{name:\"リンク\",legend:\"${link} をクリック\"},{name:\"ツールバーを縮める\",legend:\"${toolbarCollapse} をクリック\"},{name:\"前のカーソル移動のできないポイントへ\",legend:\"${accessPreviousSpace} を押すとカーソルより前にあるカーソルキーで入り込めないスペースへ移動できます。例えば、HRエレメントが2つ接している場合などです。離れた場所へは、複数回キーを押します。\"},{name:\"次のカーソル移動のできないポイントへ\",legend:\"${accessNextSpace} を押すとカーソルより後ろにあるカーソルキーで入り込めないスペースへ移動できます。例えば、HRエレメントが2つ接している場合などです。離れた場所へは、複数回キーを押します。\"},\n{name:\"ユーザー補助ヘルプ\",legend:\"${a11yHelp} をクリック\"}]}]});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/it.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/it.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"a11yhelp\",\"it\",{title:\"Istruzioni di Accessibilità\",contents:\"Contenuti di Aiuto. Per chiudere questa finestra premi ESC.\",legend:[{name:\"Generale\",items:[{name:\"Barra degli strumenti Editor\",legend:\"Premi ${toolbarFocus} per navigare fino alla barra degli strumenti. Muoviti tra i gruppi della barra degli strumenti con i tasti Tab e Maiusc-Tab. Spostati tra il successivo ed il precedente pulsante della barra degli strumenti usando le frecce direzionali Destra e Sinistra. Premi Spazio o Invio per attivare il pulsante della barra degli strumenti.\"},\n{name:\"Finestra Editor\",legend:\"All'interno di una finestra di dialogo, premi Tab per navigare fino al campo successivo della finestra di dialogo, premi Maiusc-Tab per tornare al campo precedente, premi Invio per inviare la finestra di dialogo, premi Esc per uscire. Per le finestre che hanno schede multiple, premi Alt+F10 per navigare nella lista delle schede. Quindi spostati alla scheda successiva con il tasto Tab oppure con la Freccia Destra. Torna alla scheda precedente con Maiusc+Tab oppure con la Freccia Sinistra. Premi Spazio o Invio per scegliere la scheda.\"},\n{name:\"Menù contestuale Editor\",legend:\"Premi ${contextMenu} o TASTO APPLICAZIONE per aprire il menu contestuale. Dunque muoviti all'opzione successiva del menu con il tasto TAB o con la Freccia Sotto. Muoviti all'opzione precedente con  MAIUSC+TAB o con Freccia Sopra. Premi SPAZIO o INVIO per scegliere l'opzione di menu. Apri il sottomenu dell'opzione corrente con SPAZIO o INVIO oppure con la Freccia Destra. Torna indietro al menu superiore con ESC oppure Freccia Sinistra. Chiudi il menu contestuale con ESC.\"},\n{name:\"Box Lista Editor\",legend:\"Dentro un box-lista, muoviti al prossimo elemento della lista con TAB o con la Freccia direzionale giù. Spostati all'elemento precedente con MAIUSC+TAB oppure con Freccia direzionale sopra. Premi SPAZIO o INVIO per scegliere l'opzione della lista. Premi ESC per chiudere il box-lista.\"},{name:\"Barra percorso elementi editor\",legend:\"Premi ${elementsPathFocus} per navigare tra gli elementi della barra percorso. Muoviti al prossimo pulsante di elemento con TAB o la Freccia direzionale destra. Muoviti al pulsante precedente con MAIUSC+TAB o la Freccia Direzionale Sinistra. Premi SPAZIO o INVIO per scegliere l'elemento nell'editor.\"}]},\n{name:\"Comandi\",items:[{name:\" Annulla comando\",legend:\"Premi ${undo}\"},{name:\" Ripeti comando\",legend:\"Premi ${redo}\"},{name:\" Comando Grassetto\",legend:\"Premi ${bold}\"},{name:\" Comando Corsivo\",legend:\"Premi ${italic}\"},{name:\" Comando Sottolineato\",legend:\"Premi ${underline}\"},{name:\" Comando Link\",legend:\"Premi ${link}\"},{name:\" Comando riduci barra degli strumenti\",legend:\"Premi ${toolbarCollapse}\"},{name:\"Comando di accesso al precedente spazio di focus\",legend:\"Premi ${accessPreviousSpace} per accedere il più vicino spazio di focus non raggiungibile prima del simbolo caret, per esempio due elementi HR adiacenti. Ripeti la combinazione di tasti per raggiungere spazi di focus distanti.\"},\n{name:\"Comando di accesso al prossimo spazio di focus\",legend:\"Premi ${accessNextSpace} per accedere il più vicino spazio di focus non raggiungibile dopo il simbolo caret, per esempio due elementi HR adiacenti. Ripeti la combinazione di tasti per raggiungere spazi di focus distanti.\"},{name:\" Aiuto Accessibilità\",legend:\"Premi ${a11yHelp}\"}]}]});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/ca.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/ca.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"a11yhelp\",\"ca\",{title:\"Instruccions d'Accessibilitat\",contents:\"Continguts de l'Ajuda. Per tancar aquest quadre de diàleg premi ESC.\",legend:[{name:\"General\",items:[{name:\"Editor de barra d'eines\",legend:\"Premi ${toolbarFocus} per desplaçar-se per la barra d'eines. Vagi en el següent i anterior grup de barra d'eines amb TAB i SHIFT-TAB. Vagi en el següent i anterior botó de la barra d'eines amb RIGHT ARROW i LEFT ARROW. Premi SPACE o ENTER per activar el botó de la barra d'eines.\"},\n{name:\"Editor de quadre de diàleg\",legend:\"Dins d'un quadre de diàleg, premi la tecla TAB per desplaçar-se al següent camp del quadre de diàleg, premi SHIFT + TAB per desplaçar-se a l'anterior camp, premi ENTER per acceptar el quadre de diàleg, premi ESC per cancel·lar el quadre de diàleg. Per els quadres de diàleg que tenen diverses pestanyes, premi ALT + F10 per anar a la llista de pestanyes. Després podrà desplaçar-se a la següent pestanya amb TAB o RIGHT ARROW. Anar a la pestanya anterior amb SHIFT + TAB o LEFT ARROW. Premi SPACE o ENTER per seleccionar la pestanya.\"},\n{name:\"Editor de menú contextual\",legend:\"Premi ${contextMenu} o APPLICATION KEY per obrir el menú contextual. Després desplacis a la següent opció del menú amb TAB o DOWN ARROW. Desplacis a l'anterior opció amb SHIFT+TAB o UP ARROW. Premi SPACE o ENTER per seleccionar l'opció del menú. Obri el submenú de l'actual opció utilitzant SPACE o ENTER o RIGHT ARROW. Pot tornar a l'opció del menú pare amb ESC o LEFT ARROW. Tanqui el menú contextual amb ESC.\"},{name:\"Editor de caixa de llista\",legend:\"Dins d'un quadre de llista, desplacis al següent element de la llista amb TAB o DOWN ARROW. Desplacis a l'anterior element de la llista amb SHIFT + TAB o UP ARROW. Premi SPACE o ENTER per seleccionar l'opció de la llista. Premi ESC per tancar el quadre de llista.\"},\n{name:\"Editor de barra de ruta de l'element\",legend:\"Premi ${elementsPathFocus} per anar als elements de la barra de ruta. Desplacis al botó de l'element següent amb TAB o RIGHT ARROW. Desplacis a l'anterior botó amb  SHIFT+TAB o LEFT ARROW. Premi SPACE o ENTER per seleccionar l'element a l'editor.\"}]},{name:\"Ordres\",items:[{name:\"Desfer ordre\",legend:\"Premi ${undo}\"},{name:\"Refer ordre\",legend:\"Premi ${redo}\"},{name:\"Ordre negreta\",legend:\"Premi ${bold}\"},{name:\"Ordre cursiva\",legend:\"Premi ${italic}\"},\n{name:\"Ordre subratllat\",legend:\"Premi ${underline}\"},{name:\"Ordre enllaç\",legend:\"Premi ${link}\"},{name:\"Ordre amagar barra d'eines\",legend:\"Premi ${toolbarCollapse}\"},{name:\"Ordre per accedir a l'anterior espai enfocat\",legend:\"Premi ${accessPreviousSpace} per accedir a l'enfocament d'espai més proper inabastable abans del símbol d'intercalació, per exemple: dos elements HR adjacents. Repetiu la combinació de tecles per arribar a enfocaments d'espais distants.\"},{name:\"Ordre per accedir al següent espai enfocat\",\nlegend:\"Premi ${accessNextSpace} per accedir a l'enfocament d'espai més proper inabastable després del símbol d'intercalació, per exemple: dos elements HR adjacents. Repetiu la combinació de tecles per arribar a enfocaments d'espais distants.\"},{name:\"Ajuda d'accessibilitat\",legend:\"Premi ${a11yHelp}\"}]}]});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/ru.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/ru.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"a11yhelp\",\"ru\",{title:\"Горячие клавиши\",contents:\"Помощь. Для закрытия этого окна нажмите ESC.\",legend:[{name:\"Основное\",items:[{name:\"Панель инструментов\",legend:\"Нажмите ${toolbarFocus} для перехода к панели инструментов. Для перемещения между группами панели инструментов используйте TAB и SHIFT-TAB. Для перемещения между кнопками панели иструментов используйте кнопки ВПРАВО или ВЛЕВО. Нажмите ПРОБЕЛ или ENTER для запуска кнопки панели инструментов.\"},{name:\"Диалоги\",legend:\"В диалоговом окне, нажмите клавишу TAB для перехода к следующему диалоговому полю, нажмите клавиши SHIFT + TAB, чтобы перейти к предыдущему полю, нажмите ENTER, чтобы отправить данные, нажмите клавишу ESC, для отмены. Для окон, которые имеют несколько вкладок, нажмите ALT + F10 для перехода к списку вкладок. Переход к следующей вкладке TAB ИЛИ ПРАВУЮ СТРЕЛКУ. Переход к предыдущей вкладке с помощью SHIFT + TAB или ЛЕВАЯ СТРЕЛКА. Нажмите ПРОБЕЛ или ENTER, чтобы выбрать вкладку.\"},\n{name:\"Контекстное меню\",legend:'Нажмите ${contextMenu} или клавишу APPLICATION, чтобы открыть контекстное меню. Затем перейдите к следующему пункту меню с помощью TAB или стрелкой \"ВНИЗ\". Переход к предыдущей опции - SHIFT+TAB или стрелкой \"ВВЕРХ\". Нажмите SPACE, или ENTER, чтобы задействовать опцию меню. Открыть подменю текущей опции - SPACE или ENTER или стрелкой \"ВПРАВО\". Возврат к родительскому пункту меню - ESC или стрелкой \"ВЛЕВО\". Закрытие контекстного меню - ESC.'},{name:\"Редактор списка\",\nlegend:'Внутри окна списка, переход к следующему пункту списка - TAB или стрелкой \"ВНИЗ\". Переход к предыдущему пункту списка - SHIFT + TAB или стрелкой \"ВВЕРХ\". Нажмите SPACE, или ENTER, чтобы задействовать опцию списка. Нажмите ESC, чтобы закрыть окно списка.'},{name:\"Путь к элементу\",legend:'Нажмите ${elementsPathFocus}, чтобы перейти к панели пути элементов. Переход к следующей кнопке элемента - TAB или стрелкой \"ВПРАВО\". Переход к предыдущей кнопку - SHIFT+TAB или стрелкой \"ВЛЕВО\". Нажмите SPACE, или ENTER, чтобы выбрать элемент в редакторе.'}]},\n{name:\"Команды\",items:[{name:\"Отменить\",legend:\"Нажмите ${undo}\"},{name:\"Повторить\",legend:\"Нажмите ${redo}\"},{name:\"Полужирный\",legend:\"Нажмите ${bold}\"},{name:\"Курсив\",legend:\"Нажмите ${italic}\"},{name:\"Подчеркнутый\",legend:\"Нажмите ${underline}\"},{name:\"Гиперссылка\",legend:\"Нажмите ${link}\"},{name:\"Свернуть панель инструментов\",legend:\"Нажмите ${toolbarCollapse}\"},{name:\"Команды доступа к предыдущему фокусному пространству\",legend:'Нажмите ${accessPreviousSpace}, чтобы обратиться к ближайшему недостижимому фокусному пространству перед символом \"^\", например: два смежных HR элемента. Повторите комбинацию клавиш, чтобы достичь отдаленных фокусных пространств.'},\n{name:\"Команды доступа к следующему фокусному пространству\",legend:\"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces.\"},{name:\"Справка по горячим клавишам\",legend:\"Нажмите ${a11yHelp}\"}]}]});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/km.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/km.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"a11yhelp\",\"km\",{title:\"Accessibility Instructions\",contents:\"Help Contents. To close this dialog press ESC.\",legend:[{name:\"ទូទៅ\",items:[{name:\"Editor Toolbar\",legend:\"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT-TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button.\"},{name:\"Editor Dialog\",legend:\"Inside a dialog, press TAB to navigate to next dialog field, press SHIFT + TAB to move to previous field, press ENTER to submit dialog, press ESC to cancel dialog. For dialogs that have multiple tab pages, press ALT + F10 to navigate to tab-list. Then move to next tab with TAB OR RIGTH ARROW. Move to previous tab with SHIFT + TAB or LEFT ARROW. Press SPACE or ENTER to select the tab page.\"},\n{name:\"Editor Context Menu\",legend:\"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC.\"},{name:\"Editor List Box\",legend:\"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT + TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box.\"},\n{name:\"Editor Element Path Bar\",legend:\"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with  SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor.\"}]},{name:\"Commands\",items:[{name:\" Undo command\",legend:\"Press ${undo}\"},{name:\" Redo command\",legend:\"Press ${redo}\"},{name:\" Bold command\",legend:\"Press ${bold}\"},{name:\" Italic command\",legend:\"Press ${italic}\"},{name:\" Underline command\",\nlegend:\"Press ${underline}\"},{name:\" Link command\",legend:\"Press ${link}\"},{name:\" Toolbar Collapse command\",legend:\"Press ${toolbarCollapse}\"},{name:\" Access previous focus space command\",legend:\"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces.\"},{name:\" Access next focus space command\",legend:\"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces.\"},\n{name:\" Accessibility Help\",legend:\"Press ${a11yHelp}\"}]}]});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/fa.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/fa.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"a11yhelp\",\"fa\",{title:\"دستورالعمل‌های دسترسی\",contents:\"راهنمای فهرست مطالب. برای بستن این کادر محاوره‌ای ESC را فشار دهید.\",legend:[{name:\"عمومی\",items:[{name:\"نوار ابزار ویرایشگر\",legend:\"${toolbarFocus} را برای باز کردن نوار ابزار بفشارید. با کلید Tab و Shif-Tab در مجموعه نوار ابزار بعدی و قبلی حرکت کنید. برای حرکت در کلید نوار ابزار قبلی و بعدی با کلید جهت‌نمای راست و چپ جابجا شوید. کلید Space یا Enter را برای فعال کردن کلید نوار ابزار بفشارید.\"},{name:\"پنجره محاورهای ویرایشگر\",\nlegend:\"در داخل یک پنجره محاورهای، کلید Tab را بفشارید تا به پنجرهی بعدی بروید، Shift+Tab برای حرکت به فیلد قبلی، فشردن Enter برای ثبت اطلاعات پنجره، فشردن Esc برای لغو پنجره محاورهای و برای پنجرههایی که چندین برگه دارند، فشردن Alt+F10 جهت رفتن به Tab-List. در نهایت حرکت به برگه بعدی با Tab یا کلید جهتنمای راست. حرکت به برگه قبلی با Shift+Tab یا کلید جهتنمای چپ. فشردن Space یا Enter برای انتخاب یک برگه.\"},{name:\"منوی متنی ویرایشگر\",legend:\"${contextMenu} یا کلید برنامههای کاربردی را برای باز کردن منوی متن را بفشارید. سپس میتوانید برای حرکت به گزینه بعدی منو با کلید Tab و یا کلید جهتنمای پایین جابجا شوید. حرکت به گزینه قبلی با Shift+Tab یا کلید جهتنمای بالا. فشردن Space یا Enter برای انتخاب یک گزینه از منو. باز کردن زیر شاخه گزینه منو جاری با کلید Space یا Enter و یا کلید جهتنمای راست و چپ. بازگشت به منوی والد با کلید Esc یا کلید جهتنمای چپ. بستن منوی متن با Esc.\"},\n{name:\"جعبه فهرست ویرایشگر\",legend:\"در داخل جعبه لیست، قلم دوم از اقلام لیست بعدی را با TAB و یا Arrow Down حرکت دهید. انتقال به قلم دوم از اقلام لیست قبلی را با SHIFT + TAB یا UP ARROW. کلید Space یا ENTER را برای انتخاب گزینه لیست بفشارید. کلید ESC را برای بستن جعبه لیست بفشارید.\"},{name:\"ویرایشگر عنصر نوار راه\",legend:\"برای رفتن به مسیر عناصر ${elementsPathFocus} را بفشارید. حرکت به کلید عنصر بعدی با کلید Tab یا  کلید جهت‌نمای راست. برگشت به کلید قبلی با Shift+Tab یا کلید جهت‌نمای چپ. فشردن Space یا Enter برای انتخاب یک عنصر در ویرایشگر.\"}]},\n{name:\"فرمان‌ها\",items:[{name:\"بازگشت به آخرین فرمان\",legend:\"فشردن ${undo}\"},{name:\"انجام مجدد فرمان\",legend:\"فشردن ${redo}\"},{name:\"فرمان درشت کردن متن\",legend:\"فشردن ${bold}\"},{name:\"فرمان کج کردن متن\",legend:\"فشردن ${italic}\"},{name:\"فرمان زیرخطدار کردن متن\",legend:\"فشردن ${underline}\"},{name:\"فرمان پیوند دادن\",legend:\"فشردن ${link}\"},{name:\"بستن نوار ابزار فرمان\",legend:\"فشردن ${toolbarCollapse}\"},{name:\"دسترسی به فرمان محل تمرکز قبلی\",legend:\"فشردن ${accessPreviousSpace} برای دسترسی به نزدیک‌ترین فضای قابل دسترسی تمرکز قبل از هشتک، برای مثال: دو عنصر مجاور HR -خط افقی-. تکرار کلید ترکیبی برای رسیدن به فضاهای تمرکز از راه دور.\"},\n{name:\"دسترسی به فضای دستور بعدی\",legend:\"برای دسترسی به نزدیک‌ترین فضای تمرکز غیر قابل دسترس، ${accessNextSpace} را پس از علامت هشتک بفشارید، برای مثال:  دو عنصر مجاور HR -خط افقی-. کلید ترکیبی را برای رسیدن به فضای تمرکز تکرار کنید.\"},{name:\"راهنمای دسترسی\",legend:\"فشردن ${a11yHelp}\"}]}]});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/fi.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/fi.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"a11yhelp\",\"fi\",{title:\"Saavutettavuus ohjeet\",contents:\"Ohjeen sisällöt. Sulkeaksesi tämän dialogin paina ESC.\",legend:[{name:\"Yleinen\",items:[{name:\"Editorin työkalupalkki\",legend:\"Paina ${toolbarFocus} siirtyäksesi työkalupalkkiin. Siirry seuraavaan ja edelliseen työkalupalkin ryhmään TAB ja SHIFT-TAB näppäimillä. Siirry seuraavaan ja edelliseen työkalupainikkeeseen käyttämällä NUOLI OIKEALLE tai NUOLI VASEMMALLE näppäimillä. Paina VÄLILYÖNTI tai ENTER näppäintä aktivoidaksesi työkalupainikkeen.\"},\n{name:\"Editorin dialogi\",legend:\"Dialogin sisällä, painamalla TAB siirryt seuraavaan dialogin kenttään, painamalla SHIFT+TAB siirryt aiempaan kenttään, painamalla ENTER lähetät dialogin, painamalla ESC peruutat dialogin. Dialogeille joissa on useita välilehtiä, paina ALT+F10 siirtyäksesi välillehtilistaan. Siirtyäksesi seuraavaan välilehteen paina TAB tai NUOLI OIKEALLE. Siirry edelliseen välilehteen painamalla SHIFT+TAB tai nuoli vasemmalle. Paina VÄLILYÖNTI tai ENTER valitaksesi välilehden.\"},{name:\"Editorin oheisvalikko\",\nlegend:\"Paina ${contextMenu} tai SOVELLUSPAINIKETTA avataksesi oheisvalikon. Liiku seuraavaan valikon vaihtoehtoon TAB tai NUOLI ALAS näppäimillä. Siirry edelliseen vaihtoehtoon SHIFT+TAB tai NUOLI YLÖS näppäimillä. Paina VÄLILYÖNTI tai ENTER valitaksesi valikon kohdan. Avataksesi nykyisen kohdan alivalikon paina VÄLILYÖNTI tai ENTER tai NUOLI OIKEALLE painiketta. Siirtyäksesi takaisin valikon ylemmälle tasolle paina ESC tai NUOLI vasemmalle. Oheisvalikko suljetaan ESC painikkeella.\"},{name:\"Editorin listalaatikko\",\nlegend:\"Listalaatikon sisällä siirry seuraavaan listan kohtaan TAB tai NUOLI ALAS painikkeilla. Siirry edelliseen listan kohtaan SHIFT+TAB tai NUOLI YLÖS painikkeilla. Paina VÄLILYÖNTI tai ENTER valitaksesi listan vaihtoehdon. Paina ESC sulkeaksesi listalaatikon.\"},{name:\"Editorin elementtipolun palkki\",legend:\"Paina ${elementsPathFocus} siirtyäksesi elementtipolun palkkiin. Siirry seuraavaan elementtipainikkeeseen TAB tai NUOLI OIKEALLE painikkeilla. Siirry aiempaan painikkeeseen SHIFT+TAB tai NUOLI VASEMMALLE painikkeilla. Paina VÄLILYÖNTI tai ENTER valitaksesi elementin editorissa.\"}]},\n{name:\"Komennot\",items:[{name:\"Peruuta komento\",legend:\"Paina ${undo}\"},{name:\"Tee uudelleen komento\",legend:\"Paina ${redo}\"},{name:\"Lihavoi komento\",legend:\"Paina ${bold}\"},{name:\"Kursivoi komento\",legend:\"Paina ${italic}\"},{name:\"Alleviivaa komento\",legend:\"Paina ${underline}\"},{name:\"Linkki komento\",legend:\"Paina ${link}\"},{name:\"Pienennä työkalupalkki komento\",legend:\"Paina ${toolbarCollapse}\"},{name:\"Siirry aiempaan fokustilaan komento\",legend:\"Paina ${accessPreviousSpace} siiryäksesi lähimpään kursorin edellä olevaan saavuttamattomaan fokustilaan, esimerkiksi: kaksi vierekkäistä HR elementtiä. Toista näppäinyhdistelmää päästäksesi kauempana oleviin fokustiloihin.\"},\n{name:\"Siirry seuraavaan fokustilaan komento\",legend:\"Paina ${accessPreviousSpace} siiryäksesi lähimpään kursorin jälkeen olevaan saavuttamattomaan fokustilaan, esimerkiksi: kaksi vierekkäistä HR elementtiä. Toista näppäinyhdistelmää päästäksesi kauempana oleviin fokustiloihin.\"},{name:\"Saavutettavuus ohjeet\",legend:\"Paina ${a11yHelp}\"}]}]});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/sv.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/sv.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"a11yhelp\",\"sv\",{title:\"Hjälpmedelsinstruktioner\",contents:\"Hjälpinnehåll. För att stänga denna dialogruta trycker du på ESC.\",legend:[{name:\"Allmänt\",items:[{name:\"Editor verktygsfält\",legend:\"Tryck på ${toolbarFocus} för att navigera till verktygsfältet. Flytta till nästa och föregående verktygsfältsgrupp med TAB och SHIFT-TAB. Flytta till nästa och föregående knapp i verktygsfältet med HÖGERPIL eller VÄNSTERPIL. Tryck Space eller ENTER för att aktivera knappen i verktygsfältet.\"},\n{name:\"Dialogeditor\",legend:\"Inuti en dialogruta, tryck TAB för att navigera till nästa fält i dialogrutan. Du trycker SKIFT + TAB för att flytta till föregående fält. Tryck ENTER för att skicka. Du avbryter och stänger dialogen med ESC. För dialogrutor som har flera flikar, tryck ALT + F10 navigera till fliklistan. Flytta sedan till nästa flik med HÖGERPIL. Flytta till föregående flik med SHIFT + TAB eller VÄNSTERPIL. Tryck Space eller ENTER för att välja fliken.\"},{name:\"Editor för innehållsmeny\",\nlegend:\"Tryck på $ {contextMenu} eller PROGRAMTANGENTEN för att öppna snabbmenyn. Flytta sedan till nästa menyalternativ med TAB eller NEDPIL. Flytta till föregående alternativ med SHIFT + TABB eller UPPIL. Tryck Space eller ENTER för att välja menyalternativ. Öppna undermeny av nuvarande alternativ med SPACE eller ENTER eller HÖGERPIL. Gå tillbaka till överordnade menyalternativ med ESC eller VÄNSTERPIL. Stäng snabbmenyn med ESC.\"},{name:\"Editor för List Box\",legend:\"Inuti en list-box, gå till nästa listobjekt med TAB eller NEDPIL. Flytta till föregående listobjekt med SHIFT + TAB eller UPPIL. Tryck Space eller ENTER för att välja listan alternativet. Tryck ESC för att stänga listan-boxen.\"},\n{name:\"Editor för elementens sökväg\",legend:\"Tryck på $ {elementsPathFocus} för att navigera till verktygsfältet för elementens sökvägar. Flytta till nästa elementknapp med TAB eller HÖGERPIL. Flytta till föregående knapp med SKIFT + TAB eller VÄNSTERPIL. Tryck Space eller ENTER för att välja element i redigeraren.\"}]},{name:\"Kommandon\",items:[{name:\"Kommandot ångra\",legend:\"Tryck på ${undo}\"},{name:\"Kommandot gör om\",legend:\"Tryck på ${redo}\"},{name:\"Kommandot fet stil\",legend:\"Tryck på ${bold}\"},\n{name:\"Kommandot kursiv\",legend:\"Tryck på ${italic}\"},{name:\"Kommandot understruken\",legend:\"Tryck på ${underline}\"},{name:\"kommandot länk\",legend:\"Tryck på ${link}\"},{name:\"Verktygsfält Dölj kommandot\",legend:\"Tryck på ${toolbarCollapse}\"},{name:\"Gå till föregående fokus plats\",legend:\"Tryck på ${accessPreviousSpace} för att gå till närmast onåbara utrymme före markören, exempel: två intilliggande HR element. Repetera tangentkombinationen för att gå till nästa.\"},{name:\"Tillgå nästa fokuskommandots utrymme\",\nlegend:\"Tryck ${accessNextSpace} på för att komma åt den närmaste onåbar fokus utrymme efter cirkumflex, till exempel: två intilliggande HR element. Upprepa tangentkombinationen för att nå avlägsna fokus utrymmen.\"},{name:\"Hjälp om tillgänglighet\",legend:\"Tryck ${a11yHelp}\"}]}]});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/hu.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/hu.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"a11yhelp\",\"hu\",{title:\"Kisegítő utasítások\",contents:\"Súgó tartalmak. A párbeszédablak bezárásához nyomjon ESC-et.\",legend:[{name:\"Általános\",items:[{name:\"Szerkesztő Eszköztár\",legend:\"Nyomjon ${toolbarFocus} hogy kijelölje az eszköztárat. A következő és előző eszköztár csoporthoz a TAB és SHIFT TAB-al juthat el. A következő és előző eszköztár gombhoz a BAL NYÍL vagy JOBB NYÍL gombbal juthat el. Nyomjon SPACE-t vagy ENTER-t hogy aktiválja az eszköztár gombot.\"},{name:\"Szerkesző párbeszéd ablak\",\nlegend:\"Párbeszédablakban nyomjon TAB-ot a következő párbeszédmezőhöz ugráshoz, nyomjon SHIFT + TAB-ot az előző mezőhöz ugráshoz, nyomjon ENTER-t a párbeszédablak elfogadásához, nyomjon ESC-et a párbeszédablak elvetéséhez. Azokhoz a párbeszédablakokhoz, amik több fület tartalmaznak, nyomjon ALT + F10-et hogy a fülekre ugorjon. Ezután a TAB-al vagy a JOBB NYÍLLAL a következő fülre ugorhat. Az előző fülre ugráshoz használja a SHIFT + TAB-ot vagy a BAL NYILAT. Nyomjon SPACE-t vagy ENTER-t hogy kijelölje a fület.\"},\n{name:\"Szerkesztő helyi menü\",legend:\"Nyomjon ${contextMenu}-t vagy ALKALMAZÁS BILLENTYŰT a helyi menü megnyitásához. Ezután a következő menüpontra léphet a TAB vagy LEFELÉ NYÍLLAL. Az előző opciót a SHIFT+TAB vagy FELFELÉ NYÍLLAL érheti el. Nyomjon SPACE-t vagy ENTER-t a menüpont kiválasztásához. A jelenlegi menüpont almenüjének megnyitásához nyomjon SPACE-t vagy ENTER-t, vagy JOBB NYILAT. A főmenühöz való visszatéréshez nyomjon ESC-et vagy BAL NYILAT. A helyi menü bezárása az ESC billentyűvel lehetséges.\"},\n{name:\"Szerkesztő lista\",legend:\"A listán belül a következő elemre a TAB vagy LEFELÉ NYÍLLAL mozoghat. Az előző elem kiválasztásához nyomjon SHIFT+TAB-ot vagy FELFELÉ NYILAT. Nyomjon SPACE-t vagy ENTER-t az elem kiválasztásához. Az ESC billentyű megnyomásával bezárhatja a listát.\"},{name:\"Szerkesztő elem utak sáv\",legend:\"Nyomj ${elementsPathFocus} hogy kijelöld a elemek út sávját. A következő elem gombhoz a TAB-al vagy a JOBB NYÍLLAL juthatsz el. Az előző gombhoz a SHIFT+TAB vagy BAL NYÍLLAL mehetsz. A SPACE vagy ENTER billentyűvel kiválaszthatod az elemet a szerkesztőben.\"}]},\n{name:\"Parancsok\",items:[{name:\"Parancs visszavonása\",legend:\"Nyomj ${undo}\"},{name:\"Parancs megismétlése\",legend:\"Nyomjon ${redo}\"},{name:\"Félkövér parancs\",legend:\"Nyomjon ${bold}\"},{name:\"Dőlt parancs\",legend:\"Nyomjon ${italic}\"},{name:\"Aláhúzott parancs\",legend:\"Nyomjon ${underline}\"},{name:\"Link parancs\",legend:\"Nyomjon ${link}\"},{name:\"Szerkesztősáv összecsukása parancs\",legend:\"Nyomjon ${toolbarCollapse}\"},{name:\"Hozzáférés az előző fókusz helyhez parancs\",legend:\"Nyomj ${accessNextSpace} hogy hozzáférj a legközelebbi elérhetetlen fókusz helyhez a hiányjel előtt, például: két szomszédos HR elemhez. Ismételd meg a billentyűkombinációt hogy megtaláld a távolabbi fókusz helyeket.\"},\n{name:\"Hozzáférés a következő fókusz helyhez parancs\",legend:\"Nyomj ${accessNextSpace} hogy hozzáférj a legközelebbi elérhetetlen fókusz helyhez a hiányjel után, például: két szomszédos HR elemhez. Ismételd meg a billentyűkombinációt hogy megtaláld a távolabbi fókusz helyeket.\"},{name:\"Kisegítő súgó\",legend:\"Nyomjon ${a11yHelp}\"}]}]});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/cy.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/cy.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"a11yhelp\",\"cy\",{title:\"Canllawiau Hygyrchedd\",contents:\"Cynnwys Cymorth. I gau y deialog hwn, pwyswch ESC.\",legend:[{name:\"Cyffredinol\",items:[{name:\"Bar Offer y Golygydd\",legend:\"Pwyswch $ {toolbarFocus} i fynd at y bar offer. Symudwch i'r grŵp bar offer nesaf a blaenorol gyda TAB a SHIFT-TAB. Symudwch i'r botwm bar offer nesaf a blaenorol gyda SAETH DDE neu SAETH CHWITH. Pwyswch SPACE neu ENTER i wneud botwm y bar offer yn weithredol.\"},{name:\"Deialog y Golygydd\",legend:\"Tu mewn i'r deialog, pwyswch TAB i fynd i'r maes nesaf ar y deialog, pwyswch SHIFT + TAB i symud i faes blaenorol, pwyswch ENTER i gyflwyno'r deialog, pwyswch ESC i ddiddymu'r deialog. Ar gyfer deialogau sydd â thudalennau aml-tab, pwyswch ALT + F10 i lywio'r tab-restr. Yna symudwch i'r tab nesaf gyda TAB neu SAETH DDE. Symudwch i dab blaenorol gyda SHIFT + TAB neu'r SAETH CHWITH. Pwyswch SPACE neu ENTER i ddewis y dudalen tab.\"},\n{name:\"Dewislen Cyd-destun y Golygydd\",legend:\"Pwyswch $ {contextMenu} neu'r ALLWEDD 'APPLICATION' i agor y ddewislen cyd-destun. Yna symudwch i'r opsiwn ddewislen nesaf gyda'r TAB neu'r SAETH I LAWR. Symudwch i'r opsiwn blaenorol gyda SHIFT + TAB neu'r SAETH I FYNY. Pwyswch SPACE neu ENTER i ddewis yr opsiwn ddewislen. Agorwch is-dewislen yr opsiwn cyfredol gyda SPACE neu ENTER neu SAETH DDE. Ewch yn ôl i'r eitem ar y ddewislen uwch gydag ESC neu SAETH CHWITH. Ceuwch y ddewislen cyd-destun gydag ESC.\"},\n{name:\"Blwch Rhestr y Golygydd\",legend:\"Tu mewn y blwch rhestr, ewch i'r eitem rhestr nesaf gyda TAB neu'r SAETH I LAWR. Symudwch i restr eitem flaenorol gyda SHIFT + TAB neu SAETH I FYNY. Pwyswch SPACE neu ENTER i ddewis yr opsiwn o'r rhestr. Pwyswch ESC i gau'r rhestr.\"},{name:\"Bar Llwybr Elfen y Golygydd\",legend:\"Pwyswch ${elementsPathFocus} i fynd i'r bar llwybr elfennau. Symudwch i fotwm yr elfen nesaf gyda TAB neu SAETH DDE. Symudwch i fotwm blaenorol gyda SHIFT + TAB neu SAETH CHWITH. Pwyswch SPACE neu ENTER i ddewis yr elfen yn y golygydd.\"}]},\n{name:\"Gorchmynion\",items:[{name:\"Gorchymyn dadwneud\",legend:\"Pwyswch ${undo}\"},{name:\"Gorchymyn ailadrodd\",legend:\"Pwyswch ${redo}\"},{name:\"Gorchymyn Bras\",legend:\"Pwyswch ${bold}\"},{name:\"Gorchymyn italig\",legend:\"Pwyswch ${italig}\"},{name:\"Gorchymyn tanlinellu\",legend:\"Pwyso ${underline}\"},{name:\"Gorchymyn dolen\",legend:\"Pwyswch ${link}\"},{name:\"Gorchymyn Cwympo'r Dewislen\",legend:\"Pwyswch ${toolbarCollapse}\"},{name:\"Myned i orchymyn bwlch ffocws blaenorol\",legend:\"Pwyswch ${accessPreviousSpace} i fyned i'r \\\"blwch ffocws sydd methu ei gyrraedd\\\" cyn y caret, er enghraifft: dwy elfen HR drws nesaf i'w gilydd. AIladroddwch y cyfuniad allwedd i gyrraedd bylchau ffocws pell.\"},\n{name:\"Ewch i'r gorchymyn blwch ffocws nesaf\",legend:\"Pwyswch ${accessNextSpace} i fyned i'r blwch ffocws agosaf nad oes modd ei gyrraedd ar ôl y caret, er enghraifft: dwy elfen HR drws nesaf i'w gilydd. Ailadroddwch y cyfuniad allwedd i gyrraedd blychau ffocws pell.\"},{name:\"Cymorth Hygyrchedd\",legend:\"Pwyswch ${a11yHelp}\"}]}]});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/bg.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/bg.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"a11yhelp\",\"bg\",{title:\"Accessibility Instructions\",contents:\"Help Contents. To close this dialog press ESC.\",legend:[{name:\"Общо\",items:[{name:\"Editor Toolbar\",legend:\"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT-TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button.\"},{name:\"Editor Dialog\",legend:\"Inside a dialog, press TAB to navigate to next dialog field, press SHIFT + TAB to move to previous field, press ENTER to submit dialog, press ESC to cancel dialog. For dialogs that have multiple tab pages, press ALT + F10 to navigate to tab-list. Then move to next tab with TAB OR RIGTH ARROW. Move to previous tab with SHIFT + TAB or LEFT ARROW. Press SPACE or ENTER to select the tab page.\"},\n{name:\"Editor Context Menu\",legend:\"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC.\"},{name:\"Editor List Box\",legend:\"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT + TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box.\"},\n{name:\"Editor Element Path Bar\",legend:\"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with  SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor.\"}]},{name:\"Commands\",items:[{name:\" Undo command\",legend:\"Press ${undo}\"},{name:\" Redo command\",legend:\"Press ${redo}\"},{name:\" Bold command\",legend:\"Press ${bold}\"},{name:\" Italic command\",legend:\"Press ${italic}\"},{name:\" Underline command\",\nlegend:\"Press ${underline}\"},{name:\" Link command\",legend:\"Press ${link}\"},{name:\" Toolbar Collapse command\",legend:\"Press ${toolbarCollapse}\"},{name:\" Access previous focus space command\",legend:\"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces.\"},{name:\" Access next focus space command\",legend:\"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces.\"},\n{name:\" Accessibility Help\",legend:\"Press ${a11yHelp}\"}]}]});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/tr.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/tr.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"a11yhelp\",\"tr\",{title:\"Erişilebilirlik Talimatları\",contents:\"Yardım içeriği. Bu pencereyi kapatmak için ESC tuşuna basın.\",legend:[{name:\"Genel\",items:[{name:\"Düzenleyici Araç Çubuğu\",legend:\"Araç çubuğunda gezinmek için ${toolbarFocus} basın. TAB ve SHIFT-TAB ile önceki ve sonraki araç çubuğu grubuna taşıyın. SAĞ OK veya SOL OK ile önceki ve sonraki bir araç çubuğu düğmesini hareket ettirin. SPACE tuşuna basın veya araç çubuğu düğmesini etkinleştirmek için ENTER tuşna basın.\"},\n{name:\"Diyalog Düzenleyici\",legend:\"Dialog penceresi içinde, sonraki iletişim alanına gitmek için SEKME tuşuna basın, önceki alana geçmek için SHIFT + TAB tuşuna basın, pencereyi göndermek için ENTER tuşuna basın, dialog penceresini iptal etmek için ESC tuşuna basın. Birden çok sekme sayfaları olan diyalogların, sekme listesine gitmek için ALT + F10 tuşlarına basın. Sonra TAB veya SAĞ OK sonraki sekmeye taşıyın. SHIFT + TAB veya SOL OK ile önceki sekmeye geçin. Sekme sayfayı seçmek için SPACE veya ENTER tuşuna basın.\"},\n{name:\"İçerik Menü Editörü\",legend:\"İçerik menüsünü açmak için ${contextMenu} veya UYGULAMA TUŞU'na basın. Daha sonra SEKME veya AŞAĞI OK ile bir sonraki menü seçeneği taşıyın. SHIFT + TAB veya YUKARI OK ile önceki seçeneğe gider. Menü seçeneğini seçmek için SPACE veya ENTER tuşuna basın. Seçili seçeneğin alt menüsünü SPACE ya da ENTER veya SAĞ OK açın. Üst menü öğesini geçmek için ESC veya SOL OK ile geri dönün. ESC ile bağlam menüsünü kapatın.\"},{name:\"Liste Kutusu Editörü\",legend:\"Liste kutusu içinde, bir sonraki liste öğesine SEKME VEYA AŞAĞI OK ile taşıyın. SHIFT + TAB veya YUKARI önceki liste öğesi taşıyın. Liste seçeneği seçmek için SPACE veya ENTER tuşuna basın. Liste kutusunu kapatmak için ESC tuşuna basın.\"},\n{name:\"Element Yol Çubuğu Editörü\",legend:\"Elementlerin yol çubuğunda gezinmek için ${ElementsPathFocus} basın. SEKME veya SAĞ OK ile sonraki element düğmesine taşıyın. SHIFT + TAB veya SOL OK önceki düğmeye hareket ettirin. Editör içindeki elementi seçmek için ENTER veya SPACE tuşuna basın.\"}]},{name:\"Komutlar\",items:[{name:\"Komutu geri al\",legend:\"$(undo)'ya basın\"},{name:\"Komutu geri al\",legend:\"${redo} basın\"},{name:\" Kalın komut\",legend:\"${bold} basın\"},{name:\" İtalik komutu\",legend:\"${italic} basın\"},\n{name:\" Alttan çizgi komutu\",legend:\"${underline} basın\"},{name:\" Bağlantı komutu\",legend:\"${link} basın\"},{name:\" Araç çubuğu Toplama komutu\",legend:\"${toolbarCollapse} basın\"},{name:\"Önceki komut alanına odaklan\",legend:\"Düzeltme imleçinden önce, en yakın uzaktaki alana erişmek için ${accessPreviousSpace} basın, örneğin: iki birleşik HR elementleri. Aynı tuş kombinasyonu tekrarıyla diğer alanlarada ulaşın.\"},{name:\"Sonraki komut alanına odaklan\",legend:\"Düzeltme imleçinden sonra, en yakın uzaktaki alana erişmek için ${accessNextSpace} basın, örneğin: iki birleşik HR elementleri. Aynı tuş kombinasyonu tekrarıyla diğer alanlarada ulaşın.\"},\n{name:\"Erişilebilirlik Yardımı\",legend:\"${a11yHelp}'e basın\"}]}]});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/lv.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/lv.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"a11yhelp\",\"lv\",{title:\"Pieejamības instrukcija\",contents:\"Palīdzības saturs. Lai aizvērtu ciet šo dialogu nospiediet ESC.\",legend:[{name:\"Galvenais\",items:[{name:\"Redaktora rīkjosla\",legend:\"Nospiediet ${toolbarFocus} lai pārvietotos uz rīkjoslu. Lai pārvietotos uz nākošo vai iepriekšējo rīkjoslas grupu izmantojiet pogu TAB un SHIFT+TAB.  Lai pārvietotos uz nākošo vai iepriekšējo rīkjoslas pogu izmantojiet Kreiso vai Labo bultiņu. Nospiediet Atstarpi vai ENTER lai aktivizētu rīkjosla pogu.\"},\n{name:\"Redaktora dialoga  logs\",legend:\"Dialoga logā nospiediet pogu TAB lai pārvietotos uz nākošo dialoga loga lauku, nospiediet SHIFT+TAB lai atgrieztos iepriekšējā laukā, nospiediet ENTER lai apstiprinātu dialoga datus, nospiediet ESC lai aizvērtu šo dialogu. Dialogam kuram ir vairākas cilnes, nospiediet ALT+F10 lai pārvietotos uz nepieciešamo cilni.  Lai pārvietotos uz nākošo cilni izmantojiet pogu TAB vai Labo bultiņu. Lai pārvietotos uz iepriekšējo cilni nospiediet SHIFT+TAB vai kreiso bultiņu. Nospiediet SPACE vai ENTER lai izvēlētos lapas cilni.\"},\n{name:\"Redaktora satura izvēle\",legend:\"Nospiediet ${contextMenu} vai APPLICATION KEY lai atvērtu satura izvēlni. Lai pārvietotos uz nākošo izvēlnes opciju izmantojiet pogu TAB vai pogu Bultiņu uz leju. Lai pārvietotos uz iepriekšējo opciju izmantojiet  SHIFT+TAB vai pogu Bultiņa uz augšu. Nospiediet SPACE vai ENTER lai izvelētos izvēlnes opciju. Atveriet tekošajā opcija apakšizvēlni ar SAPCE vai ENTER ka ari to var izdarīt ar Labo bultiņu. Lai atgrieztos atpakaļ uz sakuma izvēlni nospiediet ESC vai Kreiso bultiņu. Lai aizvērtu ciet izvēlnes saturu nospiediet ESC.\"},\n{name:\"Redaktora saraksta lauks\",legend:\"Saraksta laukā, lai pārvietotos uz nākošo saraksta elementu nospiediet TAB vai pogu Bultiņa uz leju. Lai pārvietotos uz iepriekšējo saraksta elementu nospiediet SHIFT+TAB vai pogu Bultiņa uz augšu. Nospiediet SPACE vai ENTER lai izvēlētos saraksta opcijas. Nospiediet ESC lai aizvērtu saraksta lauku. \"},{name:\"Redaktora elementa ceļa josla\",legend:\"Nospiediet ${elementsPathFocus} lai pārvietotos uz  elementa ceļa joslu. Lai pārvietotos uz nākošo elementa pogu izmantojiet TAB vai Labo bultiņu. Lai pārvietotos uz iepriekšējo elementa pogu  izmantojiet SHIFT + TAB vai Kreiso bultiņu. Nospiediet SPACE vai ENTER lai izvēlētos elementu redaktorā.\"}]},\n{name:\"Komandas\",items:[{name:\"Komanda atcelt darbību\",legend:\"Nospiediet ${undo}\"},{name:\"Komanda atkārtot darbību\",legend:\"Nospiediet ${redo}\"},{name:\"Treknraksta komanda\",legend:\"Nospiediet ${bold}\"},{name:\"Kursīva komanda\",legend:\"Nospiediet ${italic}\"},{name:\"Apakšsvītras komanda \",legend:\"Nospiediet ${underline}\"},{name:\"Hipersaites komanda\",legend:\"Nospiediet ${link}\"},{name:\"Rīkjoslas aizvēršanas komanda\",legend:\"Nospiediet ${toolbarCollapse}\"},{name:\"Piekļūt iepriekšējai fokusa vietas komandai\",\nlegend:\"Nospiediet ${accessPreviousSpace} lai piekļūtu tuvākajai nepieejamajai fokusa vietai pirms kursora. Piemēram: diviem blakus esošiem līnijas HR elementiem. Atkārtojiet taustiņu kombināciju lai piekļūtu pie tālākām vietām.\"},{name:\"Piekļūt nākošā fokusa apgabala komandai\",legend:\"Nospiediet ${accessNextSpace} lai piekļūtu tuvākajai nepieejamajai fokusa vietai pēc kursora. Piemēram: diviem blakus esošiem līnijas HR elementiem. Atkārtojiet taustiņu kombināciju lai piekļūtu pie tālākām vietām.\"},\n{name:\"Pieejamības palīdzība\",legend:\"Nospiediet ${a11yHelp}\"}]}]});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/da.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/da.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"a11yhelp\",\"da\",{title:\"Tilgængelighedsinstrukser\",contents:\"Onlinehjælp. For at lukke dette vindue klik ESC\",legend:[{name:\"Generelt\",items:[{name:\"Editor værktøjslinje\",legend:\"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT-TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button.\"},{name:\"Editor Dialog\",legend:\"Inside a dialog, press TAB to navigate to next dialog field, press SHIFT + TAB to move to previous field, press ENTER to submit dialog, press ESC to cancel dialog. For dialogs that have multiple tab pages, press ALT + F10 to navigate to tab-list. Then move to next tab with TAB OR RIGTH ARROW. Move to previous tab with SHIFT + TAB or LEFT ARROW. Press SPACE or ENTER to select the tab page.\"},\n{name:\"Editor Context Menu\",legend:\"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC.\"},{name:\"Editor List Box\",legend:\"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT + TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box.\"},\n{name:\"Editor Element Path Bar\",legend:\"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with  SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor.\"}]},{name:\"Kommandoer\",items:[{name:\"Fortryd kommando\",legend:\"Klik på ${undo}\"},{name:\"Gentag kommando\",legend:\"Klik ${redo}\"},{name:\" Bold command\",legend:\"Klik ${bold}\"},{name:\" Italic command\",legend:\"Press ${italic}\"},{name:\" Underline command\",\nlegend:\"Klik ${underline}\"},{name:\" Link command\",legend:\"Klik ${link}\"},{name:\" Toolbar Collapse command\",legend:\"Press ${toolbarCollapse}\"},{name:\" Access previous focus space command\",legend:\"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces.\"},{name:\" Access next focus space command\",legend:\"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces.\"},\n{name:\" Accessibility Help\",legend:\"Kilk ${a11yHelp}\"}]}]});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/cs.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/cs.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"a11yhelp\",\"cs\",{title:\"Instrukce pro přístupnost\",contents:\"Obsah nápovědy. Pro uzavření tohoto dialogu stiskněte klávesu ESC.\",legend:[{name:\"Obecné\",items:[{name:\"Panel nástrojů editoru\",legend:\"Stiskněte${toolbarFocus} k procházení panelu nástrojů. Přejděte na další a předchozí skupiny pomocí TAB a SHIFT-TAB. Přechod na další a předchozí tlačítko panelu nástrojů je pomocí ŠIPKA VPRAVO nebo ŠIPKA VLEVO. Stisknutím mezerníku nebo klávesy ENTER tlačítko aktivujete.\"},{name:\"Dialogové okno editoru\",\nlegend:\"Uvnitř dialogového okna stiskněte TAB pro přesunutí na další pole, stiskněte SHIFT + TAB pro přesun na předchozí pole, stiskněte ENTER pro odeslání dialogu, stiskněte ESC pro jeho zrušení. Pro dialogová okna, která mají mnoho karet stiskněte ALT + F10 pr oprocházení seznamu karet. Pak se přesuňte na další kartu pomocí TAB nebo ŠIPKA VPRAVO. Pro přesun na předchozí stiskněte SHIFT + TAB nebo ŠIPKA VLEVO. Stiskněte MEZERNÍK nebo ENTER pro vybrání stránky karet.\"},{name:\"Kontextové menu editoru\",\nlegend:\"Stiskněte ${contextMenu} nebo klávesu APPLICATION k otevření kontextového menu. Pak se přesuňte na další možnost menu pomocí TAB nebo ŠIPKY DOLŮ. Přesuňte se na předchozí možnost pomocí  SHIFT+TAB nebo ŠIPKY NAHORU. Stiskněte MEZERNÍK nebo ENTER pro zvolení možnosti menu. Podmenu současné možnosti otevřete pomocí MEZERNÍKU nebo ENTER či ŠIPKY DOLEVA. Kontextové menu uzavřete stiskem ESC.\"},{name:\"Rámeček seznamu editoru\",legend:\"Uvnitř rámečku seznamu se přesunete na další položku menu pomocí TAB nebo ŠIPKA DOLŮ. Na předchozí položku se přesunete SHIFT + TAB nebo ŠIPKA NAHORU. Stiskněte MEZERNÍK nebo ENTER pro zvolení možnosti seznamu. Stiskněte ESC pro uzavření seznamu.\"},\n{name:\"Lišta cesty prvku v editoru\",legend:\"Stiskněte ${elementsPathFocus} pro procházení lišty cesty prvku. Na další tlačítko prvku se přesunete pomocí TAB nebo ŠIPKA VPRAVO. Na předchozí položku se přesunete pomocí SHIFT + TAB nebo ŠIPKA VLEVO. Stiskněte MEZERNÍK nebo ENTER pro vybrání prvku v editoru.\"}]},{name:\"Příkazy\",items:[{name:\" Příkaz Zpět\",legend:\"Stiskněte ${undo}\"},{name:\" Příkaz Znovu\",legend:\"Stiskněte ${redo}\"},{name:\" Příkaz Tučné\",legend:\"Stiskněte ${bold}\"},{name:\" Příkaz Kurzíva\",\nlegend:\"Stiskněte ${italic}\"},{name:\" Příkaz Podtržení\",legend:\"Stiskněte ${underline}\"},{name:\" Příkaz Odkaz\",legend:\"Stiskněte ${link}\"},{name:\" Příkaz Skrýt panel nástrojů\",legend:\"Stiskněte ${toolbarCollapse}\"},{name:\"Příkaz pro přístup k předchozímu prostoru zaměření\",legend:\"Stiskněte ${accessPreviousSpace} pro přístup k nejbližšímu nedosažitelnému prostoru zaměření před stříškou, například: dva přilehlé prvky HR. Pro dosažení vzdálených prostorů zaměření tuto kombinaci kláves opakujte.\"},{name:\"Příkaz pro přístup k dalšímu prostoru zaměření\",\nlegend:\"Stiskněte ${accessNextSpace} pro přístup k nejbližšímu nedosažitelnému prostoru zaměření po stříšce, například: dva přilehlé prvky HR. Pro dosažení vzdálených prostorů zaměření tuto kombinaci kláves opakujte.\"},{name:\" Nápověda přístupnosti\",legend:\"Stiskněte ${a11yHelp}\"}]}]});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/pl.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/pl.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"a11yhelp\",\"pl\",{title:\"Instrukcje dotyczące dostępności\",contents:\"Zawartość pomocy. Wciśnij ESC, aby zamknąć to okno.\",legend:[{name:\"Informacje ogólne\",items:[{name:\"Pasek narzędzi edytora\",legend:\"Wciśnij ${toolbarFocus} aby przejść do paska narzędzi. Przejdź do następnej i poprzedniej grupy narzędzi używając TAB oraz SHIFT-TAB. Przejdź do następnego i poprzedniego narzędzia używając STRZAŁKI W PRAWO lub STRZAŁKI W LEWO. Wciśnij SPACJĘ lub ENTER, aby aktywować zaznaczone narzędzie.\"},\n{name:\"Okno dialogowe edytora\",legend:\"Będąc w oknie dialogowym wciśnij TAB aby przejść do następnego pola dialogowego, wciśnij SHIFT + TAB aby przejść do poprzedniego pola, wciśnij ENTER aby wysłać dialog, wciśnij ESC aby anulować dialog. Dla okien dialogowych z wieloma zakładkami, wciśnij ALT + F10 aby przejść do listy zakładek. Gdy to zrobisz przejdź do następnej zakładki wciskając TAB lub STRZAŁKĘ W PRAWO. Przejdź do poprzedniej zakładki wciskając SHIFT + TAB lub STRZAŁKĘ W LEWO. Wciśnij SPACJĘ lub ENTER aby wybrać zakładkę.\"},\n{name:\"Menu kontekstowe edytora\",legend:\"Wciśnij ${contextMenu} lub PRZYCISK APLIKACJI aby otworzyć menu kontekstowe. Przejdź do następnej pozycji menu wciskając TAB lub STRZAŁKĘ W DÓŁ. Przejdź do poprzedniej pozycji menu wciskając SHIFT + TAB lub STRZAŁKĘ W GÓRĘ. Wciśnij SPACJĘ lub ENTER aby wygrać pozycję menu. Otwórz pod-menu obecnej pozycji wciskając SPACJĘ lub ENTER lub STRZAŁKĘ W PRAWO. Wróć do pozycji nadrzędnego menu wciskając ESC lub STRZAŁKĘ W LEWO. Zamknij menu wciskając ESC.\"},{name:\"Lista w edytorze\",\nlegend:\"W polu listy możesz przechodzić do następnego elementu za pomocą klawisza TAB lub STRZAŁKI W DÓŁ. Poprzedni element osiągniesz za pomocą SHIFT+TAB lub STRZAŁKI W GÓRĘ. Za pomocą SPACJI lub ENTERA wybierzesz daną opcję z listy, a za pomocą klawisza ESC opuścisz listę.\"},{name:\"Pasek ścieżki elementów edytora\",legend:\"Naciśnij ${elementsPathFocus} w celu przejścia do paska ścieżki elementów edytora. W celu przejścia do kolejnego elementu naciśnij klawisz Tab lub Strzałki w prawo. W celu przejścia do poprzedniego elementu naciśnij klawisze Shift+Tab lub Strzałki w lewo. By wybrać element w edytorze, użyj klawisza Spacji lub Enter.\"}]},\n{name:\"Polecenia\",items:[{name:\"Polecenie Cofnij\",legend:\"Naciśnij ${undo}\"},{name:\"Polecenie Ponów\",legend:\"Naciśnij ${redo}\"},{name:\"Polecenie Pogrubienie\",legend:\"Naciśnij ${bold}\"},{name:\"Polecenie Kursywa\",legend:\"Naciśnij ${italic}\"},{name:\"Polecenie Podkreślenie\",legend:\"Naciśnij ${underline}\"},{name:\"Polecenie Wstaw/ edytuj odnośnik\",legend:\"Naciśnij ${link}\"},{name:\"Polecenie schowaj pasek narzędzi\",legend:\"Naciśnij ${toolbarCollapse}\"},{name:\" Access previous focus space command\",legend:\"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces.\"},\n{name:\" Access next focus space command\",legend:\"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces.\"},{name:\"Pomoc dotycząca dostępności\",legend:\"Naciśnij ${a11yHelp}\"}]}]});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/sr-latn.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/sr-latn.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"a11yhelp\",\"sr-latn\",{title:\"Accessibility Instructions\",contents:\"Help Contents. To close this dialog press ESC.\",legend:[{name:\"Opšte\",items:[{name:\"Editor Toolbar\",legend:\"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT-TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button.\"},{name:\"Editor Dialog\",legend:\"Inside a dialog, press TAB to navigate to next dialog field, press SHIFT + TAB to move to previous field, press ENTER to submit dialog, press ESC to cancel dialog. For dialogs that have multiple tab pages, press ALT + F10 to navigate to tab-list. Then move to next tab with TAB OR RIGTH ARROW. Move to previous tab with SHIFT + TAB or LEFT ARROW. Press SPACE or ENTER to select the tab page.\"},\n{name:\"Editor Context Menu\",legend:\"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC.\"},{name:\"Editor List Box\",legend:\"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT + TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box.\"},\n{name:\"Editor Element Path Bar\",legend:\"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with  SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor.\"}]},{name:\"Commands\",items:[{name:\" Undo command\",legend:\"Press ${undo}\"},{name:\" Redo command\",legend:\"Press ${redo}\"},{name:\" Bold command\",legend:\"Press ${bold}\"},{name:\" Italic command\",legend:\"Press ${italic}\"},{name:\" Underline command\",\nlegend:\"Press ${underline}\"},{name:\" Link command\",legend:\"Press ${link}\"},{name:\" Toolbar Collapse command\",legend:\"Press ${toolbarCollapse}\"},{name:\" Access previous focus space command\",legend:\"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces.\"},{name:\" Access next focus space command\",legend:\"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces.\"},\n{name:\" Accessibility Help\",legend:\"Press ${a11yHelp}\"}]}]});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/vi.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/vi.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"a11yhelp\",\"vi\",{title:\"Hướng dẫn trợ năng\",contents:\"Nội dung Hỗ trợ. Nhấn ESC để đóng hộp thoại.\",legend:[{name:\"Chung\",items:[{name:\"Thanh công cụ soạn thảo\",legend:\"Nhấn ${toolbarFocus} để điều hướng đến thanh công cụ. Nhấn TAB và SHIFT-TAB để chuyển đến nhóm thanh công cụ khác. Nhấn MŨI TÊN PHẢI hoặc MŨI TÊN TRÁI để chuyển sang nút khác trên thanh công cụ. Nhấn PHÍM CÁCH hoặc ENTER để kích hoạt nút trên thanh công cụ.\"},{name:\"Hộp thoại Biên t\",legend:\"Bên trong một hộp thoại, nhấn TAB để chuyển sang trường tiếp theo, nhấn SHIFT + TAB để quay lại trường phía trước, nhấn ENTER để chấp nhận, nhấn ESC để đóng hộp thoại. Đối với các hộp thoại có nhiều tab, nhấn ALT + F10 để chuyển đến danh sách các tab. Sau đó nhấn TAB hoặc MŨI TÊN SANG PHẢI để chuyển sang tab tiếp theo. Nhấn SHIFT + TAB hoặc MŨI TÊN SANG TRÁI để chuyển sang tab trước đó. Nhấn DẤU CÁCH hoặc ENTER để chọn tab.\"},\n{name:\"Trình đơn Ngữ cảnh cBộ soạn thảo\",legend:\"Nhấn ${contextMenu} hoặc PHÍM ỨNG DỤNG để mở thực đơn ngữ cảnh. Sau đó nhấn TAB hoặc MŨI TÊN XUỐNG để di chuyển đến tuỳ chọn tiếp theo của thực đơn. Nhấn SHIFT+TAB hoặc MŨI TÊN LÊN để quay lại tuỳ chọn trước. Nhấn DẤU CÁCH hoặc ENTER để chọn tuỳ chọn của thực đơn. Nhấn DẤU CÁCH hoặc ENTER hoặc MŨI TÊN SANG PHẢI để mở thực đơn con của tuỳ chọn hiện tại. Nhấn ESC hoặc MŨI TÊN SANG TRÁI để quay trở lại thực đơn gốc. Nhấn ESC để đóng thực đơn ngữ cảnh.\"},\n{name:\"Hộp danh sách trình biên tập\",legend:\"Trong một danh sách chọn, di chuyển đối tượng tiếp theo với phím Tab hoặc phím mũi tên hướng xuống. Di chuyển đến đối tượng trước đó bằng cách nhấn tổ hợp phím Shift+Tab hoặc mũi tên hướng lên. Phím khoảng cách hoặc phím Enter để chọn các tùy chọn trong danh sách. Nhấn phím Esc để đóng lại danh sách chọn.\"},{name:\"Thanh đường dẫn các đối tượng\",legend:\"Nhấn ${elementsPathFocus} để điều hướng các đối tượng trong thanh đường dẫn. Di chuyển đến đối tượng tiếp theo bằng phím Tab hoặc phím mũi tên bên phải. Di chuyển đến đối tượng trước đó bằng tổ hợp phím Shift+Tab hoặc phím mũi tên bên trái. Nhấn phím khoảng cách hoặc Enter để chọn đối tượng trong trình soạn thảo.\"}]},\n{name:\"Lệnh\",items:[{name:\"Làm lại lện\",legend:\"Ấn ${undo}\"},{name:\"Làm lại lệnh\",legend:\"Ấn ${redo}\"},{name:\"Lệnh in đậm\",legend:\"Ấn ${bold}\"},{name:\"Lệnh in nghiêng\",legend:\"Ấn ${italic}\"},{name:\"Lệnh gạch dưới\",legend:\"Ấn ${underline}\"},{name:\"Lệnh liên kết\",legend:\"Nhấn ${link}\"},{name:\"Lệnh hiển thị thanh công cụ\",legend:\"Nhấn${toolbarCollapse}\"},{name:\"Truy cập đến lệnh tập trung vào khoảng cách trước đó\",legend:\"Ấn ${accessPreviousSpace} để truy cập đến phần tập trung khoảng cách sau phần còn sót lại của khoảng cách gần nhất vốn không tác động đến được , thí dụ: hai yếu tố điều chỉnh HR. Lặp lại các phím kết họep này để vươn đến phần khoảng cách.\"},\n{name:\"Truy cập phần đối tượng lệnh khoảng trống\",legend:\"Ấn ${accessNextSpace} để truy cập đến phần tập trung khoảng cách sau phần còn sót lại của khoảng cách gần nhất vốn không tác động đến được , thí dụ: hai yếu tố điều chỉnh HR. Lặp lại các phím kết họep này để vươn đến phần khoảng cách.\"},{name:\"Trợ giúp liên quan\",legend:\"Nhấn ${a11yHelp}\"}]}]});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/id.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/id.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"a11yhelp\",\"id\",{title:\"Accessibility Instructions\",contents:\"Bantuan. Tekan ESC untuk menutup dialog ini.\",legend:[{name:\"Umum\",items:[{name:\"Editor Toolbar\",legend:\"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT-TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button.\"},{name:\"Editor Dialog\",legend:\"Inside a dialog, press TAB to navigate to next dialog field, press SHIFT + TAB to move to previous field, press ENTER to submit dialog, press ESC to cancel dialog. For dialogs that have multiple tab pages, press ALT + F10 to navigate to tab-list. Then move to next tab with TAB OR RIGTH ARROW. Move to previous tab with SHIFT + TAB or LEFT ARROW. Press SPACE or ENTER to select the tab page.\"},\n{name:\"Editor Context Menu\",legend:\"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC.\"},{name:\"Editor List Box\",legend:\"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT + TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box.\"},\n{name:\"Editor Element Path Bar\",legend:\"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with  SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor.\"}]},{name:\"Commands\",items:[{name:\" Undo command\",legend:\"Press ${undo}\"},{name:\" Redo command\",legend:\"Press ${redo}\"},{name:\" Bold command\",legend:\"Press ${bold}\"},{name:\" Italic command\",legend:\"Press ${italic}\"},{name:\" Underline command\",\nlegend:\"Press ${underline}\"},{name:\" Link command\",legend:\"Press ${link}\"},{name:\" Toolbar Collapse command\",legend:\"Press ${toolbarCollapse}\"},{name:\" Access previous focus space command\",legend:\"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces.\"},{name:\" Access next focus space command\",legend:\"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces.\"},\n{name:\" Accessibility Help\",legend:\"Press ${a11yHelp}\"}]}]});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/lt.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/lt.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"a11yhelp\",\"lt\",{title:\"Accessibility Instructions\",contents:\"Help Contents. To close this dialog press ESC.\",legend:[{name:\"Bendros savybės\",items:[{name:\"Editor Toolbar\",legend:\"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT-TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button.\"},{name:\"Editor Dialog\",legend:\"Inside a dialog, press TAB to navigate to next dialog field, press SHIFT + TAB to move to previous field, press ENTER to submit dialog, press ESC to cancel dialog. For dialogs that have multiple tab pages, press ALT + F10 to navigate to tab-list. Then move to next tab with TAB OR RIGTH ARROW. Move to previous tab with SHIFT + TAB or LEFT ARROW. Press SPACE or ENTER to select the tab page.\"},\n{name:\"Editor Context Menu\",legend:\"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC.\"},{name:\"Editor List Box\",legend:\"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT + TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box.\"},\n{name:\"Editor Element Path Bar\",legend:\"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with  SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor.\"}]},{name:\"Commands\",items:[{name:\" Undo command\",legend:\"Press ${undo}\"},{name:\" Redo command\",legend:\"Press ${redo}\"},{name:\" Bold command\",legend:\"Press ${bold}\"},{name:\" Italic command\",legend:\"Press ${italic}\"},{name:\" Underline command\",\nlegend:\"Press ${underline}\"},{name:\" Link command\",legend:\"Press ${link}\"},{name:\" Toolbar Collapse command\",legend:\"Press ${toolbarCollapse}\"},{name:\" Access previous focus space command\",legend:\"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces.\"},{name:\" Access next focus space command\",legend:\"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces.\"},\n{name:\" Accessibility Help\",legend:\"Press ${a11yHelp}\"}]}]});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/zh.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/zh.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"a11yhelp\",\"zh\",{title:\"輔助工具指南\",contents:\"說明內容。若要關閉此對話框請按「ESC」。\",legend:[{name:\"一般\",items:[{name:\"編輯器工具列\",legend:\"請按「${toolbarFocus}」以瀏覽工具列。\\r\\n利用「TAB」或「SHIFT+TAB」以便移動到下一個或前一個工具列群組。\\r\\n利用「→」或「←」以便移動到下一個或前一個工具列按鈕。\\r\\n請按下「空白鍵」或「ENTER」鍵啟動工具列按鈕。\"},{name:\"編輯器對話方塊\",legend:\"在對話框中,請按 TAB 鍵以便移動到下個欄位,請按 SHIFT + TAB 以便移動到前個欄位;請按 ENTER 以提交對話框資料,或按下 ESC 取消對話框。\\r\\n若是有多個頁框的對話框,請按 ALT + F10 以移動到頁框列表,並以 TAB 或是 → 方向鍵移動到下個頁框。以 SHIFT + TAB 或是 ← 方向鍵移動到前個頁框。按下 空白鍵 或是 ENTER 以選取頁框。\"},{name:\"編輯器內容功能表\",\nlegend:\"請按下「${contextMenu}」或是「應用程式鍵」以開啟內容選單。以「TAB」或是「↓」鍵移動到下一個選單選項。以「SHIFT + TAB」或是「↑」鍵移動到上一個選單選項。按下「空白鍵」或是「ENTER」鍵以選取選單選項。以「空白鍵」或「ENTER」或「→」開啟目前選項之子選單。以「ESC」或「←」回到父選單。以「ESC」鍵關閉內容選單」。\"},{name:\"編輯器清單方塊\",legend:\"在列表中,請利用 TAB  或  ↓ 方向鍵以移動到下一個項目;或利用 SHIFT + TAB 或 ↑ 方向鍵移動到前一個項目。請按下 空白鍵 或是 ENTER 以選取項目。請按 ESC 關閉列表。\"},{name:\"編輯器元件路徑工具列\",legend:\"請按「${elementsPathFocus}」以瀏覽元素路徑工具列。\\r\\n利用「TAB」或「→」以便移動到下一個元素按鈕。\\r\\n利用「SHIFT+TAB」或「←」以便移動到前一個元素按鈕。\\r\\n請按下「空白鍵」或「ENTER」鍵選擇編輯器中的元素。\"}]},{name:\"命令\",items:[{name:\"復原命令\",\nlegend:\"請按下「${undo}」\"},{name:\"重複命令\",legend:\"請按下「 ${redo}」\"},{name:\"粗體命令\",legend:\"請按下「${bold}」\"},{name:\"斜體\",legend:\"請按下「${italic}」\"},{name:\"底線命令\",legend:\"請按下「${underline}」\"},{name:\"連結\",legend:\"請按下「${link}」\"},{name:\"隱藏工具列\",legend:\"請按下「${toolbarCollapse}」\"},{name:\"存取前一個焦點空間命令\",legend:\"請按下 ${accessPreviousSpace} 以存取最近但無法靠近之插字符號前的焦點空間。舉例:二個相鄰的 HR 元素。\\r\\n重複按鍵以存取較遠的焦點空間。\"},{name:\"存取下一個焦點空間命令\",legend:\"請按下 ${accessNextSpace} 以存取最近但無法靠近之插字符號後的焦點空間。舉例:二個相鄰的 HR 元素。\\r\\n重複按鍵以存取較遠的焦點空間。\"},{name:\"協助工具說明\",legend:\"請按下「${a11yHelp}」\"}]}]});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/nl.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/nl.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"a11yhelp\",\"nl\",{title:\"Toegankelijkheidsinstructies\",contents:\"Help inhoud. Druk op ESC om dit dialoog te sluiten.\",legend:[{name:\"Algemeen\",items:[{name:\"Werkbalk tekstverwerker\",legend:\"Druk op ${toolbarFocus} om naar de werkbalk te navigeren. Om te schakelen naar de volgende en vorige werkbalkgroep, gebruik TAB en SHIFT+TAB. Om te schakelen naar de volgende en vorige werkbalkknop, gebruik de PIJL RECHTS en PIJL LINKS. Druk op SPATIE of ENTER om een werkbalkknop te activeren.\"},\n{name:\"Dialoog tekstverwerker\",legend:\"In een dialoogvenster, druk op TAB om te navigeren naar het volgende veld. Druk op SHIFT+TAB om naar het vorige veld te navigeren. Druk op ENTER om het dialoogvenster te verzenden. Druk op ESC om het dialoogvenster te sluiten. Voor dialoogvensters met meerdere tabbladen, druk op ALT+F10 om naar de tabset te navigeren. Schakel naar het volgende tabblad met TAB of PIJL RECHTS. Schakel naar het vorige tabblad met SHIFT+TAB of PIJL LINKS. Druk op SPATIE of ENTER om het tabblad te selecteren.\"},\n{name:\"Contextmenu tekstverwerker\",legend:\"Druk op ${contextMenu} of APPLICATION KEY om het contextmenu te openen. Schakel naar de volgende menuoptie met TAB of PIJL OMLAAG. Schakel naar de vorige menuoptie met SHIFT+TAB of PIJL OMHOOG. Druk op SPATIE of ENTER om een menuoptie te selecteren. Op een submenu van de huidige optie met SPATIE, ENTER of PIJL RECHTS. Ga terug naar de bovenliggende menuoptie met ESC of PIJL LINKS. Sluit het contextmenu met ESC.\"},{name:\"Keuzelijst tekstverwerker\",legend:\"In een keuzelijst, schakel naar het volgende item met TAB of PIJL OMLAAG. Schakel naar het vorige item met SHIFT+TAB of PIJL OMHOOG. Druk op SPATIE of ENTER om het item te selecteren. Druk op ESC om de keuzelijst te sluiten.\"},\n{name:\"Elementenpad werkbalk tekstverwerker\",legend:\"Druk op ${elementsPathFocus} om naar het elementenpad te navigeren. Om te schakelen naar het volgende element, gebruik TAB of PIJL RECHTS. Om te schakelen naar het vorige element, gebruik SHIFT+TAB or PIJL LINKS. Druk op SPATIE of ENTER om een element te selecteren in de tekstverwerker.\"}]},{name:\"Opdrachten\",items:[{name:\"Ongedaan maken opdracht\",legend:\"Druk op ${undo}\"},{name:\"Opnieuw uitvoeren opdracht\",legend:\"Druk op ${redo}\"},{name:\"Vetgedrukt opdracht\",\nlegend:\"Druk op ${bold}\"},{name:\"Cursief opdracht\",legend:\"Druk op ${italic}\"},{name:\"Onderstrepen opdracht\",legend:\"Druk op ${underline}\"},{name:\"Link opdracht\",legend:\"Druk op ${link}\"},{name:\"Werkbalk inklappen opdracht\",legend:\"Druk op ${toolbarCollapse}\"},{name:\"Ga naar vorige focus spatie commando\",legend:\"Druk ${accessPreviousSpace} om toegang te verkrijgen tot de dichtstbijzijnde onbereikbare focus spatie voor de caret, bijvoorbeeld: twee aangrenzende HR elementen. Herhaal de toetscombinatie om de verste focus spatie te bereiken.\"},\n{name:\"Ga naar volgende focus spatie commando\",legend:\"Druk ${accessNextSpace} om toegang te verkrijgen tot de dichtstbijzijnde onbereikbare focus spatie na de caret, bijvoorbeeld: twee aangrenzende HR elementen. Herhaal de toetscombinatie om de verste focus spatie te bereiken.\"},{name:\"Toegankelijkheidshulp\",legend:\"Druk op ${a11yHelp}\"}]}]});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/sq.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/sq.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"a11yhelp\",\"sq\",{title:\"Udhëzimet e Qasjes\",contents:\"Përmbajtja ndihmëse. Për ta mbyllur dialogun shtyp ESC.\",legend:[{name:\"Të përgjithshme\",items:[{name:\"Shiriti i Redaktuesit\",legend:\"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT-TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button.\"},{name:\"Dialogu i Redaktuesit\",legend:\"Inside a dialog, press TAB to navigate to next dialog field, press SHIFT + TAB to move to previous field, press ENTER to submit dialog, press ESC to cancel dialog. For dialogs that have multiple tab pages, press ALT + F10 to navigate to tab-list. Then move to next tab with TAB OR RIGTH ARROW. Move to previous tab with SHIFT + TAB or LEFT ARROW. Press SPACE or ENTER to select the tab page.\"},\n{name:\"Editor Context Menu\",legend:\"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC.\"},{name:\"Editor List Box\",legend:\"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT + TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box.\"},\n{name:\"Editor Element Path Bar\",legend:\"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with  SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor.\"}]},{name:\"Komandat\",items:[{name:\"Rikthe komandën\",legend:\"Shtyp ${undo}\"},{name:\"Ribëj komandën\",legend:\"Shtyp ${redo}\"},{name:\"Komanda e trashjes së tekstit\",legend:\"Shtyp ${bold}\"},{name:\"Komanda kursive\",legend:\"Shtyp ${italic}\"},\n{name:\"Komanda e nënvijëzimit\",legend:\"Shtyp ${underline}\"},{name:\"Komanda e Nyjes\",legend:\"Shtyp ${link}\"},{name:\" Toolbar Collapse command\",legend:\"Shtyp ${toolbarCollapse}\"},{name:\" Access previous focus space command\",legend:\"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces.\"},{name:\" Access next focus space command\",legend:\"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces.\"},\n{name:\"Ndihmë Qasjeje\",legend:\"Shtyp ${a11yHelp}\"}]}]});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/eo.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/eo.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"a11yhelp\",\"eo\",{title:\"Uzindikoj pri atingeblo\",contents:\"Helpilenhavo. Por fermi tiun dialogon, premu la ESKAPAN klavon.\",legend:[{name:\"Ĝeneralaĵoj\",items:[{name:\"Ilbreto de la redaktilo\",legend:\"Premu ${toolbarFocus} por atingi la ilbreton. Moviĝu al la sekva aŭ antaŭa grupoj de la ilbreto per la klavoj TABA kaj MAJUSKLIGA-TABA. Moviĝu al la sekva aŭ antaŭa butonoj de la ilbreto per la klavoj SAGO DEKSTREN kaj SAGO MALDEKSTREN. Premu la SPACETklavon aŭ la ENENklavon por aktivigi la ilbretbutonon.\"},\n{name:\"Redaktildialogo\",legend:\"En dialogo, premu la TABAN klavon por navigi al la sekva dialogkampo, premu la MAJUSKLIGAN + TABAN klavojn por reveni al la antaŭa kampo, premu la ENENklavon por sendi la dialogon, premu la ESKAPAN klavon por nuligi la dialogon. Por dialogoj kun pluraj retpaĝoj sub langetoj, premu ALT + F10 por navigi al la langetlisto. Poste moviĝu al la sekva langeto per la klavo TABA aŭ SAGO DEKSTREN. Moviĝu al la antaŭa langeto per la klavoj MAJUSKLIGA + TABA aŭ  SAGO MALDEKSTREN. Premu la SPACETklavon aŭ la ENENklavon por selekti la langetretpaĝon.\"},\n{name:\"Kunteksta menuo de la redaktilo\",legend:\"Premu ${contextMenu} aŭ entajpu la KLAVKOMBINAĴON por malfermi la kuntekstan menuon. Poste moviĝu al la sekva opcio de la menuo per la klavoj TABA aŭ SAGO SUBEN. Moviĝu al la antaŭa opcio per la klavoj MAJUSKLGA + TABA aŭ SAGO SUPREN. Premu la SPACETklavon aŭ ENENklavon por selekti la menuopcion. Malfermu la submenuon de la kuranta opcio per la SPACETklavo aŭ la ENENklavo aŭ la SAGO DEKSTREN. Revenu al la elemento de la patra menuo per la klavoj ESKAPA aŭ SAGO MALDEKSTREN. Fermu la kuntekstan menuon per la ESKAPA klavo.\"},\n{name:\"Fallisto de la redaktilo\",legend:\"En fallisto, moviĝu al la sekva listelemento per la klavoj TABA aŭ SAGO SUBEN. Moviĝu al la antaŭa listelemento per la klavoj MAJUSKLIGA + TABA aŭ SAGO SUPREN. Premu la SPACETklavon aŭ ENENklavon por selekti la opcion en la listo. Premu la ESKAPAN klavon por fermi la falmenuon.\"},{name:\"Breto indikanta la vojon al la redaktilelementoj\",legend:\"Premu ${elementsPathFocus} por navigi al la breto indikanta la vojon al la redaktilelementoj. Moviĝu al la butono de la sekva elemento per la klavoj TABA aŭ SAGO DEKSTREN. Moviĝu al la butono de la antaŭa elemento per la klavoj MAJUSKLIGA + TABA aŭ SAGO MALDEKSTREN. Premu la SPACETklavon aŭ ENENklavon por selekti la elementon en la redaktilo.\"}]},\n{name:\"Komandoj\",items:[{name:\"Komando malfari\",legend:\"Premu ${undo}\"},{name:\"Komando refari\",legend:\"Premu ${redo}\"},{name:\"Komando grasa\",legend:\"Premu ${bold}\"},{name:\"Komando kursiva\",legend:\"Premu ${italic}\"},{name:\"Komando substreki\",legend:\"Premu ${underline}\"},{name:\"Komando ligilo\",legend:\"Premu ${link}\"},{name:\"Komando faldi la ilbreton\",legend:\"Premu ${toolbarCollapse}\"},{name:\" Access previous focus space command\",legend:\"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces.\"},\n{name:\" Access next focus space command\",legend:\"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces.\"},{name:\"Helpilo pri atingeblo\",legend:\"Premu ${a11yHelp}\"}]}]});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/fr-ca.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/fr-ca.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"a11yhelp\",\"fr-ca\",{title:\"Instructions d'accessibilité\",contents:\"Contenu de l'aide.  Pour fermer cette fenêtre, appuyez sur ESC.\",legend:[{name:\"Général\",items:[{name:\"Barre d'outil de l'éditeur\",legend:\"Appuyer sur ${toolbarFocus} pour accéder à la barre d'outils. Se déplacer vers les groupes suivant ou précédent de la barre d'outil avec les touches TAB et SHIFT-TAB. Se déplacer vers les boutons suivant ou précédent de la barre d'outils avec les touches FLECHE DROITE et FLECHE GAUCHE. Appuyer sur la barre d'espace ou la touche ENTRER pour activer le bouton de barre d'outils.\"},\n{name:\"Dialogue de l'éditeur\",legend:\"A l'intérieur d'un dialogue, appuyer sur la touche TAB pour naviguer jusqu'au champ de dalogue suivant, appuyez sur les touches SHIFT + TAB pour revenir au champ précédent, appuyez sur la touche ENTRER pour soumettre le dialogue, appuyer sur la touche ESC pour annuler le dialogue. Pour les dialogues avec plusieurs pages d'onglets, appuyer sur ALT + F10 pour naviguer jusqu'à la liste des onglets. Puis se déplacer vers l'onglet suivant avec la touche TAB ou FLECHE DROITE. Se déplacer vers l'onglet précédent avec les touches SHIFT + TAB ou FLECHE GAUCHE. Appuyer sur la barre d'espace ou la touche ENTRER pour sélectionner la page de l'onglet.\"},\n{name:\"Menu contextuel de l'éditeur\",legend:\"Appuyer sur ${contextMenu} ou entrer le RACCOURCI CLAVIER pour ouvrir le menu contextuel. Puis se déplacer vers l'option suivante du menu avec les touches TAB ou FLECHE BAS. Se déplacer vers l'option précédente avec les touches SHIFT+TAB ou FLECHE HAUT. appuyer sur la BARRE D'ESPACE ou la touche ENTREE pour sélectionner l'option du menu. Oovrir le sous-menu de l'option courante avec la BARRE D'ESPACE ou les touches ENTREE ou FLECHE DROITE. Revenir à l'élément de menu parent avec les touches ESC ou FLECHE GAUCHE. Fermer le menu contextuel avec ESC.\"},\n{name:\"Menu déroulant de l'éditeur\",legend:\"A l'intérieur d'une liste en menu déroulant, se déplacer vers l'élément suivant de la liste avec les touches TAB ou FLECHE BAS. Se déplacer vers l'élément précédent de la liste avec les touches SHIFT + TAB ou FLECHE HAUT. Appuyer sur la BARRE D'ESPACE ou sur ENTREE pour sélectionner l'option dans la liste. Appuyer sur ESC pour fermer le menu déroulant.\"},{name:\"Barre d'emplacement des éléments de l'éditeur\",legend:\"Appuyer sur ${elementsPathFocus} pour naviguer vers la barre d'emplacement des éléments de léditeur. Se déplacer vers le bouton d'élément suivant avec les touches TAB ou FLECHE DROITE. Se déplacer vers le bouton d'élément précédent avec les touches SHIFT+TAB ou FLECHE GAUCHE. Appuyer sur la BARRE D'ESPACE ou sur ENTREE pour sélectionner l'élément dans l'éditeur.\"}]},\n{name:\"Commandes\",items:[{name:\"Annuler\",legend:\"Appuyer sur ${undo}\"},{name:\"Refaire\",legend:\"Appuyer sur ${redo}\"},{name:\"Gras\",legend:\"Appuyer sur ${bold}\"},{name:\"Italique\",legend:\"Appuyer sur ${italic}\"},{name:\"Souligné\",legend:\"Appuyer sur ${underline}\"},{name:\"Lien\",legend:\"Appuyer sur ${link}\"},{name:\"Enrouler la barre d'outils\",legend:\"Appuyer sur ${toolbarCollapse}\"},{name:\"Accéder à l'objet de focus précédent\",legend:\"Appuyer ${accessPreviousSpace} pour accéder au prochain espace disponible avant le curseur, par exemple: deux éléments HR adjacents.  Répéter la combinaison pour joindre les éléments d'espaces distantes.\"},\n{name:\"Accéder au prochain objet de focus\",legend:\"Appuyer ${accessNextSpace} pour accéder au prochain espace disponible après le curseur, par exemple: deux éléments HR adjacents.  Répéter la combinaison pour joindre les éléments d'espaces distantes.\"},{name:\"Aide d'accessibilité\",legend:\"Appuyer sur ${a11yHelp}\"}]}]});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/de.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/de.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"a11yhelp\",\"de\",{title:\"Barrierefreiheitinformationen\",contents:\"Hilfeinhalt. Um den Dialog zu schliessen die Taste 'ESC' drücken.\",legend:[{name:\"Allgemein\",items:[{name:\"Editor Symbolleiste\",legend:\"Drücken Sie ${toolbarFocus} auf der Symbolleiste. Gehen Sie zur nächsten oder vorherigen Symbolleistengruppe mit TAB und SHIFT-TAB. Gehen Sie zur nächsten oder vorherigen Symbolleiste auf die Schaltfläche mit dem RECHTS- oder LINKS-Pfeil. Drücken Sie die Leertaste oder Eingabetaste, um die Schaltfläche in der Symbolleiste aktivieren.\"},\n{name:\"Editor Dialog\",legend:\"Innerhalb des Dialogs drücken Sie TAB um zum nächsten Dialogfeld zu gelangen, drücken Sie SHIFT-TAG um zum vorherigen Feld zu wechseln, drücken Sie ENTER um den Dialog abzusenden und ESC um den Dialog zu abzubrechen. Um zwischen den Reitern innerhalb eines Dialogs zu wechseln drücken sie ALT-F10. Um zum nächsten Reiter zu gelangen können Sie TAB oder die rechte Pfeiltaste. Zurück gelangt man mit SHIFT-TAB oder der linken Pfeiltaste. Mit der Leertaste oder Enter kann man den Reiter auswählen.\"},\n{name:\"Editor Kontextmenü\",legend:\"Dürcken Sie ${contextMenu} oder die Anwendungstaste um das Kontextmenü zu öffnen. Man kann die Pfeiltasten zum Wechsel benutzen. Mit der Leertaste oder der Enter-Taste kann man den Menüpunkt aufrufen. Schliessen Sie das Kontextmenü mit der ESC-Taste.\"},{name:\"Editor Listen\",legend:\"Innerhalb einer Listenbox kann man mit der TAB-Taste oder den Pfeilrunter-Taste den nächsten Menüeintrag wählen. Mit der Shift-TAB Tastenkombination oder der Pfeilhoch-Taste gelangt man zum vorherigen Menüpunkt. Mit der Leertaste oder Enter kann man den Menüpunkt auswählen. Drücken Sie ESC zum Verlassen des Menüs.\"},\n{name:\"Editor Elementpfadleiste\",legend:\"Drücken Sie ${elementsPathFocus} um sich durch die Pfadleiste zu bewegen. Um zum nächsten Element zu gelangen drücken Sie TAB oder die Pfeilrechts-Taste. Zum vorherigen Element gelangen Sie mit der SHIFT-TAB oder der Pfeillinks-Taste. Drücken Sie die Leertaste oder Enter um das Element auszuwählen.\"}]},{name:\"Befehle\",items:[{name:\"Wiederholen Befehl\",legend:\"Drücken Sie ${undo}\"},{name:\"Rückgängig Befehl\",legend:\"Drücken Sie ${redo}\"},{name:\"Fettschrift Befehl\",\nlegend:\"Drücken Sie ${bold}\"},{name:\"Italic Befehl\",legend:\"Drücken Sie ${italic}\"},{name:\"Unterstreichung Befehl\",legend:\"Drücken Sie ${underline}\"},{name:\"Link Befehl\",legend:\"Drücken Sie ${link}\"},{name:\"Symbolleiste zuammenklappen Befehl\",legend:\"Drücken Sie ${toolbarCollapse}\"},{name:\"Zugang bisheriger Fokussierung Raumbefehl \",legend:\"Drücken Sie ${accessPreviousSpace}  auf den am nächsten nicht erreichbar Fokus-Abstand vor die Einfügemarke zugreifen: zwei benachbarte HR-Elemente. Wiederholen Sie die Tastenkombination um entfernte Fokusräume zu erreichen. \"},\n{name:\"Zugang nächster Schwerpunkt Raumbefehl \",legend:\"Drücken Sie $ { accessNextSpace }, um den nächsten unerreichbar Fokus Leerzeichen nach dem Cursor zum Beispiel auf: zwei benachbarten HR Elemente. Wiederholen Sie die Tastenkombination zum fernen Fokus Bereiche zu erreichen. \"},{name:\"Eingabehilfen\",legend:\"Drücken Sie ${a11yHelp}\"}]}]});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/el.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/el.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"a11yhelp\",\"el\",{title:\"Οδηγίες Προσβασιμότητας\",contents:\"Περιεχόμενα Βοήθειας. Πατήστε ESC για κλείσιμο.\",legend:[{name:\"Γενικά\",items:[{name:\"Εργαλειοθήκη Επεξεργαστή\",legend:\"Πατήστε ${toolbarFocus} για να περιηγηθείτε στην γραμμή εργαλείων. Μετακινηθείτε ανάμεσα στις ομάδες της γραμμής εργαλείων με TAB και SHIFT-TAB. Μετακινηθείτε ανάμεσα στα κουμπιά εργαλείων με το ΔΕΞΙ ή ΑΡΙΣΤΕΡΟ ΒΕΛΑΚΙ. Πατήστε ΔΙΑΣΤΗΜΑ ή ENTER για να ενεργοποιήσετε το ενεργό κουμπί εργαλείου.\"},{name:\"Παράθυρο Διαλόγου Επεξεργαστή\",\nlegend:\"Μέσα σε ένα παράθυρο διαλόγου, πατήστε TAB για να μεταβείτε στο επόμενο πεδίο ή SHIFT + TAB για να μεταβείτε στο προηγούμενο. Πατήστε ENTER για να υποβάλετε την φόρμα. Πατήστε ESC για να ακυρώσετε την διαδικασία της φόρμας. Για παράθυρα διαλόγων που έχουν πολλές σελίδες σε καρτέλες πατήστε ALT + F10 για να μεταβείτε στην λίστα των καρτελών. Στην συνέχεια μπορείτε να μεταβείτε στην επόμενη καρτέλα πατώντας το TAB ή το ΔΕΞΙ ΒΕΛΑΚΙ. Μπορείτε να μεταβείτε στην προηγούμενη καρτέλα πατώντας SHIFT + TAB ή το ΑΡΙΣΤΕΡΟ ΒΕΛΑΚΙ. Πατήστε ΔΙΑΣΤΗΜΑ ή ENTER για να επιλέξτε την καρτέλα για προβολή.\"},\n{name:\"Αναδυόμενο Μενού Επεξεργαστή\",legend:\"Πατήστε ${contextMenu} ή APPLICATION KEY για να ανοίξετε το αναδυόμενο μενού. Μετά μετακινηθείτε στην επόμενη επιλογή του μενού με  TAB ή ΚΑΤΩ ΒΕΛΑΚΙ. Μετακινηθείτε στην προηγούμενη επιλογή με SHIFT+TAB ή το ΠΑΝΩ ΒΕΛΑΚΙ. Πατήστε ΔΙΑΣΤΗΜΑ ή ENTER για να επιλέξτε το τρέχων στοιχείο. Ανοίξτε το αναδυόμενο μενού της τρέχουσας επιλογής με ΔΙΑΣΤΗΜΑ ή ENTER ή το ΔΕΞΙ ΒΕΛΑΚΙ. Μεταβείτε πίσω στο αρχικό στοιχείο μενού με το ESC ή το ΑΡΙΣΤΕΡΟ ΒΕΛΑΚΙ. Κλείστε το αναδυόμενο μενού με ESC.\"},\n{name:\"Κουτί Λίστας Επεξεργαστών\",legend:\"Μέσα σε ένα κουτί λίστας, μετακινηθείτε στο επόμενο στοιχείο με TAB ή ΚΑΤΩ ΒΕΛΑΚΙ. Μετακινηθείτε στο προηγούμενο στοιχείο με SHIFT + TAB ή το ΠΑΝΩ ΒΕΛΑΚΙ. Πατήστε ΔΙΑΣΤΗΜΑ ή ENTER για να επιλέξετε ένα στοιχείο. Πατήστε ESC για να κλείσετε το κουτί της λίστας.\"},{name:\"Μπάρα Διαδρομών Στοιχείων Επεξεργαστή\",legend:\"Πατήστε ${elementsPathFocus} για να περιηγηθείτε στην μπάρα διαδρομών στοιχείων του επεξεργαστή. Μετακινηθείτε στο κουμπί του επόμενου στοιχείου με το TAB ή το ΔΕΞΙ ΒΕΛΑΚΙ. Μετακινηθείτε στο κουμπί του προηγούμενου στοιχείου με το SHIFT+TAB ή το ΑΡΙΣΤΕΡΟ ΒΕΛΑΚΙ. Πατήστε ΔΙΑΣΤΗΜΑ ή ENTER για να επιλέξετε το στοιχείο στον επεξεργαστή.\"}]},\n{name:\"Εντολές\",items:[{name:\"Εντολή αναίρεσης\",legend:\"Πατήστε ${undo}\"},{name:\"Εντολή επανάληψης\",legend:\"Πατήστε ${redo}\"},{name:\"Εντολή έντονης γραφής\",legend:\"Πατήστε ${bold}\"},{name:\"Εντολή πλάγιας γραφής\",legend:\"Πατήστε ${italic}\"},{name:\"Εντολή υπογράμμισης\",legend:\"Πατήστε ${underline}\"},{name:\"Εντολή συνδέσμου\",legend:\"Πατήστε ${link}\"},{name:\"Εντολή Σύμπτηξης Εργαλειοθήκης\",legend:\"Πατήστε ${toolbarCollapse}\"},{name:\"Πρόσβαση στην προηγούμενη εντολή του χώρου εστίασης \",legend:\"Πατήστε ${accessPreviousSpace} για να έχετε πρόσβαση στον πιο κοντινό χώρο εστίασης πριν το δρομέα, για παράδειγμα: δύο παρακείμενα στοιχεία ΥΕ. Επαναλάβετε το συνδυασμό πλήκτρων για να φθάσετε στους χώρους μακρινής εστίασης. \"},\n{name:\"Πρόσβαση στην επόμενη εντολή του χώρου εστίασης\",legend:\"Πατήστε ${accessNextSpace} για να έχετε πρόσβαση στον πιο κοντινό χώρο εστίασης μετά το δρομέα, για παράδειγμα: δύο παρακείμενα στοιχεία ΥΕ. Επαναλάβετε το συνδυασμό πλήκτρων για τους χώρους μακρινής εστίασης. \"},{name:\"Βοήθεια Προσβασιμότητας\",legend:\"Πατήστε ${a11yHelp}\"}]}]});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/es.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/es.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"a11yhelp\",\"es\",{title:\"Instrucciones de accesibilidad\",contents:\"Ayuda. Para cerrar presione ESC.\",legend:[{name:\"General\",items:[{name:\"Barra de herramientas del editor\",legend:'Presiona ${toolbarFocus} para navegar por la barra de herramientas. Para moverse por los distintos grupos de herramientas usa las teclas TAB y MAY-TAB. Para moverse por las distintas herramientas usa FLECHA DERECHA o FECHA IZQUIERDA. Presiona \"espacio\" o \"intro\" para activar la herramienta.'},{name:\"Editor de diálogo\",\nlegend:\"Dentro de un cuadro de diálogo, presione la tecla TAB para desplazarse al campo siguiente del cuadro de diálogo, pulse SHIFT + TAB para desplazarse al campo anterior, pulse ENTER para presentar cuadro de diálogo, pulse la tecla ESC para cancelar el diálogo. Para los diálogos que tienen varias páginas, presione ALT + F10 para navegar a la pestaña de la lista. Luego pasar a la siguiente pestaña con TAB o FLECHA DERECHA. Para ir a la ficha anterior con SHIFT + TAB o FLECHA IZQUIERDA. Presione ESPACIO o ENTRAR para seleccionar la página de ficha.\"},\n{name:\"Editor del menú contextual\",legend:\"Presiona ${contextMenu} o TECLA MENÚ para abrir el menú contextual. Entonces muévete a la siguiente opción del menú con TAB o FLECHA ABAJO. Muévete a la opción previa con SHIFT + TAB o FLECHA ARRIBA. Presiona ESPACIO o ENTER para seleccionar la opción del menú. Abre el submenú de la opción actual con ESPACIO o ENTER o FLECHA DERECHA. Regresa al elemento padre del menú con ESC o FLECHA IZQUIERDA. Cierra el menú contextual con ESC.\"},{name:\"Lista del Editor\",\nlegend:\"Dentro de una lista, te mueves al siguiente elemento de la lista con TAB o FLECHA ABAJO. Te mueves al elemento previo de la lista con SHIFT + TAB o FLECHA ARRIBA. Presiona ESPACIO o ENTER para elegir la opción de la lista. Presiona ESC para cerrar la lista.\"},{name:\"Barra de Ruta del Elemento en el Editor\",legend:\"Presiona ${elementsPathFocus} para navegar a los elementos de la barra de ruta. Te mueves al siguiente elemento botón con TAB o FLECHA DERECHA. Te mueves al botón previo con SHIFT + TAB o FLECHA IZQUIERDA. Presiona ESPACIO o ENTER para seleccionar el elemento en el editor.\"}]},\n{name:\"Comandos\",items:[{name:\"Comando deshacer\",legend:\"Presiona ${undo}\"},{name:\"Comando rehacer\",legend:\"Presiona ${redo}\"},{name:\"Comando negrita\",legend:\"Presiona ${bold}\"},{name:\"Comando itálica\",legend:\"Presiona ${italic}\"},{name:\"Comando subrayar\",legend:\"Presiona ${underline}\"},{name:\"Comando liga\",legend:\"Presiona ${liga}\"},{name:\"Comando colapsar barra de herramientas\",legend:\"Presiona ${toolbarCollapse}\"},{name:\"Comando accesar el anterior espacio de foco\",legend:\"Presiona ${accessPreviousSpace} para accesar el espacio de foco no disponible más cercano anterior al cursor, por ejemplo: dos elementos HR adyacentes. Repite la combinación de teclas para alcanzar espacios de foco distantes.\"},\n{name:\"Comando accesar el siguiente spacio de foco\",legend:\"Presiona ${accessNextSpace} para accesar el espacio de foco no disponible más cercano después del cursor, por ejemplo: dos elementos HR adyacentes. Repite la combinación de teclas para alcanzar espacios de foco distantes.\"},{name:\"Ayuda de Accesibilidad\",legend:\"Presiona ${a11yHelp}\"}]}]});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/sr.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/sr.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"a11yhelp\",\"sr\",{title:\"Accessibility Instructions\",contents:\"Help Contents. To close this dialog press ESC.\",legend:[{name:\"Опште\",items:[{name:\"Editor Toolbar\",legend:\"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT-TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button.\"},{name:\"Editor Dialog\",legend:\"Inside a dialog, press TAB to navigate to next dialog field, press SHIFT + TAB to move to previous field, press ENTER to submit dialog, press ESC to cancel dialog. For dialogs that have multiple tab pages, press ALT + F10 to navigate to tab-list. Then move to next tab with TAB OR RIGTH ARROW. Move to previous tab with SHIFT + TAB or LEFT ARROW. Press SPACE or ENTER to select the tab page.\"},\n{name:\"Editor Context Menu\",legend:\"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC.\"},{name:\"Editor List Box\",legend:\"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT + TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box.\"},\n{name:\"Editor Element Path Bar\",legend:\"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with  SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor.\"}]},{name:\"Commands\",items:[{name:\" Undo command\",legend:\"Press ${undo}\"},{name:\" Redo command\",legend:\"Press ${redo}\"},{name:\" Bold command\",legend:\"Press ${bold}\"},{name:\" Italic command\",legend:\"Press ${italic}\"},{name:\" Underline command\",\nlegend:\"Press ${underline}\"},{name:\" Link command\",legend:\"Press ${link}\"},{name:\" Toolbar Collapse command\",legend:\"Press ${toolbarCollapse}\"},{name:\" Access previous focus space command\",legend:\"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces.\"},{name:\" Access next focus space command\",legend:\"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces.\"},\n{name:\" Accessibility Help\",legend:\"Press ${a11yHelp}\"}]}]});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/pt.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/pt.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"a11yhelp\",\"pt\",{title:\"Instruções de Acessibilidade\",contents:\"Conteúdos da Ajuda. Pressione em 'ESC' para fechar esta janela.\",legend:[{name:\"Geral\",items:[{name:\"Barra de Ferramentas do Editor\",legend:\"Clique em ${toolbarFocus} para navegar para a barra de ferramentas. Vá para o grupo da barra de ferramentas anterior e seguinte com TAB e SHIFT+TAB. Vá para o botão da barra de ferramentas anterior com a SETA DIREITA ou ESQUERDA. Pressione ESPAÇO ou ENTER para ativar o botão da barra de ferramentas.\"},\n{name:\"Janela do Editor\",legend:\"Dentro de uma janela, pressione TAB para navigar para o campo da janela seguinte, pressione SHIFT + TAB para mover para o campo anterior, pressione ENTER para submeter a janela, pressione ESC para cancelar a janela. Para as janelas que têm múltiplos páginas com separadores, pressione ALT + F10 para navegar para a lista do separador. Depois mova para o seguinte separador com TAB ou SETA DIREITA. Mover para o separador anterior com SHIFT + TAB ou SETA ESQUERDA. Pressione ESPAÇO ou ENTER para selecionar o separador da página.\"},\n{name:\"Menu de Contexto do Editor\",legend:\"Clique em ${contextMenu} ou TECLA APLICAÇÃO para abrir o menu de contexto. Depois vá para a opção do menu seguinte com TAB ou SETA PARA BAIXO. Vá para a opção anterior com  SHIFT+TAB ou SETA PARA CIMA. Pressione ESPAÇO ou ENTER para selecionar a opção do menu.  Abra o submenu da opção atual com ESPAÇO, ENTER ou SETA DIREITA. GVá para o item do menu parente  com ESC ou SETA ESQUERDA. Feche o menu de contexto com ESC.\"},{name:\"Caixa Lista Editor\",legend:\"Dentro da caixa da lista, vá para o itemda lista seguinte com TAB ou SETA PARA BAIXO. Move Vá parao item da lista anterior com SHIFT+TAB ou SETA PARA BAIXO. Pressione ESPAÇO ou ENTER para selecionar a opção da lista. Pressione ESC para fechar a caisa da lista.\"},\n{name:\"Caminho Barra Elemento Editor\",legend:\"Clique em ${elementsPathFocus} para navegar para a barra do caminho dos elementos. Vá para o botão do elemento seguinte com TAB ou SETA DIREITA. Vá para o botão anterior com   SHIFT+TAB ou SETA ESQUERDA. Pressione ESPAÇO ou ENTER para selecionar o elemento no editor.\"}]},{name:\"Comandos\",items:[{name:\"Comando de Anular\",legend:\"Pressione ${undo}\"},{name:\"Comando de Refazer\",legend:\"Pressione ${redo}\"},{name:\"Comando de Negrito\",legend:\"Pressione ${bold}\"},\n{name:\"Comando de Itálico\",legend:\"Pressione ${italic}\"},{name:\"Comando de Sublinhado\",legend:\"Pressione ${underline}\"},{name:\"Comando de Hiperligação\",legend:\"Pressione ${link}\"},{name:\"Comando de Ocultar Barra de Ferramentas\",legend:\"Pressione ${toolbarCollapse}\"},{name:\"Acesso comando do espaço focus anterior\",legend:\"Clique em ${accessPreviousSpace} para aceder ao espaço do focos inalcançável mais perto antes do sinal de omissão, por exemplo: dois elementos HR adjacentes. Repetir a combinação da chave para alcançar os espaços dos focos distantes.\"},\n{name:\"Acesso comando do espaço focus seguinte\",legend:\"Pressione ${accessNextSpace} para aceder ao espaço do focos inalcançável mais perto depois do sinal de omissão, por exemplo: dois elementos HR adjacentes. Repetir a combinação da chave para alcançar os espaços dos focos distantes.\"},{name:\"Ajuda de Acessibilidade\",legend:\"Pressione ${a11yHelp}\"}]}]});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/mn.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/mn.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"a11yhelp\",\"mn\",{title:\"Accessibility Instructions\",contents:\"Help Contents. To close this dialog press ESC.\",legend:[{name:\"Ерөнхий\",items:[{name:\"Editor Toolbar\",legend:\"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT-TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button.\"},{name:\"Editor Dialog\",legend:\"Inside a dialog, press TAB to navigate to next dialog field, press SHIFT + TAB to move to previous field, press ENTER to submit dialog, press ESC to cancel dialog. For dialogs that have multiple tab pages, press ALT + F10 to navigate to tab-list. Then move to next tab with TAB OR RIGTH ARROW. Move to previous tab with SHIFT + TAB or LEFT ARROW. Press SPACE or ENTER to select the tab page.\"},\n{name:\"Editor Context Menu\",legend:\"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC.\"},{name:\"Editor List Box\",legend:\"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT + TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box.\"},\n{name:\"Editor Element Path Bar\",legend:\"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with  SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor.\"}]},{name:\"Commands\",items:[{name:\" Undo command\",legend:\"Press ${undo}\"},{name:\" Redo command\",legend:\"Press ${redo}\"},{name:\" Bold command\",legend:\"Press ${bold}\"},{name:\" Italic command\",legend:\"Press ${italic}\"},{name:\" Underline command\",\nlegend:\"Press ${underline}\"},{name:\" Link command\",legend:\"Press ${link}\"},{name:\" Toolbar Collapse command\",legend:\"Press ${toolbarCollapse}\"},{name:\" Access previous focus space command\",legend:\"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces.\"},{name:\" Access next focus space command\",legend:\"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces.\"},\n{name:\" Accessibility Help\",legend:\"Press ${a11yHelp}\"}]}]});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/ko.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/ko.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"a11yhelp\",\"ko\",{title:\"Accessibility Instructions\",contents:\"Help Contents. To close this dialog press ESC.\",legend:[{name:\"General\",items:[{name:\"편집기 툴바\",legend:\"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT-TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button.\"},{name:\"편집기 다이얼로그\",legend:\"Inside a dialog, press TAB to navigate to next dialog field, press SHIFT + TAB to move to previous field, press ENTER to submit dialog, press ESC to cancel dialog. For dialogs that have multiple tab pages, press ALT + F10 to navigate to tab-list. Then move to next tab with TAB OR RIGTH ARROW. Move to previous tab with SHIFT + TAB or LEFT ARROW. Press SPACE or ENTER to select the tab page.\"},\n{name:\"편집기 환경 메뉴\",legend:\"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC.\"},{name:\"편집기 목록 박스\",legend:\"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT + TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box.\"},\n{name:\"Editor Element Path Bar\",legend:\"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with  SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor.\"}]},{name:\"명령\",items:[{name:\" Undo command\",legend:\"Press ${undo}\"},{name:\" Redo command\",legend:\"Press ${redo}\"},{name:\" Bold command\",legend:\"Press ${bold}\"},{name:\" Italic command\",legend:\"Press ${italic}\"},{name:\" Underline command\",\nlegend:\"Press ${underline}\"},{name:\" Link command\",legend:\"Press ${link}\"},{name:\" Toolbar Collapse command\",legend:\"Press ${toolbarCollapse}\"},{name:\" Access previous focus space command\",legend:\"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces.\"},{name:\" Access next focus space command\",legend:\"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces.\"},\n{name:\" Accessibility Help\",legend:\"Press ${a11yHelp}\"}]}]});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/pt-br.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/pt-br.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"a11yhelp\",\"pt-br\",{title:\"Instruções de Acessibilidade\",contents:\"Conteúdo da Ajuda. Para fechar este diálogo pressione ESC.\",legend:[{name:\"Geral\",items:[{name:\"Barra de Ferramentas do Editor\",legend:\"Pressione ${toolbarFocus} para navegar para a barra de ferramentas. Mova para o anterior ou próximo grupo de ferramentas com TAB e SHIFT-TAB. Mova para o anterior ou próximo botão com SETA PARA DIREITA or SETA PARA ESQUERDA. Pressione ESPAÇO ou ENTER para ativar o botão da barra de ferramentas.\"},\n{name:\"Diálogo do Editor\",legend:\"Dentro de um diálogo, pressione TAB para navegar para o próximo campo, pressione SHIFT + TAB para mover para o campo anterior, pressione ENTER para enviar o diálogo, pressione ESC para cancelar o diálogo. Para diálogos que tem múltiplas abas, pressione ALT + F10 para navegar para a lista de abas, então mova para a próxima aba com SHIFT + TAB ou SETA PARA ESQUERDA. Pressione ESPAÇO ou ENTER para selecionar a aba.\"},{name:\"Menu de Contexto do Editor\",legend:\"Pressione ${contextMenu} ou TECLA DE MENU para abrir o menu de contexto, então mova para a próxima opção com TAB ou SETA PARA BAIXO. Mova para a anterior com SHIFT+TAB ou SETA PARA CIMA. Pressione ESPAÇO ou ENTER para selecionar a opção do menu. Abra o submenu da opção atual com ESPAÇO ou ENTER ou SETA PARA DIREITA. Volte para o menu pai com ESC ou SETA PARA ESQUERDA. Feche o menu de contexto com ESC.\"},\n{name:\"Caixa de Lista do Editor\",legend:\"Dentro de uma caixa de lista, mova para o próximo item com TAB ou SETA PARA BAIXO. Mova para o item anterior com SHIFT + TAB ou SETA PARA CIMA. Pressione ESPAÇO ou ENTER para selecionar uma opção na lista. Pressione ESC para fechar a caixa de lista.\"},{name:\"Barra de Caminho do Elementos do Editor\",legend:\"Pressione ${elementsPathFocus} para a barra de caminho dos elementos. Mova para o próximo botão de elemento com TAB ou SETA PARA DIREITA. Mova para o botão anterior com  SHIFT+TAB ou SETA PARA ESQUERDA. Pressione ESPAÇO ou ENTER para selecionar o elemento no editor.\"}]},\n{name:\"Comandos\",items:[{name:\" Comando Desfazer\",legend:\"Pressione ${undo}\"},{name:\" Comando Refazer\",legend:\"Pressione ${redo}\"},{name:\" Comando Negrito\",legend:\"Pressione ${bold}\"},{name:\" Comando Itálico\",legend:\"Pressione ${italic}\"},{name:\" Comando Sublinhado\",legend:\"Pressione ${underline}\"},{name:\" Comando Link\",legend:\"Pressione ${link}\"},{name:\" Comando Fechar Barra de Ferramentas\",legend:\"Pressione ${toolbarCollapse}\"},{name:\"Acessar o comando anterior de spaço de foco\",legend:\"Pressione ${accessNextSpace} para acessar o espaço de foco não alcançável mais próximo antes do cursor, por exemplo: dois elementos HR adjacentes. Repita a combinação de teclas para alcançar espaços de foco distantes.\"},\n{name:\"Acessar próximo fomando de spaço de foco\",legend:\"Pressione ${accessNextSpace} para acessar o espaço de foco não alcançável mais próximo após o cursor, por exemplo: dois elementos HR adjacentes. Repita a combinação de teclas para alcançar espaços de foco distantes.\"},{name:\" Ajuda de Acessibilidade\",legend:\"Pressione ${a11yHelp}\"}]}]});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/no.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/no.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"a11yhelp\",\"no\",{title:\"Instruksjoner for tilgjengelighet\",contents:\"Innhold for hjelp. Trykk ESC for å lukke denne dialogen.\",legend:[{name:\"Generelt\",items:[{name:\"Verktøylinje for editor\",legend:\"Trykk ${toolbarFocus} for å navigere til verktøylinjen. Flytt til neste og forrige verktøylinjegruppe med TAB og SHIFT-TAB. Flytt til neste og forrige verktøylinjeknapp med HØYRE PILTAST og VENSTRE PILTAST. Trykk MELLOMROM eller ENTER for å aktivere verktøylinjeknappen.\"},{name:\"Dialog for editor\",\nlegend:\"Mens du er i en dialog, trykk TAB for å navigere til neste dialogfelt, press SHIFT + TAB for å flytte til forrige felt, trykk ENTER for å akseptere dialogen, trykk ESC for å avbryte dialogen. For dialoger med flere faner, trykk ALT + F10 for å navigere til listen over faner. Gå til neste fane med TAB eller HØYRE PILTAST. Gå til forrige fane med SHIFT + TAB eller VENSTRE PILTAST. Trykk MELLOMROM eller ENTER for å velge fanen.\"},{name:\"Kontekstmeny for editor\",legend:\"Trykk ${contextMenu} eller MENYKNAPP for å åpne kontekstmeny. Gå til neste alternativ i menyen med TAB eller PILTAST NED. Gå til forrige alternativ med SHIFT+TAB eller PILTAST OPP. Trykk MELLOMROM eller ENTER for å velge menyalternativet. Åpne undermenyen på valgt alternativ med MELLOMROM eller ENTER eller HØYRE PILTAST. Gå tilbake til overordnet menyelement med ESC eller VENSTRE PILTAST. Lukk kontekstmenyen med ESC.\"},\n{name:\"Listeboks for editor\",legend:\"I en listeboks, gå til neste alternativ i listen med TAB eller PILTAST NED. Gå til forrige alternativ i listen med SHIFT + TAB eller PILTAST OPP. Trykk MELLOMROM eller ENTER for å velge alternativet i listen. Trykk ESC for å lukke listeboksen.\"},{name:\"Verktøylinje for elementsti\",legend:\"Trykk ${elementsPathFocus} for å navigere til verktøylinjen som viser elementsti. Gå til neste elementknapp med TAB eller HØYRE PILTAST. Gå til forrige elementknapp med SHIFT+TAB eller VENSTRE PILTAST. Trykk MELLOMROM eller ENTER for å velge elementet i editoren.\"}]},\n{name:\"Kommandoer\",items:[{name:\"Angre\",legend:\"Trykk ${undo}\"},{name:\"Gjør om\",legend:\"Trykk ${redo}\"},{name:\"Fet tekst\",legend:\"Trykk ${bold}\"},{name:\"Kursiv tekst\",legend:\"Trykk ${italic}\"},{name:\"Understreking\",legend:\"Trykk ${underline}\"},{name:\"Link\",legend:\"Trykk ${link}\"},{name:\"Skjul verktøylinje\",legend:\"Trykk ${toolbarCollapse}\"},{name:\"Gå til forrige fokusområde\",legend:\"Trykk ${accessPreviousSpace} for å komme til nærmeste fokusområde før skrivemarkøren som ikke kan nås på vanlig måte, for eksempel to tilstøtende HR-elementer. Gjenta tastekombinasjonen for å komme til fokusområder lenger unna i dokumentet.\"},\n{name:\"Gå til neste fokusområde\",legend:\"Trykk ${accessNextSpace} for å komme til nærmeste fokusområde etter skrivemarkøren som ikke kan nås på vanlig måte, for eksempel to tilstøtende HR-elementer. Gjenta tastekombinasjonen for å komme til fokusområder lenger unna i dokumentet.\"},{name:\"Hjelp for tilgjengelighet\",legend:\"Trykk ${a11yHelp}\"}]}]});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/mk.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/mk.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"a11yhelp\",\"mk\",{title:\"Инструкции за пристапност\",contents:\"Содржина на делот за помош. За да го затворите овој дијалот притиснете ESC.\",legend:[{name:\"Општо\",items:[{name:\"Мени за едиторот\",legend:\"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT-TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button.\"},{name:\"Дијалот за едиторот\",\nlegend:\"Inside a dialog, press TAB to navigate to next dialog field, press SHIFT + TAB to move to previous field, press ENTER to submit dialog, press ESC to cancel dialog. For dialogs that have multiple tab pages, press ALT + F10 to navigate to tab-list. Then move to next tab with TAB OR RIGTH ARROW. Move to previous tab with SHIFT + TAB or LEFT ARROW. Press SPACE or ENTER to select the tab page.\"},{name:\"Editor Context Menu\",legend:\"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC.\"},\n{name:\"Editor List Box\",legend:\"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT + TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box.\"},{name:\"Editor Element Path Bar\",legend:\"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with  SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor.\"}]},\n{name:\"Commands\",items:[{name:\" Undo command\",legend:\"Press ${undo}\"},{name:\" Redo command\",legend:\"Press ${redo}\"},{name:\" Bold command\",legend:\"Press ${bold}\"},{name:\" Italic command\",legend:\"Press ${italic}\"},{name:\" Underline command\",legend:\"Press ${underline}\"},{name:\" Link command\",legend:\"Press ${link}\"},{name:\" Toolbar Collapse command\",legend:\"Press ${toolbarCollapse}\"},{name:\" Access previous focus space command\",legend:\"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces.\"},\n{name:\" Access next focus space command\",legend:\"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces.\"},{name:\" Accessibility Help\",legend:\"Press ${a11yHelp}\"}]}]});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/ar.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/ar.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"a11yhelp\",\"ar\",{title:\"Accessibility Instructions\",contents:\"Help Contents. To close this dialog press ESC.\",legend:[{name:\"عام\",items:[{name:\"Editor Toolbar\",legend:\"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT-TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button.\"},{name:\"Editor Dialog\",legend:\"Inside a dialog, press TAB to navigate to next dialog field, press SHIFT + TAB to move to previous field, press ENTER to submit dialog, press ESC to cancel dialog. For dialogs that have multiple tab pages, press ALT + F10 to navigate to tab-list. Then move to next tab with TAB OR RIGTH ARROW. Move to previous tab with SHIFT + TAB or LEFT ARROW. Press SPACE or ENTER to select the tab page.\"},\n{name:\"Editor Context Menu\",legend:\"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC.\"},{name:\"Editor List Box\",legend:\"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT + TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box.\"},\n{name:\"Editor Element Path Bar\",legend:\"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with  SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor.\"}]},{name:\"Commands\",items:[{name:\" Undo command\",legend:\"Press ${undo}\"},{name:\" Redo command\",legend:\"Press ${redo}\"},{name:\" Bold command\",legend:\"Press ${bold}\"},{name:\" Italic command\",legend:\"Press ${italic}\"},{name:\" Underline command\",\nlegend:\"Press ${underline}\"},{name:\" Link command\",legend:\"Press ${link}\"},{name:\" Toolbar Collapse command\",legend:\"Press ${toolbarCollapse}\"},{name:\" Access previous focus space command\",legend:\"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces.\"},{name:\" Access next focus space command\",legend:\"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces.\"},\n{name:\" Accessibility Help\",legend:\"Press ${a11yHelp}\"}]}]});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/ku.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/ku.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"a11yhelp\",\"ku\",{title:\"ڕێنمای لەبەردەستدابوون\",contents:\"پێکهاتەی یارمەتی. کلیك ESC بۆ داخستنی ئەم دیالۆگه.\",legend:[{name:\"گشتی\",items:[{name:\"تووڵامرازی دەستكاریكەر\",legend:\"کلیك ${toolbarFocus} بۆ ڕابەری تووڵامراز. بۆ گواستنەوەی پێشوو داهاتووی گرووپی تووڵامرازی داگرتنی کلیلی TAB لەگەڵ‌ SHIFT-TAB. بۆ گواستنەوەی پێشوو داهاتووی دووگمەی تووڵامرازی لەڕێی کلیلی تیری دەستی ڕاست یان کلیلی تیری دەستی چەپ. کلیکی کلیلی SPACE یان ENTER بۆ چالاککردنی دووگمەی تووڵامراز.\"},{name:\"دیالۆگی دەستكاریكەر\",\nlegend:\"لەهەمانکاتدا کە تۆ لەدیالۆگی, کلیکی کلیلی TAB بۆ ڕابەری خانەی دیالۆگێکی تر, داگرتنی کلیلی SHIFT + TAB بۆ گواستنەوەی بۆ خانەی پێشووتر, کلیكی کلیلی ENTER بۆ ڕازیکردنی دیالۆگەکە, کلیكی کلیلی ESC بۆ هەڵوەشاندنەوەی دیالۆگەکە. بۆ دیالۆگی لەبازدەری (تابی) زیاتر, کلیكی کلیلی ALT + F10 بۆ ڕابەری لیستی بازدەرەکان. بۆ چوونە بازدەری تابی داهاتوو کلیكی کلیلی TAB یان کلیلی تیری دەستی ڕاست. بۆچوونە بازدەری تابی پێشوو داگرتنی کلیلی SHIFT + TAB یان کلیلی تیری دەستی چەپ. کلیی کلیلی SPACE یان ENTER بۆ هه‌ڵبژاردنی بازدەر (تاب).\"},\n{name:\"پێڕستی سەرنووسەر\",legend:\"کلیك ${contextMenu} یان دوگمەی لیسته‌(Menu) بۆ کردنەوەی لیستەی دەق. بۆ چوونە هەڵبژاردەیەکی تر له‌ لیسته‌ کلیکی کلیلی TAB یان کلیلی تیری ڕوو لەخوارەوه‌ بۆ چوون بۆ هەڵبژاردەی پێشوو کلیکی کلیلی SHIFT+TAB یان کلیلی تیری ڕوو له‌ سەرەوە. داگرتنی کلیلی SPACE یان ENTER بۆ هەڵبژاردنی هەڵبژاردەی لیسته‌. بۆ کردنەوەی لقی ژێر لیسته‌ لەهەڵبژاردەی لیستە کلیکی کلیلی SPACE یان ENTER یان کلیلی تیری دەستی ڕاست. بۆ گەڕانەوه بۆ سەرەوەی لیسته‌ کلیکی کلیلی ESC یان کلیلی تیری دەستی چەپ. بۆ داخستنی لیستە کلیكی کلیلی ESC بکە.\"},\n{name:\"لیستی سنووقی سەرنووسەر\",legend:\"لەناو سنوقی لیست, چۆن بۆ هەڵنبژاردەی لیستێکی تر کلیکی کلیلی TAB یان کلیلی تیری ڕوو لەخوار. چوون بۆ هەڵبژاردەی لیستی پێشوو کلیکی کلیلی SHIFT + TAB یان کلیلی تیری ڕوو لەسەرەوه‌. کلیکی کلیلی SPACE یان ENTER بۆ دیاریکردنی ‌هەڵبژاردەی لیست. کلیکی کلیلی ESC بۆ داخستنی سنوقی لیست.\"},{name:\"تووڵامرازی توخم\",legend:\"کلیك ${elementsPathFocus} بۆ ڕابەری تووڵامرازی توخمەکان. چوون بۆ دوگمەی توخمێکی تر کلیکی کلیلی TAB یان کلیلی تیری دەستی ڕاست. چوون بۆ دوگمەی توخمی پێشوو کلیلی SHIFT+TAB یان کلیکی کلیلی تیری دەستی چەپ. داگرتنی کلیلی SPACE یان ENTER بۆ دیاریکردنی توخمەکه‌ لەسەرنووسه.\"}]},\n{name:\"فەرمانەکان\",items:[{name:\"پووچکردنەوەی فەرمان\",legend:\"کلیك ${undo}\"},{name:\"هەڵگەڕانەوەی فەرمان\",legend:\"کلیك ${redo}\"},{name:\"فەرمانی دەقی قەڵەو\",legend:\"کلیك ${bold}\"},{name:\"فەرمانی دەقی لار\",legend:\"کلیك ${italic}\"},{name:\"فەرمانی ژێرهێڵ\",legend:\"کلیك ${underline}\"},{name:\"فەرمانی به‌ستەر\",legend:\"کلیك ${link}\"},{name:\"شاردەنەوەی تووڵامراز\",legend:\"کلیك ${toolbarCollapse}\"},{name:\"چوونەناو سەرنجدانی پێشوی فەرمانی بۆشایی\",legend:\"کلیک ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces.\"},\n{name:\"چوونەناو سەرنجدانی داهاتووی فەرمانی بۆشایی\",legend:\"کلیک ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces.\"},{name:\"دەستپێگەیشتنی یارمەتی\",legend:\"کلیك ${a11yHelp}\"}]}]});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/hi.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/hi.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"a11yhelp\",\"hi\",{title:\"Accessibility Instructions\",contents:\"Help Contents. To close this dialog press ESC.\",legend:[{name:\"सामान्य\",items:[{name:\"Editor Toolbar\",legend:\"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT-TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button.\"},{name:\"Editor Dialog\",legend:\"Inside a dialog, press TAB to navigate to next dialog field, press SHIFT + TAB to move to previous field, press ENTER to submit dialog, press ESC to cancel dialog. For dialogs that have multiple tab pages, press ALT + F10 to navigate to tab-list. Then move to next tab with TAB OR RIGTH ARROW. Move to previous tab with SHIFT + TAB or LEFT ARROW. Press SPACE or ENTER to select the tab page.\"},\n{name:\"Editor Context Menu\",legend:\"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC.\"},{name:\"Editor List Box\",legend:\"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT + TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box.\"},\n{name:\"Editor Element Path Bar\",legend:\"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with  SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor.\"}]},{name:\"Commands\",items:[{name:\" Undo command\",legend:\"Press ${undo}\"},{name:\" Redo command\",legend:\"Press ${redo}\"},{name:\" Bold command\",legend:\"Press ${bold}\"},{name:\" Italic command\",legend:\"Press ${italic}\"},{name:\" Underline command\",\nlegend:\"Press ${underline}\"},{name:\" Link command\",legend:\"Press ${link}\"},{name:\" Toolbar Collapse command\",legend:\"Press ${toolbarCollapse}\"},{name:\" Access previous focus space command\",legend:\"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces.\"},{name:\" Access next focus space command\",legend:\"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces.\"},\n{name:\" Accessibility Help\",legend:\"Press ${a11yHelp}\"}]}]});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/ug.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/ug.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"a11yhelp\",\"ug\",{title:\"قوشۇمچە چۈشەندۈرۈش\",contents:\"ياردەم مەزمۇنى. بۇ سۆزلەشكۈنى ياپماقچى بولسىڭىز ESC نى بېسىڭ.\",legend:[{name:\"ئادەتتىكى\",items:[{name:\"قورال بالداق تەھرىر\",legend:\"${toolbarFocus} بېسىلسا قورال بالداققا يېتەكلەيدۇ، TAB ياكى SHIFT+TAB ئارقىلىق قورال بالداق گۇرۇپپىسى تاللىنىدۇ، ئوڭ سول يا ئوقتا توپچا تاللىنىدۇ، بوشلۇق ياكى Enter كۇنۇپكىسىدا تاللانغان توپچىنى قوللىنىدۇ.\"},{name:\"تەھرىرلىگۈچ سۆزلەشكۈسى\",legend:\"سۆزلەشكۈدە TAB كۇنۇپكىسىدا كېيىنكى سۆز بۆلىكىگە يۆتكىلىدۇ، SHIFT + TAB بىرىكمە كۇنۇپكىسىدا ئالدىنقى سۆز بۆلىكىگە يۆتكىلىدۇ، ENTER كۇنۇپكىسىدا سۆزلەشكۈنى تاپشۇرىدۇ، ESC كۇنۇپكىسى سۆزلەشكۈدىن ۋاز كېچىدۇ. كۆپ بەتكۈچلۈك سۆزلەشكۈگە نىسبەتەن، ALT + F10 دا بەتكۈچ تىزىمىغا يۆتكەيدۇ. ئاندىن TAB كۇنۇپكىسى ياكى ئوڭ يا ئوق كۇنۇپكىسى كېيىنكى بەتكۈچكە يۆتكەيدۇ؛ SHIFT + TAB كۇنۇپكىسى ياكى سول يا ئوق كۇنۇپكىسى ئالدىنقى بەتكۈچكە يۆتكەيدۇ. بوشلۇق كۇنۇپكىسى ياكى ENTER كۇنۇپكىسى بەتكۈچنى تاللايدۇ.\"},\n{name:\"تەھرىرلىگۈچ تىل مۇھىت تىزىملىكى\",legend:\"${contextMenu} ياكى ئەپ كۇنۇپكىسىدا تىل مۇھىت تىزىملىكىنى ئاچىدۇ. ئاندىن TAB ياكى ئاستى يا ئوق كۇنۇپكىسىدا كېيىنكى تىزىملىك تۈرىگە يۆتكەيدۇ؛ SHIFT+TAB ياكى ئۈستى يا ئوق كۇنۇپكىسىدا ئالدىنقى تىزىملىك تۈرىگە يۆتكەيدۇ. بوشلۇق ياكى ENTER كۇنۇپكىسىدا تىزىملىك تۈرىنى تاللايدۇ. بوشلۇق، ENTER ياكى ئوڭ يا ئوق كۇنۇپكىسىدا تارماق تىزىملىكنى ئاچىدۇ. قايتىش تىزىملىكىگە ESC ياكى سول يا ئوق كۇنۇپكىسى ئىشلىتىلىدۇ. ESC كۇنۇپكىسىدا تىل مۇھىت تىزىملىكى تاقىلىدۇ.\"},{name:\"تەھرىرلىگۈچ تىزىمى\",\nlegend:\"تىزىم قۇتىسىدا، كېيىنكى تىزىم تۈرىگە يۆتكەشتە  TAB ياكى ئاستى يا ئوق كۇنۇپكىسى ئىشلىتىلىدۇ. ئالدىنقى تىزىم تۈرىگە يۆتكەشتە  SHIFT + TAB ياكى ئۈستى يا ئوق كۇنۇپكىسى ئىشلىتىلىدۇ. بوشلۇق ياكى ENTER كۇنۇپكىسىدا تىزىم تۈرىنى تاللايدۇ.ESC كۇنۇپكىسىدا تىزىم قۇتىسىنى يىغىدۇ.\"},{name:\"تەھرىرلىگۈچ ئېلېمېنت يول بالداق\",legend:\"${elementsPathFocus} بېسىلسا ئېلېمېنت يول بالداققا يېتەكلەيدۇ، TAB ياكى ئوڭ يا ئوقتا كېيىنكى ئېلېمېنت تاللىنىدۇ،  SHIFT+TAB ياكى سول يا ئوقتا ئالدىنقى ئېلېمېنت تاللىنىدۇ،  بوشلۇق ياكى Enter كۇنۇپكىسىدا تەھرىرلىگۈچتىكى ئېلېمېنت تاللىنىدۇ.\"}]},\n{name:\"بۇيرۇق\",items:[{name:\"بۇيرۇقتىن يېنىۋال\",legend:\"${undo} نى بېسىڭ\"},{name:\"قايتىلاش بۇيرۇقى\",legend:\"${redo} نى بېسىڭ\"},{name:\"توملىتىش بۇيرۇقى\",legend:\"${bold} نى بېسىڭ\"},{name:\"يانتۇ بۇيرۇقى\",legend:\"${italic} نى بېسىڭ\"},{name:\"ئاستى سىزىق بۇيرۇقى\",legend:\"${underline} نى بېسىڭ\"},{name:\"ئۇلانما بۇيرۇقى\",legend:\"${link} نى بېسىڭ\"},{name:\"قورال بالداق قاتلاش بۇيرۇقى\",legend:\"${toolbarCollapse} نى بېسىڭ\"},{name:\"ئالدىنقى فوكۇس نۇقتىسىنى زىيارەت قىلىدىغان بۇيرۇق\",legend:\"${accessPreviousSpace} بېسىپ ^ بەلگىسىگە ئەڭ يېقىن زىيارەت قىلغىلى بولمايدىغان فوكۇس نۇقتا رايونىنىڭ ئالدىنى زىيارەت قىلىدۇ، مەسىلەن: ئۆز ئارا قوشنا ئىككى HR ئېلېمېنت. بۇ بىرىكمە كۇنۇپكا تەكرارلانسا يىراقتىكى فوكۇس نۇقتا رايونىغا يەتكىلى بولىدۇ.\"},\n{name:\"كېيىنكى فوكۇس نۇقتىسىنى زىيارەت قىلىدىغان بۇيرۇق\",legend:\"${accessNextSpace} بېسىپ ^ بەلگىسىگە ئەڭ يېقىن زىيارەت قىلغىلى بولمايدىغان فوكۇس نۇقتا رايونىنىڭ كەينىنى زىيارەت قىلىدۇ، مەسىلەن: ئۆز ئارا قوشنا ئىككى HR ئېلېمېنت. بۇ بىرىكمە كۇنۇپكا تەكرارلانسا يىراقتىكى فوكۇس نۇقتا رايونىغا يەتكىلى بولىدۇ.\"},{name:\"توسالغۇسىز لايىھە چۈشەندۈرۈشى\",legend:\"${a11yHelp} نى بېسىڭ\"}]}]});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/he.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/he.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"a11yhelp\",\"he\",{title:\"הוראות נגישות\",contents:\"הוראות נגישות. לסגירה לחץ אסקייפ (ESC).\",legend:[{name:\"כללי\",items:[{name:\"סרגל הכלים\",legend:\"לחץ על ${toolbarFocus} כדי לנווט לסרגל הכלים. עבור לכפתור הבא עם מקש הטאב (TAB) או חץ שמאלי. עבור לכפתור הקודם עם מקש השיפט (SHIFT) + טאב (TAB) או חץ ימני. לחץ רווח או אנטר (ENTER) כדי להפעיל את הכפתור הנבחר.\"},{name:\"דיאלוגים (חלונות תשאול)\",legend:\"בתוך דיאלוג, לחץ טאב (TAB) כדי לנווט לשדה הבא, לחץ שיפט (SHIFT) + טאב (TAB) כדי לנווט לשדה הקודם, לחץ אנטר (ENTER) כדי לשלוח את הדיאלוג, לחץ אסקייפ (ESC) כדי לבטל. בתוך דיאלוגים בעלי מספר טאבים (לשוניות), לחץ אלט (ALT) + F10 כדי לנווט לשורת הטאבים. נווט לטאב הבא עם טאב (TAB) או חץ שמאלי. עבור לטאב הקודם עם שיפט (SHIFT) + טאב (TAB) או חץ שמאלי. לחץ רווח או אנטר (ENTER) כדי להיכנס לטאב.\"},\n{name:\"תפריט ההקשר (Context Menu)\",legend:\"לחץ ${contextMenu} או APPLICATION KEYכדי לפתוח את תפריט ההקשר. עבור לאפשרות הבאה עם טאב (TAB) או חץ למטה. עבור לאפשרות הקודמת עם שיפט (SHIFT) + טאב (TAB) או חץ למעלה. לחץ רווח או אנטר (ENTER) כדי לבחור את האפשרות. פתח את תת התפריט (Sub-menu) של האפשרות הנוכחית עם רווח או אנטר (ENTER) או חץ שמאלי. חזור לתפריט האב עם אסקייפ (ESC) או חץ שמאלי. סגור את תפריט ההקשר עם אסקייפ (ESC).\"},{name:\"תפריטים צפים (List boxes)\",legend:\"בתוך תפריט צף, עבור לפריט הבא עם טאב (TAB) או חץ למטה. עבור לתפריט הקודם עם שיפט (SHIFT) + טאב (TAB) or חץ עליון. Press SPACE or ENTER to select the list option. Press ESC to close the list-box.\"},\n{name:\"עץ אלמנטים (Elements Path)\",legend:\"לחץ ${elementsPathFocus} כדי לנווט לעץ האלמנטים. עבור לפריט הבא עם טאב (TAB) או חץ ימני. עבור לפריט הקודם עם שיפט (SHIFT) + טאב (TAB) או חץ שמאלי. לחץ רווח או אנטר (ENTER) כדי לבחור את האלמנט בעורך.\"}]},{name:\"פקודות\",items:[{name:\" ביטול צעד אחרון\",legend:\"לחץ ${undo}\"},{name:\" חזרה על צעד אחרון\",legend:\"לחץ ${redo}\"},{name:\" הדגשה\",legend:\"לחץ ${bold}\"},{name:\" הטייה\",legend:\"לחץ ${italic}\"},{name:\" הוספת קו תחתון\",legend:\"לחץ ${underline}\"},{name:\" הוספת לינק\",\nlegend:\"לחץ ${link}\"},{name:\" כיווץ סרגל הכלים\",legend:\"לחץ ${toolbarCollapse}\"},{name:\"גישה למיקום המיקוד הקודם\",legend:\"לחץ ${accessPreviousSpace} כדי לגשת למיקום המיקוד הלא-נגיש הקרוב לפני הסמן, למשל בין שני אלמנטים סמוכים מסוג HR. חזור על צירוף מקשים זה כדי להגיע למקומות מיקוד רחוקים יותר.\"},{name:\"גישה למיקום המיקוד הבא\",legend:\"לחץ ${accessNextSpace} כדי לגשת למיקום המיקוד הלא-נגיש הקרוב אחרי הסמן, למשל בין שני אלמנטים סמוכים מסוג HR. חזור על צירוף מקשים זה כדי להגיע למקומות מיקוד רחוקים יותר.\"},\n{name:\" הוראות נגישות\",legend:\"לחץ ${a11yHelp}\"}]}]});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/fr.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/fr.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"a11yhelp\",\"fr\",{title:\"Instructions d'accessibilité\",contents:\"Contenu de l'aide. Pour fermer ce dialogue, appuyez sur la touche Ech (Echappement).\",legend:[{name:\"Général\",items:[{name:\"Barre d'outils de l'éditeur\",legend:\"Appuyer sur ${toolbarFocus} pour accéder à la barre d'outils. Se déplacer vers les groupes suivant ou précédent de la barre d'outil avec les touches TAB et SHIFT-TAB. Se déplacer vers les boutons suivant ou précédent de la barre d'outils avec les touches FLECHE DROITE et FLECHE GAUCHE. Appuyer sur la barre d'espace ou la touche ENTRER pour activer le bouton de barre d'outils.\"},\n{name:\"Dialogue de l'éditeur\",legend:\"A l'intérieur d'un dialogue, appuyer sur la touche TAB pour naviguer jusqu'au champ de dalogue suivant, appuyez sur les touches SHIFT + TAB pour revenir au champ précédent, appuyez sur la touche ENTRER pour soumettre le dialogue, appuyer sur la touche ESC pour annuler le dialogue. Pour les dialogues avec plusieurs pages d'onglets, appuyer sur ALT + F10 pour naviguer jusqu'à la liste des onglets. Puis se déplacer vers l'onglet suivant avec la touche TAB ou FLECHE DROITE. Se déplacer vers l'onglet précédent avec les touches SHIFT + TAB ou FLECHE GAUCHE. Appuyer sur la barre d'espace ou la touche ENTRER pour sélectionner la page de l'onglet.\"},\n{name:\"Menu contextuel de l'éditeur\",legend:\"Appuyer sur ${contextMenu} ou entrer le RACCOURCI CLAVIER pour ouvrir le menu contextuel. Puis se déplacer vers l'option suivante du menu avec les touches TAB ou FLECHE BAS. Se déplacer vers l'option précédente avec les touches  SHIFT+TAB ou FLECHE HAUT. appuyer sur la BARRE D'ESPACE ou la touche ENTREE pour sélectionner l'option du menu. Oovrir le sous-menu de l'option courante avec la BARRE D'ESPACE ou les touches ENTREE ou FLECHE DROITE. Revenir à l'élément de menu parent avec les touches Ech ou FLECHE GAUCHE. Fermer le menu contextuel avec Ech.\"},\n{name:\"Zone de liste de l'éditeur\",legend:\"Dans la liste en menu déroulant, se déplacer vers l'élément suivant de la liste avec les touches TAB ou FLECHE BAS. Se déplacer vers l'élément précédent de la liste avec les touches MAJ + TAB ou FLECHE HAUT. Appuyer sur la BARRE D'ESPACE ou sur ENTREE pour sélectionner l'option dans la liste. Appuyer sur ESC pour fermer le menu déroulant.\"},{name:\"Barre d'emplacement des éléments de l'éditeur\",legend:\"Appuyer sur ${elementsPathFocus} pour naviguer vers la barre d'emplacement des éléments de l'éditeur. Se déplacer vers le bouton d'élément suivant avec les touches TAB ou FLECHE DROITE. Se déplacer vers le bouton d'élément précédent avec les touches MAJ+TAB ou FLECHE GAUCHE. Appuyer sur la BARRE D'ESPACE ou sur ENTREE pour sélectionner l'élément dans l'éditeur.\"}]},\n{name:\"Commandes\",items:[{name:\" Annuler la commande\",legend:\"Appuyer sur ${undo}\"},{name:\"Refaire la commande\",legend:\"Appuyer sur ${redo}\"},{name:\" Commande gras\",legend:\"Appuyer sur ${bold}\"},{name:\" Commande italique\",legend:\"Appuyer sur ${italic}\"},{name:\" Commande souligné\",legend:\"Appuyer sur ${underline}\"},{name:\" Commande lien\",legend:\"Appuyer sur ${link}\"},{name:\" Commande enrouler la barre d'outils\",legend:\"Appuyer sur ${toolbarCollapse}\"},{name:\"Accéder à la précédente commande d'espace de mise au point\",\nlegend:\"Appuyez sur ${accessPreviousSpace} pour accéder à l'espace hors d'atteinte le plus proche avant le caret, par exemple: deux éléments HR adjacents. Répétez la combinaison de touches pour atteindre les espaces de mise au point distants.\"},{name:\"Accès à la prochaine commande de l'espace de mise au point\",legend:\"Appuyez sur ${accessNextSpace} pour accéder au plus proche espace de mise au point hors d'atteinte après le caret, par exemple: deux éléments HR adjacents. répétez la combinaison de touches pour atteindre les espace de mise au point distants.\"},\n{name:\" Aide Accessibilité\",legend:\"Appuyer sur ${a11yHelp}\"}]}]});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/th.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/th.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"a11yhelp\",\"th\",{title:\"Accessibility Instructions\",contents:\"Help Contents. To close this dialog press ESC.\",legend:[{name:\"ทั่วไป\",items:[{name:\"แถบเครื่องมือสำหรับเครื่องมือช่วยพิมพ์\",legend:\"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT-TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button.\"},{name:\"Editor Dialog\",legend:\"Inside a dialog, press TAB to navigate to next dialog field, press SHIFT + TAB to move to previous field, press ENTER to submit dialog, press ESC to cancel dialog. For dialogs that have multiple tab pages, press ALT + F10 to navigate to tab-list. Then move to next tab with TAB OR RIGTH ARROW. Move to previous tab with SHIFT + TAB or LEFT ARROW. Press SPACE or ENTER to select the tab page.\"},\n{name:\"Editor Context Menu\",legend:\"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC.\"},{name:\"Editor List Box\",legend:\"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT + TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box.\"},\n{name:\"Editor Element Path Bar\",legend:\"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with  SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor.\"}]},{name:\"คำสั่ง\",items:[{name:\"เลิกทำคำสั่ง\",legend:\"วาง ${undo}\"},{name:\"คำสั่งสำหรับทำซ้ำ\",legend:\"วาง ${redo}\"},{name:\"คำสั่งสำหรับตัวหนา\",legend:\"วาง ${bold}\"},{name:\"คำสั่งสำหรับตัวเอียง\",legend:\"วาง ${italic}\"},{name:\"คำสั่งสำหรับขีดเส้นใต้\",\nlegend:\"วาง ${underline}\"},{name:\"คำสั่งสำหรับลิงก์\",legend:\"วาง ${link}\"},{name:\" Toolbar Collapse command\",legend:\"Press ${toolbarCollapse}\"},{name:\" Access previous focus space command\",legend:\"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces.\"},{name:\" Access next focus space command\",legend:\"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces.\"},\n{name:\" Accessibility Help\",legend:\"Press ${a11yHelp}\"}]}]});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/hr.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/hr.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"a11yhelp\",\"hr\",{title:\"Upute dostupnosti\",contents:\"Sadržaj pomoći. Za zatvaranje pritisnite ESC.\",legend:[{name:\"Općenito\",items:[{name:\"Alatna traka\",legend:\"Pritisni ${toolbarFocus} za navigaciju do alatne trake. Pomicanje do prethodne ili sljedeće alatne grupe vrši se pomoću SHIFT-TAB i TAB. Pomicanje do prethodnog ili sljedećeg gumba u alatnoj traci vrši se pomoću lijeve i desne strelice kursora. Pritisnite SPACE ili ENTER za aktivaciju alatne trake.\"},{name:\"Dijalog\",\nlegend:\"Unutar dijaloga, pritisnite TAB za navigaciju do sljedećeg polja, pritisnite SHIFT + TAB za vraćanje na prethodno polje, pritisnite ENTER za slanje dijaloga ili ESC za zatvaranje dijaloga. Za dijaloge koji imaju višestruke kartice, pritisnite ALT + F10 za na navigaciju i zatim TAB ili lijeva strelica kursora ili SHIFT + TAB i desna strelica kursora. SPACE ili ENTER odabiru karticu.\"},{name:\"Kontekstni izbornik\",legend:\"Pritisnite ${contextMenu} ili APPLICATION tipku za otvaranje kontekstnog izbornika. Pomicanje se vrši TAB ili strelicom kursora prema dolje ili SHIFT+TAB ili strelica kursora prema gore. SPACE ili ENTER odabiru opciju izbornika. Otvorite podizbornik trenutne opcije sa  SPACE, ENTER ili desna strelica kursora. Povratak na prethodni izbornik vrši se sa ESC ili lijevom strelicom kursora. Zatvaranje se vrši pritiskom na tipku ESC.\"},\n{name:\"Lista\",legend:\"Unutar list-boxa, pomicanje na sljedeću stavku vrši se sa TAB ili strelica kursora prema dolje. Na prethodnu sa SHIFT + TAB ili strelica prema gore. Pritiskom na SPACE ili ENTER odabire se stavka ili ESC za zatvaranje.\"},{name:\"Traka putanje elemenata\",legend:\"Pritisnite ${elementsPathFocus} za navigaciju po putanji elemenata. Pritisnite TAB ili desnu strelicu kursora za pomicanje na sljedeći element ili SHIFT + TAB ili lijeva strelica kursora za pomicanje na prethodni element. Pritiskom na SPACE ili ENTER vrši se odabir elementa.\"}]},\n{name:\"Naredbe\",items:[{name:\"Vrati naredbu\",legend:\"Pritisni ${undo}\"},{name:\"Ponovi naredbu\",legend:\"Pritisni ${redo}\"},{name:\"Bold naredba\",legend:\"Pritisni ${bold}\"},{name:\"Italic naredba\",legend:\"Pritisni ${italic}\"},{name:\"Underline naredba\",legend:\"Pritisni ${underline}\"},{name:\"Link naredba\",legend:\"Pritisni ${link}\"},{name:\"Smanji alatnu traku naredba\",legend:\"Pritisni ${toolbarCollapse}\"},{name:\"Access previous focus space naredba\",legend:\"Pritisni ${accessPreviousSpace} za pristup najbližem nedostupnom razmaku prije kursora, npr.: dva spojena HR elementa. Ponovnim pritiskom dohvatiti će se sljedeći nedostupni razmak.\"},\n{name:\"Access next focus space naredba\",legend:\"Pritisni ${accessNextSpace} za pristup najbližem nedostupnom razmaku nakon kursora, npr.: dva spojena HR elementa. Ponovnim pritiskom dohvatiti će se sljedeći nedostupni razmak.\"},{name:\"Pomoć za dostupnost\",legend:\"Pritisni ${a11yHelp}\"}]}]});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/zh-cn.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/a11yhelp/dialogs/lang/zh-cn.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"a11yhelp\",\"zh-cn\",{title:\"辅助功能说明\",contents:\"帮助内容。要关闭此对话框请按 ESC 键。\",legend:[{name:\"常规\",items:[{name:\"编辑器工具栏\",legend:\"按 ${toolbarFocus} 导航到工具栏,使用 TAB 键和 SHIFT+TAB 组合键移动到上一个和下一个工具栏组。使用左右箭头键移动到上一个和下一个工具栏按钮。按空格键或回车键以选中工具栏按钮。\"},{name:\"编辑器对话框\",legend:\"在对话框内,TAB 键移动到下一个字段,SHIFT + TAB 组合键移动到上一个字段,ENTER 键提交对话框,ESC 键取消对话框。对于有多选项卡的对话框,用ALT + F10来移到选项卡列表。然后用 TAB 键或者向右箭头来移动到下一个选项卡;SHIFT + TAB 组合键或者向左箭头移动到上一个选项卡。用 SPACE 键或者 ENTER 键选择选项卡。\"},{name:\"编辑器上下文菜单\",legend:\"用 ${contextMenu} 或者“应用程序键”打开上下文菜单。然后用 TAB 键或者下箭头键来移动到下一个菜单项;SHIFT + TAB 组合键或者上箭头键移动到上一个菜单项。用 SPACE 键或者 ENTER 键选择菜单项。用 SPACE 键,ENTER 键或者右箭头键打开子菜单。返回菜单用 ESC 键或者左箭头键。用 ESC 键关闭上下文菜单。\"},\n{name:\"编辑器列表框\",legend:\"在列表框中,移到下一列表项用 TAB 键或者下箭头键。移到上一列表项用SHIFT + TAB 组合键或者上箭头键,用 SPACE 键或者 ENTER 键选择列表项。用 ESC 键收起列表框。\"},{name:\"编辑器元素路径栏\",legend:\"按 ${elementsPathFocus} 以导航到元素路径栏,使用 TAB 键或右箭头键选择下一个元素,使用 SHIFT+TAB 组合键或左箭头键选择上一个元素,按空格键或回车键以选定编辑器里的元素。\"}]},{name:\"命令\",items:[{name:\" 撤消命令\",legend:\"按 ${undo}\"},{name:\" 重做命令\",legend:\"按 ${redo}\"},{name:\" 加粗命令\",legend:\"按 ${bold}\"},{name:\" 倾斜命令\",legend:\"按 ${italic}\"},{name:\" 下划线命令\",legend:\"按 ${underline}\"},{name:\" 链接命令\",legend:\"按 ${link}\"},{name:\" 工具栏折叠命令\",legend:\"按 ${toolbarCollapse}\"},\n{name:\"访问前一个焦点区域的命令\",legend:\"按 ${accessPreviousSpace} 访问^符号前最近的不可访问的焦点区域,例如:两个相邻的 HR 元素。重复此组合按键可以到达远处的焦点区域。\"},{name:\"访问下一个焦点区域命令\",legend:\"按 ${accessNextSpace} 以访问^符号后最近的不可访问的焦点区域。例如:两个相邻的 HR 元素。重复此组合按键可以到达远处的焦点区域。\"},{name:\"辅助功能帮助\",legend:\"按 ${a11yHelp}\"}]}]});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/showblocks/images/block_h3.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/showblocks/images/block_h3.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABEAAAAPCAMAAAA1b9QjAAAABlBMVEWAgID////n1o2sAAAAAnRSTlP/AOW3MEoAAAAqSURBVBhXY2BEBwzEijBAEAOaCAOCw4jBAalnwKaLEY3Aag6yLhRALREAdsQA5E8/a1MAAAAASUVORK5CYII="
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/showblocks/images/block_pre.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/showblocks/images/block_pre.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABYAAAAPCAMAAADXs89aAAAABlBMVEWAgID////n1o2sAAAAAnRSTlP/AOW3MEoAAAAvSURBVBhXY2DEChhIF2ZgYEAQDAhhEIIRjASFkQ1BUQ1Xj2oIHmGQDLJLMAEthQG8/gEfY+ZD4wAAAABJRU5ErkJggg=="
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/showblocks/images/block_div.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/showblocks/images/block_div.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABUAAAAPCAMAAAA8hHRZAAAABlBMVEWAgID////n1o2sAAAAAnRSTlP/AOW3MEoAAAAvSURBVBhXY2DEBhhIFWVgYAAzGeACUIIBqyhYDLsoVIKQKLLRaG6AO5RkX1AkCgCxrwEYOFFlMgAAAABJRU5ErkJggg=="
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/showblocks/images/block_p.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/showblocks/images/block_p.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAAA0AAAAPCAMAAAAI/bVFAAAABlBMVEWAgID////n1o2sAAAAAnRSTlP/AOW3MEoAAAAeSURBVAhbY2BEBgyEeAxAgMRDZqDzMFQSx4MDcnkASSIAtT+HiOYAAAAASUVORK5CYII="
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/showblocks/images/block_h6.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/showblocks/images/block_h6.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABEAAAAPCAMAAAA1b9QjAAAABlBMVEWAgID////n1o2sAAAAAnRSTlP/AOW3MEoAAAAoSURBVBiVY2BEBwzEijBAEAOaCAOCgxBBUgMEIIIYXQx47CLPzQREAHWjAOJQWk2yAAAAAElFTkSuQmCC"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/showblocks/images/block_address.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/showblocks/images/block_address.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAACwAAAAPCAMAAACoYt2rAAAABlBMVEWAgID////n1o2sAAAAAnRSTlP/AOW3MEoAAABSSURBVCiR1ZA7CsAwDMWk+1+6Q0zwJx0ydGgIAuOHEQ8vHl+HUcBCggZKuH/2AvfgmtFM0p6iMcIkr64B/TLtXgVD+MU5CkhthMu5jauefxV+ANPUAjHCI7WUAAAAAElFTkSuQmCC"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/showblocks/images/block_h1.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/showblocks/images/block_h1.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABEAAAAPCAMAAAA1b9QjAAAABlBMVEWAgID////n1o2sAAAAAnRSTlP/AOW3MEoAAAAmSURBVBjTY2BEBwzEijBAaAZ0EQYGvGoYGLDqIkYEopV4F5IsAgB4OgDm77xSqgAAAABJRU5ErkJggg=="
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/showblocks/images/block_h4.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/showblocks/images/block_h4.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABIAAAAPCAMAAADeWG8gAAAABlBMVEWAgID////n1o2sAAAAAnRSTlP/AOW3MEoAAAAsSURBVBhXY2DEAAzECzFAaAYGdCEGRgJCQADTjayKASyBZjymWShCqICaQgCDqwDwPVn1XAAAAABJRU5ErkJggg=="
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/showblocks/images/block_blockquote.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/showblocks/images/block_blockquote.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAADoAAAAPCAMAAACC0iwEAAAABlBMVEWAgID////n1o2sAAAAAnRSTlP/AOW3MEoAAABcSURBVCjPzZJLDgAhCENf73/pWfBRx8QhbBwWhkZLC4LawT0qMGdyyLjJFIQ9UhwIRwTkhbPGorpRTblCJRUqVPN7UO0arvfKPMFtwm4+Wlgm3Pv3z5WAHy5iLx7UTQLbC2mHNQAAAABJRU5ErkJggg=="
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/showblocks/images/block_h5.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/showblocks/images/block_h5.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABEAAAAPCAMAAAA1b9QjAAAABlBMVEWAgID////n1o2sAAAAAnRSTlP/AOW3MEoAAAAsSURBVBhXY2BEBwzEijCAEAMQoIlgU4MkAuIxIKQZMTgIc9DVIJuDAqglAgB0kADhTECqygAAAABJRU5ErkJggg=="
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/showblocks/images/block_h2.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/showblocks/images/block_h2.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABEAAAAPCAMAAAA1b9QjAAAABlBMVEWAgID////n1o2sAAAAAnRSTlP/AOW3MEoAAAAtSURBVBhXY2BEBwzEijBAEAOaCAOCw4jBAalnQBeB0OjmwKxFMhlZKwqglggAdwwA5Bc9ZX8AAAAASUVORK5CYII="
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/pastefromword/filter/default.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/pastefromword/filter/default.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\n(function(){function y(a){for(var a=a.toUpperCase(),c=z.length,b=0,f=0;f<c;++f)for(var d=z[f],e=d[1].length;a.substr(0,e)==d[1];a=a.substr(e))b+=d[0];return b}function A(a){for(var a=a.toUpperCase(),c=B.length,b=1,f=1;0<a.length;f*=c)b+=B.indexOf(a.charAt(a.length-1))*f,a=a.substr(0,a.length-1);return b}var C=CKEDITOR.htmlParser.fragment.prototype,o=CKEDITOR.htmlParser.element.prototype;C.onlyChild=o.onlyChild=function(){var a=this.children;return 1==a.length&&a[0]||null};o.removeAnyChildWithName=\nfunction(a){for(var c=this.children,b=[],f,d=0;d<c.length;d++)f=c[d],f.name&&(f.name==a&&(b.push(f),c.splice(d--,1)),b=b.concat(f.removeAnyChildWithName(a)));return b};o.getAncestor=function(a){for(var c=this.parent;c&&(!c.name||!c.name.match(a));)c=c.parent;return c};C.firstChild=o.firstChild=function(a){for(var c,b=0;b<this.children.length;b++)if(c=this.children[b],a(c)||c.name&&(c=c.firstChild(a)))return c;return null};o.addStyle=function(a,c,b){var f=\"\";if(\"string\"==typeof c)f+=a+\":\"+c+\";\";else{if(\"object\"==\ntypeof a)for(var d in a)a.hasOwnProperty(d)&&(f+=d+\":\"+a[d]+\";\");else f+=a;b=c}this.attributes||(this.attributes={});a=this.attributes.style||\"\";a=(b?[f,a]:[a,f]).join(\";\");this.attributes.style=a.replace(/^;|;(?=;)/,\"\")};o.getStyle=function(a){var c=this.attributes.style;if(c)return c=CKEDITOR.tools.parseCssText(c,1),c[a]};CKEDITOR.dtd.parentOf=function(a){var c={},b;for(b in this)-1==b.indexOf(\"$\")&&this[b][a]&&(c[b]=1);return c};var H=/^([.\\d]*)+(em|ex|px|gd|rem|vw|vh|vm|ch|mm|cm|in|pt|pc|deg|rad|ms|s|hz|khz){1}?/i,\nD=/^(?:\\b0[^\\s]*\\s*){1,4}$/,x={ol:{decimal:/\\d+/,\"lower-roman\":/^m{0,4}(cm|cd|d?c{0,3})(xc|xl|l?x{0,3})(ix|iv|v?i{0,3})$/,\"upper-roman\":/^M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$/,\"lower-alpha\":/^[a-z]+$/,\"upper-alpha\":/^[A-Z]+$/},ul:{disc:/[l\\u00B7\\u2002]/,circle:/[\\u006F\\u00D8]/,square:/[\\u006E\\u25C6]/}},z=[[1E3,\"M\"],[900,\"CM\"],[500,\"D\"],[400,\"CD\"],[100,\"C\"],[90,\"XC\"],[50,\"L\"],[40,\"XL\"],[10,\"X\"],[9,\"IX\"],[5,\"V\"],[4,\"IV\"],[1,\"I\"]],B=\"ABCDEFGHIJKLMNOPQRSTUVWXYZ\",s=0,t=null,w,E=CKEDITOR.plugins.pastefromword=\n{utils:{createListBulletMarker:function(a,c){var b=new CKEDITOR.htmlParser.element(\"cke:listbullet\");b.attributes={\"cke:listsymbol\":a[0]};b.add(new CKEDITOR.htmlParser.text(c));return b},isListBulletIndicator:function(a){if(/mso-list\\s*:\\s*Ignore/i.test(a.attributes&&a.attributes.style))return!0},isContainingOnlySpaces:function(a){var c;return(c=a.onlyChild())&&/^(:?\\s|&nbsp;)+$/.test(c.value)},resolveList:function(a){var c=a.attributes,b;if((b=a.removeAnyChildWithName(\"cke:listbullet\"))&&b.length&&\n(b=b[0]))return a.name=\"cke:li\",c.style&&(c.style=E.filters.stylesFilter([[\"text-indent\"],[\"line-height\"],[/^margin(:?-left)?$/,null,function(a){a=a.split(\" \");a=CKEDITOR.tools.convertToPx(a[3]||a[1]||a[0]);!s&&(null!==t&&a>t)&&(s=a-t);t=a;c[\"cke:indent\"]=s&&Math.ceil(a/s)+1||1}],[/^mso-list$/,null,function(a){var a=a.split(\" \"),b=Number(a[0].match(/\\d+/)),a=Number(a[1].match(/\\d+/));1==a&&(b!==w&&(c[\"cke:reset\"]=1),w=b);c[\"cke:indent\"]=a}]])(c.style,a)||\"\"),c[\"cke:indent\"]||(t=0,c[\"cke:indent\"]=\n1),CKEDITOR.tools.extend(c,b.attributes),!0;w=t=s=null;return!1},getStyleComponents:function(){var a=CKEDITOR.dom.element.createFromHtml('<div style=\"position:absolute;left:-9999px;top:-9999px;\"></div>',CKEDITOR.document);CKEDITOR.document.getBody().append(a);return function(c,b,f){a.setStyle(c,b);for(var c={},b=f.length,d=0;d<b;d++)c[f[d]]=a.getStyle(f[d]);return c}}(),listDtdParents:CKEDITOR.dtd.parentOf(\"ol\")},filters:{flattenList:function(a,c){var c=\"number\"==typeof c?c:1,b=a.attributes,f;switch(b.type){case \"a\":f=\n\"lower-alpha\";break;case \"1\":f=\"decimal\"}for(var d=a.children,e,h=0;h<d.length;h++)if(e=d[h],e.name in CKEDITOR.dtd.$listItem){var j=e.attributes,g=e.children,m=g[g.length-1];m.name in CKEDITOR.dtd.$list&&(a.add(m,h+1),--g.length||d.splice(h--,1));e.name=\"cke:li\";b.start&&!h&&(j.value=b.start);E.filters.stylesFilter([[\"tab-stops\",null,function(a){(a=a.split(\" \")[1].match(H))&&(t=CKEDITOR.tools.convertToPx(a[0]))}],1==c?[\"mso-list\",null,function(a){a=a.split(\" \");a=Number(a[0].match(/\\d+/));a!==w&&\n(j[\"cke:reset\"]=1);w=a}]:null])(j.style);j[\"cke:indent\"]=c;j[\"cke:listtype\"]=a.name;j[\"cke:list-style-type\"]=f}else if(e.name in CKEDITOR.dtd.$list){arguments.callee.apply(this,[e,c+1]);d=d.slice(0,h).concat(e.children).concat(d.slice(h+1));a.children=[];e=0;for(g=d.length;e<g;e++)a.add(d[e]);d=a.children}delete a.name;b[\"cke:list\"]=1},assembleList:function(a){for(var c=a.children,b,f,d,e,h,j,a=[],g,m,i,l,k,p,n=0;n<c.length;n++)if(b=c[n],\"cke:li\"==b.name)if(b.name=\"li\",f=b.attributes,i=(i=f[\"cke:listsymbol\"])&&\ni.match(/^(?:[(]?)([^\\s]+?)([.)]?)$/),l=k=p=null,f[\"cke:ignored\"])c.splice(n--,1);else{f[\"cke:reset\"]&&(j=e=h=null);d=Number(f[\"cke:indent\"]);d!=e&&(m=g=null);if(i){if(m&&x[m][g].test(i[1]))l=m,k=g;else for(var q in x)for(var u in x[q])if(x[q][u].test(i[1]))if(\"ol\"==q&&/alpha|roman/.test(u)){if(g=/roman/.test(u)?y(i[1]):A(i[1]),!p||g<p)p=g,l=q,k=u}else{l=q;k=u;break}!l&&(l=i[2]?\"ol\":\"ul\")}else l=f[\"cke:listtype\"]||\"ol\",k=f[\"cke:list-style-type\"];m=l;g=k||(\"ol\"==l?\"decimal\":\"disc\");k&&k!=(\"ol\"==l?\n\"decimal\":\"disc\")&&b.addStyle(\"list-style-type\",k);if(\"ol\"==l&&i){switch(k){case \"decimal\":p=Number(i[1]);break;case \"lower-roman\":case \"upper-roman\":p=y(i[1]);break;case \"lower-alpha\":case \"upper-alpha\":p=A(i[1])}b.attributes.value=p}if(j){if(d>e)a.push(j=new CKEDITOR.htmlParser.element(l)),j.add(b),h.add(j);else{if(d<e){e-=d;for(var r;e--&&(r=j.parent);)j=r.parent}j.add(b)}c.splice(n--,1)}else a.push(j=new CKEDITOR.htmlParser.element(l)),j.add(b),c[n]=j;h=b;e=d}else j&&(j=e=h=null);for(n=0;n<a.length;n++)if(j=\na[n],q=j.children,g=g=void 0,u=j.children.length,r=g=void 0,c=/list-style-type:(.*?)(?:;|$)/,e=CKEDITOR.plugins.pastefromword.filters.stylesFilter,g=j.attributes,!c.exec(g.style)){for(h=0;h<u;h++)if(g=q[h],g.attributes.value&&Number(g.attributes.value)==h+1&&delete g.attributes.value,g=c.exec(g.attributes.style))if(g[1]==r||!r)r=g[1];else{r=null;break}if(r){for(h=0;h<u;h++)g=q[h].attributes,g.style&&(g.style=e([[\"list-style-type\"]])(g.style)||\"\");j.addStyle(\"list-style-type\",r)}}w=t=s=null},falsyFilter:function(){return!1},\nstylesFilter:function(a,c){return function(b,f){var d=[];(b||\"\").replace(/&quot;/g,'\"').replace(/\\s*([^ :;]+)\\s*:\\s*([^;]+)\\s*(?=;|$)/g,function(b,e,g){e=e.toLowerCase();\"font-family\"==e&&(g=g.replace(/[\"']/g,\"\"));for(var m,i,l,k=0;k<a.length;k++)if(a[k]&&(b=a[k][0],m=a[k][1],i=a[k][2],l=a[k][3],e.match(b)&&(!m||g.match(m)))){e=l||e;c&&(i=i||g);\"function\"==typeof i&&(i=i(g,f,e));i&&i.push&&(e=i[0],i=i[1]);\"string\"==typeof i&&d.push([e,i]);return}!c&&d.push([e,g])});for(var e=0;e<d.length;e++)d[e]=\nd[e].join(\":\");return d.length?d.join(\";\")+\";\":!1}},elementMigrateFilter:function(a,c){return a?function(b){var f=c?(new CKEDITOR.style(a,c))._.definition:a;b.name=f.element;CKEDITOR.tools.extend(b.attributes,CKEDITOR.tools.clone(f.attributes));b.addStyle(CKEDITOR.style.getStyleText(f))}:function(){}},styleMigrateFilter:function(a,c){var b=this.elementMigrateFilter;return a?function(f,d){var e=new CKEDITOR.htmlParser.element(null),h={};h[c]=f;b(a,h)(e);e.children=d.children;d.children=[e];e.filter=\nfunction(){};e.parent=d}:function(){}},bogusAttrFilter:function(a,c){if(-1==c.name.indexOf(\"cke:\"))return!1},applyStyleFilter:null},getRules:function(a,c){var b=CKEDITOR.dtd,f=CKEDITOR.tools.extend({},b.$block,b.$listItem,b.$tableContent),d=a.config,e=this.filters,h=e.falsyFilter,j=e.stylesFilter,g=e.elementMigrateFilter,m=CKEDITOR.tools.bind(this.filters.styleMigrateFilter,this.filters),i=this.utils.createListBulletMarker,l=e.flattenList,k=e.assembleList,p=this.utils.isListBulletIndicator,n=this.utils.isContainingOnlySpaces,\nq=this.utils.resolveList,u=function(a){a=CKEDITOR.tools.convertToPx(a);return isNaN(a)?a:a+\"px\"},r=this.utils.getStyleComponents,t=this.utils.listDtdParents,o=!1!==d.pasteFromWordRemoveFontStyles,s=!1!==d.pasteFromWordRemoveStyles;return{elementNames:[[/meta|link|script/,\"\"]],root:function(a){a.filterChildren(c);k(a)},elements:{\"^\":function(a){var c;CKEDITOR.env.gecko&&(c=e.applyStyleFilter)&&c(a)},$:function(a){var v=a.name||\"\",e=a.attributes;v in f&&e.style&&(e.style=j([[/^(:?width|height)$/,null,\nu]])(e.style)||\"\");if(v.match(/h\\d/)){a.filterChildren(c);if(q(a))return;g(d[\"format_\"+v])(a)}else if(v in b.$inline)a.filterChildren(c),n(a)&&delete a.name;else if(-1!=v.indexOf(\":\")&&-1==v.indexOf(\"cke\")){a.filterChildren(c);if(\"v:imagedata\"==v){if(v=a.attributes[\"o:href\"])a.attributes.src=v;a.name=\"img\";return}delete a.name}v in t&&(a.filterChildren(c),k(a))},style:function(a){if(CKEDITOR.env.gecko){var a=(a=a.onlyChild().value.match(/\\/\\* Style Definitions \\*\\/([\\s\\S]*?)\\/\\*/))&&a[1],c={};a&&\n(a.replace(/[\\n\\r]/g,\"\").replace(/(.+?)\\{(.+?)\\}/g,function(a,b,F){for(var b=b.split(\",\"),a=b.length,d=0;d<a;d++)CKEDITOR.tools.trim(b[d]).replace(/^(\\w+)(\\.[\\w-]+)?$/g,function(a,b,d){b=b||\"*\";d=d.substring(1,d.length);d.match(/MsoNormal/)||(c[b]||(c[b]={}),d?c[b][d]=F:c[b]=F)})}),e.applyStyleFilter=function(a){var b=c[\"*\"]?\"*\":a.name,d=a.attributes&&a.attributes[\"class\"];b in c&&(b=c[b],\"object\"==typeof b&&(b=b[d]),b&&a.addStyle(b,!0))})}return!1},p:function(a){if(/MsoListParagraph/i.exec(a.attributes[\"class\"])||\na.getStyle(\"mso-list\")){var b=a.firstChild(function(a){return a.type==CKEDITOR.NODE_TEXT&&!n(a.parent)});(b=b&&b.parent)&&b.addStyle(\"mso-list\",\"Ignore\")}a.filterChildren(c);q(a)||(d.enterMode==CKEDITOR.ENTER_BR?(delete a.name,a.add(new CKEDITOR.htmlParser.element(\"br\"))):g(d[\"format_\"+(d.enterMode==CKEDITOR.ENTER_P?\"p\":\"div\")])(a))},div:function(a){var c=a.onlyChild();if(c&&\"table\"==c.name){var b=a.attributes;c.attributes=CKEDITOR.tools.extend(c.attributes,b);b.style&&c.addStyle(b.style);c=new CKEDITOR.htmlParser.element(\"div\");\nc.addStyle(\"clear\",\"both\");a.add(c);delete a.name}},td:function(a){a.getAncestor(\"thead\")&&(a.name=\"th\")},ol:l,ul:l,dl:l,font:function(a){if(p(a.parent))delete a.name;else{a.filterChildren(c);var b=a.attributes,d=b.style,e=a.parent;\"font\"==e.name?(CKEDITOR.tools.extend(e.attributes,a.attributes),d&&e.addStyle(d),delete a.name):(d=d||\"\",b.color&&(\"#000000\"!=b.color&&(d+=\"color:\"+b.color+\";\"),delete b.color),b.face&&(d+=\"font-family:\"+b.face+\";\",delete b.face),b.size&&(d+=\"font-size:\"+(3<b.size?\"large\":\n3>b.size?\"small\":\"medium\")+\";\",delete b.size),a.name=\"span\",a.addStyle(d))}},span:function(a){if(p(a.parent))return!1;a.filterChildren(c);if(n(a))return delete a.name,null;if(p(a)){var b=a.firstChild(function(a){return a.value||\"img\"==a.name}),e=(b=b&&(b.value||\"l.\"))&&b.match(/^(?:[(]?)([^\\s]+?)([.)]?)$/);if(e)return b=i(e,b),(a=a.getAncestor(\"span\"))&&/ mso-hide:\\s*all|display:\\s*none /.test(a.attributes.style)&&(b.attributes[\"cke:ignored\"]=1),b}if(e=(b=a.attributes)&&b.style)b.style=j([[\"line-height\"],\n[/^font-family$/,null,!o?m(d.font_style,\"family\"):null],[/^font-size$/,null,!o?m(d.fontSize_style,\"size\"):null],[/^color$/,null,!o?m(d.colorButton_foreStyle,\"color\"):null],[/^background-color$/,null,!o?m(d.colorButton_backStyle,\"color\"):null]])(e,a)||\"\";b.style||delete b.style;CKEDITOR.tools.isEmpty(b)&&delete a.name;return null},b:g(d.coreStyles_bold),i:g(d.coreStyles_italic),u:g(d.coreStyles_underline),s:g(d.coreStyles_strike),sup:g(d.coreStyles_superscript),sub:g(d.coreStyles_subscript),a:function(a){a=\na.attributes;a.href&&a.href.match(/^file:\\/\\/\\/[\\S]+#/i)&&(a.href=a.href.replace(/^file:\\/\\/\\/[^#]+/i,\"\"))},\"cke:listbullet\":function(a){a.getAncestor(/h\\d/)&&!d.pasteFromWordNumberedHeadingToList&&delete a.name}},attributeNames:[[/^onmouse(:?out|over)/,\"\"],[/^onload$/,\"\"],[/(?:v|o):\\w+/,\"\"],[/^lang/,\"\"]],attributes:{style:j(s?[[/^list-style-type$/,null],[/^margin$|^margin-(?!bottom|top)/,null,function(a,b,c){if(b.name in{p:1,div:1}){b=\"ltr\"==d.contentsLangDirection?\"margin-left\":\"margin-right\";if(\"margin\"==\nc)a=r(c,a,[b])[b];else if(c!=b)return null;if(a&&!D.test(a))return[b,a]}return null}],[/^clear$/],[/^border.*|margin.*|vertical-align|float$/,null,function(a,b){if(\"img\"==b.name)return a}],[/^width|height$/,null,function(a,b){if(b.name in{table:1,td:1,th:1,img:1})return a}]]:[[/^mso-/],[/-color$/,null,function(a){if(\"transparent\"==a)return!1;if(CKEDITOR.env.gecko)return a.replace(/-moz-use-text-color/g,\"transparent\")}],[/^margin$/,D],[\"text-indent\",\"0cm\"],[\"page-break-before\"],[\"tab-stops\"],[\"display\",\n\"none\"],o?[/font-?/]:null],s),width:function(a,c){if(c.name in b.$tableContent)return!1},border:function(a,c){if(c.name in b.$tableContent)return!1},\"class\":h,bgcolor:h,valign:s?h:function(a,b){b.addStyle(\"vertical-align\",a);return!1}},comment:!CKEDITOR.env.ie?function(a,b){var c=a.match(/<img.*?>/),d=a.match(/^\\[if !supportLists\\]([\\s\\S]*?)\\[endif\\]$/);return d?(d=(c=d[1]||c&&\"l.\")&&c.match(/>(?:[(]?)([^\\s]+?)([.)]?)</),i(d,c)):CKEDITOR.env.gecko&&c?(c=CKEDITOR.htmlParser.fragment.fromHtml(c[0]).children[0],\n(d=(d=(d=b.previous)&&d.value.match(/<v:imagedata[^>]*o:href=['\"](.*?)['\"]/))&&d[1])&&(c.attributes.src=d),c):!1}:h}}},G=function(){this.dataFilter=new CKEDITOR.htmlParser.filter};G.prototype={toHtml:function(a){var a=CKEDITOR.htmlParser.fragment.fromHtml(a),c=new CKEDITOR.htmlParser.basicWriter;a.writeHtml(c,this.dataFilter);return c.getHtml(!0)}};CKEDITOR.cleanWord=function(a,c){CKEDITOR.env.gecko&&(a=a.replace(/(<\\!--\\[if[^<]*?\\])--\\>([\\S\\s]*?)<\\!--(\\[endif\\]--\\>)/gi,\"$1$2$3\"));CKEDITOR.env.webkit&&\n(a=a.replace(/(class=\"MsoListParagraph[^>]+><\\!--\\[if !supportLists\\]--\\>)([^<]+<span[^<]+<\\/span>)(<\\!--\\[endif\\]--\\>)/gi,\"$1<span>$2</span>$3\"));var b=new G,f=b.dataFilter;f.addRules(CKEDITOR.plugins.pastefromword.getRules(c,f));c.fire(\"beforeCleanWord\",{filter:f});try{a=b.toHtml(a)}catch(d){alert(c.lang.pastefromword.error)}a=a.replace(/cke:.*?\".*?\"/g,\"\");a=a.replace(/style=\"\"/g,\"\");return a=a.replace(/<span>/g,\"\")}})();"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/table/dialogs/table.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/table/dialogs/table.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\n(function(){function r(a){for(var e=0,l=0,k=0,m,g=a.$.rows.length;k<g;k++){m=a.$.rows[k];for(var d=e=0,c,b=m.cells.length;d<b;d++)c=m.cells[d],e+=c.colSpan;e>l&&(l=e)}return l}function o(a){return function(){var e=this.getValue(),e=!!(CKEDITOR.dialog.validate.integer()(e)&&0<e);e||(alert(a),this.select());return e}}function n(a,e){var l=function(g){return new CKEDITOR.dom.element(g,a.document)},n=a.editable(),m=a.plugins.dialogadvtab;return{title:a.lang.table.title,minWidth:310,minHeight:CKEDITOR.env.ie?\n310:280,onLoad:function(){var g=this,a=g.getContentElement(\"advanced\",\"advStyles\");if(a)a.on(\"change\",function(){var a=this.getStyle(\"width\",\"\"),b=g.getContentElement(\"info\",\"txtWidth\");b&&b.setValue(a,!0);a=this.getStyle(\"height\",\"\");(b=g.getContentElement(\"info\",\"txtHeight\"))&&b.setValue(a,!0)})},onShow:function(){var g=a.getSelection(),d=g.getRanges(),c,b=this.getContentElement(\"info\",\"txtRows\"),h=this.getContentElement(\"info\",\"txtCols\"),p=this.getContentElement(\"info\",\"txtWidth\"),f=this.getContentElement(\"info\",\n\"txtHeight\");\"tableProperties\"==e&&((g=g.getSelectedElement())&&g.is(\"table\")?c=g:0<d.length&&(CKEDITOR.env.webkit&&d[0].shrink(CKEDITOR.NODE_ELEMENT),c=a.elementPath(d[0].getCommonAncestor(!0)).contains(\"table\",1)),this._.selectedElement=c);c?(this.setupContent(c),b&&b.disable(),h&&h.disable()):(b&&b.enable(),h&&h.enable());p&&p.onChange();f&&f.onChange()},onOk:function(){var g=a.getSelection(),d=this._.selectedElement&&g.createBookmarks(),c=this._.selectedElement||l(\"table\"),b={};this.commitContent(b,\nc);if(b.info){b=b.info;if(!this._.selectedElement)for(var h=c.append(l(\"tbody\")),e=parseInt(b.txtRows,10)||0,f=parseInt(b.txtCols,10)||0,i=0;i<e;i++)for(var j=h.append(l(\"tr\")),k=0;k<f;k++)j.append(l(\"td\")).appendBogus();e=b.selHeaders;if(!c.$.tHead&&(\"row\"==e||\"both\"==e)){j=new CKEDITOR.dom.element(c.$.createTHead());h=c.getElementsByTag(\"tbody\").getItem(0);h=h.getElementsByTag(\"tr\").getItem(0);for(i=0;i<h.getChildCount();i++)f=h.getChild(i),f.type==CKEDITOR.NODE_ELEMENT&&!f.data(\"cke-bookmark\")&&\n(f.renameNode(\"th\"),f.setAttribute(\"scope\",\"col\"));j.append(h.remove())}if(null!==c.$.tHead&&!(\"row\"==e||\"both\"==e)){j=new CKEDITOR.dom.element(c.$.tHead);h=c.getElementsByTag(\"tbody\").getItem(0);for(k=h.getFirst();0<j.getChildCount();){h=j.getFirst();for(i=0;i<h.getChildCount();i++)f=h.getChild(i),f.type==CKEDITOR.NODE_ELEMENT&&(f.renameNode(\"td\"),f.removeAttribute(\"scope\"));h.insertBefore(k)}j.remove()}if(!this.hasColumnHeaders&&(\"col\"==e||\"both\"==e))for(j=0;j<c.$.rows.length;j++)f=new CKEDITOR.dom.element(c.$.rows[j].cells[0]),\nf.renameNode(\"th\"),f.setAttribute(\"scope\",\"row\");if(this.hasColumnHeaders&&!(\"col\"==e||\"both\"==e))for(i=0;i<c.$.rows.length;i++)j=new CKEDITOR.dom.element(c.$.rows[i]),\"tbody\"==j.getParent().getName()&&(f=new CKEDITOR.dom.element(j.$.cells[0]),f.renameNode(\"td\"),f.removeAttribute(\"scope\"));b.txtHeight?c.setStyle(\"height\",b.txtHeight):c.removeStyle(\"height\");b.txtWidth?c.setStyle(\"width\",b.txtWidth):c.removeStyle(\"width\");c.getAttribute(\"style\")||c.removeAttribute(\"style\")}if(this._.selectedElement)try{g.selectBookmarks(d)}catch(m){}else a.insertElement(c),\nsetTimeout(function(){var g=new CKEDITOR.dom.element(c.$.rows[0].cells[0]),b=a.createRange();b.moveToPosition(g,CKEDITOR.POSITION_AFTER_START);b.select()},0)},contents:[{id:\"info\",label:a.lang.table.title,elements:[{type:\"hbox\",widths:[null,null],styles:[\"vertical-align:top\"],children:[{type:\"vbox\",padding:0,children:[{type:\"text\",id:\"txtRows\",\"default\":3,label:a.lang.table.rows,required:!0,controlStyle:\"width:5em\",validate:o(a.lang.table.invalidRows),setup:function(a){this.setValue(a.$.rows.length)},\ncommit:k},{type:\"text\",id:\"txtCols\",\"default\":2,label:a.lang.table.columns,required:!0,controlStyle:\"width:5em\",validate:o(a.lang.table.invalidCols),setup:function(a){this.setValue(r(a))},commit:k},{type:\"html\",html:\"&nbsp;\"},{type:\"select\",id:\"selHeaders\",requiredContent:\"th\",\"default\":\"\",label:a.lang.table.headers,items:[[a.lang.table.headersNone,\"\"],[a.lang.table.headersRow,\"row\"],[a.lang.table.headersColumn,\"col\"],[a.lang.table.headersBoth,\"both\"]],setup:function(a){var d=this.getDialog();d.hasColumnHeaders=\n!0;for(var c=0;c<a.$.rows.length;c++){var b=a.$.rows[c].cells[0];if(b&&\"th\"!=b.nodeName.toLowerCase()){d.hasColumnHeaders=!1;break}}null!==a.$.tHead?this.setValue(d.hasColumnHeaders?\"both\":\"row\"):this.setValue(d.hasColumnHeaders?\"col\":\"\")},commit:k},{type:\"text\",id:\"txtBorder\",requiredContent:\"table[border]\",\"default\":a.filter.check(\"table[border]\")?1:0,label:a.lang.table.border,controlStyle:\"width:3em\",validate:CKEDITOR.dialog.validate.number(a.lang.table.invalidBorder),setup:function(a){this.setValue(a.getAttribute(\"border\")||\n\"\")},commit:function(a,d){this.getValue()?d.setAttribute(\"border\",this.getValue()):d.removeAttribute(\"border\")}},{id:\"cmbAlign\",type:\"select\",requiredContent:\"table[align]\",\"default\":\"\",label:a.lang.common.align,items:[[a.lang.common.notSet,\"\"],[a.lang.common.alignLeft,\"left\"],[a.lang.common.alignCenter,\"center\"],[a.lang.common.alignRight,\"right\"]],setup:function(a){this.setValue(a.getAttribute(\"align\")||\"\")},commit:function(a,d){this.getValue()?d.setAttribute(\"align\",this.getValue()):d.removeAttribute(\"align\")}}]},\n{type:\"vbox\",padding:0,children:[{type:\"hbox\",widths:[\"5em\"],children:[{type:\"text\",id:\"txtWidth\",requiredContent:\"table{width}\",controlStyle:\"width:5em\",label:a.lang.common.width,title:a.lang.common.cssLengthTooltip,\"default\":a.filter.check(\"table{width}\")?500>n.getSize(\"width\")?\"100%\":500:0,getValue:q,validate:CKEDITOR.dialog.validate.cssLength(a.lang.common.invalidCssLength.replace(\"%1\",a.lang.common.width)),onChange:function(){var a=this.getDialog().getContentElement(\"advanced\",\"advStyles\");a&&\na.updateStyle(\"width\",this.getValue())},setup:function(a){this.setValue(a.getStyle(\"width\"))},commit:k}]},{type:\"hbox\",widths:[\"5em\"],children:[{type:\"text\",id:\"txtHeight\",requiredContent:\"table{height}\",controlStyle:\"width:5em\",label:a.lang.common.height,title:a.lang.common.cssLengthTooltip,\"default\":\"\",getValue:q,validate:CKEDITOR.dialog.validate.cssLength(a.lang.common.invalidCssLength.replace(\"%1\",a.lang.common.height)),onChange:function(){var a=this.getDialog().getContentElement(\"advanced\",\"advStyles\");\na&&a.updateStyle(\"height\",this.getValue())},setup:function(a){(a=a.getStyle(\"height\"))&&this.setValue(a)},commit:k}]},{type:\"html\",html:\"&nbsp;\"},{type:\"text\",id:\"txtCellSpace\",requiredContent:\"table[cellspacing]\",controlStyle:\"width:3em\",label:a.lang.table.cellSpace,\"default\":a.filter.check(\"table[cellspacing]\")?1:0,validate:CKEDITOR.dialog.validate.number(a.lang.table.invalidCellSpacing),setup:function(a){this.setValue(a.getAttribute(\"cellSpacing\")||\"\")},commit:function(a,d){this.getValue()?d.setAttribute(\"cellSpacing\",\nthis.getValue()):d.removeAttribute(\"cellSpacing\")}},{type:\"text\",id:\"txtCellPad\",requiredContent:\"table[cellpadding]\",controlStyle:\"width:3em\",label:a.lang.table.cellPad,\"default\":a.filter.check(\"table[cellpadding]\")?1:0,validate:CKEDITOR.dialog.validate.number(a.lang.table.invalidCellPadding),setup:function(a){this.setValue(a.getAttribute(\"cellPadding\")||\"\")},commit:function(a,d){this.getValue()?d.setAttribute(\"cellPadding\",this.getValue()):d.removeAttribute(\"cellPadding\")}}]}]},{type:\"html\",align:\"right\",\nhtml:\"\"},{type:\"vbox\",padding:0,children:[{type:\"text\",id:\"txtCaption\",requiredContent:\"caption\",label:a.lang.table.caption,setup:function(a){this.enable();a=a.getElementsByTag(\"caption\");if(0<a.count()){var a=a.getItem(0),d=a.getFirst(CKEDITOR.dom.walker.nodeType(CKEDITOR.NODE_ELEMENT));d&&!d.equals(a.getBogus())?(this.disable(),this.setValue(a.getText())):(a=CKEDITOR.tools.trim(a.getText()),this.setValue(a))}},commit:function(e,d){if(this.isEnabled()){var c=this.getValue(),b=d.getElementsByTag(\"caption\");\nif(c)0<b.count()?(b=b.getItem(0),b.setHtml(\"\")):(b=new CKEDITOR.dom.element(\"caption\",a.document),d.getChildCount()?b.insertBefore(d.getFirst()):b.appendTo(d)),b.append(new CKEDITOR.dom.text(c,a.document));else if(0<b.count())for(c=b.count()-1;0<=c;c--)b.getItem(c).remove()}}},{type:\"text\",id:\"txtSummary\",requiredContent:\"table[summary]\",label:a.lang.table.summary,setup:function(a){this.setValue(a.getAttribute(\"summary\")||\"\")},commit:function(a,d){this.getValue()?d.setAttribute(\"summary\",this.getValue()):\nd.removeAttribute(\"summary\")}}]}]},m&&m.createAdvancedTab(a,null,\"table\")]}}var q=CKEDITOR.tools.cssLength,k=function(a){var e=this.id;a.info||(a.info={});a.info[e]=this.getValue()};CKEDITOR.dialog.add(\"table\",function(a){return n(a,\"table\")});CKEDITOR.dialog.add(\"tableProperties\",function(a){return n(a,\"tableProperties\")})})();"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/iframe/dialogs/iframe.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/iframe/dialogs/iframe.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\n(function(){function c(b){var c=this instanceof CKEDITOR.ui.dialog.checkbox;b.hasAttribute(this.id)&&(b=b.getAttribute(this.id),c?this.setValue(e[this.id][\"true\"]==b.toLowerCase()):this.setValue(b))}function d(b){var c=\"\"===this.getValue(),a=this instanceof CKEDITOR.ui.dialog.checkbox,d=this.getValue();c?b.removeAttribute(this.att||this.id):a?b.setAttribute(this.id,e[this.id][d]):b.setAttribute(this.att||this.id,d)}var e={scrolling:{\"true\":\"yes\",\"false\":\"no\"},frameborder:{\"true\":\"1\",\"false\":\"0\"}};\nCKEDITOR.dialog.add(\"iframe\",function(b){var f=b.lang.iframe,a=b.lang.common,e=b.plugins.dialogadvtab;return{title:f.title,minWidth:350,minHeight:260,onShow:function(){this.fakeImage=this.iframeNode=null;var a=this.getSelectedElement();a&&(a.data(\"cke-real-element-type\")&&\"iframe\"==a.data(\"cke-real-element-type\"))&&(this.fakeImage=a,this.iframeNode=a=b.restoreRealElement(a),this.setupContent(a))},onOk:function(){var a;a=this.fakeImage?this.iframeNode:new CKEDITOR.dom.element(\"iframe\");var c={},d=\n{};this.commitContent(a,c,d);a=b.createFakeElement(a,\"cke_iframe\",\"iframe\",!0);a.setAttributes(d);a.setStyles(c);this.fakeImage?(a.replace(this.fakeImage),b.getSelection().selectElement(a)):b.insertElement(a)},contents:[{id:\"info\",label:a.generalTab,accessKey:\"I\",elements:[{type:\"vbox\",padding:0,children:[{id:\"src\",type:\"text\",label:a.url,required:!0,validate:CKEDITOR.dialog.validate.notEmpty(f.noUrl),setup:c,commit:d}]},{type:\"hbox\",children:[{id:\"width\",type:\"text\",requiredContent:\"iframe[width]\",\nstyle:\"width:100%\",labelLayout:\"vertical\",label:a.width,validate:CKEDITOR.dialog.validate.htmlLength(a.invalidHtmlLength.replace(\"%1\",a.width)),setup:c,commit:d},{id:\"height\",type:\"text\",requiredContent:\"iframe[height]\",style:\"width:100%\",labelLayout:\"vertical\",label:a.height,validate:CKEDITOR.dialog.validate.htmlLength(a.invalidHtmlLength.replace(\"%1\",a.height)),setup:c,commit:d},{id:\"align\",type:\"select\",requiredContent:\"iframe[align]\",\"default\":\"\",items:[[a.notSet,\"\"],[a.alignLeft,\"left\"],[a.alignRight,\n\"right\"],[a.alignTop,\"top\"],[a.alignMiddle,\"middle\"],[a.alignBottom,\"bottom\"]],style:\"width:100%\",labelLayout:\"vertical\",label:a.align,setup:function(a,b){c.apply(this,arguments);if(b){var d=b.getAttribute(\"align\");this.setValue(d&&d.toLowerCase()||\"\")}},commit:function(a,b,c){d.apply(this,arguments);this.getValue()&&(c.align=this.getValue())}}]},{type:\"hbox\",widths:[\"50%\",\"50%\"],children:[{id:\"scrolling\",type:\"checkbox\",requiredContent:\"iframe[scrolling]\",label:f.scrolling,setup:c,commit:d},{id:\"frameborder\",\ntype:\"checkbox\",requiredContent:\"iframe[frameborder]\",label:f.border,setup:c,commit:d}]},{type:\"hbox\",widths:[\"50%\",\"50%\"],children:[{id:\"name\",type:\"text\",requiredContent:\"iframe[name]\",label:a.name,setup:c,commit:d},{id:\"title\",type:\"text\",requiredContent:\"iframe[title]\",label:a.advisoryTitle,setup:c,commit:d}]},{id:\"longdesc\",type:\"text\",requiredContent:\"iframe[longdesc]\",label:a.longDescr,setup:c,commit:d}]},e&&e.createAdvancedTab(b,{id:1,classes:1,styles:1},\"iframe\")]}})})();"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/iframe/images/placeholder.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/iframe/images/placeholder.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAADsAAAAbCAIAAABN62DSAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAFHSURBVHja7JbRbYMwEECfqy7gFZwRzAisQEaI5AnCCDBCGCGs4BHiFTwCjOB+cAJCE1WKmkqoPvnDHMJ+nB/GJOcS7KY5pxKQEnsJpT7YW2TiTJyJM/F/Ix5HlOJ4BCgKlFpaUTxOhrA8Pt+NUTJ9L5muAwhBLtv2wWhK3Y32So21JiVpt9s2OQzESF1LPgRCoCwB4VuPM6F4j9ZPp0gJa99pxTjKlHM5gabBGOnPYQzeC7Ex7/R4kmSzXnPycKCquFwWYmuxltOJGO+gy5IY6Tq8l0V4OMUk3q9ZMa/XlDyfpT/VuOuIUTSdPFkTW4sxtC1aU1U/i/cWK5qGsqRtRdm+R2uGYXk970WbdZmfaPpXu9v1ijHUNTHiPdYuTlcV43j3/U2sGyU2Vsx7yPfzZj4f539eJs7EmTgTvxSfOIdSu+F17msA97jNxIxNOl4AAAAASUVORK5CYII="
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/div/dialogs/div.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/div/dialogs/div.js",
            "module-type": "library",
            "text": "(function(){function p(a,k,o){if(!k.is||!k.getCustomData(\"block_processed\"))k.is&&CKEDITOR.dom.element.setMarker(o,k,\"block_processed\",!0),a.push(k)}function n(a,k){function o(){this.foreach(function(d){if(/^(?!vbox|hbox)/.test(d.type)&&(d.setup||(d.setup=function(c){d.setValue(c.getAttribute(d.id)||\"\",1)}),!d.commit))d.commit=function(c){var a=this.getValue();\"dir\"==d.id&&c.getComputedStyle(\"direction\")==a||(a?c.setAttribute(d.id,a):c.removeAttribute(d.id))}})}var n=function(){var d=CKEDITOR.tools.extend({},\nCKEDITOR.dtd.$blockLimit);a.config.div_wrapTable&&(delete d.td,delete d.th);return d}(),q=CKEDITOR.dtd.div,l={},m=[];return{title:a.lang.div.title,minWidth:400,minHeight:165,contents:[{id:\"info\",label:a.lang.common.generalTab,title:a.lang.common.generalTab,elements:[{type:\"hbox\",widths:[\"50%\",\"50%\"],children:[{id:\"elementStyle\",type:\"select\",style:\"width: 100%;\",label:a.lang.div.styleSelectLabel,\"default\":\"\",items:[[a.lang.common.notSet,\"\"]],onChange:function(){var d=[\"info:elementStyle\",\"info:class\",\n\"advanced:dir\",\"advanced:style\"],c=this.getDialog(),h=c._element&&c._element.clone()||new CKEDITOR.dom.element(\"div\",a.document);this.commit(h,!0);for(var d=[].concat(d),b=d.length,i,f=0;f<b;f++)(i=c.getContentElement.apply(c,d[f].split(\":\")))&&i.setup&&i.setup(h,!0)},setup:function(a){for(var c in l)l[c].checkElementRemovable(a,!0)&&this.setValue(c,1)},commit:function(a){var c;(c=this.getValue())?l[c].applyToObject(a):a.removeAttribute(\"style\")}},{id:\"class\",type:\"text\",requiredContent:\"div(cke-xyz)\",\nlabel:a.lang.common.cssClass,\"default\":\"\"}]}]},{id:\"advanced\",label:a.lang.common.advancedTab,title:a.lang.common.advancedTab,elements:[{type:\"vbox\",padding:1,children:[{type:\"hbox\",widths:[\"50%\",\"50%\"],children:[{type:\"text\",id:\"id\",requiredContent:\"div[id]\",label:a.lang.common.id,\"default\":\"\"},{type:\"text\",id:\"lang\",requiredContent:\"div[lang]\",label:a.lang.common.langCode,\"default\":\"\"}]},{type:\"hbox\",children:[{type:\"text\",id:\"style\",requiredContent:\"div{cke-xyz}\",style:\"width: 100%;\",label:a.lang.common.cssStyle,\n\"default\":\"\",commit:function(a){a.setAttribute(\"style\",this.getValue())}}]},{type:\"hbox\",children:[{type:\"text\",id:\"title\",requiredContent:\"div[title]\",style:\"width: 100%;\",label:a.lang.common.advisoryTitle,\"default\":\"\"}]},{type:\"select\",id:\"dir\",requiredContent:\"div[dir]\",style:\"width: 100%;\",label:a.lang.common.langDir,\"default\":\"\",items:[[a.lang.common.notSet,\"\"],[a.lang.common.langDirLtr,\"ltr\"],[a.lang.common.langDirRtl,\"rtl\"]]}]}]}],onLoad:function(){o.call(this);var d=this,c=this.getContentElement(\"info\",\n\"elementStyle\");a.getStylesSet(function(h){var b,i;if(h)for(var f=0;f<h.length;f++)i=h[f],i.element&&\"div\"==i.element&&(b=i.name,l[b]=i=new CKEDITOR.style(i),a.filter.check(i)&&(c.items.push([b,b]),c.add(b,b)));c[1<c.items.length?\"enable\":\"disable\"]();setTimeout(function(){d._element&&c.setup(d._element)},0)})},onShow:function(){\"editdiv\"==k&&this.setupContent(this._element=CKEDITOR.plugins.div.getSurroundDiv(a))},onOk:function(){if(\"editdiv\"==k)m=[this._element];else{var d=[],c={},h=[],b,i=a.getSelection(),\nf=i.getRanges(),l=i.createBookmarks(),g,j;for(g=0;g<f.length;g++)for(j=f[g].createIterator();b=j.getNextParagraph();)if(b.getName()in n&&!b.isReadOnly()){var e=b.getChildren();for(b=0;b<e.count();b++)p(h,e.getItem(b),c)}else{for(;!q[b.getName()]&&!b.equals(f[g].root);)b=b.getParent();p(h,b,c)}CKEDITOR.dom.element.clearAllMarkers(c);f=[];g=null;for(j=0;j<h.length;j++)b=h[j],e=a.elementPath(b).blockLimit,e.isReadOnly()&&(e=e.getParent()),a.config.div_wrapTable&&e.is([\"td\",\"th\"])&&(e=a.elementPath(e.getParent()).blockLimit),\ne.equals(g)||(g=e,f.push([])),f[f.length-1].push(b);for(g=0;g<f.length;g++){e=f[g][0];h=e.getParent();for(b=1;b<f[g].length;b++)h=h.getCommonAncestor(f[g][b]);j=new CKEDITOR.dom.element(\"div\",a.document);for(b=0;b<f[g].length;b++){for(e=f[g][b];!e.getParent().equals(h);)e=e.getParent();f[g][b]=e}for(b=0;b<f[g].length;b++)if(e=f[g][b],!e.getCustomData||!e.getCustomData(\"block_processed\"))e.is&&CKEDITOR.dom.element.setMarker(c,e,\"block_processed\",!0),b||j.insertBefore(e),j.append(e);CKEDITOR.dom.element.clearAllMarkers(c);\nd.push(j)}i.selectBookmarks(l);m=d}d=m.length;for(c=0;c<d;c++)this.commitContent(m[c]),!m[c].getAttribute(\"style\")&&m[c].removeAttribute(\"style\");this.hide()},onHide:function(){\"editdiv\"==k&&this._element.removeCustomData(\"elementStyle\");delete this._element}}}CKEDITOR.dialog.add(\"creatediv\",function(a){return n(a,\"creatediv\")});CKEDITOR.dialog.add(\"editdiv\",function(a){return n(a,\"editdiv\")})})();"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/templates/templates/default.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/templates/templates/default.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.addTemplates(\"default\",{imagesPath:CKEDITOR.getUrl(CKEDITOR.plugins.getPath(\"templates\")+\"templates/images/\"),templates:[{title:\"Image and Title\",image:\"template1.gif\",description:\"One main image with a title and text that surround the image.\",html:'<h3><img src=\" \" alt=\"\" style=\"margin-right: 10px\" height=\"100\" width=\"100\" align=\"left\" />Type the title here</h3><p>Type the text here</p>'},{title:\"Strange Template\",image:\"template2.gif\",description:\"A template that defines two colums, each one with a title, and some text.\",\nhtml:'<table cellspacing=\"0\" cellpadding=\"0\" style=\"width:100%\" border=\"0\"><tr><td style=\"width:50%\"><h3>Title 1</h3></td><td></td><td style=\"width:50%\"><h3>Title 2</h3></td></tr><tr><td>Text 1</td><td></td><td>Text 2</td></tr></table><p>More text goes here.</p>'},{title:\"Text and Table\",image:\"template3.gif\",description:\"A title with some text and a table.\",html:'<div style=\"width: 80%\"><h3>Title goes here</h3><table style=\"width:150px;float: right\" cellspacing=\"0\" cellpadding=\"0\" border=\"1\"><caption style=\"border:solid 1px black\"><strong>Table title</strong></caption><tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr></table><p>Type the text here</p></div>'}]});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/templates/dialogs/templates.css": {
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/templates/dialogs/templates.css",
            "text": "/*\r\nCopyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\r\nFor licensing, see LICENSE.md or http://ckeditor.com/license\r\n*/\r\n\r\n.cke_tpl_list\r\n{\r\n\tborder: #dcdcdc 2px solid;\r\n\tbackground-color: #ffffff;\r\n\toverflow-y: auto;\r\n\toverflow-x: hidden;\r\n\twidth: 100%;\r\n\theight: 220px;\r\n}\r\n\r\n.cke_tpl_item\r\n{\r\n\tmargin: 5px;\r\n\tpadding: 7px;\r\n\tborder: #eeeeee 1px solid;\r\n\t*width: 88%;\r\n}\r\n\r\n.cke_tpl_preview\r\n{\r\n\tborder-collapse: separate;\r\n\ttext-indent:0;\r\n\twidth: 100%;\r\n}\r\n.cke_tpl_preview td\r\n{\r\n\tpadding: 2px;\r\n\tvertical-align: middle;\r\n}\r\n.cke_tpl_preview .cke_tpl_preview_img\r\n{\r\n\twidth: 100px;\r\n}\r\n.cke_tpl_preview span\r\n{\r\n\twhite-space: normal;\r\n}\r\n\r\n.cke_tpl_title\r\n{\r\n\tfont-weight: bold;\r\n}\r\n\r\n.cke_tpl_list a:hover .cke_tpl_item,\r\n.cke_tpl_list a:focus .cke_tpl_item,\r\n.cke_tpl_list a:active .cke_tpl_item\r\n{\r\n\tborder: #ff9933 1px solid;\r\n\tbackground-color: #fffacd;\r\n}\r\n\r\n.cke_tpl_list a:hover *,\r\n.cke_tpl_list a:focus *,\r\n.cke_tpl_list a:active *\r\n{\r\n\tcursor: pointer;\r\n}\r\n\r\n/* IE6 contextual selectors childs won't get :hover transition until,\r\n\tthe hover style of the link itself contains certain CSS declarations.*/\r\n.cke_browser_ie6 .cke_tpl_list a:active,\r\n.cke_browser_ie6 .cke_tpl_list a:hover,\r\n.cke_browser_ie6 .cke_tpl_list a:focus\r\n{\r\n\tbackground-position: 0 0;\r\n}\r\n\r\n.cke_hc .cke_tpl_list a:hover .cke_tpl_item,\r\n.cke_hc .cke_tpl_list a:focus .cke_tpl_item,\r\n.cke_hc .cke_tpl_list a:active .cke_tpl_item\r\n{\r\n\tborder-width: 3px;\r\n}\r\n\r\n.cke_tpl_empty, .cke_tpl_loading\r\n{\r\n\ttext-align: center;\r\n\tpadding: 5px;\r\n}\r\n"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/templates/dialogs/templates.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/templates/dialogs/templates.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\n(function(){CKEDITOR.dialog.add(\"templates\",function(c){function o(a,b){var k=CKEDITOR.dom.element.createFromHtml('<a href=\"javascript:void(0)\" tabIndex=\"-1\" role=\"option\" ><div class=\"cke_tpl_item\"></div></a>'),d='<table style=\"width:350px;\" class=\"cke_tpl_preview\" role=\"presentation\"><tr>';a.image&&b&&(d+='<td class=\"cke_tpl_preview_img\"><img src=\"'+CKEDITOR.getUrl(b+a.image)+'\"'+(CKEDITOR.env.ie6Compat?' onload=\"this.width=this.width\"':\"\")+' alt=\"\" title=\"\"></td>');d+='<td style=\"white-space:normal;\"><span class=\"cke_tpl_title\">'+\na.title+\"</span><br/>\";a.description&&(d+=\"<span>\"+a.description+\"</span>\");k.getFirst().setHtml(d+\"</td></tr></table>\");k.on(\"click\",function(){p(a.html)});return k}function p(a){var b=CKEDITOR.dialog.getCurrent();b.getValueOf(\"selectTpl\",\"chkInsertOpt\")?(c.fire(\"saveSnapshot\"),c.setData(a,function(){b.hide();var a=c.createRange();a.moveToElementEditStart(c.editable());a.select();setTimeout(function(){c.fire(\"saveSnapshot\")},0)})):(c.insertHtml(a),b.hide())}function i(a){var b=a.data.getTarget(),\nc=g.equals(b);if(c||g.contains(b)){var d=a.data.getKeystroke(),f=g.getElementsByTag(\"a\"),e;if(f){if(c)e=f.getItem(0);else switch(d){case 40:e=b.getNext();break;case 38:e=b.getPrevious();break;case 13:case 32:b.fire(\"click\")}e&&(e.focus(),a.data.preventDefault())}}}var h=CKEDITOR.plugins.get(\"templates\");CKEDITOR.document.appendStyleSheet(CKEDITOR.getUrl(h.path+\"dialogs/templates.css\"));var g,h=\"cke_tpl_list_label_\"+CKEDITOR.tools.getNextNumber(),f=c.lang.templates,l=c.config;return{title:c.lang.templates.title,\nminWidth:CKEDITOR.env.ie?440:400,minHeight:340,contents:[{id:\"selectTpl\",label:f.title,elements:[{type:\"vbox\",padding:5,children:[{id:\"selectTplText\",type:\"html\",html:\"<span>\"+f.selectPromptMsg+\"</span>\"},{id:\"templatesList\",type:\"html\",focus:!0,html:'<div class=\"cke_tpl_list\" tabIndex=\"-1\" role=\"listbox\" aria-labelledby=\"'+h+'\"><div class=\"cke_tpl_loading\"><span></span></div></div><span class=\"cke_voice_label\" id=\"'+h+'\">'+f.options+\"</span>\"},{id:\"chkInsertOpt\",type:\"checkbox\",label:f.insertOption,\n\"default\":l.templates_replaceContent}]}]}],buttons:[CKEDITOR.dialog.cancelButton],onShow:function(){var a=this.getContentElement(\"selectTpl\",\"templatesList\");g=a.getElement();CKEDITOR.loadTemplates(l.templates_files,function(){var b=(l.templates||\"default\").split(\",\");if(b.length){var c=g;c.setHtml(\"\");for(var d=0,h=b.length;d<h;d++)for(var e=CKEDITOR.getTemplates(b[d]),i=e.imagesPath,e=e.templates,n=e.length,j=0;j<n;j++){var m=o(e[j],i);m.setAttribute(\"aria-posinset\",j+1);m.setAttribute(\"aria-setsize\",\nn);c.append(m)}a.focus()}else g.setHtml('<div class=\"cke_tpl_empty\"><span>'+f.emptyListMsg+\"</span></div>\")});this._.element.on(\"keydown\",i)},onHide:function(){this._.element.removeListener(\"keydown\",i)}}})})();"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/about/dialogs/hidpi/logo_ckeditor.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/about/dialogs/hidpi/logo_ckeditor.png",
            "module-type": "library",
            "text": "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"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/about/dialogs/logo_ckeditor.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/about/dialogs/logo_ckeditor.png",
            "module-type": "library",
            "text": "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"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/about/dialogs/about.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/about/dialogs/about.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.dialog.add(\"about\",function(a){var a=a.lang.about,b=CKEDITOR.plugins.get(\"about\").path+\"dialogs/\"+(CKEDITOR.env.hidpi?\"hidpi/\":\"\")+\"logo_ckeditor.png\";return{title:CKEDITOR.env.ie?a.dlgTitle:a.title,minWidth:390,minHeight:230,contents:[{id:\"tab1\",label:\"\",title:\"\",expand:!0,padding:0,elements:[{type:\"html\",html:'<style type=\"text/css\">.cke_about_container{color:#000 !important;padding:10px 10px 0;margin-top:5px}.cke_about_container p{margin: 0 0 10px;}.cke_about_container .cke_about_logo{height:81px;background-color:#fff;background-image:url('+\nb+\");\"+(CKEDITOR.env.hidpi?\"background-size:163px 58px;\":\"\")+'background-position:center; background-repeat:no-repeat;margin-bottom:10px;}.cke_about_container a{cursor:pointer !important;color:#00B2CE !important;text-decoration:underline !important;}</style><div class=\"cke_about_container\"><div class=\"cke_about_logo\"></div><p>CKEditor '+CKEDITOR.version+\" (revision \"+CKEDITOR.revision+')<br><a href=\"http://ckeditor.com/\">http://ckeditor.com</a></p><p>'+a.help.replace(\"$1\",'<a href=\"http://docs.ckeditor.com/user\">'+\na.userGuide+\"</a>\")+\"</p><p>\"+a.moreInfo+'<br><a href=\"http://ckeditor.com/about/license\">http://ckeditor.com/about/license</a></p><p>'+a.copy.replace(\"$1\",'<a href=\"http://cksource.com/\">CKSource</a> - Frederico Knabben')+\"</p></div>\"}]}],buttons:[CKEDITOR.dialog.cancelButton]}});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/clipboard/dialogs/paste.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/clipboard/dialogs/paste.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.dialog.add(\"paste\",function(c){function h(a){var b=new CKEDITOR.dom.document(a.document),f=b.getBody(),d=b.getById(\"cke_actscrpt\");d&&d.remove();f.setAttribute(\"contenteditable\",!0);if(CKEDITOR.env.ie&&8>CKEDITOR.env.version)b.getWindow().on(\"blur\",function(){b.$.selection.empty()});b.on(\"keydown\",function(a){var a=a.data,b;switch(a.getKeystroke()){case 27:this.hide();b=1;break;case 9:case CKEDITOR.SHIFT+9:this.changeFocus(1),b=1}b&&a.preventDefault()},this);c.fire(\"ariaWidget\",new CKEDITOR.dom.element(a.frameElement));\nb.getWindow().getFrame().removeCustomData(\"pendingFocus\")&&f.focus()}var e=c.lang.clipboard;c.on(\"pasteDialogCommit\",function(a){a.data&&c.fire(\"paste\",{type:\"auto\",dataValue:a.data})},null,null,1E3);return{title:e.title,minWidth:CKEDITOR.env.ie&&CKEDITOR.env.quirks?370:350,minHeight:CKEDITOR.env.quirks?250:245,onShow:function(){this.parts.dialog.$.offsetHeight;this.setupContent();this.parts.title.setHtml(this.customTitle||e.title);this.customTitle=null},onLoad:function(){(CKEDITOR.env.ie7Compat||\nCKEDITOR.env.ie6Compat)&&\"rtl\"==c.lang.dir&&this.parts.contents.setStyle(\"overflow\",\"hidden\")},onOk:function(){this.commitContent()},contents:[{id:\"general\",label:c.lang.common.generalTab,elements:[{type:\"html\",id:\"securityMsg\",html:'<div style=\"white-space:normal;width:340px\">'+e.securityMsg+\"</div>\"},{type:\"html\",id:\"pasteMsg\",html:'<div style=\"white-space:normal;width:340px\">'+e.pasteMsg+\"</div>\"},{type:\"html\",id:\"editing_area\",style:\"width:100%;height:100%\",html:\"\",focus:function(){var a=this.getInputElement(),\nb=a.getFrameDocument().getBody();!b||b.isReadOnly()?a.setCustomData(\"pendingFocus\",1):b.focus()},setup:function(){var a=this.getDialog(),b='<html dir=\"'+c.config.contentsLangDirection+'\" lang=\"'+(c.config.contentsLanguage||c.langCode)+'\"><head><style>body{margin:3px;height:95%}</style></head><body><script id=\"cke_actscrpt\" type=\"text/javascript\">window.parent.CKEDITOR.tools.callFunction('+CKEDITOR.tools.addFunction(h,a)+\",this);<\\/script></body></html>\",f=CKEDITOR.env.air?\"javascript:void(0)\":CKEDITOR.env.ie?\n\"javascript:void((function(){\"+encodeURIComponent(\"document.open();(\"+CKEDITOR.tools.fixDomain+\")();document.close();\")+'})())\"':\"\",d=CKEDITOR.dom.element.createFromHtml('<iframe class=\"cke_pasteframe\" frameborder=\"0\"  allowTransparency=\"true\" src=\"'+f+'\" role=\"region\" aria-label=\"'+e.pasteArea+'\" aria-describedby=\"'+a.getContentElement(\"general\",\"pasteMsg\").domId+'\" aria-multiple=\"true\"></iframe>');d.on(\"load\",function(a){a.removeListener();a=d.getFrameDocument();a.write(b);c.focusManager.add(a.getBody());\nCKEDITOR.env.air&&h.call(this,a.getWindow().$)},a);d.setCustomData(\"dialog\",a);a=this.getElement();a.setHtml(\"\");a.append(d);if(CKEDITOR.env.ie){var g=CKEDITOR.dom.element.createFromHtml('<span tabindex=\"-1\" style=\"position:absolute\" role=\"presentation\"></span>');g.on(\"focus\",function(){setTimeout(function(){d.$.contentWindow.focus()})});a.append(g);this.focus=function(){g.focus();this.fire(\"focus\")}}this.getInputElement=function(){return d};CKEDITOR.env.ie&&(a.setStyle(\"display\",\"block\"),a.setStyle(\"height\",\nd.$.offsetHeight+2+\"px\"))},commit:function(){var a=this.getDialog().getParentEditor(),b=this.getInputElement().getFrameDocument().getBody(),c=b.getBogus(),d;c&&c.remove();d=b.getHtml();setTimeout(function(){a.fire(\"pasteDialogCommit\",d)},0)}}]}]}});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/image/dialogs/image.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/image/dialogs/image.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\n(function(){var r=function(c,j){function r(){var a=arguments,b=this.getContentElement(\"advanced\",\"txtdlgGenStyle\");b&&b.commit.apply(b,a);this.foreach(function(b){b.commit&&\"txtdlgGenStyle\"!=b.id&&b.commit.apply(b,a)})}function i(a){if(!s){s=1;var b=this.getDialog(),d=b.imageElement;if(d){this.commit(f,d);for(var a=[].concat(a),e=a.length,c,g=0;g<e;g++)(c=b.getContentElement.apply(b,a[g].split(\":\")))&&c.setup(f,d)}s=0}}var f=1,k=/^\\s*(\\d+)((px)|\\%)?\\s*$/i,v=/(^\\s*(\\d+)((px)|\\%)?\\s*$)|^$/i,o=/^\\d+px$/,\nw=function(){var a=this.getValue(),b=this.getDialog(),d=a.match(k);d&&(\"%\"==d[2]&&l(b,!1),a=d[1]);b.lockRatio&&(d=b.originalElement,\"true\"==d.getCustomData(\"isReady\")&&(\"txtHeight\"==this.id?(a&&\"0\"!=a&&(a=Math.round(d.$.width*(a/d.$.height))),isNaN(a)||b.setValueOf(\"info\",\"txtWidth\",a)):(a&&\"0\"!=a&&(a=Math.round(d.$.height*(a/d.$.width))),isNaN(a)||b.setValueOf(\"info\",\"txtHeight\",a))));g(b)},g=function(a){if(!a.originalElement||!a.preview)return 1;a.commitContent(4,a.preview);return 0},s,l=function(a,\nb){if(!a.getContentElement(\"info\",\"ratioLock\"))return null;var d=a.originalElement;if(!d)return null;if(\"check\"==b){if(!a.userlockRatio&&\"true\"==d.getCustomData(\"isReady\")){var e=a.getValueOf(\"info\",\"txtWidth\"),c=a.getValueOf(\"info\",\"txtHeight\"),d=1E3*d.$.width/d.$.height,f=1E3*e/c;a.lockRatio=!1;!e&&!c?a.lockRatio=!0:!isNaN(d)&&!isNaN(f)&&Math.round(d)==Math.round(f)&&(a.lockRatio=!0)}}else void 0!=b?a.lockRatio=b:(a.userlockRatio=1,a.lockRatio=!a.lockRatio);e=CKEDITOR.document.getById(p);a.lockRatio?\ne.removeClass(\"cke_btn_unlocked\"):e.addClass(\"cke_btn_unlocked\");e.setAttribute(\"aria-checked\",a.lockRatio);CKEDITOR.env.hc&&e.getChild(0).setHtml(a.lockRatio?CKEDITOR.env.ie?\"■\":\"▣\":CKEDITOR.env.ie?\"□\":\"▢\");return a.lockRatio},x=function(a){var b=a.originalElement;if(\"true\"==b.getCustomData(\"isReady\")){var d=a.getContentElement(\"info\",\"txtWidth\"),e=a.getContentElement(\"info\",\"txtHeight\");d&&d.setValue(b.$.width);e&&e.setValue(b.$.height)}g(a)},y=function(a,b){function d(a,b){var d=a.match(k);return d?\n(\"%\"==d[2]&&(d[1]+=\"%\",l(e,!1)),d[1]):b}if(a==f){var e=this.getDialog(),c=\"\",g=\"txtWidth\"==this.id?\"width\":\"height\",h=b.getAttribute(g);h&&(c=d(h,c));c=d(b.getStyle(g),c);this.setValue(c)}},t,q=function(){var a=this.originalElement;a.setCustomData(\"isReady\",\"true\");a.removeListener(\"load\",q);a.removeListener(\"error\",h);a.removeListener(\"abort\",h);CKEDITOR.document.getById(m).setStyle(\"display\",\"none\");this.dontResetSize||x(this);this.firstLoad&&CKEDITOR.tools.setTimeout(function(){l(this,\"check\")},\n0,this);this.dontResetSize=this.firstLoad=!1},h=function(){var a=this.originalElement;a.removeListener(\"load\",q);a.removeListener(\"error\",h);a.removeListener(\"abort\",h);a=CKEDITOR.getUrl(CKEDITOR.plugins.get(\"image\").path+\"images/noimage.png\");this.preview&&this.preview.setAttribute(\"src\",a);CKEDITOR.document.getById(m).setStyle(\"display\",\"none\");l(this,!1)},n=function(a){return CKEDITOR.tools.getNextId()+\"_\"+a},p=n(\"btnLockSizes\"),u=n(\"btnResetSize\"),m=n(\"ImagePreviewLoader\"),A=n(\"previewLink\"),\nz=n(\"previewImage\");return{title:c.lang.image[\"image\"==j?\"title\":\"titleButton\"],minWidth:420,minHeight:360,onShow:function(){this.linkEditMode=this.imageEditMode=this.linkElement=this.imageElement=!1;this.lockRatio=!0;this.userlockRatio=0;this.dontResetSize=!1;this.firstLoad=!0;this.addLink=!1;var a=this.getParentEditor(),b=a.getSelection(),d=(b=b&&b.getSelectedElement())&&a.elementPath(b).contains(\"a\",1);CKEDITOR.document.getById(m).setStyle(\"display\",\"none\");t=new CKEDITOR.dom.element(\"img\",a.document);\nthis.preview=CKEDITOR.document.getById(z);this.originalElement=a.document.createElement(\"img\");this.originalElement.setAttribute(\"alt\",\"\");this.originalElement.setCustomData(\"isReady\",\"false\");if(d){this.linkElement=d;this.linkEditMode=!0;var c=d.getChildren();if(1==c.count()){var g=c.getItem(0).getName();if(\"img\"==g||\"input\"==g)this.imageElement=c.getItem(0),\"img\"==this.imageElement.getName()?this.imageEditMode=\"img\":\"input\"==this.imageElement.getName()&&(this.imageEditMode=\"input\")}\"image\"==j&&\nthis.setupContent(2,d)}if(this.customImageElement)this.imageEditMode=\"img\",this.imageElement=this.customImageElement,delete this.customImageElement;else if(b&&\"img\"==b.getName()&&!b.data(\"cke-realelement\")||b&&\"input\"==b.getName()&&\"image\"==b.getAttribute(\"type\"))this.imageEditMode=b.getName(),this.imageElement=b;this.imageEditMode?(this.cleanImageElement=this.imageElement,this.imageElement=this.cleanImageElement.clone(!0,!0),this.setupContent(f,this.imageElement)):this.imageElement=a.document.createElement(\"img\");\nl(this,!0);CKEDITOR.tools.trim(this.getValueOf(\"info\",\"txtUrl\"))||(this.preview.removeAttribute(\"src\"),this.preview.setStyle(\"display\",\"none\"))},onOk:function(){if(this.imageEditMode){var a=this.imageEditMode;\"image\"==j&&\"input\"==a&&confirm(c.lang.image.button2Img)?(this.imageElement=c.document.createElement(\"img\"),this.imageElement.setAttribute(\"alt\",\"\"),c.insertElement(this.imageElement)):\"image\"!=j&&\"img\"==a&&confirm(c.lang.image.img2Button)?(this.imageElement=c.document.createElement(\"input\"),\nthis.imageElement.setAttributes({type:\"image\",alt:\"\"}),c.insertElement(this.imageElement)):(this.imageElement=this.cleanImageElement,delete this.cleanImageElement)}else\"image\"==j?this.imageElement=c.document.createElement(\"img\"):(this.imageElement=c.document.createElement(\"input\"),this.imageElement.setAttribute(\"type\",\"image\")),this.imageElement.setAttribute(\"alt\",\"\");this.linkEditMode||(this.linkElement=c.document.createElement(\"a\"));this.commitContent(f,this.imageElement);this.commitContent(2,this.linkElement);\nthis.imageElement.getAttribute(\"style\")||this.imageElement.removeAttribute(\"style\");this.imageEditMode?!this.linkEditMode&&this.addLink?(c.insertElement(this.linkElement),this.imageElement.appendTo(this.linkElement)):this.linkEditMode&&!this.addLink&&(c.getSelection().selectElement(this.linkElement),c.insertElement(this.imageElement)):this.addLink?this.linkEditMode?c.insertElement(this.imageElement):(c.insertElement(this.linkElement),this.linkElement.append(this.imageElement,!1)):c.insertElement(this.imageElement)},\nonLoad:function(){\"image\"!=j&&this.hidePage(\"Link\");var a=this._.element.getDocument();this.getContentElement(\"info\",\"ratioLock\")&&(this.addFocusable(a.getById(u),5),this.addFocusable(a.getById(p),5));this.commitContent=r},onHide:function(){this.preview&&this.commitContent(8,this.preview);this.originalElement&&(this.originalElement.removeListener(\"load\",q),this.originalElement.removeListener(\"error\",h),this.originalElement.removeListener(\"abort\",h),this.originalElement.remove(),this.originalElement=\n!1);delete this.imageElement},contents:[{id:\"info\",label:c.lang.image.infoTab,accessKey:\"I\",elements:[{type:\"vbox\",padding:0,children:[{type:\"hbox\",widths:[\"280px\",\"110px\"],align:\"right\",children:[{id:\"txtUrl\",type:\"text\",label:c.lang.common.url,required:!0,onChange:function(){var a=this.getDialog(),b=this.getValue();if(0<b.length){var a=this.getDialog(),d=a.originalElement;a.preview.removeStyle(\"display\");d.setCustomData(\"isReady\",\"false\");var c=CKEDITOR.document.getById(m);c&&c.setStyle(\"display\",\n\"\");d.on(\"load\",q,a);d.on(\"error\",h,a);d.on(\"abort\",h,a);d.setAttribute(\"src\",b);t.setAttribute(\"src\",b);a.preview.setAttribute(\"src\",t.$.src);g(a)}else a.preview&&(a.preview.removeAttribute(\"src\"),a.preview.setStyle(\"display\",\"none\"))},setup:function(a,b){if(a==f){var d=b.data(\"cke-saved-src\")||b.getAttribute(\"src\");this.getDialog().dontResetSize=!0;this.setValue(d);this.setInitValue()}},commit:function(a,b){a==f&&(this.getValue()||this.isChanged())?(b.data(\"cke-saved-src\",this.getValue()),b.setAttribute(\"src\",\nthis.getValue())):8==a&&(b.setAttribute(\"src\",\"\"),b.removeAttribute(\"src\"))},validate:CKEDITOR.dialog.validate.notEmpty(c.lang.image.urlMissing)},{type:\"button\",id:\"browse\",style:\"display:inline-block;margin-top:10px;\",align:\"center\",label:c.lang.common.browseServer,hidden:!0,filebrowser:\"info:txtUrl\"}]}]},{id:\"txtAlt\",type:\"text\",label:c.lang.image.alt,accessKey:\"T\",\"default\":\"\",onChange:function(){g(this.getDialog())},setup:function(a,b){a==f&&this.setValue(b.getAttribute(\"alt\"))},commit:function(a,\nb){a==f?(this.getValue()||this.isChanged())&&b.setAttribute(\"alt\",this.getValue()):4==a?b.setAttribute(\"alt\",this.getValue()):8==a&&b.removeAttribute(\"alt\")}},{type:\"hbox\",children:[{id:\"basic\",type:\"vbox\",children:[{type:\"hbox\",requiredContent:\"img{width,height}\",widths:[\"50%\",\"50%\"],children:[{type:\"vbox\",padding:1,children:[{type:\"text\",width:\"45px\",id:\"txtWidth\",label:c.lang.common.width,onKeyUp:w,onChange:function(){i.call(this,\"advanced:txtdlgGenStyle\")},validate:function(){var a=this.getValue().match(v);\n(a=!!(a&&0!==parseInt(a[1],10)))||alert(c.lang.common.invalidWidth);return a},setup:y,commit:function(a,b,d){var c=this.getValue();a==f?(c?b.setStyle(\"width\",CKEDITOR.tools.cssLength(c)):b.removeStyle(\"width\"),!d&&b.removeAttribute(\"width\")):4==a?c.match(k)?b.setStyle(\"width\",CKEDITOR.tools.cssLength(c)):(a=this.getDialog().originalElement,\"true\"==a.getCustomData(\"isReady\")&&b.setStyle(\"width\",a.$.width+\"px\")):8==a&&(b.removeAttribute(\"width\"),b.removeStyle(\"width\"))}},{type:\"text\",id:\"txtHeight\",\nwidth:\"45px\",label:c.lang.common.height,onKeyUp:w,onChange:function(){i.call(this,\"advanced:txtdlgGenStyle\")},validate:function(){var a=this.getValue().match(v);(a=!!(a&&0!==parseInt(a[1],10)))||alert(c.lang.common.invalidHeight);return a},setup:y,commit:function(a,b,d){var c=this.getValue();a==f?(c?b.setStyle(\"height\",CKEDITOR.tools.cssLength(c)):b.removeStyle(\"height\"),!d&&b.removeAttribute(\"height\")):4==a?c.match(k)?b.setStyle(\"height\",CKEDITOR.tools.cssLength(c)):(a=this.getDialog().originalElement,\n\"true\"==a.getCustomData(\"isReady\")&&b.setStyle(\"height\",a.$.height+\"px\")):8==a&&(b.removeAttribute(\"height\"),b.removeStyle(\"height\"))}}]},{id:\"ratioLock\",type:\"html\",style:\"margin-top:30px;width:40px;height:40px;\",onLoad:function(){var a=CKEDITOR.document.getById(u),b=CKEDITOR.document.getById(p);a&&(a.on(\"click\",function(a){x(this);a.data&&a.data.preventDefault()},this.getDialog()),a.on(\"mouseover\",function(){this.addClass(\"cke_btn_over\")},a),a.on(\"mouseout\",function(){this.removeClass(\"cke_btn_over\")},\na));b&&(b.on(\"click\",function(a){l(this);var b=this.originalElement,c=this.getValueOf(\"info\",\"txtWidth\");if(b.getCustomData(\"isReady\")==\"true\"&&c){b=b.$.height/b.$.width*c;if(!isNaN(b)){this.setValueOf(\"info\",\"txtHeight\",Math.round(b));g(this)}}a.data&&a.data.preventDefault()},this.getDialog()),b.on(\"mouseover\",function(){this.addClass(\"cke_btn_over\")},b),b.on(\"mouseout\",function(){this.removeClass(\"cke_btn_over\")},b))},html:'<div><a href=\"javascript:void(0)\" tabindex=\"-1\" title=\"'+c.lang.image.lockRatio+\n'\" class=\"cke_btn_locked\" id=\"'+p+'\" role=\"checkbox\"><span class=\"cke_icon\"></span><span class=\"cke_label\">'+c.lang.image.lockRatio+'</span></a><a href=\"javascript:void(0)\" tabindex=\"-1\" title=\"'+c.lang.image.resetSize+'\" class=\"cke_btn_reset\" id=\"'+u+'\" role=\"button\"><span class=\"cke_label\">'+c.lang.image.resetSize+\"</span></a></div>\"}]},{type:\"vbox\",padding:1,children:[{type:\"text\",id:\"txtBorder\",requiredContent:\"img{border-width}\",width:\"60px\",label:c.lang.image.border,\"default\":\"\",onKeyUp:function(){g(this.getDialog())},\nonChange:function(){i.call(this,\"advanced:txtdlgGenStyle\")},validate:CKEDITOR.dialog.validate.integer(c.lang.image.validateBorder),setup:function(a,b){if(a==f){var d;d=(d=(d=b.getStyle(\"border-width\"))&&d.match(/^(\\d+px)(?: \\1 \\1 \\1)?$/))&&parseInt(d[1],10);isNaN(parseInt(d,10))&&(d=b.getAttribute(\"border\"));this.setValue(d)}},commit:function(a,b,d){var c=parseInt(this.getValue(),10);a==f||4==a?(isNaN(c)?!c&&this.isChanged()&&b.removeStyle(\"border\"):(b.setStyle(\"border-width\",CKEDITOR.tools.cssLength(c)),\nb.setStyle(\"border-style\",\"solid\")),!d&&a==f&&b.removeAttribute(\"border\")):8==a&&(b.removeAttribute(\"border\"),b.removeStyle(\"border-width\"),b.removeStyle(\"border-style\"),b.removeStyle(\"border-color\"))}},{type:\"text\",id:\"txtHSpace\",requiredContent:\"img{margin-left,margin-right}\",width:\"60px\",label:c.lang.image.hSpace,\"default\":\"\",onKeyUp:function(){g(this.getDialog())},onChange:function(){i.call(this,\"advanced:txtdlgGenStyle\")},validate:CKEDITOR.dialog.validate.integer(c.lang.image.validateHSpace),\nsetup:function(a,b){if(a==f){var d,c;d=b.getStyle(\"margin-left\");c=b.getStyle(\"margin-right\");d=d&&d.match(o);c=c&&c.match(o);d=parseInt(d,10);c=parseInt(c,10);d=d==c&&d;isNaN(parseInt(d,10))&&(d=b.getAttribute(\"hspace\"));this.setValue(d)}},commit:function(a,b,c){var e=parseInt(this.getValue(),10);a==f||4==a?(isNaN(e)?!e&&this.isChanged()&&(b.removeStyle(\"margin-left\"),b.removeStyle(\"margin-right\")):(b.setStyle(\"margin-left\",CKEDITOR.tools.cssLength(e)),b.setStyle(\"margin-right\",CKEDITOR.tools.cssLength(e))),\n!c&&a==f&&b.removeAttribute(\"hspace\")):8==a&&(b.removeAttribute(\"hspace\"),b.removeStyle(\"margin-left\"),b.removeStyle(\"margin-right\"))}},{type:\"text\",id:\"txtVSpace\",requiredContent:\"img{margin-top,margin-bottom}\",width:\"60px\",label:c.lang.image.vSpace,\"default\":\"\",onKeyUp:function(){g(this.getDialog())},onChange:function(){i.call(this,\"advanced:txtdlgGenStyle\")},validate:CKEDITOR.dialog.validate.integer(c.lang.image.validateVSpace),setup:function(a,b){if(a==f){var c,e;c=b.getStyle(\"margin-top\");e=\nb.getStyle(\"margin-bottom\");c=c&&c.match(o);e=e&&e.match(o);c=parseInt(c,10);e=parseInt(e,10);c=c==e&&c;isNaN(parseInt(c,10))&&(c=b.getAttribute(\"vspace\"));this.setValue(c)}},commit:function(a,b,c){var e=parseInt(this.getValue(),10);a==f||4==a?(isNaN(e)?!e&&this.isChanged()&&(b.removeStyle(\"margin-top\"),b.removeStyle(\"margin-bottom\")):(b.setStyle(\"margin-top\",CKEDITOR.tools.cssLength(e)),b.setStyle(\"margin-bottom\",CKEDITOR.tools.cssLength(e))),!c&&a==f&&b.removeAttribute(\"vspace\")):8==a&&(b.removeAttribute(\"vspace\"),\nb.removeStyle(\"margin-top\"),b.removeStyle(\"margin-bottom\"))}},{id:\"cmbAlign\",requiredContent:\"img{float}\",type:\"select\",widths:[\"35%\",\"65%\"],style:\"width:90px\",label:c.lang.common.align,\"default\":\"\",items:[[c.lang.common.notSet,\"\"],[c.lang.common.alignLeft,\"left\"],[c.lang.common.alignRight,\"right\"]],onChange:function(){g(this.getDialog());i.call(this,\"advanced:txtdlgGenStyle\")},setup:function(a,b){if(a==f){var c=b.getStyle(\"float\");switch(c){case \"inherit\":case \"none\":c=\"\"}!c&&(c=(b.getAttribute(\"align\")||\n\"\").toLowerCase());this.setValue(c)}},commit:function(a,b,c){var e=this.getValue();if(a==f||4==a){if(e?b.setStyle(\"float\",e):b.removeStyle(\"float\"),!c&&a==f)switch(e=(b.getAttribute(\"align\")||\"\").toLowerCase(),e){case \"left\":case \"right\":b.removeAttribute(\"align\")}}else 8==a&&b.removeStyle(\"float\")}}]}]},{type:\"vbox\",height:\"250px\",children:[{type:\"html\",id:\"htmlPreview\",style:\"width:95%;\",html:\"<div>\"+CKEDITOR.tools.htmlEncode(c.lang.common.preview)+'<br><div id=\"'+m+'\" class=\"ImagePreviewLoader\" style=\"display:none\"><div class=\"loading\">&nbsp;</div></div><div class=\"ImagePreviewBox\"><table><tr><td><a href=\"javascript:void(0)\" target=\"_blank\" onclick=\"return false;\" id=\"'+\nA+'\"><img id=\"'+z+'\" alt=\"\" /></a>'+(c.config.image_previewText||\"Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas feugiat consequat diam. Maecenas metus. Vivamus diam purus, cursus a, commodo non, facilisis vitae, nulla. Aenean dictum lacinia tortor. Nunc iaculis, nibh non iaculis aliquam, orci felis euismod neque, sed ornare massa mauris sed velit. Nulla pretium mi et risus. Fusce mi pede, tempor id, cursus ac, ullamcorper nec, enim. Sed tortor. Curabitur molestie. Duis velit augue, condimentum at, ultrices a, luctus ut, orci. Donec pellentesque egestas eros. Integer cursus, augue in cursus faucibus, eros pede bibendum sem, in tempus tellus justo quis ligula. Etiam eget tortor. Vestibulum rutrum, est ut placerat elementum, lectus nisl aliquam velit, tempor aliquam eros nunc nonummy metus. In eros metus, gravida a, gravida sed, lobortis id, turpis. Ut ultrices, ipsum at venenatis fringilla, sem nulla lacinia tellus, eget aliquet turpis mauris non enim. Nam turpis. Suspendisse lacinia. Curabitur ac tortor ut ipsum egestas elementum. Nunc imperdiet gravida mauris.\")+\n\"</td></tr></table></div></div>\"}]}]}]},{id:\"Link\",requiredContent:\"a[href]\",label:c.lang.image.linkTab,padding:0,elements:[{id:\"txtUrl\",type:\"text\",label:c.lang.common.url,style:\"width: 100%\",\"default\":\"\",setup:function(a,b){if(2==a){var c=b.data(\"cke-saved-href\");c||(c=b.getAttribute(\"href\"));this.setValue(c)}},commit:function(a,b){if(2==a&&(this.getValue()||this.isChanged())){var d=decodeURI(this.getValue());b.data(\"cke-saved-href\",d);b.setAttribute(\"href\",d);if(this.getValue()||!c.config.image_removeLinkByEmptyURL)this.getDialog().addLink=\n!0}}},{type:\"button\",id:\"browse\",filebrowser:{action:\"Browse\",target:\"Link:txtUrl\",url:c.config.filebrowserImageBrowseLinkUrl},style:\"float:right\",hidden:!0,label:c.lang.common.browseServer},{id:\"cmbTarget\",type:\"select\",requiredContent:\"a[target]\",label:c.lang.common.target,\"default\":\"\",items:[[c.lang.common.notSet,\"\"],[c.lang.common.targetNew,\"_blank\"],[c.lang.common.targetTop,\"_top\"],[c.lang.common.targetSelf,\"_self\"],[c.lang.common.targetParent,\"_parent\"]],setup:function(a,b){2==a&&this.setValue(b.getAttribute(\"target\")||\n\"\")},commit:function(a,b){2==a&&(this.getValue()||this.isChanged())&&b.setAttribute(\"target\",this.getValue())}}]},{id:\"Upload\",hidden:!0,filebrowser:\"uploadButton\",label:c.lang.image.upload,elements:[{type:\"file\",id:\"upload\",label:c.lang.image.btnUpload,style:\"height:40px\",size:38},{type:\"fileButton\",id:\"uploadButton\",filebrowser:\"info:txtUrl\",label:c.lang.image.btnUpload,\"for\":[\"Upload\",\"upload\"]}]},{id:\"advanced\",label:c.lang.common.advancedTab,elements:[{type:\"hbox\",widths:[\"50%\",\"25%\",\"25%\"],\nchildren:[{type:\"text\",id:\"linkId\",requiredContent:\"img[id]\",label:c.lang.common.id,setup:function(a,b){a==f&&this.setValue(b.getAttribute(\"id\"))},commit:function(a,b){a==f&&(this.getValue()||this.isChanged())&&b.setAttribute(\"id\",this.getValue())}},{id:\"cmbLangDir\",type:\"select\",requiredContent:\"img[dir]\",style:\"width : 100px;\",label:c.lang.common.langDir,\"default\":\"\",items:[[c.lang.common.notSet,\"\"],[c.lang.common.langDirLtr,\"ltr\"],[c.lang.common.langDirRtl,\"rtl\"]],setup:function(a,b){a==f&&this.setValue(b.getAttribute(\"dir\"))},\ncommit:function(a,b){a==f&&(this.getValue()||this.isChanged())&&b.setAttribute(\"dir\",this.getValue())}},{type:\"text\",id:\"txtLangCode\",requiredContent:\"img[lang]\",label:c.lang.common.langCode,\"default\":\"\",setup:function(a,b){a==f&&this.setValue(b.getAttribute(\"lang\"))},commit:function(a,b){a==f&&(this.getValue()||this.isChanged())&&b.setAttribute(\"lang\",this.getValue())}}]},{type:\"text\",id:\"txtGenLongDescr\",requiredContent:\"img[longdesc]\",label:c.lang.common.longDescr,setup:function(a,b){a==f&&this.setValue(b.getAttribute(\"longDesc\"))},\ncommit:function(a,b){a==f&&(this.getValue()||this.isChanged())&&b.setAttribute(\"longDesc\",this.getValue())}},{type:\"hbox\",widths:[\"50%\",\"50%\"],children:[{type:\"text\",id:\"txtGenClass\",requiredContent:\"img(cke-xyz)\",label:c.lang.common.cssClass,\"default\":\"\",setup:function(a,b){a==f&&this.setValue(b.getAttribute(\"class\"))},commit:function(a,b){a==f&&(this.getValue()||this.isChanged())&&b.setAttribute(\"class\",this.getValue())}},{type:\"text\",id:\"txtGenTitle\",requiredContent:\"img[title]\",label:c.lang.common.advisoryTitle,\n\"default\":\"\",onChange:function(){g(this.getDialog())},setup:function(a,b){a==f&&this.setValue(b.getAttribute(\"title\"))},commit:function(a,b){a==f?(this.getValue()||this.isChanged())&&b.setAttribute(\"title\",this.getValue()):4==a?b.setAttribute(\"title\",this.getValue()):8==a&&b.removeAttribute(\"title\")}}]},{type:\"text\",id:\"txtdlgGenStyle\",requiredContent:\"img{cke-xyz}\",label:c.lang.common.cssStyle,validate:CKEDITOR.dialog.validate.inlineStyle(c.lang.common.invalidInlineStyle),\"default\":\"\",setup:function(a,\nb){if(a==f){var c=b.getAttribute(\"style\");!c&&b.$.style.cssText&&(c=b.$.style.cssText);this.setValue(c);var e=b.$.style.height,c=b.$.style.width,e=(e?e:\"\").match(k),c=(c?c:\"\").match(k);this.attributesInStyle={height:!!e,width:!!c}}},onChange:function(){i.call(this,\"info:cmbFloat info:cmbAlign info:txtVSpace info:txtHSpace info:txtBorder info:txtWidth info:txtHeight\".split(\" \"));g(this)},commit:function(a,b){a==f&&(this.getValue()||this.isChanged())&&b.setAttribute(\"style\",this.getValue())}}]}]}};\nCKEDITOR.dialog.add(\"image\",function(c){return r(c,\"image\")});CKEDITOR.dialog.add(\"imagebutton\",function(c){return r(c,\"imagebutton\")})})();"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/image/images/noimage.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/image/images/noimage.png",
            "module-type": "library",
            "text": "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"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/tabletools/dialogs/tableCell.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/tabletools/dialogs/tableCell.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.dialog.add(\"cellProperties\",function(f){var g=f.lang.table,c=g.cell,d=f.lang.common,h=CKEDITOR.dialog.validate,j=/^(\\d+(?:\\.\\d+)?)(px|%)$/,e={type:\"html\",html:\"&nbsp;\"},k=\"rtl\"==f.lang.dir,i=f.plugins.colordialog;return{title:c.title,minWidth:CKEDITOR.env.ie&&CKEDITOR.env.quirks?450:410,minHeight:CKEDITOR.env.ie&&(CKEDITOR.env.ie7Compat||CKEDITOR.env.quirks)?230:220,contents:[{id:\"info\",label:c.title,accessKey:\"I\",elements:[{type:\"hbox\",widths:[\"40%\",\"5%\",\"40%\"],children:[{type:\"vbox\",padding:0,\nchildren:[{type:\"hbox\",widths:[\"70%\",\"30%\"],children:[{type:\"text\",id:\"width\",width:\"100px\",label:d.width,validate:h.number(c.invalidWidth),onLoad:function(){var a=this.getDialog().getContentElement(\"info\",\"widthType\").getElement(),b=this.getInputElement(),c=b.getAttribute(\"aria-labelledby\");b.setAttribute(\"aria-labelledby\",[c,a.$.id].join(\" \"))},setup:function(a){var b=parseInt(a.getAttribute(\"width\"),10),a=parseInt(a.getStyle(\"width\"),10);!isNaN(b)&&this.setValue(b);!isNaN(a)&&this.setValue(a)},\ncommit:function(a){var b=parseInt(this.getValue(),10),c=this.getDialog().getValueOf(\"info\",\"widthType\");isNaN(b)?a.removeStyle(\"width\"):a.setStyle(\"width\",b+c);a.removeAttribute(\"width\")},\"default\":\"\"},{type:\"select\",id:\"widthType\",label:f.lang.table.widthUnit,labelStyle:\"visibility:hidden\",\"default\":\"px\",items:[[g.widthPx,\"px\"],[g.widthPc,\"%\"]],setup:function(a){(a=j.exec(a.getStyle(\"width\")||a.getAttribute(\"width\")))&&this.setValue(a[2])}}]},{type:\"hbox\",widths:[\"70%\",\"30%\"],children:[{type:\"text\",\nid:\"height\",label:d.height,width:\"100px\",\"default\":\"\",validate:h.number(c.invalidHeight),onLoad:function(){var a=this.getDialog().getContentElement(\"info\",\"htmlHeightType\").getElement(),b=this.getInputElement(),c=b.getAttribute(\"aria-labelledby\");b.setAttribute(\"aria-labelledby\",[c,a.$.id].join(\" \"))},setup:function(a){var b=parseInt(a.getAttribute(\"height\"),10),a=parseInt(a.getStyle(\"height\"),10);!isNaN(b)&&this.setValue(b);!isNaN(a)&&this.setValue(a)},commit:function(a){var b=parseInt(this.getValue(),\n10);isNaN(b)?a.removeStyle(\"height\"):a.setStyle(\"height\",CKEDITOR.tools.cssLength(b));a.removeAttribute(\"height\")}},{id:\"htmlHeightType\",type:\"html\",html:\"<br />\"+g.widthPx}]},e,{type:\"select\",id:\"wordWrap\",label:c.wordWrap,\"default\":\"yes\",items:[[c.yes,\"yes\"],[c.no,\"no\"]],setup:function(a){var b=a.getAttribute(\"noWrap\");(\"nowrap\"==a.getStyle(\"white-space\")||b)&&this.setValue(\"no\")},commit:function(a){\"no\"==this.getValue()?a.setStyle(\"white-space\",\"nowrap\"):a.removeStyle(\"white-space\");a.removeAttribute(\"noWrap\")}},\ne,{type:\"select\",id:\"hAlign\",label:c.hAlign,\"default\":\"\",items:[[d.notSet,\"\"],[d.alignLeft,\"left\"],[d.alignCenter,\"center\"],[d.alignRight,\"right\"]],setup:function(a){var b=a.getAttribute(\"align\");this.setValue(a.getStyle(\"text-align\")||b||\"\")},commit:function(a){var b=this.getValue();b?a.setStyle(\"text-align\",b):a.removeStyle(\"text-align\");a.removeAttribute(\"align\")}},{type:\"select\",id:\"vAlign\",label:c.vAlign,\"default\":\"\",items:[[d.notSet,\"\"],[d.alignTop,\"top\"],[d.alignMiddle,\"middle\"],[d.alignBottom,\n\"bottom\"],[c.alignBaseline,\"baseline\"]],setup:function(a){var b=a.getAttribute(\"vAlign\"),a=a.getStyle(\"vertical-align\");switch(a){case \"top\":case \"middle\":case \"bottom\":case \"baseline\":break;default:a=\"\"}this.setValue(a||b||\"\")},commit:function(a){var b=this.getValue();b?a.setStyle(\"vertical-align\",b):a.removeStyle(\"vertical-align\");a.removeAttribute(\"vAlign\")}}]},e,{type:\"vbox\",padding:0,children:[{type:\"select\",id:\"cellType\",label:c.cellType,\"default\":\"td\",items:[[c.data,\"td\"],[c.header,\"th\"]],\nsetup:function(a){this.setValue(a.getName())},commit:function(a){a.renameNode(this.getValue())}},e,{type:\"text\",id:\"rowSpan\",label:c.rowSpan,\"default\":\"\",validate:h.integer(c.invalidRowSpan),setup:function(a){(a=parseInt(a.getAttribute(\"rowSpan\"),10))&&1!=a&&this.setValue(a)},commit:function(a){var b=parseInt(this.getValue(),10);b&&1!=b?a.setAttribute(\"rowSpan\",this.getValue()):a.removeAttribute(\"rowSpan\")}},{type:\"text\",id:\"colSpan\",label:c.colSpan,\"default\":\"\",validate:h.integer(c.invalidColSpan),\nsetup:function(a){(a=parseInt(a.getAttribute(\"colSpan\"),10))&&1!=a&&this.setValue(a)},commit:function(a){var b=parseInt(this.getValue(),10);b&&1!=b?a.setAttribute(\"colSpan\",this.getValue()):a.removeAttribute(\"colSpan\")}},e,{type:\"hbox\",padding:0,widths:[\"60%\",\"40%\"],children:[{type:\"text\",id:\"bgColor\",label:c.bgColor,\"default\":\"\",setup:function(a){var b=a.getAttribute(\"bgColor\");this.setValue(a.getStyle(\"background-color\")||b)},commit:function(a){this.getValue()?a.setStyle(\"background-color\",this.getValue()):\na.removeStyle(\"background-color\");a.removeAttribute(\"bgColor\")}},i?{type:\"button\",id:\"bgColorChoose\",\"class\":\"colorChooser\",label:c.chooseColor,onLoad:function(){this.getElement().getParent().setStyle(\"vertical-align\",\"bottom\")},onClick:function(){f.getColorFromDialog(function(a){a&&this.getDialog().getContentElement(\"info\",\"bgColor\").setValue(a);this.focus()},this)}}:e]},e,{type:\"hbox\",padding:0,widths:[\"60%\",\"40%\"],children:[{type:\"text\",id:\"borderColor\",label:c.borderColor,\"default\":\"\",setup:function(a){var b=\na.getAttribute(\"borderColor\");this.setValue(a.getStyle(\"border-color\")||b)},commit:function(a){this.getValue()?a.setStyle(\"border-color\",this.getValue()):a.removeStyle(\"border-color\");a.removeAttribute(\"borderColor\")}},i?{type:\"button\",id:\"borderColorChoose\",\"class\":\"colorChooser\",label:c.chooseColor,style:(k?\"margin-right\":\"margin-left\")+\": 10px\",onLoad:function(){this.getElement().getParent().setStyle(\"vertical-align\",\"bottom\")},onClick:function(){f.getColorFromDialog(function(a){a&&this.getDialog().getContentElement(\"info\",\n\"borderColor\").setValue(a);this.focus()},this)}}:e]}]}]}]}],onShow:function(){this.cells=CKEDITOR.plugins.tabletools.getSelectedCells(this._.editor.getSelection());this.setupContent(this.cells[0])},onOk:function(){for(var a=this._.editor.getSelection(),b=a.createBookmarks(),c=this.cells,d=0;d<c.length;d++)this.commitContent(c[d]);this._.editor.forceNextSelectionCheck();a.selectBookmarks(b);this._.editor.selectionChange()}}});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/dialog/dialogDefinition.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/dialog/dialogDefinition.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\n"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/scayt/dialogs/toolbar.css": {
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/scayt/dialogs/toolbar.css",
            "text": "a\r\n{\r\n\ttext-decoration:none;\r\n\tpadding: 2px 4px 4px 6px;\r\n\tdisplay : block;\r\n\tborder-width: 1px;\r\n\tborder-style: solid;\r\n\tmargin : 0px;\r\n}\r\n\r\na.cke_scayt_toogle:hover,\r\na.cke_scayt_toogle:focus,\r\na.cke_scayt_toogle:active\r\n{\r\n\tborder-color: #316ac5;\r\n\tbackground-color: #dff1ff;\r\n\tcolor : #000;\r\n\tcursor: pointer;\r\n\tmargin : 0px;\r\n}\r\na.cke_scayt_toogle {\r\n\tcolor : #316ac5;\r\n\tborder-color: #fff;\r\n}\r\n.scayt_enabled a.cke_scayt_item {\r\n\tcolor : #316ac5;\r\n\tborder-color: #fff;\r\n\tmargin : 0px;\r\n}\r\n.scayt_disabled a.cke_scayt_item {\r\n\tcolor : gray;\r\n\tborder-color : #fff;\r\n}\r\n.scayt_enabled a.cke_scayt_item:hover,\r\n.scayt_enabled a.cke_scayt_item:focus,\r\n.scayt_enabled a.cke_scayt_item:active\r\n{\r\n\tborder-color: #316ac5;\r\n\tbackground-color: #dff1ff;\r\n\tcolor : #000;\r\n\tcursor: pointer;\r\n}\r\n.scayt_disabled a.cke_scayt_item:hover,\r\n.scayt_disabled a.cke_scayt_item:focus,\r\n.scayt_disabled a.cke_scayt_item:active\r\n{\r\n\tborder-color: gray;\r\n\tbackground-color: #dff1ff;\r\n\tcolor : gray;\r\n\tcursor: no-drop;\r\n}\r\n.cke_scayt_set_on, .cke_scayt_set_off\r\n{\r\n\tdisplay: none;\r\n}\r\n.scayt_enabled .cke_scayt_set_on\r\n{\r\n\tdisplay: none;\r\n}\r\n.scayt_disabled .cke_scayt_set_on\r\n{\r\n\tdisplay: inline;\r\n}\r\n.scayt_disabled .cke_scayt_set_off\r\n{\r\n\tdisplay: none;\r\n}\r\n.scayt_enabled  .cke_scayt_set_off\r\n{\r\n\tdisplay: inline;\r\n}\r\n"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/scayt/dialogs/options.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/scayt/dialogs/options.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.html or http://ckeditor.com/license\n*/\nCKEDITOR.dialog.add(\"scaytcheck\",function(j){function w(){return\"undefined\"!=typeof document.forms[\"optionsbar_\"+b]?document.forms[\"optionsbar_\"+b].options:[]}function x(a,b){if(a){var e=a.length;if(void 0==e)a.checked=a.value==b.toString();else for(var d=0;d<e;d++)a[d].checked=!1,a[d].value==b.toString()&&(a[d].checked=!0)}}function n(a){f.getById(\"dic_message_\"+b).setHtml('<span style=\"color:red;\">'+a+\"</span>\")}function o(a){f.getById(\"dic_message_\"+b).setHtml('<span style=\"color:blue;\">'+a+\"</span>\")}\nfunction p(a){for(var a=(\"\"+a).split(\",\"),b=0,e=a.length;b<e;b+=1)f.getById(a[b]).$.style.display=\"inline\"}function q(a){for(var a=(\"\"+a).split(\",\"),b=0,e=a.length;b<e;b+=1)f.getById(a[b]).$.style.display=\"none\"}function r(a){f.getById(\"dic_name_\"+b).$.value=a}var s=!0,h,f=CKEDITOR.document,b=j.name,l=CKEDITOR.plugins.scayt.getUiTabs(j),g,t=[],u=0,m=[\"dic_create_\"+b+\",dic_restore_\"+b,\"dic_rename_\"+b+\",dic_delete_\"+b],v=[\"mixedCase\",\"mixedWithDigits\",\"allCaps\",\"ignoreDomainNames\"];g=j.lang.scayt;var z=\n[{id:\"options\",label:g.optionsTab,elements:[{type:\"html\",id:\"options\",html:'<form name=\"optionsbar_'+b+'\"><div class=\"inner_options\">\\t<div class=\"messagebox\"></div>\\t<div style=\"display:none;\">\\t\\t<input type=\"checkbox\" name=\"options\"  id=\"allCaps_'+b+'\" />\\t\\t<label style = \"display: inline\" for=\"allCaps\" id=\"label_allCaps_'+b+'\"></label>\\t</div>\\t<div style=\"display:none;\">\\t\\t<input name=\"options\" type=\"checkbox\"  id=\"ignoreDomainNames_'+b+'\" />\\t\\t<label style = \"display: inline\" for=\"ignoreDomainNames\" id=\"label_ignoreDomainNames_'+\nb+'\"></label>\\t</div>\\t<div style=\"display:none;\">\\t<input name=\"options\" type=\"checkbox\"  id=\"mixedCase_'+b+'\" />\\t\\t<label style = \"display: inline\" for=\"mixedCase\" id=\"label_mixedCase_'+b+'\"></label>\\t</div>\\t<div style=\"display:none;\">\\t\\t<input name=\"options\" type=\"checkbox\"  id=\"mixedWithDigits_'+b+'\" />\\t\\t<label style = \"display: inline\" for=\"mixedWithDigits\" id=\"label_mixedWithDigits_'+b+'\"></label>\\t</div></div></form>'}]},{id:\"langs\",label:g.languagesTab,elements:[{type:\"html\",id:\"langs\",\nhtml:'<div class=\"inner_langs\">\\t<div class=\"messagebox\"></div>\\t   <div style=\"float:left;width:45%;margin-left:5px;\" id=\"scayt_lcol_'+b+'\" ></div>   <div style=\"float:left;width:45%;margin-left:15px;\" id=\"scayt_rcol_'+b+'\"></div></div>'}]},{id:\"dictionaries\",label:g.dictionariesTab,elements:[{type:\"html\",style:\"\",id:\"dictionaries\",html:'<form name=\"dictionarybar_'+b+'\"><div class=\"inner_dictionary\" style=\"text-align:left; white-space:normal; width:320px; overflow: hidden;\">\\t<div style=\"margin:5px auto; width:95%;white-space:normal; overflow:hidden;\" id=\"dic_message_'+\nb+'\"> </div>\\t<div style=\"margin:5px auto; width:95%;white-space:normal;\">        <span class=\"cke_dialog_ui_labeled_label\" >Dictionary name</span><br>\\t\\t<span class=\"cke_dialog_ui_labeled_content\" >\\t\\t\\t<div class=\"cke_dialog_ui_input_text\">\\t\\t\\t\\t<input id=\"dic_name_'+b+'\" type=\"text\" class=\"cke_dialog_ui_input_text\" style = \"height: 25px; background: none; padding: 0;\"/>\\t\\t</div></span></div>\\t\\t<div style=\"margin:5px auto; width:95%;white-space:normal;\">\\t\\t\\t<a style=\"display:none;\" class=\"cke_dialog_ui_button\" href=\"javascript:void(0)\" id=\"dic_create_'+\nb+'\">\\t\\t\\t\\t</a>\\t\\t\\t<a  style=\"display:none;\" class=\"cke_dialog_ui_button\" href=\"javascript:void(0)\" id=\"dic_delete_'+b+'\">\\t\\t\\t\\t</a>\\t\\t\\t<a  style=\"display:none;\" class=\"cke_dialog_ui_button\" href=\"javascript:void(0)\" id=\"dic_rename_'+b+'\">\\t\\t\\t\\t</a>\\t\\t\\t<a  style=\"display:none;\" class=\"cke_dialog_ui_button\" href=\"javascript:void(0)\" id=\"dic_restore_'+b+'\">\\t\\t\\t\\t</a>\\t\\t</div>\\t<div style=\"margin:5px auto; width:95%;white-space:normal;\" id=\"dic_info_'+b+'\"></div></div></form>'}]},{id:\"about\",\nlabel:g.aboutTab,elements:[{type:\"html\",id:\"about\",style:\"margin: 5px 5px;\",html:'<div><div id=\"scayt_about_'+b+'\"></div></div>'}]}],B={title:g.title,minWidth:360,minHeight:220,onShow:function(){var a=this;a.data=j.fire(\"scaytDialog\",{});a.options=a.data.scayt_control.option();a.chosed_lang=a.sLang=a.data.scayt_control.sLang;if(!a.data||!a.data.scayt||!a.data.scayt_control)alert(\"Error loading application service\"),a.hide();else{var b=0;s?a.data.scayt.getCaption(j.langCode||\"en\",function(e){0<b++||\n(h=e,A.apply(a),y.apply(a),s=!1)}):y.apply(a);a.selectPage(a.data.tab)}},onOk:function(){var a=this.data.scayt_control;a.option(this.options);a.setLang(this.chosed_lang);a.refresh()},onCancel:function(){var a=w(),f;for(f in a)a[f].checked=!1;a=\"undefined\"!=typeof document.forms[\"languagesbar_\"+b]?document.forms[\"languagesbar_\"+b].scayt_lang:[];x(a,\"\")},contents:t};CKEDITOR.plugins.scayt.getScayt(j);for(g=0;g<l.length;g++)1==l[g]&&(t[t.length]=z[g]);1==l[2]&&(u=1);var A=function(){function a(a){var c=\nf.getById(\"dic_name_\"+b).getValue();if(!c)return n(\" Dictionary name should not be empty. \"),!1;try{var d=a.data.getTarget().getParent(),e=/(dic_\\w+)_[\\w\\d]+/.exec(d.getId())[1];j[e].apply(null,[d,c,m])}catch(C){n(\" Dictionary error. \")}return!0}var k=this,e=k.data.scayt.getLangList(),d=[\"dic_create\",\"dic_delete\",\"dic_rename\",\"dic_restore\"],g=[],i=[],c;if(u){for(c=0;c<d.length;c++)g[c]=d[c]+\"_\"+b,f.getById(g[c]).setHtml('<span class=\"cke_dialog_ui_button\">'+h[\"button_\"+d[c]]+\"</span>\");f.getById(\"dic_info_\"+\nb).setHtml(h.dic_info)}if(1==l[0])for(c in v)d=\"label_\"+v[c],g=f.getById(d+\"_\"+b),\"undefined\"!=typeof g&&(\"undefined\"!=typeof h[d]&&\"undefined\"!=typeof k.options[v[c]])&&(g.setHtml(h[d]),g.getParent().$.style.display=\"block\");d='<p><img src=\"'+window.scayt.getAboutInfo().logoURL+'\" /></p><p>'+h.version+window.scayt.getAboutInfo().version.toString()+\"</p><p>\"+h.about_throwt_copy+\"</p>\";f.getById(\"scayt_about_\"+b).setHtml(d);d=function(a,b){var c=f.createElement(\"label\");c.setAttribute(\"for\",\"cke_option\"+\na);c.setStyle(\"display\",\"inline\");c.setHtml(b[a]);k.sLang==a&&(k.chosed_lang=a);var d=f.createElement(\"div\"),e=CKEDITOR.dom.element.createFromHtml('<input class = \"cke_dialog_ui_radio_input\" id=\"cke_option'+a+'\" type=\"radio\" '+(k.sLang==a?'checked=\"checked\"':\"\")+' value=\"'+a+'\" name=\"scayt_lang\" />');e.on(\"click\",function(){this.$.checked=true;k.chosed_lang=a});d.append(e);d.append(c);return{lang:b[a],code:a,radio:d}};if(1==l[1]){for(c in e.rtl)i[i.length]=d(c,e.ltr);for(c in e.ltr)i[i.length]=d(c,\ne.ltr);i.sort(function(a,b){return b.lang>a.lang?-1:1});e=f.getById(\"scayt_lcol_\"+b);d=f.getById(\"scayt_rcol_\"+b);for(c=0;c<i.length;c++)(c<i.length/2?e:d).append(i[c].radio)}var j={dic_create:function(a,b,c){var d=c[0]+\",\"+c[1],e=h.err_dic_create,f=h.succ_dic_create;window.scayt.createUserDictionary(b,function(a){q(d);p(c[1]);f=f.replace(\"%s\",a.dname);o(f)},function(a){e=e.replace(\"%s\",a.dname);n(e+\"( \"+(a.message||\"\")+\")\")})},dic_rename:function(a,b){var c=h.err_dic_rename||\"\",d=h.succ_dic_rename||\n\"\";window.scayt.renameUserDictionary(b,function(a){d=d.replace(\"%s\",a.dname);r(b);o(d)},function(a){c=c.replace(\"%s\",a.dname);r(b);n(c+\"( \"+(a.message||\"\")+\" )\")})},dic_delete:function(a,b,c){var d=c[0]+\",\"+c[1],e=h.err_dic_delete,f=h.succ_dic_delete;window.scayt.deleteUserDictionary(function(a){f=f.replace(\"%s\",a.dname);q(d);p(c[0]);r(\"\");o(f)},function(a){e=e.replace(\"%s\",a.dname);n(e)})}};j.dic_restore=k.dic_restore||function(a,b,c){var d=c[0]+\",\"+c[1],e=h.err_dic_restore,f=h.succ_dic_restore;\nwindow.scayt.restoreUserDictionary(b,function(a){f=f.replace(\"%s\",a.dname);q(d);p(c[1]);o(f)},function(a){e=e.replace(\"%s\",a.dname);n(e)})};i=(m[0]+\",\"+m[1]).split(\",\");c=0;for(e=i.length;c<e;c+=1)if(d=f.getById(i[c]))d.on(\"click\",a,this)},y=function(){var a=this;if(1==l[0])for(var g=w(),e=0,d=g.length;e<d;e++){var h=g[e].id,i=f.getById(h);if(i&&(g[e].checked=!1,1==a.options[h.split(\"_\")[0]]&&(g[e].checked=!0),s))i.on(\"click\",function(){a.options[this.getId().split(\"_\")[0]]=this.$.checked?1:0})}1==\nl[1]&&(g=f.getById(\"cke_option\"+a.sLang),x(g.$,a.sLang));u&&(window.scayt.getNameUserDictionary(function(a){a=a.dname;q(m[0]+\",\"+m[1]);if(a){f.getById(\"dic_name_\"+b).setValue(a);p(m[1])}else p(m[0])},function(){f.getById(\"dic_name_\"+b).setValue(\"\")}),o(\"\"))};return B});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/specialchar.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/specialchar.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.dialog.add(\"specialchar\",function(i){var e,l=i.lang.specialchar,k=function(c){var b,c=c.data?c.data.getTarget():new CKEDITOR.dom.element(c);if(\"a\"==c.getName()&&(b=c.getChild(0).getHtml()))c.removeClass(\"cke_light_background\"),e.hide(),c=i.document.createElement(\"span\"),c.setHtml(b),i.insertText(c.getText())},m=CKEDITOR.tools.addFunction(k),j,g=function(c,b){var a,b=b||c.data.getTarget();\"span\"==b.getName()&&(b=b.getParent());if(\"a\"==b.getName()&&(a=b.getChild(0).getHtml())){j&&d(null,j);\nvar f=e.getContentElement(\"info\",\"htmlPreview\").getElement();e.getContentElement(\"info\",\"charPreview\").getElement().setHtml(a);f.setHtml(CKEDITOR.tools.htmlEncode(a));b.getParent().addClass(\"cke_light_background\");j=b}},d=function(c,b){b=b||c.data.getTarget();\"span\"==b.getName()&&(b=b.getParent());\"a\"==b.getName()&&(e.getContentElement(\"info\",\"charPreview\").getElement().setHtml(\"&nbsp;\"),e.getContentElement(\"info\",\"htmlPreview\").getElement().setHtml(\"&nbsp;\"),b.getParent().removeClass(\"cke_light_background\"),\nj=void 0)},n=CKEDITOR.tools.addFunction(function(c){var c=new CKEDITOR.dom.event(c),b=c.getTarget(),a;a=c.getKeystroke();var f=\"rtl\"==i.lang.dir;switch(a){case 38:if(a=b.getParent().getParent().getPrevious())a=a.getChild([b.getParent().getIndex(),0]),a.focus(),d(null,b),g(null,a);c.preventDefault();break;case 40:if(a=b.getParent().getParent().getNext())if((a=a.getChild([b.getParent().getIndex(),0]))&&1==a.type)a.focus(),d(null,b),g(null,a);c.preventDefault();break;case 32:k({data:c});c.preventDefault();\nbreak;case f?37:39:if(a=b.getParent().getNext())a=a.getChild(0),1==a.type?(a.focus(),d(null,b),g(null,a),c.preventDefault(!0)):d(null,b);else if(a=b.getParent().getParent().getNext())(a=a.getChild([0,0]))&&1==a.type?(a.focus(),d(null,b),g(null,a),c.preventDefault(!0)):d(null,b);break;case f?39:37:(a=b.getParent().getPrevious())?(a=a.getChild(0),a.focus(),d(null,b),g(null,a),c.preventDefault(!0)):(a=b.getParent().getParent().getPrevious())?(a=a.getLast().getChild(0),a.focus(),d(null,b),g(null,a),c.preventDefault(!0)):\nd(null,b)}});return{title:l.title,minWidth:430,minHeight:280,buttons:[CKEDITOR.dialog.cancelButton],charColumns:17,onLoad:function(){for(var c=this.definition.charColumns,b=i.config.specialChars,a=CKEDITOR.tools.getNextId()+\"_specialchar_table_label\",f=['<table role=\"listbox\" aria-labelledby=\"'+a+'\" style=\"width: 320px; height: 100%; border-collapse: separate;\" align=\"center\" cellspacing=\"2\" cellpadding=\"2\" border=\"0\">'],d=0,g=b.length,h,e;d<g;){f.push('<tr role=\"presentation\">');for(var j=0;j<c;j++,\nd++){if(h=b[d]){h instanceof Array?(e=h[1],h=h[0]):(e=h.replace(\"&\",\"\").replace(\";\",\"\").replace(\"#\",\"\"),e=l[e]||h);var k=\"cke_specialchar_label_\"+d+\"_\"+CKEDITOR.tools.getNextNumber();f.push('<td class=\"cke_dark_background\" style=\"cursor: default\" role=\"presentation\"><a href=\"javascript: void(0);\" role=\"option\" aria-posinset=\"'+(d+1)+'\"',' aria-setsize=\"'+g+'\"',' aria-labelledby=\"'+k+'\"',' class=\"cke_specialchar\" title=\"',CKEDITOR.tools.htmlEncode(e),'\" onkeydown=\"CKEDITOR.tools.callFunction( '+n+\n', event, this )\" onclick=\"CKEDITOR.tools.callFunction('+m+', this); return false;\" tabindex=\"-1\"><span style=\"margin: 0 auto;cursor: inherit\">'+h+'</span><span class=\"cke_voice_label\" id=\"'+k+'\">'+e+\"</span></a>\")}else f.push('<td class=\"cke_dark_background\">&nbsp;');f.push(\"</td>\")}f.push(\"</tr>\")}f.push(\"</tbody></table>\",'<span id=\"'+a+'\" class=\"cke_voice_label\">'+l.options+\"</span>\");this.getContentElement(\"info\",\"charContainer\").getElement().setHtml(f.join(\"\"))},contents:[{id:\"info\",label:i.lang.common.generalTab,\ntitle:i.lang.common.generalTab,padding:0,align:\"top\",elements:[{type:\"hbox\",align:\"top\",widths:[\"320px\",\"90px\"],children:[{type:\"html\",id:\"charContainer\",html:\"\",onMouseover:g,onMouseout:d,focus:function(){var c=this.getElement().getElementsByTag(\"a\").getItem(0);setTimeout(function(){c.focus();g(null,c)},0)},onShow:function(){var c=this.getElement().getChild([0,0,0,0,0]);setTimeout(function(){c.focus();g(null,c)},0)},onLoad:function(c){e=c.sender}},{type:\"hbox\",align:\"top\",widths:[\"100%\"],children:[{type:\"vbox\",\nalign:\"top\",children:[{type:\"html\",html:\"<div></div>\"},{type:\"html\",id:\"charPreview\",className:\"cke_dark_background\",style:\"border:1px solid #eeeeee;font-size:28px;height:40px;width:70px;padding-top:9px;font-family:'Microsoft Sans Serif',Arial,Helvetica,Verdana;text-align:center;\",html:\"<div>&nbsp;</div>\"},{type:\"html\",id:\"htmlPreview\",className:\"cke_dark_background\",style:\"border:1px solid #eeeeee;font-size:14px;height:20px;width:70px;padding-top:2px;font-family:'Microsoft Sans Serif',Arial,Helvetica,Verdana;text-align:center;\",\nhtml:\"<div>&nbsp;</div>\"}]}]}]}]}]}});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/si.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/si.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"specialchar\",\"si\",{euro:\"යුරෝ සලකුණ\",lsquo:\"වමේ තනි උපුටා දක්වීම \",rsquo:\"දකුණේ තනි උපුටා දක්වීම \",ldquo:\"වමේ දිත්ව  උපුටා දක්වීම \",rdquo:\"දකුණේ දිත්ව  උපුටා දක්වීම \",ndash:\"En dash\",mdash:\"Em dash\",iexcl:\"යටිකුරු හර්ෂදී \",cent:\"Cent sign\",pound:\"Pound sign\",curren:\"මුල්‍යමය \",yen:\"යෙන් \",brvbar:\"Broken bar\",sect:\"තෙරේම් \",uml:\"Diaeresis\",copy:\"පිටපත් අයිතිය \",ordf:\"දර්ශකය\",laquo:\"Left-pointing double angle quotation mark\",not:\"සලකුණක් නොවේ\",reg:\"සලකුණක් ලියාපදිංචි කිරීම\",\nmacr:\"මුද්‍රිත \",deg:\"සලකුණේ \",sup2:\"උඩු ලකුණු දෙක\",sup3:\"Superscript three\",acute:\"Acute accent\",micro:\"Micro sign\",para:\"Pilcrow sign\",middot:\"Middle dot\",cedil:\"Cedilla\",sup1:\"Superscript one\",ordm:\"Masculine ordinal indicator\",raquo:\"Right-pointing double angle quotation mark\",frac14:\"Vulgar fraction one quarter\",frac12:\"Vulgar fraction one half\",frac34:\"Vulgar fraction three quarters\",iquest:\"Inverted question mark\",Agrave:\"Latin capital letter A with grave accent\",Aacute:\"Latin capital letter A with acute accent\",\nAcirc:\"Latin capital letter A with circumflex\",Atilde:\"Latin capital letter A with tilde\",Auml:\"Latin capital letter A with diaeresis\",Aring:\"Latin capital letter A with ring above\",AElig:\"Latin Capital letter Æ\",Ccedil:\"Latin capital letter C with cedilla\",Egrave:\"Latin capital letter E with grave accent\",Eacute:\"Latin capital letter E with acute accent\",Ecirc:\"Latin capital letter E with circumflex\",Euml:\"Latin capital letter E with diaeresis\",Igrave:\"Latin capital letter I with grave accent\",Iacute:\"Latin capital letter I with acute accent\",\nIcirc:\"Latin capital letter I with circumflex\",Iuml:\"Latin capital letter I with diaeresis\",ETH:\"Latin capital letter Eth\",Ntilde:\"Latin capital letter N with tilde\",Ograve:\"Latin capital letter O with grave accent\",Oacute:\"Latin capital letter O with acute accent\",Ocirc:\"Latin capital letter O with circumflex\",Otilde:\"Latin capital letter O with tilde\",Ouml:\"Latin capital letter O with diaeresis\",times:\"Multiplication sign\",Oslash:\"Latin capital letter O with stroke\",Ugrave:\"Latin capital letter U with grave accent\",\nUacute:\"Latin capital letter U with acute accent\",Ucirc:\"Latin capital letter U with circumflex\",Uuml:\"Latin capital letter U with diaeresis\",Yacute:\"Latin capital letter Y with acute accent\",THORN:\"Latin capital letter Thorn\",szlig:\"Latin small letter sharp s\",agrave:\"Latin small letter a with grave accent\",aacute:\"Latin small letter a with acute accent\",acirc:\"Latin small letter a with circumflex\",atilde:\"Latin small letter a with tilde\",auml:\"Latin small letter a with diaeresis\",aring:\"Latin small letter a with ring above\",\naelig:\"Latin small letter æ\",ccedil:\"Latin small letter c with cedilla\",egrave:\"Latin small letter e with grave accent\",eacute:\"Latin small letter e with acute accent\",ecirc:\"Latin small letter e with circumflex\",euml:\"Latin small letter e with diaeresis\",igrave:\"Latin small letter i with grave accent\",iacute:\"Latin small letter i with acute accent\",icirc:\"Latin small letter i with circumflex\",iuml:\"Latin small letter i with diaeresis\",eth:\"Latin small letter eth\",ntilde:\"Latin small letter n with tilde\",\nograve:\"Latin small letter o with grave accent\",oacute:\"Latin small letter o with acute accent\",ocirc:\"Latin small letter o with circumflex\",otilde:\"Latin small letter o with tilde\",ouml:\"Latin small letter o with diaeresis\",divide:\"Division sign\",oslash:\"Latin small letter o with stroke\",ugrave:\"Latin small letter u with grave accent\",uacute:\"Latin small letter u with acute accent\",ucirc:\"Latin small letter u with circumflex\",uuml:\"Latin small letter u with diaeresis\",yacute:\"Latin small letter y with acute accent\",\nthorn:\"Latin small letter thorn\",yuml:\"Latin small letter y with diaeresis\",OElig:\"Latin capital ligature OE\",oelig:\"Latin small ligature oe\",372:\"Latin capital letter W with circumflex\",374:\"Latin capital letter Y with circumflex\",373:\"Latin small letter w with circumflex\",375:\"Latin small letter y with circumflex\",sbquo:\"Single low-9 quotation mark\",8219:\"Single high-reversed-9 quotation mark\",bdquo:\"Double low-9 quotation mark\",hellip:\"Horizontal ellipsis\",trade:\"Trade mark sign\",9658:\"Black right-pointing pointer\",\nbull:\"Bullet\",rarr:\"Rightwards arrow\",rArr:\"Rightwards double arrow\",hArr:\"Left right double arrow\",diams:\"Black diamond suit\",asymp:\"Almost equal to\"});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/uk.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/uk.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"specialchar\",\"uk\",{euro:\"Знак євро\",lsquo:\"Ліві одинарні лапки\",rsquo:\"Праві одинарні лапки\",ldquo:\"Ліві подвійні лапки\",rdquo:\"Праві подвійні лапки\",ndash:\"Середнє тире\",mdash:\"Довге тире\",iexcl:\"Перевернутий знак оклику\",cent:\"Знак цента\",pound:\"Знак фунта\",curren:\"Знак валюти\",yen:\"Знак єни\",brvbar:\"Переривчаста вертикальна лінія\",sect:\"Знак параграфу\",uml:\"Умлаут\",copy:\"Знак авторських прав\",ordf:\"Жіночий порядковий вказівник\",laquo:\"ліві вказівні подвійні кутові дужки\",\nnot:\"Заперечення\",reg:\"Знак охорони суміжних прав\",macr:\"Макрон\",deg:\"Знак градуса\",sup2:\"два у верхньому індексі\",sup3:\"три у верхньому індексі\",acute:\"Знак акута\",micro:\"Знак мікро\",para:\"Знак абзацу\",middot:\"Інтерпункт\",cedil:\"Седиль\",sup1:\"Один у верхньому індексі\",ordm:\"Чоловічий порядковий вказівник\",raquo:\"праві вказівні подвійні кутові дужки\",frac14:\"Одна четвертина\",frac12:\"Одна друга\",frac34:\"три четвертих\",iquest:\"Перевернутий знак питання\",Agrave:\"Велика латинська A з гравісом\",Aacute:\"Велика латинська А з акутом\",\nAcirc:\"Велика латинська А з циркумфлексом\",Atilde:\"Велика латинська А з тильдою\",Auml:\"Велике латинське А з умлаутом\",Aring:\"Велика латинська A з кільцем згори\",AElig:\"Велика латинська Æ\",Ccedil:\"Велика латинська C з седиллю\",Egrave:\"Велика латинська E з гравісом\",Eacute:\"Велика латинська E з акутом\",Ecirc:\"Велика латинська E з циркумфлексом\",Euml:\"Велика латинська А з умлаутом\",Igrave:\"Велика латинська I з гравісом\",Iacute:\"Велика латинська I з акутом\",Icirc:\"Велика латинська I з циркумфлексом\",\nIuml:\"Велика латинська І з умлаутом\",ETH:\"Велика латинська Eth\",Ntilde:\"Велика латинська N з тильдою\",Ograve:\"Велика латинська O з гравісом\",Oacute:\"Велика латинська O з акутом\",Ocirc:\"Велика латинська O з циркумфлексом\",Otilde:\"Велика латинська O з тильдою\",Ouml:\"Велика латинська О з умлаутом\",times:\"Знак множення\",Oslash:\"Велика латинська перекреслена O \",Ugrave:\"Велика латинська U з гравісом\",Uacute:\"Велика латинська U з акутом\",Ucirc:\"Велика латинська U з циркумфлексом\",Uuml:\"Велика латинська U з умлаутом\",\nYacute:\"Велика латинська Y з акутом\",THORN:\"Велика латинська Торн\",szlig:\"Мала латинська есцет\",agrave:\"Мала латинська a з гравісом\",aacute:\"Мала латинська a з акутом\",acirc:\"Мала латинська a з циркумфлексом\",atilde:\"Мала латинська a з тильдою\",auml:\"Мала латинська a з умлаутом\",aring:\"Мала латинська a з кільцем згори\",aelig:\"Мала латинська æ\",ccedil:\"Мала латинська C з седиллю\",egrave:\"Мала латинська e з гравісом\",eacute:\"Мала латинська e з акутом\",ecirc:\"Мала латинська e з циркумфлексом\",euml:\"Мала латинська e з умлаутом\",\nigrave:\"Мала латинська i з гравісом\",iacute:\"Мала латинська i з акутом\",icirc:\"Мала латинська i з циркумфлексом\",iuml:\"Мала латинська i з умлаутом\",eth:\"Мала латинська Eth\",ntilde:\"Мала латинська n з тильдою\",ograve:\"Мала латинська o з гравісом\",oacute:\"Мала латинська o з акутом\",ocirc:\"Мала латинська o з циркумфлексом\",otilde:\"Мала латинська o з тильдою\",ouml:\"Мала латинська o з умлаутом\",divide:\"Знак ділення\",oslash:\"Мала латинська перекреслена o\",ugrave:\"Мала латинська u з гравісом\",uacute:\"Мала латинська u з акутом\",\nucirc:\"Мала латинська u з циркумфлексом\",uuml:\"Мала латинська u з умлаутом\",yacute:\"Мала латинська y з акутом\",thorn:\"Мала латинська торн\",yuml:\"Мала латинська y з умлаутом\",OElig:\"Велика латинська лігатура OE\",oelig:\"Мала латинська лігатура oe\",372:\"Велика латинська W з циркумфлексом\",374:\"Велика латинська Y з циркумфлексом\",373:\"Мала латинська w з циркумфлексом\",375:\"Мала латинська y з циркумфлексом\",sbquo:\"Одиничні нижні лабки\",8219:\"Верхні одиничні обернені лабки\",bdquo:\"Подвійні нижні лабки\",\nhellip:\"Три крапки\",trade:\"Знак торгової марки\",9658:\"Чорний правий вказівник\",bull:\"Маркер списку\",rarr:\"Стрілка вправо\",rArr:\"Подвійна стрілка вправо\",hArr:\"Подвійна стрілка вліво-вправо\",diams:\"Чорний діамонт\",asymp:\"Наближено дорівнює\"});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/sl.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/sl.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"specialchar\",\"sl\",{euro:\"Evro znak\",lsquo:\"Levi enojni narekovaj\",rsquo:\"Desni enojni narekovaj\",ldquo:\"Levi dvojni narekovaj\",rdquo:\"Desni dvojni narekovaj\",ndash:\"En pomišljaj\",mdash:\"Em pomišljaj\",iexcl:\"Obrnjen klicaj\",cent:\"Cent znak\",pound:\"Funt znak\",curren:\"Znak valute\",yen:\"Jen znak\",brvbar:\"Zlomljena črta\",sect:\"Znak oddelka\",uml:\"Diaeresis\",copy:\"Znak avtorskih pravic\",ordf:\"Ženski zaporedni kazalnik\",laquo:\"Levi obrnjen dvojni kotni narekovaj\",not:\"Ne znak\",reg:\"Registrirani znak\",\nmacr:\"Macron\",deg:\"Znak stopinj\",sup2:\"Nadpisano dva\",sup3:\"Nadpisano tri\",acute:\"Ostrivec\",micro:\"Mikro znak\",para:\"Pilcrow znak\",middot:\"Sredinska pika\",cedil:\"Cedilla\",sup1:\"Nadpisano ena\",ordm:\"Moški zaporedni kazalnik\",raquo:\"Desno obrnjen dvojni kotni narekovaj\",frac14:\"Ena četrtina\",frac12:\"Ena polovica\",frac34:\"Tri četrtine\",iquest:\"Obrnjen vprašaj\",Agrave:\"Velika latinska črka A s krativcem\",Aacute:\"Velika latinska črka A z ostrivcem\",Acirc:\"Velika latinska črka A s strešico\",Atilde:\"Velika latinska črka A z tildo\",\nAuml:\"Velika latinska črka A z diaeresis-om\",Aring:\"Velika latinska črka A z obročem\",AElig:\"Velika latinska črka Æ\",Ccedil:\"Velika latinska črka C s cedillo\",Egrave:\"Velika latinska črka E s krativcem\",Eacute:\"Velika latinska črka E z ostrivcem\",Ecirc:\"Velika latinska črka E s strešico\",Euml:\"Velika latinska črka E z diaeresis-om\",Igrave:\"Velika latinska črka I s krativcem\",Iacute:\"Velika latinska črka I z ostrivcem\",Icirc:\"Velika latinska črka I s strešico\",Iuml:\"Velika latinska črka I z diaeresis-om\",\nETH:\"Velika latinska črka Eth\",Ntilde:\"Velika latinska črka N s tildo\",Ograve:\"Velika latinska črka O s krativcem\",Oacute:\"Velika latinska črka O z ostrivcem\",Ocirc:\"Velika latinska črka O s strešico\",Otilde:\"Velika latinska črka O s tildo\",Ouml:\"Velika latinska črka O z diaeresis-om\",times:\"Znak za množenje\",Oslash:\"Velika prečrtana latinska črka O\",Ugrave:\"Velika latinska črka U s krativcem\",Uacute:\"Velika latinska črka U z ostrivcem\",Ucirc:\"Velika latinska črka U s strešico\",Uuml:\"Velika latinska črka U z diaeresis-om\",\nYacute:\"Velika latinska črka Y z ostrivcem\",THORN:\"Velika latinska črka Thorn\",szlig:\"Mala ostra latinska črka s\",agrave:\"Mala latinska črka a s krativcem\",aacute:\"Mala latinska črka a z ostrivcem\",acirc:\"Mala latinska črka a s strešico\",atilde:\"Mala latinska črka a s tildo\",auml:\"Mala latinska črka a z diaeresis-om\",aring:\"Mala latinska črka a z obročem\",aelig:\"Mala latinska črka æ\",ccedil:\"Mala latinska črka c s cedillo\",egrave:\"Mala latinska črka e s krativcem\",eacute:\"Mala latinska črka e z ostrivcem\",\necirc:\"Mala latinska črka e s strešico\",euml:\"Mala latinska črka e z diaeresis-om\",igrave:\"Mala latinska črka i s krativcem\",iacute:\"Mala latinska črka i z ostrivcem\",icirc:\"Mala latinska črka i s strešico\",iuml:\"Mala latinska črka i z diaeresis-om\",eth:\"Mala latinska črka eth\",ntilde:\"Mala latinska črka n s tildo\",ograve:\"Mala latinska črka o s krativcem\",oacute:\"Mala latinska črka o z ostrivcem\",ocirc:\"Mala latinska črka o s strešico\",otilde:\"Mala latinska črka o s tildo\",ouml:\"Mala latinska črka o z diaeresis-om\",\ndivide:\"Znak za deljenje\",oslash:\"Mala prečrtana latinska črka o\",ugrave:\"Mala latinska črka u s krativcem\",uacute:\"Mala latinska črka u z ostrivcem\",ucirc:\"Mala latinska črka u s strešico\",uuml:\"Mala latinska črka u z diaeresis-om\",yacute:\"Mala latinska črka y z ostrivcem\",thorn:\"Mala latinska črka thorn\",yuml:\"Mala latinska črka y z diaeresis-om\",OElig:\"Velika latinska ligatura OE\",oelig:\"Mala latinska ligatura oe\",372:\"Velika latinska črka W s strešico\",374:\"Velika latinska črka Y s strešico\",\n373:\"Mala latinska črka w s strešico\",375:\"Mala latinska črka y s strešico\",sbquo:\"Enojni nizki-9 narekovaj\",8219:\"Enojni visoki-obrnjen-9 narekovaj\",bdquo:\"Dvojni nizki-9 narekovaj\",hellip:\"Horizontalni izpust\",trade:\"Znak blagovne znamke\",9658:\"Črni desno-usmerjen kazalec\",bull:\"Krogla\",rarr:\"Desno-usmerjena puščica\",rArr:\"Desno-usmerjena dvojna puščica\",hArr:\"Leva in desna dvojna puščica\",diams:\"Črna kara\",asymp:\"Skoraj enako\"});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/sk.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/sk.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"specialchar\",\"sk\",{euro:\"Znak eura\",lsquo:\"Ľavá jednoduchá úvodzovka\",rsquo:\"Pravá jednoduchá úvodzovka\",ldquo:\"Pravá dvojitá úvodzovka\",rdquo:\"Pravá dvojitá úvodzovka\",ndash:\"En pomlčka\",mdash:\"Em pomlčka\",iexcl:\"Obrátený výkričník\",cent:\"Znak centu\",pound:\"Znak libry\",curren:\"Znak meny\",yen:\"Znak jenu\",brvbar:\"Prerušená zvislá čiara\",sect:\"Znak odseku\",uml:\"Prehláska\",copy:\"Znak copyrightu\",ordf:\"Ženský indikátor rodu\",laquo:\"Znak dvojitých lomených úvodzoviek vľavo\",not:\"Logistický zápor\",\nreg:\"Znak registrácie\",macr:\"Pomlčka nad\",deg:\"Znak stupňa\",sup2:\"Dvojka ako horný index\",sup3:\"Trojka ako horný index\",acute:\"Dĺžeň\",micro:\"Znak mikro\",para:\"Znak odstavca\",middot:\"Bodka uprostred\",cedil:\"Chvost vľavo\",sup1:\"Jednotka ako horný index\",ordm:\"Mužský indikátor rodu\",raquo:\"Znak dvojitých lomených úvodzoviek vpravo\",frac14:\"Obyčajný zlomok jedna štvrtina\",frac12:\"Obyčajný zlomok jedna polovica\",frac34:\"Obyčajný zlomok tri štvrtiny\",iquest:\"Otočený otáznik\",Agrave:\"Veľké písmeno latinky A s accentom\",\nAacute:\"Veľké písmeno latinky A s dĺžňom\",Acirc:\"Veľké písmeno latinky A s mäkčeňom\",Atilde:\"Veľké písmeno latinky A s tildou\",Auml:\"Veľké písmeno latinky A s dvoma bodkami\",Aring:\"Veľké písmeno latinky A s krúžkom nad\",AElig:\"Veľké písmeno latinky Æ\",Ccedil:\"Veľké písmeno latinky C s chvostom vľavo\",Egrave:\"Veľké písmeno latinky E s accentom\",Eacute:\"Veľké písmeno latinky E s dĺžňom\",Ecirc:\"Veľké písmeno latinky E s mäkčeňom\",Euml:\"Veľké písmeno latinky E s dvoma bodkami\",Igrave:\"Veľké písmeno latinky I s accentom\",\nIacute:\"Veľké písmeno latinky I s dĺžňom\",Icirc:\"Veľké písmeno latinky I s mäkčeňom\",Iuml:\"Veľké písmeno latinky I s dvoma bodkami\",ETH:\"Veľké písmeno latinky Eth\",Ntilde:\"Veľké písmeno latinky N s tildou\",Ograve:\"Veľké písmeno latinky O s accentom\",Oacute:\"Veľké písmeno latinky O s dĺžňom\",Ocirc:\"Veľké písmeno latinky O s mäkčeňom\",Otilde:\"Veľké písmeno latinky O s tildou\",Ouml:\"Veľké písmeno latinky O s dvoma bodkami\",times:\"Znak násobenia\",Oslash:\"Veľké písmeno latinky O preškrtnuté\",Ugrave:\"Veľké písmeno latinky U s accentom\",\nUacute:\"Veľké písmeno latinky U s dĺžňom\",Ucirc:\"Veľké písmeno latinky U s mäkčeňom\",Uuml:\"Veľké písmeno latinky U s dvoma bodkami\",Yacute:\"Veľké písmeno latinky Y s dĺžňom\",THORN:\"Veľké písmeno latinky Thorn\",szlig:\"Malé písmeno latinky ostré s\",agrave:\"Malé písmeno latinky a s accentom\",aacute:\"Malé písmeno latinky a s dĺžňom\",acirc:\"Malé písmeno latinky a s mäkčeňom\",atilde:\"Malé písmeno latinky a s tildou\",auml:\"Malé písmeno latinky a s dvoma bodkami\",aring:\"Malé písmeno latinky a s krúžkom nad\",\naelig:\"Malé písmeno latinky æ\",ccedil:\"Malé písmeno latinky c s chvostom vľavo\",egrave:\"Malé písmeno latinky e s accentom\",eacute:\"Malé písmeno latinky e s dĺžňom\",ecirc:\"Malé písmeno latinky e s mäkčeňom\",euml:\"Malé písmeno latinky e s dvoma bodkami\",igrave:\"Malé písmeno latinky i s accentom\",iacute:\"Malé písmeno latinky i s dĺžňom\",icirc:\"Malé písmeno latinky i s mäkčeňom\",iuml:\"Malé písmeno latinky i s dvoma bodkami\",eth:\"Malé písmeno latinky eth\",ntilde:\"Malé písmeno latinky n s tildou\",ograve:\"Malé písmeno latinky o s accentom\",\noacute:\"Malé písmeno latinky o s dĺžňom\",ocirc:\"Malé písmeno latinky o s mäkčeňom\",otilde:\"Malé písmeno latinky o s tildou\",ouml:\"Malé písmeno latinky o s dvoma bodkami\",divide:\"Znak delenia\",oslash:\"Malé písmeno latinky o preškrtnuté\",ugrave:\"Malé písmeno latinky u s accentom\",uacute:\"Malé písmeno latinky u s dĺžňom\",ucirc:\"Malé písmeno latinky u s mäkčeňom\",uuml:\"Malé písmeno latinky u s dvoma bodkami\",yacute:\"Malé písmeno latinky y s dĺžňom\",thorn:\"Malé písmeno latinky thorn\",yuml:\"Malé písmeno latinky y s dvoma bodkami\",\nOElig:\"Veľká ligatúra latinky OE\",oelig:\"Malá ligatúra latinky OE\",372:\"Veľké písmeno latinky W s mäkčeňom\",374:\"Veľké písmeno latinky Y s mäkčeňom\",373:\"Malé písmeno latinky w s mäkčeňom\",375:\"Malé písmeno latinky y s mäkčeňom\",sbquo:\"Dolná jednoduchá 9-úvodzovka\",8219:\"Horná jednoduchá otočená 9-úvodzovka\",bdquo:\"Dolná dvojitá 9-úvodzovka\",hellip:\"Trojbodkový úvod\",trade:\"Znak ibchodnej značky\",9658:\"Čierny ukazovateľ smerujúci vpravo\",bull:\"Kruh\",rarr:\"Šípka vpravo\",rArr:\"Dvojitá šipka vpravo\",\nhArr:\"Dvojitá šipka vľavo a vpravo\",diams:\"Čierne piky\",asymp:\"Skoro sa rovná\"});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/nb.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/nb.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"specialchar\",\"nb\",{euro:\"Eurosymbol\",lsquo:\"Venstre enkelt anførselstegn\",rsquo:\"Høyre enkelt anførselstegn\",ldquo:\"Venstre dobbelt anførselstegn\",rdquo:\"Høyre anførsesltegn\",ndash:\"Kort tankestrek\",mdash:\"Lang tankestrek\",iexcl:\"Omvendt utropstegn\",cent:\"Centsymbol\",pound:\"Pundsymbol\",curren:\"Valutategn\",yen:\"Yensymbol\",brvbar:\"Brutt loddrett strek\",sect:\"Paragraftegn\",uml:\"Tøddel\",copy:\"Copyrighttegn\",ordf:\"Feminin ordensindikator\",laquo:\"Venstre anførselstegn\",not:\"Negasjonstegn\",\nreg:\"Registrert varemerke-tegn\",macr:\"Makron\",deg:\"Gradsymbol\",sup2:\"Hevet totall\",sup3:\"Hevet tretall\",acute:\"Akutt aksent\",micro:\"Mikrosymbol\",para:\"Avsnittstegn\",middot:\"Midtstilt prikk\",cedil:\"Cedille\",sup1:\"Hevet ettall\",ordm:\"Maskulin ordensindikator\",raquo:\"Høyre anførselstegn\",frac14:\"Fjerdedelsbrøk\",frac12:\"Halvbrøk\",frac34:\"Tre fjerdedelers brøk\",iquest:\"Omvendt spørsmålstegn\",Agrave:\"Stor A med grav aksent\",Aacute:\"Stor A med akutt aksent\",Acirc:\"Stor A med cirkumfleks\",Atilde:\"Stor A med tilde\",\nAuml:\"Stor A med tøddel\",Aring:\"Stor Å\",AElig:\"Stor Æ\",Ccedil:\"Stor C med cedille\",Egrave:\"Stor E med grav aksent\",Eacute:\"Stor E med akutt aksent\",Ecirc:\"Stor E med cirkumfleks\",Euml:\"Stor E med tøddel\",Igrave:\"Stor I med grav aksent\",Iacute:\"Stor I med akutt aksent\",Icirc:\"Stor I med cirkumfleks\",Iuml:\"Stor I med tøddel\",ETH:\"Stor Edd/stungen D\",Ntilde:\"Stor N med tilde\",Ograve:\"Stor O med grav aksent\",Oacute:\"Stor O med akutt aksent\",Ocirc:\"Stor O med cirkumfleks\",Otilde:\"Stor O med tilde\",Ouml:\"Stor O med tøddel\",\ntimes:\"Multiplikasjonstegn\",Oslash:\"Stor Ø\",Ugrave:\"Stor U med grav aksent\",Uacute:\"Stor U med akutt aksent\",Ucirc:\"Stor U med cirkumfleks\",Uuml:\"Stor U med tøddel\",Yacute:\"Stor Y med akutt aksent\",THORN:\"Stor Thorn\",szlig:\"Liten dobbelt-s/Eszett\",agrave:\"Liten a med grav aksent\",aacute:\"Liten a med akutt aksent\",acirc:\"Liten a med cirkumfleks\",atilde:\"Liten a med tilde\",auml:\"Liten a med tøddel\",aring:\"Liten å\",aelig:\"Liten æ\",ccedil:\"Liten c med cedille\",egrave:\"Liten e med grav aksent\",eacute:\"Liten e med akutt aksent\",\necirc:\"Liten e med cirkumfleks\",euml:\"Liten e med tøddel\",igrave:\"Liten i med grav aksent\",iacute:\"Liten i med akutt aksent\",icirc:\"Liten i med cirkumfleks\",iuml:\"Liten i med tøddel\",eth:\"Liten edd/stungen d\",ntilde:\"Liten n med tilde\",ograve:\"Liten o med grav aksent\",oacute:\"Liten o med akutt aksent\",ocirc:\"Liten o med cirkumfleks\",otilde:\"Liten o med tilde\",ouml:\"Liten o med tøddel\",divide:\"Divisjonstegn\",oslash:\"Liten ø\",ugrave:\"Liten u med grav aksent\",uacute:\"Liten u med akutt aksent\",ucirc:\"Liten u med cirkumfleks\",\nuuml:\"Liten u med tøddel\",yacute:\"Liten y med akutt aksent\",thorn:\"Liten thorn\",yuml:\"Liten y med tøddel\",OElig:\"Stor ligatur av O og E\",oelig:\"Liten ligatur av o og e\",372:\"Stor W med cirkumfleks\",374:\"Stor Y med cirkumfleks\",373:\"Liten w med cirkumfleks\",375:\"Liten y med cirkumfleks\",sbquo:\"Enkelt lavt 9-anførselstegn\",8219:\"Enkelt høyt reversert 9-anførselstegn\",bdquo:\"Dobbelt lavt 9-anførselstegn\",hellip:\"Ellipse\",trade:\"Varemerkesymbol\",9658:\"Svart høyrevendt peker\",bull:\"Tykk interpunkt\",rarr:\"Høyrevendt pil\",\nrArr:\"Dobbel høyrevendt pil\",hArr:\"Dobbel venstrevendt pil\",diams:\"Svart ruter\",asymp:\"Omtrent likhetstegn\"});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/gl.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/gl.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"specialchar\",\"gl\",{euro:\"Símbolo do euro\",lsquo:\"Comiña simple esquerda\",rsquo:\"Comiña simple dereita\",ldquo:\"Comiñas dobres esquerda\",rdquo:\"Comiñas dobres dereita\",ndash:\"Guión\",mdash:\"Raia\",iexcl:\"Signo de admiración invertido\",cent:\"Símbolo do centavo\",pound:\"Símbolo da libra\",curren:\"Símbolo de moeda\",yen:\"Símbolo do yen\",brvbar:\"Barra vertical rota\",sect:\"Símbolo de sección\",uml:\"Diérese\",copy:\"Símbolo de dereitos de autoría\",ordf:\"Indicador ordinal feminino\",laquo:\"Comiñas latinas, apertura\",\nnot:\"Signo negación\",reg:\"Símbolo de marca rexistrada\",macr:\"Guión alto\",deg:\"Signo de grao\",sup2:\"Superíndice dous\",sup3:\"Superíndice tres\",acute:\"Acento agudo\",micro:\"Signo de micro\",para:\"Signo de pi\",middot:\"Punto medio\",cedil:\"Cedilla\",sup1:\"Superíndice un\",ordm:\"Indicador ordinal masculino\",raquo:\"Comiñas latinas, peche\",frac14:\"Fracción ordinaria de un cuarto\",frac12:\"Fracción ordinaria de un medio\",frac34:\"Fracción ordinaria de tres cuartos\",iquest:\"Signo de interrogación invertido\",Agrave:\"Letra A latina maiúscula con acento grave\",\nAacute:\"Letra A latina maiúscula con acento agudo\",Acirc:\"Letra A latina maiúscula con acento circunflexo\",Atilde:\"Letra A latina maiúscula con til\",Auml:\"Letra A latina maiúscula con diérese\",Aring:\"Letra A latina maiúscula con aro enriba\",AElig:\"Letra Æ latina maiúscula\",Ccedil:\"Letra C latina maiúscula con cedilla\",Egrave:\"Letra E latina maiúscula con acento grave\",Eacute:\"Letra E latina maiúscula con acento agudo\",Ecirc:\"Letra E latina maiúscula con acento circunflexo\",Euml:\"Letra E latina maiúscula con diérese\",\nIgrave:\"Letra I latina maiúscula con acento grave\",Iacute:\"Letra I latina maiúscula con acento agudo\",Icirc:\"Letra I latina maiúscula con acento circunflexo\",Iuml:\"Letra I latina maiúscula con diérese\",ETH:\"Letra Ed latina maiúscula\",Ntilde:\"Letra N latina maiúscula con til\",Ograve:\"Letra O latina maiúscula con acento grave\",Oacute:\"Letra O latina maiúscula con acento agudo\",Ocirc:\"Letra O latina maiúscula con acento circunflexo\",Otilde:\"Letra O latina maiúscula con til\",Ouml:\"Letra O latina maiúscula con diérese\",\ntimes:\"Signo de multiplicación\",Oslash:\"Letra O latina maiúscula con barra transversal\",Ugrave:\"Letra U latina maiúscula con acento grave\",Uacute:\"Letra U latina maiúscula con acento agudo\",Ucirc:\"Letra U latina maiúscula con acento circunflexo\",Uuml:\"Letra U latina maiúscula con diérese\",Yacute:\"Letra Y latina maiúscula con acento agudo\",THORN:\"Letra Thorn latina maiúscula\",szlig:\"Letra s latina forte minúscula\",agrave:\"Letra a latina minúscula con acento grave\",aacute:\"Letra a latina minúscula con acento agudo\",\nacirc:\"Letra a latina minúscula con acento circunflexo\",atilde:\"Letra a latina minúscula con til\",auml:\"Letra a latina minúscula con diérese\",aring:\"Letra a latina minúscula con aro enriba\",aelig:\"Letra æ latina minúscula\",ccedil:\"Letra c latina minúscula con cedilla\",egrave:\"Letra e latina minúscula con acento grave\",eacute:\"Letra e latina minúscula con acento agudo\",ecirc:\"Letra e latina minúscula con acento circunflexo\",euml:\"Letra e latina minúscula con diérese\",igrave:\"Letra i latina minúscula con acento grave\",\niacute:\"Letra i latina minúscula con acento agudo\",icirc:\"Letra i latina minúscula con acento circunflexo\",iuml:\"Letra i latina minúscula con diérese\",eth:\"Letra ed latina minúscula\",ntilde:\"Letra n latina minúscula con til\",ograve:\"Letra o latina minúscula con acento grave\",oacute:\"Letra o latina minúscula con acento agudo\",ocirc:\"Letra o latina minúscula con acento circunflexo\",otilde:\"Letra o latina minúscula con til\",ouml:\"Letra o latina minúscula con diérese\",divide:\"Signo de división\",oslash:\"Letra o latina minúscula con barra transversal\",\nugrave:\"Letra u latina minúscula con acento grave\",uacute:\"Letra u latina minúscula con acento agudo\",ucirc:\"Letra u latina minúscula con acento circunflexo\",uuml:\"Letra u latina minúscula con diérese\",yacute:\"Letra y latina minúscula con acento agudo\",thorn:\"Letra Thorn latina minúscula\",yuml:\"Letra y latina minúscula con diérese\",OElig:\"Ligadura OE latina maiúscula\",oelig:\"Ligadura oe latina minúscula\",372:\"Letra W latina maiúscula con acento circunflexo\",374:\"Letra Y latina maiúscula con acento circunflexo\",\n373:\"Letra w latina minúscula con acento circunflexo\",375:\"Letra y latina minúscula con acento circunflexo\",sbquo:\"Comiña simple baixa, de apertura\",8219:\"Comiña simple alta, de peche\",bdquo:\"Comiñas dobres baixas, de apertura\",hellip:\"Elipse, puntos suspensivos\",trade:\"Signo de marca rexistrada\",9658:\"Apuntador negro apuntando á dereita\",bull:\"Viñeta\",rarr:\"Frecha á dereita\",rArr:\"Frecha dobre á dereita\",hArr:\"Frecha dobre da esquerda á dereita\",diams:\"Diamante negro\",asymp:\"Case igual a\"});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/en.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/en.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"specialchar\",\"en\",{euro:\"Euro sign\",lsquo:\"Left single quotation mark\",rsquo:\"Right single quotation mark\",ldquo:\"Left double quotation mark\",rdquo:\"Right double quotation mark\",ndash:\"En dash\",mdash:\"Em dash\",iexcl:\"Inverted exclamation mark\",cent:\"Cent sign\",pound:\"Pound sign\",curren:\"Currency sign\",yen:\"Yen sign\",brvbar:\"Broken bar\",sect:\"Section sign\",uml:\"Diaeresis\",copy:\"Copyright sign\",ordf:\"Feminine ordinal indicator\",laquo:\"Left-pointing double angle quotation mark\",\nnot:\"Not sign\",reg:\"Registered sign\",macr:\"Macron\",deg:\"Degree sign\",sup2:\"Superscript two\",sup3:\"Superscript three\",acute:\"Acute accent\",micro:\"Micro sign\",para:\"Pilcrow sign\",middot:\"Middle dot\",cedil:\"Cedilla\",sup1:\"Superscript one\",ordm:\"Masculine ordinal indicator\",raquo:\"Right-pointing double angle quotation mark\",frac14:\"Vulgar fraction one quarter\",frac12:\"Vulgar fraction one half\",frac34:\"Vulgar fraction three quarters\",iquest:\"Inverted question mark\",Agrave:\"Latin capital letter A with grave accent\",\nAacute:\"Latin capital letter A with acute accent\",Acirc:\"Latin capital letter A with circumflex\",Atilde:\"Latin capital letter A with tilde\",Auml:\"Latin capital letter A with diaeresis\",Aring:\"Latin capital letter A with ring above\",AElig:\"Latin Capital letter Æ\",Ccedil:\"Latin capital letter C with cedilla\",Egrave:\"Latin capital letter E with grave accent\",Eacute:\"Latin capital letter E with acute accent\",Ecirc:\"Latin capital letter E with circumflex\",Euml:\"Latin capital letter E with diaeresis\",Igrave:\"Latin capital letter I with grave accent\",\nIacute:\"Latin capital letter I with acute accent\",Icirc:\"Latin capital letter I with circumflex\",Iuml:\"Latin capital letter I with diaeresis\",ETH:\"Latin capital letter Eth\",Ntilde:\"Latin capital letter N with tilde\",Ograve:\"Latin capital letter O with grave accent\",Oacute:\"Latin capital letter O with acute accent\",Ocirc:\"Latin capital letter O with circumflex\",Otilde:\"Latin capital letter O with tilde\",Ouml:\"Latin capital letter O with diaeresis\",times:\"Multiplication sign\",Oslash:\"Latin capital letter O with stroke\",\nUgrave:\"Latin capital letter U with grave accent\",Uacute:\"Latin capital letter U with acute accent\",Ucirc:\"Latin capital letter U with circumflex\",Uuml:\"Latin capital letter U with diaeresis\",Yacute:\"Latin capital letter Y with acute accent\",THORN:\"Latin capital letter Thorn\",szlig:\"Latin small letter sharp s\",agrave:\"Latin small letter a with grave accent\",aacute:\"Latin small letter a with acute accent\",acirc:\"Latin small letter a with circumflex\",atilde:\"Latin small letter a with tilde\",auml:\"Latin small letter a with diaeresis\",\naring:\"Latin small letter a with ring above\",aelig:\"Latin small letter æ\",ccedil:\"Latin small letter c with cedilla\",egrave:\"Latin small letter e with grave accent\",eacute:\"Latin small letter e with acute accent\",ecirc:\"Latin small letter e with circumflex\",euml:\"Latin small letter e with diaeresis\",igrave:\"Latin small letter i with grave accent\",iacute:\"Latin small letter i with acute accent\",icirc:\"Latin small letter i with circumflex\",iuml:\"Latin small letter i with diaeresis\",eth:\"Latin small letter eth\",\nntilde:\"Latin small letter n with tilde\",ograve:\"Latin small letter o with grave accent\",oacute:\"Latin small letter o with acute accent\",ocirc:\"Latin small letter o with circumflex\",otilde:\"Latin small letter o with tilde\",ouml:\"Latin small letter o with diaeresis\",divide:\"Division sign\",oslash:\"Latin small letter o with stroke\",ugrave:\"Latin small letter u with grave accent\",uacute:\"Latin small letter u with acute accent\",ucirc:\"Latin small letter u with circumflex\",uuml:\"Latin small letter u with diaeresis\",\nyacute:\"Latin small letter y with acute accent\",thorn:\"Latin small letter thorn\",yuml:\"Latin small letter y with diaeresis\",OElig:\"Latin capital ligature OE\",oelig:\"Latin small ligature oe\",372:\"Latin capital letter W with circumflex\",374:\"Latin capital letter Y with circumflex\",373:\"Latin small letter w with circumflex\",375:\"Latin small letter y with circumflex\",sbquo:\"Single low-9 quotation mark\",8219:\"Single high-reversed-9 quotation mark\",bdquo:\"Double low-9 quotation mark\",hellip:\"Horizontal ellipsis\",\ntrade:\"Trade mark sign\",9658:\"Black right-pointing pointer\",bull:\"Bullet\",rarr:\"Rightwards arrow\",rArr:\"Rightwards double arrow\",hArr:\"Left right double arrow\",diams:\"Black diamond suit\",asymp:\"Almost equal to\"});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/et.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/et.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"specialchar\",\"et\",{euro:\"Euromärk\",lsquo:\"Alustav ühekordne jutumärk\",rsquo:\"Lõpetav ühekordne jutumärk\",ldquo:\"Alustav kahekordne jutumärk\",rdquo:\"Lõpetav kahekordne jutumärk\",ndash:\"Enn-kriips\",mdash:\"Emm-kriips\",iexcl:\"Pööratud hüüumärk\",cent:\"Sendimärk\",pound:\"Naela märk\",curren:\"Valuutamärk\",yen:\"Jeeni märk\",brvbar:\"Katkestatud kriips\",sect:\"Lõigu märk\",uml:\"Täpid\",copy:\"Autoriõiguse märk\",ordf:\"Feminine ordinal indicator\",laquo:\"Left-pointing double angle quotation mark\",\nnot:\"Ei-märk\",reg:\"Registered sign\",macr:\"Macron\",deg:\"Kraadimärk\",sup2:\"Ülaindeks kaks\",sup3:\"Ülaindeks kolm\",acute:\"Acute accent\",micro:\"Mikro-märk\",para:\"Pilcrow sign\",middot:\"Keskpunkt\",cedil:\"Cedilla\",sup1:\"Ülaindeks üks\",ordm:\"Masculine ordinal indicator\",raquo:\"Right-pointing double angle quotation mark\",frac14:\"Vulgar fraction one quarter\",frac12:\"Vulgar fraction one half\",frac34:\"Vulgar fraction three quarters\",iquest:\"Inverted question mark\",Agrave:\"Latin capital letter A with grave accent\",\nAacute:\"Latin capital letter A with acute accent\",Acirc:\"Latin capital letter A with circumflex\",Atilde:\"Ladina suur A tildega\",Auml:\"Latin capital letter A with diaeresis\",Aring:\"Latin capital letter A with ring above\",AElig:\"Latin Capital letter Æ\",Ccedil:\"Latin capital letter C with cedilla\",Egrave:\"Latin capital letter E with grave accent\",Eacute:\"Latin capital letter E with acute accent\",Ecirc:\"Latin capital letter E with circumflex\",Euml:\"Latin capital letter E with diaeresis\",Igrave:\"Latin capital letter I with grave accent\",\nIacute:\"Latin capital letter I with acute accent\",Icirc:\"Latin capital letter I with circumflex\",Iuml:\"Latin capital letter I with diaeresis\",ETH:\"Latin capital letter Eth\",Ntilde:\"Latin capital letter N with tilde\",Ograve:\"Latin capital letter O with grave accent\",Oacute:\"Latin capital letter O with acute accent\",Ocirc:\"Latin capital letter O with circumflex\",Otilde:\"Latin capital letter O with tilde\",Ouml:\"Täppidega ladina suur O\",times:\"Multiplication sign\",Oslash:\"Latin capital letter O with stroke\",\nUgrave:\"Latin capital letter U with grave accent\",Uacute:\"Latin capital letter U with acute accent\",Ucirc:\"Kandilise katusega suur ladina U\",Uuml:\"Täppidega ladina suur U\",Yacute:\"Latin capital letter Y with acute accent\",THORN:\"Latin capital letter Thorn\",szlig:\"Ladina väike terav s\",agrave:\"Latin small letter a with grave accent\",aacute:\"Latin small letter a with acute accent\",acirc:\"Kandilise katusega ladina väike a\",atilde:\"Tildega ladina väike a\",auml:\"Täppidega ladina väike a\",aring:\"Latin small letter a with ring above\",\naelig:\"Latin small letter æ\",ccedil:\"Latin small letter c with cedilla\",egrave:\"Latin small letter e with grave accent\",eacute:\"Latin small letter e with acute accent\",ecirc:\"Latin small letter e with circumflex\",euml:\"Latin small letter e with diaeresis\",igrave:\"Latin small letter i with grave accent\",iacute:\"Latin small letter i with acute accent\",icirc:\"Latin small letter i with circumflex\",iuml:\"Latin small letter i with diaeresis\",eth:\"Latin small letter eth\",ntilde:\"Latin small letter n with tilde\",\nograve:\"Latin small letter o with grave accent\",oacute:\"Latin small letter o with acute accent\",ocirc:\"Latin small letter o with circumflex\",otilde:\"Latin small letter o with tilde\",ouml:\"Latin small letter o with diaeresis\",divide:\"Jagamismärk\",oslash:\"Latin small letter o with stroke\",ugrave:\"Latin small letter u with grave accent\",uacute:\"Latin small letter u with acute accent\",ucirc:\"Latin small letter u with circumflex\",uuml:\"Latin small letter u with diaeresis\",yacute:\"Latin small letter y with acute accent\",\nthorn:\"Latin small letter thorn\",yuml:\"Latin small letter y with diaeresis\",OElig:\"Latin capital ligature OE\",oelig:\"Latin small ligature oe\",372:\"Latin capital letter W with circumflex\",374:\"Latin capital letter Y with circumflex\",373:\"Latin small letter w with circumflex\",375:\"Latin small letter y with circumflex\",sbquo:\"Single low-9 quotation mark\",8219:\"Single high-reversed-9 quotation mark\",bdquo:\"Double low-9 quotation mark\",hellip:\"Horizontal ellipsis\",trade:\"Kaubamärgi märk\",9658:\"Black right-pointing pointer\",\nbull:\"Kuul\",rarr:\"Nool paremale\",rArr:\"Topeltnool paremale\",hArr:\"Topeltnool vasakule\",diams:\"Black diamond suit\",asymp:\"Ligikaudu võrdne\"});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/ja.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/ja.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"specialchar\",\"ja\",{euro:\"ユーロ記号\",lsquo:\"左シングル引用符\",rsquo:\"右シングル引用符\",ldquo:\"左ダブル引用符\",rdquo:\"右ダブル引用符\",ndash:\"半角ダッシュ\",mdash:\"全角ダッシュ\",iexcl:\"逆さ感嘆符\",cent:\"セント記号\",pound:\"ポンド記号\",curren:\"通貨記号\",yen:\"円記号\",brvbar:\"上下に分かれた縦棒\",sect:\"節記号\",uml:\"分音記号(ウムラウト)\",copy:\"著作権表示記号\",ordf:\"女性序数標識\",laquo:\" 始め二重山括弧引用記号\",not:\"論理否定記号\",reg:\"登録商標記号\",macr:\"長音符\",deg:\"度記号\",sup2:\"上つき2, 2乗\",sup3:\"上つき3, 3乗\",acute:\"揚音符\",micro:\"ミクロン記号\",para:\"段落記号\",middot:\"中黒\",cedil:\"セディラ\",sup1:\"上つき1\",ordm:\"男性序数標識\",raquo:\"終わり二重山括弧引用記号\",\nfrac14:\"四分の一\",frac12:\"二分の一\",frac34:\"四分の三\",iquest:\"逆疑問符\",Agrave:\"抑音符つき大文字A\",Aacute:\"揚音符つき大文字A\",Acirc:\"曲折アクセントつき大文字A\",Atilde:\"チルダつき大文字A\",Auml:\"分音記号つき大文字A\",Aring:\"リングつき大文字A\",AElig:\"AとEの合字\",Ccedil:\"セディラつき大文字C\",Egrave:\"抑音符つき大文字E\",Eacute:\"揚音符つき大文字E\",Ecirc:\"曲折アクセントつき大文字E\",Euml:\"分音記号つき大文字E\",Igrave:\"抑音符つき大文字I\",Iacute:\"揚音符つき大文字I\",Icirc:\"曲折アクセントつき大文字I\",Iuml:\"分音記号つき大文字I\",ETH:\"[アイスランド語]大文字ETH\",Ntilde:\"チルダつき大文字N\",Ograve:\"抑音符つき大文字O\",Oacute:\"揚音符つき大文字O\",Ocirc:\"曲折アクセントつき大文字O\",Otilde:\"チルダつき大文字O\",Ouml:\" 分音記号つき大文字O\",\ntimes:\"乗算記号\",Oslash:\"打ち消し線つき大文字O\",Ugrave:\"抑音符つき大文字U\",Uacute:\"揚音符つき大文字U\",Ucirc:\"曲折アクセントつき大文字U\",Uuml:\"分音記号つき大文字U\",Yacute:\"揚音符つき大文字Y\",THORN:\"[アイスランド語]大文字THORN\",szlig:\"ドイツ語エスツェット\",agrave:\"抑音符つき小文字a\",aacute:\"揚音符つき小文字a\",acirc:\"曲折アクセントつき小文字a\",atilde:\"チルダつき小文字a\",auml:\"分音記号つき小文字a\",aring:\"リングつき小文字a\",aelig:\"aとeの合字\",ccedil:\"セディラつき小文字c\",egrave:\"抑音符つき小文字e\",eacute:\"揚音符つき小文字e\",ecirc:\"曲折アクセントつき小文字e\",euml:\"分音記号つき小文字e\",igrave:\"抑音符つき小文字i\",iacute:\"揚音符つき小文字i\",icirc:\"曲折アクセントつき小文字i\",iuml:\"分音記号つき小文字i\",eth:\"アイスランド語小文字eth\",\nntilde:\"チルダつき小文字n\",ograve:\"抑音符つき小文字o\",oacute:\"揚音符つき小文字o\",ocirc:\"曲折アクセントつき小文字o\",otilde:\"チルダつき小文字o\",ouml:\"分音記号つき小文字o\",divide:\"除算記号\",oslash:\"打ち消し線つき小文字o\",ugrave:\"抑音符つき小文字u\",uacute:\"揚音符つき小文字u\",ucirc:\"曲折アクセントつき小文字u\",uuml:\"分音記号つき小文字u\",yacute:\"揚音符つき小文字y\",thorn:\"アイスランド語小文字thorn\",yuml:\"分音記号つき小文字y\",OElig:\"OとEの合字\",oelig:\"oとeの合字\",372:\"曲折アクセントつき大文字W\",374:\"曲折アクセントつき大文字Y\",373:\"曲折アクセントつき小文字w\",375:\"曲折アクセントつき小文字y\",sbquo:\"シングル下引用符\",8219:\"左右逆の左引用符\",bdquo:\"ダブル下引用符\",hellip:\"三点リーダ\",trade:\"商標記号\",9658:\"右黒三角ポインタ\",bull:\"黒丸\",\nrarr:\"右矢印\",rArr:\"右二重矢印\",hArr:\"左右二重矢印\",diams:\"ダイヤ\",asymp:\"漸近\"});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/it.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/it.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"specialchar\",\"it\",{euro:\"Simbolo Euro\",lsquo:\"Virgoletta singola sinistra\",rsquo:\"Virgoletta singola destra\",ldquo:\"Virgolette aperte\",rdquo:\"Virgolette chiuse\",ndash:\"Trattino\",mdash:\"Trattino lungo\",iexcl:\"Punto esclavamativo invertito\",cent:\"Simbolo Cent\",pound:\"Simbolo Sterlina\",curren:\"Simbolo Moneta\",yen:\"Simbolo Yen\",brvbar:\"Barra interrotta\",sect:\"Simbolo di sezione\",uml:\"Dieresi\",copy:\"Simbolo Copyright\",ordf:\"Indicatore ordinale femminile\",laquo:\"Virgolette basse aperte\",\nnot:\"Nessun segno\",reg:\"Simbolo Registrato\",macr:\"Macron\",deg:\"Simbolo Grado\",sup2:\"Apice Due\",sup3:\"Apice Tre\",acute:\"Accento acuto\",micro:\"Simbolo Micro\",para:\"Simbolo Paragrafo\",middot:\"Punto centrale\",cedil:\"Cediglia\",sup1:\"Apice Uno\",ordm:\"Indicatore ordinale maschile\",raquo:\"Virgolette basse chiuse\",frac14:\"Frazione volgare un quarto\",frac12:\"Frazione volgare un mezzo\",frac34:\"Frazione volgare tre quarti\",iquest:\"Punto interrogativo invertito\",Agrave:\"Lettera maiuscola latina A con accento grave\",\nAacute:\"Lettera maiuscola latina A con accento acuto\",Acirc:\"Lettera maiuscola latina A con accento circonflesso\",Atilde:\"Lettera maiuscola latina A con tilde\",Auml:\"Lettera maiuscola latina A con dieresi\",Aring:\"Lettera maiuscola latina A con anello sopra\",AElig:\"Lettera maiuscola latina AE\",Ccedil:\"Lettera maiuscola latina C con cediglia\",Egrave:\"Lettera maiuscola latina E con accento grave\",Eacute:\"Lettera maiuscola latina E con accento acuto\",Ecirc:\"Lettera maiuscola latina E con accento circonflesso\",\nEuml:\"Lettera maiuscola latina E con dieresi\",Igrave:\"Lettera maiuscola latina I con accento grave\",Iacute:\"Lettera maiuscola latina I con accento acuto\",Icirc:\"Lettera maiuscola latina I con accento circonflesso\",Iuml:\"Lettera maiuscola latina I con dieresi\",ETH:\"Lettera maiuscola latina Eth\",Ntilde:\"Lettera maiuscola latina N con tilde\",Ograve:\"Lettera maiuscola latina O con accento grave\",Oacute:\"Lettera maiuscola latina O con accento acuto\",Ocirc:\"Lettera maiuscola latina O con accento circonflesso\",\nOtilde:\"Lettera maiuscola latina O con tilde\",Ouml:\"Lettera maiuscola latina O con dieresi\",times:\"Simbolo di moltiplicazione\",Oslash:\"Lettera maiuscola latina O barrata\",Ugrave:\"Lettera maiuscola latina U con accento grave\",Uacute:\"Lettera maiuscola latina U con accento acuto\",Ucirc:\"Lettera maiuscola latina U con accento circonflesso\",Uuml:\"Lettera maiuscola latina U con accento circonflesso\",Yacute:\"Lettera maiuscola latina Y con accento acuto\",THORN:\"Lettera maiuscola latina Thorn\",szlig:\"Lettera latina minuscola doppia S\",\nagrave:\"Lettera minuscola latina a con accento grave\",aacute:\"Lettera minuscola latina a con accento acuto\",acirc:\"Lettera minuscola latina a con accento circonflesso\",atilde:\"Lettera minuscola latina a con tilde\",auml:\"Lettera minuscola latina a con dieresi\",aring:\"Lettera minuscola latina a con anello superiore\",aelig:\"Lettera minuscola latina ae\",ccedil:\"Lettera minuscola latina c con cediglia\",egrave:\"Lettera minuscola latina e con accento grave\",eacute:\"Lettera minuscola latina e con accento acuto\",\necirc:\"Lettera minuscola latina e con accento circonflesso\",euml:\"Lettera minuscola latina e con dieresi\",igrave:\"Lettera minuscola latina i con accento grave\",iacute:\"Lettera minuscola latina i con accento acuto\",icirc:\"Lettera minuscola latina i con accento circonflesso\",iuml:\"Lettera minuscola latina i con dieresi\",eth:\"Lettera minuscola latina eth\",ntilde:\"Lettera minuscola latina n con tilde\",ograve:\"Lettera minuscola latina o con accento grave\",oacute:\"Lettera minuscola latina o con accento acuto\",\nocirc:\"Lettera minuscola latina o con accento circonflesso\",otilde:\"Lettera minuscola latina o con tilde\",ouml:\"Lettera minuscola latina o con dieresi\",divide:\"Simbolo di divisione\",oslash:\"Lettera minuscola latina o barrata\",ugrave:\"Lettera minuscola latina u con accento grave\",uacute:\"Lettera minuscola latina u con accento acuto\",ucirc:\"Lettera minuscola latina u con accento circonflesso\",uuml:\"Lettera minuscola latina u con dieresi\",yacute:\"Lettera minuscola latina y con accento acuto\",thorn:\"Lettera minuscola latina thorn\",\nyuml:\"Lettera minuscola latina y con dieresi\",OElig:\"Legatura maiuscola latina OE\",oelig:\"Legatura minuscola latina oe\",372:\"Lettera maiuscola latina W con accento circonflesso\",374:\"Lettera maiuscola latina Y con accento circonflesso\",373:\"Lettera minuscola latina w con accento circonflesso\",375:\"Lettera minuscola latina y con accento circonflesso\",sbquo:\"Singola virgoletta bassa low-9\",8219:\"Singola virgoletta bassa low-9 inversa\",bdquo:\"Doppia virgoletta bassa low-9\",hellip:\"Ellissi orizzontale\",\ntrade:\"Simbolo TM\",9658:\"Puntatore nero rivolto verso destra\",bull:\"Punto\",rarr:\"Freccia verso destra\",rArr:\"Doppia freccia verso destra\",hArr:\"Doppia freccia sinistra destra\",diams:\"Simbolo nero diamante\",asymp:\"Quasi uguale a\"});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/ca.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/ca.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"specialchar\",\"ca\",{euro:\"Símbol d'euro\",lsquo:\"Signe de cometa simple esquerra\",rsquo:\"Signe de cometa simple dreta\",ldquo:\"Signe de cometa doble esquerra\",rdquo:\"Signe de cometa doble dreta\",ndash:\"Guió\",mdash:\"Guió baix\",iexcl:\"Signe d'exclamació inversa\",cent:\"Símbol de percentatge\",pound:\"Símbol de lliura\",curren:\"Símbol de moneda\",yen:\"Símbol de Yen\",brvbar:\"Barra trencada\",sect:\"Símbol de secció\",uml:\"Dièresi\",copy:\"Símbol de Copyright\",ordf:\"Indicador ordinal femení\",\nlaquo:\"Signe de cometes angulars esquerra\",not:\"Símbol de negació\",reg:\"Símbol registrat\",macr:\"Macron\",deg:\"Símbol de grau\",sup2:\"Superíndex dos\",sup3:\"Superíndex tres\",acute:\"Accent agut\",micro:\"Símbol de micro\",para:\"Símbol de calderó\",middot:\"Punt volat\",cedil:\"Ce trencada\",sup1:\"Superíndex u\",ordm:\"Indicador ordinal masculí\",raquo:\"Signe de cometes angulars dreta\",frac14:\"Fracció vulgar un quart\",frac12:\"Fracció vulgar una meitat\",frac34:\"Fracció vulgar tres quarts\",iquest:\"Símbol d'interrogació invertit\",\nAgrave:\"Lletra majúscula llatina A amb accent greu\",Aacute:\"Lletra majúscula llatina A amb accent agut\",Acirc:\"Lletra majúscula llatina A amb circumflex\",Atilde:\"Lletra majúscula llatina A amb titlla\",Auml:\"Lletra majúscula llatina A amb dièresi\",Aring:\"Lletra majúscula llatina A amb anell superior\",AElig:\"Lletra majúscula llatina Æ\",Ccedil:\"Lletra majúscula llatina C amb ce trencada\",Egrave:\"Lletra majúscula llatina E amb accent greu\",Eacute:\"Lletra majúscula llatina E amb accent agut\",Ecirc:\"Lletra majúscula llatina E amb circumflex\",\nEuml:\"Lletra majúscula llatina E amb dièresi\",Igrave:\"Lletra majúscula llatina I amb accent greu\",Iacute:\"Lletra majúscula llatina I amb accent agut\",Icirc:\"Lletra majúscula llatina I amb circumflex\",Iuml:\"Lletra majúscula llatina I amb dièresi\",ETH:\"Lletra majúscula llatina Eth\",Ntilde:\"Lletra majúscula llatina N amb titlla\",Ograve:\"Lletra majúscula llatina O amb accent greu\",Oacute:\"Lletra majúscula llatina O amb accent agut\",Ocirc:\"Lletra majúscula llatina O amb circumflex\",Otilde:\"Lletra majúscula llatina O amb titlla\",\nOuml:\"Lletra majúscula llatina O amb dièresi\",times:\"Símbol de multiplicació\",Oslash:\"Lletra majúscula llatina O amb barra\",Ugrave:\"Lletra majúscula llatina U amb accent greu\",Uacute:\"Lletra majúscula llatina U amb accent agut\",Ucirc:\"Lletra majúscula llatina U amb circumflex\",Uuml:\"Lletra majúscula llatina U amb dièresi\",Yacute:\"Lletra majúscula llatina Y amb accent agut\",THORN:\"Lletra majúscula llatina Thorn\",szlig:\"Lletra minúscula llatina sharp s\",agrave:\"Lletra minúscula llatina a amb accent greu\",\naacute:\"Lletra minúscula llatina a amb accent agut\",acirc:\"Lletra minúscula llatina a amb circumflex\",atilde:\"Lletra minúscula llatina a amb titlla\",auml:\"Lletra minúscula llatina a amb dièresi\",aring:\"Lletra minúscula llatina a amb anell superior\",aelig:\"Lletra minúscula llatina æ\",ccedil:\"Lletra minúscula llatina c amb ce trencada\",egrave:\"Lletra minúscula llatina e amb accent greu\",eacute:\"Lletra minúscula llatina e amb accent agut\",ecirc:\"Lletra minúscula llatina e amb circumflex\",euml:\"Lletra minúscula llatina e amb dièresi\",\nigrave:\"Lletra minúscula llatina i amb accent greu\",iacute:\"Lletra minúscula llatina i amb accent agut\",icirc:\"Lletra minúscula llatina i amb circumflex\",iuml:\"Lletra minúscula llatina i amb dièresi\",eth:\"Lletra minúscula llatina eth\",ntilde:\"Lletra minúscula llatina n amb titlla\",ograve:\"Lletra minúscula llatina o amb accent greu\",oacute:\"Lletra minúscula llatina o amb accent agut\",ocirc:\"Lletra minúscula llatina o amb circumflex\",otilde:\"Lletra minúscula llatina o amb titlla\",ouml:\"Lletra minúscula llatina o amb dièresi\",\ndivide:\"Símbol de divisió\",oslash:\"Lletra minúscula llatina o amb barra\",ugrave:\"Lletra minúscula llatina u amb accent greu\",uacute:\"Lletra minúscula llatina u amb accent agut\",ucirc:\"Lletra minúscula llatina u amb circumflex\",uuml:\"Lletra minúscula llatina u amb dièresi\",yacute:\"Lletra minúscula llatina y amb accent agut\",thorn:\"Lletra minúscula llatina thorn\",yuml:\"Lletra minúscula llatina y amb dièresi\",OElig:\"Lligadura majúscula llatina OE\",oelig:\"Lligadura minúscula llatina oe\",372:\"Lletra majúscula llatina W amb circumflex\",\n374:\"Lletra majúscula llatina Y amb circumflex\",373:\"Lletra minúscula llatina w amb circumflex\",375:\"Lletra minúscula llatina y amb circumflex\",sbquo:\"Signe de cita simple baixa-9\",8219:\"Signe de cita simple alta-invertida-9\",bdquo:\"Signe de cita doble baixa-9\",hellip:\"Punts suspensius\",trade:\"Símbol de marca registrada\",9658:\"Punter negre apuntant cap a la dreta\",bull:\"Vinyeta\",rarr:\"Fletxa cap a la dreta\",rArr:\"Doble fletxa cap a la dreta\",hArr:\"Doble fletxa esquerra dreta\",diams:\"Vestit negre diamant\",\nasymp:\"Gairebé igual a\"});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/ru.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/ru.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"specialchar\",\"ru\",{euro:\"Знак евро\",lsquo:\"Левая одинарная кавычка\",rsquo:\"Правая одинарная кавычка\",ldquo:\"Левая двойная кавычка\",rdquo:\"Левая двойная кавычка\",ndash:\"Среднее тире\",mdash:\"Длинное тире\",iexcl:\"перевёрнутый восклицательный знак\",cent:\"Цент\",pound:\"Фунт\",curren:\"Знак валюты\",yen:\"Йена\",brvbar:\"Вертикальная черта с разрывом\",sect:\"Знак параграфа\",uml:\"Умлаут\",copy:\"Знак охраны авторского права\",ordf:\"Указатель окончания женского рода ...ая\",laquo:\"Левая кавычка-«ёлочка»\",\nnot:\"Отрицание\",reg:\"Знак охраны смежных прав\\\\t\",macr:\"Макрон\",deg:\"Градус\",sup2:\"Надстрочное два\",sup3:\"Надстрочное три\",acute:\"Акут\",micro:\"Микро\",para:\"Абзац\",middot:\"Интерпункт\",cedil:\"Седиль\",sup1:\"Надстрочная единица\",ordm:\"Порядковое числительное\",raquo:\"Правая кавычка-«ёлочка»\",frac14:\"Одна четвертая\",frac12:\"Одна вторая\",frac34:\"Три четвёртых\",iquest:\"Перевёрнутый вопросительный знак\",Agrave:\"Латинская заглавная буква А с апострофом\",Aacute:\"Латинская заглавная буква A с ударением\",Acirc:\"Латинская заглавная буква А с циркумфлексом\",\nAtilde:\"Латинская заглавная буква А с тильдой\",Auml:\"Латинская заглавная буква А с тремой\",Aring:\"Латинская заглавная буква А с кольцом над ней\",AElig:\"Латинская большая буква Æ\",Ccedil:\"Латинская заглавная буква C с седилью\",Egrave:\"Латинская заглавная буква Е с апострофом\",Eacute:\"Латинская заглавная буква Е с ударением\",Ecirc:\"Латинская заглавная буква Е с циркумфлексом\",Euml:\"Латинская заглавная буква Е с тремой\",Igrave:\"Латинская заглавная буква I с апострофом\",Iacute:\"Латинская заглавная буква I с ударением\",\nIcirc:\"Латинская заглавная буква I с циркумфлексом\",Iuml:\"Латинская заглавная буква I с тремой\",ETH:\"Латинская большая буква Eth\",Ntilde:\"Латинская заглавная буква N с тильдой\",Ograve:\"Латинская заглавная буква O с апострофом\",Oacute:\"Латинская заглавная буква O с ударением\",Ocirc:\"Латинская заглавная буква O с циркумфлексом\",Otilde:\"Латинская заглавная буква O с тильдой\",Ouml:\"Латинская заглавная буква O с тремой\",times:\"Знак умножения\",Oslash:\"Латинская большая перечеркнутая O\",Ugrave:\"Латинская заглавная буква U с апострофом\",\nUacute:\"Латинская заглавная буква U с ударением\",Ucirc:\"Латинская заглавная буква U с циркумфлексом\",Uuml:\"Латинская заглавная буква U с тремой\",Yacute:\"Латинская заглавная буква Y с ударением\",THORN:\"Латинская заглавная буква Thorn\",szlig:\"Знак диеза\",agrave:\"Латинская маленькая буква a с апострофом\",aacute:\"Латинская маленькая буква a с ударением\",acirc:\"Латинская маленькая буква a с циркумфлексом\",atilde:\"Латинская маленькая буква a с тильдой\",auml:\"Латинская маленькая буква a с тремой\",aring:\"Латинская маленькая буква a с кольцом\",\naelig:\"Латинская маленькая буква æ\",ccedil:\"Латинская маленькая буква с с седилью\",egrave:\"Латинская маленькая буква е с апострофом\",eacute:\"Латинская маленькая буква е с ударением\",ecirc:\"Латинская маленькая буква е с циркумфлексом\",euml:\"Латинская маленькая буква е с тремой\",igrave:\"Латинская маленькая буква i с апострофом\",iacute:\"Латинская маленькая буква i с ударением\",icirc:\"Латинская маленькая буква i с циркумфлексом\",iuml:\"Латинская маленькая буква i с тремой\",eth:\"Латинская маленькая буква eth\",\nntilde:\"Латинская маленькая буква n с тильдой\",ograve:\"Латинская маленькая буква o с апострофом\",oacute:\"Латинская маленькая буква o с ударением\",ocirc:\"Латинская маленькая буква o с циркумфлексом\",otilde:\"Латинская маленькая буква o с тильдой\",ouml:\"Латинская маленькая буква o с тремой\",divide:\"Знак деления\",oslash:\"Латинская строчная перечеркнутая o\",ugrave:\"Латинская маленькая буква u с апострофом\",uacute:\"Латинская маленькая буква u с ударением\",ucirc:\"Латинская маленькая буква u с циркумфлексом\",\nuuml:\"Латинская маленькая буква u с тремой\",yacute:\"Латинская маленькая буква y с ударением\",thorn:\"Латинская маленькая буква thorn\",yuml:\"Латинская маленькая буква y с тремой\",OElig:\"Латинская прописная лигатура OE\",oelig:\"Латинская строчная лигатура oe\",372:\"Латинская заглавная буква W с циркумфлексом\",374:\"Латинская заглавная буква Y с циркумфлексом\",373:\"Латинская маленькая буква w с циркумфлексом\",375:\"Латинская маленькая буква y с циркумфлексом\",sbquo:\"Нижняя одинарная кавычка\",8219:\"Правая одинарная кавычка\",\nbdquo:\"Левая двойная кавычка\",hellip:\"Горизонтальное многоточие\",trade:\"Товарный знак\",9658:\"Черный указатель вправо\",bull:\"Маркер списка\",rarr:\"Стрелка вправо\",rArr:\"Двойная стрелка вправо\",hArr:\"Двойная стрелка влево-вправо\",diams:\"Черный ромб\",asymp:\"Примерно равно\"});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/km.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/km.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"specialchar\",\"km\",{euro:\"សញ្ញា​អឺរ៉ូ\",lsquo:\"Left single quotation mark\",rsquo:\"Right single quotation mark\",ldquo:\"Left double quotation mark\",rdquo:\"Right double quotation mark\",ndash:\"En dash\",mdash:\"Em dash\",iexcl:\"Inverted exclamation mark\",cent:\"សញ្ញា​សេន\",pound:\"សញ្ញា​ផោន\",curren:\"សញ្ញា​រូបិយបណ្ណ\",yen:\"សញ្ញា​យ៉េន\",brvbar:\"Broken bar\",sect:\"Section sign\",uml:\"Diaeresis\",copy:\"សញ្ញា​រក្សា​សិទ្ធិ\",ordf:\"Feminine ordinal indicator\",laquo:\"Left-pointing double angle quotation mark\",\nnot:\"Not sign\",reg:\"Registered sign\",macr:\"Macron\",deg:\"សញ្ញា​ដឺក្រេ\",sup2:\"Superscript two\",sup3:\"Superscript three\",acute:\"Acute accent\",micro:\"សញ្ញា​មីក្រូ\",para:\"Pilcrow sign\",middot:\"Middle dot\",cedil:\"Cedilla\",sup1:\"Superscript one\",ordm:\"Masculine ordinal indicator\",raquo:\"Right-pointing double angle quotation mark\",frac14:\"Vulgar fraction one quarter\",frac12:\"Vulgar fraction one half\",frac34:\"Vulgar fraction three quarters\",iquest:\"Inverted question mark\",Agrave:\"Latin capital letter A with grave accent\",\nAacute:\"Latin capital letter A with acute accent\",Acirc:\"Latin capital letter A with circumflex\",Atilde:\"Latin capital letter A with tilde\",Auml:\"Latin capital letter A with diaeresis\",Aring:\"Latin capital letter A with ring above\",AElig:\"Latin Capital letter Æ\",Ccedil:\"Latin capital letter C with cedilla\",Egrave:\"Latin capital letter E with grave accent\",Eacute:\"Latin capital letter E with acute accent\",Ecirc:\"Latin capital letter E with circumflex\",Euml:\"Latin capital letter E with diaeresis\",Igrave:\"Latin capital letter I with grave accent\",\nIacute:\"Latin capital letter I with acute accent\",Icirc:\"Latin capital letter I with circumflex\",Iuml:\"Latin capital letter I with diaeresis\",ETH:\"Latin capital letter Eth\",Ntilde:\"Latin capital letter N with tilde\",Ograve:\"Latin capital letter O with grave accent\",Oacute:\"Latin capital letter O with acute accent\",Ocirc:\"Latin capital letter O with circumflex\",Otilde:\"Latin capital letter O with tilde\",Ouml:\"Latin capital letter O with diaeresis\",times:\"Multiplication sign\",Oslash:\"Latin capital letter O with stroke\",\nUgrave:\"Latin capital letter U with grave accent\",Uacute:\"Latin capital letter U with acute accent\",Ucirc:\"Latin capital letter U with circumflex\",Uuml:\"Latin capital letter U with diaeresis\",Yacute:\"Latin capital letter Y with acute accent\",THORN:\"Latin capital letter Thorn\",szlig:\"Latin small letter sharp s\",agrave:\"Latin small letter a with grave accent\",aacute:\"Latin small letter a with acute accent\",acirc:\"Latin small letter a with circumflex\",atilde:\"Latin small letter a with tilde\",auml:\"Latin small letter a with diaeresis\",\naring:\"Latin small letter a with ring above\",aelig:\"Latin small letter æ\",ccedil:\"Latin small letter c with cedilla\",egrave:\"Latin small letter e with grave accent\",eacute:\"Latin small letter e with acute accent\",ecirc:\"Latin small letter e with circumflex\",euml:\"Latin small letter e with diaeresis\",igrave:\"Latin small letter i with grave accent\",iacute:\"Latin small letter i with acute accent\",icirc:\"Latin small letter i with circumflex\",iuml:\"Latin small letter i with diaeresis\",eth:\"Latin small letter eth\",\nntilde:\"Latin small letter n with tilde\",ograve:\"Latin small letter o with grave accent\",oacute:\"Latin small letter o with acute accent\",ocirc:\"Latin small letter o with circumflex\",otilde:\"Latin small letter o with tilde\",ouml:\"Latin small letter o with diaeresis\",divide:\"Division sign\",oslash:\"Latin small letter o with stroke\",ugrave:\"Latin small letter u with grave accent\",uacute:\"Latin small letter u with acute accent\",ucirc:\"Latin small letter u with circumflex\",uuml:\"Latin small letter u with diaeresis\",\nyacute:\"Latin small letter y with acute accent\",thorn:\"Latin small letter thorn\",yuml:\"Latin small letter y with diaeresis\",OElig:\"Latin capital ligature OE\",oelig:\"Latin small ligature oe\",372:\"Latin capital letter W with circumflex\",374:\"Latin capital letter Y with circumflex\",373:\"Latin small letter w with circumflex\",375:\"Latin small letter y with circumflex\",sbquo:\"Single low-9 quotation mark\",8219:\"Single high-reversed-9 quotation mark\",bdquo:\"Double low-9 quotation mark\",hellip:\"Horizontal ellipsis\",\ntrade:\"Trade mark sign\",9658:\"Black right-pointing pointer\",bull:\"Bullet\",rarr:\"Rightwards arrow\",rArr:\"Rightwards double arrow\",hArr:\"Left right double arrow\",diams:\"Black diamond suit\",asymp:\"Almost equal to\"});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/fa.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/fa.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"specialchar\",\"fa\",{euro:\"نشان یورو\",lsquo:\"علامت نقل قول تکی چپ\",rsquo:\"علامت نقل قول تکی راست\",ldquo:\"علامت نقل قول دوتایی چپ\",rdquo:\"علامت نقل قول دوتایی راست\",ndash:\"خط تیره En\",mdash:\"خط تیره Em\",iexcl:\"علامت تعجب وارونه\",cent:\"نشان سنت\",pound:\"نشان پوند\",curren:\"نشان ارز\",yen:\"نشان ین\",brvbar:\"نوار شکسته\",sect:\"نشان بخش\",uml:\"نشان سواگیری\",copy:\"نشان کپی رایت\",ordf:\"شاخص ترتیبی مونث\",laquo:\"اشاره چپ مکرر برای زاویه علامت نقل قول\",not:\"نشان ثبت نشده\",reg:\"نشان ثبت شده\",\nmacr:\"نشان خط بالای حرف\",deg:\"نشان درجه\",sup2:\"بالانویس دو\",sup3:\"بالانویس سه\",acute:\"لهجه غلیظ\",micro:\"نشان مایکرو\",para:\"نشان محل بند\",middot:\"نقطه میانی\",cedil:\"سدیل\",sup1:\"بالانویس 1\",ordm:\"شاخص ترتیبی مذکر\",raquo:\"نشان زاویه‌دار دوتایی نقل قول راست چین\",frac14:\"واحد عامیانه 1/4\",frac12:\"واحد عامینه نصف\",frac34:\"واحد عامیانه 3/4\",iquest:\"علامت سوال معکوس\",Agrave:\"حرف A بزرگ لاتین با تلفظ غلیظ\",Aacute:\"حرف A بزرگ لاتین با تلفظ شدید\",Acirc:\"حرف A بزرگ لاتین با دور\",Atilde:\"حرف A بزرگ لاتین با صدای کامی\",\nAuml:\"حرف A بزرگ لاتین با نشان سواگیری\",Aring:\"حرف A بزرگ لاتین با حلقه بالا\",AElig:\"حرف Æ بزرگ لاتین\",Ccedil:\"حرف C بزرگ لاتین با نشان سواگیری\",Egrave:\"حرف E بزرگ لاتین با تلفظ درشت\",Eacute:\"حرف E بزرگ لاتین با تلفظ زیر\",Ecirc:\"حرف E بزرگ لاتین با خمان\",Euml:\"حرف E بزرگ لاتین با نشان سواگیری\",Igrave:\"حرف I بزرگ لاتین با تلفظ درشت\",Iacute:\"حرف I بزرگ لاتین با تلفظ ریز\",Icirc:\"حرف I بزرگ لاتین با خمان\",Iuml:\"حرف I بزرگ لاتین با نشان سواگیری\",ETH:\"حرف لاتین بزرگ واکه ترتیبی\",Ntilde:\"حرف N بزرگ لاتین با مد\",\nOgrave:\"حرف O بزرگ لاتین با تلفظ درشت\",Oacute:\"حرف O بزرگ لاتین با تلفظ ریز\",Ocirc:\"حرف O بزرگ لاتین با خمان\",Otilde:\"حرف O بزرگ لاتین با مد\",Ouml:\"حرف O بزرگ لاتین با نشان سواگیری\",times:\"نشان ضربدر\",Oslash:\"حرف O بزرگ لاتین با میان خط\",Ugrave:\"حرف U بزرگ لاتین با تلفظ درشت\",Uacute:\"حرف U بزرگ لاتین با تلفظ ریز\",Ucirc:\"حرف U بزرگ لاتین با خمان\",Uuml:\"حرف U بزرگ لاتین با نشان سواگیری\",Yacute:\"حرف Y بزرگ لاتین با تلفظ ریز\",THORN:\"حرف بزرگ لاتین خاردار\",szlig:\"حرف کوچک لاتین شارپ s\",agrave:\"حرف a کوچک لاتین با تلفظ درشت\",\naacute:\"حرف a کوچک لاتین با تلفظ ریز\",acirc:\"حرف a کوچک لاتین با خمان\",atilde:\"حرف a کوچک لاتین با صدای کامی\",auml:\"حرف a کوچک لاتین با نشان سواگیری\",aring:\"حرف a کوچک لاتین گوشواره دار\",aelig:\"حرف کوچک لاتین æ\",ccedil:\"حرف c کوچک لاتین با نشان سدیل\",egrave:\"حرف e کوچک لاتین با تلفظ درشت\",eacute:\"حرف e کوچک لاتین با تلفظ ریز\",ecirc:\"حرف e کوچک لاتین با خمان\",euml:\"حرف e کوچک لاتین با نشان سواگیری\",igrave:\"حرف i کوچک لاتین با تلفظ درشت\",iacute:\"حرف i کوچک لاتین با تلفظ ریز\",icirc:\"حرف i کوچک لاتین با خمان\",\niuml:\"حرف i کوچک لاتین با نشان سواگیری\",eth:\"حرف کوچک لاتین eth\",ntilde:\"حرف n کوچک لاتین با صدای کامی\",ograve:\"حرف o کوچک لاتین با تلفظ درشت\",oacute:\"حرف o کوچک لاتین با تلفظ زیر\",ocirc:\"حرف o کوچک لاتین با خمان\",otilde:\"حرف o کوچک لاتین با صدای کامی\",ouml:\"حرف o کوچک لاتین با نشان سواگیری\",divide:\"نشان بخش\",oslash:\"حرف o کوچک لاتین با میان خط\",ugrave:\"حرف u کوچک لاتین با تلفظ درشت\",uacute:\"حرف u کوچک لاتین با تلفظ ریز\",ucirc:\"حرف u کوچک لاتین با خمان\",uuml:\"حرف u کوچک لاتین با نشان سواگیری\",yacute:\"حرف y کوچک لاتین با تلفظ ریز\",\nthorn:\"حرف کوچک لاتین خاردار\",yuml:\"حرف y کوچک لاتین با نشان سواگیری\",OElig:\"بند بزرگ لاتین OE\",oelig:\"بند کوچک لاتین oe\",372:\"حرف W بزرگ لاتین با خمان\",374:\"حرف Y بزرگ لاتین با خمان\",373:\"حرف w کوچک لاتین با خمان\",375:\"حرف y کوچک لاتین با خمان\",sbquo:\"نشان نقل قول تکی زیر-9\",8219:\"نشان نقل قول تکی high-reversed-9\",bdquo:\"نقل قول دوتایی پایین-9\",hellip:\"حذف افقی\",trade:\"نشان تجاری\",9658:\"نشانگر سیاه جهت راست\",bull:\"گلوله\",rarr:\"فلش راست\",rArr:\"فلش دوتایی راست\",hArr:\"فلش دوتایی چپ راست\",diams:\"نشان الماس سیاه\",\nasymp:\"تقریبا برابر با\"});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/fi.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/fi.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"specialchar\",\"fi\",{euro:\"Euron merkki\",lsquo:\"Vasen yksittäinen lainausmerkki\",rsquo:\"Oikea yksittäinen lainausmerkki\",ldquo:\"Vasen kaksoislainausmerkki\",rdquo:\"Oikea kaksoislainausmerkki\",ndash:\"En dash\",mdash:\"Em dash\",iexcl:\"Inverted exclamation mark\",cent:\"Sentin merkki\",pound:\"Punnan merkki\",curren:\"Valuuttamerkki\",yen:\"Yenin merkki\",brvbar:\"Broken bar\",sect:\"Section sign\",uml:\"Diaeresis\",copy:\"Copyright sign\",ordf:\"Feminine ordinal indicator\",laquo:\"Left-pointing double angle quotation mark\",\nnot:\"Not sign\",reg:\"Rekisteröity merkki\",macr:\"Macron\",deg:\"Asteen merkki\",sup2:\"Yläindeksi kaksi\",sup3:\"Yläindeksi kolme\",acute:\"Acute accent\",micro:\"Mikron merkki\",para:\"Pilcrow sign\",middot:\"Middle dot\",cedil:\"Cedilla\",sup1:\"Yläindeksi yksi\",ordm:\"Masculine ordinal indicator\",raquo:\"Right-pointing double angle quotation mark\",frac14:\"Vulgar fraction one quarter\",frac12:\"Vulgar fraction one half\",frac34:\"Vulgar fraction three quarters\",iquest:\"Ylösalaisin oleva kysymysmerkki\",Agrave:\"Latin capital letter A with grave accent\",\nAacute:\"Latin capital letter A with acute accent\",Acirc:\"Latin capital letter A with circumflex\",Atilde:\"Latin capital letter A with tilde\",Auml:\"Latin capital letter A with diaeresis\",Aring:\"Latin capital letter A with ring above\",AElig:\"Latin Capital letter Æ\",Ccedil:\"Latin capital letter C with cedilla\",Egrave:\"Latin capital letter E with grave accent\",Eacute:\"Latin capital letter E with acute accent\",Ecirc:\"Latin capital letter E with circumflex\",Euml:\"Latin capital letter E with diaeresis\",Igrave:\"Latin capital letter I with grave accent\",\nIacute:\"Latin capital letter I with acute accent\",Icirc:\"Latin capital letter I with circumflex\",Iuml:\"Latin capital letter I with diaeresis\",ETH:\"Latin capital letter Eth\",Ntilde:\"Latin capital letter N with tilde\",Ograve:\"Latin capital letter O with grave accent\",Oacute:\"Latin capital letter O with acute accent\",Ocirc:\"Latin capital letter O with circumflex\",Otilde:\"Latin capital letter O with tilde\",Ouml:\"Latin capital letter O with diaeresis\",times:\"Kertomerkki\",Oslash:\"Latin capital letter O with stroke\",\nUgrave:\"Latin capital letter U with grave accent\",Uacute:\"Latin capital letter U with acute accent\",Ucirc:\"Latin capital letter U with circumflex\",Uuml:\"Latin capital letter U with diaeresis\",Yacute:\"Latin capital letter Y with acute accent\",THORN:\"Latin capital letter Thorn\",szlig:\"Latin small letter sharp s\",agrave:\"Latin small letter a with grave accent\",aacute:\"Latin small letter a with acute accent\",acirc:\"Latin small letter a with circumflex\",atilde:\"Latin small letter a with tilde\",auml:\"Latin small letter a with diaeresis\",\naring:\"Latin small letter a with ring above\",aelig:\"Latin small letter æ\",ccedil:\"Latin small letter c with cedilla\",egrave:\"Latin small letter e with grave accent\",eacute:\"Latin small letter e with acute accent\",ecirc:\"Latin small letter e with circumflex\",euml:\"Latin small letter e with diaeresis\",igrave:\"Latin small letter i with grave accent\",iacute:\"Latin small letter i with acute accent\",icirc:\"Latin small letter i with circumflex\",iuml:\"Latin small letter i with diaeresis\",eth:\"Latin small letter eth\",\nntilde:\"Latin small letter n with tilde\",ograve:\"Latin small letter o with grave accent\",oacute:\"Latin small letter o with acute accent\",ocirc:\"Latin small letter o with circumflex\",otilde:\"Latin small letter o with tilde\",ouml:\"Latin small letter o with diaeresis\",divide:\"Jakomerkki\",oslash:\"Latin small letter o with stroke\",ugrave:\"Latin small letter u with grave accent\",uacute:\"Latin small letter u with acute accent\",ucirc:\"Latin small letter u with circumflex\",uuml:\"Latin small letter u with diaeresis\",\nyacute:\"Latin small letter y with acute accent\",thorn:\"Latin small letter thorn\",yuml:\"Latin small letter y with diaeresis\",OElig:\"Latin capital ligature OE\",oelig:\"Latin small ligature oe\",372:\"Latin capital letter W with circumflex\",374:\"Latin capital letter Y with circumflex\",373:\"Latin small letter w with circumflex\",375:\"Latin small letter y with circumflex\",sbquo:\"Single low-9 quotation mark\",8219:\"Single high-reversed-9 quotation mark\",bdquo:\"Double low-9 quotation mark\",hellip:\"Horizontal ellipsis\",\ntrade:\"Tavaramerkki merkki\",9658:\"Black right-pointing pointer\",bull:\"Bullet\",rarr:\"Nuoli oikealle\",rArr:\"Kaksoisnuoli oikealle\",hArr:\"Kaksoisnuoli oikealle ja vasemmalle\",diams:\"Black diamond suit\",asymp:\"Noin\"});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/sv.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/sv.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"specialchar\",\"sv\",{euro:\"Eurotecken\",lsquo:\"Enkelt vänster citattecken\",rsquo:\"Enkelt höger citattecken\",ldquo:\"Dubbelt vänster citattecken\",rdquo:\"Dubbelt höger citattecken\",ndash:\"Snedstreck\",mdash:\"Långt tankstreck\",iexcl:\"Inverterad utropstecken\",cent:\"Centtecken\",pound:\"Pundtecken\",curren:\"Valutatecken\",yen:\"Yentecken\",brvbar:\"Brutet lodrätt streck\",sect:\"Paragraftecken\",uml:\"Diaeresis\",copy:\"Upphovsrättstecken\",ordf:\"Feminit ordningstalsindikator\",laquo:\"Vänsterställt dubbelt vinkelcitationstecken\",\nnot:\"Icke-tecken\",reg:\"Registrerad\",macr:\"Macron\",deg:\"Grader\",sup2:\"Upphöjt två\",sup3:\"Upphöjt tre\",acute:\"Akut accent\",micro:\"Mikrotecken\",para:\"Alinea\",middot:\"Centrerad prick\",cedil:\"Cedilj\",sup1:\"Upphöjt en\",ordm:\"Maskulina ordningsändelsen\",raquo:\"Högerställt dubbelt vinkelcitationstecken\",frac14:\"Bråktal - en kvart\",frac12:\"Bråktal - en halv\",frac34:\"Bråktal - tre fjärdedelar\",iquest:\"Inverterat frågetecken\",Agrave:\"Stort A med grav accent\",Aacute:\"Stort A med akutaccent\",Acirc:\"Stort A med circumflex\",\nAtilde:\"Stort A med tilde\",Auml:\"Stort A med diaresis\",Aring:\"Stort A med ring ovan\",AElig:\"Stort Æ\",Ccedil:\"Stort C med cedilj\",Egrave:\"Stort E med grav accent\",Eacute:\"Stort E med aktuaccent\",Ecirc:\"Stort E med circumflex\",Euml:\"Stort E med diaeresis\",Igrave:\"Stort I med grav accent\",Iacute:\"Stort I med akutaccent\",Icirc:\"Stort I med circumflex\",Iuml:\"Stort I med diaeresis\",ETH:\"Stort Eth\",Ntilde:\"Stort N med tilde\",Ograve:\"Stort O med grav accent\",Oacute:\"Stort O med aktuaccent\",Ocirc:\"Stort O med circumflex\",\nOtilde:\"Stort O med tilde\",Ouml:\"Stort O med diaeresis\",times:\"Multiplicera\",Oslash:\"Stor Ø\",Ugrave:\"Stort U med grav accent\",Uacute:\"Stort U med akutaccent\",Ucirc:\"Stort U med circumflex\",Uuml:\"Stort U med diaeresis\",Yacute:\"Stort Y med akutaccent\",THORN:\"Stort Thorn\",szlig:\"Litet dubbel-s/Eszett\",agrave:\"Litet a med grav accent\",aacute:\"Litet a med akutaccent\",acirc:\"Litet a med circumflex\",atilde:\"Litet a med tilde\",auml:\"Litet a med diaeresis\",aring:\"Litet a med ring ovan\",aelig:\"Bokstaven æ\",\nccedil:\"Litet c med cedilj\",egrave:\"Litet e med grav accent\",eacute:\"Litet e med akutaccent\",ecirc:\"Litet e med circumflex\",euml:\"Litet e med diaeresis\",igrave:\"Litet i med grav accent\",iacute:\"Litet i med akutaccent\",icirc:\"LItet i med circumflex\",iuml:\"Litet i med didaeresis\",eth:\"Litet eth\",ntilde:\"Litet n med tilde\",ograve:\"LItet o med grav accent\",oacute:\"LItet o med akutaccent\",ocirc:\"Litet o med circumflex\",otilde:\"LItet o med tilde\",ouml:\"Litet o med diaeresis\",divide:\"Division\",oslash:\"ø\",\nugrave:\"Litet u med grav accent\",uacute:\"Litet u med akutaccent\",ucirc:\"LItet u med circumflex\",uuml:\"Litet u med diaeresis\",yacute:\"Litet y med akutaccent\",thorn:\"Litet thorn\",yuml:\"Litet y med diaeresis\",OElig:\"Stor ligatur av OE\",oelig:\"Liten ligatur av oe\",372:\"Stort W med circumflex\",374:\"Stort Y med circumflex\",373:\"Litet w med circumflex\",375:\"Litet y med circumflex\",sbquo:\"Enkelt lågt 9-citationstecken\",8219:\"Enkelt högt bakvänt 9-citationstecken\",bdquo:\"Dubbelt lågt 9-citationstecken\",hellip:\"Horisontellt uteslutningstecken\",\ntrade:\"Varumärke\",9658:\"Svart högervänd pekare\",bull:\"Listpunkt\",rarr:\"Högerpil\",rArr:\"Dubbel högerpil\",hArr:\"Dubbel vänsterpil\",diams:\"Svart ruter\",asymp:\"Ungefär lika med\"});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/hu.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/hu.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"specialchar\",\"hu\",{euro:\"Euró jel\",lsquo:\"Bal szimpla idézőjel\",rsquo:\"Jobb szimpla idézőjel\",ldquo:\"Bal dupla idézőjel\",rdquo:\"Jobb dupla idézőjel\",ndash:\"Rövid gondolatjel\",mdash:\"Hosszú gondolatjel\",iexcl:\"Fordított felkiáltójel\",cent:\"Cent jel\",pound:\"Font jel\",curren:\"Valuta jel\",yen:\"Yen jel\",brvbar:\"Hosszú kettőspont\",sect:\"Paragrafus jel\",uml:\"Kettős hangzó jel\",copy:\"Szerzői jog jel\",ordf:\"Női sorrend mutatója\",laquo:\"Balra mutató duplanyíl\",not:\"Feltételes kötőjel\",\nreg:\"Bejegyzett védjegy jele\",macr:\"Hosszúsági jel\",deg:\"Fok jel\",sup2:\"Négyzeten jel\",sup3:\"Köbön jel\",acute:\"Éles ékezet\",micro:\"Mikro-jel\",para:\"Bekezdés jel\",middot:\"Közép pont\",cedil:\"Cédille\",sup1:\"Elsőn jel\",ordm:\"Férfi sorrend mutatója\",raquo:\"Jobbra mutató duplanyíl\",frac14:\"Egy negyed jel\",frac12:\"Egy ketted jel\",frac34:\"Három negyed jel\",iquest:\"Fordított kérdőjel\",Agrave:\"Latin nagy A fordított ékezettel\",Aacute:\"Latin nagy A normál ékezettel\",Acirc:\"Latin nagy A hajtott ékezettel\",Atilde:\"Latin nagy A hullámjellel\",\nAuml:\"Latin nagy A kettőspont ékezettel\",Aring:\"Latin nagy A gyűrű ékezettel\",AElig:\"Latin nagy Æ betű\",Ccedil:\"Latin nagy C cedillával\",Egrave:\"Latin nagy E fordított ékezettel\",Eacute:\"Latin nagy E normál ékezettel\",Ecirc:\"Latin nagy E hajtott ékezettel\",Euml:\"Latin nagy E dupla kettőspont ékezettel\",Igrave:\"Latin nagy I fordított ékezettel\",Iacute:\"Latin nagy I normál ékezettel\",Icirc:\"Latin nagy I hajtott ékezettel\",Iuml:\"Latin nagy I kettőspont ékezettel\",ETH:\"Latin nagy Eth betű\",Ntilde:\"Latin nagy N hullámjellel\",\nOgrave:\"Latin nagy O fordított ékezettel\",Oacute:\"Latin nagy O normál ékezettel\",Ocirc:\"Latin nagy O hajtott ékezettel\",Otilde:\"Latin nagy O hullámjellel\",Ouml:\"Latin nagy O kettőspont ékezettel\",times:\"Szorzás jel\",Oslash:\"Latin O betű áthúzással\",Ugrave:\"Latin nagy U fordított ékezettel\",Uacute:\"Latin nagy U normál ékezettel\",Ucirc:\"Latin nagy U hajtott ékezettel\",Uuml:\"Latin nagy U kettőspont ékezettel\",Yacute:\"Latin nagy Y normál ékezettel\",THORN:\"Latin nagy Thorn betű\",szlig:\"Latin kis s betű\",\nagrave:\"Latin kis a fordított ékezettel\",aacute:\"Latin kis a normál ékezettel\",acirc:\"Latin kis a hajtott ékezettel\",atilde:\"Latin kis a hullámjellel\",auml:\"Latin kis a kettőspont ékezettel\",aring:\"Latin kis a gyűrű ékezettel\",aelig:\"Latin kis æ betű\",ccedil:\"Latin kis c cedillával\",egrave:\"Latin kis e fordított ékezettel\",eacute:\"Latin kis e normál ékezettel\",ecirc:\"Latin kis e hajtott ékezettel\",euml:\"Latin kis e dupla kettőspont ékezettel\",igrave:\"Latin kis i fordított ékezettel\",iacute:\"Latin kis i normál ékezettel\",\nicirc:\"Latin kis i hajtott ékezettel\",iuml:\"Latin kis i kettőspont ékezettel\",eth:\"Latin kis eth betű\",ntilde:\"Latin kis n hullámjellel\",ograve:\"Latin kis o fordított ékezettel\",oacute:\"Latin kis o normál ékezettel\",ocirc:\"Latin kis o hajtott ékezettel\",otilde:\"Latin kis o hullámjellel\",ouml:\"Latin kis o kettőspont ékezettel\",divide:\"Osztásjel\",oslash:\"Latin kis o betű áthúzással\",ugrave:\"Latin kis u fordított ékezettel\",uacute:\"Latin kis u normál ékezettel\",ucirc:\"Latin kis u hajtott ékezettel\",\nuuml:\"Latin kis u kettőspont ékezettel\",yacute:\"Latin kis y normál ékezettel\",thorn:\"Latin kis thorn jel\",yuml:\"Latin kis y kettőspont ékezettel\",OElig:\"Latin nagy OE-jel\",oelig:\"Latin kis oe-jel\",372:\"Latin nagy W hajtott ékezettel\",374:\"Latin nagy Y hajtott ékezettel\",373:\"Latin kis w hajtott ékezettel\",375:\"Latin kis y hajtott ékezettel\",sbquo:\"Nyitó nyomdai szimpla idézőjel\",8219:\"Záró nyomdai záró idézőjel\",bdquo:\"Nyitó nyomdai dupla idézőjel\",hellip:\"Három pont\",trade:\"Kereskedelmi védjegy jele\",\n9658:\"Jobbra mutató fekete mutató\",bull:\"Golyó\",rarr:\"Jobbra mutató nyíl\",rArr:\"Jobbra mutató duplanyíl\",hArr:\"Bal-jobb duplanyíl\",diams:\"Fekete gyémánt jel\",asymp:\"Majdnem egyenlő jel\"});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/cy.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/cy.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"specialchar\",\"cy\",{euro:\"Arwydd yr Ewro\",lsquo:\"Dyfynnod chwith unigol\",rsquo:\"Dyfynnod dde unigol\",ldquo:\"Dyfynnod chwith dwbl\",rdquo:\"Dyfynnod dde dwbl\",ndash:\"Cysylltnod en\",mdash:\"Cysylltnod em\",iexcl:\"Ebychnod gwrthdro\",cent:\"Arwydd sent\",pound:\"Arwydd punt\",curren:\"Arwydd arian cyfred\",yen:\"Arwydd yen\",brvbar:\"Bar toriedig\",sect:\"Arwydd adran\",uml:\"Didolnod\",copy:\"Arwydd hawlfraint\",ordf:\"Dangosydd benywaidd\",laquo:\"Dyfynnod dwbl ar ongl i'r chwith\",not:\"Arwydd Nid\",\nreg:\"Arwydd cofrestredig\",macr:\"Macron\",deg:\"Arwydd gradd\",sup2:\"Dau uwchsgript\",sup3:\"Tri uwchsgript\",acute:\"Acen ddyrchafedig\",micro:\"Arwydd micro\",para:\"Arwydd pilcrow\",middot:\"Dot canol\",cedil:\"Sedila\",sup1:\"Un uwchsgript\",ordm:\"Dangosydd gwrywaidd\",raquo:\"Dyfynnod dwbl ar ongl i'r dde\",frac14:\"Ffracsiwn cyffredin un cwarter\",frac12:\"Ffracsiwn cyffredin un hanner\",frac34:\"Ffracsiwn cyffredin tri chwarter\",iquest:\"Marc cwestiwn gwrthdroëdig\",Agrave:\"Priflythyren A Lladinaidd gydag acen ddisgynedig\",\nAacute:\"Priflythyren A Lladinaidd gydag acen ddyrchafedig\",Acirc:\"Priflythyren A Lladinaidd gydag acen grom\",Atilde:\"Priflythyren A Lladinaidd gyda thild\",Auml:\"Priflythyren A Lladinaidd gyda didolnod\",Aring:\"Priflythyren A Lladinaidd gyda chylch uwchben\",AElig:\"Priflythyren Æ Lladinaidd\",Ccedil:\"Priflythyren C Lladinaidd gyda sedila\",Egrave:\"Priflythyren E Lladinaidd gydag acen ddisgynedig\",Eacute:\"Priflythyren E Lladinaidd gydag acen ddyrchafedig\",Ecirc:\"Priflythyren E Lladinaidd gydag acen grom\",\nEuml:\"Priflythyren E Lladinaidd gyda didolnod\",Igrave:\"Priflythyren I Lladinaidd gydag acen ddisgynedig\",Iacute:\"Priflythyren I Lladinaidd gydag acen ddyrchafedig\",Icirc:\"Priflythyren I Lladinaidd gydag acen grom\",Iuml:\"Priflythyren I Lladinaidd gyda didolnod\",ETH:\"Priflythyren Eth\",Ntilde:\"Priflythyren N Lladinaidd gyda thild\",Ograve:\"Priflythyren O Lladinaidd gydag acen ddisgynedig\",Oacute:\"Priflythyren O Lladinaidd gydag acen ddyrchafedig\",Ocirc:\"Priflythyren O Lladinaidd gydag acen grom\",Otilde:\"Priflythyren O Lladinaidd gyda thild\",\nOuml:\"Priflythyren O Lladinaidd gyda didolnod\",times:\"Arwydd lluosi\",Oslash:\"Priflythyren O Lladinaidd gyda strôc\",Ugrave:\"Priflythyren U Lladinaidd gydag acen ddisgynedig\",Uacute:\"Priflythyren U Lladinaidd gydag acen ddyrchafedig\",Ucirc:\"Priflythyren U Lladinaidd gydag acen grom\",Uuml:\"Priflythyren U Lladinaidd gyda didolnod\",Yacute:\"Priflythyren Y Lladinaidd gydag acen ddyrchafedig\",THORN:\"Priflythyren Thorn\",szlig:\"Llythyren s fach Lladinaidd siarp \",agrave:\"Llythyren a fach Lladinaidd gydag acen ddisgynedig\",\naacute:\"Llythyren a fach Lladinaidd gydag acen ddyrchafedig\",acirc:\"Llythyren a fach Lladinaidd gydag acen grom\",atilde:\"Llythyren a fach Lladinaidd gyda thild\",auml:\"Llythyren a fach Lladinaidd gyda didolnod\",aring:\"Llythyren a fach Lladinaidd gyda chylch uwchben\",aelig:\"Llythyren æ fach Lladinaidd\",ccedil:\"Llythyren c fach Lladinaidd gyda sedila\",egrave:\"Llythyren e fach Lladinaidd gydag acen ddisgynedig\",eacute:\"Llythyren e fach Lladinaidd gydag acen ddyrchafedig\",ecirc:\"Llythyren e fach Lladinaidd gydag acen grom\",\neuml:\"Llythyren e fach Lladinaidd gyda didolnod\",igrave:\"Llythyren i fach Lladinaidd gydag acen ddisgynedig\",iacute:\"Llythyren i fach Lladinaidd gydag acen ddyrchafedig\",icirc:\"Llythyren i fach Lladinaidd gydag acen grom\",iuml:\"Llythyren i fach Lladinaidd gyda didolnod\",eth:\"Llythyren eth fach\",ntilde:\"Llythyren n fach Lladinaidd gyda thild\",ograve:\"Llythyren o fach Lladinaidd gydag acen ddisgynedig\",oacute:\"Llythyren o fach Lladinaidd gydag acen ddyrchafedig\",ocirc:\"Llythyren o fach Lladinaidd gydag acen grom\",\notilde:\"Llythyren o fach Lladinaidd gyda thild\",ouml:\"Llythyren o fach Lladinaidd gyda didolnod\",divide:\"Arwydd rhannu\",oslash:\"Llythyren o fach Lladinaidd gyda strôc\",ugrave:\"Llythyren u fach Lladinaidd gydag acen ddisgynedig\",uacute:\"Llythyren u fach Lladinaidd gydag acen ddyrchafedig\",ucirc:\"Llythyren u fach Lladinaidd gydag acen grom\",uuml:\"Llythyren u fach Lladinaidd gyda didolnod\",yacute:\"Llythyren y fach Lladinaidd gydag acen ddisgynedig\",thorn:\"Llythyren o fach Lladinaidd gyda strôc\",yuml:\"Llythyren y fach Lladinaidd gyda didolnod\",\nOElig:\"Priflythyren cwlwm OE Lladinaidd \",oelig:\"Priflythyren cwlwm oe Lladinaidd \",372:\"Priflythyren W gydag acen grom\",374:\"Priflythyren Y gydag acen grom\",373:\"Llythyren w fach gydag acen grom\",375:\"Llythyren y fach gydag acen grom\",sbquo:\"Dyfynnod sengl 9-isel\",8219:\"Dyfynnod sengl 9-uchel cildro\",bdquo:\"Dyfynnod dwbl 9-isel\",hellip:\"Coll geiriau llorweddol\",trade:\"Arwydd marc masnachol\",9658:\"Pwyntydd du i'r dde\",bull:\"Bwled\",rarr:\"Saeth i'r dde\",rArr:\"Saeth ddwbl i'r dde\",hArr:\"Saeth ddwbl i'r chwith\",\ndiams:\"Siwt diemwnt du\",asymp:\"Bron yn hafal iddo\"});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/bg.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/bg.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"specialchar\",\"bg\",{euro:\"Евро знак\",lsquo:\"Лява маркировка за цитат\",rsquo:\"Дясна маркировка за цитат\",ldquo:\"Лява двойна кавичка за цитат\",rdquo:\"Дясна двойна кавичка за цитат\",ndash:\"\\\\\\\\\",mdash:\"/\",iexcl:\"Обърната питанка\",cent:\"Знак за цент\",pound:\"Знак за паунд\",curren:\"Валутен знак\",yen:\"Знак за йена\",brvbar:\"Прекъсната линия\",sect:\"Знак за секция\",uml:\"Diaeresis\",copy:\"Знак за Copyright\",ordf:\"Feminine ordinal indicator\",laquo:\"Left-pointing double angle quotation mark\",\nnot:\"Not sign\",reg:\"Registered sign\",macr:\"Macron\",deg:\"Degree sign\",sup2:\"Superscript two\",sup3:\"Superscript three\",acute:\"Acute accent\",micro:\"Micro sign\",para:\"Pilcrow sign\",middot:\"Middle dot\",cedil:\"Cedilla\",sup1:\"Superscript one\",ordm:\"Masculine ordinal indicator\",raquo:\"Right-pointing double angle quotation mark\",frac14:\"Vulgar fraction one quarter\",frac12:\"Vulgar fraction one half\",frac34:\"Vulgar fraction three quarters\",iquest:\"Inverted question mark\",Agrave:\"Latin capital letter A with grave accent\",\nAacute:\"Latin capital letter A with acute accent\",Acirc:\"Latin capital letter A with circumflex\",Atilde:\"Latin capital letter A with tilde\",Auml:\"Latin capital letter A with diaeresis\",Aring:\"Latin capital letter A with ring above\",AElig:\"Latin Capital letter Æ\",Ccedil:\"Latin capital letter C with cedilla\",Egrave:\"Latin capital letter E with grave accent\",Eacute:\"Latin capital letter E with acute accent\",Ecirc:\"Latin capital letter E with circumflex\",Euml:\"Latin capital letter E with diaeresis\",Igrave:\"Latin capital letter I with grave accent\",\nIacute:\"Latin capital letter I with acute accent\",Icirc:\"Latin capital letter I with circumflex\",Iuml:\"Latin capital letter I with diaeresis\",ETH:\"Latin capital letter Eth\",Ntilde:\"Latin capital letter N with tilde\",Ograve:\"Latin capital letter O with grave accent\",Oacute:\"Latin capital letter O with acute accent\",Ocirc:\"Latin capital letter O with circumflex\",Otilde:\"Latin capital letter O with tilde\",Ouml:\"Latin capital letter O with diaeresis\",times:\"Multiplication sign\",Oslash:\"Latin capital letter O with stroke\",\nUgrave:\"Latin capital letter U with grave accent\",Uacute:\"Latin capital letter U with acute accent\",Ucirc:\"Latin capital letter U with circumflex\",Uuml:\"Latin capital letter U with diaeresis\",Yacute:\"Latin capital letter Y with acute accent\",THORN:\"Latin capital letter Thorn\",szlig:\"Latin small letter sharp s\",agrave:\"Latin small letter a with grave accent\",aacute:\"Latin small letter a with acute accent\",acirc:\"Latin small letter a with circumflex\",atilde:\"Latin small letter a with tilde\",auml:\"Latin small letter a with diaeresis\",\naring:\"Latin small letter a with ring above\",aelig:\"Latin small letter æ\",ccedil:\"Latin small letter c with cedilla\",egrave:\"Latin small letter e with grave accent\",eacute:\"Latin small letter e with acute accent\",ecirc:\"Latin small letter e with circumflex\",euml:\"Latin small letter e with diaeresis\",igrave:\"Latin small letter i with grave accent\",iacute:\"Latin small letter i with acute accent\",icirc:\"Latin small letter i with circumflex\",iuml:\"Latin small letter i with diaeresis\",eth:\"Latin small letter eth\",\nntilde:\"Latin small letter n with tilde\",ograve:\"Latin small letter o with grave accent\",oacute:\"Latin small letter o with acute accent\",ocirc:\"Latin small letter o with circumflex\",otilde:\"Latin small letter o with tilde\",ouml:\"Latin small letter o with diaeresis\",divide:\"Division sign\",oslash:\"Latin small letter o with stroke\",ugrave:\"Latin small letter u with grave accent\",uacute:\"Latin small letter u with acute accent\",ucirc:\"Latin small letter u with circumflex\",uuml:\"Latin small letter u with diaeresis\",\nyacute:\"Latin small letter y with acute accent\",thorn:\"Latin small letter thorn\",yuml:\"Latin small letter y with diaeresis\",OElig:\"Latin capital ligature OE\",oelig:\"Latin small ligature oe\",372:\"Latin capital letter W with circumflex\",374:\"Latin capital letter Y with circumflex\",373:\"Latin small letter w with circumflex\",375:\"Latin small letter y with circumflex\",sbquo:\"Single low-9 quotation mark\",8219:\"Single high-reversed-9 quotation mark\",bdquo:\"Double low-9 quotation mark\",hellip:\"Horizontal ellipsis\",\ntrade:\"Trade mark sign\",9658:\"Black right-pointing pointer\",bull:\"Bullet\",rarr:\"Rightwards arrow\",rArr:\"Rightwards double arrow\",hArr:\"Left right double arrow\",diams:\"Black diamond suit\",asymp:\"Almost equal to\"});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/tr.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/tr.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"specialchar\",\"tr\",{euro:\"Euro işareti\",lsquo:\"Sol tek tırnak işareti\",rsquo:\"Sağ tek tırnak işareti\",ldquo:\"Sol çift tırnak işareti\",rdquo:\"Sağ çift tırnak işareti\",ndash:\"En tire\",mdash:\"Em tire\",iexcl:\"Ters ünlem işareti\",cent:\"Cent işareti\",pound:\"Pound işareti\",curren:\"Para birimi işareti\",yen:\"Yen işareti\",brvbar:\"Kırık bar\",sect:\"Bölüm işareti\",uml:\"İki sesli harfin ayrılması\",copy:\"Telif hakkı işareti\",ordf:\"Dişil sıralı gösterge\",laquo:\"Sol-işaret çift açı tırnak işareti\",\nnot:\"Not işareti\",reg:\"Kayıtlı işareti\",macr:\"Makron\",deg:\"Derece işareti\",sup2:\"İkili üstsimge\",sup3:\"Üçlü üstsimge\",acute:\"Aksan işareti\",micro:\"Mikro işareti\",para:\"Pilcrow işareti\",middot:\"Orta nokta\",cedil:\"Kedilla\",sup1:\"Üstsimge\",ordm:\"Eril sıralı gösterge\",raquo:\"Sağ işaret çift açı tırnak işareti\",frac14:\"Bayağı kesrin dörtte biri\",frac12:\"Bayağı kesrin bir yarım\",frac34:\"Bayağı kesrin dörtte üç\",iquest:\"Ters soru işareti\",Agrave:\"Aksanlı latin harfi\",Aacute:\"Aşırı aksanıyla Latin harfi\",\nAcirc:\"Çarpık Latin harfi\",Atilde:\"Tilde latin harfi\",Auml:\"Sesli harf ayrılımlıı latin harfi\",Aring:\"Halkalı latin büyük A harfi\",AElig:\"Latin büyük Æ harfi\",Ccedil:\"Latin büyük C harfi ile kedilla\",Egrave:\"Aksanlı latin büyük E harfi\",Eacute:\"Aşırı vurgulu latin büyük E harfi\",Ecirc:\"Çarpık latin büyük E harfi\",Euml:\"Sesli harf ayrılımlıı latin büyük E harfi\",Igrave:\"Aksanlı latin büyük I harfi\",Iacute:\"Aşırı aksanlı latin büyük I harfi\",Icirc:\"Çarpık latin büyük I harfi\",Iuml:\"Sesli harf ayrılımlıı latin büyük I harfi\",\nETH:\"Latin büyük Eth harfi\",Ntilde:\"Tildeli latin büyük N harfi\",Ograve:\"Aksanlı latin büyük O harfi\",Oacute:\"Aşırı aksanlı latin büyük O harfi\",Ocirc:\"Çarpık latin büyük O harfi\",Otilde:\"Tildeli latin büyük O harfi\",Ouml:\"Sesli harf ayrılımlı latin büyük O harfi\",times:\"Çarpma işareti\",Oslash:\"Vurgulu latin büyük O harfi\",Ugrave:\"Aksanlı latin büyük U harfi\",Uacute:\"Aşırı aksanlı latin büyük U harfi\",Ucirc:\"Çarpık latin büyük U harfi\",Uuml:\"Sesli harf ayrılımlı latin büyük U harfi\",Yacute:\"Aşırı aksanlı latin büyük Y harfi\",\nTHORN:\"Latin büyük Thorn harfi\",szlig:\"Latin küçük keskin s harfi\",agrave:\"Aksanlı latin küçük a harfi\",aacute:\"Aşırı aksanlı latin küçük a harfi\",acirc:\"Çarpık latin küçük a harfi\",atilde:\"Tildeli latin küçük a harfi\",auml:\"Sesli harf ayrılımlı latin küçük a harfi\",aring:\"Halkalı latin küçük a harfi\",aelig:\"Latin büyük æ harfi\",ccedil:\"Kedillalı latin küçük c harfi\",egrave:\"Aksanlı latin küçük e harfi\",eacute:\"Aşırı aksanlı latin küçük e harfi\",ecirc:\"Çarpık latin küçük e harfi\",euml:\"Sesli harf ayrılımlı latin küçük e harfi\",\nigrave:\"Aksanlı latin küçük i harfi\",iacute:\"Aşırı aksanlı latin küçük i harfi\",icirc:\"Çarpık latin küçük i harfi\",iuml:\"Sesli harf ayrılımlı latin küçük i harfi\",eth:\"Latin küçük eth harfi\",ntilde:\"Tildeli latin küçük n harfi\",ograve:\"Aksanlı latin küçük o harfi\",oacute:\"Aşırı aksanlı latin küçük o harfi\",ocirc:\"Çarpık latin küçük o harfi\",otilde:\"Tildeli latin küçük o harfi\",ouml:\"Sesli harf ayrılımlı latin küçük o harfi\",divide:\"Bölme işareti\",oslash:\"Vurgulu latin küçük o harfi\",ugrave:\"Aksanlı latin küçük u harfi\",\nuacute:\"Aşırı aksanlı latin küçük u harfi\",ucirc:\"Çarpık latin küçük u harfi\",uuml:\"Sesli harf ayrılımlı latin küçük u harfi\",yacute:\"Aşırı aksanlı latin küçük y harfi\",thorn:\"Latin küçük thorn harfi\",yuml:\"Sesli harf ayrılımlı latin küçük y harfi\",OElig:\"Latin büyük bağlı OE harfi\",oelig:\"Latin küçük bağlı oe harfi\",372:\"Çarpık latin büyük W harfi\",374:\"Çarpık latin büyük Y harfi\",373:\"Çarpık latin küçük w harfi\",375:\"Çarpık latin küçük y harfi\",sbquo:\"Tek düşük-9 tırnak işareti\",8219:\"Tek yüksek-ters-9 tırnak işareti\",\nbdquo:\"Çift düşük-9 tırnak işareti\",hellip:\"Yatay elips\",trade:\"Marka tescili işareti\",9658:\"Siyah sağ işaret işaretçisi\",bull:\"Koyu nokta\",rarr:\"Sağa doğru ok\",rArr:\"Sağa doğru çift ok\",hArr:\"Sol, sağ çift ok\",diams:\"Siyah elmas takımı\",asymp:\"Hemen hemen eşit\"});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/lv.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/lv.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"specialchar\",\"lv\",{euro:\"Euro zīme\",lsquo:\"Kreisā  vienkārtīga pēdiņa\",rsquo:\"Labā  vienkārtīga pēdiņa\",ldquo:\"Kreisā  dubult pēdiņa\",rdquo:\"Labā dubult pēdiņa\",ndash:\"En svītra\",mdash:\"Em svītra\",iexcl:\"Apgriezta izsaukuma zīme\",cent:\"Centu naudas zīme\",pound:\"Sterliņu mārciņu naudas zīme\",curren:\"Valūtas zīme\",yen:\"Jenu naudas zīme\",brvbar:\"Vertikāla pārrauta līnija\",sect:\"Paragrāfa zīme\",uml:\"Diakritiska zīme\",copy:\"Autortiesību zīme\",ordf:\"Sievišķas kārtas rādītājs\",\nlaquo:\"Kreisā dubult stūra pēdiņu zīme\",not:\"Neparakstīts\",reg:\"Reģistrēta zīme\",macr:\"Garumzīme\",deg:\"Grādu zīme\",sup2:\"Augšraksts divi\",sup3:\"Augšraksts trīs\",acute:\"Akūta uzsvara zīme\",micro:\"Mikro zīme\",para:\"Rindkopas zīme \",middot:\"Vidējs punkts\",cedil:\"Āķītis zem burta\",sup1:\"Augšraksts viens\",ordm:\"Vīrišķīgas kārtas rādītājs\",raquo:\"Labā dubult stūra pēdiņu zīme\",frac14:\"Vulgāra frakcija 1/4\",frac12:\"Vulgāra frakcija 1/2\",frac34:\"Vulgāra frakcija 3/4\",iquest:\"Apgriezta jautājuma zīme\",Agrave:\"Lielais latīņu burts A ar uzsvara zīmi\",\nAacute:\"Lielais  latīņu burts A ar akūtu uzsvara zīmi\",Acirc:\"Lielais latīņu burts A ar diakritisku zīmi\",Atilde:\"Lielais latīņu burts A ar tildi \",Auml:\"Lielais latīņu burts A ar diakritisko zīmi\",Aring:\"Lielais latīņu burts A ar aplīti augšā\",AElig:\"Lielais latīņu burts Æ\",Ccedil:\"Lielais latīņu burts C ar āķīti zem burta\",Egrave:\"Lielais latīņu burts E ar apostrofu\",Eacute:\"Lielais latīņu burts E ar akūtu uzsvara zīmi\",Ecirc:\"Lielais latīņu burts E ar diakritisko zīmi\",Euml:\"Lielais latīņu burts E ar diakritisko zīmi\",\nIgrave:\"Lielais latīņu burts I ar uzsvaras  zīmi\",Iacute:\"Lielais latīņu burts I ar akūtu uzsvara zīmi\",Icirc:\"Lielais latīņu burts I ar diakritisko zīmi\",Iuml:\"Lielais latīņu burts I ar diakritisko zīmi\",ETH:\"Lielais latīņu burts Eth\",Ntilde:\"Lielais latīņu burts N ar tildi\",Ograve:\"Lielais latīņu burts O ar uzsvara zīmi\",Oacute:\"Lielais latīņu burts O ar akūto uzsvara zīmi\",Ocirc:\"Lielais latīņu burts O ar diakritisko zīmi\",Otilde:\"Lielais latīņu burts O ar tildi\",Ouml:\"Lielais latīņu burts O ar diakritisko zīmi\",\ntimes:\"Reizināšanas zīme \",Oslash:\"Lielais latīņu burts O ar iesvītrojumu\",Ugrave:\"Lielais latīņu burts U ar uzsvaras zīmi\",Uacute:\"Lielais latīņu burts U ar akūto uzsvars zīmi\",Ucirc:\"Lielais latīņu burts U ar diakritisko zīmi\",Uuml:\"Lielais latīņu burts U ar diakritisko zīmi\",Yacute:\"Lielais latīņu burts Y ar akūto uzsvaras zīmi\",THORN:\"Lielais latīņu burts torn\",szlig:\"Mazs latīņu burts ar ligatūru\",agrave:\"Mazs latīņu burts a ar uzsvara zīmi\",aacute:\"Mazs latīņu burts a ar akūto uzsvara zīmi\",\nacirc:\"Mazs latīņu burts a ar diakritisko zīmi\",atilde:\"Mazs latīņu burts a ar tildi\",auml:\"Mazs latīņu burts a ar diakritisko zīmi\",aring:\"Mazs latīņu burts a ar aplīti augšā\",aelig:\"Mazs latīņu burts æ\",ccedil:\"Mazs latīņu burts c ar āķīti zem burta\",egrave:\"Mazs latīņu burts e ar uzsvara zīmi \",eacute:\"Mazs latīņu burts e ar akūtu uzsvara zīmi\",ecirc:\"Mazs latīņu burts e ar diakritisko zīmi\",euml:\"Mazs latīņu burts e ar diakritisko zīmi\",igrave:\"Mazs latīņu burts i ar uzsvara zīmi \",iacute:\"Mazs latīņu burts i ar akūtu uzsvara zīmi\",\nicirc:\"Mazs latīņu burts i ar diakritisko zīmi\",iuml:\"Mazs latīņu burts i ar diakritisko zīmi\",eth:\"Mazs latīņu burts eth\",ntilde:\"Mazs latīņu burts n ar tildi\",ograve:\"Mazs latīņu burts o ar uzsvara zīmi \",oacute:\"Mazs latīņu burts o ar akūtu uzsvara zīmi\",ocirc:\"Mazs latīņu burts o ar diakritisko zīmi\",otilde:\"Mazs latīņu burts o ar tildi\",ouml:\"Mazs latīņu burts o ar diakritisko zīmi\",divide:\"Dalīšanas zīme\",oslash:\"Mazs latīņu burts o ar iesvītrojumu\",ugrave:\"Mazs latīņu burts u ar uzsvara zīmi \",\nuacute:\"Mazs latīņu burts u ar  akūtu uzsvara zīmi\",ucirc:\"Mazs latīņu burts u ar diakritisko zīmi\",uuml:\"Mazs latīņu burts u ar diakritisko zīmi\",yacute:\"Mazs latīņu burts y ar  akūtu uzsvaras zīmi\",thorn:\"Mazs latīņu burts torns\",yuml:\"Mazs latīņu burts y ar diakritisko zīmi\",OElig:\"Liela latīņu ligatūra OE\",oelig:\"Maza latīņu ligatūra oe\",372:\"Liels latīņu burts W ar diakritisko zīmi \",374:\"Liels latīņu burts Y ar diakritisko zīmi \",373:\"Mazs latīņu burts w ar diakritisko zīmi \",375:\"Mazs latīņu burts y ar diakritisko zīmi \",\nsbquo:\"Mazas-9 vienkārtīgas pēdiņas\",8219:\"Lielas-9 vienkārtīgas apgrieztas pēdiņas\",bdquo:\"Mazas-9 dubultas pēdiņas\",hellip:\"Horizontāli daudzpunkti\",trade:\"Preču zīmes zīme\",9658:\"Melns pa labi pagriezts radītājs\",bull:\"Lode\",rarr:\"Bulta pa labi\",rArr:\"Dubulta Bulta pa labi\",hArr:\"Bulta pa kreisi\",diams:\"Dubulta Bulta pa kreisi\",asymp:\"Gandrīz vienāds ar\"});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/cs.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/cs.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"specialchar\",\"cs\",{euro:\"Znak eura\",lsquo:\"Počáteční uvozovka jednoduchá\",rsquo:\"Koncová uvozovka jednoduchá\",ldquo:\"Počáteční uvozovka dvojitá\",rdquo:\"Koncová uvozovka dvojitá\",ndash:\"En pomlčka\",mdash:\"Em pomlčka\",iexcl:\"Obrácený vykřičník\",cent:\"Znak centu\",pound:\"Znak libry\",curren:\"Znak měny\",yen:\"Znak jenu\",brvbar:\"Přerušená svislá čára\",sect:\"Znak oddílu\",uml:\"Přehláska\",copy:\"Znak copyrightu\",ordf:\"Ženský indikátor rodu\",laquo:\"Znak dvojitých lomených uvozovek vlevo\",\nnot:\"Logistický zápor\",reg:\"Znak registrace\",macr:\"Pomlčka nad\",deg:\"Znak stupně\",sup2:\"Dvojka jako horní index\",sup3:\"Trojka jako horní index\",acute:\"Čárka nad vpravo\",micro:\"Znak mikro\",para:\"Znak odstavce\",middot:\"Tečka uprostřed\",cedil:\"Ocásek vlevo\",sup1:\"Jednička jako horní index\",ordm:\"Mužský indikátor rodu\",raquo:\"Znak dvojitých lomených uvozovek vpravo\",frac14:\"Obyčejný zlomek jedna čtvrtina\",frac12:\"Obyčejný zlomek jedna polovina\",frac34:\"Obyčejný zlomek tři čtvrtiny\",iquest:\"Znak obráceného otazníku\",\nAgrave:\"Velké písmeno latinky A s čárkou nad vlevo\",Aacute:\"Velké písmeno latinky A s čárkou nad vpravo\",Acirc:\"Velké písmeno latinky A s vokáněm\",Atilde:\"Velké písmeno latinky A s tildou\",Auml:\"Velké písmeno latinky A s dvěma tečkami\",Aring:\"Velké písmeno latinky A s kroužkem nad\",AElig:\"Velké písmeno latinky Ae\",Ccedil:\"Velké písmeno latinky C s ocáskem vlevo\",Egrave:\"Velké písmeno latinky E s čárkou nad vlevo\",Eacute:\"Velké písmeno latinky E s čárkou nad vpravo\",Ecirc:\"Velké písmeno latinky E s vokáněm\",\nEuml:\"Velké písmeno latinky E s dvěma tečkami\",Igrave:\"Velké písmeno latinky I s čárkou nad vlevo\",Iacute:\"Velké písmeno latinky I s čárkou nad vpravo\",Icirc:\"Velké písmeno latinky I s vokáněm\",Iuml:\"Velké písmeno latinky I s dvěma tečkami\",ETH:\"Velké písmeno latinky Eth\",Ntilde:\"Velké písmeno latinky N s tildou\",Ograve:\"Velké písmeno latinky O s čárkou nad vlevo\",Oacute:\"Velké písmeno latinky O s čárkou nad vpravo\",Ocirc:\"Velké písmeno latinky O s vokáněm\",Otilde:\"Velké písmeno latinky O s tildou\",\nOuml:\"Velké písmeno latinky O s dvěma tečkami\",times:\"Znak násobení\",Oslash:\"Velké písmeno latinky O přeškrtnuté\",Ugrave:\"Velké písmeno latinky U s čárkou nad vlevo\",Uacute:\"Velké písmeno latinky U s čárkou nad vpravo\",Ucirc:\"Velké písmeno latinky U s vokáněm\",Uuml:\"Velké písmeno latinky U s dvěma tečkami\",Yacute:\"Velké písmeno latinky Y s čárkou nad vpravo\",THORN:\"Velké písmeno latinky Thorn\",szlig:\"Malé písmeno latinky ostré s\",agrave:\"Malé písmeno latinky a s čárkou nad vlevo\",aacute:\"Malé písmeno latinky a s čárkou nad vpravo\",\nacirc:\"Malé písmeno latinky a s vokáněm\",atilde:\"Malé písmeno latinky a s tildou\",auml:\"Malé písmeno latinky a s dvěma tečkami\",aring:\"Malé písmeno latinky a s kroužkem nad\",aelig:\"Malé písmeno latinky ae\",ccedil:\"Malé písmeno latinky c s ocáskem vlevo\",egrave:\"Malé písmeno latinky e s čárkou nad vlevo\",eacute:\"Malé písmeno latinky e s čárkou nad vpravo\",ecirc:\"Malé písmeno latinky e s vokáněm\",euml:\"Malé písmeno latinky e s dvěma tečkami\",igrave:\"Malé písmeno latinky i s čárkou nad vlevo\",iacute:\"Malé písmeno latinky i s čárkou nad vpravo\",\nicirc:\"Malé písmeno latinky i s vokáněm\",iuml:\"Malé písmeno latinky i s dvěma tečkami\",eth:\"Malé písmeno latinky eth\",ntilde:\"Malé písmeno latinky n s tildou\",ograve:\"Malé písmeno latinky o s čárkou nad vlevo\",oacute:\"Malé písmeno latinky o s čárkou nad vpravo\",ocirc:\"Malé písmeno latinky o s vokáněm\",otilde:\"Malé písmeno latinky o s tildou\",ouml:\"Malé písmeno latinky o s dvěma tečkami\",divide:\"Znak dělení\",oslash:\"Malé písmeno latinky o přeškrtnuté\",ugrave:\"Malé písmeno latinky u s čárkou nad vlevo\",\nuacute:\"Malé písmeno latinky u s čárkou nad vpravo\",ucirc:\"Malé písmeno latinky u s vokáněm\",uuml:\"Malé písmeno latinky u s dvěma tečkami\",yacute:\"Malé písmeno latinky y s čárkou nad vpravo\",thorn:\"Malé písmeno latinky thorn\",yuml:\"Malé písmeno latinky y s dvěma tečkami\",OElig:\"Velká ligatura latinky OE\",oelig:\"Malá ligatura latinky OE\",372:\"Velké písmeno latinky W s vokáněm\",374:\"Velké písmeno latinky Y s vokáněm\",373:\"Malé písmeno latinky w s vokáněm\",375:\"Malé písmeno latinky y s vokáněm\",sbquo:\"Dolní 9 uvozovka jednoduchá\",\n8219:\"Horní obrácená 9 uvozovka jednoduchá\",bdquo:\"Dolní 9 uvozovka dvojitá\",hellip:\"Trojtečkový úvod\",trade:\"Obchodní značka\",9658:\"Černý ukazatel směřující vpravo\",bull:\"Kolečko\",rarr:\"Šipka vpravo\",rArr:\"Dvojitá šipka vpravo\",hArr:\"Dvojitá šipka vlevo a vpravo\",diams:\"Černé piky\",asymp:\"Téměř se rovná\"});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/pl.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/pl.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"specialchar\",\"pl\",{euro:\"Znak euro\",lsquo:\"Cudzysłów pojedynczy otwierający\",rsquo:\"Cudzysłów pojedynczy zamykający\",ldquo:\"Cudzysłów apostrofowy otwierający\",rdquo:\"Cudzysłów apostrofowy zamykający\",ndash:\"Półpauza\",mdash:\"Pauza\",iexcl:\"Odwrócony wykrzyknik\",cent:\"Znak centa\",pound:\"Znak funta\",curren:\"Znak waluty\",yen:\"Znak jena\",brvbar:\"Przerwana pionowa kreska\",sect:\"Paragraf\",uml:\"Diereza\",copy:\"Znak praw autorskich\",ordf:\"Wskaźnik rodzaju żeńskiego liczebnika porządkowego\",\nlaquo:\"Lewy cudzysłów ostrokątny\",not:\"Znak negacji\",reg:\"Zastrzeżony znak towarowy\",macr:\"Makron\",deg:\"Znak stopnia\",sup2:\"Druga potęga\",sup3:\"Trzecia potęga\",acute:\"Akcent ostry\",micro:\"Znak mikro\",para:\"Znak akapitu\",middot:\"Kropka środkowa\",cedil:\"Cedylla\",sup1:\"Pierwsza potęga\",ordm:\"Wskaźnik rodzaju męskiego liczebnika porządkowego\",raquo:\"Prawy cudzysłów ostrokątny\",frac14:\"Ułamek zwykły jedna czwarta\",frac12:\"Ułamek zwykły jedna druga\",frac34:\"Ułamek zwykły trzy czwarte\",iquest:\"Odwrócony znak zapytania\",\nAgrave:\"Wielka litera A z akcentem ciężkim\",Aacute:\"Wielka litera A z akcentem ostrym\",Acirc:\"Wielka litera A z akcentem przeciągłym\",Atilde:\"Wielka litera A z tyldą\",Auml:\"Wielka litera A z dierezą\",Aring:\"Wielka litera A z kółkiem\",AElig:\"Wielka ligatura Æ\",Ccedil:\"Wielka litera C z cedyllą\",Egrave:\"Wielka litera E z akcentem ciężkim\",Eacute:\"Wielka litera E z akcentem ostrym\",Ecirc:\"Wielka litera E z akcentem przeciągłym\",Euml:\"Wielka litera E z dierezą\",Igrave:\"Wielka litera I z akcentem ciężkim\",\nIacute:\"Wielka litera I z akcentem ostrym\",Icirc:\"Wielka litera I z akcentem przeciągłym\",Iuml:\"Wielka litera I z dierezą\",ETH:\"Wielka litera Eth\",Ntilde:\"Wielka litera N z tyldą\",Ograve:\"Wielka litera O z akcentem ciężkim\",Oacute:\"Wielka litera O z akcentem ostrym\",Ocirc:\"Wielka litera O z akcentem przeciągłym\",Otilde:\"Wielka litera O z tyldą\",Ouml:\"Wielka litera O z dierezą\",times:\"Znak mnożenia wektorowego\",Oslash:\"Wielka litera O z przekreśleniem\",Ugrave:\"Wielka litera U z akcentem ciężkim\",Uacute:\"Wielka litera U z akcentem ostrym\",\nUcirc:\"Wielka litera U z akcentem przeciągłym\",Uuml:\"Wielka litera U z dierezą\",Yacute:\"Wielka litera Y z akcentem ostrym\",THORN:\"Wielka litera Thorn\",szlig:\"Mała litera ostre s (eszet)\",agrave:\"Mała litera a z akcentem ciężkim\",aacute:\"Mała litera a z akcentem ostrym\",acirc:\"Mała litera a z akcentem przeciągłym\",atilde:\"Mała litera a z tyldą\",auml:\"Mała litera a z dierezą\",aring:\"Mała litera a z kółkiem\",aelig:\"Mała ligatura æ\",ccedil:\"Mała litera c z cedyllą\",egrave:\"Mała litera e z akcentem ciężkim\",\neacute:\"Mała litera e z akcentem ostrym\",ecirc:\"Mała litera e z akcentem przeciągłym\",euml:\"Mała litera e z dierezą\",igrave:\"Mała litera i z akcentem ciężkim\",iacute:\"Mała litera i z akcentem ostrym\",icirc:\"Mała litera i z akcentem przeciągłym\",iuml:\"Mała litera i z dierezą\",eth:\"Mała litera eth\",ntilde:\"Mała litera n z tyldą\",ograve:\"Mała litera o z akcentem ciężkim\",oacute:\"Mała litera o z akcentem ostrym\",ocirc:\"Mała litera o z akcentem przeciągłym\",otilde:\"Mała litera o z tyldą\",ouml:\"Mała litera o z dierezą\",\ndivide:\"Anglosaski znak dzielenia\",oslash:\"Mała litera o z przekreśleniem\",ugrave:\"Mała litera u z akcentem ciężkim\",uacute:\"Mała litera u z akcentem ostrym\",ucirc:\"Mała litera u z akcentem przeciągłym\",uuml:\"Mała litera u z dierezą\",yacute:\"Mała litera y z akcentem ostrym\",thorn:\"Mała litera thorn\",yuml:\"Mała litera y z dierezą\",OElig:\"Wielka ligatura OE\",oelig:\"Mała ligatura oe\",372:\"Wielka litera W z akcentem przeciągłym\",374:\"Wielka litera Y z akcentem przeciągłym\",373:\"Mała litera w z akcentem przeciągłym\",\n375:\"Mała litera y z akcentem przeciągłym\",sbquo:\"Pojedynczy apostrof dolny\",8219:\"Pojedynczy apostrof górny\",bdquo:\"Podwójny apostrof dolny\",hellip:\"Wielokropek\",trade:\"Znak towarowy\",9658:\"Czarny wskaźnik wskazujący w prawo\",bull:\"Punktor\",rarr:\"Strzałka w prawo\",rArr:\"Podwójna strzałka w prawo\",hArr:\"Podwójna strzałka w lewo\",diams:\"Czarny znak karo\",asymp:\"Znak prawie równe\"});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/vi.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/vi.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"specialchar\",\"vi\",{euro:\"Ký hiệu Euro\",lsquo:\"Dấu ngoặc đơn trái\",rsquo:\"Dấu ngoặc đơn phải\",ldquo:\"Dấu ngoặc đôi trái\",rdquo:\"Dấu ngoặc đôi phải\",ndash:\"Gạch ngang tiếng anh\",mdash:\"Gạch ngang Em\",iexcl:\"Chuyển đổi dấu chấm than\",cent:\"Ký tự tiền Mỹ\",pound:\"Ký tự tiền Anh\",curren:\"Ký tự tiền tệ\",yen:\"Ký tự tiền Yên Nhật\",brvbar:\"Thanh hỏng\",sect:\"Ký tự khu vực\",uml:\"Dấu tách đôi\",copy:\"Ký tự bản quyền\",ordf:\"Phần chỉ thị giống cái\",laquo:\"Chọn dấu ngoặc đôi trái\",not:\"Không có ký tự\",\nreg:\"Ký tự đăng ký\",macr:\"Dấu nguyên âm dài\",deg:\"Ký tự độ\",sup2:\"Chữ trồi lên trên dạng 2\",sup3:\"Chữ trồi lên trên dạng 3\",acute:\"Dấu trọng âm\",micro:\"Ký tự micro\",para:\"Ký tự đoạn văn\",middot:\"Dấu chấm tròn\",cedil:\"Dấu móc lưới\",sup1:\"Ký tự trồi lên cấp 1\",ordm:\"Ký tự biểu hiện giống đực\",raquo:\"Chọn dấu ngoặc đôi phải\",frac14:\"Tỉ lệ một phần tư\",frac12:\"Tỉ lệ một nửa\",frac34:\"Tỉ lệ ba phần tư\",iquest:\"Chuyển đổi dấu chấm hỏi\",Agrave:\"Ký tự la-tinh viết hoa A với dấu huyền\",Aacute:\"Ký tự la-tinh viết hoa A với dấu sắc\",\nAcirc:\"Ký tự la-tinh viết hoa A với dấu mũ\",Atilde:\"Ký tự la-tinh viết hoa A với dấu ngã\",Auml:\"Ký tự la-tinh viết hoa A với dấu hai chấm trên đầu\",Aring:\"Ký tự la-tinh viết hoa A với biểu tượng vòng tròn trên đầu\",AElig:\"Ký tự la-tinh viết hoa của Æ\",Ccedil:\"Ký tự la-tinh viết hoa C với dấu móc bên dưới\",Egrave:\"Ký tự la-tinh viết hoa E với dấu huyền\",Eacute:\"Ký tự la-tinh viết hoa E với dấu sắc\",Ecirc:\"Ký tự la-tinh viết hoa E với dấu mũ\",Euml:\"Ký tự la-tinh viết hoa E với dấu hai chấm trên đầu\",\nIgrave:\"Ký tự la-tinh viết hoa I với dấu huyền\",Iacute:\"Ký tự la-tinh viết hoa I với dấu sắc\",Icirc:\"Ký tự la-tinh viết hoa I với dấu mũ\",Iuml:\"Ký tự la-tinh viết hoa I với dấu hai chấm trên đầu\",ETH:\"Viết hoa của ký tự Eth\",Ntilde:\"Ký tự la-tinh viết hoa N với dấu ngã\",Ograve:\"Ký tự la-tinh viết hoa O với dấu huyền\",Oacute:\"Ký tự la-tinh viết hoa O với dấu sắc\",Ocirc:\"Ký tự la-tinh viết hoa O với dấu mũ\",Otilde:\"Ký tự la-tinh viết hoa O với dấu ngã\",Ouml:\"Ký tự la-tinh viết hoa O với dấu hai chấm trên đầu\",\ntimes:\"Ký tự phép toán nhân\",Oslash:\"Ký tự la-tinh viết hoa A với dấu ngã xuống\",Ugrave:\"Ký tự la-tinh viết hoa U với dấu huyền\",Uacute:\"Ký tự la-tinh viết hoa U với dấu sắc\",Ucirc:\"Ký tự la-tinh viết hoa U với dấu mũ\",Uuml:\"Ký tự la-tinh viết hoa U với dấu hai chấm trên đầu\",Yacute:\"Ký tự la-tinh viết hoa Y với dấu sắc\",THORN:\"Phần viết hoa của ký tự Thorn\",szlig:\"Ký tự viết nhỏ la-tinh của chữ s\",agrave:\"Ký tự la-tinh thường với dấu huyền\",aacute:\"Ký tự la-tinh thường với dấu sắc\",acirc:\"Ký tự la-tinh thường với dấu mũ\",\natilde:\"Ký tự la-tinh thường với dấu ngã\",auml:\"Ký tự la-tinh thường với dấu hai chấm trên đầu\",aring:\"Ký tự la-tinh viết thường với biểu tượng vòng tròn trên đầu\",aelig:\"Ký tự la-tinh viết thường của æ\",ccedil:\"Ký tự la-tinh viết thường của c với dấu móc bên dưới\",egrave:\"Ký tự la-tinh viết thường e với dấu huyền\",eacute:\"Ký tự la-tinh viết thường e với dấu sắc\",ecirc:\"Ký tự la-tinh viết thường e với dấu mũ\",euml:\"Ký tự la-tinh viết thường e với dấu hai chấm trên đầu\",igrave:\"Ký tự la-tinh viết thường i với dấu huyền\",\niacute:\"Ký tự la-tinh viết thường i với dấu sắc\",icirc:\"Ký tự la-tinh viết thường i với dấu mũ\",iuml:\"Ký tự la-tinh viết thường i với dấu hai chấm trên đầu\",eth:\"Ký tự la-tinh viết thường của eth\",ntilde:\"Ký tự la-tinh viết thường n với dấu ngã\",ograve:\"Ký tự la-tinh viết thường o với dấu huyền\",oacute:\"Ký tự la-tinh viết thường o với dấu sắc\",ocirc:\"Ký tự la-tinh viết thường o với dấu mũ\",otilde:\"Ký tự la-tinh viết thường o với dấu ngã\",ouml:\"Ký tự la-tinh viết thường o với dấu hai chấm trên đầu\",\ndivide:\"Ký hiệu phép tính chia\",oslash:\"Ký tự la-tinh viết thường o với dấu ngã\",ugrave:\"Ký tự la-tinh viết thường u với dấu huyền\",uacute:\"Ký tự la-tinh viết thường u với dấu sắc\",ucirc:\"Ký tự la-tinh viết thường u với dấu mũ\",uuml:\"Ký tự la-tinh viết thường u với dấu hai chấm trên đầu\",yacute:\"Ký tự la-tinh viết thường y với dấu sắc\",thorn:\"Ký tự la-tinh viết thường của chữ thorn\",yuml:\"Ký tự la-tinh viết thường y với dấu hai chấm trên đầu\",OElig:\"Ký tự la-tinh viết hoa gạch nối OE\",oelig:\"Ký tự la-tinh viết thường gạch nối OE\",\n372:\"Ký tự la-tinh viết hoa W với dấu mũ\",374:\"Ký tự la-tinh viết hoa Y với dấu mũ\",373:\"Ký tự la-tinh viết thường w với dấu mũ\",375:\"Ký tự la-tinh viết thường y với dấu mũ\",sbquo:\"Dấu ngoặc đơn thấp số-9\",8219:\"Dấu ngoặc đơn đảo ngược số-9\",bdquo:\"Gấp đôi dấu ngoặc đơn số-9\",hellip:\"Tĩnh dược chiều ngang\",trade:\"Ký tự thương hiệu\",9658:\"Ký tự trỏ về hướng bên phải màu đen\",bull:\"Ký hiệu\",rarr:\"Mũi tên hướng bên phải\",rArr:\"Mũi tên hướng bên phải dạng đôi\",hArr:\"Mũi tên hướng bên trái dạng đôi\",diams:\"Ký hiệu hình thoi\",\nasymp:\"Gần bằng với\"});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/id.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/id.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"specialchar\",\"id\",{euro:\"Tanda Euro\",lsquo:\"Left single quotation mark\",rsquo:\"Right single quotation mark\",ldquo:\"Left double quotation mark\",rdquo:\"Right double quotation mark\",ndash:\"En dash\",mdash:\"Em dash\",iexcl:\"Inverted exclamation mark\",cent:\"Cent sign\",pound:\"Pound sign\",curren:\"Currency sign\",yen:\"Tanda Yen\",brvbar:\"Broken bar\",sect:\"Section sign\",uml:\"Diaeresis\",copy:\"Tanda Hak Cipta\",ordf:\"Feminine ordinal indicator\",laquo:\"Left-pointing double angle quotation mark\",\nnot:\"Not sign\",reg:\"Tanda Telah Terdaftar\",macr:\"Macron\",deg:\"Degree sign\",sup2:\"Superscript two\",sup3:\"Superscript three\",acute:\"Acute accent\",micro:\"Micro sign\",para:\"Pilcrow sign\",middot:\"Middle dot\",cedil:\"Cedilla\",sup1:\"Superscript one\",ordm:\"Masculine ordinal indicator\",raquo:\"Right-pointing double angle quotation mark\",frac14:\"Vulgar fraction one quarter\",frac12:\"Vulgar fraction one half\",frac34:\"Vulgar fraction three quarters\",iquest:\"Inverted question mark\",Agrave:\"Latin capital letter A with grave accent\",\nAacute:\"Latin capital letter A with acute accent\",Acirc:\"Latin capital letter A with circumflex\",Atilde:\"Latin capital letter A with tilde\",Auml:\"Latin capital letter A with diaeresis\",Aring:\"Latin capital letter A with ring above\",AElig:\"Latin Capital letter Æ\",Ccedil:\"Latin capital letter C with cedilla\",Egrave:\"Latin capital letter E with grave accent\",Eacute:\"Latin capital letter E with acute accent\",Ecirc:\"Latin capital letter E with circumflex\",Euml:\"Latin capital letter E with diaeresis\",Igrave:\"Latin capital letter I with grave accent\",\nIacute:\"Latin capital letter I with acute accent\",Icirc:\"Latin capital letter I with circumflex\",Iuml:\"Latin capital letter I with diaeresis\",ETH:\"Latin capital letter Eth\",Ntilde:\"Latin capital letter N with tilde\",Ograve:\"Latin capital letter O with grave accent\",Oacute:\"Latin capital letter O with acute accent\",Ocirc:\"Latin capital letter O with circumflex\",Otilde:\"Latin capital letter O with tilde\",Ouml:\"Latin capital letter O with diaeresis\",times:\"Multiplication sign\",Oslash:\"Latin capital letter O with stroke\",\nUgrave:\"Latin capital letter U with grave accent\",Uacute:\"Latin capital letter U with acute accent\",Ucirc:\"Latin capital letter U with circumflex\",Uuml:\"Latin capital letter U with diaeresis\",Yacute:\"Latin capital letter Y with acute accent\",THORN:\"Latin capital letter Thorn\",szlig:\"Latin small letter sharp s\",agrave:\"Latin small letter a with grave accent\",aacute:\"Latin small letter a with acute accent\",acirc:\"Latin small letter a with circumflex\",atilde:\"Latin small letter a with tilde\",auml:\"Latin small letter a with diaeresis\",\naring:\"Latin small letter a with ring above\",aelig:\"Latin small letter æ\",ccedil:\"Latin small letter c with cedilla\",egrave:\"Latin small letter e with grave accent\",eacute:\"Latin small letter e with acute accent\",ecirc:\"Latin small letter e with circumflex\",euml:\"Latin small letter e with diaeresis\",igrave:\"Latin small letter i with grave accent\",iacute:\"Latin small letter i with acute accent\",icirc:\"Latin small letter i with circumflex\",iuml:\"Latin small letter i with diaeresis\",eth:\"Latin small letter eth\",\nntilde:\"Latin small letter n with tilde\",ograve:\"Latin small letter o with grave accent\",oacute:\"Latin small letter o with acute accent\",ocirc:\"Latin small letter o with circumflex\",otilde:\"Latin small letter o with tilde\",ouml:\"Latin small letter o with diaeresis\",divide:\"Division sign\",oslash:\"Latin small letter o with stroke\",ugrave:\"Latin small letter u with grave accent\",uacute:\"Latin small letter u with acute accent\",ucirc:\"Latin small letter u with circumflex\",uuml:\"Latin small letter u with diaeresis\",\nyacute:\"Latin small letter y with acute accent\",thorn:\"Latin small letter thorn\",yuml:\"Latin small letter y with diaeresis\",OElig:\"Latin capital ligature OE\",oelig:\"Latin small ligature oe\",372:\"Latin capital letter W with circumflex\",374:\"Latin capital letter Y with circumflex\",373:\"Latin small letter w with circumflex\",375:\"Latin small letter y with circumflex\",sbquo:\"Single low-9 quotation mark\",8219:\"Single high-reversed-9 quotation mark\",bdquo:\"Double low-9 quotation mark\",hellip:\"Horizontal ellipsis\",\ntrade:\"Trade mark sign\",9658:\"Black right-pointing pointer\",bull:\"Bullet\",rarr:\"Rightwards arrow\",rArr:\"Rightwards double arrow\",hArr:\"Left right double arrow\",diams:\"Black diamond suit\",asymp:\"Almost equal to\"});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/zh.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/zh.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"specialchar\",\"zh\",{euro:\"歐元符號\",lsquo:\"左單引號\",rsquo:\"右單引號\",ldquo:\"左雙引號\",rdquo:\"右雙引號\",ndash:\"短破折號\",mdash:\"長破折號\",iexcl:\"倒置的驚嘆號\",cent:\"美分符號\",pound:\"英鎊符號\",curren:\"貨幣符號\",yen:\"日圓符號\",brvbar:\"Broken bar\",sect:\"章節符號\",uml:\"分音符號\",copy:\"版權符號\",ordf:\"雌性符號\",laquo:\"左雙角括號\",not:\"Not 符號\",reg:\"註冊商標符號\",macr:\"長音符號\",deg:\"度數符號\",sup2:\"上標字 2\",sup3:\"上標字 3\",acute:\"尖音符號\",micro:\"Micro sign\",para:\"段落符號\",middot:\"中間點\",cedil:\"字母 C 下面的尾型符號 \",sup1:\"上標\",ordm:\"雄性符號\",raquo:\"右雙角括號\",frac14:\"四分之一符號\",frac12:\"Vulgar fraction one half\",\nfrac34:\"Vulgar fraction three quarters\",iquest:\"Inverted question mark\",Agrave:\"Latin capital letter A with grave accent\",Aacute:\"Latin capital letter A with acute accent\",Acirc:\"Latin capital letter A with circumflex\",Atilde:\"Latin capital letter A with tilde\",Auml:\"拉丁大寫字母 E 帶分音符號\",Aring:\"拉丁大寫字母 A 帶上圓圈\",AElig:\"拉丁大寫字母 Æ\",Ccedil:\"拉丁大寫字母 C 帶下尾符號\",Egrave:\"Latin capital letter E with grave accent\",Eacute:\"Latin capital letter E with acute accent\",Ecirc:\"Latin capital letter E with circumflex\",Euml:\"Latin capital letter E with diaeresis\",\nIgrave:\"Latin capital letter I with grave accent\",Iacute:\"Latin capital letter I with acute accent\",Icirc:\"Latin capital letter I with circumflex\",Iuml:\"Latin capital letter I with diaeresis\",ETH:\"Latin capital letter Eth\",Ntilde:\"Latin capital letter N with tilde\",Ograve:\"Latin capital letter O with grave accent\",Oacute:\"Latin capital letter O with acute accent\",Ocirc:\"Latin capital letter O with circumflex\",Otilde:\"Latin capital letter O with tilde\",Ouml:\"Latin capital letter O with diaeresis\",\ntimes:\"乘號\",Oslash:\"拉丁大寫字母 O 帶粗線符號\",Ugrave:\"Latin capital letter U with grave accent\",Uacute:\"Latin capital letter U with acute accent\",Ucirc:\"Latin capital letter U with circumflex\",Uuml:\"Latin capital letter U with diaeresis\",Yacute:\"Latin capital letter Y with acute accent\",THORN:\"Latin capital letter Thorn\",szlig:\"Latin small letter sharp s\",agrave:\"Latin small letter a with grave accent\",aacute:\"Latin small letter a with acute accent\",acirc:\"Latin small letter a with circumflex\",atilde:\"Latin small letter a with tilde\",\nauml:\"Latin small letter a with diaeresis\",aring:\"Latin small letter a with ring above\",aelig:\"Latin small letter æ\",ccedil:\"Latin small letter c with cedilla\",egrave:\"Latin small letter e with grave accent\",eacute:\"Latin small letter e with acute accent\",ecirc:\"Latin small letter e with circumflex\",euml:\"Latin small letter e with diaeresis\",igrave:\"Latin small letter i with grave accent\",iacute:\"Latin small letter i with acute accent\",icirc:\"Latin small letter i with circumflex\",iuml:\"Latin small letter i with diaeresis\",\neth:\"Latin small letter eth\",ntilde:\"Latin small letter n with tilde\",ograve:\"Latin small letter o with grave accent\",oacute:\"Latin small letter o with acute accent\",ocirc:\"Latin small letter o with circumflex\",otilde:\"Latin small letter o with tilde\",ouml:\"Latin small letter o with diaeresis\",divide:\"Division sign\",oslash:\"Latin small letter o with stroke\",ugrave:\"Latin small letter u with grave accent\",uacute:\"Latin small letter u with acute accent\",ucirc:\"Latin small letter u with circumflex\",\nuuml:\"Latin small letter u with diaeresis\",yacute:\"Latin small letter y with acute accent\",thorn:\"Latin small letter thorn\",yuml:\"Latin small letter y with diaeresis\",OElig:\"Latin capital ligature OE\",oelig:\"Latin small ligature oe\",372:\"Latin capital letter W with circumflex\",374:\"Latin capital letter Y with circumflex\",373:\"Latin small letter w with circumflex\",375:\"Latin small letter y with circumflex\",sbquo:\"Single low-9 quotation mark\",8219:\"Single high-reversed-9 quotation mark\",bdquo:\"Double low-9 quotation mark\",\nhellip:\"Horizontal ellipsis\",trade:\"Trade mark sign\",9658:\"Black right-pointing pointer\",bull:\"Bullet\",rarr:\"Rightwards arrow\",rArr:\"Rightwards double arrow\",hArr:\"Left right double arrow\",diams:\"Black diamond suit\",asymp:\"Almost equal to\"});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/nl.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/nl.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"specialchar\",\"nl\",{euro:\"Euro-teken\",lsquo:\"Linker enkel aanhalingsteken\",rsquo:\"Rechter enkel aanhalingsteken\",ldquo:\"Linker dubbel aanhalingsteken\",rdquo:\"Rechter dubbel aanhalingsteken\",ndash:\"En dash\",mdash:\"Em dash\",iexcl:\"Omgekeerd uitroepteken\",cent:\"Cent-teken\",pound:\"Pond-teken\",curren:\"Valuta-teken\",yen:\"Yen-teken\",brvbar:\"Gebroken streep\",sect:\"Paragraaf-teken\",uml:\"Trema\",copy:\"Copyright-teken\",ordf:\"Vrouwelijk ordinaal\",laquo:\"Linker guillemet\",not:\"Ongelijk-teken\",\nreg:\"Geregistreerd handelsmerk-teken\",macr:\"Macron\",deg:\"Graden-teken\",sup2:\"Superscript twee\",sup3:\"Superscript drie\",acute:\"Accent aigu\",micro:\"Micro-teken\",para:\"Alinea-teken\",middot:\"Halfhoge punt\",cedil:\"Cedille\",sup1:\"Superscript een\",ordm:\"Mannelijk ordinaal\",raquo:\"Rechter guillemet\",frac14:\"Breuk kwart\",frac12:\"Breuk half\",frac34:\"Breuk driekwart\",iquest:\"Omgekeerd vraagteken\",Agrave:\"Latijnse hoofdletter A met een accent grave\",Aacute:\"Latijnse hoofdletter A met een accent aigu\",Acirc:\"Latijnse hoofdletter A met een circonflexe\",\nAtilde:\"Latijnse hoofdletter A met een tilde\",Auml:\"Latijnse hoofdletter A met een trema\",Aring:\"Latijnse hoofdletter A met een corona\",AElig:\"Latijnse hoofdletter Æ\",Ccedil:\"Latijnse hoofdletter C met een cedille\",Egrave:\"Latijnse hoofdletter E met een accent grave\",Eacute:\"Latijnse hoofdletter E met een accent aigu\",Ecirc:\"Latijnse hoofdletter E met een circonflexe\",Euml:\"Latijnse hoofdletter E met een trema\",Igrave:\"Latijnse hoofdletter I met een accent grave\",Iacute:\"Latijnse hoofdletter I met een accent aigu\",\nIcirc:\"Latijnse hoofdletter I met een circonflexe\",Iuml:\"Latijnse hoofdletter I met een trema\",ETH:\"Latijnse hoofdletter Eth\",Ntilde:\"Latijnse hoofdletter N met een tilde\",Ograve:\"Latijnse hoofdletter O met een accent grave\",Oacute:\"Latijnse hoofdletter O met een accent aigu\",Ocirc:\"Latijnse hoofdletter O met een circonflexe\",Otilde:\"Latijnse hoofdletter O met een tilde\",Ouml:\"Latijnse hoofdletter O met een trema\",times:\"Maal-teken\",Oslash:\"Latijnse hoofdletter O met een schuine streep\",Ugrave:\"Latijnse hoofdletter U met een accent grave\",\nUacute:\"Latijnse hoofdletter U met een accent aigu\",Ucirc:\"Latijnse hoofdletter U met een circonflexe\",Uuml:\"Latijnse hoofdletter U met een trema\",Yacute:\"Latijnse hoofdletter Y met een accent aigu\",THORN:\"Latijnse hoofdletter Thorn\",szlig:\"Latijnse kleine ringel-s\",agrave:\"Latijnse kleine letter a met een accent grave\",aacute:\"Latijnse kleine letter a met een accent aigu\",acirc:\"Latijnse kleine letter a met een circonflexe\",atilde:\"Latijnse kleine letter a met een tilde\",auml:\"Latijnse kleine letter a met een trema\",\naring:\"Latijnse kleine letter a met een corona\",aelig:\"Latijnse kleine letter æ\",ccedil:\"Latijnse kleine letter c met een cedille\",egrave:\"Latijnse kleine letter e met een accent grave\",eacute:\"Latijnse kleine letter e met een accent aigu\",ecirc:\"Latijnse kleine letter e met een circonflexe\",euml:\"Latijnse kleine letter e met een trema\",igrave:\"Latijnse kleine letter i met een accent grave\",iacute:\"Latijnse kleine letter i met een accent aigu\",icirc:\"Latijnse kleine letter i met een circonflexe\",\niuml:\"Latijnse kleine letter i met een trema\",eth:\"Latijnse kleine letter eth\",ntilde:\"Latijnse kleine letter n met een tilde\",ograve:\"Latijnse kleine letter o met een accent grave\",oacute:\"Latijnse kleine letter o met een accent aigu\",ocirc:\"Latijnse kleine letter o met een circonflexe\",otilde:\"Latijnse kleine letter o met een tilde\",ouml:\"Latijnse kleine letter o met een trema\",divide:\"Deel-teken\",oslash:\"Latijnse kleine letter o met een schuine streep\",ugrave:\"Latijnse kleine letter u met een accent grave\",\nuacute:\"Latijnse kleine letter u met een accent aigu\",ucirc:\"Latijnse kleine letter u met een circonflexe\",uuml:\"Latijnse kleine letter u met een trema\",yacute:\"Latijnse kleine letter y met een accent aigu\",thorn:\"Latijnse kleine letter thorn\",yuml:\"Latijnse kleine letter y met een trema\",OElig:\"Latijnse hoofdletter Œ\",oelig:\"Latijnse kleine letter œ\",372:\"Latijnse hoofdletter W met een circonflexe\",374:\"Latijnse hoofdletter Y met een circonflexe\",373:\"Latijnse kleine letter w met een circonflexe\",\n375:\"Latijnse kleine letter y met een circonflexe\",sbquo:\"Lage enkele aanhalingsteken\",8219:\"Hoge omgekeerde enkele aanhalingsteken\",bdquo:\"Lage dubbele aanhalingsteken\",hellip:\"Beletselteken\",trade:\"Trademark-teken\",9658:\"Zwarte driehoek naar rechts\",bull:\"Bullet\",rarr:\"Pijl naar rechts\",rArr:\"Dubbele pijl naar rechts\",hArr:\"Dubbele pijl naar links\",diams:\"Zwart ruitje\",asymp:\"Benaderingsteken\"});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/sq.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/sq.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"specialchar\",\"sq\",{euro:\"Shenja e Euros\",lsquo:\"Thonjëza majtas me një vi\",rsquo:\"Thonjëza djathtas me një vi\",ldquo:\"Thonjëza majtas\",rdquo:\"Thonjëza djathtas\",ndash:\"En viza lidhëse\",mdash:\"Em viza lidhëse\",iexcl:\"Pikëçuditëse e përmbysur\",cent:\"Shenja e Centit\",pound:\"Shejna e Funtit\",curren:\"Shenja e valutës\",yen:\"Shenja e Jenit\",brvbar:\"Viza e këputur\",sect:\"Shenja e pjesës\",uml:\"Diaeresis\",copy:\"Shenja e të drejtave të kopjimit\",ordf:\"Feminine ordinal indicator\",laquo:\"Left-pointing double angle quotation mark\",\nnot:\"Nuk ka shenjë\",reg:\"Shenja e të regjistruarit\",macr:\"Macron\",deg:\"Shenja e shkallës\",sup2:\"Super-skripta dy\",sup3:\"Super-skripta tre\",acute:\"Theks i mprehtë\",micro:\"Shjenja e Mikros\",para:\"Pilcrow sign\",middot:\"Pika e Mesme\",cedil:\"Hark nën shkronja\",sup1:\"Super-skripta një\",ordm:\"Masculine ordinal indicator\",raquo:\"Right-pointing double angle quotation mark\",frac14:\"Thyesa një të katrat\",frac12:\"Thyesa një të dytat\",frac34:\"Thyesa tre të katrat\",iquest:\"Pikëpyetje e përmbysur\",Agrave:\"Shkronja e madhe latine A me theks të rëndë\",\nAacute:\"Shkronja e madhe latine A me theks akute\",Acirc:\"Shkronja e madhe latine A me theks lakor\",Atilde:\"Shkronja e madhe latine A me tildë\",Auml:\"Shkronja e madhe latine A me dy pika\",Aring:\"Shkronja e madhe latine A me unazë mbi\",AElig:\"Shkronja e madhe latine Æ\",Ccedil:\"Shkronja e madhe latine C me hark poshtë\",Egrave:\"Shkronja e madhe latine E me theks të rëndë\",Eacute:\"Shkronja e madhe latine E me theks akute\",Ecirc:\"Shkronja e madhe latine E me theks lakor\",Euml:\"Shkronja e madhe latine E me dy pika\",\nIgrave:\"Shkronja e madhe latine I me theks të rëndë\",Iacute:\"Shkronja e madhe latine I me theks akute\",Icirc:\"Shkronja e madhe latine I me theks lakor\",Iuml:\"Shkronja e madhe latine I me dy pika\",ETH:\"Shkronja e madhe latine Eth\",Ntilde:\"Shkronja e madhe latine N me tildë\",Ograve:\"Shkronja e madhe latine O me theks të rëndë\",Oacute:\"Shkronja e madhe latine O me theks akute\",Ocirc:\"Shkronja e madhe latine O me theks lakor\",Otilde:\"Shkronja e madhe latine O me tildë\",Ouml:\"Shkronja e madhe latine O me dy pika\",\ntimes:\"Shenja e shumëzimit\",Oslash:\"Shkronja e madhe latine O me vizë në mes\",Ugrave:\"Shkronja e madhe latine U me theks të rëndë\",Uacute:\"Shkronja e madhe latine U me theks akute\",Ucirc:\"Shkronja e madhe latine U me theks lakor\",Uuml:\"Shkronja e madhe latine U me dy pika\",Yacute:\"Shkronja e madhe latine Y me theks akute\",THORN:\"Shkronja e madhe latine Thorn\",szlig:\"Shkronja e vogë latine s e mprehtë\",agrave:\"Shkronja e vogë latine a me theks të rëndë\",aacute:\"Shkronja e vogë latine a me theks të mprehtë\",\nacirc:\"Shkronja e vogël latine a me theks lakor\",atilde:\"Shkronja e vogël latine a me tildë\",auml:\"Shkronja e vogël latine a me dy pika\",aring:\"Shkronja e vogë latine a me unazë mbi\",aelig:\"Shkronja e vogë latine æ\",ccedil:\"Shkronja e vogël latine c me hark poshtë\",egrave:\"Shkronja e vogë latine e me theks të rëndë\",eacute:\"Shkronja e vogë latine e me theks të mprehtë\",ecirc:\"Shkronja e vogël latine e me theks lakor\",euml:\"Shkronja e vogël latine e me dy pika\",igrave:\"Shkronja e vogë latine i me theks të rëndë\",\niacute:\"Shkronja e vogë latine i me theks të mprehtë\",icirc:\"Shkronja e vogël latine i me theks lakor\",iuml:\"Shkronja e vogël latine i me dy pika\",eth:\"Shkronja e vogë latine eth\",ntilde:\"Shkronja e vogël latine n me tildë\",ograve:\"Shkronja e vogë latine o me theks të rëndë\",oacute:\"Shkronja e vogë latine o me theks të mprehtë\",ocirc:\"Shkronja e vogël latine o me theks lakor\",otilde:\"Shkronja e vogël latine o me tildë\",ouml:\"Shkronja e vogël latine o me dy pika\",divide:\"Shenja ndarëse\",oslash:\"Shkronja e vogël latine o me vizë në mes\",\nugrave:\"Shkronja e vogë latine u me theks të rëndë\",uacute:\"Shkronja e vogë latine u me theks të mprehtë\",ucirc:\"Shkronja e vogël latine u me theks lakor\",uuml:\"Shkronja e vogël latine u me dy pika\",yacute:\"Shkronja e vogë latine y me theks të mprehtë\",thorn:\"Shkronja e vogël latine thorn\",yuml:\"Shkronja e vogël latine y me dy pika\",OElig:\"Shkronja e madhe e bashkuar latine OE\",oelig:\"Shkronja e vogël e bashkuar latine oe\",372:\"Shkronja e madhe latine W me theks lakor\",374:\"Shkronja e madhe latine Y me theks lakor\",\n373:\"Shkronja e vogël latine w me theks lakor\",375:\"Shkronja e vogël latine y me theks lakor\",sbquo:\"Single low-9 quotation mark\",8219:\"Single high-reversed-9 quotation mark\",bdquo:\"Double low-9 quotation mark\",hellip:\"Horizontal ellipsis\",trade:\"Shenja e Simbolit Tregtarë\",9658:\"Black right-pointing pointer\",bull:\"Pulla\",rarr:\"Shigjeta djathtas\",rArr:\"Shenja të dyfishta djathtas\",hArr:\"Shigjeta e dyfishë majtas-djathtas\",diams:\"Black diamond suit\",asymp:\"Gati e barabar me\"});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/eo.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/eo.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"specialchar\",\"eo\",{euro:\"Eŭrosigno\",lsquo:\"Supra 6-citilo\",rsquo:\"Supra 9-citilo\",ldquo:\"Supra 66-citilo\",rdquo:\"Supra 99-citilo\",ndash:\"Streketo\",mdash:\"Substreko\",iexcl:\"Renversita krisigno\",cent:\"Cendosigno\",pound:\"Pundosigno\",curren:\"Monersigno\",yen:\"Enosigno\",brvbar:\"Rompita vertikala streko\",sect:\"Kurba paragrafo\",uml:\"Tremao\",copy:\"Kopirajtosigno\",ordf:\"Adjektiva numerfinaĵo\",laquo:\"Duobla malplio-citilo\",not:\"Negohoko\",reg:\"Registrita marko\",macr:\"Superstreko\",deg:\"Gradosigno\",\nsup2:\"Supra indico 2\",sup3:\"Supra indico 3\",acute:\"Dekstra korno\",micro:\"Mikrosigno\",para:\"Rekta paragrafo\",middot:\"Meza punkto\",cedil:\"Zoeto\",sup1:\"Supra indico 1\",ordm:\"Substantiva numerfinaĵo\",raquo:\"Duobla plio-citilo\",frac14:\"Kvaronosigno\",frac12:\"Duonosigno\",frac34:\"Trikvaronosigno\",iquest:\"renversita demandosigno\",Agrave:\"Latina ĉeflitero A kun liva korno\",Aacute:\"Latina ĉeflitero A kun dekstra korno\",Acirc:\"Latina ĉeflitero A kun ĉapelo\",Atilde:\"Latina ĉeflitero A kun tildo\",Auml:\"Latina ĉeflitero A kun tremao\",\nAring:\"Latina ĉeflitero A kun superringo\",AElig:\"Latina ĉeflitera ligaturo Æ\",Ccedil:\"Latina ĉeflitero C kun zoeto\",Egrave:\"Latina ĉeflitero E kun liva korno\",Eacute:\"Latina ĉeflitero E kun dekstra korno\",Ecirc:\"Latina ĉeflitero E kun ĉapelo\",Euml:\"Latina ĉeflitero E kun tremao\",Igrave:\"Latina ĉeflitero I kun liva korno\",Iacute:\"Latina ĉeflitero I kun dekstra korno\",Icirc:\"Latina ĉeflitero I kun ĉapelo\",Iuml:\"Latina ĉeflitero I kun tremao\",ETH:\"Latina ĉeflitero islanda edo\",Ntilde:\"Latina ĉeflitero N kun tildo\",\nOgrave:\"Latina ĉeflitero O kun liva korno\",Oacute:\"Latina ĉeflitero O kun dekstra korno\",Ocirc:\"Latina ĉeflitero O kun ĉapelo\",Otilde:\"Latina ĉeflitero O kun tildo\",Ouml:\"Latina ĉeflitero O kun tremao\",times:\"Multipliko\",Oslash:\"Latina ĉeflitero O trastrekita\",Ugrave:\"Latina ĉeflitero U kun liva korno\",Uacute:\"Latina ĉeflitero U kun dekstra korno\",Ucirc:\"Latina ĉeflitero U kun ĉapelo\",Uuml:\"Latina ĉeflitero U kun tremao\",Yacute:\"Latina ĉeflitero Y kun dekstra korno\",THORN:\"Latina ĉeflitero islanda dorno\",\nszlig:\"Latina etlitero germana sozo (akra s)\",agrave:\"Latina etlitero a kun liva korno\",aacute:\"Latina etlitero a kun dekstra korno\",acirc:\"Latina etlitero a kun ĉapelo\",atilde:\"Latina etlitero a kun tildo\",auml:\"Latina etlitero a kun tremao\",aring:\"Latina etlitero a kun superringo\",aelig:\"Latina etlitera ligaturo æ\",ccedil:\"Latina etlitero c kun zoeto\",egrave:\"Latina etlitero e kun liva korno\",eacute:\"Latina etlitero e kun dekstra korno\",ecirc:\"Latina etlitero e kun ĉapelo\",euml:\"Latina etlitero e kun tremao\",\nigrave:\"Latina etlitero i kun liva korno\",iacute:\"Latina etlitero i kun dekstra korno\",icirc:\"Latina etlitero i kun ĉapelo\",iuml:\"Latina etlitero i kun tremao\",eth:\"Latina etlitero islanda edo\",ntilde:\"Latina etlitero n kun tildo\",ograve:\"Latina etlitero o kun liva korno\",oacute:\"Latina etlitero o kun dekstra korno\",ocirc:\"Latina etlitero o kun ĉapelo\",otilde:\"Latina etlitero o kun tildo\",ouml:\"Latina etlitero o kun tremao\",divide:\"Dividosigno\",oslash:\"Latina etlitero o trastrekita\",ugrave:\"Latina etlitero u kun liva korno\",\nuacute:\"Latina etlitero u kun dekstra korno\",ucirc:\"Latina etlitero u kun ĉapelo\",uuml:\"Latina etlitero u kun tremao\",yacute:\"Latina etlitero y kun dekstra korno\",thorn:\"Latina etlitero islanda dorno\",yuml:\"Latina etlitero y kun tremao\",OElig:\"Latina ĉeflitera ligaturo Œ\",oelig:\"Latina etlitera ligaturo œ\",372:\"Latina ĉeflitero W kun ĉapelo\",374:\"Latina ĉeflitero Y kun ĉapelo\",373:\"Latina etlitero w kun ĉapelo\",375:\"Latina etlitero y kun ĉapelo\",sbquo:\"Suba 9-citilo\",8219:\"Supra renversita 9-citilo\",\nbdquo:\"Suba 99-citilo\",hellip:\"Tripunkto\",trade:\"Varmarka signo\",9658:\"Nigra sago dekstren\",bull:\"Bulmarko\",rarr:\"Sago dekstren\",rArr:\"Duobla sago dekstren\",hArr:\"Duobla sago maldekstren\",diams:\"Nigra kvadrato\",asymp:\"Preskaŭ egala\"});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/fr-ca.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/fr-ca.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"specialchar\",\"fr-ca\",{euro:\"Symbole Euro\",lsquo:\"Guillemet simple ouvrant\",rsquo:\"Guillemet simple fermant\",ldquo:\"Guillemet double ouvrant\",rdquo:\"Guillemet double fermant\",ndash:\"Tiret haut\",mdash:\"Tiret\",iexcl:\"Point d'exclamation inversé\",cent:\"Symbole de cent\",pound:\"Symbole de Livre Sterling\",curren:\"Symbole monétaire\",yen:\"Symbole du Yen\",brvbar:\"Barre scindée\",sect:\"Symbole de section\",uml:\"Tréma\",copy:\"Symbole de copyright\",ordf:\"Indicateur ordinal féminin\",laquo:\"Guillemet français ouvrant\",\nnot:\"Indicateur de négation\",reg:\"Symbole de marque déposée\",macr:\"Macron\",deg:\"Degré\",sup2:\"Exposant 2\",sup3:\"Exposant 3\",acute:\"Accent aigüe\",micro:\"Symbole micro\",para:\"Paragraphe\",middot:\"Point médian\",cedil:\"Cédille\",sup1:\"Exposant 1\",ordm:\"Indicateur ordinal masculin\",raquo:\"Guillemet français fermant\",frac14:\"Un quart\",frac12:\"Une demi\",frac34:\"Trois quart\",iquest:\"Point d'interrogation inversé\",Agrave:\"A accent grave\",Aacute:\"A accent aigüe\",Acirc:\"A circonflexe\",Atilde:\"A tilde\",Auml:\"A tréma\",\nAring:\"A avec un rond au dessus\",AElig:\"Æ majuscule\",Ccedil:\"C cédille\",Egrave:\"E accent grave\",Eacute:\"E accent aigüe\",Ecirc:\"E accent circonflexe\",Euml:\"E tréma\",Igrave:\"I accent grave\",Iacute:\"I accent aigüe\",Icirc:\"I accent circonflexe\",Iuml:\"I tréma\",ETH:\"Lettre majuscule islandaise ED\",Ntilde:\"N tilde\",Ograve:\"O accent grave\",Oacute:\"O accent aigüe\",Ocirc:\"O accent circonflexe\",Otilde:\"O tilde\",Ouml:\"O tréma\",times:\"Symbole de multiplication\",Oslash:\"O barré\",Ugrave:\"U accent grave\",Uacute:\"U accent aigüe\",\nUcirc:\"U accent circonflexe\",Uuml:\"U tréma\",Yacute:\"Y accent aigüe\",THORN:\"Lettre islandaise Thorn majuscule\",szlig:\"Lettre minuscule allemande s dur\",agrave:\"a accent grave\",aacute:\"a accent aigüe\",acirc:\"a accent circonflexe\",atilde:\"a tilde\",auml:\"a tréma\",aring:\"a avec un cercle au dessus\",aelig:\"æ\",ccedil:\"c cédille\",egrave:\"e accent grave\",eacute:\"e accent aigüe\",ecirc:\"e accent circonflexe\",euml:\"e tréma\",igrave:\"i accent grave\",iacute:\"i accent aigüe\",icirc:\"i accent circonflexe\",iuml:\"i tréma\",\neth:\"Lettre minuscule islandaise ED\",ntilde:\"n tilde\",ograve:\"o accent grave\",oacute:\"o accent aigüe\",ocirc:\"O accent circonflexe\",otilde:\"O tilde\",ouml:\"O tréma\",divide:\"Symbole de division\",oslash:\"o barré\",ugrave:\"u accent grave\",uacute:\"u accent aigüe\",ucirc:\"u accent circonflexe\",uuml:\"u tréma\",yacute:\"y accent aigüe\",thorn:\"Lettre islandaise thorn minuscule\",yuml:\"y tréma\",OElig:\"ligature majuscule latine Œ\",oelig:\"ligature minuscule latine œ\",372:\"W accent circonflexe\",374:\"Y accent circonflexe\",\n373:\"w accent circonflexe\",375:\"y accent circonflexe\",sbquo:\"Guillemet simple fermant\",8219:\"Guillemet-virgule supérieur culbuté\",bdquo:\"Guillemet-virgule double inférieur\",hellip:\"Points de suspension\",trade:\"Symbole de marque déposée\",9658:\"Flèche noire pointant vers la droite\",bull:\"Puce\",rarr:\"Flèche vers la droite\",rArr:\"Flèche double vers la droite\",hArr:\"Flèche double vers la gauche\",diams:\"Carreau\",asymp:\"Presque égal\"});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/de.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/de.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"specialchar\",\"de\",{euro:\"Euro Zeichen\",lsquo:\"Hochkomma links\",rsquo:\"Hochkomma rechts\",ldquo:\"Anführungszeichen links\",rdquo:\"Anführungszeichen rechts\",ndash:\"kleiner Strich\",mdash:\"mittlerer Strich\",iexcl:\"invertiertes Ausrufezeichen\",cent:\"Cent\",pound:\"Pfund\",curren:\"Währung\",yen:\"Yen\",brvbar:\"gestrichelte Linie\",sect:\"§ Zeichen\",uml:\"Diäresis\",copy:\"Copyright\",ordf:\"Feminine ordinal Anzeige\",laquo:\"Nach links zeigenden Doppel-Winkel Anführungszeichen\",not:\"Not-Zeichen\",\nreg:\"Registriert\",macr:\"Längezeichen\",deg:\"Grad\",sup2:\"Hoch 2\",sup3:\"Hoch 3\",acute:\"Akzentzeichen \",micro:\"Micro\",para:\"Pilcrow-Zeichen\",middot:\"Mittelpunkt\",cedil:\"Cedilla\",sup1:\"Hoch 1\",ordm:\"Männliche Ordnungszahl Anzeige\",raquo:\"Nach rechts zeigenden Doppel-Winkel Anführungszeichen\",frac14:\"ein Viertel\",frac12:\"Hälfte\",frac34:\"Dreiviertel\",iquest:\"Umgekehrtes Fragezeichen\",Agrave:\"Lateinischer Buchstabe A mit AkzentGrave\",Aacute:\"Lateinischer Buchstabe A mit Akutakzent\",Acirc:\"Lateinischer Buchstabe A mit Zirkumflex\",\nAtilde:\"Lateinischer Buchstabe A mit Tilde\",Auml:\"Lateinischer Buchstabe A mit Trema\",Aring:\"Lateinischer Buchstabe A mit Ring oben\",AElig:\"Lateinischer Buchstabe Æ\",Ccedil:\"Lateinischer Buchstabe C mit Cedille\",Egrave:\"Lateinischer Buchstabe E mit AkzentGrave\",Eacute:\"Lateinischer Buchstabe E mit Akutakzent\",Ecirc:\"Lateinischer Buchstabe E mit Zirkumflex\",Euml:\"Lateinischer Buchstabe E Trema\",Igrave:\"Lateinischer Buchstabe I mit AkzentGrave\",Iacute:\"Lateinischer Buchstabe I mit Akutakzent\",Icirc:\"Lateinischer Buchstabe I mit Zirkumflex\",\nIuml:\"Lateinischer Buchstabe I mit Trema\",ETH:\"Lateinischer Buchstabe Eth\",Ntilde:\"Lateinischer Buchstabe N mit Tilde\",Ograve:\"Lateinischer Buchstabe O mit AkzentGrave\",Oacute:\"Lateinischer Buchstabe O mit Akutakzent\",Ocirc:\"Lateinischer Buchstabe O mit Zirkumflex\",Otilde:\"Lateinischer Buchstabe O mit Tilde\",Ouml:\"Lateinischer Buchstabe O mit Trema\",times:\"Multiplikation\",Oslash:\"Lateinischer Buchstabe O durchgestrichen\",Ugrave:\"Lateinischer Buchstabe U mit Akzentgrave\",Uacute:\"Lateinischer Buchstabe U mit Akutakzent\",\nUcirc:\"Lateinischer Buchstabe U mit Zirkumflex\",Uuml:\"Lateinischer Buchstabe a mit Trema\",Yacute:\"Lateinischer Buchstabe a mit Akzent\",THORN:\"Lateinischer Buchstabe mit Dorn\",szlig:\"Kleiner lateinischer Buchstabe scharfe s\",agrave:\"Kleiner lateinischer Buchstabe a mit Accent grave\",aacute:\"Kleiner lateinischer Buchstabe a mit Akut\",acirc:\"Lateinischer Buchstabe a mit Zirkumflex\",atilde:\"Lateinischer Buchstabe a mit Tilde\",auml:\"Kleiner lateinischer Buchstabe a mit Trema\",aring:\"Kleiner lateinischer Buchstabe a mit Ring oben\",\naelig:\"Lateinischer Buchstabe æ\",ccedil:\"Kleiner lateinischer Buchstabe c mit Cedille\",egrave:\"Kleiner lateinischer Buchstabe e mit Accent grave\",eacute:\"Kleiner lateinischer Buchstabe e mit Akut\",ecirc:\"Kleiner lateinischer Buchstabe e mit Zirkumflex\",euml:\"Kleiner lateinischer Buchstabe e mit Trema\",igrave:\"Kleiner lateinischer Buchstabe i mit AkzentGrave\",iacute:\"Kleiner lateinischer Buchstabe i mit Akzent\",icirc:\"Kleiner lateinischer Buchstabe i mit Zirkumflex\",iuml:\"Kleiner lateinischer Buchstabe i mit Trema\",\neth:\"Kleiner lateinischer Buchstabe eth\",ntilde:\"Kleiner lateinischer Buchstabe n mit Tilde\",ograve:\"Kleiner lateinischer Buchstabe o mit Accent grave\",oacute:\"Kleiner lateinischer Buchstabe o mit Akzent\",ocirc:\"Kleiner lateinischer Buchstabe o mit Zirkumflex\",otilde:\"Lateinischer Buchstabe i mit Tilde\",ouml:\"Kleiner lateinischer Buchstabe o mit Trema\",divide:\"Divisionszeichen\",oslash:\"Kleiner lateinischer Buchstabe o durchgestrichen\",ugrave:\"Kleiner lateinischer Buchstabe u mit Accent grave\",uacute:\"Kleiner lateinischer Buchstabe u mit Akut\",\nucirc:\"Kleiner lateinischer Buchstabe u mit Zirkumflex\",uuml:\"Kleiner lateinischer Buchstabe u mit Trema\",yacute:\"Kleiner lateinischer Buchstabe y mit Akut\",thorn:\"Kleiner lateinischer Buchstabe Dorn\",yuml:\"Kleiner lateinischer Buchstabe y mit Trema\",OElig:\"Lateinischer Buchstabe Ligatur OE\",oelig:\"Kleiner lateinischer Buchstabe Ligatur OE\",372:\"Lateinischer Buchstabe W mit Zirkumflex\",374:\"Lateinischer Buchstabe Y mit Zirkumflex\",373:\"Kleiner lateinischer Buchstabe w mit Zirkumflex\",375:\"Kleiner lateinischer Buchstabe y mit Zirkumflex\",\nsbquo:\"Tiefergestelltes Komma\",8219:\"Rumgedrehtes Komma\",bdquo:\"Doppeltes Anführungszeichen unten\",hellip:\"horizontale Auslassungspunkte\",trade:\"Handelszeichen\",9658:\"Dreickspfeil rechts\",bull:\"Bullet\",rarr:\"Pfeil rechts\",rArr:\"Doppelpfeil rechts\",hArr:\"Doppelpfeil links\",diams:\"Karo\",asymp:\"Ungefähr\"});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/el.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/el.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"specialchar\",\"el\",{euro:\"Σύμβολο Ευρώ\",lsquo:\"Αριστερός χαρακτήρας μονού εισαγωγικού\",rsquo:\"Δεξιός χαρακτήρας μονού εισαγωγικού\",ldquo:\"Αριστερός χαρακτήρας διπλού εισαγωγικού\",rdquo:\"Δεξιός χαρακτήρας διπλού εισαγωγικού\",ndash:\"Παύλα en\",mdash:\"Παύλα em\",iexcl:\"Ανάποδο θαυμαστικό\",cent:\"Σύμβολο σεντ\",pound:\"Σύμβολο λίρας\",curren:\"Σύμβολο συναλλαγματικής μονάδας\",yen:\"Σύμβολο Γιεν\",brvbar:\"Σπασμένη μπάρα\",sect:\"Σύμβολο τμήματος\",uml:\"Διαίρεση\",copy:\"Σύμβολο πνευματικών δικαιωμάτων\",\nordf:\"Feminine ordinal indicator\",laquo:\"Αριστερός χαρακτήρας διπλού εισαγωγικού\",not:\"Not sign\",reg:\"Σύμβολο σημάτων κατατεθέν\",macr:\"Μακρόν\",deg:\"Σύμβολο βαθμού\",sup2:\"Εκτεθειμένο δύο\",sup3:\"Εκτεθειμένο τρία\",acute:\"Οξεία\",micro:\"Σύμβολο μικρού\",para:\"Σύμβολο παραγράφου\",middot:\"Μέση τελεία\",cedil:\"Υπογεγραμμένη\",sup1:\"Εκτεθειμένο ένα\",ordm:\"Masculine ordinal indicator\",raquo:\"Right-pointing double angle quotation mark\",frac14:\"Γνήσιο κλάσμα ενός τετάρτου\",frac12:\"Γνήσιο κλάσμα ενός δεύτερου\",frac34:\"Γνήσιο κλάσμα τριών τετάρτων\",\niquest:\"Ανάποδο θαυμαστικό\",Agrave:\"Λατινικό κεφαλαίο γράμμα A με βαρεία\",Aacute:\"Λατινικό κεφαλαίο γράμμα A με οξεία\",Acirc:\"Λατινικό κεφαλαίο γράμμα A με περισπωμένη\",Atilde:\"Λατινικό κεφαλαίο γράμμα A με περισπωμένη\",Auml:\"Λατινικό κεφαλαίο γράμμα A με διαλυτικά\",Aring:\"Λατινικό κεφαλαίο γράμμα A με δακτύλιο επάνω\",AElig:\"Λατινικό κεφαλαίο γράμμα Æ\",Ccedil:\"Λατινικό κεφαλαίο γράμμα C με υπογεγραμμένη\",Egrave:\"Λατινικό κεφαλαίο γράμμα E με βαρεία\",Eacute:\"Λατινικό κεφαλαίο γράμμα E με οξεία\",Ecirc:\"Λατινικό κεφαλαίο γράμμα Ε με περισπωμένη \",\nEuml:\"Λατινικό κεφαλαίο γράμμα Ε με διαλυτικά\",Igrave:\"Λατινικό κεφαλαίο γράμμα I με βαρεία\",Iacute:\"Λατινικό κεφαλαίο γράμμα I με οξεία\",Icirc:\"Λατινικό κεφαλαίο γράμμα I  με περισπωμένη\",Iuml:\"Λατινικό κεφαλαίο γράμμα I με διαλυτικά \",ETH:\"Λατινικό κεφαλαίο γράμμα Eth\",Ntilde:\"Λατινικό κεφαλαίο γράμμα N με περισπωμένη\",Ograve:\"Λατινικό κεφαλαίο γράμμα O με βαρεία\",Oacute:\"Λατινικό κεφαλαίο γράμμα O με οξεία\",Ocirc:\"Λατινικό κεφαλαίο γράμμα O με περισπωμένη \",Otilde:\"Λατινικό κεφαλαίο γράμμα O με περισπωμένη\",\nOuml:\"Λατινικό κεφαλαίο γράμμα O με διαλυτικά\",times:\"Σύμβολο πολλαπλασιασμού\",Oslash:\"Λατινικό κεφαλαίο γράμμα O με μολυβιά\",Ugrave:\"Λατινικό κεφαλαίο γράμμα U με βαρεία\",Uacute:\"Λατινικό κεφαλαίο γράμμα U με οξεία\",Ucirc:\"Λατινικό κεφαλαίο γράμμα U με περισπωμένη\",Uuml:\"Λατινικό κεφαλαίο γράμμα U με διαλυτικά\",Yacute:\"Λατινικό κεφαλαίο γράμμα Y με οξεία\",THORN:\"Λατινικό κεφαλαίο γράμμα Thorn\",szlig:\"Λατινικό μικρό γράμμα απότομο s\",agrave:\"Λατινικό μικρό γράμμα a με βαρεία\",aacute:\"Λατινικό μικρό γράμμα a με οξεία\",\nacirc:\"Λατινικό μικρό γράμμα a με περισπωμένη\",atilde:\"Λατινικό μικρό γράμμα a με περισπωμένη\",auml:\"Λατινικό μικρό γράμμα a με διαλυτικά\",aring:\"Λατινικό μικρό γράμμα a με δακτύλιο πάνω\",aelig:\"Λατινικό μικρό γράμμα æ\",ccedil:\"Λατινικό μικρό γράμμα c με υπογεγραμμένη\",egrave:\"Λατινικό μικρό γράμμα ε με βαρεία\",eacute:\"Λατινικό μικρό γράμμα e με οξεία\",ecirc:\"Λατινικό μικρό γράμμα e με περισπωμένη\",euml:\"Λατινικό μικρό γράμμα e με διαλυτικά\",igrave:\"Λατινικό μικρό γράμμα i με βαρεία\",iacute:\"Λατινικό μικρό γράμμα i με οξεία\",\nicirc:\"Λατινικό μικρό γράμμα i με περισπωμένη\",iuml:\"Λατινικό μικρό γράμμα i με διαλυτικά\",eth:\"Λατινικό μικρό γράμμα eth\",ntilde:\"Λατινικό μικρό γράμμα n με περισπωμένη\",ograve:\"Λατινικό μικρό γράμμα o με βαρεία\",oacute:\"Λατινικό μικρό γράμμα o με οξεία \",ocirc:\"Λατινικό πεζό γράμμα o με περισπωμένη\",otilde:\"Λατινικό μικρό γράμμα o με περισπωμένη \",ouml:\"Λατινικό μικρό γράμμα o με διαλυτικά\",divide:\"Σύμβολο διαίρεσης\",oslash:\"Λατινικό μικρό γράμμα o με περισπωμένη\",ugrave:\"Λατινικό μικρό γράμμα u με βαρεία\",\nuacute:\"Λατινικό μικρό γράμμα u με οξεία\",ucirc:\"Λατινικό μικρό γράμμα u με περισπωμένη\",uuml:\"Λατινικό μικρό γράμμα u με διαλυτικά\",yacute:\"Λατινικό μικρό γράμμα y με οξεία\",thorn:\"Λατινικό μικρό γράμμα thorn\",yuml:\"Λατινικό μικρό γράμμα y με διαλυτικά\",OElig:\"Λατινικό κεφαλαίο σύμπλεγμα ΟΕ\",oelig:\"Λατινικό μικρό σύμπλεγμα oe\",372:\"Λατινικό κεφαλαίο γράμμα W με περισπωμένη\",374:\"Λατινικό κεφαλαίο γράμμα Y με περισπωμένη\",373:\"Λατινικό μικρό γράμμα w με περισπωμένη\",375:\"Λατινικό μικρό γράμμα y με περισπωμένη\",\nsbquo:\"Single low-9 quotation mark\",8219:\"Single high-reversed-9 quotation mark\",bdquo:\"Double low-9 quotation mark\",hellip:\"Οριζόντια αποσιωπητικά\",trade:\"Σύμβολο εμπορικού κατατεθέν\",9658:\"Μαύρος δείκτης που δείχνει προς τα δεξιά\",bull:\"Κουκκίδα\",rarr:\"Δεξί βελάκι\",rArr:\"Διπλό δεξί βελάκι\",hArr:\"Διπλό βελάκι αριστερά-δεξιά\",diams:\"Μαύρο διαμάντι\",asymp:\"Σχεδόν ίσο με\"});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/es.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/es.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"specialchar\",\"es\",{euro:\"Símbolo de euro\",lsquo:\"Comilla simple izquierda\",rsquo:\"Comilla simple derecha\",ldquo:\"Comilla doble izquierda\",rdquo:\"Comilla doble derecha\",ndash:\"Guión corto\",mdash:\"Guión medio largo\",iexcl:\"Signo de admiración invertido\",cent:\"Símbolo centavo\",pound:\"Símbolo libra\",curren:\"Símbolo moneda\",yen:\"Símbolo yen\",brvbar:\"Barra vertical rota\",sect:\"Símbolo sección\",uml:\"Diéresis\",copy:\"Signo de derechos de autor\",ordf:\"Indicador ordinal femenino\",laquo:\"Abre comillas angulares\",\nnot:\"Signo negación\",reg:\"Signo de marca registrada\",macr:\"Guión alto\",deg:\"Signo de grado\",sup2:\"Superíndice dos\",sup3:\"Superíndice tres\",acute:\"Acento agudo\",micro:\"Signo micro\",para:\"Signo de pi\",middot:\"Punto medio\",cedil:\"Cedilla\",sup1:\"Superíndice uno\",ordm:\"Indicador orginal masculino\",raquo:\"Cierra comillas angulares\",frac14:\"Fracción ordinaria de un quarto\",frac12:\"Fracción ordinaria de una mitad\",frac34:\"Fracción ordinaria de tres cuartos\",iquest:\"Signo de interrogación invertido\",Agrave:\"Letra A latina mayúscula con acento grave\",\nAacute:\"Letra A latina  mayúscula con acento agudo\",Acirc:\"Letra A latina mayúscula con acento circunflejo\",Atilde:\"Letra A latina mayúscula con tilde\",Auml:\"Letra A latina mayúscula con diéresis\",Aring:\"Letra A latina mayúscula con aro arriba\",AElig:\"Letra Æ latina mayúscula\",Ccedil:\"Letra C latina mayúscula con cedilla\",Egrave:\"Letra E latina mayúscula con acento grave\",Eacute:\"Letra E latina mayúscula con acento agudo\",Ecirc:\"Letra E latina mayúscula con acento circunflejo\",Euml:\"Letra E latina mayúscula con diéresis\",\nIgrave:\"Letra I latina mayúscula con acento grave\",Iacute:\"Letra I latina mayúscula con acento agudo\",Icirc:\"Letra I latina mayúscula con acento circunflejo\",Iuml:\"Letra I latina mayúscula con diéresis\",ETH:\"Letra Eth latina mayúscula\",Ntilde:\"Letra N latina mayúscula con tilde\",Ograve:\"Letra O latina mayúscula con acento grave\",Oacute:\"Letra O latina mayúscula con acento agudo\",Ocirc:\"Letra O latina mayúscula con acento circunflejo\",Otilde:\"Letra O latina mayúscula con tilde\",Ouml:\"Letra O latina mayúscula con diéresis\",\ntimes:\"Signo de multiplicación\",Oslash:\"Letra O latina mayúscula con barra inclinada\",Ugrave:\"Letra U latina mayúscula con acento grave\",Uacute:\"Letra U latina mayúscula con acento agudo\",Ucirc:\"Letra U latina mayúscula con acento circunflejo\",Uuml:\"Letra U latina mayúscula con diéresis\",Yacute:\"Letra Y latina mayúscula con acento agudo\",THORN:\"Letra Thorn latina mayúscula\",szlig:\"Letra s latina fuerte pequeña\",agrave:\"Letra a latina pequeña con acento grave\",aacute:\"Letra a latina pequeña con acento agudo\",\nacirc:\"Letra a latina pequeña con acento circunflejo\",atilde:\"Letra a latina pequeña con tilde\",auml:\"Letra a latina pequeña con diéresis\",aring:\"Letra a latina pequeña con aro arriba\",aelig:\"Letra æ latina pequeña\",ccedil:\"Letra c latina pequeña con cedilla\",egrave:\"Letra e latina pequeña con acento grave\",eacute:\"Letra e latina pequeña con acento agudo\",ecirc:\"Letra e latina pequeña con acento circunflejo\",euml:\"Letra e latina pequeña con diéresis\",igrave:\"Letra i latina pequeña con acento grave\",\niacute:\"Letra i latina pequeña con acento agudo\",icirc:\"Letra i latina pequeña con acento circunflejo\",iuml:\"Letra i latina pequeña con diéresis\",eth:\"Letra eth latina pequeña\",ntilde:\"Letra n latina pequeña con tilde\",ograve:\"Letra o latina pequeña con acento grave\",oacute:\"Letra o latina pequeña con acento agudo\",ocirc:\"Letra o latina pequeña con acento circunflejo\",otilde:\"Letra o latina pequeña con tilde\",ouml:\"Letra o latina pequeña con diéresis\",divide:\"Signo de división\",oslash:\"Letra o latina minúscula con barra inclinada\",\nugrave:\"Letra u latina pequeña con acento grave\",uacute:\"Letra u latina pequeña con acento agudo\",ucirc:\"Letra u latina pequeña con acento circunflejo\",uuml:\"Letra u latina pequeña con diéresis\",yacute:\"Letra u latina pequeña con acento agudo\",thorn:\"Letra thorn latina minúscula\",yuml:\"Letra y latina pequeña con diéresis\",OElig:\"Diptongo OE latino en mayúscula\",oelig:\"Diptongo oe latino en minúscula\",372:\"Letra W latina mayúscula con acento circunflejo\",374:\"Letra Y latina mayúscula con acento circunflejo\",\n373:\"Letra w latina pequeña con acento circunflejo\",375:\"Letra y latina pequeña con acento circunflejo\",sbquo:\"Comilla simple baja-9\",8219:\"Comilla simple alta invertida-9\",bdquo:\"Comillas dobles bajas-9\",hellip:\"Puntos suspensivos horizontales\",trade:\"Signo de marca registrada\",9658:\"Apuntador negro apuntando a la derecha\",bull:\"Viñeta\",rarr:\"Flecha a la derecha\",rArr:\"Flecha doble a la derecha\",hArr:\"Flecha izquierda derecha doble\",diams:\"Diamante negro\",asymp:\"Casi igual a\"});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/pt.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/pt.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"specialchar\",\"pt\",{euro:\"Símbolo do Euro\",lsquo:\"Aspa esquerda simples\",rsquo:\"Aspa direita simples\",ldquo:\"Aspa esquerda dupla\",rdquo:\"Aspa direita dupla\",ndash:\"Travessão Simples\",mdash:\"Travessão Longo\",iexcl:\"Ponto de exclamação invertido\",cent:\"Símbolo do Cêntimo\",pound:\"Símbolo da Libra\",curren:\"Símbolo de Moeda\",yen:\"Símbolo do Iene\",brvbar:\"Barra quebrada\",sect:\"Símbolo de Secção\",uml:\"Trema\",copy:\"Símbolo dos Direitos de Autor\",ordf:\"Indicador ordinal feminino\",\nlaquo:\"Aspa esquerda ângulo duplo\",not:\"Não Símbolo\",reg:\"Símbolo de Registado\",macr:\"Mácron\",deg:\"Símbolo de Grau\",sup2:\"Expoente 2\",sup3:\"Expoente 3\",acute:\"Acento agudo\",micro:\"Símbolo de Micro\",para:\"Símbolo de Parágrafo\",middot:\"Ponto do Meio\",cedil:\"Cedilha\",sup1:\"Expoente 1\",ordm:\"Indicador ordinal masculino\",raquo:\"Aspas ângulo duplo pra Direita\",frac14:\"Fração vulgar 1/4\",frac12:\"Fração vulgar 1/2\",frac34:\"Fração vulgar 3/4\",iquest:\"Ponto de interrugação invertido\",Agrave:\"Letra maiúscula latina A com acento grave\",\nAacute:\"Letra maiúscula latina A com acento agudo\",Acirc:\"Letra maiúscula latina A com circunflexo\",Atilde:\"Letra maiúscula latina A com til\",Auml:\"Letra maiúscula latina A com trema\",Aring:\"Letra maiúscula latina A com sinal diacrítico\",AElig:\"Letra Maiúscula Latina Æ\",Ccedil:\"Letra maiúscula latina C com cedilha\",Egrave:\"Letra maiúscula latina E com acento grave\",Eacute:\"Letra maiúscula latina E com acento agudo\",Ecirc:\"Letra maiúscula latina E com circunflexo\",Euml:\"Letra maiúscula latina E com trema\",\nIgrave:\"Letra maiúscula latina I com acento grave\",Iacute:\"Letra maiúscula latina I com acento agudo\",Icirc:\"Letra maiúscula latina I com cincunflexo\",Iuml:\"Letra maiúscula latina I com trema\",ETH:\"Letra maiúscula latina Eth (Ðð)\",Ntilde:\"Letra maiúscula latina N com til\",Ograve:\"Letra maiúscula latina O com acento grave\",Oacute:\"Letra maiúscula latina O com acento agudo\",Ocirc:\"Letra maiúscula latina I com circunflexo\",Otilde:\"Letra maiúscula latina O com til\",Ouml:\"Letra maiúscula latina O com trema\",\ntimes:\"Símbolo de Multiplicação\",Oslash:\"Letra maiúscula O com barra\",Ugrave:\"Letra maiúscula latina U com acento grave\",Uacute:\"Letra maiúscula latina U com acento agudo\",Ucirc:\"Letra maiúscula latina U com circunflexo\",Uuml:\"Letra maiúscula latina E com trema\",Yacute:\"Letra maiúscula latina Y com acento agudo\",THORN:\"Letra maiúscula latina Rúnico\",szlig:\"Letra minúscula latina s forte\",agrave:\"Letra minúscula latina a com acento grave\",aacute:\"Letra minúscula latina a com acento agudo\",acirc:\"Letra minúscula latina a com circunflexo\",\natilde:\"Letra minúscula latina a com til\",auml:\"Letra minúscula latina a com trema\",aring:\"Letra minúscula latina a com sinal diacrítico\",aelig:\"Letra minúscula latina æ\",ccedil:\"Letra minúscula latina c com cedilha\",egrave:\"Letra minúscula latina e com acento grave\",eacute:\"Letra minúscula latina e com acento agudo\",ecirc:\"Letra minúscula latina e com circunflexo\",euml:\"Letra minúscula latina e com trema\",igrave:\"Letra minúscula latina i com acento grave\",iacute:\"Letra minúscula latina i com acento agudo\",\nicirc:\"Letra minúscula latina i com circunflexo\",iuml:\"Letra pequena latina i com trema\",eth:\"Letra minúscula latina eth\",ntilde:\"Letra minúscula latina n com til\",ograve:\"Letra minúscula latina o com acento grave\",oacute:\"Letra minúscula latina o com acento agudo\",ocirc:\"Letra minúscula latina o com circunflexo\",otilde:\"Letra minúscula latina o com til\",ouml:\"Letra minúscula latina o com trema\",divide:\"Símbolo de Divisão\",oslash:\"Letra minúscula latina o com barra\",ugrave:\"Letra minúscula latina u com acento grave\",\nuacute:\"Letra minúscula latina u com acento agudo\",ucirc:\"Letra minúscula latina u com circunflexo\",uuml:\"Letra minúscula latina u com trema\",yacute:\"Letra minúscula latina y com acento agudo\",thorn:\"Letra minúscula latina Rúnico\",yuml:\"Letra minúscula latina y com trema\",OElig:\"Ligadura maiúscula latina OE\",oelig:\"Ligadura minúscula latina oe\",372:\"Letra maiúscula latina W com circunflexo\",374:\"Letra maiúscula latina Y com circunflexo\",373:\"Letra minúscula latina w com circunflexo\",375:\"Letra minúscula latina y com circunflexo\",\nsbquo:\"Aspa Simples inferior-9\",8219:\"Aspa Simples superior invertida-9\",bdquo:\"Aspa Duplas inferior-9\",hellip:\"Elipse Horizontal \",trade:\"Símbolo de Marca Registada\",9658:\"Ponteiro preto direito\",bull:\"Marca\",rarr:\"Seta para a direita\",rArr:\"Seta dupla para a direita\",hArr:\"Seta dupla direita esquerda\",diams:\"Naipe diamante preto\",asymp:\"Quase igual a \"});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/pt-br.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/pt-br.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"specialchar\",\"pt-br\",{euro:\"Euro\",lsquo:\"Aspas simples esquerda\",rsquo:\"Aspas simples direita\",ldquo:\"Aspas duplas esquerda\",rdquo:\"Aspas duplas direita\",ndash:\"Traço\",mdash:\"Travessão\",iexcl:\"Ponto de exclamação invertido\",cent:\"Cent\",pound:\"Cerquilha\",curren:\"Dinheiro\",yen:\"Yen\",brvbar:\"Bara interrompida\",sect:\"Símbolo de Parágrafo\",uml:\"Trema\",copy:\"Direito de Cópia\",ordf:\"Indicador ordinal feminino\",laquo:\"Aspas duplas angulares esquerda\",not:\"Negação\",reg:\"Marca Registrada\",\nmacr:\"Mácron\",deg:\"Grau\",sup2:\"2 Superscrito\",sup3:\"3 Superscrito\",acute:\"Acento agudo\",micro:\"Micro\",para:\"Pé de mosca\",middot:\"Ponto mediano\",cedil:\"Cedilha\",sup1:\"1 Superscrito\",ordm:\"Indicador ordinal masculino\",raquo:\"Aspas duplas angulares direita\",frac14:\"Um quarto\",frac12:\"Um meio\",frac34:\"Três quartos\",iquest:\"Interrogação invertida\",Agrave:\"A maiúsculo com acento grave\",Aacute:\"A maiúsculo com acento agudo\",Acirc:\"A maiúsculo com acento circunflexo\",Atilde:\"A maiúsculo com til\",Auml:\"A maiúsculo com trema\",\nAring:\"A maiúsculo com anel acima\",AElig:\"Æ maiúsculo\",Ccedil:\"Ç maiúlculo\",Egrave:\"E maiúsculo com acento grave\",Eacute:\"E maiúsculo com acento agudo\",Ecirc:\"E maiúsculo com acento circumflexo\",Euml:\"E maiúsculo com trema\",Igrave:\"I maiúsculo com acento grave\",Iacute:\"I maiúsculo com acento agudo\",Icirc:\"I maiúsculo com acento circunflexo\",Iuml:\"I maiúsculo com crase\",ETH:\"Eth maiúsculo\",Ntilde:\"N maiúsculo com til\",Ograve:\"O maiúsculo com acento grave\",Oacute:\"O maiúsculo com acento agudo\",Ocirc:\"O maiúsculo com acento circunflexo\",\nOtilde:\"O maiúsculo com til\",Ouml:\"O maiúsculo com trema\",times:\"Multiplicação\",Oslash:\"Diâmetro\",Ugrave:\"U maiúsculo com acento grave\",Uacute:\"U maiúsculo com acento agudo\",Ucirc:\"U maiúsculo com acento circunflexo\",Uuml:\"U maiúsculo com trema\",Yacute:\"Y maiúsculo com acento agudo\",THORN:\"Thorn maiúsculo\",szlig:\"Eszett minúsculo\",agrave:\"a minúsculo com acento grave\",aacute:\"a minúsculo com acento agudo\",acirc:\"a minúsculo com acento circunflexo\",atilde:\"a minúsculo com til\",auml:\"a minúsculo com trema\",\naring:\"a minúsculo com anel acima\",aelig:\"æ minúsculo\",ccedil:\"ç minúsculo\",egrave:\"e minúsculo com acento grave\",eacute:\"e minúsculo com acento agudo\",ecirc:\"e minúsculo com acento circunflexo\",euml:\"e minúsculo com trema\",igrave:\"i minúsculo com acento grave\",iacute:\"i minúsculo com acento agudo\",icirc:\"i minúsculo com acento circunflexo\",iuml:\"i minúsculo com trema\",eth:\"eth minúsculo\",ntilde:\"n minúsculo com til\",ograve:\"o minúsculo com acento grave\",oacute:\"o minúsculo com acento agudo\",ocirc:\"o minúsculo com acento circunflexo\",\notilde:\"o minúsculo com til\",ouml:\"o minúsculo com trema\",divide:\"Divisão\",oslash:\"o minúsculo com cortado ou diâmetro\",ugrave:\"u minúsculo com acento grave\",uacute:\"u minúsculo com acento agudo\",ucirc:\"u minúsculo com acento circunflexo\",uuml:\"u minúsculo com trema\",yacute:\"y minúsculo com acento agudo\",thorn:\"thorn minúsculo\",yuml:\"y minúsculo com trema\",OElig:\"Ligação tipográfica OE maiúscula\",oelig:\"Ligação tipográfica oe minúscula\",372:\"W maiúsculo com acento circunflexo\",374:\"Y maiúsculo com acento circunflexo\",\n373:\"w minúsculo com acento circunflexo\",375:\"y minúsculo com acento circunflexo\",sbquo:\"Aspas simples inferior direita\",8219:\"Aspas simples superior esquerda\",bdquo:\"Aspas duplas inferior direita\",hellip:\"Reticências\",trade:\"Trade mark\",9658:\"Ponta de seta preta para direita\",bull:\"Ponto lista\",rarr:\"Seta para direita\",rArr:\"Seta dupla para direita\",hArr:\"Seta dupla direita e esquerda\",diams:\"Ouros\",asymp:\"Aproximadamente\"});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/no.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/no.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"specialchar\",\"no\",{euro:\"Eurosymbol\",lsquo:\"Venstre enkelt anførselstegn\",rsquo:\"Høyre enkelt anførselstegn\",ldquo:\"Venstre dobbelt anførselstegn\",rdquo:\"Høyre anførsesltegn\",ndash:\"Kort tankestrek\",mdash:\"Lang tankestrek\",iexcl:\"Omvendt utropstegn\",cent:\"Centsymbol\",pound:\"Pundsymbol\",curren:\"Valutategn\",yen:\"Yensymbol\",brvbar:\"Brutt loddrett strek\",sect:\"Paragraftegn\",uml:\"Tøddel\",copy:\"Copyrighttegn\",ordf:\"Feminin ordensindikator\",laquo:\"Venstre anførselstegn\",not:\"Negasjonstegn\",\nreg:\"Registrert varemerke-tegn\",macr:\"Makron\",deg:\"Gradsymbol\",sup2:\"Hevet totall\",sup3:\"Hevet tretall\",acute:\"Akutt aksent\",micro:\"Mikrosymbol\",para:\"Avsnittstegn\",middot:\"Midtstilt prikk\",cedil:\"Cedille\",sup1:\"Hevet ettall\",ordm:\"Maskulin ordensindikator\",raquo:\"Høyre anførselstegn\",frac14:\"Fjerdedelsbrøk\",frac12:\"Halvbrøk\",frac34:\"Tre fjerdedelers brøk\",iquest:\"Omvendt spørsmålstegn\",Agrave:\"Stor A med grav aksent\",Aacute:\"Stor A med akutt aksent\",Acirc:\"Stor A med cirkumfleks\",Atilde:\"Stor A med tilde\",\nAuml:\"Stor A med tøddel\",Aring:\"Stor Å\",AElig:\"Stor Æ\",Ccedil:\"Stor C med cedille\",Egrave:\"Stor E med grav aksent\",Eacute:\"Stor E med akutt aksent\",Ecirc:\"Stor E med cirkumfleks\",Euml:\"Stor E med tøddel\",Igrave:\"Stor I med grav aksent\",Iacute:\"Stor I med akutt aksent\",Icirc:\"Stor I med cirkumfleks\",Iuml:\"Stor I med tøddel\",ETH:\"Stor Edd/stungen D\",Ntilde:\"Stor N med tilde\",Ograve:\"Stor O med grav aksent\",Oacute:\"Stor O med akutt aksent\",Ocirc:\"Stor O med cirkumfleks\",Otilde:\"Stor O med tilde\",Ouml:\"Stor O med tøddel\",\ntimes:\"Multiplikasjonstegn\",Oslash:\"Stor Ø\",Ugrave:\"Stor U med grav aksent\",Uacute:\"Stor U med akutt aksent\",Ucirc:\"Stor U med cirkumfleks\",Uuml:\"Stor U med tøddel\",Yacute:\"Stor Y med akutt aksent\",THORN:\"Stor Thorn\",szlig:\"Liten dobbelt-s/Eszett\",agrave:\"Liten a med grav aksent\",aacute:\"Liten a med akutt aksent\",acirc:\"Liten a med cirkumfleks\",atilde:\"Liten a med tilde\",auml:\"Liten a med tøddel\",aring:\"Liten å\",aelig:\"Liten æ\",ccedil:\"Liten c med cedille\",egrave:\"Liten e med grav aksent\",eacute:\"Liten e med akutt aksent\",\necirc:\"Liten e med cirkumfleks\",euml:\"Liten e med tøddel\",igrave:\"Liten i med grav aksent\",iacute:\"Liten i med akutt aksent\",icirc:\"Liten i med cirkumfleks\",iuml:\"Liten i med tøddel\",eth:\"Liten edd/stungen d\",ntilde:\"Liten n med tilde\",ograve:\"Liten o med grav aksent\",oacute:\"Liten o med akutt aksent\",ocirc:\"Liten o med cirkumfleks\",otilde:\"Liten o med tilde\",ouml:\"Liten o med tøddel\",divide:\"Divisjonstegn\",oslash:\"Liten ø\",ugrave:\"Liten u med grav aksent\",uacute:\"Liten u med akutt aksent\",ucirc:\"Liten u med cirkumfleks\",\nuuml:\"Liten u med tøddel\",yacute:\"Liten y med akutt aksent\",thorn:\"Liten thorn\",yuml:\"Liten y med tøddel\",OElig:\"Stor ligatur av O og E\",oelig:\"Liten ligatur av o og e\",372:\"Stor W med cirkumfleks\",374:\"Stor Y med cirkumfleks\",373:\"Liten w med cirkumfleks\",375:\"Liten y med cirkumfleks\",sbquo:\"Enkelt lavt 9-anførselstegn\",8219:\"Enkelt høyt reversert 9-anførselstegn\",bdquo:\"Dobbelt lavt 9-anførselstegn\",hellip:\"Ellipse\",trade:\"Varemerkesymbol\",9658:\"Svart høyrevendt peker\",bull:\"Tykk interpunkt\",rarr:\"Høyrevendt pil\",\nrArr:\"Dobbel høyrevendt pil\",hArr:\"Dobbel venstrevendt pil\",diams:\"Svart ruter\",asymp:\"Omtrent likhetstegn\"});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/ar.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/ar.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"specialchar\",\"ar\",{euro:\"رمز اليورو\",lsquo:\"علامة تنصيص علي اليسار\",rsquo:\"علامة تنصيص علي اليمين\",ldquo:\"علامة تنصيص مزدوجة علي اليسار\",rdquo:\"علامة تنصيص مزدوجة علي اليمين\",ndash:\"En dash –\",mdash:\"Em dash —\",iexcl:\"علامة تعجب مقلوبة\",cent:\"رمز سنتيم\",pound:\"رمز الاسترليني\",curren:\"رمز العملة\",yen:\"رمز الين الياباني\",brvbar:\"خط عمودي مكسور\",sect:\"رمز الفصيلة\",uml:\"Diaeresis\",copy:\"علامة حقوق الطبع\",ordf:\"Feminine ordinal indicator\",laquo:\"Left-pointing double angle quotation mark\",\nnot:\"ليست علامة\",reg:\"علامة مسجّلة\",macr:\"Macron\",deg:\"Degree sign\",sup2:\"Superscript two\",sup3:\"Superscript three\",acute:\"Acute accent\",micro:\"Micro sign\",para:\"Pilcrow sign\",middot:\"Middle dot\",cedil:\"Cedilla\",sup1:\"Superscript one\",ordm:\"Masculine ordinal indicator\",raquo:\"Right-pointing double angle quotation mark\",frac14:\"Vulgar fraction one quarter\",frac12:\"Vulgar fraction one half\",frac34:\"Vulgar fraction three quarters\",iquest:\"علامة الإستفهام غير صحيحة\",Agrave:\"Latin capital letter A with grave accent\",\nAacute:\"Latin capital letter A with acute accent\",Acirc:\"Latin capital letter A with circumflex\",Atilde:\"Latin capital letter A with tilde\",Auml:\"Latin capital letter A with diaeresis\",Aring:\"Latin capital letter A with ring above\",AElig:\"Latin Capital letter Æ\",Ccedil:\"Latin capital letter C with cedilla\",Egrave:\"Latin capital letter E with grave accent\",Eacute:\"Latin capital letter E with acute accent\",Ecirc:\"Latin capital letter E with circumflex\",Euml:\"Latin capital letter E with diaeresis\",Igrave:\"Latin capital letter I with grave accent\",\nIacute:\"Latin capital letter I with acute accent\",Icirc:\"Latin capital letter I with circumflex\",Iuml:\"Latin capital letter I with diaeresis\",ETH:\"Latin capital letter Eth\",Ntilde:\"Latin capital letter N with tilde\",Ograve:\"Latin capital letter O with grave accent\",Oacute:\"Latin capital letter O with acute accent\",Ocirc:\"Latin capital letter O with circumflex\",Otilde:\"Latin capital letter O with tilde\",Ouml:\"Latin capital letter O with diaeresis\",times:\"Multiplication sign\",Oslash:\"Latin capital letter O with stroke\",\nUgrave:\"Latin capital letter U with grave accent\",Uacute:\"Latin capital letter U with acute accent\",Ucirc:\"Latin capital letter U with circumflex\",Uuml:\"Latin capital letter U with diaeresis\",Yacute:\"Latin capital letter Y with acute accent\",THORN:\"Latin capital letter Thorn\",szlig:\"Latin small letter sharp s\",agrave:\"Latin small letter a with grave accent\",aacute:\"Latin small letter a with acute accent\",acirc:\"Latin small letter a with circumflex\",atilde:\"Latin small letter a with tilde\",auml:\"Latin small letter a with diaeresis\",\naring:\"Latin small letter a with ring above\",aelig:\"Latin small letter æ\",ccedil:\"Latin small letter c with cedilla\",egrave:\"Latin small letter e with grave accent\",eacute:\"Latin small letter e with acute accent\",ecirc:\"Latin small letter e with circumflex\",euml:\"Latin small letter e with diaeresis\",igrave:\"Latin small letter i with grave accent\",iacute:\"Latin small letter i with acute accent\",icirc:\"Latin small letter i with circumflex\",iuml:\"Latin small letter i with diaeresis\",eth:\"Latin small letter eth\",\nntilde:\"Latin small letter n with tilde\",ograve:\"Latin small letter o with grave accent\",oacute:\"Latin small letter o with acute accent\",ocirc:\"Latin small letter o with circumflex\",otilde:\"Latin small letter o with tilde\",ouml:\"Latin small letter o with diaeresis\",divide:\"Division sign\",oslash:\"Latin small letter o with stroke\",ugrave:\"Latin small letter u with grave accent\",uacute:\"Latin small letter u with acute accent\",ucirc:\"Latin small letter u with circumflex\",uuml:\"Latin small letter u with diaeresis\",\nyacute:\"Latin small letter y with acute accent\",thorn:\"Latin small letter thorn\",yuml:\"Latin small letter y with diaeresis\",OElig:\"Latin capital ligature OE\",oelig:\"Latin small ligature oe\",372:\"Latin capital letter W with circumflex\",374:\"Latin capital letter Y with circumflex\",373:\"Latin small letter w with circumflex\",375:\"Latin small letter y with circumflex\",sbquo:\"Single low-9 quotation mark\",8219:\"Single high-reversed-9 quotation mark\",bdquo:\"Double low-9 quotation mark\",hellip:\"Horizontal ellipsis\",\ntrade:\"Trade mark sign\",9658:\"Black right-pointing pointer\",bull:\"Bullet\",rarr:\"Rightwards arrow\",rArr:\"Rightwards double arrow\",hArr:\"Left right double arrow\",diams:\"Black diamond suit\",asymp:\"Almost equal to\"});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/ku.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/ku.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"specialchar\",\"ku\",{euro:\"نیشانەی یۆرۆ\",lsquo:\"نیشانەی فاریزەی سەرووژێری تاکی چەپ\",rsquo:\"نیشانەی فاریزەی سەرووژێری تاکی ڕاست\",ldquo:\"نیشانەی فاریزەی سەرووژێری دووهێندەی چه‌پ\",rdquo:\"نیشانەی فاریزەی سەرووژێری دووهێندەی ڕاست\",ndash:\"تەقەڵی کورت\",mdash:\"تەقەڵی درێژ\",iexcl:\"نیشانەی هەڵەوگێڕی سەرسوڕهێنەر\",cent:\"نیشانەی سەنت\",pound:\"نیشانەی پاوەند\",curren:\"نیشانەی دراو\",yen:\"نیشانەی یەنی ژاپۆنی\",brvbar:\"شریتی ئەستوونی پچڕاو\",sect:\"نیشانەی دوو s لەسەریەک\",uml:\"خاڵ\",copy:\"نیشانەی مافی چاپ\",\nordf:\"هێڵ لەسەر پیتی a\",laquo:\"دوو تیری بەدووایەکی چەپ\",not:\"نیشانەی نەخێر\",reg:\"نیشانەی R لەناو بازنەدا\",macr:\"ماکڕۆن\",deg:\"نیشانەی پلە\",sup2:\"سەرنووسی دوو\",sup3:\"سەرنووسی سێ\",acute:\"لاری تیژ\",micro:\"نیشانەی u لق درێژی چەپی خواروو\",para:\"نیشانەی پەڕەگراف\",middot:\"ناوەڕاستی خاڵ\",cedil:\"نیشانەی c ژێر چووکرە\",sup1:\"سەرنووسی یەک\",ordm:\"هێڵ لەژێر پیتی o\",raquo:\"دوو تیری بەدووایەکی ڕاست\",frac14:\"یەک لەسەر چووار\",frac12:\"یەک لەسەر دوو\",frac34:\"سێ لەسەر چووار\",iquest:\"هێمای هەڵەوگێری پرسیار\",Agrave:\"پیتی لاتینی A-ی گەورە لەگەڵ ڕوومەتداری لار\",\nAacute:\"پیتی لاتینی A-ی گەورە لەگەڵ ڕوومەتداری تیژ\",Acirc:\"پیتی لاتینی A-ی گەورە لەگەڵ نیشانە لەسەری\",Atilde:\"پیتی لاتینی A-ی گەورە لەگەڵ زەڕە\",Auml:\"پیتی لاتینی A-ی گەورە لەگەڵ نیشانە لەسەری\",Aring:\"پیتی لاتینی گەورەی Å\",AElig:\"پیتی لاتینی گەورەی Æ\",Ccedil:\"پیتی لاتینی C-ی گەورە لەگەڵ ژێر چووکرە\",Egrave:\"پیتی لاتینی E-ی گەورە لەگەڵ ڕوومەتداری لار\",Eacute:\"پیتی لاتینی E-ی گەورە لەگەڵ ڕوومەتداری تیژ\",Ecirc:\"پیتی لاتینی E-ی گەورە لەگەڵ نیشانە لەسەری\",Euml:\"پیتی لاتینی E-ی گەورە لەگەڵ نیشانە لەسەری\",\nIgrave:\"پیتی لاتینی I-ی گەورە لەگەڵ ڕوومەتداری لار\",Iacute:\"پیتی لاتینی I-ی گەورە لەگەڵ ڕوومەتداری تیژ\",Icirc:\"پیتی لاتینی I-ی گەورە لەگەڵ نیشانە لەسەری\",Iuml:\"پیتی لاتینی I-ی گەورە لەگەڵ نیشانە لەسەری\",ETH:\"پیتی لاتینی E-ی گەورەی\",Ntilde:\"پیتی لاتینی N-ی گەورە لەگەڵ زەڕە\",Ograve:\"پیتی لاتینی O-ی گەورە لەگەڵ ڕوومەتداری لار\",Oacute:\"پیتی لاتینی O-ی گەورە لەگەڵ ڕوومەتداری تیژ\",Ocirc:\"پیتی لاتینی O-ی گەورە لەگەڵ نیشانە لەسەری\",Otilde:\"پیتی لاتینی O-ی گەورە لەگەڵ زەڕە\",Ouml:\"پیتی لاتینی O-ی گەورە لەگەڵ نیشانە لەسەری\",\ntimes:\"نیشانەی لێکدان\",Oslash:\"پیتی لاتینی گەورەی Ø لەگەڵ هێمای دڵ وەستان\",Ugrave:\"پیتی لاتینی U-ی گەورە لەگەڵ ڕوومەتداری لار\",Uacute:\"پیتی لاتینی U-ی گەورە لەگەڵ ڕوومەتداری تیژ\",Ucirc:\"پیتی لاتینی U-ی گەورە لەگەڵ نیشانە لەسەری\",Uuml:\"پیتی لاتینی U-ی گەورە لەگەڵ نیشانە لەسەری\",Yacute:\"پیتی لاتینی Y-ی گەورە لەگەڵ ڕوومەتداری تیژ\",THORN:\"پیتی لاتینی دڕکی گەورە\",szlig:\"پیتی لاتنی نووک تیژی s\",agrave:\"پیتی لاتینی a-ی بچووک لەگەڵ ڕوومەتداری لار\",aacute:\"پیتی لاتینی a-ی بچووك لەگەڵ ڕوومەتداری تیژ\",acirc:\"پیتی لاتینی a-ی بچووك لەگەڵ نیشانە لەسەری\",\natilde:\"پیتی لاتینی a-ی بچووك لەگەڵ زەڕە\",auml:\"پیتی لاتینی a-ی بچووك لەگەڵ نیشانە لەسەری\",aring:\"پیتی لاتینی å-ی بچووك\",aelig:\"پیتی لاتینی æ-ی بچووك\",ccedil:\"پیتی لاتینی c-ی بچووك لەگەڵ ژێر چووکرە\",egrave:\"پیتی لاتینی e-ی بچووك لەگەڵ ڕوومەتداری لار\",eacute:\"پیتی لاتینی e-ی بچووك لەگەڵ ڕوومەتداری تیژ\",ecirc:\"پیتی لاتینی e-ی بچووك لەگەڵ نیشانە لەسەری\",euml:\"پیتی لاتینی e-ی بچووك لەگەڵ نیشانە لەسەری\",igrave:\"پیتی لاتینی i-ی بچووك لەگەڵ ڕوومەتداری لار\",iacute:\"پیتی لاتینی i-ی بچووك لەگەڵ ڕوومەتداری تیژ\",\nicirc:\"پیتی لاتینی i-ی بچووك لەگەڵ نیشانە لەسەری\",iuml:\"پیتی لاتینی i-ی بچووك لەگەڵ نیشانە لەسەری\",eth:\"پیتی لاتینی e-ی بچووك\",ntilde:\"پیتی لاتینی n-ی بچووك لەگەڵ زەڕە\",ograve:\"پیتی لاتینی o-ی بچووك لەگەڵ ڕوومەتداری لار\",oacute:\"پیتی لاتینی o-ی بچووك له‌گەڵ ڕوومەتداری تیژ\",ocirc:\"پیتی لاتینی o-ی بچووك لەگەڵ نیشانە لەسەری\",otilde:\"پیتی لاتینی o-ی بچووك لەگەڵ زەڕە\",ouml:\"پیتی لاتینی o-ی بچووك لەگەڵ نیشانە لەسەری\",divide:\"نیشانەی دابەش\",oslash:\"پیتی لاتینی گەورەی ø لەگەڵ هێمای دڵ وەستان\",ugrave:\"پیتی لاتینی u-ی بچووك لەگەڵ ڕوومەتداری لار\",\nuacute:\"پیتی لاتینی u-ی بچووك لەگەڵ ڕوومەتداری تیژ\",ucirc:\"پیتی لاتینی u-ی بچووك لەگەڵ نیشانە لەسەری\",uuml:\"پیتی لاتینی u-ی بچووك لەگەڵ نیشانە لەسەری\",yacute:\"پیتی لاتینی y-ی بچووك لەگەڵ ڕوومەتداری تیژ\",thorn:\"پیتی لاتینی دڕکی بچووك\",yuml:\"پیتی لاتینی y-ی بچووك لەگەڵ نیشانە لەسەری\",OElig:\"پیتی لاتینی گەورەی پێکەوەنووسراوی OE\",oelig:\"پیتی لاتینی بچووکی پێکەوەنووسراوی oe\",372:\"پیتی لاتینی W-ی گەورە لەگەڵ نیشانە لەسەری\",374:\"پیتی لاتینی Y-ی گەورە لەگەڵ نیشانە لەسەری\",373:\"پیتی لاتینی w-ی بچووکی لەگەڵ نیشانە لەسەری\",\n375:\"پیتی لاتینی y-ی بچووکی لەگەڵ نیشانە لەسەری\",sbquo:\"نیشانەی فاریزەی نزم\",8219:\"نیشانەی فاریزەی بەرزی پێچەوانە\",bdquo:\"دوو فاریزەی تەنیش یەك\",hellip:\"ئاسۆیی بازنە\",trade:\"نیشانەی بازرگانی\",9658:\"ئاراستەی ڕەشی دەستی ڕاست\",bull:\"فیشەك\",rarr:\"تیری دەستی ڕاست\",rArr:\"دووتیری دەستی ڕاست\",hArr:\"دوو تیری ڕاست و چەپ\",diams:\"ڕەشی پاقڵاوەیی\",asymp:\"نیشانەی یەکسانە\"});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/ug.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/ug.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"specialchar\",\"ug\",{euro:\"ياۋرو بەلگىسى\",lsquo:\"يالاڭ پەش سول\",rsquo:\"يالاڭ پەش ئوڭ\",ldquo:\"قوش پەش سول\",rdquo:\"قوش پەش ئوڭ\",ndash:\"سىزىقچە\",mdash:\"سىزىق\",iexcl:\"ئۈندەش\",cent:\"تىيىن بەلگىسى\",pound:\"فوند ستېرلىڭ\",curren:\"پۇل بەلگىسى\",yen:\"ياپونىيە يىنى\",brvbar:\"ئۈزۈك بالداق\",sect:\"پاراگراف بەلگىسى\",uml:\"تاۋۇش ئايرىش بەلگىسى\",copy:\"نەشر ھوقۇقى بەلگىسى\",ordf:\"Feminine ordinal indicator\",laquo:\"قوش تىرناق سول\",not:\"غەيرى بەلگە\",reg:\"خەتلەتكەن تاۋار ماركىسى\",macr:\"سوزۇش بەلگىسى\",\ndeg:\"گىرادۇس بەلگىسى\",sup2:\"يۇقىرى ئىندېكىس 2\",sup3:\"يۇقىرى ئىندېكىس 3\",acute:\"ئۇرغۇ بەلگىسى\",micro:\"Micro sign\",para:\"ئابزاس بەلگىسى\",middot:\"ئوتتۇرا چېكىت\",cedil:\"ئاستىغا قوشۇلىدىغان بەلگە\",sup1:\"يۇقىرى ئىندېكىس 1\",ordm:\"Masculine ordinal indicator\",raquo:\"قوش تىرناق ئوڭ\",frac14:\"ئاددىي كەسىر تۆتتىن بىر\",frac12:\"ئاددىي كەسىر ئىككىدىن بىر\",frac34:\"ئاددىي كەسىر ئۈچتىن تۆرت\",iquest:\"Inverted question mark\",Agrave:\"Latin capital letter A with grave accent\",Aacute:\"Latin capital letter A with acute accent\",\nAcirc:\"Latin capital letter A with circumflex\",Atilde:\"Latin capital letter A with tilde\",Auml:\"Latin capital letter A with diaeresis\",Aring:\"Latin capital letter A with ring above\",AElig:\"Latin Capital letter Æ\",Ccedil:\"Latin capital letter C with cedilla\",Egrave:\"Latin capital letter E with grave accent\",Eacute:\"Latin capital letter E with acute accent\",Ecirc:\"Latin capital letter E with circumflex\",Euml:\"Latin capital letter E with diaeresis\",Igrave:\"Latin capital letter I with grave accent\",Iacute:\"Latin capital letter I with acute accent\",\nIcirc:\"Latin capital letter I with circumflex\",Iuml:\"Latin capital letter I with diaeresis\",ETH:\"Latin capital letter Eth\",Ntilde:\"Latin capital letter N with tilde\",Ograve:\"قوش پەش ئوڭ\",Oacute:\"Latin capital letter O with acute accent\",Ocirc:\"Latin capital letter O with circumflex\",Otilde:\"Latin capital letter O with tilde\",Ouml:\"Latin capital letter O with diaeresis\",times:\"Multiplication sign\",Oslash:\"Latin capital letter O with stroke\",Ugrave:\"Latin capital letter U with grave accent\",Uacute:\"Latin capital letter U with acute accent\",\nUcirc:\"Latin capital letter U with circumflex\",Uuml:\"Latin capital letter U with diaeresis\",Yacute:\"Latin capital letter Y with acute accent\",THORN:\"Latin capital letter Thorn\",szlig:\"Latin small letter sharp s\",agrave:\"Latin small letter a with grave accent\",aacute:\"Latin small letter a with acute accent\",acirc:\"Latin small letter a with circumflex\",atilde:\"Latin small letter a with tilde\",auml:\"Latin small letter a with diaeresis\",aring:\"Latin small letter a with ring above\",aelig:\"Latin small letter æ\",\nccedil:\"Latin small letter c with cedilla\",egrave:\"Latin small letter e with grave accent\",eacute:\"Latin small letter e with acute accent\",ecirc:\"Latin small letter e with circumflex\",euml:\"Latin small letter e with diaeresis\",igrave:\"Latin small letter i with grave accent\",iacute:\"Latin small letter i with acute accent\",icirc:\"Latin small letter i with circumflex\",iuml:\"Latin small letter i with diaeresis\",eth:\"Latin small letter eth\",ntilde:\"تىك موللاق سوئال بەلگىسى\",ograve:\"Latin small letter o with grave accent\",\noacute:\"Latin small letter o with acute accent\",ocirc:\"Latin small letter o with circumflex\",otilde:\"Latin small letter o with tilde\",ouml:\"Latin small letter o with diaeresis\",divide:\"بۆلۈش بەلگىسى\",oslash:\"Latin small letter o with stroke\",ugrave:\"Latin small letter u with grave accent\",uacute:\"Latin small letter u with acute accent\",ucirc:\"Latin small letter u with circumflex\",uuml:\"Latin small letter u with diaeresis\",yacute:\"Latin small letter y with acute accent\",thorn:\"Latin small letter thorn\",\nyuml:\"Latin small letter y with diaeresis\",OElig:\"Latin capital ligature OE\",oelig:\"Latin small ligature oe\",372:\"Latin capital letter W with circumflex\",374:\"Latin capital letter Y with circumflex\",373:\"Latin small letter w with circumflex\",375:\"Latin small letter y with circumflex\",sbquo:\"Single low-9 quotation mark\",8219:\"Single high-reversed-9 quotation mark\",bdquo:\"Double low-9 quotation mark\",hellip:\"Horizontal ellipsis\",trade:\"خەتلەتكەن تاۋار ماركىسى بەلگىسى\",9658:\"Black right-pointing pointer\",\nbull:\"Bullet\",rarr:\"ئوڭ يا ئوق\",rArr:\"ئوڭ قوش سىزىق يا ئوق\",hArr:\"ئوڭ سول قوش سىزىق يا ئوق\",diams:\"ئۇيۇل غىچ\",asymp:\"تەخمىنەن تەڭ\"});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/he.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/he.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"specialchar\",\"he\",{euro:\"יורו\",lsquo:\"סימן ציטוט יחיד שמאלי\",rsquo:\"סימן ציטוט יחיד ימני\",ldquo:\"סימן ציטוט כפול שמאלי\",rdquo:\"סימן ציטוט כפול ימני\",ndash:\"קו מפריד קצר\",mdash:\"קו מפריד ארוך\",iexcl:\"סימן קריאה הפוך\",cent:\"סנט\",pound:\"פאונד\",curren:\"מטבע\",yen:\"ין\",brvbar:\"קו שבור\",sect:\"סימן מקטע\",uml:\"שתי נקודות אופקיות (Diaeresis)\",copy:\"סימן זכויות יוצרים (Copyright)\",ordf:\"סימן אורדינאלי נקבי\",laquo:\"סימן ציטוט זווית כפולה לשמאל\",not:\"סימן שלילה מתמטי\",reg:\"סימן רשום\",\nmacr:\"מקרון (הגיה ארוכה)\",deg:\"מעלות\",sup2:\"2 בכתיב עילי\",sup3:\"3 בכתיב עילי\",acute:\"סימן דגוש (Acute)\",micro:\"מיקרו\",para:\"סימון פסקה\",middot:\"נקודה אמצעית\",cedil:\"סדיליה\",sup1:\"1 בכתיב עילי\",ordm:\"סימן אורדינאלי זכרי\",raquo:\"סימן ציטוט זווית כפולה לימין\",frac14:\"רבע בשבר פשוט\",frac12:\"חצי בשבר פשוט\",frac34:\"שלושה רבעים בשבר פשוט\",iquest:\"סימן שאלה הפוך\",Agrave:\"אות לטינית A עם גרש (Grave)\",Aacute:\"Latin capital letter A with acute accent\",Acirc:\"Latin capital letter A with circumflex\",Atilde:\"Latin capital letter A with tilde\",\nAuml:\"Latin capital letter A with diaeresis\",Aring:\"Latin capital letter A with ring above\",AElig:\"אות לטינית Æ גדולה\",Ccedil:\"Latin capital letter C with cedilla\",Egrave:\"אות לטינית E עם גרש (Grave)\",Eacute:\"Latin capital letter E with acute accent\",Ecirc:\"Latin capital letter E with circumflex\",Euml:\"Latin capital letter E with diaeresis\",Igrave:\"אות לטינית I עם גרש (Grave)\",Iacute:\"Latin capital letter I with acute accent\",Icirc:\"Latin capital letter I with circumflex\",Iuml:\"Latin capital letter I with diaeresis\",\nETH:\"אות לטינית Eth גדולה\",Ntilde:\"Latin capital letter N with tilde\",Ograve:\"אות לטינית O עם גרש (Grave)\",Oacute:\"Latin capital letter O with acute accent\",Ocirc:\"Latin capital letter O with circumflex\",Otilde:\"Latin capital letter O with tilde\",Ouml:\"Latin capital letter O with diaeresis\",times:\"סימן כפל\",Oslash:\"Latin capital letter O with stroke\",Ugrave:\"אות לטינית U עם גרש (Grave)\",Uacute:\"Latin capital letter U with acute accent\",Ucirc:\"Latin capital letter U with circumflex\",Uuml:\"Latin capital letter U with diaeresis\",\nYacute:\"Latin capital letter Y with acute accent\",THORN:\"אות לטינית Thorn גדולה\",szlig:\"אות לטינית s חדה קטנה\",agrave:\"אות לטינית a עם גרש (Grave)\",aacute:\"Latin small letter a with acute accent\",acirc:\"Latin small letter a with circumflex\",atilde:\"Latin small letter a with tilde\",auml:\"Latin small letter a with diaeresis\",aring:\"Latin small letter a with ring above\",aelig:\"אות לטינית æ קטנה\",ccedil:\"Latin small letter c with cedilla\",egrave:\"אות לטינית e עם גרש (Grave)\",eacute:\"Latin small letter e with acute accent\",\necirc:\"Latin small letter e with circumflex\",euml:\"Latin small letter e with diaeresis\",igrave:\"אות לטינית i עם גרש (Grave)\",iacute:\"Latin small letter i with acute accent\",icirc:\"Latin small letter i with circumflex\",iuml:\"Latin small letter i with diaeresis\",eth:\"אות לטינית eth קטנה\",ntilde:\"Latin small letter n with tilde\",ograve:\"אות לטינית o עם גרש (Grave)\",oacute:\"Latin small letter o with acute accent\",ocirc:\"Latin small letter o with circumflex\",otilde:\"Latin small letter o with tilde\",ouml:\"Latin small letter o with diaeresis\",\ndivide:\"סימן חלוקה\",oslash:\"Latin small letter o with stroke\",ugrave:\"אות לטינית u עם גרש (Grave)\",uacute:\"Latin small letter u with acute accent\",ucirc:\"Latin small letter u with circumflex\",uuml:\"Latin small letter u with diaeresis\",yacute:\"Latin small letter y with acute accent\",thorn:\"אות לטינית thorn קטנה\",yuml:\"Latin small letter y with diaeresis\",OElig:\"Latin capital ligature OE\",oelig:\"Latin small ligature oe\",372:\"Latin capital letter W with circumflex\",374:\"Latin capital letter Y with circumflex\",\n373:\"Latin small letter w with circumflex\",375:\"Latin small letter y with circumflex\",sbquo:\"סימן ציטוט נמוך יחיד\",8219:\"סימן ציטוט\",bdquo:\"סימן ציטוט נמוך כפול\",hellip:\"שלוש נקודות\",trade:\"סימן טריידמארק\",9658:\"סמן שחור לצד ימין\",bull:\"תבליט (רשימה)\",rarr:\"חץ לימין\",rArr:\"חץ כפול לימין\",hArr:\"חץ כפול לימין ושמאל\",diams:\"יהלום מלא\",asymp:\"כמעט שווה\"});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/fr.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/fr.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"specialchar\",\"fr\",{euro:\"Symbole Euro\",lsquo:\"Guillemet simple ouvrant\",rsquo:\"Guillemet simple fermant\",ldquo:\"Guillemet double ouvrant\",rdquo:\"Guillemet double fermant\",ndash:\"Tiret haut\",mdash:\"Tiret cadratin\",iexcl:\"Point d'exclamation inversé\",cent:\"Symbole Cent\",pound:\"Symbole Livre Sterling\",curren:\"Symbole monétaire\",yen:\"Symbole Yen\",brvbar:\"Barre verticale scindée\",sect:\"Section\",uml:\"Tréma\",copy:\"Symbole Copyright\",ordf:\"Indicateur ordinal féminin\",laquo:\"Guillemet français ouvrant\",\nnot:\"Crochet de négation\",reg:\"Marque déposée\",macr:\"Macron\",deg:\"Degré\",sup2:\"Exposant 2\",sup3:\"\\\\tExposant 3\",acute:\"Accent aigu\",micro:\"Omicron\",para:\"Paragraphe\",middot:\"Point médian\",cedil:\"Cédille\",sup1:\"\\\\tExposant 1\",ordm:\"Indicateur ordinal masculin\",raquo:\"Guillemet français fermant\",frac14:\"Un quart\",frac12:\"Un demi\",frac34:\"Trois quarts\",iquest:\"Point d'interrogation inversé\",Agrave:\"A majuscule accent grave\",Aacute:\"A majuscule accent aigu\",Acirc:\"A majuscule accent circonflexe\",Atilde:\"A majuscule avec caron\",\nAuml:\"A majuscule tréma\",Aring:\"A majuscule avec un rond au-dessus\",AElig:\"Æ majuscule ligaturés\",Ccedil:\"C majuscule cédille\",Egrave:\"E majuscule accent grave\",Eacute:\"E majuscule accent aigu\",Ecirc:\"E majuscule accent circonflexe\",Euml:\"E majuscule tréma\",Igrave:\"I majuscule accent grave\",Iacute:\"I majuscule accent aigu\",Icirc:\"I majuscule accent circonflexe\",Iuml:\"I majuscule tréma\",ETH:\"Lettre majuscule islandaise ED\",Ntilde:\"N majuscule avec caron\",Ograve:\"O majuscule accent grave\",Oacute:\"O majuscule accent aigu\",\nOcirc:\"O majuscule accent circonflexe\",Otilde:\"O majuscule avec caron\",Ouml:\"O majuscule tréma\",times:\"Multiplication\",Oslash:\"O majuscule barré\",Ugrave:\"U majuscule accent grave\",Uacute:\"U majuscule accent aigu\",Ucirc:\"U majuscule accent circonflexe\",Uuml:\"U majuscule tréma\",Yacute:\"Y majuscule accent aigu\",THORN:\"Lettre islandaise Thorn majuscule\",szlig:\"Lettre minuscule allemande s dur\",agrave:\"a minuscule accent grave\",aacute:\"a minuscule accent aigu\",acirc:\"a minuscule accent circonflexe\",atilde:\"a minuscule avec caron\",\nauml:\"a minuscule tréma\",aring:\"a minuscule avec un rond au-dessus\",aelig:\"æ minuscule ligaturés\",ccedil:\"c minuscule cédille\",egrave:\"e minuscule accent grave\",eacute:\"e minuscule accent aigu\",ecirc:\"e minuscule accent circonflexe\",euml:\"e minuscule tréma\",igrave:\"i minuscule accent grave\",iacute:\"i minuscule accent aigu\",icirc:\"i minuscule accent circonflexe\",iuml:\"i minuscule tréma\",eth:\"Lettre minuscule islandaise ED\",ntilde:\"n minuscule avec caron\",ograve:\"o minuscule accent grave\",oacute:\"o minuscule accent aigu\",\nocirc:\"o minuscule accent circonflexe\",otilde:\"o minuscule avec caron\",ouml:\"o minuscule tréma\",divide:\"Division\",oslash:\"o minuscule barré\",ugrave:\"u minuscule accent grave\",uacute:\"u minuscule accent aigu\",ucirc:\"u minuscule accent circonflexe\",uuml:\"u minuscule tréma\",yacute:\"y minuscule accent aigu\",thorn:\"Lettre islandaise thorn minuscule\",yuml:\"y minuscule tréma\",OElig:\"ligature majuscule latine Œ\",oelig:\"ligature minuscule latine œ\",372:\"W majuscule accent circonflexe\",374:\"Y majuscule accent circonflexe\",\n373:\"w minuscule accent circonflexe\",375:\"y minuscule accent circonflexe\",sbquo:\"Guillemet simple fermant (anglais)\",8219:\"Guillemet-virgule supérieur culbuté\",bdquo:\"Guillemet-virgule double inférieur\",hellip:\"Points de suspension\",trade:\"Marque commerciale (trade mark)\",9658:\"Flèche noire pointant vers la droite\",bull:\"Gros point médian\",rarr:\"Flèche vers la droite\",rArr:\"Double flèche vers la droite\",hArr:\"Double flèche vers la gauche\",diams:\"Carreau noir\",asymp:\"Presque égal\"});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/th.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/th.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"specialchar\",\"th\",{euro:\"Euro sign\",lsquo:\"Left single quotation mark\",rsquo:\"Right single quotation mark\",ldquo:\"Left double quotation mark\",rdquo:\"Right double quotation mark\",ndash:\"En dash\",mdash:\"Em dash\",iexcl:\"Inverted exclamation mark\",cent:\"Cent sign\",pound:\"Pound sign\",curren:\"สัญลักษณ์สกุลเงิน\",yen:\"สัญลักษณ์เงินเยน\",brvbar:\"Broken bar\",sect:\"Section sign\",uml:\"Diaeresis\",copy:\"Copyright sign\",ordf:\"Feminine ordinal indicator\",laquo:\"Left-pointing double angle quotation mark\",\nnot:\"Not sign\",reg:\"Registered sign\",macr:\"Macron\",deg:\"Degree sign\",sup2:\"Superscript two\",sup3:\"Superscript three\",acute:\"Acute accent\",micro:\"Micro sign\",para:\"Pilcrow sign\",middot:\"Middle dot\",cedil:\"Cedilla\",sup1:\"Superscript one\",ordm:\"Masculine ordinal indicator\",raquo:\"Right-pointing double angle quotation mark\",frac14:\"Vulgar fraction one quarter\",frac12:\"Vulgar fraction one half\",frac34:\"Vulgar fraction three quarters\",iquest:\"Inverted question mark\",Agrave:\"Latin capital letter A with grave accent\",\nAacute:\"Latin capital letter A with acute accent\",Acirc:\"Latin capital letter A with circumflex\",Atilde:\"Latin capital letter A with tilde\",Auml:\"Latin capital letter A with diaeresis\",Aring:\"Latin capital letter A with ring above\",AElig:\"Latin Capital letter Æ\",Ccedil:\"Latin capital letter C with cedilla\",Egrave:\"Latin capital letter E with grave accent\",Eacute:\"Latin capital letter E with acute accent\",Ecirc:\"Latin capital letter E with circumflex\",Euml:\"Latin capital letter E with diaeresis\",Igrave:\"Latin capital letter I with grave accent\",\nIacute:\"Latin capital letter I with acute accent\",Icirc:\"Latin capital letter I with circumflex\",Iuml:\"Latin capital letter I with diaeresis\",ETH:\"Latin capital letter Eth\",Ntilde:\"Latin capital letter N with tilde\",Ograve:\"Latin capital letter O with grave accent\",Oacute:\"Latin capital letter O with acute accent\",Ocirc:\"Latin capital letter O with circumflex\",Otilde:\"Latin capital letter O with tilde\",Ouml:\"Latin capital letter O with diaeresis\",times:\"Multiplication sign\",Oslash:\"Latin capital letter O with stroke\",\nUgrave:\"Latin capital letter U with grave accent\",Uacute:\"Latin capital letter U with acute accent\",Ucirc:\"Latin capital letter U with circumflex\",Uuml:\"Latin capital letter U with diaeresis\",Yacute:\"Latin capital letter Y with acute accent\",THORN:\"Latin capital letter Thorn\",szlig:\"Latin small letter sharp s\",agrave:\"Latin small letter a with grave accent\",aacute:\"Latin small letter a with acute accent\",acirc:\"Latin small letter a with circumflex\",atilde:\"Latin small letter a with tilde\",auml:\"Latin small letter a with diaeresis\",\naring:\"Latin small letter a with ring above\",aelig:\"Latin small letter æ\",ccedil:\"Latin small letter c with cedilla\",egrave:\"Latin small letter e with grave accent\",eacute:\"Latin small letter e with acute accent\",ecirc:\"Latin small letter e with circumflex\",euml:\"Latin small letter e with diaeresis\",igrave:\"Latin small letter i with grave accent\",iacute:\"Latin small letter i with acute accent\",icirc:\"Latin small letter i with circumflex\",iuml:\"Latin small letter i with diaeresis\",eth:\"Latin small letter eth\",\nntilde:\"Latin small letter n with tilde\",ograve:\"Latin small letter o with grave accent\",oacute:\"Latin small letter o with acute accent\",ocirc:\"Latin small letter o with circumflex\",otilde:\"Latin small letter o with tilde\",ouml:\"Latin small letter o with diaeresis\",divide:\"Division sign\",oslash:\"Latin small letter o with stroke\",ugrave:\"Latin small letter u with grave accent\",uacute:\"Latin small letter u with acute accent\",ucirc:\"Latin small letter u with circumflex\",uuml:\"Latin small letter u with diaeresis\",\nyacute:\"Latin small letter y with acute accent\",thorn:\"Latin small letter thorn\",yuml:\"Latin small letter y with diaeresis\",OElig:\"Latin capital ligature OE\",oelig:\"Latin small ligature oe\",372:\"Latin capital letter W with circumflex\",374:\"Latin capital letter Y with circumflex\",373:\"Latin small letter w with circumflex\",375:\"Latin small letter y with circumflex\",sbquo:\"Single low-9 quotation mark\",8219:\"Single high-reversed-9 quotation mark\",bdquo:\"Double low-9 quotation mark\",hellip:\"Horizontal ellipsis\",\ntrade:\"Trade mark sign\",9658:\"Black right-pointing pointer\",bull:\"สัญลักษณ์หัวข้อย่อย\",rarr:\"Rightwards arrow\",rArr:\"Rightwards double arrow\",hArr:\"Left right double arrow\",diams:\"Black diamond suit\",asymp:\"Almost equal to\"});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/hr.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/hr.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"specialchar\",\"hr\",{euro:\"Euro znak\",lsquo:\"Lijevi jednostruki navodnik\",rsquo:\"Desni jednostruki navodnik\",ldquo:\"Lijevi dvostruki navodnik\",rdquo:\"Desni dvostruki navodnik\",ndash:\"En crtica\",mdash:\"Em crtica\",iexcl:\"Naopaki uskličnik\",cent:\"Cent znak\",pound:\"Funta znak\",curren:\"Znak valute\",yen:\"Yen znak\",brvbar:\"Potrgana prečka\",sect:\"Znak odjeljka\",uml:\"Prijeglasi\",copy:\"Copyright znak\",ordf:\"Feminine ordinal indicator\",laquo:\"Lijevi dvostruki uglati navodnik\",not:\"Not znak\",\nreg:\"Registered znak\",macr:\"Macron\",deg:\"Stupanj znak\",sup2:\"Superscript two\",sup3:\"Superscript three\",acute:\"Acute accent\",micro:\"Mikro znak\",para:\"Pilcrow sign\",middot:\"Srednja točka\",cedil:\"Cedilla\",sup1:\"Superscript one\",ordm:\"Masculine ordinal indicator\",raquo:\"Desni dvostruku uglati navodnik\",frac14:\"Vulgar fraction one quarter\",frac12:\"Vulgar fraction one half\",frac34:\"Vulgar fraction three quarters\",iquest:\"Naopaki upitnik\",Agrave:\"Veliko latinsko slovo A s akcentom\",Aacute:\"Latin capital letter A with acute accent\",\nAcirc:\"Latin capital letter A with circumflex\",Atilde:\"Latin capital letter A with tilde\",Auml:\"Latin capital letter A with diaeresis\",Aring:\"Latin capital letter A with ring above\",AElig:\"Latin Capital letter Æ\",Ccedil:\"Latin capital letter C with cedilla\",Egrave:\"Latin capital letter E with grave accent\",Eacute:\"Latin capital letter E with acute accent\",Ecirc:\"Latin capital letter E with circumflex\",Euml:\"Latin capital letter E with diaeresis\",Igrave:\"Latin capital letter I with grave accent\",Iacute:\"Latin capital letter I with acute accent\",\nIcirc:\"Latin capital letter I with circumflex\",Iuml:\"Latin capital letter I with diaeresis\",ETH:\"Latin capital letter Eth\",Ntilde:\"Latin capital letter N with tilde\",Ograve:\"Latin capital letter O with grave accent\",Oacute:\"Latin capital letter O with acute accent\",Ocirc:\"Latin capital letter O with circumflex\",Otilde:\"Latin capital letter O with tilde\",Ouml:\"Latin capital letter O with diaeresis\",times:\"Multiplication sign\",Oslash:\"Latin capital letter O with stroke\",Ugrave:\"Latin capital letter U with grave accent\",\nUacute:\"Latin capital letter U with acute accent\",Ucirc:\"Latin capital letter U with circumflex\",Uuml:\"Latin capital letter U with diaeresis\",Yacute:\"Latin capital letter Y with acute accent\",THORN:\"Latin capital letter Thorn\",szlig:\"Latin small letter sharp s\",agrave:\"Latin small letter a with grave accent\",aacute:\"Latin small letter a with acute accent\",acirc:\"Latin small letter a with circumflex\",atilde:\"Latin small letter a with tilde\",auml:\"Latin small letter a with diaeresis\",aring:\"Latin small letter a with ring above\",\naelig:\"Latin small letter æ\",ccedil:\"Latin small letter c with cedilla\",egrave:\"Latin small letter e with grave accent\",eacute:\"Latin small letter e with acute accent\",ecirc:\"Latin small letter e with circumflex\",euml:\"Latin small letter e with diaeresis\",igrave:\"Latin small letter i with grave accent\",iacute:\"Latin small letter i with acute accent\",icirc:\"Latin small letter i with circumflex\",iuml:\"Latin small letter i with diaeresis\",eth:\"Latin small letter eth\",ntilde:\"Latin small letter n with tilde\",\nograve:\"Latin small letter o with grave accent\",oacute:\"Latin small letter o with acute accent\",ocirc:\"Latin small letter o with circumflex\",otilde:\"Latin small letter o with tilde\",ouml:\"Latin small letter o with diaeresis\",divide:\"Division sign\",oslash:\"Latin small letter o with stroke\",ugrave:\"Latin small letter u with grave accent\",uacute:\"Latin small letter u with acute accent\",ucirc:\"Latin small letter u with circumflex\",uuml:\"Latin small letter u with diaeresis\",yacute:\"Latin small letter y with acute accent\",\nthorn:\"Latin small letter thorn\",yuml:\"Latin small letter y with diaeresis\",OElig:\"Latin capital ligature OE\",oelig:\"Latin small ligature oe\",372:\"Latin capital letter W with circumflex\",374:\"Latin capital letter Y with circumflex\",373:\"Latin small letter w with circumflex\",375:\"Latin small letter y with circumflex\",sbquo:\"Single low-9 quotation mark\",8219:\"Single high-reversed-9 quotation mark\",bdquo:\"Double low-9 quotation mark\",hellip:\"Horizontal ellipsis\",trade:\"Trade mark sign\",9658:\"Black right-pointing pointer\",\nbull:\"Bullet\",rarr:\"Rightwards arrow\",rArr:\"Rightwards double arrow\",hArr:\"Left right double arrow\",diams:\"Black diamond suit\",asymp:\"Almost equal to\"});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/zh-cn.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/specialchar/dialogs/lang/zh-cn.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.plugins.setLang(\"specialchar\",\"zh-cn\",{euro:\"欧元符号\",lsquo:\"左单引号\",rsquo:\"右单引号\",ldquo:\"左双引号\",rdquo:\"右双引号\",ndash:\"短划线\",mdash:\"长划线\",iexcl:\"竖翻叹号\",cent:\"分币符号\",pound:\"英镑符号\",curren:\"货币符号\",yen:\"日元符号\",brvbar:\"间断条\",sect:\"节标记\",uml:\"分音符\",copy:\"版权所有标记\",ordf:\"阴性顺序指示符\",laquo:\"左指双尖引号\",not:\"非标记\",reg:\"注册标记\",macr:\"长音符\",deg:\"度标记\",sup2:\"上标二\",sup3:\"上标三\",acute:\"锐音符\",micro:\"微符\",para:\"段落标记\",middot:\"中间点\",cedil:\"下加符\",sup1:\"上标一\",ordm:\"阳性顺序指示符\",raquo:\"右指双尖引号\",frac14:\"普通分数四分之一\",frac12:\"普通分数二分之一\",frac34:\"普通分数四分之三\",iquest:\"竖翻问号\",\nAgrave:\"带抑音符的拉丁文大写字母 A\",Aacute:\"带锐音符的拉丁文大写字母 A\",Acirc:\"带扬抑符的拉丁文大写字母 A\",Atilde:\"带颚化符的拉丁文大写字母 A\",Auml:\"带分音符的拉丁文大写字母 A\",Aring:\"带上圆圈的拉丁文大写字母 A\",AElig:\"拉丁文大写字母 Ae\",Ccedil:\"带下加符的拉丁文大写字母 C\",Egrave:\"带抑音符的拉丁文大写字母 E\",Eacute:\"带锐音符的拉丁文大写字母 E\",Ecirc:\"带扬抑符的拉丁文大写字母 E\",Euml:\"带分音符的拉丁文大写字母 E\",Igrave:\"带抑音符的拉丁文大写字母 I\",Iacute:\"带锐音符的拉丁文大写字母 I\",Icirc:\"带扬抑符的拉丁文大写字母 I\",Iuml:\"带分音符的拉丁文大写字母 I\",ETH:\"拉丁文大写字母 Eth\",Ntilde:\"带颚化符的拉丁文大写字母 N\",Ograve:\"带抑音符的拉丁文大写字母 O\",Oacute:\"带锐音符的拉丁文大写字母 O\",Ocirc:\"带扬抑符的拉丁文大写字母 O\",Otilde:\"带颚化符的拉丁文大写字母 O\",\nOuml:\"带分音符的拉丁文大写字母 O\",times:\"乘号\",Oslash:\"带粗线的拉丁文大写字母 O\",Ugrave:\"带抑音符的拉丁文大写字母 U\",Uacute:\"带锐音符的拉丁文大写字母 U\",Ucirc:\"带扬抑符的拉丁文大写字母 U\",Uuml:\"带分音符的拉丁文大写字母 U\",Yacute:\"带抑音符的拉丁文大写字母 Y\",THORN:\"拉丁文大写字母 Thorn\",szlig:\"拉丁文小写字母清音 S\",agrave:\"带抑音符的拉丁文小写字母 A\",aacute:\"带锐音符的拉丁文小写字母 A\",acirc:\"带扬抑符的拉丁文小写字母 A\",atilde:\"带颚化符的拉丁文小写字母 A\",auml:\"带分音符的拉丁文小写字母 A\",aring:\"带上圆圈的拉丁文小写字母 A\",aelig:\"拉丁文小写字母 Ae\",ccedil:\"带下加符的拉丁文小写字母 C\",egrave:\"带抑音符的拉丁文小写字母 E\",eacute:\"带锐音符的拉丁文小写字母 E\",ecirc:\"带扬抑符的拉丁文小写字母 E\",euml:\"带分音符的拉丁文小写字母 E\",igrave:\"带抑音符的拉丁文小写字母 I\",\niacute:\"带锐音符的拉丁文小写字母 I\",icirc:\"带扬抑符的拉丁文小写字母 I\",iuml:\"带分音符的拉丁文小写字母 I\",eth:\"拉丁文小写字母 Eth\",ntilde:\"带颚化符的拉丁文小写字母 N\",ograve:\"带抑音符的拉丁文小写字母 O\",oacute:\"带锐音符的拉丁文小写字母 O\",ocirc:\"带扬抑符的拉丁文小写字母 O\",otilde:\"带颚化符的拉丁文小写字母 O\",ouml:\"带分音符的拉丁文小写字母 O\",divide:\"除号\",oslash:\"带粗线的拉丁文小写字母 O\",ugrave:\"带抑音符的拉丁文小写字母 U\",uacute:\"带锐音符的拉丁文小写字母 U\",ucirc:\"带扬抑符的拉丁文小写字母 U\",uuml:\"带分音符的拉丁文小写字母 U\",yacute:\"带抑音符的拉丁文小写字母 Y\",thorn:\"拉丁文小写字母 Thorn\",yuml:\"带分音符的拉丁文小写字母 Y\",OElig:\"拉丁文大写连字 Oe\",oelig:\"拉丁文小写连字 Oe\",372:\"带扬抑符的拉丁文大写字母 W\",374:\"带扬抑符的拉丁文大写字母 Y\",\n373:\"带扬抑符的拉丁文小写字母 W\",375:\"带扬抑符的拉丁文小写字母 Y\",sbquo:\"单下 9 形引号\",8219:\"单高横翻 9 形引号\",bdquo:\"双下 9 形引号\",hellip:\"水平省略号\",trade:\"商标标志\",9658:\"实心右指指针\",bull:\"加重号\",rarr:\"向右箭头\",rArr:\"向右双线箭头\",hArr:\"左右双线箭头\",diams:\"实心方块纸牌\",asymp:\"约等于\"});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/find/dialogs/find.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/find/dialogs/find.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\n(function(){function y(c){return c.type==CKEDITOR.NODE_TEXT&&0<c.getLength()&&(!o||!c.isReadOnly())}function s(c){return!(c.type==CKEDITOR.NODE_ELEMENT&&c.isBlockBoundary(CKEDITOR.tools.extend({},CKEDITOR.dtd.$empty,CKEDITOR.dtd.$nonEditable)))}var o,t=function(){return{textNode:this.textNode,offset:this.offset,character:this.textNode?this.textNode.getText().charAt(this.offset):null,hitMatchBoundary:this._.matchBoundary}},u=[\"find\",\"replace\"],p=[[\"txtFindFind\",\"txtFindReplace\"],[\"txtFindCaseChk\",\n\"txtReplaceCaseChk\"],[\"txtFindWordChk\",\"txtReplaceWordChk\"],[\"txtFindCyclic\",\"txtReplaceCyclic\"]],n=function(c,g){function n(a,b){var d=c.createRange();d.setStart(a.textNode,b?a.offset:a.offset+1);d.setEndAt(c.editable(),CKEDITOR.POSITION_BEFORE_END);return d}function q(a){var b=c.getSelection(),d=c.editable();b&&!a?(a=b.getRanges()[0].clone(),a.collapse(!0)):(a=c.createRange(),a.setStartAt(d,CKEDITOR.POSITION_AFTER_START));a.setEndAt(d,CKEDITOR.POSITION_BEFORE_END);return a}var v=new CKEDITOR.style(CKEDITOR.tools.extend({attributes:{\"data-cke-highlight\":1},\nfullMatch:1,ignoreReadonly:1,childRule:function(){return 0}},c.config.find_highlight,!0)),l=function(a,b){var d=this,c=new CKEDITOR.dom.walker(a);c.guard=b?s:function(a){!s(a)&&(d._.matchBoundary=!0)};c.evaluator=y;c.breakOnFalse=1;a.startContainer.type==CKEDITOR.NODE_TEXT&&(this.textNode=a.startContainer,this.offset=a.startOffset-1);this._={matchWord:b,walker:c,matchBoundary:!1}};l.prototype={next:function(){return this.move()},back:function(){return this.move(!0)},move:function(a){var b=this.textNode;\nif(null===b)return t.call(this);this._.matchBoundary=!1;if(b&&a&&0<this.offset)this.offset--;else if(b&&this.offset<b.getLength()-1)this.offset++;else{for(b=null;!b&&!(b=this._.walker[a?\"previous\":\"next\"].call(this._.walker),this._.matchWord&&!b||this._.walker._.end););this.offset=(this.textNode=b)?a?b.getLength()-1:0:0}return t.call(this)}};var r=function(a,b){this._={walker:a,cursors:[],rangeLength:b,highlightRange:null,isMatched:0}};r.prototype={toDomRange:function(){var a=c.createRange(),b=this._.cursors;\nif(1>b.length){var d=this._.walker.textNode;if(d)a.setStartAfter(d);else return null}else d=b[0],b=b[b.length-1],a.setStart(d.textNode,d.offset),a.setEnd(b.textNode,b.offset+1);return a},updateFromDomRange:function(a){var b=new l(a);this._.cursors=[];do a=b.next(),a.character&&this._.cursors.push(a);while(a.character);this._.rangeLength=this._.cursors.length},setMatched:function(){this._.isMatched=!0},clearMatched:function(){this._.isMatched=!1},isMatched:function(){return this._.isMatched},highlight:function(){if(!(1>\nthis._.cursors.length)){this._.highlightRange&&this.removeHighlight();var a=this.toDomRange(),b=a.createBookmark();v.applyToRange(a);a.moveToBookmark(b);this._.highlightRange=a;b=a.startContainer;b.type!=CKEDITOR.NODE_ELEMENT&&(b=b.getParent());b.scrollIntoView();this.updateFromDomRange(a)}},removeHighlight:function(){if(this._.highlightRange){var a=this._.highlightRange.createBookmark();v.removeFromRange(this._.highlightRange);this._.highlightRange.moveToBookmark(a);this.updateFromDomRange(this._.highlightRange);\nthis._.highlightRange=null}},isReadOnly:function(){return!this._.highlightRange?0:this._.highlightRange.startContainer.isReadOnly()},moveBack:function(){var a=this._.walker.back(),b=this._.cursors;a.hitMatchBoundary&&(this._.cursors=b=[]);b.unshift(a);b.length>this._.rangeLength&&b.pop();return a},moveNext:function(){var a=this._.walker.next(),b=this._.cursors;a.hitMatchBoundary&&(this._.cursors=b=[]);b.push(a);b.length>this._.rangeLength&&b.shift();return a},getEndCharacter:function(){var a=this._.cursors;\nreturn 1>a.length?null:a[a.length-1].character},getNextCharacterRange:function(a){var b,d;d=this._.cursors;d=(b=d[d.length-1])&&b.textNode?new l(n(b)):this._.walker;return new r(d,a)},getCursors:function(){return this._.cursors}};var w=function(a,b){var d=[-1];b&&(a=a.toLowerCase());for(var c=0;c<a.length;c++)for(d.push(d[c]+1);0<d[c+1]&&a.charAt(c)!=a.charAt(d[c+1]-1);)d[c+1]=d[d[c+1]-1]+1;this._={overlap:d,state:0,ignoreCase:!!b,pattern:a}};w.prototype={feedCharacter:function(a){for(this._.ignoreCase&&\n(a=a.toLowerCase());;){if(a==this._.pattern.charAt(this._.state))return this._.state++,this._.state==this._.pattern.length?(this._.state=0,2):1;if(this._.state)this._.state=this._.overlap[this._.state];else return 0}return null},reset:function(){this._.state=0}};var z=/[.,\"'?!;: \\u0085\\u00a0\\u1680\\u280e\\u2028\\u2029\\u202f\\u205f\\u3000]/,x=function(a){if(!a)return!0;var b=a.charCodeAt(0);return 9<=b&&13>=b||8192<=b&&8202>=b||z.test(a)},e={searchRange:null,matchRange:null,find:function(a,b,d,f,e,A){this.matchRange?\n(this.matchRange.removeHighlight(),this.matchRange=this.matchRange.getNextCharacterRange(a.length)):this.matchRange=new r(new l(this.searchRange),a.length);for(var i=new w(a,!b),j=0,k=\"%\";null!==k;){for(this.matchRange.moveNext();k=this.matchRange.getEndCharacter();){j=i.feedCharacter(k);if(2==j)break;this.matchRange.moveNext().hitMatchBoundary&&i.reset()}if(2==j){if(d){var h=this.matchRange.getCursors(),m=h[h.length-1],h=h[0],g=c.createRange();g.setStartAt(c.editable(),CKEDITOR.POSITION_AFTER_START);\ng.setEnd(h.textNode,h.offset);h=g;m=n(m);h.trim();m.trim();h=new l(h,!0);m=new l(m,!0);if(!x(h.back().character)||!x(m.next().character))continue}this.matchRange.setMatched();!1!==e&&this.matchRange.highlight();return!0}}this.matchRange.clearMatched();this.matchRange.removeHighlight();return f&&!A?(this.searchRange=q(1),this.matchRange=null,arguments.callee.apply(this,Array.prototype.slice.call(arguments).concat([!0]))):!1},replaceCounter:0,replace:function(a,b,d,f,e,g,i){o=1;a=0;if(this.matchRange&&\nthis.matchRange.isMatched()&&!this.matchRange._.isReplaced&&!this.matchRange.isReadOnly()){this.matchRange.removeHighlight();b=this.matchRange.toDomRange();d=c.document.createText(d);if(!i){var j=c.getSelection();j.selectRanges([b]);c.fire(\"saveSnapshot\")}b.deleteContents();b.insertNode(d);i||(j.selectRanges([b]),c.fire(\"saveSnapshot\"));this.matchRange.updateFromDomRange(b);i||this.matchRange.highlight();this.matchRange._.isReplaced=!0;this.replaceCounter++;a=1}else a=this.find(b,f,e,g,!i);o=0;return a}},\nf=c.lang.find;return{title:f.title,resizable:CKEDITOR.DIALOG_RESIZE_NONE,minWidth:350,minHeight:170,buttons:[CKEDITOR.dialog.cancelButton(c,{label:c.lang.common.close})],contents:[{id:\"find\",label:f.find,title:f.find,accessKey:\"\",elements:[{type:\"hbox\",widths:[\"230px\",\"90px\"],children:[{type:\"text\",id:\"txtFindFind\",label:f.findWhat,isChanged:!1,labelLayout:\"horizontal\",accessKey:\"F\"},{type:\"button\",id:\"btnFind\",align:\"left\",style:\"width:100%\",label:f.find,onClick:function(){var a=this.getDialog();\ne.find(a.getValueOf(\"find\",\"txtFindFind\"),a.getValueOf(\"find\",\"txtFindCaseChk\"),a.getValueOf(\"find\",\"txtFindWordChk\"),a.getValueOf(\"find\",\"txtFindCyclic\"))||alert(f.notFoundMsg)}}]},{type:\"fieldset\",label:CKEDITOR.tools.htmlEncode(f.findOptions),style:\"margin-top:29px\",children:[{type:\"vbox\",padding:0,children:[{type:\"checkbox\",id:\"txtFindCaseChk\",isChanged:!1,label:f.matchCase},{type:\"checkbox\",id:\"txtFindWordChk\",isChanged:!1,label:f.matchWord},{type:\"checkbox\",id:\"txtFindCyclic\",isChanged:!1,\"default\":!0,\nlabel:f.matchCyclic}]}]}]},{id:\"replace\",label:f.replace,accessKey:\"M\",elements:[{type:\"hbox\",widths:[\"230px\",\"90px\"],children:[{type:\"text\",id:\"txtFindReplace\",label:f.findWhat,isChanged:!1,labelLayout:\"horizontal\",accessKey:\"F\"},{type:\"button\",id:\"btnFindReplace\",align:\"left\",style:\"width:100%\",label:f.replace,onClick:function(){var a=this.getDialog();e.replace(a,a.getValueOf(\"replace\",\"txtFindReplace\"),a.getValueOf(\"replace\",\"txtReplace\"),a.getValueOf(\"replace\",\"txtReplaceCaseChk\"),a.getValueOf(\"replace\",\n\"txtReplaceWordChk\"),a.getValueOf(\"replace\",\"txtReplaceCyclic\"))||alert(f.notFoundMsg)}}]},{type:\"hbox\",widths:[\"230px\",\"90px\"],children:[{type:\"text\",id:\"txtReplace\",label:f.replaceWith,isChanged:!1,labelLayout:\"horizontal\",accessKey:\"R\"},{type:\"button\",id:\"btnReplaceAll\",align:\"left\",style:\"width:100%\",label:f.replaceAll,isChanged:!1,onClick:function(){var a=this.getDialog();e.replaceCounter=0;e.searchRange=q(1);e.matchRange&&(e.matchRange.removeHighlight(),e.matchRange=null);for(c.fire(\"saveSnapshot\");e.replace(a,\na.getValueOf(\"replace\",\"txtFindReplace\"),a.getValueOf(\"replace\",\"txtReplace\"),a.getValueOf(\"replace\",\"txtReplaceCaseChk\"),a.getValueOf(\"replace\",\"txtReplaceWordChk\"),!1,!0););e.replaceCounter?(alert(f.replaceSuccessMsg.replace(/%1/,e.replaceCounter)),c.fire(\"saveSnapshot\")):alert(f.notFoundMsg)}}]},{type:\"fieldset\",label:CKEDITOR.tools.htmlEncode(f.findOptions),children:[{type:\"vbox\",padding:0,children:[{type:\"checkbox\",id:\"txtReplaceCaseChk\",isChanged:!1,label:f.matchCase},{type:\"checkbox\",id:\"txtReplaceWordChk\",\nisChanged:!1,label:f.matchWord},{type:\"checkbox\",id:\"txtReplaceCyclic\",isChanged:!1,\"default\":!0,label:f.matchCyclic}]}]}]}],onLoad:function(){var a=this,b,c=0;this.on(\"hide\",function(){c=0});this.on(\"show\",function(){c=1});this.selectPage=CKEDITOR.tools.override(this.selectPage,function(f){return function(e){f.call(a,e);var g=a._.tabs[e],i;i=\"find\"===e?\"txtFindWordChk\":\"txtReplaceWordChk\";b=a.getContentElement(e,\"find\"===e?\"txtFindFind\":\"txtFindReplace\");a.getContentElement(e,i);g.initialized||(CKEDITOR.document.getById(b._.inputId),\ng.initialized=!0);if(c){var j,e=\"find\"===e?1:0,g=1-e,k,h=p.length;for(k=0;k<h;k++)i=this.getContentElement(u[e],p[k][e]),j=this.getContentElement(u[g],p[k][g]),j.setValue(i.getValue())}}})},onShow:function(){e.searchRange=q();var a=this.getParentEditor().getSelection().getSelectedText(),b=this.getContentElement(g,\"find\"==g?\"txtFindFind\":\"txtFindReplace\");b.setValue(a);b.select();this.selectPage(g);this[(\"find\"==g&&this._.editor.readOnly?\"hide\":\"show\")+\"Page\"](\"replace\")},onHide:function(){var a;e.matchRange&&\ne.matchRange.isMatched()&&(e.matchRange.removeHighlight(),c.focus(),(a=e.matchRange.toDomRange())&&c.getSelection().selectRanges([a]));delete e.matchRange},onFocus:function(){return\"replace\"==g?this.getContentElement(\"replace\",\"txtFindReplace\"):this.getContentElement(\"find\",\"txtFindFind\")}}};CKEDITOR.dialog.add(\"find\",function(c){return n(c,\"find\")});CKEDITOR.dialog.add(\"replace\",function(c){return n(c,\"replace\")})})();"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/flash/dialogs/flash.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/flash/dialogs/flash.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\n(function(){function b(a,b,c){var k=n[this.id];if(k)for(var f=this instanceof CKEDITOR.ui.dialog.checkbox,e=0;e<k.length;e++){var d=k[e];switch(d.type){case g:if(!a)continue;if(null!==a.getAttribute(d.name)){a=a.getAttribute(d.name);f?this.setValue(\"true\"==a.toLowerCase()):this.setValue(a);return}f&&this.setValue(!!d[\"default\"]);break;case o:if(!a)continue;if(d.name in c){a=c[d.name];f?this.setValue(\"true\"==a.toLowerCase()):this.setValue(a);return}f&&this.setValue(!!d[\"default\"]);break;case i:if(!b)continue;\nif(b.getAttribute(d.name)){a=b.getAttribute(d.name);f?this.setValue(\"true\"==a.toLowerCase()):this.setValue(a);return}f&&this.setValue(!!d[\"default\"])}}}function c(a,b,c){var k=n[this.id];if(k)for(var f=\"\"===this.getValue(),e=this instanceof CKEDITOR.ui.dialog.checkbox,d=0;d<k.length;d++){var h=k[d];switch(h.type){case g:if(!a||\"data\"==h.name&&b&&!a.hasAttribute(\"data\"))continue;var l=this.getValue();f||e&&l===h[\"default\"]?a.removeAttribute(h.name):a.setAttribute(h.name,l);break;case o:if(!a)continue;\nl=this.getValue();if(f||e&&l===h[\"default\"])h.name in c&&c[h.name].remove();else if(h.name in c)c[h.name].setAttribute(\"value\",l);else{var p=CKEDITOR.dom.element.createFromHtml(\"<cke:param></cke:param>\",a.getDocument());p.setAttributes({name:h.name,value:l});1>a.getChildCount()?p.appendTo(a):p.insertBefore(a.getFirst())}break;case i:if(!b)continue;l=this.getValue();f||e&&l===h[\"default\"]?b.removeAttribute(h.name):b.setAttribute(h.name,l)}}}for(var g=1,o=2,i=4,n={id:[{type:g,name:\"id\"}],classid:[{type:g,\nname:\"classid\"}],codebase:[{type:g,name:\"codebase\"}],pluginspage:[{type:i,name:\"pluginspage\"}],src:[{type:o,name:\"movie\"},{type:i,name:\"src\"},{type:g,name:\"data\"}],name:[{type:i,name:\"name\"}],align:[{type:g,name:\"align\"}],\"class\":[{type:g,name:\"class\"},{type:i,name:\"class\"}],width:[{type:g,name:\"width\"},{type:i,name:\"width\"}],height:[{type:g,name:\"height\"},{type:i,name:\"height\"}],hSpace:[{type:g,name:\"hSpace\"},{type:i,name:\"hSpace\"}],vSpace:[{type:g,name:\"vSpace\"},{type:i,name:\"vSpace\"}],style:[{type:g,\nname:\"style\"},{type:i,name:\"style\"}],type:[{type:i,name:\"type\"}]},m=\"play loop menu quality scale salign wmode bgcolor base flashvars allowScriptAccess allowFullScreen\".split(\" \"),j=0;j<m.length;j++)n[m[j]]=[{type:i,name:m[j]},{type:o,name:m[j]}];m=[\"allowFullScreen\",\"play\",\"loop\",\"menu\"];for(j=0;j<m.length;j++)n[m[j]][0][\"default\"]=n[m[j]][1][\"default\"]=!0;CKEDITOR.dialog.add(\"flash\",function(a){var g=!a.config.flashEmbedTagOnly,i=a.config.flashAddEmbedTag||a.config.flashEmbedTagOnly,k,f=\"<div>\"+\nCKEDITOR.tools.htmlEncode(a.lang.common.preview)+'<br><div id=\"cke_FlashPreviewLoader'+CKEDITOR.tools.getNextNumber()+'\" style=\"display:none\"><div class=\"loading\">&nbsp;</div></div><div id=\"cke_FlashPreviewBox'+CKEDITOR.tools.getNextNumber()+'\" class=\"FlashPreviewBox\"></div></div>';return{title:a.lang.flash.title,minWidth:420,minHeight:310,onShow:function(){this.fakeImage=this.objectNode=this.embedNode=null;k=new CKEDITOR.dom.element(\"embed\",a.document);var e=this.getSelectedElement();if(e&&e.data(\"cke-real-element-type\")&&\n\"flash\"==e.data(\"cke-real-element-type\")){this.fakeImage=e;var d=a.restoreRealElement(e),h=null,b=null,c={};if(\"cke:object\"==d.getName()){h=d;d=h.getElementsByTag(\"embed\",\"cke\");0<d.count()&&(b=d.getItem(0));for(var d=h.getElementsByTag(\"param\",\"cke\"),g=0,i=d.count();g<i;g++){var f=d.getItem(g),j=f.getAttribute(\"name\"),f=f.getAttribute(\"value\");c[j]=f}}else\"cke:embed\"==d.getName()&&(b=d);this.objectNode=h;this.embedNode=b;this.setupContent(h,b,c,e)}},onOk:function(){var e=null,d=null,b=null;if(this.fakeImage)e=\nthis.objectNode,d=this.embedNode;else if(g&&(e=CKEDITOR.dom.element.createFromHtml(\"<cke:object></cke:object>\",a.document),e.setAttributes({classid:\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\",codebase:\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0\"})),i)d=CKEDITOR.dom.element.createFromHtml(\"<cke:embed></cke:embed>\",a.document),d.setAttributes({type:\"application/x-shockwave-flash\",pluginspage:\"http://www.macromedia.com/go/getflashplayer\"}),e&&d.appendTo(e);\nif(e)for(var b={},c=e.getElementsByTag(\"param\",\"cke\"),f=0,j=c.count();f<j;f++)b[c.getItem(f).getAttribute(\"name\")]=c.getItem(f);c={};f={};this.commitContent(e,d,b,c,f);e=a.createFakeElement(e||d,\"cke_flash\",\"flash\",!0);e.setAttributes(f);e.setStyles(c);this.fakeImage?(e.replace(this.fakeImage),a.getSelection().selectElement(e)):a.insertElement(e)},onHide:function(){this.preview&&this.preview.setHtml(\"\")},contents:[{id:\"info\",label:a.lang.common.generalTab,accessKey:\"I\",elements:[{type:\"vbox\",padding:0,\nchildren:[{type:\"hbox\",widths:[\"280px\",\"110px\"],align:\"right\",children:[{id:\"src\",type:\"text\",label:a.lang.common.url,required:!0,validate:CKEDITOR.dialog.validate.notEmpty(a.lang.flash.validateSrc),setup:b,commit:c,onLoad:function(){var a=this.getDialog(),b=function(b){k.setAttribute(\"src\",b);a.preview.setHtml('<embed height=\"100%\" width=\"100%\" src=\"'+CKEDITOR.tools.htmlEncode(k.getAttribute(\"src\"))+'\" type=\"application/x-shockwave-flash\"></embed>')};a.preview=a.getContentElement(\"info\",\"preview\").getElement().getChild(3);\nthis.on(\"change\",function(a){a.data&&a.data.value&&b(a.data.value)});this.getInputElement().on(\"change\",function(){b(this.getValue())},this)}},{type:\"button\",id:\"browse\",filebrowser:\"info:src\",hidden:!0,style:\"display:inline-block;margin-top:10px;\",label:a.lang.common.browseServer}]}]},{type:\"hbox\",widths:[\"25%\",\"25%\",\"25%\",\"25%\",\"25%\"],children:[{type:\"text\",id:\"width\",requiredContent:\"embed[width]\",style:\"width:95px\",label:a.lang.common.width,validate:CKEDITOR.dialog.validate.htmlLength(a.lang.common.invalidHtmlLength.replace(\"%1\",\na.lang.common.width)),setup:b,commit:c},{type:\"text\",id:\"height\",requiredContent:\"embed[height]\",style:\"width:95px\",label:a.lang.common.height,validate:CKEDITOR.dialog.validate.htmlLength(a.lang.common.invalidHtmlLength.replace(\"%1\",a.lang.common.height)),setup:b,commit:c},{type:\"text\",id:\"hSpace\",requiredContent:\"embed[hspace]\",style:\"width:95px\",label:a.lang.flash.hSpace,validate:CKEDITOR.dialog.validate.integer(a.lang.flash.validateHSpace),setup:b,commit:c},{type:\"text\",id:\"vSpace\",requiredContent:\"embed[vspace]\",\nstyle:\"width:95px\",label:a.lang.flash.vSpace,validate:CKEDITOR.dialog.validate.integer(a.lang.flash.validateVSpace),setup:b,commit:c}]},{type:\"vbox\",children:[{type:\"html\",id:\"preview\",style:\"width:95%;\",html:f}]}]},{id:\"Upload\",hidden:!0,filebrowser:\"uploadButton\",label:a.lang.common.upload,elements:[{type:\"file\",id:\"upload\",label:a.lang.common.upload,size:38},{type:\"fileButton\",id:\"uploadButton\",label:a.lang.common.uploadSubmit,filebrowser:\"info:src\",\"for\":[\"Upload\",\"upload\"]}]},{id:\"properties\",\nlabel:a.lang.flash.propertiesTab,elements:[{type:\"hbox\",widths:[\"50%\",\"50%\"],children:[{id:\"scale\",type:\"select\",requiredContent:\"embed[scale]\",label:a.lang.flash.scale,\"default\":\"\",style:\"width : 100%;\",items:[[a.lang.common.notSet,\"\"],[a.lang.flash.scaleAll,\"showall\"],[a.lang.flash.scaleNoBorder,\"noborder\"],[a.lang.flash.scaleFit,\"exactfit\"]],setup:b,commit:c},{id:\"allowScriptAccess\",type:\"select\",requiredContent:\"embed[allowscriptaccess]\",label:a.lang.flash.access,\"default\":\"\",style:\"width : 100%;\",\nitems:[[a.lang.common.notSet,\"\"],[a.lang.flash.accessAlways,\"always\"],[a.lang.flash.accessSameDomain,\"samedomain\"],[a.lang.flash.accessNever,\"never\"]],setup:b,commit:c}]},{type:\"hbox\",widths:[\"50%\",\"50%\"],children:[{id:\"wmode\",type:\"select\",requiredContent:\"embed[wmode]\",label:a.lang.flash.windowMode,\"default\":\"\",style:\"width : 100%;\",items:[[a.lang.common.notSet,\"\"],[a.lang.flash.windowModeWindow,\"window\"],[a.lang.flash.windowModeOpaque,\"opaque\"],[a.lang.flash.windowModeTransparent,\"transparent\"]],\nsetup:b,commit:c},{id:\"quality\",type:\"select\",requiredContent:\"embed[quality]\",label:a.lang.flash.quality,\"default\":\"high\",style:\"width : 100%;\",items:[[a.lang.common.notSet,\"\"],[a.lang.flash.qualityBest,\"best\"],[a.lang.flash.qualityHigh,\"high\"],[a.lang.flash.qualityAutoHigh,\"autohigh\"],[a.lang.flash.qualityMedium,\"medium\"],[a.lang.flash.qualityAutoLow,\"autolow\"],[a.lang.flash.qualityLow,\"low\"]],setup:b,commit:c}]},{type:\"hbox\",widths:[\"50%\",\"50%\"],children:[{id:\"align\",type:\"select\",requiredContent:\"object[align]\",\nlabel:a.lang.common.align,\"default\":\"\",style:\"width : 100%;\",items:[[a.lang.common.notSet,\"\"],[a.lang.common.alignLeft,\"left\"],[a.lang.flash.alignAbsBottom,\"absBottom\"],[a.lang.flash.alignAbsMiddle,\"absMiddle\"],[a.lang.flash.alignBaseline,\"baseline\"],[a.lang.common.alignBottom,\"bottom\"],[a.lang.common.alignMiddle,\"middle\"],[a.lang.common.alignRight,\"right\"],[a.lang.flash.alignTextTop,\"textTop\"],[a.lang.common.alignTop,\"top\"]],setup:b,commit:function(a,b,f,g,i){var j=this.getValue();c.apply(this,arguments);\nj&&(i.align=j)}},{type:\"html\",html:\"<div></div>\"}]},{type:\"fieldset\",label:CKEDITOR.tools.htmlEncode(a.lang.flash.flashvars),children:[{type:\"vbox\",padding:0,children:[{type:\"checkbox\",id:\"menu\",label:a.lang.flash.chkMenu,\"default\":!0,setup:b,commit:c},{type:\"checkbox\",id:\"play\",label:a.lang.flash.chkPlay,\"default\":!0,setup:b,commit:c},{type:\"checkbox\",id:\"loop\",label:a.lang.flash.chkLoop,\"default\":!0,setup:b,commit:c},{type:\"checkbox\",id:\"allowFullScreen\",label:a.lang.flash.chkFull,\"default\":!0,\nsetup:b,commit:c}]}]}]},{id:\"advanced\",label:a.lang.common.advancedTab,elements:[{type:\"hbox\",children:[{type:\"text\",id:\"id\",requiredContent:\"object[id]\",label:a.lang.common.id,setup:b,commit:c}]},{type:\"hbox\",widths:[\"45%\",\"55%\"],children:[{type:\"text\",id:\"bgcolor\",requiredContent:\"embed[bgcolor]\",label:a.lang.flash.bgcolor,setup:b,commit:c},{type:\"text\",id:\"class\",requiredContent:\"embed(cke-xyz)\",label:a.lang.common.cssClass,setup:b,commit:c}]},{type:\"text\",id:\"style\",requiredContent:\"embed{cke-xyz}\",\nvalidate:CKEDITOR.dialog.validate.inlineStyle(a.lang.common.invalidInlineStyle),label:a.lang.common.cssStyle,setup:b,commit:c}]}]}})})();"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/flash/images/placeholder.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/flash/images/placeholder.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAADsAAAAbCAMAAAD1Vwe3AAAAM1BMVEX/MzP/AAD/IiL/ERH/RET/iIj/qqr/3d3/d3f/////7u7/u7v/mZn/VVX/aWn/zMz/ZmbkTTNqAAAAiElEQVR4Xu2VSQrDMAwANZLXrP3/a2vR0FwKWXqM5yLLeCQZDJaFuyxCvQuPcbu74kg124QCpYUcwKb62ReG3+7sYXdVxdrJQKpKvuROxEh0N3j7A9dJX9ebmtaaBQhtjXOq78hWq9lFiFdmnhm9QBjMcn2ddXEi6omyJvF0v29/k4d0959/4Q2A2C/aPX0DlQAAAABJRU5ErkJggg=="
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/smiley/dialogs/smiley.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/smiley/dialogs/smiley.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.dialog.add(\"smiley\",function(f){for(var e=f.config,a=f.lang.smiley,h=e.smiley_images,g=e.smiley_columns||8,i,k=function(j){var c=j.data.getTarget(),b=c.getName();if(\"a\"==b)c=c.getChild(0);else if(\"img\"!=b)return;var b=c.getAttribute(\"cke_src\"),a=c.getAttribute(\"title\"),c=f.document.createElement(\"img\",{attributes:{src:b,\"data-cke-saved-src\":b,title:a,alt:a,width:c.$.width,height:c.$.height}});f.insertElement(c);i.hide();j.data.preventDefault()},n=CKEDITOR.tools.addFunction(function(a,c){var a=\nnew CKEDITOR.dom.event(a),c=new CKEDITOR.dom.element(c),b;b=a.getKeystroke();var d=\"rtl\"==f.lang.dir;switch(b){case 38:if(b=c.getParent().getParent().getPrevious())b=b.getChild([c.getParent().getIndex(),0]),b.focus();a.preventDefault();break;case 40:if(b=c.getParent().getParent().getNext())(b=b.getChild([c.getParent().getIndex(),0]))&&b.focus();a.preventDefault();break;case 32:k({data:a});a.preventDefault();break;case d?37:39:if(b=c.getParent().getNext())b=b.getChild(0),b.focus(),a.preventDefault(!0);\nelse if(b=c.getParent().getParent().getNext())(b=b.getChild([0,0]))&&b.focus(),a.preventDefault(!0);break;case d?39:37:if(b=c.getParent().getPrevious())b=b.getChild(0),b.focus(),a.preventDefault(!0);else if(b=c.getParent().getParent().getPrevious())b=b.getLast().getChild(0),b.focus(),a.preventDefault(!0)}}),d=CKEDITOR.tools.getNextId()+\"_smiley_emtions_label\",d=['<div><span id=\"'+d+'\" class=\"cke_voice_label\">'+a.options+\"</span>\",'<table role=\"listbox\" aria-labelledby=\"'+d+'\" style=\"width:100%;height:100%;border-collapse:separate;\" cellspacing=\"2\" cellpadding=\"2\"',\nCKEDITOR.env.ie&&CKEDITOR.env.quirks?' style=\"position:absolute;\"':\"\",\"><tbody>\"],l=h.length,a=0;a<l;a++){0===a%g&&d.push('<tr role=\"presentation\">');var m=\"cke_smile_label_\"+a+\"_\"+CKEDITOR.tools.getNextNumber();d.push('<td class=\"cke_dark_background cke_centered\" style=\"vertical-align: middle;\" role=\"presentation\"><a href=\"javascript:void(0)\" role=\"option\"',' aria-posinset=\"'+(a+1)+'\"',' aria-setsize=\"'+l+'\"',' aria-labelledby=\"'+m+'\"',' class=\"cke_smile cke_hand\" tabindex=\"-1\" onkeydown=\"CKEDITOR.tools.callFunction( ',\nn,', event, this );\">','<img class=\"cke_hand\" title=\"',e.smiley_descriptions[a],'\" cke_src=\"',CKEDITOR.tools.htmlEncode(e.smiley_path+h[a]),'\" alt=\"',e.smiley_descriptions[a],'\"',' src=\"',CKEDITOR.tools.htmlEncode(e.smiley_path+h[a]),'\"',CKEDITOR.env.ie?\" onload=\\\"this.setAttribute('width', 2); this.removeAttribute('width');\\\" \":\"\",'><span id=\"'+m+'\" class=\"cke_voice_label\">'+e.smiley_descriptions[a]+\"</span></a>\",\"</td>\");a%g==g-1&&d.push(\"</tr>\")}if(a<g-1){for(;a<g-1;a++)d.push(\"<td></td>\");d.push(\"</tr>\")}d.push(\"</tbody></table></div>\");\ne={type:\"html\",id:\"smileySelector\",html:d.join(\"\"),onLoad:function(a){i=a.sender},focus:function(){var a=this;setTimeout(function(){a.getElement().getElementsByTag(\"a\").getItem(0).focus()},0)},onClick:k,style:\"width: 100%; border-collapse: separate;\"};return{title:f.lang.smiley.title,minWidth:270,minHeight:120,contents:[{id:\"tab1\",label:\"\",title:\"\",expand:!0,padding:0,elements:[e]}],buttons:[CKEDITOR.dialog.cancelButton]}});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/smiley/images/whatchutalkingabout_smile.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/smiley/images/whatchutalkingabout_smile.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABcAAAAXCAYAAADgKtSgAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAPWSURBVEiJrZVdaFxFFMd/M9nNNjVNNsmmbm2wosXQJLbmE1qrqH2o9sEGKYhaxfqkIBGlik8iRnwVP6C+WTDgiw8pQrSCiDUx1NxotKY1pVLYrHHT3M1uN5tsNnvvHB/u3WS3rGkfPHCYOwz3d+ac/5wZNbuwRCVridTWAQeAXqDHdwDL9wngp7idzVQEAKoSvCVSexQxn5L4Loo9AfYEJCe8xaZeiPgePZRA6ZfidvbMTeEtkdoG4CMyl48zdgKCDrQ8Ck19UL8flILrU7A4CbPfwloBHvgM6u4dAgbidjZVEe6BZYpLH97JhUFx955QNPehcr+h1mKo1SsgQKgdajqg8QlIjsH4G0LHW4o9r8ZA3V8aoBT+ORc/OC5XP8a970XRal7p3I/g5sEVMAZcszFSDS1vQuNhGH0G7ngS2l4bitvZ58rgLZHao2RmhhnpE6frKarkilImASKeG1M5gDEQPgS734eveoTDPyjqWvuLGigRqUPcGb4+GJX6NaSxEe3EQAEC1kQaBHo6a8EYrF+XAaGnLbQRdPe74IZg+hQ8PppAVbXG7WxGAweYOxsldwHZFkTnY+s7W10pYI1ewxq7xmrOYTXnYo0vYI3brOZcMH42lweh+UEIBmHubNQ/wmigl6QFW6vRThKM46XsGlIpxxNRIJV2SaXdjfmSeHARcFaQ2GnY8TAkLfzeIAD0YE9CKAiuU3ZOb99eTXTXNu+7uRpESuZByOe9nRuBlIVEj6GuDoPfcB48acGOgME1GuWTBbTr0v/83d5u/1kAI/Q/e5e3HkuUCa0yF3F3RaUqaalSuGfGV79oIt44t+CfGL8Es/MbtS4dVQHy82WZa8CiqRtW8rpY61tyU+4S3A72pKKpG7y7pwSeL5T87N4cvD4XcA2i61DpaUrhAWCCpm64tAa17npK359LYy8W2Mwi4Soe6doCAhJoQC/+DHteB+/GLDaRM8PI/ijOn1AT8v68ZydsrdkUztIy/P4XEooi3IbWW+DIeAIVaI3b2cxG+6enhxnphfpqg9Z6XdDiFSBsiCpFMQURjQSajF5d1Bw5D+H29fbXAHE7e4Zw+xD73oHry5qCY8rr6utg3HI9jEE5a0Yvz2n2vQ3h9qHSu12XJDlA28kYewchU9Dk8psLawwUHDBVms73oO1kDBgordqNj0Uj8AnpP55m9AVIT0GV9h4JjSACrlEYv1wNnXDwNIQ7vgBeidvZxf+ElwQ5hjin+PubCMlJ1h28o1b0nY/ZqMDLcTv7ZSW9K8L9AA3AQ0AX0O2PAL8Ak/547san7Zbg/4f9CwjGWwVGSeROAAAAAElFTkSuQmCC"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/smiley/images/embarrassed_smile.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/smiley/images/embarrassed_smile.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABcAAAAXCAYAAADgKtSgAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAARDSURBVEiJpZVNaFxVGIaf78wkk6TTNMlM27EN1h9oaFOjMT/YWIoo+NOFDepGW8W6UpCKUsWVLurCnb9QwYWCATcuGqFqBRdqY5CZtBGbSsRaSaZp0rmTmSYzmd97Phf3TprUBAUPvHxcLuf5Du95zzkynVpkvdEeDTcDA0Af0OsLIOErDvyUdHILa82X9eDt0fBB1H7E7HcxnDg4cUjHvZ+RPoj6ij0wi5jnk05u+F/h7dFwK/A+C78fZuQI1FWh/X6I9MOmvSAC18Zhfgymv4VyBe79BJp3DgFHk04usybcA+s4v713M78eV7friLC5Hyn8gpSnkOIfoECoExr3QNujkB6B0VeVPa8Lu16aArmr1uBG+GdceOew/vkBbtdzamROTOFHcEvgKlgLrr1eqYf216D1QRg5BNseg90vDyWd3NOr4O3R8EEWJk9yql8rHY8TCFwSUz8Hqp6sXbOBFhQ27Ee63oZT/cpD3wvNHYNJJzcs06lFLxXqTvL1vpilhG1qwchlZANICBLxLCj0dofBWhLn8oDSc3sDmrNQFmTnMWRTG0ycgEfOzCKBDuM7MsDM6Rj587iVAJKZQZcU8kphsUzizFUSI1cpFqoUCy6J0RRjIw6lrEULguYVe+5daB2AujqYOR0DBmrwPtIJrA3B4gI276J5RQuWbMp6m6iQybpksi4oBKwhmwEtgF0SbK6MO/Ex3HQfpBMAfUEf3oszhhZCUHQBUAsasGyJ1BHbsRGArZvrQZXYjo0ES4ZIOIjOu7CkYEH/Oove8xRy6SRA73V4OoFWg6p5FQAxCiHFFCoMPnObt/orKbDK4KFb0AzYCw62BLokoCDpS9hQTAPphKyE+6tVKKr3EVK0YtGKRWZSfmL85EzPofOCVgUqAiVABbQKpbllXs3zBJEepFoWrA9Zlh+9G2V9LUdV0VALOGNCpAcgsQpugmWos56Mi+AyebFIOlX6B7xUcrm6CIiFgIWgizSFkewENXjNljiRHkzjEhJq8vwNeBM372rj3OgUmfnyqjtoa3Mjd3Rth8tZJCTeXRKLINkE7HoFIL7iEFUn+WpvzM5cxC03ICHFNFlkWwNyaxTq61bBNVtGz89hrxTQkmDaWpEtjRjTAAdGZ5Fgx+rjn504yZf9uKVGS70xpsFFNlgQ31fl+qa6Fs0Z7JJBq4LZ2mxNdd5w4Gdo6RxMOrnhmuckndwwLZ1D9LxJoOGaMfUVS53rBX7Zaxes61W1EHAxDRWCLXlrSjOGO9+Als6h2t1uWD2OsvvYFN3HkWrRiFv0QGulxbVIsIoESyABQ/dbsPvYFHC0BlvrsWgDPiR7/knOPAvZcQgY75EwqG+JYPHsae2GfZ9Cy57PgReTTm5+XfiKJk+g1RNc/iZKeoxlgRe1mrY/7CDBF5JO7osbGevC/QatwH7gbqDHrwBngTG//rDyafvP8P87/gYnBWUJdLxragAAAABJRU5ErkJggg=="
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/smiley/images/devil_smile.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/smiley/images/devil_smile.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABcAAAAXCAYAAADgKtSgAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAASQSURBVEiJpZV/aFVlGMc/5+xu1/1obm3OydTVVAKVyX5oZlGKECMIF0gQlQSGVIR/SQUSRaaQf/VHEWiGYRBUDP1H1HSJaCq7yx9t5ha1du/d3fTe6+7uvdu9ZzvnfPvj3OvurEHQA1+e877neb/v837P87zHkNQFlAEvhGPpDP/DltZW1AGngTPhWPpdJM1Yhw5J0tFQNEUekioldUh6X9IJSSM5nMjNdUiqLIgvknTOOnxYkn4PRVMgKRlvapL6+yXprVzgNrnOqCJnpJv7pe5O6fsGD92d3lzkjOQ6o5K25dYc1PnzutfaKkk38+Rj4WXLZG/cKAWDkjSoiQHp5Cbpxw3Sb+9Jd7ska1SaHpOip6SB/dLZZ7yYiQFJGlZfn6ZWrVK0rU2SroSiKXxApqy8nKHBQVZs3YrxYssqGn7C2bIDFm3AyNzASHVhRA+CAP8aKF8Lm76C+CX4egsMP77c+S7AX6kUjzY1AWQATCBStW4dGcfhdjRKevA2dsdujHKLovgBzFQXxlQP2HGYjsJEN4x8Cr92gGnB61dIjE5yK5mkxDRZ0NwMEMmTHzF27WKl349ZVYz/w40UTXdjps+BbYErkJvzmvV2Bv78AP7YS+XnX+KvXkhjSQns3AlwBMCQVIecEd5Y69PzlWhFJaYdBAMQBHoSIGhvqQDXJXBtEhDtq/3guuAIVn4EqVI49gnsv25hFNWFY+mkCbQSOe3j2RBabmBawdwil+zUDIGLdwlcuks2Y5PNOAQuRwlcjpHNON4pXBcG90Hjk7ClGiKn/cCmvCzriQegrATTjoNrg+ORj4/b3kcUjCccxhPO7DhVKNEUCh6FJZshHgBYD+AD2on1gr8YHHtOxy2uK6G+8SHveVEJSAXjYrAsL3NXMB5A9dsxho4DtM+SxwOwxOfiuCZGjllgOg6dO5q8bEej4IrOlx/x3gfHZjV3XYzkLZzGehXFA0YhuWeu6yFvkucj0blVErozq3WhN2bAujPn5CYQoKYNpiwzr/V/gjsXKq6DWK9BTRtAYC65NVOw2OHajRTDw5l5iUORafoGs54sjovMSoxEPw+S91DTBplpcJwcXJasqOLn3jRnL0wwNJwllbJJpWyGwxbnr05y4XqW6mULvcwF8lVjTAzkyXvyTVSJ7AFOPlGPfRtK/Z5gZaXY9bX0XRxldChJNGqBoLa2hMXLK2je3EBxMALjaeSvR5RjmgvguctjGL7HwrF00ghFUyytrdhGov84J9fDwhIX0zSRwDSgtgoqSqG01OvayQykp2AkBjM2kol8Na6ZvWfy3FWoWtMZjqVPABihaCr/FzlG/8FXuLEXKkpdTMP0GkZz8eAd47gujkxaD8Cad74Jx9KvFlZL3nazek+Q5n2QnDHJWPf1n7daZmxwi0xaPobVe4LA7sJSvJ95LvuHgc9I9L3ExdcgcR2KTDAMMFEuUwM3d6LqFnjqKFSt/RZ4OxxL35uXvGCT7cj+gpFTtcR7uQ/wqiGPho4Yhu/NcCz9wz9I5iPPbVANPA20Am05D/AL0JvzF8Kx9Pi/EgB/A1bjH1clrLv7AAAAAElFTkSuQmCC"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/smiley/images/lightbulb.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/smiley/images/lightbulb.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABcAAAAXCAYAAADgKtSgAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAANeSURBVEiJpZRdaFtlGMd/p2nTfNolzehOmkknNi7DSouK3YTRTVQsWGVCr9QrLxQH6o0OEcEbQTcYeiV+UHoleuONm8wxp9Oim7Ud2NmPaIPmZOnHyUmWndOcz8SLhq3EfIHPzXnP877/3/N/H973FdKbN2kWsUjgYeBx4ChwP7AAnAO+lmT1l2ZaoRE8Fgn4gA/09fkX8lc/Qs/+iplP4g4N4hEfJDT8Ip6+kY+BVyRZ1duGxyKBMFR+kn9+N1G89hnRI2/QLT6C0OnDKc6jZ2fI/vgJu0ZeJXLwzd9BGJNkVanldDTY0anc5ZMJa+Mi+567hCdoIWReg+Q4LuVD/LtM7nr6bUp/TZO7fHIIONWW81gkMGYqKxelL4+y7/nzCNl3YGv+v8ouEceVIPXN59z57BXc4fgRSVa/b+V8Upk9Td/hlxDyX9QHA1hZXOVlwoNRlNnTAJO1S+rBR/S1Obp7RFAv1QffKrCO12+gr80BjNROd9aRDBnKEi7BAi0D2NtZQQABQLg9rth0BzowlCWAoXbgmU6/GLdzV+lyusHRd0CrRXYUszSLTr8IkKkF1WvLrK//EFp6DspeMC0wbbCqX9MCy76VV9dVfP2HAGbbgV/oHT3BRjKJUciDXa5C7Sr09ljPl8hlyvSOngC40A582h2OL4hPfEr6j1WcLaOua6dkIS3nEcencIfjC8B0S7gkqw5wPBg/VvEMTKDm9Zq2bLvWFB3PwATB+DGAl6u6ls6RZPUH4Cv/wKOUVKumLdv/pZsmvr2HAc5Kcv0z2+j6A5wL3P0kW2YHmmaDUwbbAdtBK5qomo1XfAjgfCNAM/hvXcEYfU+dYdP1AIspk8WUwWLKZIP7iDw2hbf/IEDDZ7fZk+sGUkB0Z75SKaMqaWxDIxQ9YAJ3SLJq1GPUu0QASLJqxiIBJb3wbfT64ncU1le4sZbkxsafOJbO6OT7hKIHrjQCN4VX4x9Dy91b3FwlJCYYGJ6gZ0+cnr5BvMHdBvBWM3HDtgDEIoEEMLNVyIaU69coZJcoZJcJhPcyPP56VpLVaENxK+eSrC7GIgFp/ux7oZWZaXr23ENI3E90/xjAmWbals6r7p+plJ0pocMVBBzgb2AGOC7JavF/wasFdgO9wKokq2ZLQTX+BTzOnbfvHiWuAAAAAElFTkSuQmCC"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/smiley/images/angel_smile.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/smiley/images/angel_smile.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABcAAAAXCAYAAADgKtSgAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAASLSURBVEiJtZVbaFxFGMd/M3vP7ibZZpNs2mh6EQu9YZum0hpqK4JaQftQhHqjfRRKn6oigg8qij4XfPChBa19sVChVCNKtaTWmk1N6QUraprN5rpns2l2k72cMzM+nN10Uw344sCfb4bD/Oab/3wzR4xm8vxfzVs/6Iyn/DhmL0av1vjWCdn4iBCBtYhAGyIYAcCUCpjytDHlv4yeG5LYfyLkHbziQtp6sFLPE6OZPJ3xO23aNu8IxAtAK7IRIRMw+SNYA66yA+6Mlh6IV5V4HKMnQc8BZIwxJ6RffZi2HppdhHdEb00LZKuQkcvCu0aRH+nl0mHwOdD5BLTsgKadIATcHYKZQRj9Fio2PHYCol39xhnGmEqv0aXURGFD1yK83XdBeRvWSETUFnf6fFx9y6gthwWtOxDFa4hKClH6AwwQ2AihTbDiOchegsuvG7a+K8zqZyuYnN8pptRUZbd3ER4aeeqXyJojPf7oZtdWVQKdR9hj4FgIewYqWdAGvDGMJwa+Vgg/DJ6IuyOgkr9OYfj4QLGrb8c9W4Lpg4WRj76w8z/jjz+JJ7gSj78NT7Adj78V4QkvqQKj5lGVDKo0hapMo0rjVKzv8UUfJdL15osTpc7TAMIY04hRt/m6N6GbylTCAlWZQBsbpRxyuTK+YAOBcCsA5flp7NICsYgXj5FII/GuPIQ/sBlx61N4pn8S4VmftgpzEtjFeF+C4nWI+glSIBwIEw02E/TE6DtT5NypLFG1QNSe59ypGfrOlAjaEaKigbDxExg7g2jbCz4fjPclgF0AEughm4QGP9LJgnZAaVCaXM5xD9FAblaRm1X3xnnjnoEx4CxgUiehYw9kkwA9tUu0HWsQAj5QzhJv29v8JLqibr/VD8bUjX1QLoPW7iK5JCZxADF8FmD7PXg2CR1ejdISUTs1kEqx/9W1brYTGdCG/S+tdr+nJl2wMqA1Yu4WqithPNmkqIe7TWtXiyVh3Diecfs1C0an3H4t41oUNpSnluxcAklaumGhLGte/yfppTK+NrAGBS3dAMml8LJdN1nx67U8IyPFZcGj4xVu/F5ybVEaIxsRsze5Hz5ASzcUK6BUVZqOdc38NFjgu4t3GR4pkc875PMOI+kyP1yZ5+JQidgDTW7mBow3hrh7uwYfqLtEzm3O70zg/AahgGtYQwgnEedG/wQTw3NkMmUwEI/7aX8wwpY9q/ClxiFXwAQSGMJIGYR9lycR3vVpqzBXfXIjzzN78yzne6DJr5FSYgxIAfFmiIQgFAIBzBehsABjFtgOxkiMt0XL0oxk3xVo3rg/bRW+WnxbADrjkc+4+fHLXHsbIiGNFNK9MGap9H1RaY0ykm0fwMY3Pk9bhVfqq6XWjrLhWIot78GcLSmWF/1ftlpsB7RHsvV92HAsBRytL0VR/w/tjEdWAMeZvXGQ/kMwOwQe6T6pElPNVKCrO4pthd6T0LzpNHAkbRVmloXXLXIA43zC2DdxsoMsCtxqqGnV0xbC+1raKnz5D8hy8OoCMWA3sA3orkaAq8BgNV5MW4XcvwKAvwEMFYmR0+DGBQAAAABJRU5ErkJggg=="
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/smiley/images/sad_smile.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/smiley/images/sad_smile.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABcAAAAXCAYAAADgKtSgAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAQiSURBVEiJrZVNbFRVFIC/ezvTARz6MzMtD2nAKIq0FSxtSUBUoguUBRBDYlQ04koTg9GgcWWMGLfGnwR3ktjExLiAmKCYGKIWG+1UMFCghIhOhzJt33Sm02nn7717XLzXzhRLZOFNTs67ecl3/s9Vo5MzLHXaYuEGYDvQC/T4AhD3ZRD4JWnnc0sCALUUvC0W3ouYz0j9YGEPgj0I6UHvZ7QXYr5Yj6dQ+uWknT/xn/C2WLgZ+JjclQOcOQhBB9oeg+hWaNwGSsH0OZgagtHvoVyBhz6Hhvv6gENJO59ZEu6B5RyXPlrL+SPibjqoaNmKKvyBKidQxasgQKgDlndCZA+kz8DAm0Ln24qNryVAPVhroBb+BRc/PCDXPsF94CXRalzpws/glsAVMAZcU9XUQ9tbENkF/c/CnU9B++t9STv//CJ4Wyy8l9zIcU5uFWfL09TJVaVMCkQ8MWZpA8ZA0+Ow/gP4pkfY9aOiYcO++RooEWlA3BG+3WFJYxmJRNBOAhQgEB/MgkBPVxiMIX52FhB62kNVo+vfAzcEw0fhyf4Uqm5D0s7nNLCdsVMWhfPIyiC6lFjwrDhXId4/QfzMBMWCQ7HgEh+YJD5gUyy4YPxorhyBlochGISxU5bfwmigl3QcVtSjnTQYxwvZNWQyjldEgUzWJZN1q/cZ8eAi4MwhiWOweiek4/izQQDowR6CUBBcZ1Gfrmqtx1q30vtuqQeRmnsQSiXPcyOQiSPWftS14+APnAdPx2F1wOAajfLJAtp12ffC3Z63NybBCPueu8v7n0gtKrTKXcRdZ0ldOq5q4d4xfvXnj4inxyb9jvFTMDpezXWtVhUojS+KXANxot0wV9Lzub4tMYtFgq1gDymi3eDtHgI+fA9/nYZloWpOBBxHuHB5jhsTZSbTXnFjzXWsigbYdG+QoGLBe9ENqOwwtD66CD5ItBsulSHsLoSUmqhwemCGFms59/e0smNtAwjYiWn+HM7y1ak8O7tCrIlqz5dAM3rqN9j4Bngbc36InBFObrNwLsNyz/uzV8pE1sdYd08YsjMwW/TSsWIZNK1kNFlgemScTssgIQvhDrReBrsHUqjAhqSdz1XHPzt8nJO90Fhv0FpjRb2tZ2f9NUC1qGIg0giheiQxiQSiRhenNLt/haaOhfHXAEk7f4Kmjj42vwvTs5qKY7g+AROZmiK6YFxPuwbGp+DvGyinbPTsmGbzO9DU0Ve723VN5xyi/XCCTUcgV9EUSlXQrbql4oCp03S9D+2HE8Ch2la8+bGIAJ+SvfAM/S9C9hzUae+R0Agi4BqF8eeguQt2HIOmzi+BV5N2fuqW8Boj+xHnKNe/i5EeYkEAot1VWfOEjQq8krTzX/8Lciu4b6AZeATYAnT7GuB3YMjXP938tN0W/P84/wCAwWJxYs+tEgAAAABJRU5ErkJggg=="
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/smiley/images/tongue_smile.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/smiley/images/tongue_smile.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABcAAAAXCAYAAADgKtSgAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAQzSURBVEiJpZVfaFtVHMc/57RJ3Za1TZOtmcZOdGzYztWuf2B1iriH6R5ckYGoU5z4oCATYYpPTpz4Kupgvjmw4IsPK8J0oqCzfxi5cR1bpw2DrWlW0+WmSZt0+XfvOT7cmzYtLQ78wZff/cP5/M79nt85V0yncqwX4aCvEegHeoEeVwCGqwgwmjDzC2uNF+vBw0HfYbT6muSvIcwImBFIR5yXgV4IugodSCLkWwkzP/Sf8HDQ5we+ZCF2lJFj4LEg/AwE+qBpHwgB8+MwF4Xpn6FcgSe+gcadg8DxhJnPrAl3wHqcv75o4+opbe85JtjShyhcQZTjiOIN0EBDB2zYDS3PQ3oExt7X7P5Q8Oi7cRCPVwushn/L9c+P6ptfYT/2hpZiVsjCH2CXwNagFNhqOeOF8AfQchCGX4b7X4D29wYTZv7VFfBw0HeYhclznO/T1t4XqdM3hFBJ0NqRUmsXUAqaD8COz+CHHs3B3wWNuwYSZn5ITKdyTldoe5If94d0Uxnd0oK04iAADUYkCxp6unygFMblRUDT096wXHTHJ2A3wMQZeG44iajbJV1H+pm5EKJwFb3ZgyzFl2ZWvFvBGL6DMXKHYsGiWLAxxlIYYybFgg3K/ZrYKdjyJHg8MHMhBPRX4b2kDdjoRVppUJbzybYik7GcRdSQydpksvbyfU47cK3BuouOn4VtT0PaAOitd+E9mFFo8IBtrWjN1q1eQts3O9dbvKB1zb0HSiVn5kpDxkCHjiBungPoWYanDdhWr7CVRLhPNUjbZuC1h53Z/pMCpRl45SHnfTy5YqHFwnXs7SFdlzZELdwJ5a5+NbR28kzK7RjXgunZZa9rs6hAaXZpeNVzg0A33C3Jqtf3JLVS2rMVzKgg0A1grISXKjWDbS5fyTE1VVgXPD1T5lqs6NhiK7RsRGQnWA2PEOiGQhls25Vi2yPNjEbz/HJxnptTRXI5i1zOYipR4rdLi1wcL+J/sMmZuQZd70fMT1bhkZpNZE1yfl8I62/Y0OCU3LgBKxTkWnSO5OkUZmsZLSBgeml9M8CevgCe+Axk8uiGEJpNSHkfHBpLIup3rdz+2YlznO+FJq9CSonWIAV07iTZP4vH6wWgUi4TGm2FSxNQsdBaousDShbnJIcuQXPHQMLMD1VtIWHmh2juGKTzY5hflFQshVJQsWGxSNZvcisW41YsRtZvQr7gHLdKIayykoszks6PoLljsHq2L8HdOE77iTh7TsFCRVIoOf4n04RPtrGpy8emLh/hk21wO+V4XbFA1Um6PoX2E3HgeBW21s+iBThN9tpLDL8O2XHw1MHWAISDzmZK3IFk2ukafxfsPwvNu78D3kmY+bl14TVFjqCtM9z+KUg6ypLA6YaqHnjWRNS/nTDz369mrAt3C/iBp4C9QLebAf4Eom6+WPtru2f4/41/AUEfbK2Nw9CPAAAAAElFTkSuQmCC"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/smiley/images/thumbs_down.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/smiley/images/thumbs_down.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABcAAAAXCAYAAADgKtSgAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAOgSURBVEiJtZVdaBxVFMd/987MbjYzmyWbtTbbTZu0higB6ya10ZpaVLS2tYh9USm0DyIiWNSHFrSg0Fd9CSKiVKhoI1XUIqTFUhVKQkFdE6kloc3HxoyNaydxTWY32c/xYTchsyFJUTyP557zu+f8z5k7YuLmLP+XCcdxbgO6gAOAt+zPAF8BZ4CdQCuwBdgEaBUME/gYOG5atlMJ/yQeHzsY+/kncrkcAJqm0R5tp06dYmqoh9TkAHPWMHPTIziF3JJsgS+4mS37uwi2PP6BadkvVMLTX3z5ua9jewe6rgOQSqW43Pc9m0aOUrv+DvTaery+AB69BilVhNRwnDwUHezp3xnpP0/roa8JND34pmnZJxbgEvDlcjl0XSdhTZKwJtF1nQIarbsOEW7ZQWBdE1X+IFKq5SwVIVQQYNRtoHHrowx+epBc6uYbkZDx0AJcXdqGlMotTElBSJWZP8e5frnbdXTlw91K25HY6UjIiJqWnXDBVVUDXDNZzpYqSJWacAvRfa8s+p1igaG+M0xcequ+Ydexk8B+uTRRU1U0tXIZXGiEVBBSQapVFZcqbG7bw/i3J8jPJ5+IhIx17soVDSHEGlVrJc1VH8VCjl8vnqSQzyzGSEVjzhrBH2lvdME9mmd1UcpVL1yieP3cvftFV8jwD2fJJMfxR9obXLJIKVGky7X0tLwhpU0RQkGq+rIojy/AfHIcoEFddrqCCamU5CgPVEiVfNFh4FwXOO5+i74Ikc5Xbx2O1FxgpIa3Jkx078uusL9uXGMm6wVYv5IGFWClXHlZb6GWNsZb4644n2U+lUTx6ACOCqQ1TauurjbwekvvViaTQSHPLxfep3HrYwRub6KYnYXsLAXAHOwlMRpbJofiMTDC99C895gDdAvHcU7F42OHlz1cbdsIij+4emofzR1P4vPXLULiAxcI3nuE+u3PV/Y4BQwC75mW3S0cxwkCbwNPA9XloDSl5zaQiH10YPybo9zZ+SyKUvrArImrpAly1zOnz5qW/dRKaorVfhaRkOEHYkOfHW5W7OuEW3aUZEvPcO3H89z3+sSUadmhlfJXHahp2bPAcxvuf4npyeFFv7e6huzsJEDdSrlrwsvW649sGxOqn1QyAUAqmaCqtglK+v57uGnZDkK8s/GR44zGevjtyneMxnrY+PBrAO+ulruq5gsWCRkGcM6+0b/z73gfgcYHMMLRS8Ae07LT/wm+5JIo0An0mpbdv1b8P+4HPAbkSJJ4AAAAAElFTkSuQmCC"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/smiley/images/wink_smile.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/smiley/images/wink_smile.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABcAAAAXCAYAAADgKtSgAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAQhSURBVEiJrZVfbFNVHMc/56xdHW7d1hYsWh0BInFDImwj4Y/EyAOKCRBDYlRMxBc1MRgTJCa+ieHBF+OfBBMfJIHEGH1AjQhGjOhwMesQgkOHJNOuQHG3bHSlXdt7zs+He7fdwog+eJJvfrn35n5+55zf93eOGh2bZK6RSjRHgbVAL9DjCyDtawD4KesUC3MCADUXPJVo3orYD8gdT+IMgDMA+QHvY7wXEr6SG3Mo/ULWKX7+r/BUorkdeJfC+R2c3AlhF1IPQ3w1tK4BpeDaabg6CKPfQLUG6z6C6L2HgF1Zpzg+J9wDy2l+e+cezu4Vs2KnYv5qVPkMqppBTV0AASJd0LQcYlsgfxL6XxWWv6a47+UMqAeCCYLwg5x7e4eMvIe5/znR6orS5R/BVMAIWAvGzkYaIbUHYpug7ym483HofOVQ1ik+UwdPJZq3Uhg+zJHV4q56gga5oJTNgYgna+dOYC20bYSl++DLHmHTCUV02bbpGigRiSJmmK/XJ6W1isRiaDcDCm8bRMD6YGtJ/3IdEHo6I7NJl74BJgJD++HRvhyqYVnWKRY0sJZLx5KUzyItYXQlA9Yy+ud1Pj2U4eCHI3z/7Ri2ZpgqG9L9Y6T7HabKZjbp+b0w/0EIh+HSsaRvYTTQSz4N8xrRbh6sC8Yy8leV9dsWs+X5LmKL2pgsWcYnjL8aGJ/0VyQCbgnJHICFD0E+jd8bhIAenEGIhMG4MzbasK4VbBmmyqxYEoZKlZZ5jSQ7WgC4Y34YKhV/uwTG00hyO2rkMPgN58HzaVgYshirUT59qupNUQQqNRCLtsK2pxd53zO5ukKrwjlMR1Ia8mkVhHvDLxhAqWSo1Syt0VDAMX4cvRIocCCqGlSu1HWoBtLEu6FU0RjPYmPXhK+O5qmWDdPvbpKtl4QXgDOoiHeDd/YE4JXazI8dXQlSi1s4fmKcylwJbPBZwFhER1ETQ9wIHyDeDeUqGOPp8hhrH+tgXluET77IM/xHmeKk5yK3Zsj9XaNcMrMzF5BQO+ra8DR8INBE7jBH1iRxf4emiLdh4TDcvYDLoyVOfZcln6/iugJALNZIzxJFKq7BChJJItyO1rfB5v4cKrQs6xQLs+0/MXSYI73Q2mjRWiMeiFgU2qPQ1EjFVYQx6GIZRi5C1UVEI6G41VNXNZt/hrau2favO7iG3trBmdehucmilZ5p/2kpwLX17jHWYkSzah907ak7uHTAObvo3J1hxV4o1DTlil+DQPFqpr6oNRdsg2blm9C5OwPsClrxxssiBrzPxK9P0vcsTJyGBu1dEhrxZ6qw/oraV8L6A9C2/GPgpaxTvHpLeCDJdsTdz8WjCfKDzAg8N0zrrkccVOjFrFP87CbIreB+gnZgA7AK6PYjwClg0I8/3Hi1/Sf4/zH+AbwLeHCRCLyUAAAAAElFTkSuQmCC"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/smiley/images/kiss.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/smiley/images/kiss.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABcAAAAXCAYAAADgKtSgAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAOySURBVEiJ1ZVPTFRXFIe/++bNowPPgcGBGXAwNFI7jQ2IgZQ22FBjG0tsWdUVadyQRl0Zy6K6KmvdIDFdYN00NhhCiSu0SG0TkUCqFDAySYHSeYVSHh1G3jAwb2ZuF/wJjOCORX/JTW7uyfl+uSfn3CvC80vslZQ9I+81XN0tEPDquYAPcAAhw7TSGfG3gNeAF4ZpTezEEJk1D3j1A8DXqXj8c2tqyilUFffhw38DncCPwEfApy/Gx0tsy8Ll95MdCAwBzYZp/bwrPODVDwF9xt27BwebmtAsi1Q6DcXFvN7YyIHTp5m+c4c/OzuRs7O4NA1rdZWyS5eoaGmxhap+YpjWvZfgAa+eDww+aW4+FG5r471gkIKCAkiniUQiTMzNETZNSgsKKC0sxKProOskFhd5HAqROHKEEz09Sw6Xq3KjTEJKuQ9oBJpC169XTl2+zInKSpxnz8LBgzAzg3z+HDk2BpEI5OQgKiqgrAzhdiMtC9nby0BfH9qZM1S3tYWAb4F2IaX8JtTa+sXs/fssPHjAyWCQ7OpqZCyGnJyEdBqk3Czd5m7LGYCdStH77Bm5dXUUnzpF8OLF74WU8pcfAoHjxbbNGz4fWaq6LXkbIgOYaZRIJpk0TWZ0nYaJiSEVuFdz8+bx/oYGSnJzcWjaZpKdSjG+sMBiPM5qIoFt2zidTrI0jTyXizc9HpwOx6ZRMpkkHIlQdeMGQI+QUipA1+/t7Q2jFy7wTkkJmrI2W0JV+dfpJBqLkbDtNbiqomkauTk55CUSSNvevMnw7Czec+c4dvVqP1AnwvNLBLx6NvDwtytXqsPXrlHp96MIsd5PAkXTEKoKqopMJpG2TTqRWAtrGumVFaajUWLl5Zzs6/tHqOoxw7T+2tqKPqQceNTYWGp1dRH0eFCcToTLBaq6VlcpQVFQ8vJw+P3IeJzVkRFMy2I6K4uPnz5NuYqKPjRM6yfYMv6Gac0FvHr9u7du9T+GvF87Oihzu3ELgVpaisPnQ8nPR9F1UvPz2NPTrIyNEY7FiBYW8kF3N66ioq82wNuGaEMBr/428N0ft29XDJ0/z77lZXJUlWxFIVtRkICVSmGlUkSTSdx1ddR2dNhZ+/d/aZhW61bWS/B1Aw1oic/MNIe7u5XI8DCLIyNER0cB8FRV4a2pobC2luL6ekM4HJ8ZpjWQydkRvsUkCLwPHAWOImW5lFIRijIIPFpfDw3TWt4p/5XwHcwEIDKf392063u+kwzTkmQM7av0//3m9hT+H3UjnzhIg4pLAAAAAElFTkSuQmCC"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/smiley/images/angry_smile.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/smiley/images/angry_smile.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABcAAAAXCAYAAADgKtSgAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAATESURBVEiJrZVbaJRHFMd/M9+3u8lm3Vzc1KTEFBUviQYvycZLwNoWRfqggj7UW9VS0YrYC1KEVqxQKbTQUikYaLEt2guliH0p+lAqlhoxa6xGs2q0atzUmKwxJpvs7ZuZPuyabCSlfeiB4Zxh4PefmTPnjLjbM8BYVhHw+YFFQBCoyw6AUHY0A2ci0Vj/mABAjAWvCPhWonWj0/xLmWprRrWdQ7U1A2BVB7Gq67Gqg9jBF7qQcnskGvvpX+EVAV8xcFB3XN8wtH8zEoFr/jKsmfXI6joQAn2jFR0OkW46gUrG8e77Clk57SiwKxKNPRwTXhHwFWPMH8nvP61MHT5g3Kt3CHvWfMTtq4ieTkTnLcBA5VSonAbzl6Jbmxj6+A3j2rRHeF56vQMh5uQK5MKPJL/9ZEP6WCOe1TuNNfBQyHALpBOgFGgF2hmJbQvW7IDaJcT3rkMuXoVn3ZtHI9HYxlHwioBvpb5z7fjglgUmb9U27O6IEH0PMjvVOgtWWbAzOp7dAK+8S+zlWuNtPCXkM9NXPc6BMMb40epa7NWGMrfHix2oQEb/AsQI3OQIDIMfxw5s3oOWNkM/HMT3xe9dSGt6JBrrl8Aip+lkGbevYXv9yO4IKEVapWl5lKIv7YyGaUWfo2gZNKSVyggf+Qg5uwHL5cFpOlmWfcJIIKjCIex8H7K/F5w0aIet7Um2tCdZ0pqksSudEVCKxh5YcsPNlk4PW+/lZ06WGMKc/AZX8DlUOES2NpBAnQqHsPLyIZ3KJs3BFPiyWRHo4pLhu9bFpSAEAMZfNHKiqy2I8smP4XUANlDnhEPkFz2l0UqCAAGHls2kNSGZVOJjfOQmXO8Eo9k2tZA1zwe51RujxpWCUzdAK8TtNli11TjhkMiFZ0wr0HJ46m3+jWBhCeLKI0QqMZxYq+0Cpe2XCfj8yGjXyM6dNDzsHlWhNhCyZtSucG60SleBP2fJIKP3wBgwhmQqxUA8Tn88Tn88QSyZwm1Jpo33U+SyMEUBVPi8sGbUQqb3ZOFVtStU61lced5htKMcOnv7eBSPMxBPoAv8+Gvq8dfUM7GmnnHV83h47leuvbOJ+RMKMd4C9M1L2HOeHQVvtqvqSCRioEsAQzyV5sLdTopfXM+EhmVMraknf+IUnrTCuQ04WoM2GF8RzsUm8ta+BZmOiQ2csRcu72LSzLLU/Q7cXh89/f0ULFhK1fuHh1/GWPbo4ln8LgtTEsC50w7jy7EXLu8CzkBO+as/rxwf3BxknL9Ea4S81NVDX1rjCZThLi3HHSjDU1qOu7R82N//+Xt8p49R8XSZHnzQLQu+PIc1eeZI+Y9qXEc+3JBu3EuBv0gLKaXWhpTjkHIUSaUzXitSKjPPl4LJXksn0mnp2vEBno1vj2pcds4pd3nW716M1pUDn78n81xu3G4PecKQZwuwJLgAI8BI0JqU4zCkjPRsP4Bn/e4OYFfutT35WZQAn6mbl9fG92+C9kvYloVlSWwpDUbjOEoorXCUhulzyd/3NdaUWd8BOyPRWO8/wnNE1qCcQ07TiYAKn8cJh1BXzwNgzajFqqrFrqrDXrg8imW/FonGfhwr4WPCswLFwGJgHlCb9QAtwPmsP/3k1/af4P+H/Q0Sym9+6jKJDAAAAABJRU5ErkJggg=="
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/smiley/images/broken_heart.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/smiley/images/broken_heart.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABcAAAAXCAYAAADgKtSgAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAQ6SURBVEiJtZRdTBRXFIC/nf1hi7PIEkAtNCCoQJatAbUkSPjRNNGUpq1p1MTEkFgTmz6YvhGTJpo+tA+NJn3YRE18s2oN2LTF1AK2TfEvVpEtSlN/0DJsCzsuyA7sLjO7py9g0F1q06QnOQ9z57vfOXPu5NpGwlH+r3AsfCjOVwuB3cA7QBGQBK4CX2i60bWAawb2AzWAF7gO9AGfa7oReSocCUcZCUcRkc0p0xz/PRCQ75ua5Fu/X37evl2CBw/K5J07IiIfiogiIh/NhELW5d275auyMvkyN1d6Nm2SocOHJWVZoyLy+rxzXtwYGxuzLjQ0SI/XK1p1tUyuXy8Pq6qkr7BQvqurExG5LiJf/9ndLR2FhTJQUiLRDRskUV8vIb9fer1euVBfLzOhUFJENo2Eo9hEJAsY+GHr1oqlg4PUlpU9/arpeJzuYBDfkSOs3rfv9mQw6LtYV0f9mjUsz81Nm/Gt4WEeV1Swubv7HuBXgPdHOjsrYn191KxcmfFgkvE4QPmToSEKPJ6MYoC1paWY167x6MyZVcAHDqBp+ORJfEVFSCqFLIBfcjrZXF1Nb3s7gLusrY1r0SimaWJXlIwFqoqKeHT6NCU7djQqQE3kxg08bjeWZaVllt1Oc1UVQ+3tPBkcpKC5mRFdz8haloUnK4vIzZsANQ4gx5yagpwcLNPM2I1LUfBmZxO+coXHV69SuWLFoiypFKZhACxxALeX+nwNk6EQBaq6CJ9ibHqaRGcnpVlZqE4nScvKyE4aBrk+H8CgAvQva2xEi0SwTDNjhiYmSFoWs7dusdLrXZSzTJM/IhGWtbQA9NtEZJU5NfXrN5WVbr/dTq7bndbNRCzG9dFRyvPyKM/LyzyOOe62zcabQ0Mxh6r6FE037jlzcj6pO3aMgfFxorFY+iE5nXjdblKp1KIHGY3FCIbD1B0/jkNVP9Z0Y3j+f/q0qLW1p/boUfrHxpiJx0ma5jNZoqpIKpW2njRN4okE/WNj1AQCvLxlSw/wGYACoOnGLPBWWVtbX8WhQwR1nfjs7DOdLbHb8djtaR0nTJOBcJjVBw5QvmfPTWCbphsmgG3hlVucr+YCP/2yf/+roUCASo8HxWZbdMYpEX6LRlm+dy+vBQJ3gQZNN8bn39uev8+L89UViFy+tGtX6cTZs6zKzs4oFuDBzAxLt21j46lTIZuibNR04+FCJk0+V2B1yjQv/djaWpDo7eUVlyuNGZmdxdXSQktX14TicjVqujH4PJPxgtB0467idG5t7OiYtq1bx2giQdKynuZoIoGttpamc+diisvVmkm8qHyuwA2Hqr7d0tU1m1y7lmHTJGKaPDBNkn4/LefPWw5VfVfTjcuLOTKOZWEU56tvSDJ56v6JE56/Ll6kuLWVkp07DZvd3qbpRsc/7X2hfK7AGuA9wA8MAMc13bj/on3/Sv5f42/oUJY2o3GMQQAAAABJRU5ErkJggg=="
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/smiley/images/omg_smile.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/smiley/images/omg_smile.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABcAAAAXCAYAAADgKtSgAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAQpSURBVEiJpZVbaBxVHMZ/Z7KbS92mye423XSTxiBaatKLuYFJlWIFUx9sEEGKLdg+RRDFgiI+SKVvvogXqG8GDPjig0HQVlBQ2y02k5pY05JQTU02yWY7m032kmR3Z87xYWY2myZVwQPfDP+5/M4335yLmLmb5n6tIeirBrqBTqDDEYDuaBiIRI1Maqv3xf3gDUHfcZT8lNj3IYxhMIYhMWzfDHRC0FHoaAyh9UeNzNC/whuCvlrgI1KTJ7lyGrwmNDwFgS7Y8TgIAcujsDgCM99BvgA9n0H1I4PAa1Ejk9wSboPVKLc+3MON88o6cFqwswuxOobITyPWboMCKlqgqhX8z0HiClx9U9H6tmDf69MgDrkd3Av/nJsfnFRTH2PtP6MW58bEwuTPxP5K0dIWYHdjFVgSM2fyw8UYNbWVhPafINx5lrJfzsDu5+HRNwajRubUBnhD0Hec1MRXfNOlzLYXUfkJ8du1W4QfqsEf9uE11xBrBZASpMKqrSFtrDD3xxJ+fyuhIwPwdYfimR8F1Xv7okZmSMzcTdujQlkTfHs4pHbkUX4/mjUD1T4wTcgVIJ8HSxbhaBpUlkNlBSRTUP8OWBUwfgGOXY4hyvZqTiLdzF0KsXoDtd2LlpsGy4LkMqSy6BEDXU8VwfpYFv16GpJpmI1DegUmz8POJ8DrhblLIaDb48A7SeiwrRzNTACy+B/Wchb6lTgArQ832PCrhl0376LSAygF1gpqegBRfwQSOoSf7XSdd2CMQIUXLNP+fEfJRdMeIQqSy5JkSq7XaZyvcaJK6qgHmsEYAejwFOEJHeo9EktqCOeqgl115YSatgOwa6cXpFqvgx7IrYGlQEpE6iZWU0iVJXRRCreb68JtSqFZFn2nmm23s3FQir6XHrSjuDNvO3adiwLkFoqvu7HoBNphJaeVRlJUNA7RhfX6zjxMzZdEYkt568AYEQTaAfSN8FyhBGpt7qRUsrRWYEmUVo1YGseFu7EME2iHW3nwWSWxOAcFsXiByK9Ze9weqCTkL7M7UMqORIHy1KItXoN9ZwGGXecRwr0xth+AzOoWTi0iY6vEEybxhEnkRm6Te+WtQyzfRlTthnBvDIhoAFEjk0J4+ukZgKwFBVNuisZb8u/LvSDX7ykpUAVTaukp6BkA4emPGpmU65yokRmipmWQg+dgOatRMGWps+6n66lr9FHX6KP7aGhD9sLMSy07p3HwXahpGXTX9s1LrpKjjL+/h9H3oELZjhXg2wZNIfvBP2dhOWPnbVqAFw6dg5a3phHa1kuu04Ef+ISl309w+WVYGoUyzd4kNJQ91aVA2vOA2sfg8ADUtH4BvBo1Mosu65+2uRdQ5gVmLwZJjFAU2EPNVbjXQHheiRqZL+9l3BdejAmeBNqAducMcB0Ycc4/lW5t/xn+f9vfq/1hh+Oe1gMAAAAASUVORK5CYII="
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/smiley/images/heart.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/smiley/images/heart.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABcAAAAXCAYAAADgKtSgAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAOuSURBVEiJtZTbT1RHHMc/Z3dBDi4sEooPLG2AtnLZRaCAN1pu8RKtjTE+mBiSvjQNJn3hD+CxhhcT01iLEX2gaaI2dRMS0npBiJBoA5EqKxpLCexJEDksdPe44J7l/PoChsuKRNJv8nuYme98vjOTmVECU2H+LzmWN9wZTifwLVABlAE6MAD4NN24s8x3AvgK2AtkAn3APeAnTTeCb4CBqTCBqTAiskss6/nz1la5e/So/JadLZ1lZfKgsVFmnzwREflRRLaLyM/T/f3S19Agvrw8uepyye26Onl2/ryIZY2LyL4l5hK4Zm5y0uw6dEh+T02VsYICCVdWil5aKkM5OXLd6ZSRK1dERGJPz52T66oqT/Py5N/ycpnfs0c0j0f+SE2VOwcOyPzLlzER+SIwFUYRkUTgr66DB/Ndfj9lubkoirLi7EKRCN1+Pyk1Nbzq6aHG48GZlLTCIyL0j4wQqaig2ud7ApTYgO/Grl3Ln+vriwsGSE1Ops7rJdrbS53XuwYMoCgKn+XlEb51i4DPVwg02oCa0fZ2itxuxLKwFhbiVnJCAvuLi0lyON7qwbIozMpi7OpVgGoHUDz76BGu9HRisdgGLtj6SklKYubhQwCvA0g1QyFs27YRM81NwxURzFAIwOkAhlweT9XsxATpW7duGj5jGKR5PACPbcBgZlUV48EgMdPcdI0Hg2RWVwMMKiLycXR2dqhjx44tO7dswRXnJmxU05EIzxIT+dLvN+yqWmDTdOPvxLS07ysvXGBwYoLw3Nx7rTgUiTCk6+xua8Ouqs2abmi2xdCW7OPHe7xnz/LwxQvmX79mwTQ3XJH5eQYnJylva2N7bW0n8AOAsvQrujOcLqDnUXPzzn/OnMGbno49zoNarZhl8XhmhvyWFgqamu4D9ZpuRFbAFwM+AHr/PH3608lLl8hPSWE9vCXCcDjMh01NlLa0DAOfa7oxvTSurP7P3RnOj8Sy+npPnswK+XzkqmrcAAFGIhEyGhrYfflyANin6UZguWcNfDGg0IpG7909ciQ91t2NOyFhjWcsGiX58GGqb9wIKnZ7laYbw6s9ceGLAbti4XDX7fr6ZPvAAJl2+5uxiYUFbHv3Un/zZsSuqvWabtyPx7DF6wTQdOOBIyXlWG1nZzRaVMSoaRI0TUZMEykpoaajw7Sr6om3gddd+bIdHJNY7JfnFy+qo+3tfNLYSM6pU68Uu/1rTTd+XW/uO+GLASXAN4AX6AdaNd149q55G4K/r/4DCchYpeg3ofIAAAAASUVORK5CYII="
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/smiley/images/envelope.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/smiley/images/envelope.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABcAAAAXCAYAAADgKtSgAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAOWSURBVEiJtZRrTxRXGMf/Z+4Myy47GZSmu0IjIG3ThNZwKZcY4ps2TdoX/TBNP4VvmvglVJAoDS8MJZJwScQWBGkBC+5W1tnbDDtT5+zOzOMbRHAXJCb+k+fNec75Pc+5/VkmX8HHknRWMmXGfgbwG4D2BulNAL9kC+7UaevZaZ2nzNj3vMqn5v6YlUrlUl3eNE2MjV0LVEX9MVtwfz83PGXGhoIgeDA7+0A329rwdd83dXP+/GsFeSuP8fHr/0uSdD1bcBffC0+Zsc+jKJp/+HDOUDUNgwNDcBwb1VoVYRgiiiLIsgTTvIDl5SVw38fY2LWSIAij2YL79DhLeAecBjCztLxoMIFhcGAIjDHoug69SYemapAVBWEUoVQqYqB/EExgWFpeNADMHK6vh6fMmAFgZuXxo7TnuhgZHgVjDACgKCpisRY0N8egNzVBUzUQEQ4qDkaGR+G5LlYeP0ofFjCO6Jl8BUSkE9HC+sYTuj99jzjndJaqVU6uW6FSuUiuWyHOOd2fvkfrG0+IiBaISM/kKwARSUQ0vbOzTXenJsnzvDPBJ4rUquR6Lvn+K/I8j+5OTdLOzjYR0TQRSSCiG9lshiYmb5PjOOcGH1etVqNarUaO49DE5G3KZjNERDdARAd3Jm6RZVnkeS5FUfRBBaIoIs9zybIsujNxi4joQADQwjlHMpmEz33s514gCIJGf+JUBUGA/dwL+NxHMpkE5xwAWo5eC2NAIp6ApqrY2t5ExT2f51TcCra2N6GpKhLxBA4fGIAG3pJItIIJAjaerqEj3YnMf8+x9/zfOmjHpc+Q/vQS9jK76OnuRbwlXjenoXHFW+L4ovcrzC/MQpJk/PDdTxBF8SgfhiHmF+ZQKFoY/XYcut7UcFdCw1EAhaIFRVEx1D8MxhiiKDoKxhiG+kegKCoKRes0RGO4bZfx0trH1b5+SJIMIqoLSZJwtW8AVj4H2y43hNcdi++/Qs7KoftyL2RZQRRFp3YmyzK6Ll/BS2sfqqahSTt5PCfgYRigbJdx8UI7FOVs8BspsoKLbe1wHBuKLEMU3yIlALuGYXSWSiVomopmvRmiKILo/eDjOxBEAZxz+P4BDMMAgF0BwM3urh6srq2ibJfrLu+8wcBQtstYXVtFd1cPANxkRJQMw3B9b2/3k3+2/oZt2+fu+F21traip/sKOjo690VR/PKN5bYR0a9E9OyDjOWtnh1y2jL5Cl4DFDL2FZNNi4wAAAAASUVORK5CYII="
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/smiley/images/shades_smile.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/smiley/images/shades_smile.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABcAAAAXCAYAAADgKtSgAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAATGSURBVEiJtZVrbJNVGMd/53RbN9Z1W9vdWHWJE5DBGLB1bjg0QIyED2AMQjB4gQSDiUE0SIiXBAJZojEYLon4SRMJuiCIHyRERAQ2Jq7DES5zMgRGt3bb227rmnW9vO/xQzu2AYufPMk/T3LOye953vec53/Evf5h/q+RMtWC02GxAosAF1CVFIA7qRbgokcLBadiiEdV7nRYVqGMQ/jOFKK1gNYC/pbEot0FjqQKl/kQcrNHC/34n3Cnw5IL7Cf493qaNkBqHJxLwV4N2bUgBAy1QaAV7v0M0Rg88xVYZx4Gtni00MAj4QmwaqN93+Nc3a30eRsEedWI8BVEtAsx2gkKMM+BjLlgWwn+Jmh+XzF3h2D2O10g5k9MMBH+DTc+X69uH0Av36ik6BUyfAH0COgKDAN0YzySBs7tYHsBGl+B6S9B2buHPVro1Ulwp8OyimDHCe3oIvXZ1WpxuT2IoXRcT8XZumaEguz4pATaAOz9wYq7Mx1DpOGqqmHrk0dUwepfBdZZL46dgVBKWVF6R29DXeGaQ1A6w0FNdREIaHH30N7eT8PHgxTb4mAY9AYka+odlJbaqKlxAoKWP4dov+Gl4c0YxesafQjTLI8WCpp27ty5hJ5Tm3d9+ROW4mI2bSxnJBDBLCXLni/B1zdKc1sEpRvc9Jg4fNZCVkERmzbOY2QgitkkWba0CJ8W5VJ7iOWu6RasM84HR6KdEnDhd+P2WFhcW8xwXwjf3YSG+0LUVhfRdC2FPUey+ORoFpduprO4ZjrDPcHxfd0D1FaX0HpHgd9NsjeQQBVaK9IkMCIxsiwmrDYzVpuZLEsK+mgEc5rgbH0vv+zykpYKejhKVqYc3zfNhBqJYzIBWitjDZeA+93UVCh+a/IgdJ1yl4NylwMRj9P4u5fFlWCWcVKFQW2F4lxzNyIep7zSRvlCGyIW43xzB09XyLHKq8YOtJujxdMDT+SptR+YhcNmoa6yAARcbO3D2x+ioX6UvJFeUIpAZgFrP0rHkTONuvn5gOJim4bXP8J3e53kdzTDy909Hi1ULAE39kpsQa84tl9RUTrEmQudnD7XSVnJIMcPGOTF/Im7rRvYRvo4ti+5r/kfTjfdpqxkgOMHFXY9F+yVY/5DShK+kjtnsZq97Hg9FzLSE10QjkGvHyJRMBQoBTEda89ddryWB5nTQADBKIZmhfAtyH9uErwFeyW0RyEcgS5fAqzgWmeEIpvEnmNKgJMJwgNhtJ5uHsuKJ+dAOWYih/6A2e9BwjHHmijewcnaQuJ/QYb5PlzLyKHtzD0GAtFJbufIMzN/iZPcfi8YCmUuRJGJlOmwotmHSJnl0ULB8fYfvH6Cky7ITjOQUqIUZFvAmQ9pqZO9dDQKt7phIIhSEpViN+RoQLLiEuTMGW//ScZ1/dP1XPkQLBkGUkgUid8xUcYDUTcMdCVZWA9ztk8yLjmhni2Ubeti3m4IxiThCOj6/VvykAwDYnEwTJIFe6BsWxew5ZF+nqzeBhxk8No6Gt+AwTYwycQjIVHJSgVG8otyF0Dd15Az91vgbY8WCkwJn5BkNSr+Bd2nHPhbuS9I3OMxFS/XEClvebTQ9w9BpoInE+QCzwILgcpkBLgMtCbj+QeftonjX9yCZewqGPFtAAAAAElFTkSuQmCC"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/smiley/images/thumbs_up.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/smiley/images/thumbs_up.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABcAAAAXCAYAAADgKtSgAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAOGSURBVEiJpZVfaFtVHMc/N7lZ0iYzsb0ji96tadqK7Rxu7ZT5r1QrPmwgcyLDisJwKnsaPuxVUPBlT8r0QZhFhYFPCtqt6h5kVB1ou6yyKqNujSYtbZdG29572/SenOND0nZpu6TQH1y49/zu+Zzv+Z4fv6Olb89TLUwjtB94Evgpk7WSVSeUQq8CrQX6rYlk52zqZ8LxJzDv2z8AHMpkLasa3FMlf3xysLfz+rlu5n7v5fq5biYHe58C3tiMcq2SLaYR+uPXMy2t8T0HCUai2P9NkRq5wqOnR8fQtKZM1lJbUd66+O8YwUgUgGAkinLnmM8MNlI8g4pRDT6zbXuMvDO3MlAXa2b8ykcAn5pGaPtW4APhRCfzM+mVgWjzI8z91c/U0OctwGemEeo1jZBtGiFVeuzSWJ0OYBqhHuAk0ArU30mPJLrI/XYWY9ceALxeH4n2w4z2vU2N8cDRnNrJ0NVBXNcFwOfz1Xa0Hzgejzd6NKXUIWf6z77Rr09q1sQ1CktrKkzTiCY6MFvLLZ6dGiM1/APjbR/z/JFj+P1+APL5PH0XvuHFoy85OtCTvnxGC/oliWdew6NvWwEE7n8cpEC6Dko4SNdGuQ5SOISjjTz83Fv8k9FxHAvHWRVV2kWtB9AKSzaBYKQMDCDzcyhZACVQUoAsFL9locpRFUMHJpXIkxq5SCp5scyOfUfeJRA2S+DlBdxNgZfh6XBTF56FDLv3Pl2W9Hq0NWBRVL7J8ADpQKSBpYXZdUkpbJQqoJQoWqMEIDcEFaREyvKcDqT9kQbs3DjJCx+sqtb9PPTsCXTpopYVV1AthItSioA/UAZP1RhNSM1LW1cP/uC9ZZOUWICS10qKu8JdsVR6W4V7MllrWg9E+hq63+HW1f51nkqxiFquEu7ep1zh4oryxZf7+YldnaeTt4e/jF3rP1v2Q8tjPdyzs6miagAh1ud1gEzWmjKN0Ct7X//+0tCH7d7dbQcJ72gAQPP4imBVuUrkBuex0rgyWetHX3DHe60vnyc1fAlrZhwUxQopqZZSsDifY3Z6jIkbvzBy+Qu8uNi2TdSIETVi2LaNz+cDWFh3WZhG6JPcje/evPntKRZyt0Ct+qx5fdTUNVFjNBOM7aP+wcPMiHqGkkN3Ni462g8Qjzee3wiuAe8DrwLmmp26wN/ATWAEGACOAS8A/tI/eeAr4FTFa26r8T/X5Z9efE+7fgAAAABJRU5ErkJggg=="
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/smiley/images/cry_smile.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/smiley/images/cry_smile.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABcAAAAXCAYAAADgKtSgAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAASgSURBVEiJtZVdbFNlGICf77RnZxttYVsZGyt/EYa6KT/7MQwUAwgak2EWjGDQiMYEjT/RBELCDULChcYYlQQvTCCB6I0XgBEFhETZMLhOR9gYG9NpV2aB09F27Urbc77Pi3bdhkOvfJM378X3nef9/c4rBm+N8H+J898OfV6XB2gCGoD6nAL4c9oOXAia8dhU34t7Re7zujai5GeEzlZgtoPZDuH27GFZA3hzWrE2hNC2B8348f+E+7yuEuATYn1badsGugW+NVDWCNNXgBAQ7YThDhg8DekMrDwEnuqjwFtBM357SngWrDrp+Xgul/cp++FtgpmNiOQlRDqAuNMPCjBqoKgWSpsh3AY/7VDU7hI88HYAxNIxB3fDj3Dlo61q4FPsh15WmrghtOR5sFNgK5ASbDluKQDfTijdAK3Pw+wWePCdo0Ez/sIkuM/r2kis9xgnG5W1/Dkcql8IGQKlsirl1A6khBlrYeF++LpeseEHgWfxM0EzflwM3hrJToWye/l2VYWankaVlqJZARCAgqu9CeLRDPXLXCAloRsZrvQkWLNi2rjThXvBNqD7IDzVGkI4Fmu5ijQxdKqC5GWUW0dLBfKRRYbTtJ7+C3/bTe4kLZCKiz9H6OuO0NWfBpnLpm8fzHwUdB2GTlUATWPwBsJ+KC5As8IgrWzKtqT3agIrI0FBJGpnHYZTAHRdjmXhSoE1igochsrHIewHaBiD12N2gKGDcIN7LZS0EPO0MHAt+z7m3V/CrHIDpKRudSUOh0YknMKU87lWsRsqngU7iZq2AMwOgHpnHh72Q6VTHnF+qO3qcKM5dXYvTvPEumOUzTKYYUgYjoJU1M7XWfRuDcHBJG53OS1DG/g9upryAvA3JZUI+8VEeFakJC4dTCuvZEsVbE9sBncSEqMQV+MlGBnFiCa4T0gYbuOL+Wdpdm2mJBmG9NDkF+rzuo5zrrmZdCuUzCPm3YQnfhGi/uyt/DhOsFKBklkrDDKVm1E4cGTSOEb+hDUnToxF7sf3dHOf43WqzT14Bg9kZ1DlErIV/ktxfgukQMECn05jTREaObgcRR/4HDm9ntCcN5lVWYAD/GPwwhdvrmMomeJ7jwG2nYsYpFKcOT/CwGAqn25nj00karO+oRBNjGUBylnChXQVe7uL+KbUWqL5vK71K05e2XH25ih1VV4YiebHEFuSSUkStkZh8Xh7ilw6aYeOZY3fU3o5ItrPnGIHMcPFyhO/tjgB94140llcPpsi3YDRNDgsiaZpKIWha7S8Ug2FBpaVrZNTAMkk9PwBaRulNFTGktqdAc1yV2O4M0Sjt4VQShWfCY0c6RqVj7w6z2O6rn6whEu7wVUk0YSGyjUUAYVOSFuQykxusC0lttJYvh9qdp47dD25aCAcFf/85SrZSff7c+l8DwwFupO8g7unRimwbECHpXugZmcAoS0FEoCcalmUAgeIdG2h9SWIdIJDyy4JDZWLVCBzDkuWwarDMKP2S+CNoBkfnjTnU4nP69qEsg5y/Tsv4Q7yClBWN65VT5oI52tBM/7V3Yx7wvNlgseA5UBdzgL8AnTk7I8TV9tE+RvVlGuOLF+GawAAAABJRU5ErkJggg=="
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/smiley/images/confused_smile.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/smiley/images/confused_smile.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABcAAAAXCAYAAADgKtSgAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAQUSURBVEiJrZVdaFtlGICf72vSri79TVozG9yQ6lg7h1t/ZHP+4C6mu9iGDESd4rxSkIkyh+Cdk114I/7AvHPgwBsvJsJ0goizs2pPdWN2c2MwyWKbNidNmiZNmpzzvV6c0yaZLe7CF17e83Hgef+/T91MzbOSxCKhVmAHMAQM+gpg+ToG/JSw87kVAYBaCR6LhPYh5hOS30Wxx8Aeg/SY9zM8BBFfo7uSKP1yws5/+Z/wWCTUAXxI7tpBzh+CoAOxxyE8DG3bQSmYuwCz43DzWyhX4KFPofW+U8DhhJ3PrAj3wHKBKx/czaVj4m45pOgaRhUvospxVOk6CNDUD82boXMvpM/D6JvC5rcUm16Lg3qg1kEt/DMuv39QbnyEe/9LotW00sUfwV0EV8AYcE3V0gixo9C5G0aehbuegr7XTyXs/PN18FgktI/c1dOcGRZn29M0yHWlTBJEPDVmZQfGQPsu6D0OXw0Ku39QtG7cv9QDJSKtiHuVr3dGpa2MdHainTgoQMAay4LA4NYQGIP1ewEQBvuaqk573wG3CSZOwJMjSVTDxoSdz2lgB5NnoxQvIS1B9GJ8ObLSQgVrZAbr/AylokOp6GKNprBGbUpFF4yfzbVj0PUwBIMweTbqjzAaGCJtwR2NaCcNxvFSdg2ZjOM1USCTdclk3ep5Xjy4CDgLSPwkrHsM0hb+bhAABrHHoSkIrlM3p3d2NxJd3+J9dzWCSM05CIuLXuRGIGMh0QOoG6fBXzgPnrZgXcDgGo3yyQLaddn/wj1etFMpMML+5zZ4/+PJukar3GXc9VFpSFuqFu6J8bu/JCKenUz5E+OX4OZ0tda1VlVgcboucw1YhAdgYVEv1fp21DiGmVSZyWQZjEGC3WCPK8ID4N09BHz4Xv76HtY0VWsiNRn4kc/lHKamyyRTFVKzDj3r17Ih1gxuCdGtqOwEdD9aBx8jPABXyhBya8oCpZJLcqayDAy1NdLb38Hwg600d4VQjgPTszBVQgId6NlfYdMb4N2YS0vkXOXM9ijOn9DsRX/u53kyBcO9/e309LbTEm1BBzTkCjCXh7l5KFXACNIURViL1mtgz2gSFdiYsPO56vpnJ05zZgjaGg1aa6eznUBPBAoLPrAAhZJfpqVmCiIaCYSNLs1q9vwC7f3V9a+7uCbeO8jFtyHUbAg0aAxg3Grda6dmybrG4Ipm23HoP1p3cemayTlM35E4W45BrqIpFMGprD4xxkDFAdOg2fou9B2JA4drR/HWx6IT+JjsH88w8iJkL0CD9h4JjfiRKow/RR1bYedJaN/8OfBqws7PrgqvcXIAcU7w9zcR0uMsK0B4oKo9T9iowCsJO//FvyCrwX0HHcAjwDZgwLcAvwHjvj1369N2W/D/Q/4Bru9pOkKKhwcAAAAASUVORK5CYII="
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/smiley/images/teeth_smile.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/smiley/images/teeth_smile.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABcAAAAXCAYAAADgKtSgAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAARmSURBVEiJrZVdiNRVFMB/97/zsbvOzLrzsTu6wySyKK4m6+wqpPZBPri9qIUQlX3YQxhEkZBET6VQ0EuUgYIPLWRE0IOVpAYR1q5CM5sTm8qqtDmO6+j+Z2edmd3/fPz/9/bwn/2YGK2HDhzOvVz4nXPuuedccWOyQCOJBD0+YDOwEeivKUCipnHgXFov5hsCANEIHgl6dqLkUTI/htHjoMchG7cPAxshWNPwtgxC25fWi9/8KzwS9LQDn5C/sofhveA0IfI4BDZB20MgBNxNwtQI3PgBKlXY8hn4Vh0HXk/rxVxDuA1WSS5/HGX0kLLW7xWENiGM3xGVFKJ0DRTgXgst68C/A7LDcP4txbq3BWveSIHoXexgMfxzLn20R40fxnrwZaWJ20IzfgGrDJYCKcGSCxYXRA6AfzsMPQvLn4KeN4+n9eLzdfBI0LOT/NgJvt+kzNjTNKlrQsgMKGWrlI0dSAlLt0H3+/Bdv2L7WYFv9a65GgillA9ljXFqa1i1VVB+P5qZAgEoSMSnQUH/Bg9ISeLCDKDo73EvOO0+CJYbLh6BJ4YyiKbVab2Y14DNTJwJY4yivE60cmo+stJslcTQHRLDdygZJiXDInF+ksR5nZJhgaxlc+UQhB4GpxMmzoRrTxgN2Eg2Aa0uNDML0rRTtiS5nGkXUUFu2iI3bS3sC8qGKwXmLCo1CMseg2yCWm/gAPrRR8DtBMuse6edHS7CD3jtdcgFSi3aO6FctiOXCnIJVHg3YvwE1BrOhmcTsMwhsaSGqJEVaJbFrhdW2tHemgSp2PXcCvs8lakrtMhfwnogrJqyCbEYbousVX9OlLLtxKS9thRlo0opeR1jpkqpaFIuWfiDLkJBN4gqlG/XZe4AEgT6djA7pLFEm+eWZyqUZkyMYoXSTJXSrMTZ1k1zOEZzNEYo3AdCkDk5QEhKVHMH6COCQB/Ys2cR/K+foNkNwPhoFtm6mpbOGM0rYrR1xmju3IDm8tRFVrqdBE0DS6I0H2L6InQ8WgePE+iDyxXwWABULcWKnV/hDvZwPzFuxXF7m0FVUI52tKlfYc1+sCcmGnCOroEM3vVQNMCStHeHmLpw9L5gpSymRg7THvWhnB2Iu9cQLcuhayADnAPQ0noxj3DsY8sgzFhQNaU/4KYwdoxc8tg9wTdPvojDmaK1WkFVTakVxmHLIAjHvrkZ37T/wDvkZytjPn+kG825nuunhaak9PZGxcTZLzBujeJY0olwtqKsMoWr3zJx6hWUMUy0vwvtz7QU5bzGhoMQffJ4Wi9+MBdE/chVMsnFD6Mk3wOvA9mzktyNu0xfncQ0qiipaAkuoX1VB96lLkTyCpga9L4Law+kEFrjkVtz4Ac+ZfqPZxh6CQqj0BWEZUG7gwVQMODmJNyZgrZe2DoIS9d9CbyW1otTi6/vXt/cbpR5hJung2RHmFeAQN+Cdg3oCMerab34daPaNITPXxM8AsSAvpoF+A0Yqdmf//m1/Sf4/yF/A7yIPIxLXNzbAAAAAElFTkSuQmCC"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/smiley/images/regular_smile.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/smiley/images/regular_smile.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABcAAAAXCAYAAADgKtSgAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAQDSURBVEiJpZVfaFt1FMc/v1+b1sysf9Mtc3ETHQ7bWtzaDjanDPcw3YMbMhC1ivNJQSrCHIJvVvbgi/gH5puDDXzxYUOYThR0disjt65j7bRlUJpmbbfcLFmTNUlz7+/4cG/apLQ48MCXk5vL73PO7/zOuT81ncyylkXDoQZgD9AL9PgCsHzFgMsJOze/2nq1FjwaDh1CzLfM/RbBjoEdg1TMe9naC2Ffkf1zKP1uws6d+094NBxqBr5ifqKPS0ch4ED0BWjdBY27QSm4NwJ3h2H6F1gswbPfQcOTZ4D+hJ1Lrwr3wDLC319u4fqAuF1HFW27UPlrqMU4qnATBKjvgGAntLwMqUsw9JHQ+bHiqQ/ioJ4pB1gJP82NL/pk8mvcp98RrW4rnf8T3CK4AsaAa5Y9dRA9Di0HYPB1eOQVaP/wTMLOvVkFj4ZDh5gfP8v5XeLsfJUauamUmQMRT8asHsAYaNoP207Ajz3CgT8UDdsPJ+zcOTWdzHpdIe44P+2NSOMi0tKCduKgAAErlgGBnh0hMAbr6n1A6GmvXw667VNw62HsJLw0OIeq2a79iuxh5kKE/HVkfQBdjC9lVlgoYQ3ewbp0h0LeoZB3sYaSWEM2hbwLxt/NxAC0PQeBAMxciAB7yvBeUhasq0M7KTCOt2XXkE473iEKpDMu6Yy7/JwVDy4CzgISPwWb9kHKAuit9eE92MNQHwDXqWrNjRvqiGxd7/1uqwORiucAFIte5kYgbSGRI6jJswA9y/CUBZtqDa7RKP9fAe26HH7rcS/b2SQY4fAbj3nv43NVB63mb+BujUhNylKVcM+Mf/plE/H8TNLvGL8E07eXa13pVQmKt5eWl2tu0doNC0VdrvUDyVRLAhvAHla0dgNY1fBiqWKxy9VrWaam8muCp2cWGZ0oeGVxDaIbUJkxVsJjtHZDfhFc15dh0xNNXB7O8evFe0xOFchmHbJZh6lEkd+v3OfiSIHmRxu9zAWkthl1b7wMj1UMkTPO+d0RnH8gWO+FXBfEiYQZHZxldnKeZLIIAuFwHRu3hOjat5lAfAbSOaQ+gvAwWj8EB4fmULXbq8c/M3aW873QWGfQWiMCWkG4CUJBCAa9qb2fh9wC3LKh5CCikdpWowt3NQevQFPH8viXLRoOnWbs8z6ufQKhoEEr7Q2MVMus8K4xuKLZeQI6ji99uDTV1k/7sThdAzBf0uSLS/Vfs1tKDpgazY7PoP1YHOgvw1a7LFqAb8iMvsbg25AZgRrtXRIa8TNVGH9HzTtg7ylo6vweeD9h5+6uCa8IcgRxTnLr5zCpYZYEXjeUtflFG1X7XsLO/bCSsSbcD9AMPA/sBLp9D/AXMOz7i5VX2wPD/6/9CzT2bDRQahcjAAAAAElFTkSuQmCC"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/icons.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/icons.png",
            "module-type": "library",
            "text": "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"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/icons_hidpi.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/icons_hidpi.png",
            "module-type": "library",
            "text": "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"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/colordialog/dialogs/colordialog.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/colordialog/dialogs/colordialog.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.dialog.add(\"colordialog\",function(t){function n(){f.getById(o).removeStyle(\"background-color\");p.getContentElement(\"picker\",\"selectedColor\").setValue(\"\");j&&j.removeAttribute(\"aria-selected\");j=null}function u(a){var a=a.data.getTarget(),b;if(\"td\"==a.getName()&&(b=a.getChild(0).getHtml()))j=a,j.setAttribute(\"aria-selected\",!0),p.getContentElement(\"picker\",\"selectedColor\").setValue(b)}function y(a){for(var a=a.replace(/^#/,\"\"),b=0,c=[];2>=b;b++)c[b]=parseInt(a.substr(2*b,2),16);return\"#\"+\n(165<=0.2126*c[0]+0.7152*c[1]+0.0722*c[2]?\"000\":\"fff\")}function v(a){!a.name&&(a=new CKEDITOR.event(a));var b=!/mouse/.test(a.name),c=a.data.getTarget(),e;if(\"td\"==c.getName()&&(e=c.getChild(0).getHtml()))q(a),b?g=c:w=c,b&&(c.setStyle(\"border-color\",y(e)),c.setStyle(\"border-style\",\"dotted\")),f.getById(k).setStyle(\"background-color\",e),f.getById(l).setHtml(e)}function q(a){if(a=!/mouse/.test(a.name)&&g){var b=a.getChild(0).getHtml();a.setStyle(\"border-color\",b);a.setStyle(\"border-style\",\"solid\")}!g&&\n!w&&(f.getById(k).removeStyle(\"background-color\"),f.getById(l).setHtml(\"&nbsp;\"))}function z(a){var b=a.data,c=b.getTarget(),e=b.getKeystroke(),d=\"rtl\"==t.lang.dir;switch(e){case 38:if(a=c.getParent().getPrevious())a=a.getChild([c.getIndex()]),a.focus();b.preventDefault();break;case 40:if(a=c.getParent().getNext())(a=a.getChild([c.getIndex()]))&&1==a.type&&a.focus();b.preventDefault();break;case 32:case 13:u(a);b.preventDefault();break;case d?37:39:if(a=c.getNext())1==a.type&&(a.focus(),b.preventDefault(!0));\nelse if(a=c.getParent().getNext())if((a=a.getChild([0]))&&1==a.type)a.focus(),b.preventDefault(!0);break;case d?39:37:if(a=c.getPrevious())a.focus(),b.preventDefault(!0);else if(a=c.getParent().getPrevious())a=a.getLast(),a.focus(),b.preventDefault(!0)}}var r=CKEDITOR.dom.element,f=CKEDITOR.document,h=t.lang.colordialog,p,x={type:\"html\",html:\"&nbsp;\"},j,g,w,m=function(a){return CKEDITOR.tools.getNextId()+\"_\"+a},k=m(\"hicolor\"),l=m(\"hicolortext\"),o=m(\"selhicolor\"),i;(function(){function a(a,d){for(var s=\na;s<a+3;s++){var e=new r(i.$.insertRow(-1));e.setAttribute(\"role\",\"row\");for(var f=d;f<d+3;f++)for(var g=0;6>g;g++)b(e.$,\"#\"+c[f]+c[g]+c[s])}}function b(a,c){var b=new r(a.insertCell(-1));b.setAttribute(\"class\",\"ColorCell\");b.setAttribute(\"tabIndex\",-1);b.setAttribute(\"role\",\"gridcell\");b.on(\"keydown\",z);b.on(\"click\",u);b.on(\"focus\",v);b.on(\"blur\",q);b.setStyle(\"background-color\",c);b.setStyle(\"border\",\"1px solid \"+c);b.setStyle(\"width\",\"14px\");b.setStyle(\"height\",\"14px\");var d=m(\"color_table_cell\");\nb.setAttribute(\"aria-labelledby\",d);b.append(CKEDITOR.dom.element.createFromHtml('<span id=\"'+d+'\" class=\"cke_voice_label\">'+c+\"</span>\",CKEDITOR.document))}i=CKEDITOR.dom.element.createFromHtml('<table tabIndex=\"-1\" aria-label=\"'+h.options+'\" role=\"grid\" style=\"border-collapse:separate;\" cellspacing=\"0\"><caption class=\"cke_voice_label\">'+h.options+'</caption><tbody role=\"presentation\"></tbody></table>');i.on(\"mouseover\",v);i.on(\"mouseout\",q);var c=\"00 33 66 99 cc ff\".split(\" \");a(0,0);a(3,0);a(0,\n3);a(3,3);var e=new r(i.$.insertRow(-1));e.setAttribute(\"role\",\"row\");for(var d=0;6>d;d++)b(e.$,\"#\"+c[d]+c[d]+c[d]);for(d=0;12>d;d++)b(e.$,\"#000000\")})();return{title:h.title,minWidth:360,minHeight:220,onLoad:function(){p=this},onHide:function(){n();var a=g.getChild(0).getHtml();g.setStyle(\"border-color\",a);g.setStyle(\"border-style\",\"solid\");f.getById(k).removeStyle(\"background-color\");f.getById(l).setHtml(\"&nbsp;\");g=null},contents:[{id:\"picker\",label:h.title,accessKey:\"I\",elements:[{type:\"hbox\",\npadding:0,widths:[\"70%\",\"10%\",\"30%\"],children:[{type:\"html\",html:\"<div></div>\",onLoad:function(){CKEDITOR.document.getById(this.domId).append(i)},focus:function(){(g||this.getElement().getElementsByTag(\"td\").getItem(0)).focus()}},x,{type:\"vbox\",padding:0,widths:[\"70%\",\"5%\",\"25%\"],children:[{type:\"html\",html:\"<span>\"+h.highlight+'</span>\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div id=\"'+k+'\" style=\"border: 1px solid; height: 74px; width: 74px;\"></div>\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div id=\"'+l+'\">&nbsp;</div><span>'+h.selected+\n'</span>\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<div id=\"'+o+'\" style=\"border: 1px solid; height: 20px; width: 74px;\"></div>'},{type:\"text\",label:h.selected,labelStyle:\"display:none\",id:\"selectedColor\",style:\"width: 74px\",onChange:function(){try{f.getById(o).setStyle(\"background-color\",this.getValue())}catch(a){n()}}},x,{type:\"button\",id:\"clear\",style:\"margin-top: 5px\",label:h.clear,onClick:n}]}]}]}]}});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/forms/dialogs/button.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/forms/dialogs/button.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.dialog.add(\"button\",function(b){function d(a){var b=this.getValue();b?(a.attributes[this.id]=b,\"name\"==this.id&&(a.attributes[\"data-cke-saved-name\"]=b)):(delete a.attributes[this.id],\"name\"==this.id&&delete a.attributes[\"data-cke-saved-name\"])}return{title:b.lang.forms.button.title,minWidth:350,minHeight:150,onShow:function(){delete this.button;var a=this.getParentEditor().getSelection().getSelectedElement();a&&a.is(\"input\")&&a.getAttribute(\"type\")in{button:1,reset:1,submit:1}&&(this.button=\na,this.setupContent(a))},onOk:function(){var a=this.getParentEditor(),b=this.button,d=!b,c=b?CKEDITOR.htmlParser.fragment.fromHtml(b.getOuterHtml()).children[0]:new CKEDITOR.htmlParser.element(\"input\");this.commitContent(c);var e=new CKEDITOR.htmlParser.basicWriter;c.writeHtml(e);c=CKEDITOR.dom.element.createFromHtml(e.getHtml(),a.document);d?a.insertElement(c):(c.replace(b),a.getSelection().selectElement(c))},contents:[{id:\"info\",label:b.lang.forms.button.title,title:b.lang.forms.button.title,elements:[{id:\"name\",\ntype:\"text\",label:b.lang.common.name,\"default\":\"\",setup:function(a){this.setValue(a.data(\"cke-saved-name\")||a.getAttribute(\"name\")||\"\")},commit:d},{id:\"value\",type:\"text\",label:b.lang.forms.button.text,accessKey:\"V\",\"default\":\"\",setup:function(a){this.setValue(a.getAttribute(\"value\")||\"\")},commit:d},{id:\"type\",type:\"select\",label:b.lang.forms.button.type,\"default\":\"button\",accessKey:\"T\",items:[[b.lang.forms.button.typeBtn,\"button\"],[b.lang.forms.button.typeSbm,\"submit\"],[b.lang.forms.button.typeRst,\n\"reset\"]],setup:function(a){this.setValue(a.getAttribute(\"type\")||\"\")},commit:d}]}]}});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/forms/dialogs/textarea.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/forms/dialogs/textarea.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.dialog.add(\"textarea\",function(b){return{title:b.lang.forms.textarea.title,minWidth:350,minHeight:220,onShow:function(){delete this.textarea;var a=this.getParentEditor().getSelection().getSelectedElement();a&&\"textarea\"==a.getName()&&(this.textarea=a,this.setupContent(a))},onOk:function(){var a,b=this.textarea,c=!b;c&&(a=this.getParentEditor(),b=a.document.createElement(\"textarea\"));this.commitContent(b);c&&a.insertElement(b)},contents:[{id:\"info\",label:b.lang.forms.textarea.title,title:b.lang.forms.textarea.title,\nelements:[{id:\"_cke_saved_name\",type:\"text\",label:b.lang.common.name,\"default\":\"\",accessKey:\"N\",setup:function(a){this.setValue(a.data(\"cke-saved-name\")||a.getAttribute(\"name\")||\"\")},commit:function(a){this.getValue()?a.data(\"cke-saved-name\",this.getValue()):(a.data(\"cke-saved-name\",!1),a.removeAttribute(\"name\"))}},{type:\"hbox\",widths:[\"50%\",\"50%\"],children:[{id:\"cols\",type:\"text\",label:b.lang.forms.textarea.cols,\"default\":\"\",accessKey:\"C\",style:\"width:50px\",validate:CKEDITOR.dialog.validate.integer(b.lang.common.validateNumberFailed),\nsetup:function(a){this.setValue(a.hasAttribute(\"cols\")&&a.getAttribute(\"cols\")||\"\")},commit:function(a){this.getValue()?a.setAttribute(\"cols\",this.getValue()):a.removeAttribute(\"cols\")}},{id:\"rows\",type:\"text\",label:b.lang.forms.textarea.rows,\"default\":\"\",accessKey:\"R\",style:\"width:50px\",validate:CKEDITOR.dialog.validate.integer(b.lang.common.validateNumberFailed),setup:function(a){this.setValue(a.hasAttribute(\"rows\")&&a.getAttribute(\"rows\")||\"\")},commit:function(a){this.getValue()?a.setAttribute(\"rows\",\nthis.getValue()):a.removeAttribute(\"rows\")}}]},{id:\"value\",type:\"textarea\",label:b.lang.forms.textfield.value,\"default\":\"\",setup:function(a){this.setValue(a.$.defaultValue)},commit:function(a){a.$.value=a.$.defaultValue=this.getValue()}}]}]}});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/forms/dialogs/select.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/forms/dialogs/select.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.dialog.add(\"select\",function(c){function h(a,b,e,d,c){a=f(a);d=d?d.createElement(\"OPTION\"):document.createElement(\"OPTION\");if(a&&d&&\"option\"==d.getName())CKEDITOR.env.ie?(isNaN(parseInt(c,10))?a.$.options.add(d.$):a.$.options.add(d.$,c),d.$.innerHTML=0<b.length?b:\"\",d.$.value=e):(null!==c&&c<a.getChildCount()?a.getChild(0>c?0:c).insertBeforeMe(d):a.append(d),d.setText(0<b.length?b:\"\"),d.setValue(e));else return!1;return d}function m(a){for(var a=f(a),b=g(a),e=a.getChildren().count()-1;0<=\ne;e--)a.getChild(e).$.selected&&a.getChild(e).remove();i(a,b)}function n(a,b,e,d){a=f(a);if(0>b)return!1;a=a.getChild(b);a.setText(e);a.setValue(d);return a}function k(a){for(a=f(a);a.getChild(0)&&a.getChild(0).remove(););}function j(a,b,e){var a=f(a),d=g(a);if(0>d)return!1;b=d+b;b=0>b?0:b;b=b>=a.getChildCount()?a.getChildCount()-1:b;if(d==b)return!1;var d=a.getChild(d),c=d.getText(),o=d.getValue();d.remove();d=h(a,c,o,!e?null:e,b);i(a,b);return d}function g(a){return(a=f(a))?a.$.selectedIndex:-1}\nfunction i(a,b){a=f(a);if(0>b)return null;var e=a.getChildren().count();a.$.selectedIndex=b>=e?e-1:b;return a}function l(a){return(a=f(a))?a.getChildren():!1}function f(a){return a&&a.domId&&a.getInputElement().$?a.getInputElement():a&&a.$?a:!1}return{title:c.lang.forms.select.title,minWidth:CKEDITOR.env.ie?460:395,minHeight:CKEDITOR.env.ie?320:300,onShow:function(){delete this.selectBox;this.setupContent(\"clear\");var a=this.getParentEditor().getSelection().getSelectedElement();if(a&&\"select\"==a.getName()){this.selectBox=\na;this.setupContent(a.getName(),a);for(var a=l(a),b=0;b<a.count();b++)this.setupContent(\"option\",a.getItem(b))}},onOk:function(){var a=this.getParentEditor(),b=this.selectBox,e=!b;e&&(b=a.document.createElement(\"select\"));this.commitContent(b);if(e&&(a.insertElement(b),CKEDITOR.env.ie)){var d=a.getSelection(),c=d.createBookmarks();setTimeout(function(){d.selectBookmarks(c)},0)}},contents:[{id:\"info\",label:c.lang.forms.select.selectInfo,title:c.lang.forms.select.selectInfo,accessKey:\"\",elements:[{id:\"txtName\",\ntype:\"text\",widths:[\"25%\",\"75%\"],labelLayout:\"horizontal\",label:c.lang.common.name,\"default\":\"\",accessKey:\"N\",style:\"width:350px\",setup:function(a,b){\"clear\"==a?this.setValue(this[\"default\"]||\"\"):\"select\"==a&&this.setValue(b.data(\"cke-saved-name\")||b.getAttribute(\"name\")||\"\")},commit:function(a){this.getValue()?a.data(\"cke-saved-name\",this.getValue()):(a.data(\"cke-saved-name\",!1),a.removeAttribute(\"name\"))}},{id:\"txtValue\",type:\"text\",widths:[\"25%\",\"75%\"],labelLayout:\"horizontal\",label:c.lang.forms.select.value,\nstyle:\"width:350px\",\"default\":\"\",className:\"cke_disabled\",onLoad:function(){this.getInputElement().setAttribute(\"readOnly\",!0)},setup:function(a,b){\"clear\"==a?this.setValue(\"\"):\"option\"==a&&b.getAttribute(\"selected\")&&this.setValue(b.$.value)}},{type:\"hbox\",widths:[\"175px\",\"170px\"],children:[{id:\"txtSize\",type:\"text\",labelLayout:\"horizontal\",label:c.lang.forms.select.size,\"default\":\"\",accessKey:\"S\",style:\"width:175px\",validate:function(){var a=CKEDITOR.dialog.validate.integer(c.lang.common.validateNumberFailed);\nreturn\"\"===this.getValue()||a.apply(this)},setup:function(a,b){\"select\"==a&&this.setValue(b.getAttribute(\"size\")||\"\");CKEDITOR.env.webkit&&this.getInputElement().setStyle(\"width\",\"86px\")},commit:function(a){this.getValue()?a.setAttribute(\"size\",this.getValue()):a.removeAttribute(\"size\")}},{type:\"html\",html:\"<span>\"+CKEDITOR.tools.htmlEncode(c.lang.forms.select.lines)+\"</span>\"}]},{type:\"html\",html:\"<span>\"+CKEDITOR.tools.htmlEncode(c.lang.forms.select.opAvail)+\"</span>\"},{type:\"hbox\",widths:[\"115px\",\n\"115px\",\"100px\"],children:[{type:\"vbox\",children:[{id:\"txtOptName\",type:\"text\",label:c.lang.forms.select.opText,style:\"width:115px\",setup:function(a){\"clear\"==a&&this.setValue(\"\")}},{type:\"select\",id:\"cmbName\",label:\"\",title:\"\",size:5,style:\"width:115px;height:75px\",items:[],onChange:function(){var a=this.getDialog(),b=a.getContentElement(\"info\",\"cmbValue\"),e=a.getContentElement(\"info\",\"txtOptName\"),a=a.getContentElement(\"info\",\"txtOptValue\"),d=g(this);i(b,d);e.setValue(this.getValue());a.setValue(b.getValue())},\nsetup:function(a,b){\"clear\"==a?k(this):\"option\"==a&&h(this,b.getText(),b.getText(),this.getDialog().getParentEditor().document)},commit:function(a){var b=this.getDialog(),e=l(this),d=l(b.getContentElement(\"info\",\"cmbValue\")),c=b.getContentElement(\"info\",\"txtValue\").getValue();k(a);for(var f=0;f<e.count();f++){var g=h(a,e.getItem(f).getValue(),d.getItem(f).getValue(),b.getParentEditor().document);d.getItem(f).getValue()==c&&(g.setAttribute(\"selected\",\"selected\"),g.selected=!0)}}}]},{type:\"vbox\",children:[{id:\"txtOptValue\",\ntype:\"text\",label:c.lang.forms.select.opValue,style:\"width:115px\",setup:function(a){\"clear\"==a&&this.setValue(\"\")}},{type:\"select\",id:\"cmbValue\",label:\"\",size:5,style:\"width:115px;height:75px\",items:[],onChange:function(){var a=this.getDialog(),b=a.getContentElement(\"info\",\"cmbName\"),e=a.getContentElement(\"info\",\"txtOptName\"),a=a.getContentElement(\"info\",\"txtOptValue\"),d=g(this);i(b,d);e.setValue(b.getValue());a.setValue(this.getValue())},setup:function(a,b){if(\"clear\"==a)k(this);else if(\"option\"==\na){var e=b.getValue();h(this,e,e,this.getDialog().getParentEditor().document);\"selected\"==b.getAttribute(\"selected\")&&this.getDialog().getContentElement(\"info\",\"txtValue\").setValue(e)}}}]},{type:\"vbox\",padding:5,children:[{type:\"button\",id:\"btnAdd\",style:\"\",label:c.lang.forms.select.btnAdd,title:c.lang.forms.select.btnAdd,style:\"width:100%;\",onClick:function(){var a=this.getDialog();a.getParentEditor();var b=a.getContentElement(\"info\",\"txtOptName\"),e=a.getContentElement(\"info\",\"txtOptValue\"),d=a.getContentElement(\"info\",\n\"cmbName\"),c=a.getContentElement(\"info\",\"cmbValue\");h(d,b.getValue(),b.getValue(),a.getParentEditor().document);h(c,e.getValue(),e.getValue(),a.getParentEditor().document);b.setValue(\"\");e.setValue(\"\")}},{type:\"button\",id:\"btnModify\",label:c.lang.forms.select.btnModify,title:c.lang.forms.select.btnModify,style:\"width:100%;\",onClick:function(){var a=this.getDialog(),b=a.getContentElement(\"info\",\"txtOptName\"),e=a.getContentElement(\"info\",\"txtOptValue\"),d=a.getContentElement(\"info\",\"cmbName\"),a=a.getContentElement(\"info\",\n\"cmbValue\"),c=g(d);0<=c&&(n(d,c,b.getValue(),b.getValue()),n(a,c,e.getValue(),e.getValue()))}},{type:\"button\",id:\"btnUp\",style:\"width:100%;\",label:c.lang.forms.select.btnUp,title:c.lang.forms.select.btnUp,onClick:function(){var a=this.getDialog(),b=a.getContentElement(\"info\",\"cmbName\"),c=a.getContentElement(\"info\",\"cmbValue\");j(b,-1,a.getParentEditor().document);j(c,-1,a.getParentEditor().document)}},{type:\"button\",id:\"btnDown\",style:\"width:100%;\",label:c.lang.forms.select.btnDown,title:c.lang.forms.select.btnDown,\nonClick:function(){var a=this.getDialog(),b=a.getContentElement(\"info\",\"cmbName\"),c=a.getContentElement(\"info\",\"cmbValue\");j(b,1,a.getParentEditor().document);j(c,1,a.getParentEditor().document)}}]}]},{type:\"hbox\",widths:[\"40%\",\"20%\",\"40%\"],children:[{type:\"button\",id:\"btnSetValue\",label:c.lang.forms.select.btnSetValue,title:c.lang.forms.select.btnSetValue,onClick:function(){var a=this.getDialog(),b=a.getContentElement(\"info\",\"cmbValue\");a.getContentElement(\"info\",\"txtValue\").setValue(b.getValue())}},\n{type:\"button\",id:\"btnDelete\",label:c.lang.forms.select.btnDelete,title:c.lang.forms.select.btnDelete,onClick:function(){var a=this.getDialog(),b=a.getContentElement(\"info\",\"cmbName\"),c=a.getContentElement(\"info\",\"cmbValue\"),d=a.getContentElement(\"info\",\"txtOptName\"),a=a.getContentElement(\"info\",\"txtOptValue\");m(b);m(c);d.setValue(\"\");a.setValue(\"\")}},{id:\"chkMulti\",type:\"checkbox\",label:c.lang.forms.select.chkMulti,\"default\":\"\",accessKey:\"M\",value:\"checked\",setup:function(a,b){\"select\"==a&&this.setValue(b.getAttribute(\"multiple\"));\nCKEDITOR.env.webkit&&this.getElement().getParent().setStyle(\"vertical-align\",\"middle\")},commit:function(a){this.getValue()?a.setAttribute(\"multiple\",this.getValue()):a.removeAttribute(\"multiple\")}}]}]}]}});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/forms/dialogs/radio.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/forms/dialogs/radio.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.dialog.add(\"radio\",function(d){return{title:d.lang.forms.checkboxAndRadio.radioTitle,minWidth:350,minHeight:140,onShow:function(){delete this.radioButton;var a=this.getParentEditor().getSelection().getSelectedElement();a&&(\"input\"==a.getName()&&\"radio\"==a.getAttribute(\"type\"))&&(this.radioButton=a,this.setupContent(a))},onOk:function(){var a,b=this.radioButton,c=!b;c&&(a=this.getParentEditor(),b=a.document.createElement(\"input\"),b.setAttribute(\"type\",\"radio\"));c&&a.insertElement(b);this.commitContent({element:b})},\ncontents:[{id:\"info\",label:d.lang.forms.checkboxAndRadio.radioTitle,title:d.lang.forms.checkboxAndRadio.radioTitle,elements:[{id:\"name\",type:\"text\",label:d.lang.common.name,\"default\":\"\",accessKey:\"N\",setup:function(a){this.setValue(a.data(\"cke-saved-name\")||a.getAttribute(\"name\")||\"\")},commit:function(a){a=a.element;this.getValue()?a.data(\"cke-saved-name\",this.getValue()):(a.data(\"cke-saved-name\",!1),a.removeAttribute(\"name\"))}},{id:\"value\",type:\"text\",label:d.lang.forms.checkboxAndRadio.value,\"default\":\"\",\naccessKey:\"V\",setup:function(a){this.setValue(a.getAttribute(\"value\")||\"\")},commit:function(a){a=a.element;this.getValue()?a.setAttribute(\"value\",this.getValue()):a.removeAttribute(\"value\")}},{id:\"checked\",type:\"checkbox\",label:d.lang.forms.checkboxAndRadio.selected,\"default\":\"\",accessKey:\"S\",value:\"checked\",setup:function(a){this.setValue(a.getAttribute(\"checked\"))},commit:function(a){var b=a.element;if(!CKEDITOR.env.ie&&!CKEDITOR.env.opera)this.getValue()?b.setAttribute(\"checked\",\"checked\"):b.removeAttribute(\"checked\");\nelse{var c=b.getAttribute(\"checked\"),e=!!this.getValue();c!=e&&(c=CKEDITOR.dom.element.createFromHtml('<input type=\"radio\"'+(e?' checked=\"checked\"':\"\")+\"></input>\",d.document),b.copyAttributes(c,{type:1,checked:1}),c.replace(b),d.getSelection().selectElement(c),a.element=c)}}}]}]}});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/forms/dialogs/form.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/forms/dialogs/form.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.dialog.add(\"form\",function(a){var d={action:1,id:1,method:1,enctype:1,target:1};return{title:a.lang.forms.form.title,minWidth:350,minHeight:200,onShow:function(){delete this.form;var b=this.getParentEditor().elementPath().contains(\"form\",1);b&&(this.form=b,this.setupContent(b))},onOk:function(){var b,a=this.form,c=!a;c&&(b=this.getParentEditor(),a=b.document.createElement(\"form\"),a.appendBogus());c&&b.insertElement(a);this.commitContent(a)},onLoad:function(){function a(b){this.setValue(b.getAttribute(this.id)||\n\"\")}function e(a){this.getValue()?a.setAttribute(this.id,this.getValue()):a.removeAttribute(this.id)}this.foreach(function(c){d[c.id]&&(c.setup=a,c.commit=e)})},contents:[{id:\"info\",label:a.lang.forms.form.title,title:a.lang.forms.form.title,elements:[{id:\"txtName\",type:\"text\",label:a.lang.common.name,\"default\":\"\",accessKey:\"N\",setup:function(a){this.setValue(a.data(\"cke-saved-name\")||a.getAttribute(\"name\")||\"\")},commit:function(a){this.getValue()?a.data(\"cke-saved-name\",this.getValue()):(a.data(\"cke-saved-name\",\n!1),a.removeAttribute(\"name\"))}},{id:\"action\",type:\"text\",label:a.lang.forms.form.action,\"default\":\"\",accessKey:\"T\"},{type:\"hbox\",widths:[\"45%\",\"55%\"],children:[{id:\"id\",type:\"text\",label:a.lang.common.id,\"default\":\"\",accessKey:\"I\"},{id:\"enctype\",type:\"select\",label:a.lang.forms.form.encoding,style:\"width:100%\",accessKey:\"E\",\"default\":\"\",items:[[\"\"],[\"text/plain\"],[\"multipart/form-data\"],[\"application/x-www-form-urlencoded\"]]}]},{type:\"hbox\",widths:[\"45%\",\"55%\"],children:[{id:\"target\",type:\"select\",\nlabel:a.lang.common.target,style:\"width:100%\",accessKey:\"M\",\"default\":\"\",items:[[a.lang.common.notSet,\"\"],[a.lang.common.targetNew,\"_blank\"],[a.lang.common.targetTop,\"_top\"],[a.lang.common.targetSelf,\"_self\"],[a.lang.common.targetParent,\"_parent\"]]},{id:\"method\",type:\"select\",label:a.lang.forms.form.method,accessKey:\"M\",\"default\":\"GET\",items:[[\"GET\",\"get\"],[\"POST\",\"post\"]]}]}]}]}});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/forms/dialogs/textfield.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/forms/dialogs/textfield.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.dialog.add(\"textfield\",function(b){function e(a){var a=a.element,c=this.getValue();c?a.setAttribute(this.id,c):a.removeAttribute(this.id)}function f(a){this.setValue(a.hasAttribute(this.id)&&a.getAttribute(this.id)||\"\")}var g={email:1,password:1,search:1,tel:1,text:1,url:1};return{title:b.lang.forms.textfield.title,minWidth:350,minHeight:150,onShow:function(){delete this.textField;var a=this.getParentEditor().getSelection().getSelectedElement();if(a&&\"input\"==a.getName()&&(g[a.getAttribute(\"type\")]||\n!a.getAttribute(\"type\")))this.textField=a,this.setupContent(a)},onOk:function(){var a=this.getParentEditor(),c=this.textField,b=!c;b&&(c=a.document.createElement(\"input\"),c.setAttribute(\"type\",\"text\"));c={element:c};b&&a.insertElement(c.element);this.commitContent(c);b||a.getSelection().selectElement(c.element)},onLoad:function(){this.foreach(function(a){if(a.getValue&&(a.setup||(a.setup=f),!a.commit))a.commit=e})},contents:[{id:\"info\",label:b.lang.forms.textfield.title,title:b.lang.forms.textfield.title,\nelements:[{type:\"hbox\",widths:[\"50%\",\"50%\"],children:[{id:\"_cke_saved_name\",type:\"text\",label:b.lang.forms.textfield.name,\"default\":\"\",accessKey:\"N\",setup:function(a){this.setValue(a.data(\"cke-saved-name\")||a.getAttribute(\"name\")||\"\")},commit:function(a){a=a.element;this.getValue()?a.data(\"cke-saved-name\",this.getValue()):(a.data(\"cke-saved-name\",!1),a.removeAttribute(\"name\"))}},{id:\"value\",type:\"text\",label:b.lang.forms.textfield.value,\"default\":\"\",accessKey:\"V\",commit:function(a){if(CKEDITOR.env.ie&&\n!this.getValue()){var c=a.element,d=new CKEDITOR.dom.element(\"input\",b.document);c.copyAttributes(d,{value:1});d.replace(c);a.element=d}else e.call(this,a)}}]},{type:\"hbox\",widths:[\"50%\",\"50%\"],children:[{id:\"size\",type:\"text\",label:b.lang.forms.textfield.charWidth,\"default\":\"\",accessKey:\"C\",style:\"width:50px\",validate:CKEDITOR.dialog.validate.integer(b.lang.common.validateNumberFailed)},{id:\"maxLength\",type:\"text\",label:b.lang.forms.textfield.maxChars,\"default\":\"\",accessKey:\"M\",style:\"width:50px\",\nvalidate:CKEDITOR.dialog.validate.integer(b.lang.common.validateNumberFailed)}],onLoad:function(){CKEDITOR.env.ie7Compat&&this.getElement().setStyle(\"zoom\",\"100%\")}},{id:\"type\",type:\"select\",label:b.lang.forms.textfield.type,\"default\":\"text\",accessKey:\"M\",items:[[b.lang.forms.textfield.typeEmail,\"email\"],[b.lang.forms.textfield.typePass,\"password\"],[b.lang.forms.textfield.typeSearch,\"search\"],[b.lang.forms.textfield.typeTel,\"tel\"],[b.lang.forms.textfield.typeText,\"text\"],[b.lang.forms.textfield.typeUrl,\n\"url\"]],setup:function(a){this.setValue(a.getAttribute(\"type\"))},commit:function(a){var c=a.element;if(CKEDITOR.env.ie){var d=c.getAttribute(\"type\"),e=this.getValue();d!=e&&(d=CKEDITOR.dom.element.createFromHtml('<input type=\"'+e+'\"></input>',b.document),c.copyAttributes(d,{type:1}),d.replace(c),a.element=d)}else c.setAttribute(\"type\",this.getValue())}}]}]}});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/forms/dialogs/hiddenfield.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/forms/dialogs/hiddenfield.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.dialog.add(\"hiddenfield\",function(d){return{title:d.lang.forms.hidden.title,hiddenField:null,minWidth:350,minHeight:110,onShow:function(){delete this.hiddenField;var a=this.getParentEditor(),b=a.getSelection(),c=b.getSelectedElement();c&&(c.data(\"cke-real-element-type\")&&\"hiddenfield\"==c.data(\"cke-real-element-type\"))&&(this.hiddenField=c,c=a.restoreRealElement(this.hiddenField),this.setupContent(c),b.selectElement(this.hiddenField))},onOk:function(){var a=this.getValueOf(\"info\",\"_cke_saved_name\");\nthis.getValueOf(\"info\",\"value\");var b=this.getParentEditor(),a=CKEDITOR.env.ie&&!(8<=CKEDITOR.document.$.documentMode)?b.document.createElement('<input name=\"'+CKEDITOR.tools.htmlEncode(a)+'\">'):b.document.createElement(\"input\");a.setAttribute(\"type\",\"hidden\");this.commitContent(a);a=b.createFakeElement(a,\"cke_hidden\",\"hiddenfield\");this.hiddenField?(a.replace(this.hiddenField),b.getSelection().selectElement(a)):b.insertElement(a);return!0},contents:[{id:\"info\",label:d.lang.forms.hidden.title,title:d.lang.forms.hidden.title,\nelements:[{id:\"_cke_saved_name\",type:\"text\",label:d.lang.forms.hidden.name,\"default\":\"\",accessKey:\"N\",setup:function(a){this.setValue(a.data(\"cke-saved-name\")||a.getAttribute(\"name\")||\"\")},commit:function(a){this.getValue()?a.setAttribute(\"name\",this.getValue()):a.removeAttribute(\"name\")}},{id:\"value\",type:\"text\",label:d.lang.forms.hidden.value,\"default\":\"\",accessKey:\"V\",setup:function(a){this.setValue(a.getAttribute(\"value\")||\"\")},commit:function(a){this.getValue()?a.setAttribute(\"value\",this.getValue()):\na.removeAttribute(\"value\")}}]}]}});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/forms/dialogs/checkbox.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/forms/dialogs/checkbox.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.dialog.add(\"checkbox\",function(d){return{title:d.lang.forms.checkboxAndRadio.checkboxTitle,minWidth:350,minHeight:140,onShow:function(){delete this.checkbox;var a=this.getParentEditor().getSelection().getSelectedElement();a&&\"checkbox\"==a.getAttribute(\"type\")&&(this.checkbox=a,this.setupContent(a))},onOk:function(){var a,b=this.checkbox;b||(a=this.getParentEditor(),b=a.document.createElement(\"input\"),b.setAttribute(\"type\",\"checkbox\"),a.insertElement(b));this.commitContent({element:b})},contents:[{id:\"info\",\nlabel:d.lang.forms.checkboxAndRadio.checkboxTitle,title:d.lang.forms.checkboxAndRadio.checkboxTitle,startupFocus:\"txtName\",elements:[{id:\"txtName\",type:\"text\",label:d.lang.common.name,\"default\":\"\",accessKey:\"N\",setup:function(a){this.setValue(a.data(\"cke-saved-name\")||a.getAttribute(\"name\")||\"\")},commit:function(a){a=a.element;this.getValue()?a.data(\"cke-saved-name\",this.getValue()):(a.data(\"cke-saved-name\",!1),a.removeAttribute(\"name\"))}},{id:\"txtValue\",type:\"text\",label:d.lang.forms.checkboxAndRadio.value,\n\"default\":\"\",accessKey:\"V\",setup:function(a){a=a.getAttribute(\"value\");this.setValue(CKEDITOR.env.ie&&\"on\"==a?\"\":a)},commit:function(a){var b=a.element,c=this.getValue();c&&!(CKEDITOR.env.ie&&\"on\"==c)?b.setAttribute(\"value\",c):CKEDITOR.env.ie?(c=new CKEDITOR.dom.element(\"input\",b.getDocument()),b.copyAttributes(c,{value:1}),c.replace(b),d.getSelection().selectElement(c),a.element=c):b.removeAttribute(\"value\")}},{id:\"cmbSelected\",type:\"checkbox\",label:d.lang.forms.checkboxAndRadio.selected,\"default\":\"\",\naccessKey:\"S\",value:\"checked\",setup:function(a){this.setValue(a.getAttribute(\"checked\"))},commit:function(a){var b=a.element;if(CKEDITOR.env.ie){var c=!!b.getAttribute(\"checked\"),e=!!this.getValue();c!=e&&(c=CKEDITOR.dom.element.createFromHtml('<input type=\"checkbox\"'+(e?' checked=\"checked\"':\"\")+\"/>\",d.document),b.copyAttributes(c,{type:1,checked:1}),c.replace(b),d.getSelection().selectElement(c),a.element=c)}else this.getValue()?b.setAttribute(\"checked\",\"checked\"):b.removeAttribute(\"checked\")}}]}]}});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/liststyle/dialogs/liststyle.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/liststyle/dialogs/liststyle.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\n(function(){function d(c,d){var b;try{b=c.getSelection().getRanges()[0]}catch(f){return null}b.shrink(CKEDITOR.SHRINK_TEXT);return c.elementPath(b.getCommonAncestor()).contains(d,1)}function e(c,e){var b=c.lang.liststyle;if(\"bulletedListStyle\"==e)return{title:b.bulletedTitle,minWidth:300,minHeight:50,contents:[{id:\"info\",accessKey:\"I\",elements:[{type:\"select\",label:b.type,id:\"type\",align:\"center\",style:\"width:150px\",items:[[b.notset,\"\"],[b.circle,\"circle\"],[b.disc,\"disc\"],[b.square,\"square\"]],setup:function(a){this.setValue(a.getStyle(\"list-style-type\")||\nh[a.getAttribute(\"type\")]||a.getAttribute(\"type\")||\"\")},commit:function(a){var b=this.getValue();b?a.setStyle(\"list-style-type\",b):a.removeStyle(\"list-style-type\")}}]}],onShow:function(){var a=this.getParentEditor();(a=d(a,\"ul\"))&&this.setupContent(a)},onOk:function(){var a=this.getParentEditor();(a=d(a,\"ul\"))&&this.commitContent(a)}};if(\"numberedListStyle\"==e){var g=[[b.notset,\"\"],[b.lowerRoman,\"lower-roman\"],[b.upperRoman,\"upper-roman\"],[b.lowerAlpha,\"lower-alpha\"],[b.upperAlpha,\"upper-alpha\"],\n[b.decimal,\"decimal\"]];(!CKEDITOR.env.ie||7<CKEDITOR.env.version)&&g.concat([[b.armenian,\"armenian\"],[b.decimalLeadingZero,\"decimal-leading-zero\"],[b.georgian,\"georgian\"],[b.lowerGreek,\"lower-greek\"]]);return{title:b.numberedTitle,minWidth:300,minHeight:50,contents:[{id:\"info\",accessKey:\"I\",elements:[{type:\"hbox\",widths:[\"25%\",\"75%\"],children:[{label:b.start,type:\"text\",id:\"start\",validate:CKEDITOR.dialog.validate.integer(b.validateStartNumber),setup:function(a){this.setValue(a.getFirst(f).getAttribute(\"value\")||\na.getAttribute(\"start\")||1)},commit:function(a){var b=a.getFirst(f),c=b.getAttribute(\"value\")||a.getAttribute(\"start\")||1;a.getFirst(f).removeAttribute(\"value\");var d=parseInt(this.getValue(),10);isNaN(d)?a.removeAttribute(\"start\"):a.setAttribute(\"start\",d);a=b;b=c;for(d=isNaN(d)?1:d;(a=a.getNext(f))&&b++;)a.getAttribute(\"value\")==b&&a.setAttribute(\"value\",d+b-c)}},{type:\"select\",label:b.type,id:\"type\",style:\"width: 100%;\",items:g,setup:function(a){this.setValue(a.getStyle(\"list-style-type\")||h[a.getAttribute(\"type\")]||\na.getAttribute(\"type\")||\"\")},commit:function(a){var b=this.getValue();b?a.setStyle(\"list-style-type\",b):a.removeStyle(\"list-style-type\")}}]}]}],onShow:function(){var a=this.getParentEditor();(a=d(a,\"ol\"))&&this.setupContent(a)},onOk:function(){var a=this.getParentEditor();(a=d(a,\"ol\"))&&this.commitContent(a)}}}}var f=function(c){return c.type==CKEDITOR.NODE_ELEMENT&&c.is(\"li\")},h={a:\"lower-alpha\",A:\"upper-alpha\",i:\"lower-roman\",I:\"upper-roman\",1:\"decimal\",disc:\"disc\",circle:\"circle\",square:\"square\"};\nCKEDITOR.dialog.add(\"numberedListStyle\",function(c){return e(c,\"numberedListStyle\")});CKEDITOR.dialog.add(\"bulletedListStyle\",function(c){return e(c,\"bulletedListStyle\")})})();"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/link/dialogs/link.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/link/dialogs/link.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.dialog.add(\"link\",function(n){var p,q;function r(a){return a.replace(/'/g,\"\\\\$&\")}function t(a){var g,c=p,d,e;g=[q,\"(\"];for(var b=0;b<c.length;b++)d=c[b].toLowerCase(),e=a[d],0<b&&g.push(\",\"),g.push(\"'\",e?r(encodeURIComponent(a[d])):\"\",\"'\");g.push(\")\");return g.join(\"\")}function u(a){for(var g,c=a.length,d=[],e=0;e<c;e++)g=a.charCodeAt(e),d.push(g);return\"String.fromCharCode(\"+d.join(\",\")+\")\"}function v(a){return(a=a.getAttribute(\"class\"))?a.replace(/\\s*(?:cke_anchor_empty|cke_anchor)(?:\\s*$)?/g,\n\"\"):\"\"}var w=CKEDITOR.plugins.link,s=function(){var a=this.getDialog(),g=a.getContentElement(\"target\",\"popupFeatures\"),a=a.getContentElement(\"target\",\"linkTargetName\"),c=this.getValue();if(g&&a)switch(g=g.getElement(),g.hide(),a.setValue(\"\"),c){case \"frame\":a.setLabel(n.lang.link.targetFrameName);a.getElement().show();break;case \"popup\":g.show();a.setLabel(n.lang.link.targetPopupName);a.getElement().show();break;default:a.setValue(c),a.getElement().hide()}},x=/^javascript:/,y=/^mailto:([^?]+)(?:\\?(.+))?$/,\nz=/subject=([^;?:@&=$,\\/]*)/,A=/body=([^;?:@&=$,\\/]*)/,B=/^#(.*)$/,C=/^((?:http|https|ftp|news):\\/\\/)?(.*)$/,D=/^(_(?:self|top|parent|blank))$/,E=/^javascript:void\\(location\\.href='mailto:'\\+String\\.fromCharCode\\(([^)]+)\\)(?:\\+'(.*)')?\\)$/,F=/^javascript:([^(]+)\\(([^)]+)\\)$/,G=/\\s*window.open\\(\\s*this\\.href\\s*,\\s*(?:'([^']*)'|null)\\s*,\\s*'([^']*)'\\s*\\)\\s*;\\s*return\\s*false;*\\s*/,H=/(?:^|,)([^=]+)=(\\d+|yes|no)/gi,I=function(a,g){var c=g&&(g.data(\"cke-saved-href\")||g.getAttribute(\"href\"))||\"\",d,e,b=\n{};c.match(x)&&(\"encode\"==o?c=c.replace(E,function(a,c,b){return\"mailto:\"+String.fromCharCode.apply(String,c.split(\",\"))+(b&&b.replace(/\\\\'/g,\"'\"))}):o&&c.replace(F,function(a,c,d){if(c==q){b.type=\"email\";for(var a=b.email={},c=/(^')|('$)/g,d=d.match(/[^,\\s]+/g),e=d.length,g,f,h=0;h<e;h++)g=decodeURIComponent,f=d[h].replace(c,\"\").replace(/\\\\'/g,\"'\"),f=g(f),g=p[h].toLowerCase(),a[g]=f;a.address=[a.name,a.domain].join(\"@\")}}));if(!b.type)if(d=c.match(B))b.type=\"anchor\",b.anchor={},b.anchor.name=b.anchor.id=\nd[1];else if(d=c.match(y)){e=c.match(z);c=c.match(A);b.type=\"email\";var f=b.email={};f.address=d[1];e&&(f.subject=decodeURIComponent(e[1]));c&&(f.body=decodeURIComponent(c[1]))}else c&&(e=c.match(C))?(b.type=\"url\",b.url={},b.url.protocol=e[1],b.url.url=e[2]):b.type=\"url\";if(g){d=g.getAttribute(\"target\");b.target={};b.adv={};if(d)d.match(D)?b.target.type=b.target.name=d:(b.target.type=\"frame\",b.target.name=d);else if(d=(d=g.data(\"cke-pa-onclick\")||g.getAttribute(\"onclick\"))&&d.match(G)){b.target.type=\n\"popup\";for(b.target.name=d[1];c=H.exec(d[2]);)(\"yes\"==c[2]||\"1\"==c[2])&&!(c[1]in{height:1,width:1,top:1,left:1})?b.target[c[1]]=!0:isFinite(c[2])&&(b.target[c[1]]=c[2])}d=function(a,c){var d=g.getAttribute(c);null!==d&&(b.adv[a]=d||\"\")};d(\"advId\",\"id\");d(\"advLangDir\",\"dir\");d(\"advAccessKey\",\"accessKey\");b.adv.advName=g.data(\"cke-saved-name\")||g.getAttribute(\"name\")||\"\";d(\"advLangCode\",\"lang\");d(\"advTabIndex\",\"tabindex\");d(\"advTitle\",\"title\");d(\"advContentType\",\"type\");CKEDITOR.plugins.link.synAnchorSelector?\nb.adv.advCSSClasses=v(g):d(\"advCSSClasses\",\"class\");d(\"advCharset\",\"charset\");d(\"advStyles\",\"style\");d(\"advRel\",\"rel\")}d=b.anchors=[];var h;if(CKEDITOR.plugins.link.emptyAnchorFix){f=a.document.getElementsByTag(\"a\");c=0;for(e=f.count();c<e;c++)if(h=f.getItem(c),h.data(\"cke-saved-name\")||h.hasAttribute(\"name\"))d.push({name:h.data(\"cke-saved-name\")||h.getAttribute(\"name\"),id:h.getAttribute(\"id\")})}else{f=new CKEDITOR.dom.nodeList(a.document.$.anchors);c=0;for(e=f.count();c<e;c++)h=f.getItem(c),d[c]=\n{name:h.getAttribute(\"name\"),id:h.getAttribute(\"id\")}}if(CKEDITOR.plugins.link.fakeAnchor){f=a.document.getElementsByTag(\"img\");c=0;for(e=f.count();c<e;c++)(h=CKEDITOR.plugins.link.tryRestoreFakeAnchor(a,f.getItem(c)))&&d.push({name:h.getAttribute(\"name\"),id:h.getAttribute(\"id\")})}this._.selectedElement=g;return b},j=function(a){a.target&&this.setValue(a.target[this.id]||\"\")},k=function(a){a.adv&&this.setValue(a.adv[this.id]||\"\")},l=function(a){a.target||(a.target={});a.target[this.id]=this.getValue()||\n\"\"},m=function(a){a.adv||(a.adv={});a.adv[this.id]=this.getValue()||\"\"},o=n.config.emailProtection||\"\";o&&\"encode\"!=o&&(q=p=void 0,o.replace(/^([^(]+)\\(([^)]+)\\)$/,function(a,b,c){q=b;p=[];c.replace(/[^,\\s]+/g,function(a){p.push(a)})}));var i=n.lang.common,b=n.lang.link;return{title:b.title,minWidth:350,minHeight:230,contents:[{id:\"info\",label:b.info,title:b.info,elements:[{id:\"linkType\",type:\"select\",label:b.type,\"default\":\"url\",items:[[b.toUrl,\"url\"],[b.toAnchor,\"anchor\"],[b.toEmail,\"email\"]],onChange:function(){var a=\nthis.getDialog(),b=[\"urlOptions\",\"anchorOptions\",\"emailOptions\"],c=this.getValue(),d=a.definition.getContents(\"upload\"),d=d&&d.hidden;if(c==\"url\"){n.config.linkShowTargetTab&&a.showPage(\"target\");d||a.showPage(\"upload\")}else{a.hidePage(\"target\");d||a.hidePage(\"upload\")}for(d=0;d<b.length;d++){var e=a.getContentElement(\"info\",b[d]);if(e){e=e.getElement().getParent().getParent();b[d]==c+\"Options\"?e.show():e.hide()}}a.layout()},setup:function(a){a.type&&this.setValue(a.type)},commit:function(a){a.type=\nthis.getValue()}},{type:\"vbox\",id:\"urlOptions\",children:[{type:\"hbox\",widths:[\"25%\",\"75%\"],children:[{id:\"protocol\",type:\"select\",label:i.protocol,\"default\":\"http://\",items:[[\"http://‎\",\"http://\"],[\"https://‎\",\"https://\"],[\"ftp://‎\",\"ftp://\"],[\"news://‎\",\"news://\"],[b.other,\"\"]],setup:function(a){a.url&&this.setValue(a.url.protocol||\"\")},commit:function(a){if(!a.url)a.url={};a.url.protocol=this.getValue()}},{type:\"text\",id:\"url\",label:i.url,required:!0,onLoad:function(){this.allowOnChange=true},onKeyUp:function(){this.allowOnChange=\nfalse;var a=this.getDialog().getContentElement(\"info\",\"protocol\"),b=this.getValue(),c=/^((javascript:)|[#\\/\\.\\?])/i,d=/^(http|https|ftp|news):\\/\\/(?=.)/i.exec(b);if(d){this.setValue(b.substr(d[0].length));a.setValue(d[0].toLowerCase())}else c.test(b)&&a.setValue(\"\");this.allowOnChange=true},onChange:function(){if(this.allowOnChange)this.onKeyUp()},validate:function(){var a=this.getDialog();if(a.getContentElement(\"info\",\"linkType\")&&a.getValueOf(\"info\",\"linkType\")!=\"url\")return true;if(/javascript\\:/.test(this.getValue())){alert(i.invalidValue);\nreturn false}return this.getDialog().fakeObj?true:CKEDITOR.dialog.validate.notEmpty(b.noUrl).apply(this)},setup:function(a){this.allowOnChange=false;a.url&&this.setValue(a.url.url);this.allowOnChange=true},commit:function(a){this.onChange();if(!a.url)a.url={};a.url.url=this.getValue();this.allowOnChange=false}}],setup:function(){this.getDialog().getContentElement(\"info\",\"linkType\")||this.getElement().show()}},{type:\"button\",id:\"browse\",hidden:\"true\",filebrowser:\"info:url\",label:i.browseServer}]},\n{type:\"vbox\",id:\"anchorOptions\",width:260,align:\"center\",padding:0,children:[{type:\"fieldset\",id:\"selectAnchorText\",label:b.selectAnchor,setup:function(a){a.anchors.length>0?this.getElement().show():this.getElement().hide()},children:[{type:\"hbox\",id:\"selectAnchor\",children:[{type:\"select\",id:\"anchorName\",\"default\":\"\",label:b.anchorName,style:\"width: 100%;\",items:[[\"\"]],setup:function(a){this.clear();this.add(\"\");for(var b=0;b<a.anchors.length;b++)a.anchors[b].name&&this.add(a.anchors[b].name);a.anchor&&\nthis.setValue(a.anchor.name);(a=this.getDialog().getContentElement(\"info\",\"linkType\"))&&a.getValue()==\"email\"&&this.focus()},commit:function(a){if(!a.anchor)a.anchor={};a.anchor.name=this.getValue()}},{type:\"select\",id:\"anchorId\",\"default\":\"\",label:b.anchorId,style:\"width: 100%;\",items:[[\"\"]],setup:function(a){this.clear();this.add(\"\");for(var b=0;b<a.anchors.length;b++)a.anchors[b].id&&this.add(a.anchors[b].id);a.anchor&&this.setValue(a.anchor.id)},commit:function(a){if(!a.anchor)a.anchor={};a.anchor.id=\nthis.getValue()}}],setup:function(a){a.anchors.length>0?this.getElement().show():this.getElement().hide()}}]},{type:\"html\",id:\"noAnchors\",style:\"text-align: center;\",html:'<div role=\"note\" tabIndex=\"-1\">'+CKEDITOR.tools.htmlEncode(b.noAnchors)+\"</div>\",focus:!0,setup:function(a){a.anchors.length<1?this.getElement().show():this.getElement().hide()}}],setup:function(){this.getDialog().getContentElement(\"info\",\"linkType\")||this.getElement().hide()}},{type:\"vbox\",id:\"emailOptions\",padding:1,children:[{type:\"text\",\nid:\"emailAddress\",label:b.emailAddress,required:!0,validate:function(){var a=this.getDialog();return!a.getContentElement(\"info\",\"linkType\")||a.getValueOf(\"info\",\"linkType\")!=\"email\"?true:CKEDITOR.dialog.validate.notEmpty(b.noEmail).apply(this)},setup:function(a){a.email&&this.setValue(a.email.address);(a=this.getDialog().getContentElement(\"info\",\"linkType\"))&&a.getValue()==\"email\"&&this.select()},commit:function(a){if(!a.email)a.email={};a.email.address=this.getValue()}},{type:\"text\",id:\"emailSubject\",\nlabel:b.emailSubject,setup:function(a){a.email&&this.setValue(a.email.subject)},commit:function(a){if(!a.email)a.email={};a.email.subject=this.getValue()}},{type:\"textarea\",id:\"emailBody\",label:b.emailBody,rows:3,\"default\":\"\",setup:function(a){a.email&&this.setValue(a.email.body)},commit:function(a){if(!a.email)a.email={};a.email.body=this.getValue()}}],setup:function(){this.getDialog().getContentElement(\"info\",\"linkType\")||this.getElement().hide()}}]},{id:\"target\",requiredContent:\"a[target]\",label:b.target,\ntitle:b.target,elements:[{type:\"hbox\",widths:[\"50%\",\"50%\"],children:[{type:\"select\",id:\"linkTargetType\",label:i.target,\"default\":\"notSet\",style:\"width : 100%;\",items:[[i.notSet,\"notSet\"],[b.targetFrame,\"frame\"],[b.targetPopup,\"popup\"],[i.targetNew,\"_blank\"],[i.targetTop,\"_top\"],[i.targetSelf,\"_self\"],[i.targetParent,\"_parent\"]],onChange:s,setup:function(a){a.target&&this.setValue(a.target.type||\"notSet\");s.call(this)},commit:function(a){if(!a.target)a.target={};a.target.type=this.getValue()}},{type:\"text\",\nid:\"linkTargetName\",label:b.targetFrameName,\"default\":\"\",setup:function(a){a.target&&this.setValue(a.target.name)},commit:function(a){if(!a.target)a.target={};a.target.name=this.getValue().replace(/\\W/gi,\"\")}}]},{type:\"vbox\",width:\"100%\",align:\"center\",padding:2,id:\"popupFeatures\",children:[{type:\"fieldset\",label:b.popupFeatures,children:[{type:\"hbox\",children:[{type:\"checkbox\",id:\"resizable\",label:b.popupResizable,setup:j,commit:l},{type:\"checkbox\",id:\"status\",label:b.popupStatusBar,setup:j,commit:l}]},\n{type:\"hbox\",children:[{type:\"checkbox\",id:\"location\",label:b.popupLocationBar,setup:j,commit:l},{type:\"checkbox\",id:\"toolbar\",label:b.popupToolbar,setup:j,commit:l}]},{type:\"hbox\",children:[{type:\"checkbox\",id:\"menubar\",label:b.popupMenuBar,setup:j,commit:l},{type:\"checkbox\",id:\"fullscreen\",label:b.popupFullScreen,setup:j,commit:l}]},{type:\"hbox\",children:[{type:\"checkbox\",id:\"scrollbars\",label:b.popupScrollBars,setup:j,commit:l},{type:\"checkbox\",id:\"dependent\",label:b.popupDependent,setup:j,commit:l}]},\n{type:\"hbox\",children:[{type:\"text\",widths:[\"50%\",\"50%\"],labelLayout:\"horizontal\",label:i.width,id:\"width\",setup:j,commit:l},{type:\"text\",labelLayout:\"horizontal\",widths:[\"50%\",\"50%\"],label:b.popupLeft,id:\"left\",setup:j,commit:l}]},{type:\"hbox\",children:[{type:\"text\",labelLayout:\"horizontal\",widths:[\"50%\",\"50%\"],label:i.height,id:\"height\",setup:j,commit:l},{type:\"text\",labelLayout:\"horizontal\",label:b.popupTop,widths:[\"50%\",\"50%\"],id:\"top\",setup:j,commit:l}]}]}]}]},{id:\"upload\",label:b.upload,title:b.upload,\nhidden:!0,filebrowser:\"uploadButton\",elements:[{type:\"file\",id:\"upload\",label:i.upload,style:\"height:40px\",size:29},{type:\"fileButton\",id:\"uploadButton\",label:i.uploadSubmit,filebrowser:\"info:url\",\"for\":[\"upload\",\"upload\"]}]},{id:\"advanced\",label:b.advanced,title:b.advanced,elements:[{type:\"vbox\",padding:1,children:[{type:\"hbox\",widths:[\"45%\",\"35%\",\"20%\"],children:[{type:\"text\",id:\"advId\",requiredContent:\"a[id]\",label:b.id,setup:k,commit:m},{type:\"select\",id:\"advLangDir\",requiredContent:\"a[dir]\",\nlabel:b.langDir,\"default\":\"\",style:\"width:110px\",items:[[i.notSet,\"\"],[b.langDirLTR,\"ltr\"],[b.langDirRTL,\"rtl\"]],setup:k,commit:m},{type:\"text\",id:\"advAccessKey\",requiredContent:\"a[accesskey]\",width:\"80px\",label:b.acccessKey,maxLength:1,setup:k,commit:m}]},{type:\"hbox\",widths:[\"45%\",\"35%\",\"20%\"],children:[{type:\"text\",label:b.name,id:\"advName\",requiredContent:\"a[name]\",setup:k,commit:m},{type:\"text\",label:b.langCode,id:\"advLangCode\",requiredContent:\"a[lang]\",width:\"110px\",\"default\":\"\",setup:k,commit:m},\n{type:\"text\",label:b.tabIndex,id:\"advTabIndex\",requiredContent:\"a[tabindex]\",width:\"80px\",maxLength:5,setup:k,commit:m}]}]},{type:\"vbox\",padding:1,children:[{type:\"hbox\",widths:[\"45%\",\"55%\"],children:[{type:\"text\",label:b.advisoryTitle,requiredContent:\"a[title]\",\"default\":\"\",id:\"advTitle\",setup:k,commit:m},{type:\"text\",label:b.advisoryContentType,requiredContent:\"a[type]\",\"default\":\"\",id:\"advContentType\",setup:k,commit:m}]},{type:\"hbox\",widths:[\"45%\",\"55%\"],children:[{type:\"text\",label:b.cssClasses,\nrequiredContent:\"a(cke-xyz)\",\"default\":\"\",id:\"advCSSClasses\",setup:k,commit:m},{type:\"text\",label:b.charset,requiredContent:\"a[charset]\",\"default\":\"\",id:\"advCharset\",setup:k,commit:m}]},{type:\"hbox\",widths:[\"45%\",\"55%\"],children:[{type:\"text\",label:b.rel,requiredContent:\"a[rel]\",\"default\":\"\",id:\"advRel\",setup:k,commit:m},{type:\"text\",label:b.styles,requiredContent:\"a{cke-xyz}\",\"default\":\"\",id:\"advStyles\",validate:CKEDITOR.dialog.validate.inlineStyle(n.lang.common.invalidInlineStyle),setup:k,commit:m}]}]}]}],\nonShow:function(){var a=this.getParentEditor(),b=a.getSelection(),c=null;(c=w.getSelectedLink(a))&&c.hasAttribute(\"href\")?b.getSelectedElement()||b.selectElement(c):c=null;this.setupContent(I.apply(this,[a,c]))},onOk:function(){var a={},b=[],c={},d=this.getParentEditor();this.commitContent(c);switch(c.type||\"url\"){case \"url\":var e=c.url&&c.url.protocol!=void 0?c.url.protocol:\"http://\",i=c.url&&CKEDITOR.tools.trim(c.url.url)||\"\";a[\"data-cke-saved-href\"]=i.indexOf(\"/\")===0?i:e+i;break;case \"anchor\":e=\nc.anchor&&c.anchor.id;a[\"data-cke-saved-href\"]=\"#\"+(c.anchor&&c.anchor.name||e||\"\");break;case \"email\":var f=c.email,e=f.address;switch(o){case \"\":case \"encode\":var i=encodeURIComponent(f.subject||\"\"),h=encodeURIComponent(f.body||\"\"),f=[];i&&f.push(\"subject=\"+i);h&&f.push(\"body=\"+h);f=f.length?\"?\"+f.join(\"&\"):\"\";if(o==\"encode\"){e=[\"javascript:void(location.href='mailto:'+\",u(e)];f&&e.push(\"+'\",r(f),\"'\");e.push(\")\")}else e=[\"mailto:\",e,f];break;default:e=e.split(\"@\",2);f.name=e[0];f.domain=e[1];e=\n[\"javascript:\",t(f)]}a[\"data-cke-saved-href\"]=e.join(\"\")}if(c.target)if(c.target.type==\"popup\"){for(var e=[\"window.open(this.href, '\",c.target.name||\"\",\"', '\"],j=[\"resizable\",\"status\",\"location\",\"toolbar\",\"menubar\",\"fullscreen\",\"scrollbars\",\"dependent\"],i=j.length,f=function(a){c.target[a]&&j.push(a+\"=\"+c.target[a])},h=0;h<i;h++)j[h]=j[h]+(c.target[j[h]]?\"=yes\":\"=no\");f(\"width\");f(\"left\");f(\"height\");f(\"top\");e.push(j.join(\",\"),\"'); return false;\");a[\"data-cke-pa-onclick\"]=e.join(\"\");b.push(\"target\")}else{c.target.type!=\n\"notSet\"&&c.target.name?a.target=c.target.name:b.push(\"target\");b.push(\"data-cke-pa-onclick\",\"onclick\")}if(c.adv){e=function(d,e){var f=c.adv[d];f?a[e]=f:b.push(e)};e(\"advId\",\"id\");e(\"advLangDir\",\"dir\");e(\"advAccessKey\",\"accessKey\");c.adv.advName?a.name=a[\"data-cke-saved-name\"]=c.adv.advName:b=b.concat([\"data-cke-saved-name\",\"name\"]);e(\"advLangCode\",\"lang\");e(\"advTabIndex\",\"tabindex\");e(\"advTitle\",\"title\");e(\"advContentType\",\"type\");e(\"advCSSClasses\",\"class\");e(\"advCharset\",\"charset\");e(\"advStyles\",\n\"style\");e(\"advRel\",\"rel\")}e=d.getSelection();a.href=a[\"data-cke-saved-href\"];if(this._.selectedElement){d=this._.selectedElement;i=d.data(\"cke-saved-href\");f=d.getHtml();d.setAttributes(a);d.removeAttributes(b);c.adv&&(c.adv.advName&&CKEDITOR.plugins.link.synAnchorSelector)&&d.addClass(d.getChildCount()?\"cke_anchor\":\"cke_anchor_empty\");if(i==f||c.type==\"email\"&&f.indexOf(\"@\")!=-1){d.setHtml(c.type==\"email\"?c.email.address:a[\"data-cke-saved-href\"]);e.selectElement(d)}delete this._.selectedElement}else{e=\ne.getRanges()[0];if(e.collapsed){d=new CKEDITOR.dom.text(c.type==\"email\"?c.email.address:a[\"data-cke-saved-href\"],d.document);e.insertNode(d);e.selectNodeContents(d)}d=new CKEDITOR.style({element:\"a\",attributes:a});d.type=CKEDITOR.STYLE_INLINE;d.applyToRange(e);e.select()}},onLoad:function(){n.config.linkShowAdvancedTab||this.hidePage(\"advanced\");n.config.linkShowTargetTab||this.hidePage(\"target\")},onFocus:function(){var a=this.getContentElement(\"info\",\"linkType\");if(a&&a.getValue()==\"url\"){a=this.getContentElement(\"info\",\n\"url\");a.select()}}}});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/link/dialogs/anchor.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/link/dialogs/anchor.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.dialog.add(\"anchor\",function(c){var d=function(a){this._.selectedElement=a;this.setValueOf(\"info\",\"txtName\",a.data(\"cke-saved-name\")||\"\")};return{title:c.lang.link.anchor.title,minWidth:300,minHeight:60,onOk:function(){var a=CKEDITOR.tools.trim(this.getValueOf(\"info\",\"txtName\")),a={id:a,name:a,\"data-cke-saved-name\":a};if(this._.selectedElement)this._.selectedElement.data(\"cke-realelement\")?(a=c.document.createElement(\"a\",{attributes:a}),c.createFakeElement(a,\"cke_anchor\",\"anchor\").replace(this._.selectedElement)):\nthis._.selectedElement.setAttributes(a);else{var b=c.getSelection(),b=b&&b.getRanges()[0];b.collapsed?(CKEDITOR.plugins.link.synAnchorSelector&&(a[\"class\"]=\"cke_anchor_empty\"),CKEDITOR.plugins.link.emptyAnchorFix&&(a.contenteditable=\"false\",a[\"data-cke-editable\"]=1),a=c.document.createElement(\"a\",{attributes:a}),CKEDITOR.plugins.link.fakeAnchor&&(a=c.createFakeElement(a,\"cke_anchor\",\"anchor\")),b.insertNode(a)):(CKEDITOR.env.ie&&9>CKEDITOR.env.version&&(a[\"class\"]=\"cke_anchor\"),a=new CKEDITOR.style({element:\"a\",\nattributes:a}),a.type=CKEDITOR.STYLE_INLINE,c.applyStyle(a))}},onHide:function(){delete this._.selectedElement},onShow:function(){var a=c.getSelection(),b=a.getSelectedElement();if(b)CKEDITOR.plugins.link.fakeAnchor?((a=CKEDITOR.plugins.link.tryRestoreFakeAnchor(c,b))&&d.call(this,a),this._.selectedElement=b):b.is(\"a\")&&b.hasAttribute(\"name\")&&d.call(this,b);else if(b=CKEDITOR.plugins.link.getSelectedLink(c))d.call(this,b),a.selectElement(b);this.getContentElement(\"info\",\"txtName\").focus()},contents:[{id:\"info\",\nlabel:c.lang.link.anchor.title,accessKey:\"I\",elements:[{type:\"text\",id:\"txtName\",label:c.lang.link.anchor.name,required:!0,validate:function(){return!this.getValue()?(alert(c.lang.link.anchor.errorName),!1):!0}}]}]}});"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/link/images/hidpi/anchor.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/link/images/hidpi/anchor.png",
            "module-type": "library",
            "text": "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"
        },
        "$:/plugins/BJ/TW5CKEditor/plugins/link/images/anchor.png": {
            "type": "image/png",
            "title": "$:/plugins/BJ/TW5CKEditor/plugins/link/images/anchor.png",
            "module-type": "library",
            "text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAACFElEQVQ4y3WSz2pTQRTGf2du2opNYymCreCiKYIo7lrUnYs+QB+gT+Ar+BouXXRTwa1YKlIEu7AUayk0SLiXmwahVOwiMUSlSWY+F3fSNv754MAwc+bHN3M+y7KMIAEQgL5z3F9YuA/cA3ZrzeZR4j0WAgZghgCTSMwgTVMkvVahTUlvWru7+riyos7+viQdSHoq6Ubt+BhJt+PeRj3LIMsyJAmQJL2bm9M6aB30ArQG+rC8HPlqd3d2wpPYW89zSmYGwPTsLABTJyfcqlQ47HSoAOUk4fvWFmtmDODadaBHIUsSSnFN33sAFmdmqMd3Mj7OWLnMQrnM4uQk01NTfD06YvP0NBLsEqBXcCURuFAwY2BGzzlsYoLBEB7lhgsfHRAncn4gFdBYgv8A+v3oykjMSIAEcGY4s2KE/9A5gHBh/Ee3yzfgV6/HhPeMA2NmJM6RwAjs/A+IDt62WrwCZoBD4Eq7zaN2m4fVKoRAt9u9uC1RwkbNZcAzqQXsAQ+2l5Yqn/b22Go0sEaDM+BO0fpe3kOe5yNBkrQt6Wat2URSSdJjSS8l9Q9WVyXpTNJzSdP1NMXyPKdarcrMkESa5xa8xwCZgXME57g7P38VqAJfPud5JwmBxIySpJEnOMA5xzChAjQYUE/Tn4KaAWPO4ZwrghRCGAEohBGAAXLu0riGISzOXQzQRnSy4b3nT1dm9lcN9RsyQ0BYyr+EAQAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxMy0wNy0wNFQxNzowMzowMyswMjowME2ku3gAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTMtMDctMDRUMTc6MDM6MDMrMDI6MDA8+QPEAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAABJRU5ErkJggg=="
        },
        "$:/plugins/BJ/TW5CKEditor/styles.json": {
            "type": "application/json",
            "title": "$:/plugins/BJ/TW5CKEditor/styles.json",
            "module-type": "library",
            "text": " [\n\t\t\t{ \"name\": \"Blue Title\",       \"element\": \"h3\",      \"styles\": { \"color\": \"Blue\" } },\n\t\t\t{ \"name\": \"Red Title\",        \"element\": \"h3\",      \"styles\": { \"color\": \"Red\" } },\n\n\t\t\t{ \"name\": \"Marker: Yellow\",   \"element\": \"span\",    \"styles\": { \"background-color\": \"Yellow\"} },\n\t\t\t{ \"name\": \"Marker: Red\",   \"element\": \"span\",    \"styles\": { \"background-color\": \"Red\"} },\n\t\t\t{ \"name\": \"Marker: Green\",    \"element\": \"span\",    \"styles\": { \"background-color\": \"Lime\" } },\n\n\t\t\t{\n\t\t\t\t\"name\": \"Image on Left\",\n\t\t\t\t\"element\": \"img\",\n\t\t\t\t\"attributes\": {\n\t\t\t\t\t\"style\": \"padding: 5px; margin-right: 5px\",\n\t\t\t\t\t\"border\": \"2\",\n\t\t\t\t\t\"align\": \"left\"\n\t\t\t\t}\n\t\t\t}\n]\n\n"
        },
        "$:/plugins/BJ/TW5CKEditor/config.json": {
            "type": "application/json",
            "title": "$:/plugins/BJ/TW5CKEditor/config.json",
            "module-type": "library",
            "text": "{\n\"removePlugins\":\"wsc, scayt\",\n\"customConfig\":\"\",\n\"language\" : \"en\",\n\"defaultLanguage\" : \"en\",\n\"contentsCss\" : \"\",\n\"resize_enabled\" : false \n}\n"
        },
        "$:/plugins/BJ/TW5CKEditor/adapters/jquery.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/adapters/jquery.js",
            "module-type": "library",
            "text": "/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\n(function(a){CKEDITOR.config.jqueryOverrideVal=\"undefined\"==typeof CKEDITOR.config.jqueryOverrideVal?!0:CKEDITOR.config.jqueryOverrideVal;\"undefined\"!=typeof a&&(a.extend(a.fn,{ckeditorGet:function(){var a=this.eq(0).data(\"ckeditorInstance\");if(!a)throw\"CKEditor is not initialized yet, use ckeditor() with a callback.\";return a},ckeditor:function(g,d){if(!CKEDITOR.env.isCompatible)throw Error(\"The environment is incompatible.\");if(!a.isFunction(g))var k=d,d=g,g=k;var i=[],d=d||{};this.each(function(){var b=\na(this),c=b.data(\"ckeditorInstance\"),f=b.data(\"_ckeditorInstanceLock\"),h=this,j=new a.Deferred;i.push(j.promise());if(c&&!f)g&&g.apply(c,[this]),j.resolve();else if(f)c.once(\"instanceReady\",function(){setTimeout(function(){c.element?(c.element.$==h&&g&&g.apply(c,[h]),j.resolve()):setTimeout(arguments.callee,100)},0)},null,null,9999);else{if(d.autoUpdateElement||\"undefined\"==typeof d.autoUpdateElement&&CKEDITOR.config.autoUpdateElement)d.autoUpdateElementJquery=!0;d.autoUpdateElement=!1;b.data(\"_ckeditorInstanceLock\",\n!0);c=a(this).is(\"textarea\")?CKEDITOR.replace(h,d):CKEDITOR.inline(h,d);b.data(\"ckeditorInstance\",c);c.on(\"instanceReady\",function(d){var e=d.editor;setTimeout(function(){if(e.element){d.removeListener();e.on(\"dataReady\",function(){b.trigger(\"dataReady.ckeditor\",[e])});e.on(\"setData\",function(a){b.trigger(\"setData.ckeditor\",[e,a.data])});e.on(\"getData\",function(a){b.trigger(\"getData.ckeditor\",[e,a.data])},999);e.on(\"destroy\",function(){b.trigger(\"destroy.ckeditor\",[e])});e.on(\"save\",function(){a(h.form).submit();\nreturn!1},null,null,20);if(e.config.autoUpdateElementJquery&&b.is(\"textarea\")&&a(h.form).length){var c=function(){b.ckeditor(function(){e.updateElement()})};a(h.form).submit(c);a(h.form).bind(\"form-pre-serialize\",c);b.bind(\"destroy.ckeditor\",function(){a(h.form).unbind(\"submit\",c);a(h.form).unbind(\"form-pre-serialize\",c)})}e.on(\"destroy\",function(){b.removeData(\"ckeditorInstance\")});b.removeData(\"_ckeditorInstanceLock\");b.trigger(\"instanceReady.ckeditor\",[e]);g&&g.apply(e,[h]);j.resolve()}else setTimeout(arguments.callee,\n100)},0)},null,null,9999)}});var f=new a.Deferred;this.promise=f.promise();a.when.apply(this,i).then(function(){f.resolve()});this.editor=this.eq(0).data(\"ckeditorInstance\");return this}}),CKEDITOR.config.jqueryOverrideVal&&(a.fn.val=CKEDITOR.tools.override(a.fn.val,function(g){return function(d){if(arguments.length){var k=this,i=[],f=this.each(function(){var b=a(this),c=b.data(\"ckeditorInstance\");if(b.is(\"textarea\")&&c){var f=new a.Deferred;c.setData(d,function(){f.resolve()});i.push(f.promise());\nreturn!0}return g.call(b,d)});if(i.length){var b=new a.Deferred;a.when.apply(this,i).done(function(){b.resolveWith(k)});return b.promise()}return f}var f=a(this).eq(0),c=f.data(\"ckeditorInstance\");return f.is(\"textarea\")&&c?c.getData():g.call(f)}})))})(window.jQuery);"
        },
        "$:/plugins/BJ/TW5CKEditor/skins/moonomod/editor_gecko.css": {
            "title": "$:/plugins/BJ/TW5CKEditor/skins/moonomod/editor_gecko.css",
            "text": "/*\r\nCopyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\r\nFor licensing, see LICENSE.md or http://ckeditor.com/license\r\n*/\r\n.cke_reset{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;position:static;-webkit-transition:none;-moz-transition:none;-ms-transition:none;transition:none}.cke_reset_all,.cke_reset_all *{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;position:static;-webkit-transition:none;-moz-transition:none;-ms-transition:none;transition:none;border-collapse:collapse;font:normal normal normal 12px Arial,Helvetica,Tahoma,Verdana,Sans-Serif;color:#000;text-align:left;white-space:nowrap;cursor:auto}.cke_reset_all .cke_rtl *{text-align:right}.cke_reset_all iframe{vertical-align:inherit}.cke_reset_all textarea{white-space:pre}.cke_reset_all textarea,.cke_reset_all input[type=\"text\"],.cke_reset_all input[type=\"password\"]{cursor:text}.cke_reset_all textarea[disabled],.cke_reset_all input[type=\"text\"][disabled],.cke_reset_all input[type=\"password\"][disabled]{cursor:default}.cke_reset_all fieldset{padding:10px;border:2px groove #e0dfe3}.cke_reset_all select{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.cke_chrome{display:block;border:1px solid #b6b6b6;padding:0;-moz-box-shadow:0 0 3px rgba(0,0,0,.15);-webkit-box-shadow:0 0 3px rgba(0,0,0,.15);box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_inner{display:block;-webkit-touch-callout:none;background:#fff;padding:0}.cke_float{border:0}.cke_float .cke_inner{padding-bottom:0}.cke_top,.cke_contents,.cke_bottom{display:block;overflow:hidden}.cke_top{border-bottom:1px solid #b6b6b6;padding:6px 8px 2px;white-space:normal;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#cfd1cf));background-image:-moz-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-webkit-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-o-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-ms-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:linear-gradient(top,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f5f5f5',endColorstr='#cfd1cf')}.cke_float .cke_top{border:1px solid #b6b6b6;border-bottom-color:#999}.cke_bottom{padding:6px 8px 2px;position:relative;border-top:1px solid #bfbfbf;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#cfd1cf));background-image:-moz-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-webkit-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-o-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-ms-linear-gradient(top,#ebebeb,#cfd1cf);background-image:linear-gradient(top,#ebebeb,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ebebeb',endColorstr='#cfd1cf')}.cke_browser_ios .cke_contents{overflow-y:auto;-webkit-overflow-scrolling:touch}.cke_resizer{width:0;height:0;overflow:hidden;width:0;height:0;overflow:hidden;border-width:10px 10px 0 0;border-color:transparent #666 transparent transparent;border-style:dashed solid dashed dashed;font-size:0;vertical-align:bottom;margin-top:6px;margin-bottom:2px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.3);-webkit-box-shadow:0 1px 0 rgba(255,255,255,.3);box-shadow:0 1px 0 rgba(255,255,255,.3)}.cke_hc .cke_resizer{font-size:15px;width:auto;height:auto;border-width:0}.cke_resizer_ltr{cursor:se-resize;float:right;margin-right:-4px}.cke_resizer_rtl{border-width:10px 0 0 10px;border-color:transparent transparent transparent #a5a5a5;border-style:dashed dashed dashed solid;cursor:sw-resize;float:left;margin-left:-4px;right:auto}.cke_wysiwyg_div{display:block;height:100%;overflow:auto;padding:0 8px;outline-style:none;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.cke_panel{visibility:visible;width:120px;height:100px;overflow:hidden;background-color:#fff;border:1px solid #b6b6b6;border-bottom-color:#999;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 0 3px rgba(0,0,0,.15);-webkit-box-shadow:0 0 3px rgba(0,0,0,.15);box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_menu_panel{padding:0;margin:0}.cke_combopanel{width:150px;height:170px}.cke_panel_frame{width:100%;height:100%;font-size:12px;overflow:auto;overflow-x:hidden}.cke_panel_container{overflow-y:auto;overflow-x:hidden}.cke_panel_list{list-style-type:none;margin:3px;padding:0;white-space:nowrap}.cke_panel_listItem{margin:0;padding-bottom:1px}.cke_panel_listItem a{padding:3px 4px;display:block;border:1px solid #fff;color:inherit!important;text-decoration:none;overflow:hidden;text-overflow:ellipsis;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px}* html .cke_panel_listItem a{width:100%;color:#000}*:first-child+html .cke_panel_listItem a{color:#000}.cke_panel_listItem.cke_selected a{border:1px solid #dedede;background-color:#f2f2f2;-moz-box-shadow:0 0 2px rgba(0,0,0,.1) inset;-webkit-box-shadow:0 0 2px rgba(0,0,0,.1) inset;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_panel_listItem a:hover,.cke_panel_listItem a:focus,.cke_panel_listItem a:active{border-color:#dedede;background-color:#f2f2f2;-moz-box-shadow:0 0 2px rgba(0,0,0,.1) inset;-webkit-box-shadow:0 0 2px rgba(0,0,0,.1) inset;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_hc .cke_panel_listItem a{border-style:none}.cke_hc .cke_panel_listItem a:hover,.cke_hc .cke_panel_listItem a:focus,.cke_hc .cke_panel_listItem a:active{border:2px solid;padding:1px 2px}.cke_panel_grouptitle{font-size:11px;font-weight:bold;white-space:nowrap;margin:0;padding:4px 6px;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.75);border-bottom:1px solid #b6b6b6;-moz-border-radius:2px 2px 0 0;-webkit-border-radius:2px 2px 0 0;border-radius:2px 2px 0 0;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#cfd1cf));background-image:-moz-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-webkit-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-o-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-ms-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:linear-gradient(top,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f5f5f5',endColorstr='#cfd1cf')}.cke_panel_listItem p,.cke_panel_listItem h1,.cke_panel_listItem h2,.cke_panel_listItem h3,.cke_panel_listItem h4,.cke_panel_listItem h5,.cke_panel_listItem h6,.cke_panel_listItem pre{margin-top:0;margin-bottom:0}.cke_colorblock{padding:3px;font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif}.cke_colorblock,.cke_colorblock a{text-decoration:none;color:#000}span.cke_colorbox{width:10px;height:10px;border:#808080 1px solid;float:left}.cke_rtl span.cke_colorbox{float:right}a.cke_colorbox{border:#fff 1px solid;padding:2px;float:left;width:12px;height:12px}.cke_rtl a.cke_colorbox{float:right}a:hover.cke_colorbox,a:focus.cke_colorbox,a:active.cke_colorbox{border:#b6b6b6 1px solid;background-color:#e5e5e5}a.cke_colorauto,a.cke_colormore{border:#fff 1px solid;padding:2px;display:block;cursor:pointer}a:hover.cke_colorauto,a:hover.cke_colormore,a:focus.cke_colorauto,a:focus.cke_colormore,a:active.cke_colorauto,a:active.cke_colormore{border:#b6b6b6 1px solid;background-color:#e5e5e5}.cke_toolbar{float:left}.cke_rtl .cke_toolbar{float:right}.cke_toolgroup{float:left;margin:0 6px 5px 0;border:1px solid #a6a6a6;border-bottom-color:#979797;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e4e4e4));background-image:-moz-linear-gradient(top,#fff,#e4e4e4);background-image:-webkit-linear-gradient(top,#fff,#e4e4e4);background-image:-o-linear-gradient(top,#fff,#e4e4e4);background-image:-ms-linear-gradient(top,#fff,#e4e4e4);background-image:linear-gradient(top,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_hc .cke_toolgroup{border:0;margin-right:10px;margin-bottom:10px}.cke_rtl .cke_toolgroup *:first-child{-moz-border-radius:0 2px 2px 0;-webkit-border-radius:0 2px 2px 0;border-radius:0 2px 2px 0}.cke_rtl .cke_toolgroup *:last-child{-moz-border-radius:2px 0 0 2px;-webkit-border-radius:2px 0 0 2px;border-radius:2px 0 0 2px}.cke_rtl .cke_toolgroup{float:right;margin-left:6px;margin-right:0}a.cke_button{display:inline-block;height:18px;padding:4px 6px;outline:0;cursor:default;float:left;border:0}.cke_rtl .cke_button{float:right}.cke_hc .cke_button{border:1px solid black;padding:3px 5px;margin:-2px 4px 0 -2px}.cke_button_on{-moz-box-shadow:0 1px 5px rgba(0,0,0,.6) inset,0 1px 0 rgba(0,0,0,.2);-webkit-box-shadow:0 1px 5px rgba(0,0,0,.6) inset,0 1px 0 rgba(0,0,0,.2);box-shadow:0 1px 5px rgba(0,0,0,.6) inset,0 1px 0 rgba(0,0,0,.2);background:#b5b5b5;background-image:-webkit-gradient(linear,left top,left bottom,from(#aaa),to(#cacaca));background-image:-moz-linear-gradient(top,#aaa,#cacaca);background-image:-webkit-linear-gradient(top,#aaa,#cacaca);background-image:-o-linear-gradient(top,#aaa,#cacaca);background-image:-ms-linear-gradient(top,#aaa,#cacaca);background-image:linear-gradient(top,#aaa,#cacaca);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#aaaaaa',endColorstr='#cacaca')}.cke_hc .cke_button_on,.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active,.cke_hc a.cke_button_disabled:hover,.cke_hc a.cke_button_disabled:focus,.cke_hc a.cke_button_disabled:active{border-width:3px;padding:1px 3px}.cke_button_disabled .cke_button_icon{opacity:.3}.cke_hc .cke_button_disabled{opacity:.5}a.cke_button_on:hover,a.cke_button_on:focus,a.cke_button_on:active{-moz-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);-webkit-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2)}a.cke_button_off:hover,a.cke_button_off:focus,a.cke_button_off:active,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{-moz-box-shadow:0 0 1px rgba(0,0,0,.3) inset;-webkit-box-shadow:0 0 1px rgba(0,0,0,.3) inset;box-shadow:0 0 1px rgba(0,0,0,.3) inset;background:#ccc;background-image:-webkit-gradient(linear,left top,left bottom,from(#f2f2f2),to(#ccc));background-image:-moz-linear-gradient(top,#f2f2f2,#ccc);background-image:-webkit-linear-gradient(top,#f2f2f2,#ccc);background-image:-o-linear-gradient(top,#f2f2f2,#ccc);background-image:-ms-linear-gradient(top,#f2f2f2,#ccc);background-image:linear-gradient(top,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc')}.cke_button_icon{cursor:inherit;background-repeat:no-repeat;margin-top:1px;width:16px;height:16px;float:left;display:inline-block}.cke_rtl .cke_button_icon{float:right}.cke_hc .cke_button_icon{display:none}.cke_button_label{display:none;padding-left:3px;margin-top:1px;line-height:17px;vertical-align:middle;float:left;cursor:default;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.5)}.cke_rtl .cke_button_label{padding-right:3px;padding-left:0;float:right}.cke_hc .cke_button_label{padding:0;display:inline-block;font-size:12px}.cke_button_arrow{display:inline-block;margin:8px 0 0 1px;width:0;height:0;cursor:default;vertical-align:top;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_rtl .cke_button_arrow{margin-right:5px;margin-left:0}.cke_hc .cke_button_arrow{font-size:10px;margin:3px -2px 0 3px;width:auto;border:0}.cke_toolbar_separator{float:left;background-color:#c0c0c0;background-color:rgba(0,0,0,.2);margin:5px 2px 0;height:18px;width:1px;-webkit-box-shadow:1px 0 1px rgba(255,255,255,.5);-moz-box-shadow:1px 0 1px rgba(255,255,255,.5);box-shadow:1px 0 1px rgba(255,255,255,.5)}.cke_rtl .cke_toolbar_separator{float:right;-webkit-box-shadow:-1px 0 1px rgba(255,255,255,.1);-moz-box-shadow:-1px 0 1px rgba(255,255,255,.1);box-shadow:-1px 0 1px rgba(255,255,255,.1)}.cke_hc .cke_toolbar_separator{width:0;border-left:1px solid;margin:1px 5px 0 0}.cke_toolbar_break{display:block;clear:left}.cke_rtl .cke_toolbar_break{clear:right}.cke_toolbox_collapser{width:12px;height:11px;float:right;margin:11px 0 0;font-size:0;cursor:default;text-align:center;border:1px solid #a6a6a6;border-bottom-color:#979797;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e4e4e4));background-image:-moz-linear-gradient(top,#fff,#e4e4e4);background-image:-webkit-linear-gradient(top,#fff,#e4e4e4);background-image:-o-linear-gradient(top,#fff,#e4e4e4);background-image:-ms-linear-gradient(top,#fff,#e4e4e4);background-image:linear-gradient(top,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_toolbox_collapser:hover{background:#ccc;background-image:-webkit-gradient(linear,left top,left bottom,from(#f2f2f2),to(#ccc));background-image:-moz-linear-gradient(top,#f2f2f2,#ccc);background-image:-webkit-linear-gradient(top,#f2f2f2,#ccc);background-image:-o-linear-gradient(top,#f2f2f2,#ccc);background-image:-ms-linear-gradient(top,#f2f2f2,#ccc);background-image:linear-gradient(top,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc')}.cke_toolbox_collapser.cke_toolbox_collapser_min{margin:0 2px 4px}.cke_rtl .cke_toolbox_collapser{float:left}.cke_toolbox_collapser .cke_arrow{display:inline-block;height:0;width:0;font-size:0;margin-top:1px;border-left:3px solid transparent;border-right:3px solid transparent;border-bottom:3px solid #474747;border-top:3px solid transparent}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{margin-top:4px;border-bottom-color:transparent;border-top-color:#474747}.cke_hc .cke_toolbox_collapser .cke_arrow{font-size:8px;width:auto;border:0;margin-top:0;margin-right:2px}.cke_menubutton{display:block}.cke_menuitem span{cursor:default}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#d3d3d3;display:block}.cke_hc .cke_menubutton{padding:2px}.cke_hc .cke_menubutton:hover,.cke_hc .cke_menubutton:focus,.cke_hc .cke_menubutton:active{border:2px solid;padding:0}.cke_menubutton_inner{display:table-row}.cke_menubutton_icon,.cke_menubutton_label,.cke_menuarrow{display:table-cell}.cke_menubutton_icon{background-color:#d7d8d7;opacity:.70;filter:alpha(opacity=70);padding:4px}.cke_hc .cke_menubutton_icon{height:16px;width:0;padding:4px 0}.cke_menubutton:hover .cke_menubutton_icon,.cke_menubutton:focus .cke_menubutton_icon,.cke_menubutton:active .cke_menubutton_icon{background-color:#d0d2d0}.cke_menubutton_disabled:hover .cke_menubutton_icon,.cke_menubutton_disabled:focus .cke_menubutton_icon,.cke_menubutton_disabled:active .cke_menubutton_icon{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_label{padding:0 5px;background-color:transparent;width:100%;vertical-align:middle}.cke_menubutton_disabled .cke_menubutton_label{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_on{border:1px solid #dedede;background-color:#f2f2f2;-moz-box-shadow:0 0 2px rgba(0,0,0,.1) inset;-webkit-box-shadow:0 0 2px rgba(0,0,0,.1) inset;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_menubutton_on .cke_menubutton_icon{padding-right:3px}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#eff0ef}.cke_panel_frame .cke_menubutton_label{display:none}.cke_menuseparator{background-color:#d3d3d3;height:1px;filter:alpha(opacity=70);opacity:.70}.cke_menuarrow{background-image:url(images/arrow.png);background-position:0 10px;background-repeat:no-repeat;padding:0 5px}.cke_rtl .cke_menuarrow{background-position:5px -13px;background-repeat:no-repeat}.cke_menuarrow span{display:none}.cke_hc .cke_menuarrow span{vertical-align:middle;display:inline}.cke_combo{display:inline-block;float:left}.cke_rtl .cke_combo{float:right}.cke_hc .cke_combo{margin-top:-2px}.cke_combo_label{display:none;float:left;line-height:26px;vertical-align:top;margin-right:5px}.cke_rtl .cke_combo_label{float:right;margin-left:5px;margin-right:0}.cke_combo_button{display:inline-block;float:left;margin:0 6px 5px 0;border:1px solid #a6a6a6;border-bottom-color:#979797;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e4e4e4));background-image:-moz-linear-gradient(top,#fff,#e4e4e4);background-image:-webkit-linear-gradient(top,#fff,#e4e4e4);background-image:-o-linear-gradient(top,#fff,#e4e4e4);background-image:-ms-linear-gradient(top,#fff,#e4e4e4);background-image:linear-gradient(top,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_combo_off a.cke_combo_button:hover,.cke_combo_off a.cke_combo_button:focus{background:#ccc;background-image:-webkit-gradient(linear,left top,left bottom,from(#f2f2f2),to(#ccc));background-image:-moz-linear-gradient(top,#f2f2f2,#ccc);background-image:-webkit-linear-gradient(top,#f2f2f2,#ccc);background-image:-o-linear-gradient(top,#f2f2f2,#ccc);background-image:-ms-linear-gradient(top,#f2f2f2,#ccc);background-image:linear-gradient(top,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc');outline:0}.cke_combo_off a.cke_combo_button:active,.cke_combo_on a.cke_combo_button{border:1px solid #777;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 1px 5px rgba(0,0,0,.6) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 1px 5px rgba(0,0,0,.6) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 1px 5px rgba(0,0,0,.6) inset;background:#b5b5b5;background-image:-webkit-gradient(linear,left top,left bottom,from(#aaa),to(#cacaca));background-image:-moz-linear-gradient(top,#aaa,#cacaca);background-image:-webkit-linear-gradient(top,#aaa,#cacaca);background-image:-o-linear-gradient(top,#aaa,#cacaca);background-image:-ms-linear-gradient(top,#aaa,#cacaca);background-image:linear-gradient(top,#aaa,#cacaca);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#aaaaaa',endColorstr='#cacaca')}.cke_combo_on a.cke_combo_button:hover,.cke_combo_on a.cke_combo_button:focus,.cke_combo_on a.cke_combo_button:active{-moz-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);-webkit-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2)}.cke_rtl .cke_combo_button{float:right;margin-left:5px;margin-right:0}.cke_hc a.cke_combo_button{padding:3px}.cke_hc .cke_combo_on a.cke_combo_button,.cke_hc .cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_combo_off a.cke_combo_button:active{border-width:3px;padding:1px}.cke_combo_text{line-height:26px;padding-left:10px;text-overflow:ellipsis;overflow:hidden;float:left;cursor:default;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.5);width:60px}.cke_rtl .cke_combo_text{float:right;text-align:right;padding-left:0;padding-right:10px}.cke_hc .cke_combo_text{line-height:18px;font-size:12px}.cke_combo_open{cursor:default;display:inline-block;font-size:0;height:19px;line-height:17px;margin:1px 7px 1px;width:5px}.cke_hc .cke_combo_open{height:12px}.cke_combo_arrow{margin:11px 0 0;float:left;height:0;width:0;font-size:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_hc .cke_combo_arrow{font-size:10px;width:auto;border:0;margin-top:3px}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{opacity:.3}.cke_path{float:left;margin:-2px 0 2px}.cke_path_item,.cke_path_empty{display:inline-block;float:left;padding:3px 4px;margin-right:2px;cursor:default;text-decoration:none;outline:0;border:0;color:#4c4c4c;text-shadow:0 1px 0 #fff;font-weight:bold;font-size:11px}.cke_rtl .cke_path,.cke_rtl .cke_path_item,.cke_rtl .cke_path_empty{float:right}a.cke_path_item:hover,a.cke_path_item:focus,a.cke_path_item:active{background-color:#bfbfbf;color:#333;text-shadow:0 1px 0 rgba(255,255,255,.5);-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-moz-box-shadow:0 0 4px rgba(0,0,0,.5) inset,0 1px 0 rgba(255,255,255,.5);-webkit-box-shadow:0 0 4px rgba(0,0,0,.5) inset,0 1px 0 rgba(255,255,255,.5);box-shadow:0 0 4px rgba(0,0,0,.5) inset,0 1px 0 rgba(255,255,255,.5)}.cke_hc a.cke_path_item:hover,.cke_hc a.cke_path_item:focus,.cke_hc a.cke_path_item:active{border:2px solid;padding:1px 2px}.cke_button__source_label,.cke_button__sourcedialog_label{display:inline}.cke_combo__fontsize .cke_combo_text{width:30px}.cke_combopanel__fontsize{width:120px}.cke_source{font-family:'Courier New',Monospace;font-size:small;background-color:#fff;white-space:pre}.cke_wysiwyg_frame,.cke_wysiwyg_div{background-color:#fff}.cke_chrome{visibility:inherit}.cke_voice_label{display:none}legend.cke_voice_label{display:none}.cke_bottom{padding-bottom:3px}.cke_combo_text{margin-bottom:-1px;margin-top:1px}.cke_button__about_icon {background: url(icons.png) no-repeat 0 -0px ;}.cke_button__bold_icon {background: url(icons.png) no-repeat 0 -24px ;}.cke_button__italic_icon {background: url(icons.png) no-repeat 0 -48px ;}.cke_button__strike_icon {background: url(icons.png) no-repeat 0 -72px ;}.cke_button__subscript_icon {background: url(icons.png) no-repeat 0 -96px ;}.cke_button__superscript_icon {background: url(icons.png) no-repeat 0 -120px ;}.cke_button__underline_icon {background: url(icons.png) no-repeat 0 -144px ;}.cke_button__blockquote_icon {background: url(icons.png) no-repeat 0 -168px ;}.cke_rtl .cke_button__copy_icon, .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons.png) no-repeat 0 -192px ;}.cke_ltr .cke_button__copy_icon {background: url(icons.png) no-repeat 0 -216px ;}.cke_rtl .cke_button__cut_icon, .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons.png) no-repeat 0 -240px ;}.cke_ltr .cke_button__cut_icon {background: url(icons.png) no-repeat 0 -264px ;}.cke_rtl .cke_button__paste_icon, .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons.png) no-repeat 0 -288px ;}.cke_ltr .cke_button__paste_icon {background: url(icons.png) no-repeat 0 -312px ;}.cke_button__horizontalrule_icon {background: url(icons.png) no-repeat 0 -336px ;}.cke_button__image_icon {background: url(icons.png) no-repeat 0 -360px ;}.cke_rtl .cke_button__indent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons.png) no-repeat 0 -384px ;}.cke_ltr .cke_button__indent_icon {background: url(icons.png) no-repeat 0 -408px ;}.cke_rtl .cke_button__outdent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons.png) no-repeat 0 -432px ;}.cke_ltr .cke_button__outdent_icon {background: url(icons.png) no-repeat 0 -456px ;}.cke_rtl .cke_button__anchor_icon, .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons.png) no-repeat 0 -480px ;}.cke_ltr .cke_button__anchor_icon {background: url(icons.png) no-repeat 0 -504px ;}.cke_button__link_icon {background: url(icons.png) no-repeat 0 -528px ;}.cke_button__unlink_icon {background: url(icons.png) no-repeat 0 -552px ;}.cke_rtl .cke_button__bulletedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons.png) no-repeat 0 -576px ;}.cke_ltr .cke_button__bulletedlist_icon {background: url(icons.png) no-repeat 0 -600px ;}.cke_rtl .cke_button__numberedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons.png) no-repeat 0 -624px ;}.cke_ltr .cke_button__numberedlist_icon {background: url(icons.png) no-repeat 0 -648px ;}.cke_button__maximize_icon {background: url(icons.png) no-repeat 0 -672px ;}.cke_rtl .cke_button__pastetext_icon, .cke_mixed_dir_content .cke_rtl .cke_button__pastetext_icon {background: url(icons.png) no-repeat 0 -696px ;}.cke_ltr .cke_button__pastetext_icon {background: url(icons.png) no-repeat 0 -720px ;}.cke_rtl .cke_button__pastefromword_icon, .cke_mixed_dir_content .cke_rtl .cke_button__pastefromword_icon {background: url(icons.png) no-repeat 0 -744px ;}.cke_ltr .cke_button__pastefromword_icon {background: url(icons.png) no-repeat 0 -768px ;}.cke_button__removeformat_icon {background: url(icons.png) no-repeat 0 -792px ;}.cke_rtl .cke_button__source_icon, .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons.png) no-repeat 0 -816px ;}.cke_ltr .cke_button__source_icon {background: url(icons.png) no-repeat 0 -840px ;}.cke_button__specialchar_icon {background: url(icons.png) no-repeat 0 -864px ;}.cke_button__scayt_icon {background: url(icons.png) no-repeat 0 -888px ;}.cke_button__table_icon {background: url(icons.png) no-repeat 0 -912px ;}.cke_rtl .cke_button__redo_icon, .cke_mixed_dir_content .cke_rtl .cke_button__redo_icon {background: url(icons.png) no-repeat 0 -936px ;}.cke_ltr .cke_button__redo_icon {background: url(icons.png) no-repeat 0 -960px ;}.cke_rtl .cke_button__undo_icon, .cke_mixed_dir_content .cke_rtl .cke_button__undo_icon {background: url(icons.png) no-repeat 0 -984px ;}.cke_ltr .cke_button__undo_icon {background: url(icons.png) no-repeat 0 -1008px ;}.cke_button__spellchecker_icon {background: url(icons.png) no-repeat 0 -1032px ;}.cke_hidpi .cke_button__about_icon {background: url(icons_hidpi.png) no-repeat 0 -0px !important;background-size: 16px !important;}.cke_hidpi .cke_button__bold_icon {background: url(icons_hidpi.png) no-repeat 0 -24px !important;background-size: 16px !important;}.cke_hidpi .cke_button__italic_icon {background: url(icons_hidpi.png) no-repeat 0 -48px !important;background-size: 16px !important;}.cke_hidpi .cke_button__strike_icon {background: url(icons_hidpi.png) no-repeat 0 -72px !important;background-size: 16px !important;}.cke_hidpi .cke_button__subscript_icon {background: url(icons_hidpi.png) no-repeat 0 -96px !important;background-size: 16px !important;}.cke_hidpi .cke_button__superscript_icon {background: url(icons_hidpi.png) no-repeat 0 -120px !important;background-size: 16px !important;}.cke_hidpi .cke_button__underline_icon {background: url(icons_hidpi.png) no-repeat 0 -144px !important;background-size: 16px !important;}.cke_hidpi .cke_button__blockquote_icon {background: url(icons_hidpi.png) no-repeat 0 -168px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__copy_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons_hidpi.png) no-repeat 0 -192px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__copy_icon,.cke_ltr.cke_hidpi .cke_button__copy_icon {background: url(icons_hidpi.png) no-repeat 0 -216px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__cut_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons_hidpi.png) no-repeat 0 -240px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__cut_icon,.cke_ltr.cke_hidpi .cke_button__cut_icon {background: url(icons_hidpi.png) no-repeat 0 -264px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__paste_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons_hidpi.png) no-repeat 0 -288px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__paste_icon,.cke_ltr.cke_hidpi .cke_button__paste_icon {background: url(icons_hidpi.png) no-repeat 0 -312px !important;background-size: 16px !important;}.cke_hidpi .cke_button__horizontalrule_icon {background: url(icons_hidpi.png) no-repeat 0 -336px !important;background-size: 16px !important;}.cke_hidpi .cke_button__image_icon {background: url(icons_hidpi.png) no-repeat 0 -360px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__indent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons_hidpi.png) no-repeat 0 -384px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__indent_icon,.cke_ltr.cke_hidpi .cke_button__indent_icon {background: url(icons_hidpi.png) no-repeat 0 -408px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__outdent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons_hidpi.png) no-repeat 0 -432px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__outdent_icon,.cke_ltr.cke_hidpi .cke_button__outdent_icon {background: url(icons_hidpi.png) no-repeat 0 -456px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__anchor_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons_hidpi.png) no-repeat 0 -480px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__anchor_icon,.cke_ltr.cke_hidpi .cke_button__anchor_icon {background: url(icons_hidpi.png) no-repeat 0 -504px !important;background-size: 16px !important;}.cke_hidpi .cke_button__link_icon {background: url(icons_hidpi.png) no-repeat 0 -528px !important;background-size: 16px !important;}.cke_hidpi .cke_button__unlink_icon {background: url(icons_hidpi.png) no-repeat 0 -552px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__bulletedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons_hidpi.png) no-repeat 0 -576px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__bulletedlist_icon,.cke_ltr.cke_hidpi .cke_button__bulletedlist_icon {background: url(icons_hidpi.png) no-repeat 0 -600px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__numberedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons_hidpi.png) no-repeat 0 -624px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__numberedlist_icon,.cke_ltr.cke_hidpi .cke_button__numberedlist_icon {background: url(icons_hidpi.png) no-repeat 0 -648px !important;background-size: 16px !important;}.cke_hidpi .cke_button__maximize_icon {background: url(icons_hidpi.png) no-repeat 0 -672px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__pastetext_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__pastetext_icon {background: url(icons_hidpi.png) no-repeat 0 -696px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__pastetext_icon,.cke_ltr.cke_hidpi .cke_button__pastetext_icon {background: url(icons_hidpi.png) no-repeat 0 -720px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__pastefromword_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__pastefromword_icon {background: url(icons_hidpi.png) no-repeat 0 -744px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__pastefromword_icon,.cke_ltr.cke_hidpi .cke_button__pastefromword_icon {background: url(icons_hidpi.png) no-repeat 0 -768px !important;background-size: 16px !important;}.cke_hidpi .cke_button__removeformat_icon {background: url(icons_hidpi.png) no-repeat 0 -792px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__source_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons_hidpi.png) no-repeat 0 -816px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__source_icon,.cke_ltr.cke_hidpi .cke_button__source_icon {background: url(icons_hidpi.png) no-repeat 0 -840px !important;background-size: 16px !important;}.cke_hidpi .cke_button__specialchar_icon {background: url(icons_hidpi.png) no-repeat 0 -864px !important;background-size: 16px !important;}.cke_hidpi .cke_button__scayt_icon {background: url(icons_hidpi.png) no-repeat 0 -888px !important;background-size: 16px !important;}.cke_hidpi .cke_button__table_icon {background: url(icons_hidpi.png) no-repeat 0 -912px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__redo_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__redo_icon {background: url(icons_hidpi.png) no-repeat 0 -936px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__redo_icon,.cke_ltr.cke_hidpi .cke_button__redo_icon {background: url(icons_hidpi.png) no-repeat 0 -960px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__undo_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__undo_icon {background: url(icons_hidpi.png) no-repeat 0 -984px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__undo_icon,.cke_ltr.cke_hidpi .cke_button__undo_icon {background: url(icons_hidpi.png) no-repeat 0 -1008px !important;background-size: 16px !important;}.cke_hidpi .cke_button__spellchecker_icon {background: url(icons_hidpi.png) no-repeat 0 -1032px !important;background-size: 16px !important;}\r\n"
        },
        "$:/plugins/BJ/TW5CKEditor/skins/moonomod/dialog.css": {
            "title": "$:/plugins/BJ/TW5CKEditor/skins/moonomod/dialog.css",
            "text": "/*\r\nCopyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\r\nFor licensing, see LICENSE.md or http://ckeditor.com/license\r\n*/\r\n.cke_dialog{visibility:visible}.cke_dialog_body{z-index:1;background:#eaeaea;border:1px solid #b2b2b2;border-bottom-color:#999;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 0 3px rgba(0,0,0,.15);-webkit-box-shadow:0 0 3px rgba(0,0,0,.15);box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_browser_gecko19 .cke_dialog_body{position:relative}.cke_dialog strong{font-weight:bold}.cke_dialog_title{font-weight:bold;font-size:13px;cursor:move;position:relative;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.75);border-bottom:1px solid #999;padding:6px 10px;-moz-border-radius:2px 2px 0 0;-webkit-border-radius:2px 2px 0 0;border-radius:2px 2px 0 0;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#cfd1cf));background-image:-moz-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-webkit-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-o-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-ms-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:linear-gradient(top,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f5f5f5',endColorstr='#cfd1cf')}.cke_dialog_contents{background-color:#fff;overflow:auto;padding:15px 10px 5px 10px;margin-top:30px;border-top:1px solid #bfbfbf;-moz-border-radius:0 0 3px 3px;-webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px}.cke_dialog_contents_body{overflow:auto;padding:17px 10px 5px 10px;margin-top:22px}.cke_dialog_footer{text-align:right;position:relative;border:0;outline:1px solid #bfbfbf;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;-moz-border-radius:0 0 2px 2px;-webkit-border-radius:0 0 2px 2px;border-radius:0 0 2px 2px;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#cfd1cf));background-image:-moz-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-webkit-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-o-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-ms-linear-gradient(top,#ebebeb,#cfd1cf);background-image:linear-gradient(top,#ebebeb,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ebebeb',endColorstr='#cfd1cf')}.cke_rtl .cke_dialog_footer{text-align:left}.cke_hc .cke_dialog_footer{outline:0;border-top:1px solid #fff}.cke_dialog .cke_resizer{margin-top:22px}.cke_dialog .cke_resizer_rtl{margin-left:5px}.cke_dialog .cke_resizer_ltr{margin-right:5px}.cke_dialog_tabs{height:24px;display:inline-block;margin:5px 0 0;position:absolute;z-index:2;left:10px}.cke_rtl .cke_dialog_tabs{right:10px}a.cke_dialog_tab{height:16px;padding:4px 8px;margin-right:3px;display:inline-block;cursor:pointer;line-height:16px;outline:0;color:#595959;border:1px solid #bfbfbf;-moz-border-radius:3px 3px 0 0;-webkit-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0;background:#d4d4d4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fafafa),to(#ededed));background-image:-moz-linear-gradient(top,#fafafa,#ededed);background-image:-webkit-linear-gradient(top,#fafafa,#ededed);background-image:-o-linear-gradient(top,#fafafa,#ededed);background-image:-ms-linear-gradient(top,#fafafa,#ededed);background-image:linear-gradient(top,#fafafa,#ededed);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#fafafa',endColorstr='#ededed')}.cke_rtl a.cke_dialog_tab{margin-right:0;margin-left:3px}a.cke_dialog_tab:hover{background:#ebebeb;background:-moz-linear-gradient(top,#ebebeb 0,#dfdfdf 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#ebebeb),color-stop(100%,#dfdfdf));background:-webkit-linear-gradient(top,#ebebeb 0,#dfdfdf 100%);background:-o-linear-gradient(top,#ebebeb 0,#dfdfdf 100%);background:-ms-linear-gradient(top,#ebebeb 0,#dfdfdf 100%);background:linear-gradient(to bottom,#ebebeb 0,#dfdfdf 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ebebeb',endColorstr='#dfdfdf',GradientType=0)}a.cke_dialog_tab_selected{background:#fff;color:#383838;border-bottom-color:#fff;cursor:default;filter:none}a.cke_dialog_tab_selected:hover{background:#ededed;background:-moz-linear-gradient(top,#ededed 0,#fff 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#ededed),color-stop(100%,#fff));background:-webkit-linear-gradient(top,#ededed 0,#fff 100%);background:-o-linear-gradient(top,#ededed 0,#fff 100%);background:-ms-linear-gradient(top,#ededed 0,#fff 100%);background:linear-gradient(to bottom,#ededed 0,#fff 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ededed',endColorstr='#ffffff',GradientType=0)}.cke_hc a.cke_dialog_tab:hover,.cke_hc a.cke_dialog_tab_selected{border:3px solid;padding:2px 6px}a.cke_dialog_tab_disabled{color:#bababa;cursor:default}.cke_single_page .cke_dialog_tabs{display:none}.cke_single_page .cke_dialog_contents{padding-top:5px;margin-top:0;border-top:0}.cke_dialog_close_button{background-image:url(images/close.png);background-repeat:no-repeat;background-position:0 0;position:absolute;cursor:pointer;text-align:center;height:20px;width:20px;top:5px;z-index:5}.cke_hidpi .cke_dialog_close_button{background-image:url(images/hidpi/close.png);background-size:16px}.cke_dialog_close_button span{display:none}.cke_hc .cke_dialog_close_button span{display:inline;cursor:pointer;font-weight:bold;position:relative;top:3px}.cke_ltr .cke_dialog_close_button{right:5px}.cke_rtl .cke_dialog_close_button{left:6px}.cke_dialog_close_button{top:4px}div.cke_disabled .cke_dialog_ui_labeled_content div *{background-color:#ddd;cursor:default}.cke_dialog_ui_vbox table,.cke_dialog_ui_hbox table{margin:auto}.cke_dialog_ui_vbox_child{padding:5px 0}.cke_dialog_ui_hbox{width:100%}.cke_dialog_ui_hbox_first,.cke_dialog_ui_hbox_child,.cke_dialog_ui_hbox_last{vertical-align:top}.cke_ltr .cke_dialog_ui_hbox_first,.cke_ltr .cke_dialog_ui_hbox_child{padding-right:10px}.cke_rtl .cke_dialog_ui_hbox_first,.cke_rtl .cke_dialog_ui_hbox_child{padding-left:10px}.cke_ltr .cke_dialog_footer_buttons .cke_dialog_ui_hbox_first,.cke_ltr .cke_dialog_footer_buttons .cke_dialog_ui_hbox_child{padding-right:5px}.cke_rtl .cke_dialog_footer_buttons .cke_dialog_ui_hbox_first,.cke_rtl .cke_dialog_footer_buttons .cke_dialog_ui_hbox_child{padding-left:5px;padding-right:0}.cke_hc div.cke_dialog_ui_input_text,.cke_hc div.cke_dialog_ui_input_password,.cke_hc div.cke_dialog_ui_input_textarea,.cke_hc div.cke_dialog_ui_input_select,.cke_hc div.cke_dialog_ui_input_file{border:1px solid}textarea.cke_dialog_ui_input_textarea{overflow:auto;resize:none}input.cke_dialog_ui_input_text,input.cke_dialog_ui_input_password,textarea.cke_dialog_ui_input_textarea{background-color:#fff;border:1px solid #c9cccf;border-top-color:#aeb3b9;padding:4px 6px;outline:0;width:100%;*width:95%;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 2px rgba(0,0,0,.15) inset;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.15) inset;box-shadow:0 1px 2px rgba(0,0,0,.15) inset}input.cke_dialog_ui_input_text:hover,input.cke_dialog_ui_input_password:hover,textarea.cke_dialog_ui_input_textarea:hover{border:1px solid #aeb3b9;border-top-color:#a0a6ad}input.cke_dialog_ui_input_text:focus,input.cke_dialog_ui_input_password:focus,textarea.cke_dialog_ui_input_textarea:focus,select.cke_dialog_ui_input_select:focus{outline:0;border:1px solid #139ff7;border-top-color:#1392e9}a.cke_dialog_ui_button{display:inline-block;*display:inline;*zoom:1;padding:3px 0;margin:0;text-align:center;color:#333;vertical-align:middle;cursor:pointer;border:1px solid #b6b6b6;border-bottom-color:#999;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e4e4e4));background-image:-moz-linear-gradient(top,#fff,#e4e4e4);background-image:-webkit-linear-gradient(top,#fff,#e4e4e4);background-image:-o-linear-gradient(top,#fff,#e4e4e4);background-image:-ms-linear-gradient(top,#fff,#e4e4e4);background-image:linear-gradient(top,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}span.cke_dialog_ui_button{padding:0 12px}a.cke_dialog_ui_button:hover{border-color:#9e9e9e;background:#ccc;background-image:-webkit-gradient(linear,left top,left bottom,from(#f2f2f2),to(#ccc));background-image:-moz-linear-gradient(top,#f2f2f2,#ccc);background-image:-webkit-linear-gradient(top,#f2f2f2,#ccc);background-image:-o-linear-gradient(top,#f2f2f2,#ccc);background-image:-ms-linear-gradient(top,#f2f2f2,#ccc);background-image:linear-gradient(top,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc')}a.cke_dialog_ui_button:focus,a.cke_dialog_ui_button:active{border-color:#969696;outline:0;-moz-box-shadow:0 0 6px rgba(0,0,0,.4) inset;-webkit-box-shadow:0 0 6px rgba(0,0,0,.4) inset;box-shadow:0 0 6px rgba(0,0,0,.4) inset}.cke_hc a.cke_dialog_ui_button:hover,.cke_hc a.cke_dialog_ui_button:focus,.cke_hc a.cke_dialog_ui_button:active{border:3px solid;padding-top:1px;padding-bottom:1px}.cke_hc a.cke_dialog_ui_button:hover span,.cke_hc a.cke_dialog_ui_button:focus span,.cke_hc a.cke_dialog_ui_button:active span{padding-left:10px;padding-right:10px}.cke_dialog_footer_buttons a.cke_dialog_ui_button span{color:inherit;font-size:12px;font-weight:bold;line-height:20px}a.cke_dialog_ui_button_ok{color:#fff;text-shadow:0 -1px 0 #55830c;border-color:#62a60a #62a60a #4d9200;background:#69b10b;background-image:-webkit-gradient(linear,0 0,0 100%,from(#9ad717),to(#69b10b));background-image:-webkit-linear-gradient(top,#9ad717,#69b10b);background-image:-o-linear-gradient(top,#9ad717,#69b10b);background-image:linear-gradient(to bottom,#9ad717,#69b10b);background-image:-moz-linear-gradient(top,#9ad717,#69b10b);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#9ad717',endColorstr='#69b10b')}a.cke_dialog_ui_button_ok:hover{border-color:#5b9909 #5b9909 #478500;background:#88be14;background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#88be14),color-stop(100%,#5d9c0a));background:-webkit-linear-gradient(top,#88be14 0,#5d9c0a 100%);background:-o-linear-gradient(top,#88be14 0,#5d9c0a 100%);background:linear-gradient(to bottom,#88be14 0,#5d9c0a 100%);background:-moz-linear-gradient(top,#88be14 0,#5d9c0a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#88be14',endColorstr='#5d9c0a',GradientType=0)}a.cke_dialog_ui_button span{text-shadow:0 1px 0 #fff}a.cke_dialog_ui_button_ok span{text-shadow:0 -1px 0 #55830c}span.cke_dialog_ui_button{cursor:pointer}a.cke_dialog_ui_button_ok:focus,a.cke_dialog_ui_button_ok:active,a.cke_dialog_ui_button_cancel:focus,a.cke_dialog_ui_button_cancel:active{border-width:2px;padding:2px 0}a.cke_dialog_ui_button_ok:focus,a.cke_dialog_ui_button_ok:active{border-color:#568c0a}a.cke_dialog_ui_button_ok:focus span,a.cke_dialog_ui_button_ok:active span,a.cke_dialog_ui_button_cancel:focus span,a.cke_dialog_ui_button_cancel:active span{padding:0 11px}.cke_dialog_footer_buttons{display:inline-table;margin:5px;width:auto;position:relative;vertical-align:middle}div.cke_dialog_ui_input_select{display:table}select.cke_dialog_ui_input_select{height:24px;line-height:24px;background-color:#fff;border:1px solid #c9cccf;border-top-color:#aeb3b9;padding:2px 6px;outline:0;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 2px rgba(0,0,0,.15) inset;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.15) inset;box-shadow:0 1px 2px rgba(0,0,0,.15) inset}.cke_dialog_ui_input_file{width:100%;height:25px}.cke_hc .cke_dialog_ui_labeled_content input:focus,.cke_hc .cke_dialog_ui_labeled_content select:focus,.cke_hc .cke_dialog_ui_labeled_content textarea:focus{outline:1px dotted}.cke_dialog .cke_dark_background{background-color:#dedede}.cke_dialog .cke_light_background{background-color:#ebebeb}.cke_dialog .cke_centered{text-align:center}.cke_dialog a.cke_btn_reset{float:right;background:url(images/refresh.png) top left no-repeat;width:16px;height:16px;border:1px none;font-size:1px}.cke_hidpi .cke_dialog a.cke_btn_reset{background-size:16px;background-image:url(images/hidpi/refresh.png)}.cke_rtl .cke_dialog a.cke_btn_reset{float:left}.cke_dialog a.cke_btn_locked,.cke_dialog a.cke_btn_unlocked{float:left;width:16px;height:16px;background-repeat:no-repeat;border:none 1px;font-size:1px}.cke_dialog a.cke_btn_locked .cke_icon{display:none}.cke_rtl .cke_dialog a.cke_btn_locked,.cke_rtl .cke_dialog a.cke_btn_unlocked{float:right}.cke_dialog a.cke_btn_locked{background-image:url(images/lock.png)}.cke_dialog a.cke_btn_unlocked{background-image:url(images/lock-open.png)}.cke_hidpi .cke_dialog a.cke_btn_unlocked,.cke_hidpi .cke_dialog a.cke_btn_locked{background-size:16px}.cke_hidpi .cke_dialog a.cke_btn_locked{background-image:url(images/hidpi/lock.png)}.cke_hidpi .cke_dialog a.cke_btn_unlocked{background-image:url(images/hidpi/lock-open.png)}.cke_dialog .cke_btn_over{border:outset 1px;cursor:pointer}.cke_dialog .ImagePreviewBox{border:2px ridge black;overflow:scroll;height:200px;width:300px;padding:2px;background-color:white}.cke_dialog .ImagePreviewBox table td{white-space:normal}.cke_dialog .ImagePreviewLoader{position:absolute;white-space:normal;overflow:hidden;height:160px;width:230px;margin:2px;padding:2px;opacity:.9;filter:alpha(opacity = 90);background-color:#e4e4e4}.cke_dialog .FlashPreviewBox{white-space:normal;border:2px ridge black;overflow:auto;height:160px;width:390px;padding:2px;background-color:white}.cke_dialog .cke_pastetext{width:346px;height:170px}.cke_dialog .cke_pastetext textarea{width:340px;height:170px;resize:none}.cke_dialog iframe.cke_pasteframe{width:346px;height:130px;background-color:white;border:1px solid #aeb3b9;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.cke_dialog .cke_hand{cursor:pointer}.cke_disabled{color:#a0a0a0}.cke_dialog_body .cke_label{display:none}.cke_dialog_body label{display:inline;margin-bottom:auto;cursor:default}.cke_dialog_body label.cke_required{font-weight:bold}a.cke_smile{overflow:hidden;display:block;text-align:center;padding:.3em 0}a.cke_smile img{vertical-align:middle}a.cke_specialchar{cursor:inherit;display:block;height:1.25em;padding:.2em .3em;text-align:center}a.cke_smile,a.cke_specialchar{border:1px solid transparent}a.cke_smile:hover,a.cke_smile:focus,a.cke_smile:active,a.cke_specialchar:hover,a.cke_specialchar:focus,a.cke_specialchar:active{background:#fff;outline:0}a.cke_smile:hover,a.cke_specialchar:hover{border-color:#888}a.cke_smile:focus,a.cke_smile:active,a.cke_specialchar:focus,a.cke_specialchar:active{border-color:#139ff7}.cke_dialog_contents a.colorChooser{display:block;margin-top:6px;margin-left:10px;width:80px}.cke_rtl .cke_dialog_contents a.colorChooser{margin-right:10px}.cke_dialog_ui_checkbox_input:focus,.cke_dialog_ui_radio_input:focus,.cke_btn_over{outline:1px dotted #696969}.cke_iframe_shim{display:block;position:absolute;top:0;left:0;z-index:-1;filter:alpha(opacity = 0);width:100%;height:100%}"
        },
        "$:/plugins/BJ/TW5CKEditor/extraplugins": {
            "type": "text/vnd.tiddlywiki",
            "title": "$:/plugins/BJ/TW5CKEditor/extraplugins",
            "module-type": "library",
            "text": " \n"
        },
        "$:/plugins/BJ/TW5CKEditor/ckeditor.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/ckeditor.js",
            "module-type": "library",
            "text": "/*\nCopyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\nFor licensing, see LICENSE.html or http://ckeditor.com/license\n*/\n(function(){if(window.CKEDITOR&&window.CKEDITOR.dom)return;window.CKEDITOR||(window.CKEDITOR=function(){var a={timestamp:\"DBAA\",version:\"4.3.1\",revision:\"3ecd0b8\",rnd:Math.floor(900*Math.random())+100,_:{pending:[]},status:\"unloaded\",basePath:function(){var b=window.CKEDITOR_BASEPATH||\"\";if(!b)for(var d=document.getElementsByTagName(\"script\"),a=0;a<d.length;a++){var e=d[a].src.match(/(^|.*[\\\\\\/])ckeditor(?:_basic)?(?:_source)?.js(?:\\?.*)?$/i);if(e){b=e[1];break}}-1==b.indexOf(\":/\")&&(b=0===b.indexOf(\"/\")?location.href.match(/^.*?:\\/\\/[^\\/]*/)[0]+b:location.href.match(/^[^\\?]*\\/(?:)/)[0]+\nb);if(!b)throw'The CKEditor installation path could not be automatically detected. Please set the global variable \"CKEDITOR_BASEPATH\" before creating editor instances.';return b}(),getUrl:function(b){-1==b.indexOf(\":/\")&&0!==b.indexOf(\"/\")&&(b=this.basePath+b);this.timestamp&&(\"/\"!=b.charAt(b.length-1)&&!/[&?]t=/.test(b))&&(b+=(0<=b.indexOf(\"?\")?\"&\":\"?\")+\"t=\"+this.timestamp);return b},domReady:function(){function b(){try{document.addEventListener?(document.removeEventListener(\"DOMContentLoaded\",b,\n!1),d()):document.attachEvent&&\"complete\"===document.readyState&&(document.detachEvent(\"onreadystatechange\",b),d())}catch(a){}}function d(){for(var d;d=a.shift();)d()}var a=[];return function(d){a.push(d);\"complete\"===document.readyState&&setTimeout(b,1);if(1==a.length)if(document.addEventListener)document.addEventListener(\"DOMContentLoaded\",b,!1),window.addEventListener(\"load\",b,!1);else if(document.attachEvent){document.attachEvent(\"onreadystatechange\",b);window.attachEvent(\"onload\",b);d=!1;try{d=\n!window.frameElement}catch(e){}if(document.documentElement.doScroll&&d){var i=function(){try{document.documentElement.doScroll(\"left\")}catch(d){setTimeout(i,1);return}b()};i()}}}}()},e=window.CKEDITOR_GETURL;if(e){var b=a.getUrl;a.getUrl=function(c){return e.call(a,c)||b.call(a,c)}}return a}());\nCKEDITOR.event||(CKEDITOR.event=function(){},CKEDITOR.event.implementOn=function(a){var e=CKEDITOR.event.prototype,b;for(b in e)a[b]==void 0&&(a[b]=e[b])},CKEDITOR.event.prototype=function(){function a(a){var d=e(this);return d[a]||(d[a]=new b(a))}var e=function(b){b=b.getPrivate&&b.getPrivate()||b._||(b._={});return b.events||(b.events={})},b=function(b){this.name=b;this.listeners=[]};b.prototype={getListenerIndex:function(b){for(var d=0,a=this.listeners;d<a.length;d++)if(a[d].fn==b)return d;return-1}};\nreturn{define:function(b,d){var h=a.call(this,b);CKEDITOR.tools.extend(h,d,true)},on:function(b,d,h,e,n){function i(a,f,o,q){a={name:b,sender:this,editor:a,data:f,listenerData:e,stop:o,cancel:q,removeListener:j};return d.call(h,a)===false?false:a.data}function j(){q.removeListener(b,d)}var o=a.call(this,b);if(o.getListenerIndex(d)<0){o=o.listeners;h||(h=this);isNaN(n)&&(n=10);var q=this;i.fn=d;i.priority=n;for(var s=o.length-1;s>=0;s--)if(o[s].priority<=n){o.splice(s+1,0,i);return{removeListener:j}}o.unshift(i)}return{removeListener:j}},\nonce:function(){var b=arguments[1];arguments[1]=function(d){d.removeListener();return b.apply(this,arguments)};return this.on.apply(this,arguments)},capture:function(){CKEDITOR.event.useCapture=1;var b=this.on.apply(this,arguments);CKEDITOR.event.useCapture=0;return b},fire:function(){var b=0,d=function(){b=1},a=0,g=function(){a=1};return function(n,i,j){var o=e(this)[n],n=b,q=a;b=a=0;if(o){var s=o.listeners;if(s.length)for(var s=s.slice(0),u,f=0;f<s.length;f++){if(o.errorProof)try{u=s[f].call(this,\nj,i,d,g)}catch(p){}else u=s[f].call(this,j,i,d,g);u===false?a=1:typeof u!=\"undefined\"&&(i=u);if(b||a)break}}i=a?false:typeof i==\"undefined\"?true:i;b=n;a=q;return i}}(),fireOnce:function(b,d,a){d=this.fire(b,d,a);delete e(this)[b];return d},removeListener:function(b,d){var a=e(this)[b];if(a){var g=a.getListenerIndex(d);g>=0&&a.listeners.splice(g,1)}},removeAllListeners:function(){var b=e(this),d;for(d in b)delete b[d]},hasListeners:function(b){return(b=e(this)[b])&&b.listeners.length>0}}}());\nCKEDITOR.editor||(CKEDITOR.editor=function(){CKEDITOR._.pending.push([this,arguments]);CKEDITOR.event.call(this)},CKEDITOR.editor.prototype.fire=function(a,e){a in{instanceReady:1,loaded:1}&&(this[a]=true);return CKEDITOR.event.prototype.fire.call(this,a,e,this)},CKEDITOR.editor.prototype.fireOnce=function(a,e){a in{instanceReady:1,loaded:1}&&(this[a]=true);return CKEDITOR.event.prototype.fireOnce.call(this,a,e,this)},CKEDITOR.event.implementOn(CKEDITOR.editor.prototype));\nCKEDITOR.env||(CKEDITOR.env=function(){var a=navigator.userAgent.toLowerCase(),e=window.opera,b={ie:a.indexOf(\"trident/\")>-1,opera:!!e&&e.version,webkit:a.indexOf(\" applewebkit/\")>-1,air:a.indexOf(\" adobeair/\")>-1,mac:a.indexOf(\"macintosh\")>-1,quirks:document.compatMode==\"BackCompat\"&&(!document.documentMode||document.documentMode<10),mobile:a.indexOf(\"mobile\")>-1,iOS:/(ipad|iphone|ipod)/.test(a),isCustomDomain:function(){if(!this.ie)return false;var d=document.domain,b=window.location.hostname;return d!=\nb&&d!=\"[\"+b+\"]\"},secure:location.protocol==\"https:\"};b.gecko=navigator.product==\"Gecko\"&&!b.webkit&&!b.opera&&!b.ie;if(b.webkit)a.indexOf(\"chrome\")>-1?b.chrome=true:b.safari=true;var c=0;if(b.ie){c=b.quirks||!document.documentMode?parseFloat(a.match(/msie (\\d+)/)[1]):document.documentMode;b.ie9Compat=c==9;b.ie8Compat=c==8;b.ie7Compat=c==7;b.ie6Compat=c<7||b.quirks}if(b.gecko){var d=a.match(/rv:([\\d\\.]+)/);if(d){d=d[1].split(\".\");c=d[0]*1E4+(d[1]||0)*100+(d[2]||0)*1}}b.opera&&(c=parseFloat(e.version()));\nb.air&&(c=parseFloat(a.match(/ adobeair\\/(\\d+)/)[1]));b.webkit&&(c=parseFloat(a.match(/ applewebkit\\/(\\d+)/)[1]));b.version=c;b.isCompatible=b.iOS&&c>=534||!b.mobile&&(b.ie&&c>6||b.gecko&&c>=10801||b.opera&&c>=9.5||b.air&&c>=1||b.webkit&&c>=522||false);b.hidpi=window.devicePixelRatio>=2;b.needsBrFiller=b.gecko||b.webkit||b.ie&&c>10;b.needsNbspFiller=b.ie&&c<11;b.cssClass=\"cke_browser_\"+(b.ie?\"ie\":b.gecko?\"gecko\":b.opera?\"opera\":b.webkit?\"webkit\":\"unknown\");if(b.quirks)b.cssClass=b.cssClass+\" cke_browser_quirks\";\nif(b.ie){b.cssClass=b.cssClass+(\" cke_browser_ie\"+(b.quirks||b.version<7?\"6\":b.version));if(b.quirks)b.cssClass=b.cssClass+\" cke_browser_iequirks\"}if(b.gecko)if(c<10900)b.cssClass=b.cssClass+\" cke_browser_gecko18\";else if(c<=11E3)b.cssClass=b.cssClass+\" cke_browser_gecko19\";if(b.air)b.cssClass=b.cssClass+\" cke_browser_air\";if(b.iOS)b.cssClass=b.cssClass+\" cke_browser_ios\";if(b.hidpi)b.cssClass=b.cssClass+\" cke_hidpi\";return b}());\n\"unloaded\"==CKEDITOR.status&&function(){CKEDITOR.event.implementOn(CKEDITOR);CKEDITOR.loadFullCore=function(){if(CKEDITOR.status!=\"basic_ready\")CKEDITOR.loadFullCore._load=1;else{delete CKEDITOR.loadFullCore;var a=document.createElement(\"script\");a.type=\"text/javascript\";a.src=CKEDITOR.basePath+\"ckeditor.js\";document.getElementsByTagName(\"head\")[0].appendChild(a)}};CKEDITOR.loadFullCoreTimeout=0;CKEDITOR.add=function(a){(this._.pending||(this._.pending=[])).push(a)};(function(){CKEDITOR.domReady(function(){var a=\nCKEDITOR.loadFullCore,e=CKEDITOR.loadFullCoreTimeout;if(a){CKEDITOR.status=\"basic_ready\";a&&a._load?a():e&&setTimeout(function(){CKEDITOR.loadFullCore&&CKEDITOR.loadFullCore()},e*1E3)}})})();CKEDITOR.status=\"basic_loaded\"}();CKEDITOR.dom={};\n(function(){var a=[],e=CKEDITOR.env.gecko?\"-moz-\":CKEDITOR.env.webkit?\"-webkit-\":CKEDITOR.env.opera?\"-o-\":CKEDITOR.env.ie?\"-ms-\":\"\";CKEDITOR.on(\"reset\",function(){a=[]});CKEDITOR.tools={arrayCompare:function(b,a){if(!b&&!a)return true;if(!b||!a||b.length!=a.length)return false;for(var d=0;d<b.length;d++)if(b[d]!=a[d])return false;return true},clone:function(b){var a;if(b&&b instanceof Array){a=[];for(var d=0;d<b.length;d++)a[d]=CKEDITOR.tools.clone(b[d]);return a}if(b===null||typeof b!=\"object\"||\nb instanceof String||b instanceof Number||b instanceof Boolean||b instanceof Date||b instanceof RegExp)return b;a=new b.constructor;for(d in b)a[d]=CKEDITOR.tools.clone(b[d]);return a},capitalize:function(b,a){return b.charAt(0).toUpperCase()+(a?b.slice(1):b.slice(1).toLowerCase())},extend:function(b){var a=arguments.length,d,h;if(typeof(d=arguments[a-1])==\"boolean\")a--;else if(typeof(d=arguments[a-2])==\"boolean\"){h=arguments[a-1];a=a-2}for(var e=1;e<a;e++){var n=arguments[e],i;for(i in n)if(d===\ntrue||b[i]==void 0)if(!h||i in h)b[i]=n[i]}return b},prototypedCopy:function(b){var a=function(){};a.prototype=b;return new a},copy:function(b){var a={},d;for(d in b)a[d]=b[d];return a},isArray:function(b){return Object.prototype.toString.call(b)==\"[object Array]\"},isEmpty:function(b){for(var a in b)if(b.hasOwnProperty(a))return false;return true},cssVendorPrefix:function(b,a,d){if(d)return e+b+\":\"+a+\";\"+b+\":\"+a;d={};d[b]=a;d[e+b]=a;return d},cssStyleToDomStyle:function(){var b=document.createElement(\"div\").style,\na=typeof b.cssFloat!=\"undefined\"?\"cssFloat\":typeof b.styleFloat!=\"undefined\"?\"styleFloat\":\"float\";return function(d){return d==\"float\"?a:d.replace(/-./g,function(d){return d.substr(1).toUpperCase()})}}(),buildStyleHtml:function(b){for(var b=[].concat(b),a,d=[],h=0;h<b.length;h++)if(a=b[h])/@import|[{}]/.test(a)?d.push(\"<style>\"+a+\"</style>\"):d.push('<link type=\"text/css\" rel=stylesheet href=\"'+a+'\">');return d.join(\"\")},htmlEncode:function(b){return(\"\"+b).replace(/&/g,\"&amp;\").replace(/>/g,\"&gt;\").replace(/</g,\n\"&lt;\")},htmlEncodeAttr:function(b){return b.replace(/\"/g,\"&quot;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\")},htmlDecodeAttr:function(b){return b.replace(/&quot;/g,'\"').replace(/&lt;/g,\"<\").replace(/&gt;/g,\">\")},getNextNumber:function(){var b=0;return function(){return++b}}(),getNextId:function(){return\"cke_\"+this.getNextNumber()},override:function(b,a){var d=a(b);d.prototype=b.prototype;return d},setTimeout:function(b,a,d,h,e){e||(e=window);d||(d=e);return e.setTimeout(function(){h?b.apply(d,[].concat(h)):\nb.apply(d)},a||0)},trim:function(){var b=/(?:^[ \\t\\n\\r]+)|(?:[ \\t\\n\\r]+$)/g;return function(a){return a.replace(b,\"\")}}(),ltrim:function(){var b=/^[ \\t\\n\\r]+/g;return function(a){return a.replace(b,\"\")}}(),rtrim:function(){var b=/[ \\t\\n\\r]+$/g;return function(a){return a.replace(b,\"\")}}(),indexOf:function(b,a){if(typeof a==\"function\")for(var d=0,h=b.length;d<h;d++){if(a(b[d]))return d}else{if(b.indexOf)return b.indexOf(a);d=0;for(h=b.length;d<h;d++)if(b[d]===a)return d}return-1},search:function(b,\na){var d=CKEDITOR.tools.indexOf(b,a);return d>=0?b[d]:null},bind:function(b,a){return function(){return b.apply(a,arguments)}},createClass:function(b){var a=b.$,d=b.base,h=b.privates||b._,e=b.proto,b=b.statics;!a&&(a=function(){d&&this.base.apply(this,arguments)});if(h)var n=a,a=function(){var d=this._||(this._={}),a;for(a in h){var b=h[a];d[a]=typeof b==\"function\"?CKEDITOR.tools.bind(b,this):b}n.apply(this,arguments)};if(d){a.prototype=this.prototypedCopy(d.prototype);a.prototype.constructor=a;a.base=\nd;a.baseProto=d.prototype;a.prototype.base=function(){this.base=d.prototype.base;d.apply(this,arguments);this.base=arguments.callee}}e&&this.extend(a.prototype,e,true);b&&this.extend(a,b,true);return a},addFunction:function(b,c){return a.push(function(){return b.apply(c||this,arguments)})-1},removeFunction:function(b){a[b]=null},callFunction:function(b){var c=a[b];return c&&c.apply(window,Array.prototype.slice.call(arguments,1))},cssLength:function(){var a=/^-?\\d+\\.?\\d*px$/,c;return function(d){c=\nCKEDITOR.tools.trim(d+\"\")+\"px\";return a.test(c)?c:d||\"\"}}(),convertToPx:function(){var a;return function(c){if(!a){a=CKEDITOR.dom.element.createFromHtml('<div style=\"position:absolute;left:-9999px;top:-9999px;margin:0px;padding:0px;border:0px;\"></div>',CKEDITOR.document);CKEDITOR.document.getBody().append(a)}if(!/%$/.test(c)){a.setStyle(\"width\",c);return a.$.clientWidth}return c}}(),repeat:function(a,c){return Array(c+1).join(a)},tryThese:function(){for(var a,c=0,d=arguments.length;c<d;c++){var h=\narguments[c];try{a=h();break}catch(e){}}return a},genKey:function(){return Array.prototype.slice.call(arguments).join(\"-\")},defer:function(a){return function(){var c=arguments,d=this;window.setTimeout(function(){a.apply(d,c)},0)}},normalizeCssText:function(a,c){var d=[],h,e=CKEDITOR.tools.parseCssText(a,true,c);for(h in e)d.push(h+\":\"+e[h]);d.sort();return d.length?d.join(\";\")+\";\":\"\"},convertRgbToHex:function(a){return a.replace(/(?:rgb\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*\\))/gi,function(a,d,b,e){a=\n[d,b,e];for(d=0;d<3;d++)a[d]=(\"0\"+parseInt(a[d],10).toString(16)).slice(-2);return\"#\"+a.join(\"\")})},parseCssText:function(a,c,d){var h={};if(d){d=new CKEDITOR.dom.element(\"span\");d.setAttribute(\"style\",a);a=CKEDITOR.tools.convertRgbToHex(d.getAttribute(\"style\")||\"\")}if(!a||a==\";\")return h;a.replace(/&quot;/g,'\"').replace(/\\s*([^:;\\s]+)\\s*:\\s*([^;]+)\\s*(?=;|$)/g,function(a,d,b){if(c){d=d.toLowerCase();d==\"font-family\"&&(b=b.toLowerCase().replace(/[\"']/g,\"\").replace(/\\s*,\\s*/g,\",\"));b=CKEDITOR.tools.trim(b)}h[d]=\nb});return h},writeCssText:function(a,c){var d,h=[];for(d in a)h.push(d+\":\"+a[d]);c&&h.sort();return h.join(\"; \")},objectCompare:function(a,c,d){var h;if(!a&&!c)return true;if(!a||!c)return false;for(h in a)if(a[h]!=c[h])return false;if(!d)for(h in c)if(a[h]!=c[h])return false;return true},objectKeys:function(a){var c=[],d;for(d in a)c.push(d);return c},convertArrayToObject:function(a,c){var d={};arguments.length==1&&(c=true);for(var h=0,e=a.length;h<e;++h)d[a[h]]=c;return d},fixDomain:function(){for(var a;;)try{a=\nwindow.parent.document.domain;break}catch(c){a=a?a.replace(/.+?(?:\\.|$)/,\"\"):document.domain;if(!a)break;document.domain=a}return!!a},eventsBuffer:function(a,c){function d(){e=(new Date).getTime();h=false;c()}var h,e=0;return{input:function(){if(!h){var c=(new Date).getTime()-e;c<a?h=setTimeout(d,a-c):d()}},reset:function(){h&&clearTimeout(h);h=e=0}}},enableHtml5Elements:function(a,c){for(var d=[\"abbr\",\"article\",\"aside\",\"audio\",\"bdi\",\"canvas\",\"data\",\"datalist\",\"details\",\"figcaption\",\"figure\",\"footer\",\n\"header\",\"hgroup\",\"mark\",\"meter\",\"nav\",\"output\",\"progress\",\"section\",\"summary\",\"time\",\"video\"],h=d.length,e;h--;){e=a.createElement(d[h]);c&&a.appendChild(e)}}}})();\nCKEDITOR.dtd=function(){var a=CKEDITOR.tools.extend,e=function(a,d){for(var b=CKEDITOR.tools.clone(a),h=1;h<arguments.length;h++){var d=arguments[h],c;for(c in d)delete b[c]}return b},b={},c={},d={address:1,article:1,aside:1,blockquote:1,details:1,div:1,dl:1,fieldset:1,figure:1,footer:1,form:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,header:1,hgroup:1,hr:1,menu:1,nav:1,ol:1,p:1,pre:1,section:1,table:1,ul:1},h={command:1,link:1,meta:1,noscript:1,script:1,style:1},g={},n={\"#\":1},i={center:1,dir:1,noframes:1};\na(b,{a:1,abbr:1,area:1,audio:1,b:1,bdi:1,bdo:1,br:1,button:1,canvas:1,cite:1,code:1,command:1,datalist:1,del:1,dfn:1,em:1,embed:1,i:1,iframe:1,img:1,input:1,ins:1,kbd:1,keygen:1,label:1,map:1,mark:1,meter:1,noscript:1,object:1,output:1,progress:1,q:1,ruby:1,s:1,samp:1,script:1,select:1,small:1,span:1,strong:1,sub:1,sup:1,textarea:1,time:1,u:1,\"var\":1,video:1,wbr:1},n,{acronym:1,applet:1,basefont:1,big:1,font:1,isindex:1,strike:1,style:1,tt:1});a(c,d,b,i);e={a:e(b,{a:1,button:1}),abbr:b,address:c,\narea:g,article:a({style:1},c),aside:a({style:1},c),audio:a({source:1,track:1},c),b:b,base:g,bdi:b,bdo:b,blockquote:c,body:c,br:g,button:e(b,{a:1,button:1}),canvas:b,caption:c,cite:b,code:b,col:g,colgroup:{col:1},command:g,datalist:a({option:1},b),dd:c,del:b,details:a({summary:1},c),dfn:b,div:a({style:1},c),dl:{dt:1,dd:1},dt:c,em:b,embed:g,fieldset:a({legend:1},c),figcaption:c,figure:a({figcaption:1},c),footer:c,form:c,h1:b,h2:b,h3:b,h4:b,h5:b,h6:b,head:a({title:1,base:1},h),header:c,hgroup:{h1:1,\nh2:1,h3:1,h4:1,h5:1,h6:1},hr:g,html:a({head:1,body:1},c,h),i:b,iframe:n,img:g,input:g,ins:b,kbd:b,keygen:g,label:b,legend:b,li:c,link:g,map:c,mark:b,menu:a({li:1},c),meta:g,meter:e(b,{meter:1}),nav:c,noscript:a({link:1,meta:1,style:1},b),object:a({param:1},b),ol:{li:1},optgroup:{option:1},option:n,output:b,p:b,param:g,pre:b,progress:e(b,{progress:1}),q:b,rp:b,rt:b,ruby:a({rp:1,rt:1},b),s:b,samp:b,script:n,section:a({style:1},c),select:{optgroup:1,option:1},small:b,source:g,span:b,strong:b,style:n,\nsub:b,summary:b,sup:b,table:{caption:1,colgroup:1,thead:1,tfoot:1,tbody:1,tr:1},tbody:{tr:1},td:c,textarea:n,tfoot:{tr:1},th:c,thead:{tr:1},time:e(b,{time:1}),title:n,tr:{th:1,td:1},track:g,u:b,ul:{li:1},\"var\":b,video:a({source:1,track:1},c),wbr:g,acronym:b,applet:a({param:1},c),basefont:g,big:b,center:c,dialog:g,dir:{li:1},font:b,isindex:g,noframes:c,strike:b,tt:b};a(e,{$block:a({audio:1,dd:1,dt:1,figcaption:1,li:1,video:1},d,i),$blockLimit:{article:1,aside:1,audio:1,body:1,caption:1,details:1,dir:1,\ndiv:1,dl:1,fieldset:1,figcaption:1,figure:1,footer:1,form:1,header:1,hgroup:1,menu:1,nav:1,ol:1,section:1,table:1,td:1,th:1,tr:1,ul:1,video:1},$cdata:{script:1,style:1},$editable:{address:1,article:1,aside:1,blockquote:1,body:1,details:1,div:1,fieldset:1,figcaption:1,footer:1,form:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,header:1,hgroup:1,nav:1,p:1,pre:1,section:1},$empty:{area:1,base:1,basefont:1,br:1,col:1,command:1,dialog:1,embed:1,hr:1,img:1,input:1,isindex:1,keygen:1,link:1,meta:1,param:1,source:1,track:1,\nwbr:1},$inline:b,$list:{dl:1,ol:1,ul:1},$listItem:{dd:1,dt:1,li:1},$nonBodyContent:a({body:1,head:1,html:1},e.head),$nonEditable:{applet:1,audio:1,button:1,embed:1,iframe:1,map:1,object:1,option:1,param:1,script:1,textarea:1,video:1},$object:{applet:1,audio:1,button:1,hr:1,iframe:1,img:1,input:1,object:1,select:1,table:1,textarea:1,video:1},$removeEmpty:{abbr:1,acronym:1,b:1,bdi:1,bdo:1,big:1,cite:1,code:1,del:1,dfn:1,em:1,font:1,i:1,ins:1,label:1,kbd:1,mark:1,meter:1,output:1,q:1,ruby:1,s:1,samp:1,\nsmall:1,span:1,strike:1,strong:1,sub:1,sup:1,time:1,tt:1,u:1,\"var\":1},$tabIndex:{a:1,area:1,button:1,input:1,object:1,select:1,textarea:1},$tableContent:{caption:1,col:1,colgroup:1,tbody:1,td:1,tfoot:1,th:1,thead:1,tr:1},$transparent:{a:1,audio:1,canvas:1,del:1,ins:1,map:1,noscript:1,object:1,video:1},$intermediate:{caption:1,colgroup:1,dd:1,dt:1,figcaption:1,legend:1,li:1,optgroup:1,option:1,rp:1,rt:1,summary:1,tbody:1,td:1,tfoot:1,th:1,thead:1,tr:1}});return e}();\nCKEDITOR.dom.event=function(a){this.$=a};\nCKEDITOR.dom.event.prototype={getKey:function(){return this.$.keyCode||this.$.which},getKeystroke:function(){var a=this.getKey();if(this.$.ctrlKey||this.$.metaKey)a=a+CKEDITOR.CTRL;this.$.shiftKey&&(a=a+CKEDITOR.SHIFT);this.$.altKey&&(a=a+CKEDITOR.ALT);return a},preventDefault:function(a){var e=this.$;e.preventDefault?e.preventDefault():e.returnValue=false;a&&this.stopPropagation()},stopPropagation:function(){var a=this.$;a.stopPropagation?a.stopPropagation():a.cancelBubble=true},getTarget:function(){var a=\nthis.$.target||this.$.srcElement;return a?new CKEDITOR.dom.node(a):null},getPhase:function(){return this.$.eventPhase||2},getPageOffset:function(){var a=this.getTarget().getDocument().$;return{x:this.$.pageX||this.$.clientX+(a.documentElement.scrollLeft||a.body.scrollLeft),y:this.$.pageY||this.$.clientY+(a.documentElement.scrollTop||a.body.scrollTop)}}};CKEDITOR.CTRL=1114112;CKEDITOR.SHIFT=2228224;CKEDITOR.ALT=4456448;CKEDITOR.EVENT_PHASE_CAPTURING=1;CKEDITOR.EVENT_PHASE_AT_TARGET=2;\nCKEDITOR.EVENT_PHASE_BUBBLING=3;CKEDITOR.dom.domObject=function(a){if(a)this.$=a};\nCKEDITOR.dom.domObject.prototype=function(){var a=function(a,b){return function(c){typeof CKEDITOR!=\"undefined\"&&a.fire(b,new CKEDITOR.dom.event(c))}};return{getPrivate:function(){var a;if(!(a=this.getCustomData(\"_\")))this.setCustomData(\"_\",a={});return a},on:function(e){var b=this.getCustomData(\"_cke_nativeListeners\");if(!b){b={};this.setCustomData(\"_cke_nativeListeners\",b)}if(!b[e]){b=b[e]=a(this,e);this.$.addEventListener?this.$.addEventListener(e,b,!!CKEDITOR.event.useCapture):this.$.attachEvent&&\nthis.$.attachEvent(\"on\"+e,b)}return CKEDITOR.event.prototype.on.apply(this,arguments)},removeListener:function(a){CKEDITOR.event.prototype.removeListener.apply(this,arguments);if(!this.hasListeners(a)){var b=this.getCustomData(\"_cke_nativeListeners\"),c=b&&b[a];if(c){this.$.removeEventListener?this.$.removeEventListener(a,c,false):this.$.detachEvent&&this.$.detachEvent(\"on\"+a,c);delete b[a]}}},removeAllListeners:function(){var a=this.getCustomData(\"_cke_nativeListeners\"),b;for(b in a){var c=a[b];this.$.detachEvent?\nthis.$.detachEvent(\"on\"+b,c):this.$.removeEventListener&&this.$.removeEventListener(b,c,false);delete a[b]}}}}();\n(function(a){var e={};CKEDITOR.on(\"reset\",function(){e={}});a.equals=function(a){try{return a&&a.$===this.$}catch(c){return false}};a.setCustomData=function(a,c){var d=this.getUniqueId();(e[d]||(e[d]={}))[a]=c;return this};a.getCustomData=function(a){var c=this.$[\"data-cke-expando\"];return(c=c&&e[c])&&a in c?c[a]:null};a.removeCustomData=function(a){var c=this.$[\"data-cke-expando\"],c=c&&e[c],d,h;if(c){d=c[a];h=a in c;delete c[a]}return h?d:null};a.clearCustomData=function(){this.removeAllListeners();\nvar a=this.$[\"data-cke-expando\"];a&&delete e[a]};a.getUniqueId=function(){return this.$[\"data-cke-expando\"]||(this.$[\"data-cke-expando\"]=CKEDITOR.tools.getNextNumber())};CKEDITOR.event.implementOn(a)})(CKEDITOR.dom.domObject.prototype);\nCKEDITOR.dom.node=function(a){return a?new CKEDITOR.dom[a.nodeType==CKEDITOR.NODE_DOCUMENT?\"document\":a.nodeType==CKEDITOR.NODE_ELEMENT?\"element\":a.nodeType==CKEDITOR.NODE_TEXT?\"text\":a.nodeType==CKEDITOR.NODE_COMMENT?\"comment\":a.nodeType==CKEDITOR.NODE_DOCUMENT_FRAGMENT?\"documentFragment\":\"domObject\"](a):this};CKEDITOR.dom.node.prototype=new CKEDITOR.dom.domObject;CKEDITOR.NODE_ELEMENT=1;CKEDITOR.NODE_DOCUMENT=9;CKEDITOR.NODE_TEXT=3;CKEDITOR.NODE_COMMENT=8;CKEDITOR.NODE_DOCUMENT_FRAGMENT=11;\nCKEDITOR.POSITION_IDENTICAL=0;CKEDITOR.POSITION_DISCONNECTED=1;CKEDITOR.POSITION_FOLLOWING=2;CKEDITOR.POSITION_PRECEDING=4;CKEDITOR.POSITION_IS_CONTAINED=8;CKEDITOR.POSITION_CONTAINS=16;\nCKEDITOR.tools.extend(CKEDITOR.dom.node.prototype,{appendTo:function(a,e){a.append(this,e);return a},clone:function(a,e){var b=this.$.cloneNode(a),c=function(d){d[\"data-cke-expando\"]&&(d[\"data-cke-expando\"]=false);if(d.nodeType==CKEDITOR.NODE_ELEMENT){e||d.removeAttribute(\"id\",false);if(a)for(var d=d.childNodes,b=0;b<d.length;b++)c(d[b])}};c(b);return new CKEDITOR.dom.node(b)},hasPrevious:function(){return!!this.$.previousSibling},hasNext:function(){return!!this.$.nextSibling},insertAfter:function(a){a.$.parentNode.insertBefore(this.$,\na.$.nextSibling);return a},insertBefore:function(a){a.$.parentNode.insertBefore(this.$,a.$);return a},insertBeforeMe:function(a){this.$.parentNode.insertBefore(a.$,this.$);return a},getAddress:function(a){for(var e=[],b=this.getDocument().$.documentElement,c=this.$;c&&c!=b;){var d=c.parentNode;d&&e.unshift(this.getIndex.call({$:c},a));c=d}return e},getDocument:function(){return new CKEDITOR.dom.document(this.$.ownerDocument||this.$.parentNode.ownerDocument)},getIndex:function(a){var e=this.$,b=-1,\nc;if(!this.$.parentNode)return b;do if(!a||!(e!=this.$&&e.nodeType==CKEDITOR.NODE_TEXT&&(c||!e.nodeValue))){b++;c=e.nodeType==CKEDITOR.NODE_TEXT}while(e=e.previousSibling);return b},getNextSourceNode:function(a,e,b){if(b&&!b.call)var c=b,b=function(a){return!a.equals(c)};var a=!a&&this.getFirst&&this.getFirst(),d;if(!a){if(this.type==CKEDITOR.NODE_ELEMENT&&b&&b(this,true)===false)return null;a=this.getNext()}for(;!a&&(d=(d||this).getParent());){if(b&&b(d,true)===false)return null;a=d.getNext()}return!a||\nb&&b(a)===false?null:e&&e!=a.type?a.getNextSourceNode(false,e,b):a},getPreviousSourceNode:function(a,e,b){if(b&&!b.call)var c=b,b=function(a){return!a.equals(c)};var a=!a&&this.getLast&&this.getLast(),d;if(!a){if(this.type==CKEDITOR.NODE_ELEMENT&&b&&b(this,true)===false)return null;a=this.getPrevious()}for(;!a&&(d=(d||this).getParent());){if(b&&b(d,true)===false)return null;a=d.getPrevious()}return!a||b&&b(a)===false?null:e&&a.type!=e?a.getPreviousSourceNode(false,e,b):a},getPrevious:function(a){var e=\nthis.$,b;do b=(e=e.previousSibling)&&e.nodeType!=10&&new CKEDITOR.dom.node(e);while(b&&a&&!a(b));return b},getNext:function(a){var e=this.$,b;do b=(e=e.nextSibling)&&new CKEDITOR.dom.node(e);while(b&&a&&!a(b));return b},getParent:function(a){var e=this.$.parentNode;return e&&(e.nodeType==CKEDITOR.NODE_ELEMENT||a&&e.nodeType==CKEDITOR.NODE_DOCUMENT_FRAGMENT)?new CKEDITOR.dom.node(e):null},getParents:function(a){var e=this,b=[];do b[a?\"push\":\"unshift\"](e);while(e=e.getParent());return b},getCommonAncestor:function(a){if(a.equals(this))return this;\nif(a.contains&&a.contains(this))return a;var e=this.contains?this:this.getParent();do if(e.contains(a))return e;while(e=e.getParent());return null},getPosition:function(a){var e=this.$,b=a.$;if(e.compareDocumentPosition)return e.compareDocumentPosition(b);if(e==b)return CKEDITOR.POSITION_IDENTICAL;if(this.type==CKEDITOR.NODE_ELEMENT&&a.type==CKEDITOR.NODE_ELEMENT){if(e.contains){if(e.contains(b))return CKEDITOR.POSITION_CONTAINS+CKEDITOR.POSITION_PRECEDING;if(b.contains(e))return CKEDITOR.POSITION_IS_CONTAINED+\nCKEDITOR.POSITION_FOLLOWING}if(\"sourceIndex\"in e)return e.sourceIndex<0||b.sourceIndex<0?CKEDITOR.POSITION_DISCONNECTED:e.sourceIndex<b.sourceIndex?CKEDITOR.POSITION_PRECEDING:CKEDITOR.POSITION_FOLLOWING}for(var e=this.getAddress(),a=a.getAddress(),b=Math.min(e.length,a.length),c=0;c<=b-1;c++)if(e[c]!=a[c]){if(c<b)return e[c]<a[c]?CKEDITOR.POSITION_PRECEDING:CKEDITOR.POSITION_FOLLOWING;break}return e.length<a.length?CKEDITOR.POSITION_CONTAINS+CKEDITOR.POSITION_PRECEDING:CKEDITOR.POSITION_IS_CONTAINED+\nCKEDITOR.POSITION_FOLLOWING},getAscendant:function(a,e){var b=this.$,c;if(!e)b=b.parentNode;for(;b;){if(b.nodeName&&(c=b.nodeName.toLowerCase(),typeof a==\"string\"?c==a:c in a))return new CKEDITOR.dom.node(b);try{b=b.parentNode}catch(d){b=null}}return null},hasAscendant:function(a,e){var b=this.$;if(!e)b=b.parentNode;for(;b;){if(b.nodeName&&b.nodeName.toLowerCase()==a)return true;b=b.parentNode}return false},move:function(a,e){a.append(this.remove(),e)},remove:function(a){var e=this.$,b=e.parentNode;\nif(b){if(a)for(;a=e.firstChild;)b.insertBefore(e.removeChild(a),e);b.removeChild(e)}return this},replace:function(a){this.insertBefore(a);a.remove()},trim:function(){this.ltrim();this.rtrim()},ltrim:function(){for(var a;this.getFirst&&(a=this.getFirst());){if(a.type==CKEDITOR.NODE_TEXT){var e=CKEDITOR.tools.ltrim(a.getText()),b=a.getLength();if(e){if(e.length<b){a.split(b-e.length);this.$.removeChild(this.$.firstChild)}}else{a.remove();continue}}break}},rtrim:function(){for(var a;this.getLast&&(a=\nthis.getLast());){if(a.type==CKEDITOR.NODE_TEXT){var e=CKEDITOR.tools.rtrim(a.getText()),b=a.getLength();if(e){if(e.length<b){a.split(e.length);this.$.lastChild.parentNode.removeChild(this.$.lastChild)}}else{a.remove();continue}}break}if(CKEDITOR.env.needsBrFiller)(a=this.$.lastChild)&&(a.type==1&&a.nodeName.toLowerCase()==\"br\")&&a.parentNode.removeChild(a)},isReadOnly:function(){var a=this;this.type!=CKEDITOR.NODE_ELEMENT&&(a=this.getParent());if(a&&typeof a.$.isContentEditable!=\"undefined\")return!(a.$.isContentEditable||\na.data(\"cke-editable\"));for(;a;){if(a.data(\"cke-editable\"))break;if(a.getAttribute(\"contentEditable\")==\"false\")return true;if(a.getAttribute(\"contentEditable\")==\"true\")break;a=a.getParent()}return!a}});CKEDITOR.dom.window=function(a){CKEDITOR.dom.domObject.call(this,a)};CKEDITOR.dom.window.prototype=new CKEDITOR.dom.domObject;\nCKEDITOR.tools.extend(CKEDITOR.dom.window.prototype,{focus:function(){this.$.focus()},getViewPaneSize:function(){var a=this.$.document,e=a.compatMode==\"CSS1Compat\";return{width:(e?a.documentElement.clientWidth:a.body.clientWidth)||0,height:(e?a.documentElement.clientHeight:a.body.clientHeight)||0}},getScrollPosition:function(){var a=this.$;if(\"pageXOffset\"in a)return{x:a.pageXOffset||0,y:a.pageYOffset||0};a=a.document;return{x:a.documentElement.scrollLeft||a.body.scrollLeft||0,y:a.documentElement.scrollTop||\na.body.scrollTop||0}},getFrame:function(){var a=this.$.frameElement;return a?new CKEDITOR.dom.element.get(a):null}});CKEDITOR.dom.document=function(a){CKEDITOR.dom.domObject.call(this,a)};CKEDITOR.dom.document.prototype=new CKEDITOR.dom.domObject;\nCKEDITOR.tools.extend(CKEDITOR.dom.document.prototype,{type:CKEDITOR.NODE_DOCUMENT,appendStyleSheet:function(a){if(this.$.createStyleSheet)this.$.createStyleSheet(a);else{var e=new CKEDITOR.dom.element(\"link\");e.setAttributes({rel:\"stylesheet\",type:\"text/css\",href:a});this.getHead().append(e)}},appendStyleText:function(a){if(this.$.createStyleSheet){var e=this.$.createStyleSheet(\"\");e.cssText=a}else{var b=new CKEDITOR.dom.element(\"style\",this);b.append(new CKEDITOR.dom.text(a,this));this.getHead().append(b)}return e||\nb.$.sheet},createElement:function(a,e){var b=new CKEDITOR.dom.element(a,this);if(e){e.attributes&&b.setAttributes(e.attributes);e.styles&&b.setStyles(e.styles)}return b},createText:function(a){return new CKEDITOR.dom.text(a,this)},focus:function(){this.getWindow().focus()},getActive:function(){return new CKEDITOR.dom.element(this.$.activeElement)},getById:function(a){return(a=this.$.getElementById(a))?new CKEDITOR.dom.element(a):null},getByAddress:function(a,e){for(var b=this.$.documentElement,c=\n0;b&&c<a.length;c++){var d=a[c];if(e)for(var h=-1,g=0;g<b.childNodes.length;g++){var n=b.childNodes[g];if(!(e===true&&n.nodeType==3&&n.previousSibling&&n.previousSibling.nodeType==3)){h++;if(h==d){b=n;break}}}else b=b.childNodes[d]}return b?new CKEDITOR.dom.node(b):null},getElementsByTag:function(a,e){if((!CKEDITOR.env.ie||document.documentMode>8)&&e)a=e+\":\"+a;return new CKEDITOR.dom.nodeList(this.$.getElementsByTagName(a))},getHead:function(){var a=this.$.getElementsByTagName(\"head\")[0];return a=\na?new CKEDITOR.dom.element(a):this.getDocumentElement().append(new CKEDITOR.dom.element(\"head\"),true)},getBody:function(){return new CKEDITOR.dom.element(this.$.body)},getDocumentElement:function(){return new CKEDITOR.dom.element(this.$.documentElement)},getWindow:function(){return new CKEDITOR.dom.window(this.$.parentWindow||this.$.defaultView)},write:function(a){this.$.open(\"text/html\",\"replace\");CKEDITOR.env.ie&&(a=a.replace(/(?:^\\s*<!DOCTYPE[^>]*?>)|^/i,'$&\\n<script data-cke-temp=\"1\">('+CKEDITOR.tools.fixDomain+\n\")();<\\/script>\"));this.$.write(a);this.$.close()},find:function(a){return new CKEDITOR.dom.nodeList(this.$.querySelectorAll(a))},findOne:function(a){return(a=this.$.querySelector(a))?new CKEDITOR.dom.element(a):null},_getHtml5ShivFrag:function(){var a=this.getCustomData(\"html5ShivFrag\");if(!a){a=this.$.createDocumentFragment();CKEDITOR.tools.enableHtml5Elements(a,true);this.setCustomData(\"html5ShivFrag\",a)}return a}});CKEDITOR.dom.nodeList=function(a){this.$=a};\nCKEDITOR.dom.nodeList.prototype={count:function(){return this.$.length},getItem:function(a){if(a<0||a>=this.$.length)return null;return(a=this.$[a])?new CKEDITOR.dom.node(a):null}};CKEDITOR.dom.element=function(a,e){typeof a==\"string\"&&(a=(e?e.$:document).createElement(a));CKEDITOR.dom.domObject.call(this,a)};CKEDITOR.dom.element.get=function(a){return(a=typeof a==\"string\"?document.getElementById(a)||document.getElementsByName(a)[0]:a)&&(a.$?a:new CKEDITOR.dom.element(a))};\nCKEDITOR.dom.element.prototype=new CKEDITOR.dom.node;CKEDITOR.dom.element.createFromHtml=function(a,e){var b=new CKEDITOR.dom.element(\"div\",e);b.setHtml(a);return b.getFirst().remove()};\nCKEDITOR.dom.element.setMarker=function(a,e,b,c){var d=e.getCustomData(\"list_marker_id\")||e.setCustomData(\"list_marker_id\",CKEDITOR.tools.getNextNumber()).getCustomData(\"list_marker_id\"),h=e.getCustomData(\"list_marker_names\")||e.setCustomData(\"list_marker_names\",{}).getCustomData(\"list_marker_names\");a[d]=e;h[b]=1;return e.setCustomData(b,c)};CKEDITOR.dom.element.clearAllMarkers=function(a){for(var e in a)CKEDITOR.dom.element.clearMarkers(a,a[e],1)};\nCKEDITOR.dom.element.clearMarkers=function(a,e,b){var c=e.getCustomData(\"list_marker_names\"),d=e.getCustomData(\"list_marker_id\"),h;for(h in c)e.removeCustomData(h);e.removeCustomData(\"list_marker_names\");if(b){e.removeCustomData(\"list_marker_id\");delete a[d]}};\n(function(){function a(a){var b=true;if(!a.$.id){a.$.id=\"cke_tmp_\"+CKEDITOR.tools.getNextNumber();b=false}return function(){b||a.removeAttribute(\"id\")}}function e(a,b){return\"#\"+a.$.id+\" \"+b.split(/,\\s*/).join(\", #\"+a.$.id+\" \")}function b(a){for(var b=0,e=0,n=c[a].length;e<n;e++)b=b+(parseInt(this.getComputedStyle(c[a][e])||0,10)||0);return b}CKEDITOR.tools.extend(CKEDITOR.dom.element.prototype,{type:CKEDITOR.NODE_ELEMENT,addClass:function(a){var b=this.$.className;b&&(RegExp(\"(?:^|\\\\s)\"+a+\"(?:\\\\s|$)\",\n\"\").test(b)||(b=b+(\" \"+a)));this.$.className=b||a},removeClass:function(a){var b=this.getAttribute(\"class\");if(b){a=RegExp(\"(?:^|\\\\s+)\"+a+\"(?=\\\\s|$)\",\"i\");if(a.test(b))(b=b.replace(a,\"\").replace(/^\\s+/,\"\"))?this.setAttribute(\"class\",b):this.removeAttribute(\"class\")}return this},hasClass:function(a){return RegExp(\"(?:^|\\\\s+)\"+a+\"(?=\\\\s|$)\",\"\").test(this.getAttribute(\"class\"))},append:function(a,b){typeof a==\"string\"&&(a=this.getDocument().createElement(a));b?this.$.insertBefore(a.$,this.$.firstChild):\nthis.$.appendChild(a.$);return a},appendHtml:function(a){if(this.$.childNodes.length){var b=new CKEDITOR.dom.element(\"div\",this.getDocument());b.setHtml(a);b.moveChildren(this)}else this.setHtml(a)},appendText:function(a){this.$.text!=void 0?this.$.text=this.$.text+a:this.append(new CKEDITOR.dom.text(a))},appendBogus:function(a){if(a||CKEDITOR.env.needsBrFiller||CKEDITOR.env.opera){for(a=this.getLast();a&&a.type==CKEDITOR.NODE_TEXT&&!CKEDITOR.tools.rtrim(a.getText());)a=a.getPrevious();if(!a||!a.is||\n!a.is(\"br\")){a=CKEDITOR.env.opera?this.getDocument().createText(\"\"):this.getDocument().createElement(\"br\");CKEDITOR.env.gecko&&a.setAttribute(\"type\",\"_moz\");this.append(a)}}},breakParent:function(a){var b=new CKEDITOR.dom.range(this.getDocument());b.setStartAfter(this);b.setEndAfter(a);a=b.extractContents();b.insertNode(this.remove());a.insertAfterNode(this)},contains:CKEDITOR.env.ie||CKEDITOR.env.webkit?function(a){var b=this.$;return a.type!=CKEDITOR.NODE_ELEMENT?b.contains(a.getParent().$):b!=\na.$&&b.contains(a.$)}:function(a){return!!(this.$.compareDocumentPosition(a.$)&16)},focus:function(){function a(){try{this.$.focus()}catch(b){}}return function(b){b?CKEDITOR.tools.setTimeout(a,100,this):a.call(this)}}(),getHtml:function(){var a=this.$.innerHTML;return CKEDITOR.env.ie?a.replace(/<\\?[^>]*>/g,\"\"):a},getOuterHtml:function(){if(this.$.outerHTML)return this.$.outerHTML.replace(/<\\?[^>]*>/,\"\");var a=this.$.ownerDocument.createElement(\"div\");a.appendChild(this.$.cloneNode(true));return a.innerHTML},\ngetClientRect:function(){var a=CKEDITOR.tools.extend({},this.$.getBoundingClientRect());!a.width&&(a.width=a.right-a.left);!a.height&&(a.height=a.bottom-a.top);return a},setHtml:CKEDITOR.env.ie&&CKEDITOR.env.version<9?function(a){try{var b=this.$;if(this.getParent())return b.innerHTML=a;var c=this.getDocument()._getHtml5ShivFrag();c.appendChild(b);b.innerHTML=a;c.removeChild(b);return a}catch(e){this.$.innerHTML=\"\";b=new CKEDITOR.dom.element(\"body\",this.getDocument());b.$.innerHTML=a;for(b=b.getChildren();b.count();)this.append(b.getItem(0));\nreturn a}}:function(a){return this.$.innerHTML=a},setText:function(a){CKEDITOR.dom.element.prototype.setText=this.$.innerText!=void 0?function(a){return this.$.innerText=a}:function(a){return this.$.textContent=a};return this.setText(a)},getAttribute:function(){var a=function(a){return this.$.getAttribute(a,2)};return CKEDITOR.env.ie&&(CKEDITOR.env.ie7Compat||CKEDITOR.env.ie6Compat)?function(a){switch(a){case \"class\":a=\"className\";break;case \"http-equiv\":a=\"httpEquiv\";break;case \"name\":return this.$.name;\ncase \"tabindex\":a=this.$.getAttribute(a,2);a!==0&&this.$.tabIndex===0&&(a=null);return a;case \"checked\":a=this.$.attributes.getNamedItem(a);return(a.specified?a.nodeValue:this.$.checked)?\"checked\":null;case \"hspace\":case \"value\":return this.$[a];case \"style\":return this.$.style.cssText;case \"contenteditable\":case \"contentEditable\":return this.$.attributes.getNamedItem(\"contentEditable\").specified?this.$.getAttribute(\"contentEditable\"):null}return this.$.getAttribute(a,2)}:a}(),getChildren:function(){return new CKEDITOR.dom.nodeList(this.$.childNodes)},\ngetComputedStyle:CKEDITOR.env.ie?function(a){return this.$.currentStyle[CKEDITOR.tools.cssStyleToDomStyle(a)]}:function(a){var b=this.getWindow().$.getComputedStyle(this.$,null);return b?b.getPropertyValue(a):\"\"},getDtd:function(){var a=CKEDITOR.dtd[this.getName()];this.getDtd=function(){return a};return a},getElementsByTag:CKEDITOR.dom.document.prototype.getElementsByTag,getTabIndex:CKEDITOR.env.ie?function(){var a=this.$.tabIndex;a===0&&(!CKEDITOR.dtd.$tabIndex[this.getName()]&&parseInt(this.getAttribute(\"tabindex\"),\n10)!==0)&&(a=-1);return a}:CKEDITOR.env.webkit?function(){var a=this.$.tabIndex;if(a==void 0){a=parseInt(this.getAttribute(\"tabindex\"),10);isNaN(a)&&(a=-1)}return a}:function(){return this.$.tabIndex},getText:function(){return this.$.textContent||this.$.innerText||\"\"},getWindow:function(){return this.getDocument().getWindow()},getId:function(){return this.$.id||null},getNameAtt:function(){return this.$.name||null},getName:function(){var a=this.$.nodeName.toLowerCase();if(CKEDITOR.env.ie&&!(document.documentMode>\n8)){var b=this.$.scopeName;b!=\"HTML\"&&(a=b.toLowerCase()+\":\"+a)}return(this.getName=function(){return a})()},getValue:function(){return this.$.value},getFirst:function(a){var b=this.$.firstChild;(b=b&&new CKEDITOR.dom.node(b))&&(a&&!a(b))&&(b=b.getNext(a));return b},getLast:function(a){var b=this.$.lastChild;(b=b&&new CKEDITOR.dom.node(b))&&(a&&!a(b))&&(b=b.getPrevious(a));return b},getStyle:function(a){return this.$.style[CKEDITOR.tools.cssStyleToDomStyle(a)]},is:function(){var a=this.getName();\nif(typeof arguments[0]==\"object\")return!!arguments[0][a];for(var b=0;b<arguments.length;b++)if(arguments[b]==a)return true;return false},isEditable:function(a){var b=this.getName();if(this.isReadOnly()||this.getComputedStyle(\"display\")==\"none\"||this.getComputedStyle(\"visibility\")==\"hidden\"||CKEDITOR.dtd.$nonEditable[b]||CKEDITOR.dtd.$empty[b]||this.is(\"a\")&&(this.data(\"cke-saved-name\")||this.hasAttribute(\"name\"))&&!this.getChildCount())return false;if(a!==false){a=CKEDITOR.dtd[b]||CKEDITOR.dtd.span;\nreturn!(!a||!a[\"#\"])}return true},isIdentical:function(a){var b=this.clone(0,1),a=a.clone(0,1);b.removeAttributes([\"_moz_dirty\",\"data-cke-expando\",\"data-cke-saved-href\",\"data-cke-saved-name\"]);a.removeAttributes([\"_moz_dirty\",\"data-cke-expando\",\"data-cke-saved-href\",\"data-cke-saved-name\"]);if(b.$.isEqualNode){b.$.style.cssText=CKEDITOR.tools.normalizeCssText(b.$.style.cssText);a.$.style.cssText=CKEDITOR.tools.normalizeCssText(a.$.style.cssText);return b.$.isEqualNode(a.$)}b=b.getOuterHtml();a=a.getOuterHtml();\nif(CKEDITOR.env.ie&&CKEDITOR.env.version<9&&this.is(\"a\")){var c=this.getParent();if(c.type==CKEDITOR.NODE_ELEMENT){c=c.clone();c.setHtml(b);b=c.getHtml();c.setHtml(a);a=c.getHtml()}}return b==a},isVisible:function(){var a=(this.$.offsetHeight||this.$.offsetWidth)&&this.getComputedStyle(\"visibility\")!=\"hidden\",b,c;if(a&&(CKEDITOR.env.webkit||CKEDITOR.env.opera)){b=this.getWindow();if(!b.equals(CKEDITOR.document.getWindow())&&(c=b.$.frameElement))a=(new CKEDITOR.dom.element(c)).isVisible()}return!!a},\nisEmptyInlineRemoveable:function(){if(!CKEDITOR.dtd.$removeEmpty[this.getName()])return false;for(var a=this.getChildren(),b=0,c=a.count();b<c;b++){var e=a.getItem(b);if(!(e.type==CKEDITOR.NODE_ELEMENT&&e.data(\"cke-bookmark\"))&&(e.type==CKEDITOR.NODE_ELEMENT&&!e.isEmptyInlineRemoveable()||e.type==CKEDITOR.NODE_TEXT&&CKEDITOR.tools.trim(e.getText())))return false}return true},hasAttributes:CKEDITOR.env.ie&&(CKEDITOR.env.ie7Compat||CKEDITOR.env.ie6Compat)?function(){for(var a=this.$.attributes,b=0;b<\na.length;b++){var c=a[b];switch(c.nodeName){case \"class\":if(this.getAttribute(\"class\"))return true;case \"data-cke-expando\":continue;default:if(c.specified)return true}}return false}:function(){var a=this.$.attributes,b=a.length,c={\"data-cke-expando\":1,_moz_dirty:1};return b>0&&(b>2||!c[a[0].nodeName]||b==2&&!c[a[1].nodeName])},hasAttribute:function(){function a(b){b=this.$.attributes.getNamedItem(b);return!(!b||!b.specified)}return CKEDITOR.env.ie&&CKEDITOR.env.version<8?function(b){return b==\"name\"?\n!!this.$.name:a.call(this,b)}:a}(),hide:function(){this.setStyle(\"display\",\"none\")},moveChildren:function(a,b){var c=this.$,a=a.$;if(c!=a){var e;if(b)for(;e=c.lastChild;)a.insertBefore(c.removeChild(e),a.firstChild);else for(;e=c.firstChild;)a.appendChild(c.removeChild(e))}},mergeSiblings:function(){function a(b,d,c){if(d&&d.type==CKEDITOR.NODE_ELEMENT){for(var e=[];d.data(\"cke-bookmark\")||d.isEmptyInlineRemoveable();){e.push(d);d=c?d.getNext():d.getPrevious();if(!d||d.type!=CKEDITOR.NODE_ELEMENT)return}if(b.isIdentical(d)){for(var j=\nc?b.getLast():b.getFirst();e.length;)e.shift().move(b,!c);d.moveChildren(b,!c);d.remove();j&&j.type==CKEDITOR.NODE_ELEMENT&&j.mergeSiblings()}}}return function(b){if(b===false||CKEDITOR.dtd.$removeEmpty[this.getName()]||this.is(\"a\")){a(this,this.getNext(),true);a(this,this.getPrevious())}}}(),show:function(){this.setStyles({display:\"\",visibility:\"\"})},setAttribute:function(){var a=function(a,b){this.$.setAttribute(a,b);return this};return CKEDITOR.env.ie&&(CKEDITOR.env.ie7Compat||CKEDITOR.env.ie6Compat)?\nfunction(b,c){b==\"class\"?this.$.className=c:b==\"style\"?this.$.style.cssText=c:b==\"tabindex\"?this.$.tabIndex=c:b==\"checked\"?this.$.checked=c:b==\"contenteditable\"?a.call(this,\"contentEditable\",c):a.apply(this,arguments);return this}:CKEDITOR.env.ie8Compat&&CKEDITOR.env.secure?function(b,c){if(b==\"src\"&&c.match(/^http:\\/\\//))try{a.apply(this,arguments)}catch(e){}else a.apply(this,arguments);return this}:a}(),setAttributes:function(a){for(var b in a)this.setAttribute(b,a[b]);return this},setValue:function(a){this.$.value=\na;return this},removeAttribute:function(){var a=function(a){this.$.removeAttribute(a)};return CKEDITOR.env.ie&&(CKEDITOR.env.ie7Compat||CKEDITOR.env.ie6Compat)?function(a){a==\"class\"?a=\"className\":a==\"tabindex\"?a=\"tabIndex\":a==\"contenteditable\"&&(a=\"contentEditable\");this.$.removeAttribute(a)}:a}(),removeAttributes:function(a){if(CKEDITOR.tools.isArray(a))for(var b=0;b<a.length;b++)this.removeAttribute(a[b]);else for(b in a)a.hasOwnProperty(b)&&this.removeAttribute(b)},removeStyle:function(a){var b=\nthis.$.style;if(!b.removeProperty&&(a==\"border\"||a==\"margin\"||a==\"padding\")){var c=[\"top\",\"left\",\"right\",\"bottom\"],e;a==\"border\"&&(e=[\"color\",\"style\",\"width\"]);for(var b=[],i=0;i<c.length;i++)if(e)for(var j=0;j<e.length;j++)b.push([a,c[i],e[j]].join(\"-\"));else b.push([a,c[i]].join(\"-\"));for(a=0;a<b.length;a++)this.removeStyle(b[a])}else{b.removeProperty?b.removeProperty(a):b.removeAttribute(CKEDITOR.tools.cssStyleToDomStyle(a));this.$.style.cssText||this.removeAttribute(\"style\")}},setStyle:function(a,\nb){this.$.style[CKEDITOR.tools.cssStyleToDomStyle(a)]=b;return this},setStyles:function(a){for(var b in a)this.setStyle(b,a[b]);return this},setOpacity:function(a){if(CKEDITOR.env.ie&&CKEDITOR.env.version<9){a=Math.round(a*100);this.setStyle(\"filter\",a>=100?\"\":\"progid:DXImageTransform.Microsoft.Alpha(opacity=\"+a+\")\")}else this.setStyle(\"opacity\",a)},unselectable:function(){this.setStyles(CKEDITOR.tools.cssVendorPrefix(\"user-select\",\"none\"));if(CKEDITOR.env.ie||CKEDITOR.env.opera){this.setAttribute(\"unselectable\",\n\"on\");for(var a,b=this.getElementsByTag(\"*\"),c=0,e=b.count();c<e;c++){a=b.getItem(c);a.setAttribute(\"unselectable\",\"on\")}}},getPositionedAncestor:function(){for(var a=this;a.getName()!=\"html\";){if(a.getComputedStyle(\"position\")!=\"static\")return a;a=a.getParent()}return null},getDocumentPosition:function(a){var b=0,c=0,e=this.getDocument(),i=e.getBody(),j=e.$.compatMode==\"BackCompat\";if(document.documentElement.getBoundingClientRect){var o=this.$.getBoundingClientRect(),q=e.$.documentElement,s=q.clientTop||\ni.$.clientTop||0,u=q.clientLeft||i.$.clientLeft||0,f=true;if(CKEDITOR.env.ie){f=e.getDocumentElement().contains(this);e=e.getBody().contains(this);f=j&&e||!j&&f}if(f){b=o.left+(!j&&q.scrollLeft||i.$.scrollLeft);b=b-u;c=o.top+(!j&&q.scrollTop||i.$.scrollTop);c=c-s}}else{i=this;for(e=null;i&&!(i.getName()==\"body\"||i.getName()==\"html\");){b=b+(i.$.offsetLeft-i.$.scrollLeft);c=c+(i.$.offsetTop-i.$.scrollTop);if(!i.equals(this)){b=b+(i.$.clientLeft||0);c=c+(i.$.clientTop||0)}for(;e&&!e.equals(i);){b=b-\ne.$.scrollLeft;c=c-e.$.scrollTop;e=e.getParent()}e=i;i=(o=i.$.offsetParent)?new CKEDITOR.dom.element(o):null}}if(a){i=this.getWindow();e=a.getWindow();if(!i.equals(e)&&i.$.frameElement){a=(new CKEDITOR.dom.element(i.$.frameElement)).getDocumentPosition(a);b=b+a.x;c=c+a.y}}if(!document.documentElement.getBoundingClientRect&&CKEDITOR.env.gecko&&!j){b=b+(this.$.clientLeft?1:0);c=c+(this.$.clientTop?1:0)}return{x:b,y:c}},scrollIntoView:function(a){var b=this.getParent();if(b){do{(b.$.clientWidth&&b.$.clientWidth<\nb.$.scrollWidth||b.$.clientHeight&&b.$.clientHeight<b.$.scrollHeight)&&!b.is(\"body\")&&this.scrollIntoParent(b,a,1);if(b.is(\"html\")){var c=b.getWindow();try{var e=c.$.frameElement;e&&(b=new CKEDITOR.dom.element(e))}catch(i){}}}while(b=b.getParent())}},scrollIntoParent:function(a,b,c){var e,i,j,o;function q(b,f){if(/body|html/.test(a.getName()))a.getWindow().$.scrollBy(b,f);else{a.$.scrollLeft=a.$.scrollLeft+b;a.$.scrollTop=a.$.scrollTop+f}}function s(a,b){var d={x:0,y:0};if(!a.is(f?\"body\":\"html\")){var c=\na.$.getBoundingClientRect();d.x=c.left;d.y=c.top}c=a.getWindow();if(!c.equals(b)){c=s(CKEDITOR.dom.element.get(c.$.frameElement),b);d.x=d.x+c.x;d.y=d.y+c.y}return d}function u(a,b){return parseInt(a.getComputedStyle(\"margin-\"+b)||0,10)||0}!a&&(a=this.getWindow());j=a.getDocument();var f=j.$.compatMode==\"BackCompat\";a instanceof CKEDITOR.dom.window&&(a=f?j.getBody():j.getDocumentElement());j=a.getWindow();i=s(this,j);var p=s(a,j),y=this.$.offsetHeight;e=this.$.offsetWidth;var m=a.$.clientHeight,k=\na.$.clientWidth;j=i.x-u(this,\"left\")-p.x||0;o=i.y-u(this,\"top\")-p.y||0;e=i.x+e+u(this,\"right\")-(p.x+k)||0;i=i.y+y+u(this,\"bottom\")-(p.y+m)||0;if(o<0||i>0)q(0,b===true?o:b===false?i:o<0?o:i);if(c&&(j<0||e>0))q(j<0?j:e,0)},setState:function(a,b,c){b=b||\"cke\";switch(a){case CKEDITOR.TRISTATE_ON:this.addClass(b+\"_on\");this.removeClass(b+\"_off\");this.removeClass(b+\"_disabled\");c&&this.setAttribute(\"aria-pressed\",true);c&&this.removeAttribute(\"aria-disabled\");break;case CKEDITOR.TRISTATE_DISABLED:this.addClass(b+\n\"_disabled\");this.removeClass(b+\"_off\");this.removeClass(b+\"_on\");c&&this.setAttribute(\"aria-disabled\",true);c&&this.removeAttribute(\"aria-pressed\");break;default:this.addClass(b+\"_off\");this.removeClass(b+\"_on\");this.removeClass(b+\"_disabled\");c&&this.removeAttribute(\"aria-pressed\");c&&this.removeAttribute(\"aria-disabled\")}},getFrameDocument:function(){var a=this.$;try{a.contentWindow.document}catch(b){a.src=a.src}return a&&new CKEDITOR.dom.document(a.contentWindow.document)},copyAttributes:function(a,\nb){for(var c=this.$.attributes,b=b||{},e=0;e<c.length;e++){var i=c[e],j=i.nodeName.toLowerCase(),o;if(!(j in b))if(j==\"checked\"&&(o=this.getAttribute(j)))a.setAttribute(j,o);else if(i.specified||CKEDITOR.env.ie&&i.nodeValue&&j==\"value\"){o=this.getAttribute(j);if(o===null)o=i.nodeValue;a.setAttribute(j,o)}}if(this.$.style.cssText!==\"\")a.$.style.cssText=this.$.style.cssText},renameNode:function(a){if(this.getName()!=a){var b=this.getDocument(),a=new CKEDITOR.dom.element(a,b);this.copyAttributes(a);\nthis.moveChildren(a);this.getParent()&&this.$.parentNode.replaceChild(a.$,this.$);a.$[\"data-cke-expando\"]=this.$[\"data-cke-expando\"];this.$=a.$}},getChild:function(){function a(b,c){var d=b.childNodes;if(c>=0&&c<d.length)return d[c]}return function(b){var c=this.$;if(b.slice)for(;b.length>0&&c;)c=a(c,b.shift());else c=a(c,b);return c?new CKEDITOR.dom.node(c):null}}(),getChildCount:function(){return this.$.childNodes.length},disableContextMenu:function(){this.on(\"contextmenu\",function(a){a.data.getTarget().hasClass(\"cke_enable_context_menu\")||\na.data.preventDefault()})},getDirection:function(a){return a?this.getComputedStyle(\"direction\")||this.getDirection()||this.getParent()&&this.getParent().getDirection(1)||this.getDocument().$.dir||\"ltr\":this.getStyle(\"direction\")||this.getAttribute(\"dir\")},data:function(a,b){a=\"data-\"+a;if(b===void 0)return this.getAttribute(a);b===false?this.removeAttribute(a):this.setAttribute(a,b);return null},getEditor:function(){var a=CKEDITOR.instances,b,c;for(b in a){c=a[b];if(c.element.equals(this)&&c.elementMode!=\nCKEDITOR.ELEMENT_MODE_APPENDTO)return c}return null},find:function(b){var c=a(this),b=new CKEDITOR.dom.nodeList(this.$.querySelectorAll(e(this,b)));c();return b},findOne:function(b){var c=a(this),b=this.$.querySelector(e(this,b));c();return b?new CKEDITOR.dom.element(b):null},forEach:function(a,b,c){if(!c&&(!b||this.type==b))var e=a(this);if(e!==false)for(var c=this.getChildren(),i=0;i<c.count();i++){e=c.getItem(i);e.type==CKEDITOR.NODE_ELEMENT?e.forEach(a,b):(!b||e.type==b)&&a(e)}}});var c={width:[\"border-left-width\",\n\"border-right-width\",\"padding-left\",\"padding-right\"],height:[\"border-top-width\",\"border-bottom-width\",\"padding-top\",\"padding-bottom\"]};CKEDITOR.dom.element.prototype.setSize=function(a,c,e){if(typeof c==\"number\"){if(e&&(!CKEDITOR.env.ie||!CKEDITOR.env.quirks))c=c-b.call(this,a);this.setStyle(a,c+\"px\")}};CKEDITOR.dom.element.prototype.getSize=function(a,c){var e=Math.max(this.$[\"offset\"+CKEDITOR.tools.capitalize(a)],this.$[\"client\"+CKEDITOR.tools.capitalize(a)])||0;c&&(e=e-b.call(this,a));return e}})();\nCKEDITOR.dom.documentFragment=function(a){a=a||CKEDITOR.document;this.$=a.type==CKEDITOR.NODE_DOCUMENT?a.$.createDocumentFragment():a};\nCKEDITOR.tools.extend(CKEDITOR.dom.documentFragment.prototype,CKEDITOR.dom.element.prototype,{type:CKEDITOR.NODE_DOCUMENT_FRAGMENT,insertAfterNode:function(a){a=a.$;a.parentNode.insertBefore(this.$,a.nextSibling)}},!0,{append:1,appendBogus:1,getFirst:1,getLast:1,getParent:1,getNext:1,getPrevious:1,appendTo:1,moveChildren:1,insertBefore:1,insertAfterNode:1,replace:1,trim:1,type:1,ltrim:1,rtrim:1,getDocument:1,getChildCount:1,getChild:1,getChildren:1});\n(function(){function a(a,b){var c=this.range;if(this._.end)return null;if(!this._.start){this._.start=1;if(c.collapsed){this.end();return null}c.optimize()}var f,d=c.startContainer;f=c.endContainer;var o=c.startOffset,e=c.endOffset,k,l=this.guard,t=this.type,h=a?\"getPreviousSourceNode\":\"getNextSourceNode\";if(!a&&!this._.guardLTR){var r=f.type==CKEDITOR.NODE_ELEMENT?f:f.getParent(),i=f.type==CKEDITOR.NODE_ELEMENT?f.getChild(e):f.getNext();this._.guardLTR=function(a,b){return(!b||!r.equals(a))&&(!i||\n!a.equals(i))&&(a.type!=CKEDITOR.NODE_ELEMENT||!b||!a.equals(c.root))}}if(a&&!this._.guardRTL){var g=d.type==CKEDITOR.NODE_ELEMENT?d:d.getParent(),j=d.type==CKEDITOR.NODE_ELEMENT?o?d.getChild(o-1):null:d.getPrevious();this._.guardRTL=function(a,b){return(!b||!g.equals(a))&&(!j||!a.equals(j))&&(a.type!=CKEDITOR.NODE_ELEMENT||!b||!a.equals(c.root))}}var n=a?this._.guardRTL:this._.guardLTR;k=l?function(a,b){return n(a,b)===false?false:l(a,b)}:n;if(this.current)f=this.current[h](false,t,k);else{if(a)f.type==\nCKEDITOR.NODE_ELEMENT&&(f=e>0?f.getChild(e-1):k(f,true)===false?null:f.getPreviousSourceNode(true,t,k));else{f=d;if(f.type==CKEDITOR.NODE_ELEMENT&&!(f=f.getChild(o)))f=k(d,true)===false?null:d.getNextSourceNode(true,t,k)}f&&k(f)===false&&(f=null)}for(;f&&!this._.end;){this.current=f;if(!this.evaluator||this.evaluator(f)!==false){if(!b)return f}else if(b&&this.evaluator)return false;f=f[h](false,t,k)}this.end();return this.current=null}function e(b){for(var c,d=null;c=a.call(this,b);)d=c;return d}\nfunction b(a){if(j(a))return false;if(a.type==CKEDITOR.NODE_TEXT)return true;if(a.type==CKEDITOR.NODE_ELEMENT){if(a.is(CKEDITOR.dtd.$inline)||a.getAttribute(\"contenteditable\")==\"false\")return true;var b;if(b=!CKEDITOR.env.needsBrFiller)if(b=a.is(o))a:{b=0;for(var c=a.getChildCount();b<c;++b)if(!j(a.getChild(b))){b=false;break a}b=true}if(b)return true}return false}CKEDITOR.dom.walker=CKEDITOR.tools.createClass({$:function(a){this.range=a;this._={}},proto:{end:function(){this._.end=1},next:function(){return a.call(this)},\nprevious:function(){return a.call(this,1)},checkForward:function(){return a.call(this,0,1)!==false},checkBackward:function(){return a.call(this,1,1)!==false},lastForward:function(){return e.call(this)},lastBackward:function(){return e.call(this,1)},reset:function(){delete this.current;this._={}}}});var c={block:1,\"list-item\":1,table:1,\"table-row-group\":1,\"table-header-group\":1,\"table-footer-group\":1,\"table-row\":1,\"table-column-group\":1,\"table-column\":1,\"table-cell\":1,\"table-caption\":1},d={absolute:1,\nfixed:1};CKEDITOR.dom.element.prototype.isBlockBoundary=function(a){return this.getComputedStyle(\"float\")==\"none\"&&!(this.getComputedStyle(\"position\")in d)&&c[this.getComputedStyle(\"display\")]?true:!!(this.is(CKEDITOR.dtd.$block)||a&&this.is(a))};CKEDITOR.dom.walker.blockBoundary=function(a){return function(b){return!(b.type==CKEDITOR.NODE_ELEMENT&&b.isBlockBoundary(a))}};CKEDITOR.dom.walker.listItemBoundary=function(){return this.blockBoundary({br:1})};CKEDITOR.dom.walker.bookmark=function(a,b){function c(a){return a&&\na.getName&&a.getName()==\"span\"&&a.data(\"cke-bookmark\")}return function(f){var d,o;d=f&&f.type!=CKEDITOR.NODE_ELEMENT&&(o=f.getParent())&&c(o);d=a?d:d||c(f);return!!(b^d)}};CKEDITOR.dom.walker.whitespaces=function(a){return function(b){var c;b&&b.type==CKEDITOR.NODE_TEXT&&(c=!CKEDITOR.tools.trim(b.getText())||CKEDITOR.env.webkit&&b.getText()==\"​\");return!!(a^c)}};CKEDITOR.dom.walker.invisible=function(a){var b=CKEDITOR.dom.walker.whitespaces();return function(c){if(b(c))c=1;else{c.type==CKEDITOR.NODE_TEXT&&\n(c=c.getParent());c=!c.$.offsetHeight}return!!(a^c)}};CKEDITOR.dom.walker.nodeType=function(a,b){return function(c){return!!(b^c.type==a)}};CKEDITOR.dom.walker.bogus=function(a){function b(a){return!g(a)&&!n(a)}return function(c){var f=CKEDITOR.env.needsBrFiller?c.is&&c.is(\"br\"):c.getText&&h.test(c.getText());if(f){f=c.getParent();c=c.getNext(b);f=f.isBlockBoundary()&&(!c||c.type==CKEDITOR.NODE_ELEMENT&&c.isBlockBoundary())}return!!(a^f)}};CKEDITOR.dom.walker.temp=function(a){return function(b){b.type!=\nCKEDITOR.NODE_ELEMENT&&(b=b.getParent());b=b&&b.hasAttribute(\"data-cke-temp\");return!!(a^b)}};var h=/^[\\t\\r\\n ]*(?:&nbsp;|\\xa0)$/,g=CKEDITOR.dom.walker.whitespaces(),n=CKEDITOR.dom.walker.bookmark(),i=CKEDITOR.dom.walker.temp();CKEDITOR.dom.walker.ignored=function(a){return function(b){b=g(b)||n(b)||i(b);return!!(a^b)}};var j=CKEDITOR.dom.walker.ignored(),o=function(a){var b={},c;for(c in a)CKEDITOR.dtd[c][\"#\"]&&(b[c]=1);return b}(CKEDITOR.dtd.$block);CKEDITOR.dom.walker.editable=function(a){return function(c){return!!(a^\nb(c))}};CKEDITOR.dom.element.prototype.getBogus=function(){var a=this;do a=a.getPreviousSourceNode();while(n(a)||g(a)||a.type==CKEDITOR.NODE_ELEMENT&&a.is(CKEDITOR.dtd.$inline)&&!a.is(CKEDITOR.dtd.$empty));return a&&(CKEDITOR.env.needsBrFiller?a.is&&a.is(\"br\"):a.getText&&h.test(a.getText()))?a:false}})();\nCKEDITOR.dom.range=function(a){this.endOffset=this.endContainer=this.startOffset=this.startContainer=null;this.collapsed=true;var e=a instanceof CKEDITOR.dom.document;this.document=e?a:a.getDocument();this.root=e?a.getBody():a};\n(function(){function a(){var a=false,b=CKEDITOR.dom.walker.whitespaces(),c=CKEDITOR.dom.walker.bookmark(true),d=CKEDITOR.dom.walker.bogus();return function(f){if(c(f)||b(f))return true;if(d(f)&&!a)return a=true;return f.type==CKEDITOR.NODE_TEXT&&(f.hasAscendant(\"pre\")||CKEDITOR.tools.trim(f.getText()).length)||f.type==CKEDITOR.NODE_ELEMENT&&!f.is(h)?false:true}}function e(a){var b=CKEDITOR.dom.walker.whitespaces(),c=CKEDITOR.dom.walker.bookmark(1);return function(d){return c(d)||b(d)?true:!a&&g(d)||\nd.type==CKEDITOR.NODE_ELEMENT&&d.is(CKEDITOR.dtd.$removeEmpty)}}function b(a){return function(){var b;return this[a?\"getPreviousNode\":\"getNextNode\"](function(a){!b&&j(a)&&(b=a);return i(a)&&!(g(a)&&a.equals(b))})}}var c=function(a){a.collapsed=a.startContainer&&a.endContainer&&a.startContainer.equals(a.endContainer)&&a.startOffset==a.endOffset},d=function(a,b,c,d){a.optimizeBookmark();var f=a.startContainer,e=a.endContainer,h=a.startOffset,m=a.endOffset,k,l;if(e.type==CKEDITOR.NODE_TEXT)e=e.split(m);\nelse if(e.getChildCount()>0)if(m>=e.getChildCount()){e=e.append(a.document.createText(\"\"));l=true}else e=e.getChild(m);if(f.type==CKEDITOR.NODE_TEXT){f.split(h);f.equals(e)&&(e=f.getNext())}else if(h)if(h>=f.getChildCount()){f=f.append(a.document.createText(\"\"));k=true}else f=f.getChild(h).getPrevious();else{f=f.append(a.document.createText(\"\"),1);k=true}var h=f.getParents(),m=e.getParents(),t,i,r;for(t=0;t<h.length;t++){i=h[t];r=m[t];if(!i.equals(r))break}for(var g=c,j,n,E,z=t;z<h.length;z++){j=\nh[z];g&&!j.equals(f)&&(n=g.append(j.clone()));for(j=j.getNext();j;){if(j.equals(m[z])||j.equals(e))break;E=j.getNext();if(b==2)g.append(j.clone(true));else{j.remove();b==1&&g.append(j)}j=E}g&&(g=n)}g=c;for(c=t;c<m.length;c++){j=m[c];b>0&&!j.equals(e)&&(n=g.append(j.clone()));if(!h[c]||j.$.parentNode!=h[c].$.parentNode)for(j=j.getPrevious();j;){if(j.equals(h[c])||j.equals(f))break;E=j.getPrevious();if(b==2)g.$.insertBefore(j.$.cloneNode(true),g.$.firstChild);else{j.remove();b==1&&g.$.insertBefore(j.$,\ng.$.firstChild)}j=E}g&&(g=n)}if(b==2){i=a.startContainer;if(i.type==CKEDITOR.NODE_TEXT){i.$.data=i.$.data+i.$.nextSibling.data;i.$.parentNode.removeChild(i.$.nextSibling)}a=a.endContainer;if(a.type==CKEDITOR.NODE_TEXT&&a.$.nextSibling){a.$.data=a.$.data+a.$.nextSibling.data;a.$.parentNode.removeChild(a.$.nextSibling)}}else{if(i&&r&&(f.$.parentNode!=i.$.parentNode||e.$.parentNode!=r.$.parentNode)){b=r.getIndex();k&&r.$.parentNode==f.$.parentNode&&b--;if(d&&i.type==CKEDITOR.NODE_ELEMENT){d=CKEDITOR.dom.element.createFromHtml('<span data-cke-bookmark=\"1\" style=\"display:none\">&nbsp;</span>',\na.document);d.insertAfter(i);i.mergeSiblings(false);a.moveToBookmark({startNode:d})}else a.setStart(r.getParent(),b)}a.collapse(true)}k&&f.remove();l&&e.$.parentNode&&e.remove()},h={abbr:1,acronym:1,b:1,bdo:1,big:1,cite:1,code:1,del:1,dfn:1,em:1,font:1,i:1,ins:1,label:1,kbd:1,q:1,samp:1,small:1,span:1,strike:1,strong:1,sub:1,sup:1,tt:1,u:1,\"var\":1},g=CKEDITOR.dom.walker.bogus(),n=/^[\\t\\r\\n ]*(?:&nbsp;|\\xa0)$/,i=CKEDITOR.dom.walker.editable(),j=CKEDITOR.dom.walker.ignored(true);CKEDITOR.dom.range.prototype=\n{clone:function(){var a=new CKEDITOR.dom.range(this.root);a.startContainer=this.startContainer;a.startOffset=this.startOffset;a.endContainer=this.endContainer;a.endOffset=this.endOffset;a.collapsed=this.collapsed;return a},collapse:function(a){if(a){this.endContainer=this.startContainer;this.endOffset=this.startOffset}else{this.startContainer=this.endContainer;this.startOffset=this.endOffset}this.collapsed=true},cloneContents:function(){var a=new CKEDITOR.dom.documentFragment(this.document);this.collapsed||\nd(this,2,a);return a},deleteContents:function(a){this.collapsed||d(this,0,null,a)},extractContents:function(a){var b=new CKEDITOR.dom.documentFragment(this.document);this.collapsed||d(this,1,b,a);return b},createBookmark:function(a){var b,c,d,f,e=this.collapsed;b=this.document.createElement(\"span\");b.data(\"cke-bookmark\",1);b.setStyle(\"display\",\"none\");b.setHtml(\"&nbsp;\");if(a){d=\"cke_bm_\"+CKEDITOR.tools.getNextNumber();b.setAttribute(\"id\",d+(e?\"C\":\"S\"))}if(!e){c=b.clone();c.setHtml(\"&nbsp;\");a&&c.setAttribute(\"id\",\nd+\"E\");f=this.clone();f.collapse();f.insertNode(c)}f=this.clone();f.collapse(true);f.insertNode(b);if(c){this.setStartAfter(b);this.setEndBefore(c)}else this.moveToPosition(b,CKEDITOR.POSITION_AFTER_END);return{startNode:a?d+(e?\"C\":\"S\"):b,endNode:a?d+\"E\":c,serializable:a,collapsed:e}},createBookmark2:function(){function a(b){var c=b.container,d=b.offset,f;f=c;var e=d;f=f.type!=CKEDITOR.NODE_ELEMENT||e===0||e==f.getChildCount()?0:f.getChild(e-1).type==CKEDITOR.NODE_TEXT&&f.getChild(e).type==CKEDITOR.NODE_TEXT;\nif(f){c=c.getChild(d-1);d=c.getLength()}c.type==CKEDITOR.NODE_ELEMENT&&d>1&&(d=c.getChild(d-1).getIndex(true)+1);if(c.type==CKEDITOR.NODE_TEXT){f=c;for(e=0;(f=f.getPrevious())&&f.type==CKEDITOR.NODE_TEXT;)e=e+f.getLength();d=d+e}b.container=c;b.offset=d}return function(b){var c=this.collapsed,d={container:this.startContainer,offset:this.startOffset},f={container:this.endContainer,offset:this.endOffset};if(b){a(d);c||a(f)}return{start:d.container.getAddress(b),end:c?null:f.container.getAddress(b),\nstartOffset:d.offset,endOffset:f.offset,normalized:b,collapsed:c,is2:true}}}(),moveToBookmark:function(a){if(a.is2){var b=this.document.getByAddress(a.start,a.normalized),c=a.startOffset,d=a.end&&this.document.getByAddress(a.end,a.normalized),a=a.endOffset;this.setStart(b,c);d?this.setEnd(d,a):this.collapse(true)}else{b=(c=a.serializable)?this.document.getById(a.startNode):a.startNode;a=c?this.document.getById(a.endNode):a.endNode;this.setStartBefore(b);b.remove();if(a){this.setEndBefore(a);a.remove()}else this.collapse(true)}},\ngetBoundaryNodes:function(){var a=this.startContainer,b=this.endContainer,c=this.startOffset,d=this.endOffset,f;if(a.type==CKEDITOR.NODE_ELEMENT){f=a.getChildCount();if(f>c)a=a.getChild(c);else if(f<1)a=a.getPreviousSourceNode();else{for(a=a.$;a.lastChild;)a=a.lastChild;a=new CKEDITOR.dom.node(a);a=a.getNextSourceNode()||a}}if(b.type==CKEDITOR.NODE_ELEMENT){f=b.getChildCount();if(f>d)b=b.getChild(d).getPreviousSourceNode(true);else if(f<1)b=b.getPreviousSourceNode();else{for(b=b.$;b.lastChild;)b=\nb.lastChild;b=new CKEDITOR.dom.node(b)}}a.getPosition(b)&CKEDITOR.POSITION_FOLLOWING&&(a=b);return{startNode:a,endNode:b}},getCommonAncestor:function(a,b){var c=this.startContainer,d=this.endContainer,c=c.equals(d)?a&&c.type==CKEDITOR.NODE_ELEMENT&&this.startOffset==this.endOffset-1?c.getChild(this.startOffset):c:c.getCommonAncestor(d);return b&&!c.is?c.getParent():c},optimize:function(){var a=this.startContainer,b=this.startOffset;a.type!=CKEDITOR.NODE_ELEMENT&&(b?b>=a.getLength()&&this.setStartAfter(a):\nthis.setStartBefore(a));a=this.endContainer;b=this.endOffset;a.type!=CKEDITOR.NODE_ELEMENT&&(b?b>=a.getLength()&&this.setEndAfter(a):this.setEndBefore(a))},optimizeBookmark:function(){var a=this.startContainer,b=this.endContainer;a.is&&(a.is(\"span\")&&a.data(\"cke-bookmark\"))&&this.setStartAt(a,CKEDITOR.POSITION_BEFORE_START);b&&(b.is&&b.is(\"span\")&&b.data(\"cke-bookmark\"))&&this.setEndAt(b,CKEDITOR.POSITION_AFTER_END)},trim:function(a,b){var c=this.startContainer,d=this.startOffset,f=this.collapsed;\nif((!a||f)&&c&&c.type==CKEDITOR.NODE_TEXT){if(d)if(d>=c.getLength()){d=c.getIndex()+1;c=c.getParent()}else{var e=c.split(d),d=c.getIndex()+1,c=c.getParent();if(this.startContainer.equals(this.endContainer))this.setEnd(e,this.endOffset-this.startOffset);else if(c.equals(this.endContainer))this.endOffset=this.endOffset+1}else{d=c.getIndex();c=c.getParent()}this.setStart(c,d);if(f){this.collapse(true);return}}c=this.endContainer;d=this.endOffset;if(!b&&!f&&c&&c.type==CKEDITOR.NODE_TEXT){if(d){d>=c.getLength()||\nc.split(d);d=c.getIndex()+1}else d=c.getIndex();c=c.getParent();this.setEnd(c,d)}},enlarge:function(a,b){function c(a){return a&&a.type==CKEDITOR.NODE_ELEMENT&&a.hasAttribute(\"contenteditable\")?null:a}switch(a){case CKEDITOR.ENLARGE_INLINE:var d=1;case CKEDITOR.ENLARGE_ELEMENT:if(this.collapsed)break;var f=this.getCommonAncestor(),e=this.root,h,m,k,l,t,i=false,r,j;r=this.startContainer;j=this.startOffset;if(r.type==CKEDITOR.NODE_TEXT){if(j){r=!CKEDITOR.tools.trim(r.substring(0,j)).length&&r;i=!!r}if(r&&\n!(l=r.getPrevious()))k=r.getParent()}else{j&&(l=r.getChild(j-1)||r.getLast());l||(k=r)}for(k=c(k);k||l;){if(k&&!l){!t&&k.equals(f)&&(t=true);if(d?k.isBlockBoundary():!e.contains(k))break;if(!i||k.getComputedStyle(\"display\")!=\"inline\"){i=false;t?h=k:this.setStartBefore(k)}l=k.getPrevious()}for(;l;){r=false;if(l.type==CKEDITOR.NODE_COMMENT)l=l.getPrevious();else{if(l.type==CKEDITOR.NODE_TEXT){j=l.getText();/[^\\s\\ufeff]/.test(j)&&(l=null);r=/[\\s\\ufeff]$/.test(j)}else if((l.$.offsetWidth>0||b&&l.is(\"br\"))&&\n!l.data(\"cke-bookmark\"))if(i&&CKEDITOR.dtd.$removeEmpty[l.getName()]){j=l.getText();if(/[^\\s\\ufeff]/.test(j))l=null;else for(var g=l.$.getElementsByTagName(\"*\"),n=0,E;E=g[n++];)if(!CKEDITOR.dtd.$removeEmpty[E.nodeName.toLowerCase()]){l=null;break}l&&(r=!!j.length)}else l=null;r&&(i?t?h=k:k&&this.setStartBefore(k):i=true);if(l){r=l.getPrevious();if(!k&&!r){k=l;l=null;break}l=r}else k=null}}k&&(k=c(k.getParent()))}r=this.endContainer;j=this.endOffset;k=l=null;t=i=false;if(r.type==CKEDITOR.NODE_TEXT){r=\n!CKEDITOR.tools.trim(r.substring(j)).length&&r;i=!(r&&r.getLength());if(r&&!(l=r.getNext()))k=r.getParent()}else(l=r.getChild(j))||(k=r);for(;k||l;){if(k&&!l){!t&&k.equals(f)&&(t=true);if(d?k.isBlockBoundary():!e.contains(k))break;if(!i||k.getComputedStyle(\"display\")!=\"inline\"){i=false;t?m=k:k&&this.setEndAfter(k)}l=k.getNext()}for(;l;){r=false;if(l.type==CKEDITOR.NODE_TEXT){j=l.getText();/[^\\s\\ufeff]/.test(j)&&(l=null);r=/^[\\s\\ufeff]/.test(j)}else if(l.type==CKEDITOR.NODE_ELEMENT){if((l.$.offsetWidth>\n0||b&&l.is(\"br\"))&&!l.data(\"cke-bookmark\"))if(i&&CKEDITOR.dtd.$removeEmpty[l.getName()]){j=l.getText();if(/[^\\s\\ufeff]/.test(j))l=null;else{g=l.$.getElementsByTagName(\"*\");for(n=0;E=g[n++];)if(!CKEDITOR.dtd.$removeEmpty[E.nodeName.toLowerCase()]){l=null;break}}l&&(r=!!j.length)}else l=null}else r=1;r&&i&&(t?m=k:this.setEndAfter(k));if(l){r=l.getNext();if(!k&&!r){k=l;l=null;break}l=r}else k=null}k&&(k=c(k.getParent()))}if(h&&m){f=h.contains(m)?m:h;this.setStartBefore(f);this.setEndAfter(f)}break;case CKEDITOR.ENLARGE_BLOCK_CONTENTS:case CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS:k=\nnew CKEDITOR.dom.range(this.root);e=this.root;k.setStartAt(e,CKEDITOR.POSITION_AFTER_START);k.setEnd(this.startContainer,this.startOffset);k=new CKEDITOR.dom.walker(k);var z,M,Q=CKEDITOR.dom.walker.blockBoundary(a==CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS?{br:1}:null),v=null,w=function(a){if(a.type==CKEDITOR.NODE_ELEMENT&&a.getAttribute(\"contenteditable\")==\"false\")if(v){if(v.equals(a)){v=null;return}}else v=a;else if(v)return;var b=Q(a);b||(z=a);return b},d=function(a){var b=w(a);!b&&(a.is&&a.is(\"br\"))&&\n(M=a);return b};k.guard=w;k=k.lastBackward();z=z||e;this.setStartAt(z,!z.is(\"br\")&&(!k&&this.checkStartOfBlock()||k&&z.contains(k))?CKEDITOR.POSITION_AFTER_START:CKEDITOR.POSITION_AFTER_END);if(a==CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS){k=this.clone();k=new CKEDITOR.dom.walker(k);var H=CKEDITOR.dom.walker.whitespaces(),C=CKEDITOR.dom.walker.bookmark();k.evaluator=function(a){return!H(a)&&!C(a)};if((k=k.previous())&&k.type==CKEDITOR.NODE_ELEMENT&&k.is(\"br\"))break}k=this.clone();k.collapse();k.setEndAt(e,\nCKEDITOR.POSITION_BEFORE_END);k=new CKEDITOR.dom.walker(k);k.guard=a==CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS?d:w;z=null;k=k.lastForward();z=z||e;this.setEndAt(z,!k&&this.checkEndOfBlock()||k&&z.contains(k)?CKEDITOR.POSITION_BEFORE_END:CKEDITOR.POSITION_BEFORE_START);M&&this.setEndAfter(M)}},shrink:function(a,b,c){if(!this.collapsed){var a=a||CKEDITOR.SHRINK_TEXT,d=this.clone(),f=this.startContainer,e=this.endContainer,h=this.startOffset,m=this.endOffset,k=1,l=1;if(f&&f.type==CKEDITOR.NODE_TEXT)if(h)if(h>=\nf.getLength())d.setStartAfter(f);else{d.setStartBefore(f);k=0}else d.setStartBefore(f);if(e&&e.type==CKEDITOR.NODE_TEXT)if(m)if(m>=e.getLength())d.setEndAfter(e);else{d.setEndAfter(e);l=0}else d.setEndBefore(e);var d=new CKEDITOR.dom.walker(d),t=CKEDITOR.dom.walker.bookmark();d.evaluator=function(b){return b.type==(a==CKEDITOR.SHRINK_ELEMENT?CKEDITOR.NODE_ELEMENT:CKEDITOR.NODE_TEXT)};var j;d.guard=function(b,d){if(t(b))return true;if(a==CKEDITOR.SHRINK_ELEMENT&&b.type==CKEDITOR.NODE_TEXT||d&&b.equals(j)||\nc===false&&b.type==CKEDITOR.NODE_ELEMENT&&b.isBlockBoundary()||b.type==CKEDITOR.NODE_ELEMENT&&b.hasAttribute(\"contenteditable\"))return false;!d&&b.type==CKEDITOR.NODE_ELEMENT&&(j=b);return true};if(k)(f=d[a==CKEDITOR.SHRINK_ELEMENT?\"lastForward\":\"next\"]())&&this.setStartAt(f,b?CKEDITOR.POSITION_AFTER_START:CKEDITOR.POSITION_BEFORE_START);if(l){d.reset();(d=d[a==CKEDITOR.SHRINK_ELEMENT?\"lastBackward\":\"previous\"]())&&this.setEndAt(d,b?CKEDITOR.POSITION_BEFORE_END:CKEDITOR.POSITION_AFTER_END)}return!(!k&&\n!l)}},insertNode:function(a){this.optimizeBookmark();this.trim(false,true);var b=this.startContainer,c=b.getChild(this.startOffset);c?a.insertBefore(c):b.append(a);a.getParent()&&a.getParent().equals(this.endContainer)&&this.endOffset++;this.setStartBefore(a)},moveToPosition:function(a,b){this.setStartAt(a,b);this.collapse(true)},moveToRange:function(a){this.setStart(a.startContainer,a.startOffset);this.setEnd(a.endContainer,a.endOffset)},selectNodeContents:function(a){this.setStart(a,0);this.setEnd(a,\na.type==CKEDITOR.NODE_TEXT?a.getLength():a.getChildCount())},setStart:function(a,b){if(a.type==CKEDITOR.NODE_ELEMENT&&CKEDITOR.dtd.$empty[a.getName()]){b=a.getIndex();a=a.getParent()}this.startContainer=a;this.startOffset=b;if(!this.endContainer){this.endContainer=a;this.endOffset=b}c(this)},setEnd:function(a,b){if(a.type==CKEDITOR.NODE_ELEMENT&&CKEDITOR.dtd.$empty[a.getName()]){b=a.getIndex()+1;a=a.getParent()}this.endContainer=a;this.endOffset=b;if(!this.startContainer){this.startContainer=a;this.startOffset=\nb}c(this)},setStartAfter:function(a){this.setStart(a.getParent(),a.getIndex()+1)},setStartBefore:function(a){this.setStart(a.getParent(),a.getIndex())},setEndAfter:function(a){this.setEnd(a.getParent(),a.getIndex()+1)},setEndBefore:function(a){this.setEnd(a.getParent(),a.getIndex())},setStartAt:function(a,b){switch(b){case CKEDITOR.POSITION_AFTER_START:this.setStart(a,0);break;case CKEDITOR.POSITION_BEFORE_END:a.type==CKEDITOR.NODE_TEXT?this.setStart(a,a.getLength()):this.setStart(a,a.getChildCount());\nbreak;case CKEDITOR.POSITION_BEFORE_START:this.setStartBefore(a);break;case CKEDITOR.POSITION_AFTER_END:this.setStartAfter(a)}c(this)},setEndAt:function(a,b){switch(b){case CKEDITOR.POSITION_AFTER_START:this.setEnd(a,0);break;case CKEDITOR.POSITION_BEFORE_END:a.type==CKEDITOR.NODE_TEXT?this.setEnd(a,a.getLength()):this.setEnd(a,a.getChildCount());break;case CKEDITOR.POSITION_BEFORE_START:this.setEndBefore(a);break;case CKEDITOR.POSITION_AFTER_END:this.setEndAfter(a)}c(this)},fixBlock:function(a,b){var c=\nthis.createBookmark(),d=this.document.createElement(b);this.collapse(a);this.enlarge(CKEDITOR.ENLARGE_BLOCK_CONTENTS);this.extractContents().appendTo(d);d.trim();d.appendBogus();this.insertNode(d);this.moveToBookmark(c);return d},splitBlock:function(a){var b=new CKEDITOR.dom.elementPath(this.startContainer,this.root),c=new CKEDITOR.dom.elementPath(this.endContainer,this.root),d=b.block,f=c.block,e=null;if(!b.blockLimit.equals(c.blockLimit))return null;if(a!=\"br\"){if(!d){d=this.fixBlock(true,a);f=\n(new CKEDITOR.dom.elementPath(this.endContainer,this.root)).block}f||(f=this.fixBlock(false,a))}a=d&&this.checkStartOfBlock();b=f&&this.checkEndOfBlock();this.deleteContents();if(d&&d.equals(f))if(b){e=new CKEDITOR.dom.elementPath(this.startContainer,this.root);this.moveToPosition(f,CKEDITOR.POSITION_AFTER_END);f=null}else if(a){e=new CKEDITOR.dom.elementPath(this.startContainer,this.root);this.moveToPosition(d,CKEDITOR.POSITION_BEFORE_START);d=null}else{f=this.splitElement(d);d.is(\"ul\",\"ol\")||d.appendBogus()}return{previousBlock:d,\nnextBlock:f,wasStartOfBlock:a,wasEndOfBlock:b,elementPath:e}},splitElement:function(a){if(!this.collapsed)return null;this.setEndAt(a,CKEDITOR.POSITION_BEFORE_END);var b=this.extractContents(),c=a.clone(false);b.appendTo(c);c.insertAfter(a);this.moveToPosition(a,CKEDITOR.POSITION_AFTER_END);return c},removeEmptyBlocksAtEnd:function(){function a(d){return function(a){return b(a)||(c(a)||a.type==CKEDITOR.NODE_ELEMENT&&a.isEmptyInlineRemoveable())||d.is(\"table\")&&a.is(\"caption\")?false:true}}var b=CKEDITOR.dom.walker.whitespaces(),\nc=CKEDITOR.dom.walker.bookmark(false);return function(b){for(var c=this.createBookmark(),d=this[b?\"endPath\":\"startPath\"](),e=d.block||d.blockLimit,m;e&&!e.equals(d.root)&&!e.getFirst(a(e));){m=e.getParent();this[b?\"setEndAt\":\"setStartAt\"](e,CKEDITOR.POSITION_AFTER_END);e.remove(1);e=m}this.moveToBookmark(c)}}(),startPath:function(){return new CKEDITOR.dom.elementPath(this.startContainer,this.root)},endPath:function(){return new CKEDITOR.dom.elementPath(this.endContainer,this.root)},checkBoundaryOfElement:function(a,\nb){var c=b==CKEDITOR.START,d=this.clone();d.collapse(c);d[c?\"setStartAt\":\"setEndAt\"](a,c?CKEDITOR.POSITION_AFTER_START:CKEDITOR.POSITION_BEFORE_END);d=new CKEDITOR.dom.walker(d);d.evaluator=e(c);return d[c?\"checkBackward\":\"checkForward\"]()},checkStartOfBlock:function(){var b=this.startContainer,c=this.startOffset;if(CKEDITOR.env.ie&&c&&b.type==CKEDITOR.NODE_TEXT){b=CKEDITOR.tools.ltrim(b.substring(0,c));n.test(b)&&this.trim(0,1)}this.trim();b=new CKEDITOR.dom.elementPath(this.startContainer,this.root);\nc=this.clone();c.collapse(true);c.setStartAt(b.block||b.blockLimit,CKEDITOR.POSITION_AFTER_START);b=new CKEDITOR.dom.walker(c);b.evaluator=a();return b.checkBackward()},checkEndOfBlock:function(){var b=this.endContainer,c=this.endOffset;if(CKEDITOR.env.ie&&b.type==CKEDITOR.NODE_TEXT){b=CKEDITOR.tools.rtrim(b.substring(c));n.test(b)&&this.trim(1,0)}this.trim();b=new CKEDITOR.dom.elementPath(this.endContainer,this.root);c=this.clone();c.collapse(false);c.setEndAt(b.block||b.blockLimit,CKEDITOR.POSITION_BEFORE_END);\nb=new CKEDITOR.dom.walker(c);b.evaluator=a();return b.checkForward()},getPreviousNode:function(a,b,c){var d=this.clone();d.collapse(1);d.setStartAt(c||this.root,CKEDITOR.POSITION_AFTER_START);c=new CKEDITOR.dom.walker(d);c.evaluator=a;c.guard=b;return c.previous()},getNextNode:function(a,b,c){var d=this.clone();d.collapse();d.setEndAt(c||this.root,CKEDITOR.POSITION_BEFORE_END);c=new CKEDITOR.dom.walker(d);c.evaluator=a;c.guard=b;return c.next()},checkReadOnly:function(){function a(b,c){for(;b;){if(b.type==\nCKEDITOR.NODE_ELEMENT){if(b.getAttribute(\"contentEditable\")==\"false\"&&!b.data(\"cke-editable\"))return 0;if(b.is(\"html\")||b.getAttribute(\"contentEditable\")==\"true\"&&(b.contains(c)||b.equals(c)))break}b=b.getParent()}return 1}return function(){var b=this.startContainer,c=this.endContainer;return!(a(b,c)&&a(c,b))}}(),moveToElementEditablePosition:function(a,b){if(a.type==CKEDITOR.NODE_ELEMENT&&!a.isEditable(false)){this.moveToPosition(a,b?CKEDITOR.POSITION_AFTER_END:CKEDITOR.POSITION_BEFORE_START);return true}for(var c=\n0;a;){if(a.type==CKEDITOR.NODE_TEXT){b&&this.endContainer&&this.checkEndOfBlock()&&n.test(a.getText())?this.moveToPosition(a,CKEDITOR.POSITION_BEFORE_START):this.moveToPosition(a,b?CKEDITOR.POSITION_AFTER_END:CKEDITOR.POSITION_BEFORE_START);c=1;break}if(a.type==CKEDITOR.NODE_ELEMENT)if(a.isEditable()){this.moveToPosition(a,b?CKEDITOR.POSITION_BEFORE_END:CKEDITOR.POSITION_AFTER_START);c=1}else if(b&&a.is(\"br\")&&this.endContainer&&this.checkEndOfBlock())this.moveToPosition(a,CKEDITOR.POSITION_BEFORE_START);\nelse if(a.getAttribute(\"contenteditable\")==\"false\"&&a.is(CKEDITOR.dtd.$block)){this.setStartBefore(a);this.setEndAfter(a);return true}var d=a,f=c,e=void 0;d.type==CKEDITOR.NODE_ELEMENT&&d.isEditable(false)&&(e=d[b?\"getLast\":\"getFirst\"](j));!f&&!e&&(e=d[b?\"getPrevious\":\"getNext\"](j));a=e}return!!c},moveToClosestEditablePosition:function(a,b){var c=new CKEDITOR.dom.range(this.root),d=0,f,e=[CKEDITOR.POSITION_AFTER_END,CKEDITOR.POSITION_BEFORE_START];c.moveToPosition(a,e[b?0:1]);if(a.is(CKEDITOR.dtd.$block)){if(f=\nc[b?\"getNextEditableNode\":\"getPreviousEditableNode\"]()){d=1;if(f.type==CKEDITOR.NODE_ELEMENT&&f.is(CKEDITOR.dtd.$block)&&f.getAttribute(\"contenteditable\")==\"false\"){c.setStartAt(f,CKEDITOR.POSITION_BEFORE_START);c.setEndAt(f,CKEDITOR.POSITION_AFTER_END)}else c.moveToPosition(f,e[b?1:0])}}else d=1;d&&this.moveToRange(c);return!!d},moveToElementEditStart:function(a){return this.moveToElementEditablePosition(a)},moveToElementEditEnd:function(a){return this.moveToElementEditablePosition(a,true)},getEnclosedNode:function(){var a=\nthis.clone();a.optimize();if(a.startContainer.type!=CKEDITOR.NODE_ELEMENT||a.endContainer.type!=CKEDITOR.NODE_ELEMENT)return null;var a=new CKEDITOR.dom.walker(a),b=CKEDITOR.dom.walker.bookmark(false,true),c=CKEDITOR.dom.walker.whitespaces(true);a.evaluator=function(a){return c(a)&&b(a)};var d=a.next();a.reset();return d&&d.equals(a.previous())?d:null},getTouchedStartNode:function(){var a=this.startContainer;return this.collapsed||a.type!=CKEDITOR.NODE_ELEMENT?a:a.getChild(this.startOffset)||a},getTouchedEndNode:function(){var a=\nthis.endContainer;return this.collapsed||a.type!=CKEDITOR.NODE_ELEMENT?a:a.getChild(this.endOffset-1)||a},getNextEditableNode:b(),getPreviousEditableNode:b(1),scrollIntoView:function(){var a=new CKEDITOR.dom.element.createFromHtml(\"<span>&nbsp;</span>\",this.document),b,c,d,f=this.clone();f.optimize();if(d=f.startContainer.type==CKEDITOR.NODE_TEXT){c=f.startContainer.getText();b=f.startContainer.split(f.startOffset);a.insertAfter(f.startContainer)}else f.insertNode(a);a.scrollIntoView();if(d){f.startContainer.setText(c);\nb.remove()}a.remove()}}})();CKEDITOR.POSITION_AFTER_START=1;CKEDITOR.POSITION_BEFORE_END=2;CKEDITOR.POSITION_BEFORE_START=3;CKEDITOR.POSITION_AFTER_END=4;CKEDITOR.ENLARGE_ELEMENT=1;CKEDITOR.ENLARGE_BLOCK_CONTENTS=2;CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS=3;CKEDITOR.ENLARGE_INLINE=4;CKEDITOR.START=1;CKEDITOR.END=2;CKEDITOR.SHRINK_ELEMENT=1;CKEDITOR.SHRINK_TEXT=2;\"use strict\";\n(function(){function a(a){if(!(arguments.length<1)){this.range=a;this.forceBrBreak=0;this.enlargeBr=1;this.enforceRealBlocks=0;this._||(this._={})}}function e(a,b,c){for(a=a.getNextSourceNode(b,null,c);!h(a);)a=a.getNextSourceNode(b,null,c);return a}function b(a){var b=[];a.forEach(function(a){if(a.getAttribute(\"contenteditable\")==\"true\"){b.push(a);return false}},CKEDITOR.NODE_ELEMENT,true);return b}function c(a,d,e,h){a:{h==void 0&&(h=b(e));for(var g;g=h.shift();)if(g.getDtd().p){h={element:g,remaining:h};\nbreak a}h=null}if(!h)return 0;if((g=CKEDITOR.filter.instances[h.element.data(\"cke-filter\")])&&!g.check(d))return c(a,d,e,h.remaining);d=new CKEDITOR.dom.range(h.element);d.selectNodeContents(h.element);d=d.createIterator();d.enlargeBr=a.enlargeBr;d.enforceRealBlocks=a.enforceRealBlocks;d.activeFilter=d.filter=g;a._.nestedEditable={element:h.element,container:e,remaining:h.remaining,iterator:d};return 1}var d=/^[\\r\\n\\t ]+$/,h=CKEDITOR.dom.walker.bookmark(false,true),g=CKEDITOR.dom.walker.whitespaces(true),\nn=function(a){return h(a)&&g(a)};a.prototype={getNextParagraph:function(a){var b,g,q,s,u,a=a||\"p\";if(this._.nestedEditable){if(b=this._.nestedEditable.iterator.getNextParagraph(a)){this.activeFilter=this._.nestedEditable.iterator.activeFilter;return b}this.activeFilter=this.filter;if(c(this,a,this._.nestedEditable.container,this._.nestedEditable.remaining)){this.activeFilter=this._.nestedEditable.iterator.activeFilter;return this._.nestedEditable.iterator.getNextParagraph(a)}this._.nestedEditable=\nnull}if(!this.range.root.getDtd()[a])return null;if(!this._.started){var f=this.range.clone();f.shrink(CKEDITOR.SHRINK_ELEMENT,true);g=f.endContainer.hasAscendant(\"pre\",true)||f.startContainer.hasAscendant(\"pre\",true);f.enlarge(this.forceBrBreak&&!g||!this.enlargeBr?CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS:CKEDITOR.ENLARGE_BLOCK_CONTENTS);if(!f.collapsed){g=new CKEDITOR.dom.walker(f.clone());var p=CKEDITOR.dom.walker.bookmark(true,true);g.evaluator=p;this._.nextNode=g.next();g=new CKEDITOR.dom.walker(f.clone());\ng.evaluator=p;g=g.previous();this._.lastNode=g.getNextSourceNode(true);if(this._.lastNode&&this._.lastNode.type==CKEDITOR.NODE_TEXT&&!CKEDITOR.tools.trim(this._.lastNode.getText())&&this._.lastNode.getParent().isBlockBoundary()){p=this.range.clone();p.moveToPosition(this._.lastNode,CKEDITOR.POSITION_AFTER_END);if(p.checkEndOfBlock()){p=new CKEDITOR.dom.elementPath(p.endContainer,p.root);this._.lastNode=(p.block||p.blockLimit).getNextSourceNode(true)}}if(!this._.lastNode||!f.root.contains(this._.lastNode)){this._.lastNode=\nthis._.docEndMarker=f.document.createText(\"\");this._.lastNode.insertAfter(g)}f=null}this._.started=1;g=f}p=this._.nextNode;f=this._.lastNode;for(this._.nextNode=null;p;){var y=0,m=p.hasAscendant(\"pre\"),k=p.type!=CKEDITOR.NODE_ELEMENT,l=0;if(k)p.type==CKEDITOR.NODE_TEXT&&d.test(p.getText())&&(k=0);else{var t=p.getName();if(CKEDITOR.dtd.$block[t]&&p.getAttribute(\"contenteditable\")==\"false\"){b=p;c(this,a,b);break}else if(p.isBlockBoundary(this.forceBrBreak&&!m&&{br:1})){if(t==\"br\")k=1;else if(!g&&!p.getChildCount()&&\nt!=\"hr\"){b=p;q=p.equals(f);break}if(g){g.setEndAt(p,CKEDITOR.POSITION_BEFORE_START);if(t!=\"br\")this._.nextNode=p}y=1}else{if(p.getFirst()){if(!g){g=this.range.clone();g.setStartAt(p,CKEDITOR.POSITION_BEFORE_START)}p=p.getFirst();continue}k=1}}if(k&&!g){g=this.range.clone();g.setStartAt(p,CKEDITOR.POSITION_BEFORE_START)}q=(!y||k)&&p.equals(f);if(g&&!y)for(;!p.getNext(n)&&!q;){t=p.getParent();if(t.isBlockBoundary(this.forceBrBreak&&!m&&{br:1})){y=1;k=0;q||t.equals(f);g.setEndAt(t,CKEDITOR.POSITION_BEFORE_END);\nbreak}p=t;k=1;q=p.equals(f);l=1}k&&g.setEndAt(p,CKEDITOR.POSITION_AFTER_END);p=e(p,l,f);if((q=!p)||y&&g)break}if(!b){if(!g){this._.docEndMarker&&this._.docEndMarker.remove();return this._.nextNode=null}b=new CKEDITOR.dom.elementPath(g.startContainer,g.root);p=b.blockLimit;y={div:1,th:1,td:1};b=b.block;if(!b&&p&&!this.enforceRealBlocks&&y[p.getName()]&&g.checkStartOfBlock()&&g.checkEndOfBlock()&&!p.equals(g.root))b=p;else if(!b||this.enforceRealBlocks&&b.getName()==\"li\"){b=this.range.document.createElement(a);\ng.extractContents().appendTo(b);b.trim();g.insertNode(b);s=u=true}else if(b.getName()!=\"li\"){if(!g.checkStartOfBlock()||!g.checkEndOfBlock()){b=b.clone(false);g.extractContents().appendTo(b);b.trim();u=g.splitBlock();s=!u.wasStartOfBlock;u=!u.wasEndOfBlock;g.insertNode(b)}}else if(!q)this._.nextNode=b.equals(f)?null:e(g.getBoundaryNodes().endNode,1,f)}if(s)(s=b.getPrevious())&&s.type==CKEDITOR.NODE_ELEMENT&&(s.getName()==\"br\"?s.remove():s.getLast()&&s.getLast().$.nodeName.toLowerCase()==\"br\"&&s.getLast().remove());\nif(u)(s=b.getLast())&&s.type==CKEDITOR.NODE_ELEMENT&&s.getName()==\"br\"&&(!CKEDITOR.env.needsBrFiller||s.getPrevious(h)||s.getNext(h))&&s.remove();if(!this._.nextNode)this._.nextNode=q||b.equals(f)||!f?null:e(b,1,f);return b}};CKEDITOR.dom.range.prototype.createIterator=function(){return new a(this)}})();\nCKEDITOR.command=function(a,e){this.uiItems=[];this.exec=function(b){if(this.state==CKEDITOR.TRISTATE_DISABLED||!this.checkAllowed())return false;this.editorFocus&&a.focus();return this.fire(\"exec\")===false?true:e.exec.call(this,a,b)!==false};this.refresh=function(a,b){if(!this.readOnly&&a.readOnly)return true;if(this.context&&!b.isContextFor(this.context)){this.disable();return true}if(!this.checkAllowed(true)){this.disable();return true}this.startDisabled||this.enable();this.modes&&!this.modes[a.mode]&&\nthis.disable();return this.fire(\"refresh\",{editor:a,path:b})===false?true:e.refresh&&e.refresh.apply(this,arguments)!==false};var b;this.checkAllowed=function(c){return!c&&typeof b==\"boolean\"?b:b=a.activeFilter.checkFeature(this)};CKEDITOR.tools.extend(this,e,{modes:{wysiwyg:1},editorFocus:1,contextSensitive:!!e.context,state:CKEDITOR.TRISTATE_DISABLED});CKEDITOR.event.call(this)};\nCKEDITOR.command.prototype={enable:function(){this.state==CKEDITOR.TRISTATE_DISABLED&&this.checkAllowed()&&this.setState(!this.preserveState||typeof this.previousState==\"undefined\"?CKEDITOR.TRISTATE_OFF:this.previousState)},disable:function(){this.setState(CKEDITOR.TRISTATE_DISABLED)},setState:function(a){if(this.state==a||a!=CKEDITOR.TRISTATE_DISABLED&&!this.checkAllowed())return false;this.previousState=this.state;this.state=a;this.fire(\"state\");return true},toggleState:function(){this.state==CKEDITOR.TRISTATE_OFF?\nthis.setState(CKEDITOR.TRISTATE_ON):this.state==CKEDITOR.TRISTATE_ON&&this.setState(CKEDITOR.TRISTATE_OFF)}};CKEDITOR.event.implementOn(CKEDITOR.command.prototype);CKEDITOR.ENTER_P=1;CKEDITOR.ENTER_BR=2;CKEDITOR.ENTER_DIV=3;\nCKEDITOR.config={customConfig:\"config.js\",autoUpdateElement:!0,language:\"\",defaultLanguage:\"en\",contentsLangDirection:\"\",enterMode:CKEDITOR.ENTER_P,forceEnterMode:!1,shiftEnterMode:CKEDITOR.ENTER_BR,docType:\"<!DOCTYPE html>\",bodyId:\"\",bodyClass:\"\",fullPage:!1,height:200,extraPlugins:\"\",removePlugins:\"\",protectedSource:[],tabIndex:0,width:\"\",baseFloatZIndex:1E4,blockedKeystrokes:[CKEDITOR.CTRL+66,CKEDITOR.CTRL+73,CKEDITOR.CTRL+85]};\n(function(){function a(a,b,c,f,k){var m=b.name;if((f||typeof a.elements!=\"function\"||a.elements(m))&&(!a.match||a.match(b))){if(f=!k){a:if(a.nothingRequired)f=true;else{if(k=a.requiredClasses){m=b.classes;for(f=0;f<k.length;++f)if(CKEDITOR.tools.indexOf(m,k[f])==-1){f=false;break a}}f=d(b.styles,a.requiredStyles)&&d(b.attributes,a.requiredAttributes)}f=!f}if(!f){if(!a.propertiesOnly)c.valid=true;if(!c.allAttributes)c.allAttributes=e(a.attributes,b.attributes,c.validAttributes);if(!c.allStyles)c.allStyles=\ne(a.styles,b.styles,c.validStyles);if(!c.allClasses){a=a.classes;b=b.classes;f=c.validClasses;if(a)if(a===true)b=true;else{for(var k=0,m=b.length,l;k<m;++k){l=b[k];f[l]||(f[l]=a(l))}b=false}else b=false;c.allClasses=b}}}}function e(a,b,c){if(!a)return false;if(a===true)return true;for(var d in b)c[d]||(c[d]=a(d,b[d]));return false}function b(a,b){if(!a)return false;if(a===true)return a;if(typeof a==\"string\"){a=r(a);return a==\"*\"?true:CKEDITOR.tools.convertArrayToObject(a.split(b))}if(CKEDITOR.tools.isArray(a))return a.length?\nCKEDITOR.tools.convertArrayToObject(a):false;var c={},d=0,f;for(f in a){c[f]=a[f];d++}return d?c:false}function c(b){if(b._.filterFunction)return b._.filterFunction;var c=/^cke:(object|embed|param)$/,d=/^(object|embed|param)$/;return b._.filterFunction=function(f,e,k,m,l,h,t){var g=f.name,r,y=false;if(l)f.name=g=g.replace(c,\"$1\");if(k=k&&k[g]){i(f);for(g=0;g<k.length;++g)p(b,f,k[g]);j(f)}if(e){var g=f.name,k=e.elements[g],x=e.generic,e={valid:false,validAttributes:{},validClasses:{},validStyles:{},\nallAttributes:false,allClasses:false,allStyles:false};if(!k&&!x){m.push(f);return true}i(f);if(k){g=0;for(r=k.length;g<r;++g)a(k[g],f,e,true,h)}if(x){g=0;for(r=x.length;g<r;++g)a(x[g],f,e,false,h)}if(!e.valid){m.push(f);return true}h=e.validAttributes;g=e.validStyles;k=e.validClasses;r=f.attributes;var x=f.styles,n=r[\"class\"],L=r.style,A,z,E=[],I=[],s=/^data-cke-/,q=false;delete r.style;delete r[\"class\"];if(!e.allAttributes)for(A in r)if(!h[A])if(s.test(A)){if(A!=(z=A.replace(/^data-cke-saved-/,\"\"))&&\n!h[z]){delete r[A];q=true}}else{delete r[A];q=true}if(e.allStyles){if(L)r.style=L}else{for(A in x)g[A]?E.push(A+\":\"+x[A]):q=true;if(E.length)r.style=E.sort().join(\"; \")}if(e.allClasses)n&&(r[\"class\"]=n);else{for(A in k)k[A]&&I.push(A);I.length&&(r[\"class\"]=I.sort().join(\" \"));n&&I.length<n.split(/\\s+/).length&&(q=true)}q&&(y=true);if(!t&&!o(f)){m.push(f);return true}}if(l)f.name=f.name.replace(d,\"cke:$1\");return y}}function d(a,b){if(!b)return true;for(var c=0;c<b.length;++c)if(!(b[c]in a))return false;\nreturn true}function h(a){if(!a)return{};for(var a=a.split(/\\s*,\\s*/).sort(),b={};a.length;)b[a.shift()]=L;return b}function g(a){for(var b,c,d,f,e={},k=1,a=r(a);b=a.match(z);){if(c=b[2]){d=n(c,\"styles\");f=n(c,\"attrs\");c=n(c,\"classes\")}else d=f=c=null;e[\"$\"+k++]={elements:b[1],classes:c,styles:d,attributes:f};a=a.slice(b[0].length)}return e}function n(a,b){var c=a.match(M[b]);return c?r(c[1]):null}function i(a){if(!a.styles)a.styles=CKEDITOR.tools.parseCssText(a.attributes.style||\"\",1);if(!a.classes)a.classes=\na.attributes[\"class\"]?a.attributes[\"class\"].split(/\\s+/):[]}function j(a){var b=a.attributes,c;delete b.style;delete b[\"class\"];if(c=CKEDITOR.tools.writeCssText(a.styles,true))b.style=c;a.classes.length&&(b[\"class\"]=a.classes.sort().join(\" \"))}function o(a){switch(a.name){case \"a\":if(!a.children.length&&!a.attributes.name)return false;break;case \"img\":if(!a.attributes.src)return false}return true}function q(a){return!a?false:a===true?true:function(b){return b in a}}function s(){return new CKEDITOR.htmlParser.element(\"br\")}\nfunction u(a){return a.type==CKEDITOR.NODE_ELEMENT&&(a.name==\"br\"||t.$block[a.name])}function f(a,b,c){var d=a.name;if(t.$empty[d]||!a.children.length)if(d==\"hr\"&&b==\"br\")a.replaceWith(s());else{a.parent&&c.push({check:\"it\",el:a.parent});a.remove()}else if(t.$block[d]||d==\"tr\")if(b==\"br\"){if(a.previous&&!u(a.previous)){b=s();b.insertBefore(a)}if(a.next&&!u(a.next)){b=s();b.insertAfter(a)}a.replaceWithChildren()}else{var d=a.children,f;b:{f=t[b];for(var e=0,k=d.length,m;e<k;++e){m=d[e];if(m.type==\nCKEDITOR.NODE_ELEMENT&&!f[m.name]){f=false;break b}}f=true}if(f){a.name=b;a.attributes={};c.push({check:\"parent-down\",el:a})}else{f=a.parent;for(var e=f.type==CKEDITOR.NODE_DOCUMENT_FRAGMENT||f.name==\"body\",l,k=d.length;k>0;){m=d[--k];if(e&&(m.type==CKEDITOR.NODE_TEXT||m.type==CKEDITOR.NODE_ELEMENT&&t.$inline[m.name])){if(!l){l=new CKEDITOR.htmlParser.element(b);l.insertAfter(a);c.push({check:\"parent-down\",el:l})}l.add(m,0)}else{l=null;m.insertAfter(a);f.type!=CKEDITOR.NODE_DOCUMENT_FRAGMENT&&(m.type==\nCKEDITOR.NODE_ELEMENT&&!t[f.name][m.name])&&c.push({check:\"el-up\",el:m})}}a.remove()}}else if(d==\"style\")a.remove();else{a.parent&&c.push({check:\"it\",el:a.parent});a.replaceWithChildren()}}function p(a,b,c){var d,f;for(d=0;d<c.length;++d){f=c[d];if((!f.check||a.check(f.check,false))&&(!f.left||f.left(b))){f.right(b,Q);break}}}function y(a,b){var c=b.getDefinition(),d=c.attributes,f=c.styles,e,k,m,l;if(a.name!=c.element)return false;for(e in d)if(e==\"class\"){c=d[e].split(/\\s+/);for(m=a.classes.join(\"|\");l=\nc.pop();)if(m.indexOf(l)==-1)return false}else if(a.attributes[e]!=d[e])return false;for(k in f)if(a.styles[k]!=f[k])return false;return true}function m(a,b){var c,d;if(typeof a==\"string\")c=a;else if(a instanceof CKEDITOR.style)d=a;else{c=a[0];d=a[1]}return[{element:c,left:d,right:function(a,c){c.transform(a,b)}}]}function k(a){return function(b){return y(b,a)}}function l(a){return function(b,c){c[a](b)}}var t=CKEDITOR.dtd,x=CKEDITOR.tools.copy,r=CKEDITOR.tools.trim,L=\"cke-test\",A=[\"\",\"p\",\"br\",\"div\"];\nCKEDITOR.filter=function(a){this.allowedContent=[];this.disabled=false;this.editor=null;this.id=CKEDITOR.tools.getNextNumber();this._={rules:{},transformations:{},cachedTests:{}};CKEDITOR.filter.instances[this.id]=this;if(a instanceof CKEDITOR.editor){a=this.editor=a;this.customConfig=true;var b=a.config.allowedContent;if(b===true)this.disabled=true;else{if(!b)this.customConfig=false;this.allow(b,\"config\",1);this.allow(a.config.extraAllowedContent,\"extra\",1);this.allow(A[a.enterMode]+\" \"+A[a.shiftEnterMode],\n\"default\",1)}}else{this.customConfig=false;this.allow(a,\"default\",1)}};CKEDITOR.filter.instances={};CKEDITOR.filter.prototype={allow:function(a,c,d){if(this.disabled||this.customConfig&&!d||!a)return false;this._.cachedChecks={};var f,e;if(typeof a==\"string\")a=g(a);else if(a instanceof CKEDITOR.style){e=a.getDefinition();d={};a=e.attributes;d[e.element]=e={styles:e.styles,requiredStyles:e.styles&&CKEDITOR.tools.objectKeys(e.styles)};if(a){a=x(a);e.classes=a[\"class\"]?a[\"class\"].split(/\\s+/):null;e.requiredClasses=\ne.classes;delete a[\"class\"];e.attributes=a;e.requiredAttributes=a&&CKEDITOR.tools.objectKeys(a)}a=d}else if(CKEDITOR.tools.isArray(a)){for(f=0;f<a.length;++f)e=this.allow(a[f],c,d);return e}var k,d=[];for(k in a){e=a[k];e=typeof e==\"boolean\"?{}:typeof e==\"function\"?{match:e}:x(e);if(k.charAt(0)!=\"$\")e.elements=k;if(c)e.featureName=c.toLowerCase();var m=e;m.elements=b(m.elements,/\\s+/)||null;m.propertiesOnly=m.propertiesOnly||m.elements===true;var l=/\\s*,\\s*/,h=void 0;for(h in I){m[h]=b(m[h],l)||null;\nvar p=m,t=E[h],r=b(m[E[h]],l),i=m[h],j=[],y=true,n=void 0;r?y=false:r={};for(n in i)if(n.charAt(0)==\"!\"){n=n.slice(1);j.push(n);r[n]=true;y=false}for(;n=j.pop();){i[n]=i[\"!\"+n];delete i[\"!\"+n]}p[t]=(y?false:r)||null}m.match=m.match||null;this.allowedContent.push(e);d.push(e)}c=this._.rules;k=c.elements||{};a=c.generic||[];e=0;for(m=d.length;e<m;++e){l=x(d[e]);h=l.classes===true||l.styles===true||l.attributes===true;p=l;t=void 0;for(t in I)p[t]=q(p[t]);r=true;for(t in E){t=E[t];p[t]=CKEDITOR.tools.objectKeys(p[t]);\np[t]&&(r=false)}p.nothingRequired=r;if(l.elements===true||l.elements===null){l.elements=q(l.elements);a[h?\"unshift\":\"push\"](l)}else{p=l.elements;delete l.elements;for(f in p)if(k[f])k[f][h?\"unshift\":\"push\"](l);else k[f]=[l]}}c.elements=k;c.generic=a.length?a:null;return true},applyTo:function(a,b,d,e){if(this.disabled)return false;var k=[],m=!d&&this._.rules,l=this._.transformations,h=c(this),p=this.editor&&this.editor.config.protectedSource,g=false;a.forEach(function(a){if(a.type==CKEDITOR.NODE_ELEMENT){if(a.attributes[\"data-cke-filter\"]==\n\"off\")return false;if(!b||!(a.name==\"span\"&&~CKEDITOR.tools.objectKeys(a.attributes).join(\"|\").indexOf(\"data-cke-\")))h(a,m,l,k,b)&&(g=true)}else if(a.type==CKEDITOR.NODE_COMMENT&&a.value.match(/^\\{cke_protected\\}(?!\\{C\\})/)){var c;a:{var d=decodeURIComponent(a.value.replace(/^\\{cke_protected\\}/,\"\"));c=[];var f,e,C;if(p)for(e=0;e<p.length;++e)if((C=d.match(p[e]))&&C[0].length==d.length){c=true;break a}d=CKEDITOR.htmlParser.fragment.fromHtml(d);d.children.length==1&&(f=d.children[0]).type==CKEDITOR.NODE_ELEMENT&&\nh(f,m,l,c,b);c=!c.length}c||k.push(a)}},null,true);k.length&&(g=true);for(var r,a=[],e=A[e||(this.editor?this.editor.enterMode:CKEDITOR.ENTER_P)];d=k.pop();)d.type==CKEDITOR.NODE_ELEMENT?f(d,e,a):d.remove();for(;r=a.pop();){d=r.el;if(d.parent)switch(r.check){case \"it\":t.$removeEmpty[d.name]&&!d.children.length?f(d,e,a):o(d)||f(d,e,a);break;case \"el-up\":d.parent.type!=CKEDITOR.NODE_DOCUMENT_FRAGMENT&&!t[d.parent.name][d.name]&&f(d,e,a);break;case \"parent-down\":d.parent.type!=CKEDITOR.NODE_DOCUMENT_FRAGMENT&&\n!t[d.parent.name][d.name]&&f(d.parent,e,a)}}return g},checkFeature:function(a){if(this.disabled||!a)return true;a.toFeature&&(a=a.toFeature(this.editor));return!a.requiredContent||this.check(a.requiredContent)},disable:function(){this.disabled=true},addContentForms:function(a){if(!this.disabled&&a){var b,c,d=[],f;for(b=0;b<a.length&&!f;++b){c=a[b];if((typeof c==\"string\"||c instanceof CKEDITOR.style)&&this.check(c))f=c}if(f){for(b=0;b<a.length;++b)d.push(m(a[b],f));this.addTransformations(d)}}},addFeature:function(a){if(this.disabled||\n!a)return true;a.toFeature&&(a=a.toFeature(this.editor));this.allow(a.allowedContent,a.name);this.addTransformations(a.contentTransformations);this.addContentForms(a.contentForms);return this.customConfig&&a.requiredContent?this.check(a.requiredContent):true},addTransformations:function(a){var b,c;if(!this.disabled&&a){var d=this._.transformations,f;for(f=0;f<a.length;++f){b=a[f];var e=void 0,m=void 0,h=void 0,p=void 0,t=void 0,g=void 0;c=[];for(m=0;m<b.length;++m){h=b[m];if(typeof h==\"string\"){h=\nh.split(/\\s*:\\s*/);p=h[0];t=null;g=h[1]}else{p=h.check;t=h.left;g=h.right}if(!e){e=h;e=e.element?e.element:p?p.match(/^([a-z0-9]+)/i)[0]:e.left.getDefinition().element}t instanceof CKEDITOR.style&&(t=k(t));c.push({check:p==e?null:p,left:t,right:typeof g==\"string\"?l(g):g})}b=e;d[b]||(d[b]=[]);d[b].push(c)}}},check:function(a,b,d){if(this.disabled)return true;if(CKEDITOR.tools.isArray(a)){for(var f=a.length;f--;)if(this.check(a[f],b,d))return true;return false}var e,k;if(typeof a==\"string\"){k=a+\"<\"+\n(b===false?\"0\":\"1\")+(d?\"1\":\"0\")+\">\";if(k in this._.cachedChecks)return this._.cachedChecks[k];f=g(a).$1;e=f.styles;var m=f.classes;f.name=f.elements;f.classes=m=m?m.split(/\\s*,\\s*/):[];f.styles=h(e);f.attributes=h(f.attributes);f.children=[];m.length&&(f.attributes[\"class\"]=m.join(\" \"));if(e)f.attributes.style=CKEDITOR.tools.writeCssText(f.styles);e=f}else{f=a.getDefinition();e=f.styles;m=f.attributes||{};if(e){e=x(e);m.style=CKEDITOR.tools.writeCssText(e,true)}else e={};e={name:f.element,attributes:m,\nclasses:m[\"class\"]?m[\"class\"].split(/\\s+/):[],styles:e,children:[]}}var m=CKEDITOR.tools.clone(e),l=[],t;if(b!==false&&(t=this._.transformations[e.name])){for(f=0;f<t.length;++f)p(this,e,t[f]);j(e)}c(this)(m,this._.rules,b===false?false:this._.transformations,l,false,!d,!d);b=l.length>0?false:CKEDITOR.tools.objectCompare(e.attributes,m.attributes,true)?true:false;typeof a==\"string\"&&(this._.cachedChecks[k]=b);return b},getAllowedEnterMode:function(){var a=[\"p\",\"div\",\"br\"],b={p:CKEDITOR.ENTER_P,div:CKEDITOR.ENTER_DIV,\nbr:CKEDITOR.ENTER_BR};return function(c,d){var f=a.slice(),e;if(this.check(A[c]))return c;for(d||(f=f.reverse());e=f.pop();)if(this.check(e))return b[e];return CKEDITOR.ENTER_BR}}()};var I={styles:1,attributes:1,classes:1},E={styles:\"requiredStyles\",attributes:\"requiredAttributes\",classes:\"requiredClasses\"},z=/^([a-z0-9*\\s]+)((?:\\s*\\{[!\\w\\-,\\s\\*]+\\}\\s*|\\s*\\[[!\\w\\-,\\s\\*]+\\]\\s*|\\s*\\([!\\w\\-,\\s\\*]+\\)\\s*){0,3})(?:;\\s*|$)/i,M={styles:/{([^}]+)}/,attrs:/\\[([^\\]]+)\\]/,classes:/\\(([^\\)]+)\\)/},Q=CKEDITOR.filter.transformationsTools=\n{sizeToStyle:function(a){this.lengthToStyle(a,\"width\");this.lengthToStyle(a,\"height\")},sizeToAttribute:function(a){this.lengthToAttribute(a,\"width\");this.lengthToAttribute(a,\"height\")},lengthToStyle:function(a,b,c){c=c||b;if(!(c in a.styles)){var d=a.attributes[b];if(d){/^\\d+$/.test(d)&&(d=d+\"px\");a.styles[c]=d}}delete a.attributes[b]},lengthToAttribute:function(a,b,c){c=c||b;if(!(c in a.attributes)){var d=a.styles[b],f=d&&d.match(/^(\\d+)(?:\\.\\d*)?px$/);f?a.attributes[c]=f[1]:d==L&&(a.attributes[c]=\nL)}delete a.styles[b]},alignmentToStyle:function(a){if(!(\"float\"in a.styles)){var b=a.attributes.align;if(b==\"left\"||b==\"right\")a.styles[\"float\"]=b}delete a.attributes.align},alignmentToAttribute:function(a){if(!(\"align\"in a.attributes)){var b=a.styles[\"float\"];if(b==\"left\"||b==\"right\")a.attributes.align=b}delete a.styles[\"float\"]},matchesStyle:y,transform:function(a,b){if(typeof b==\"string\")a.name=b;else{var c=b.getDefinition(),d=c.styles,f=c.attributes,e,k,m,l;a.name=c.element;for(e in f)if(e==\n\"class\"){c=a.classes.join(\"|\");for(m=f[e].split(/\\s+/);l=m.pop();)c.indexOf(l)==-1&&a.classes.push(l)}else a.attributes[e]=f[e];for(k in d)a.styles[k]=d[k]}}}})();\n(function(){CKEDITOR.focusManager=function(a){if(a.focusManager)return a.focusManager;this.hasFocus=false;this.currentActive=null;this._={editor:a};return this};CKEDITOR.focusManager._={blurDelay:200};CKEDITOR.focusManager.prototype={focus:function(a){this._.timer&&clearTimeout(this._.timer);if(a)this.currentActive=a;if(!this.hasFocus&&!this._.locked){(a=CKEDITOR.currentInstance)&&a.focusManager.blur(1);this.hasFocus=true;(a=this._.editor.container)&&a.addClass(\"cke_focus\");this._.editor.fire(\"focus\")}},\nlock:function(){this._.locked=1},unlock:function(){delete this._.locked},blur:function(a){function e(){if(this.hasFocus){this.hasFocus=false;var a=this._.editor.container;a&&a.removeClass(\"cke_focus\");this._.editor.fire(\"blur\")}}if(!this._.locked){this._.timer&&clearTimeout(this._.timer);var b=CKEDITOR.focusManager._.blurDelay;a||!b?e.call(this):this._.timer=CKEDITOR.tools.setTimeout(function(){delete this._.timer;e.call(this)},b,this)}},add:function(a,e){var b=a.getCustomData(\"focusmanager\");if(!b||\nb!=this){b&&b.remove(a);var b=\"focus\",c=\"blur\";if(e)if(CKEDITOR.env.ie){b=\"focusin\";c=\"focusout\"}else CKEDITOR.event.useCapture=1;var d={blur:function(){a.equals(this.currentActive)&&this.blur()},focus:function(){this.focus(a)}};a.on(b,d.focus,this);a.on(c,d.blur,this);if(e)CKEDITOR.event.useCapture=0;a.setCustomData(\"focusmanager\",this);a.setCustomData(\"focusmanager_handlers\",d)}},remove:function(a){a.removeCustomData(\"focusmanager\");var e=a.removeCustomData(\"focusmanager_handlers\");a.removeListener(\"blur\",\ne.blur);a.removeListener(\"focus\",e.focus)}}})();CKEDITOR.keystrokeHandler=function(a){if(a.keystrokeHandler)return a.keystrokeHandler;this.keystrokes={};this.blockedKeystrokes={};this._={editor:a};return this};\n(function(){var a,e=function(b){var b=b.data,d=b.getKeystroke(),e=this.keystrokes[d],g=this._.editor;a=g.fire(\"key\",{keyCode:d})===false;if(!a){e&&(a=g.execCommand(e,{from:\"keystrokeHandler\"})!==false);a||(a=!!this.blockedKeystrokes[d])}a&&b.preventDefault(true);return!a},b=function(b){if(a){a=false;b.data.preventDefault(true)}};CKEDITOR.keystrokeHandler.prototype={attach:function(a){a.on(\"keydown\",e,this);if(CKEDITOR.env.opera||CKEDITOR.env.gecko&&CKEDITOR.env.mac)a.on(\"keypress\",b,this)}}})();\n(function(){CKEDITOR.lang={languages:{af:1,ar:1,bg:1,bn:1,bs:1,ca:1,cs:1,cy:1,da:1,de:1,el:1,\"en-au\":1,\"en-ca\":1,\"en-gb\":1,en:1,eo:1,es:1,et:1,eu:1,fa:1,fi:1,fo:1,\"fr-ca\":1,fr:1,gl:1,gu:1,he:1,hi:1,hr:1,hu:1,id:1,is:1,it:1,ja:1,ka:1,km:1,ko:1,ku:1,lt:1,lv:1,mk:1,mn:1,ms:1,nb:1,nl:1,no:1,pl:1,\"pt-br\":1,pt:1,ro:1,ru:1,si:1,sk:1,sl:1,sq:1,\"sr-latn\":1,sr:1,sv:1,th:1,tr:1,ug:1,uk:1,vi:1,\"zh-cn\":1,zh:1},rtl:{ar:1,fa:1,he:1,ku:1,ug:1},load:function(a,e,b){if(!a||!CKEDITOR.lang.languages[a])a=this.detect(e,\na);this[a]?b(a,this[a]):CKEDITOR.scriptLoader.load(CKEDITOR.getUrl(\"lang/\"+a+\".js\"),function(){this[a].dir=this.rtl[a]?\"rtl\":\"ltr\";b(a,this[a])},this)},detect:function(a,e){var b=this.languages,e=e||navigator.userLanguage||navigator.language||a,c=e.toLowerCase().match(/([a-z]+)(?:-([a-z]+))?/),d=c[1],c=c[2];b[d+\"-\"+c]?d=d+\"-\"+c:b[d]||(d=null);CKEDITOR.lang.detect=d?function(){return d}:function(a){return a};return d||a}}})();\nCKEDITOR.scriptLoader=function(){var a={},e={};return{load:function(b,c,d,h){var g=typeof b==\"string\";g&&(b=[b]);d||(d=CKEDITOR);var n=b.length,i=[],j=[],o=function(a){c&&(g?c.call(d,a):c.call(d,i,j))};if(n===0)o(true);else{var q=function(a,b){(b?i:j).push(a);if(--n<=0){h&&CKEDITOR.document.getDocumentElement().removeStyle(\"cursor\");o(b)}},s=function(b,c){a[b]=1;var d=e[b];delete e[b];for(var f=0;f<d.length;f++)d[f](b,c)},u=function(b){if(a[b])q(b,true);else{var d=e[b]||(e[b]=[]);d.push(q);if(!(d.length>\n1)){var f=new CKEDITOR.dom.element(\"script\");f.setAttributes({type:\"text/javascript\",src:b});if(c)if(CKEDITOR.env.ie&&CKEDITOR.env.version<11)f.$.onreadystatechange=function(){if(f.$.readyState==\"loaded\"||f.$.readyState==\"complete\"){f.$.onreadystatechange=null;s(b,true)}};else{f.$.onload=function(){setTimeout(function(){s(b,true)},0)};f.$.onerror=function(){s(b,false)}}f.appendTo(CKEDITOR.document.getHead())}}};h&&CKEDITOR.document.getDocumentElement().setStyle(\"cursor\",\"wait\");for(var f=0;f<n;f++)u(b[f])}},\nqueue:function(){function a(){var b;(b=c[0])&&this.load(b.scriptUrl,b.callback,CKEDITOR,0)}var c=[];return function(d,e){var g=this;c.push({scriptUrl:d,callback:function(){e&&e.apply(this,arguments);c.shift();a.call(g)}});c.length==1&&a.call(this)}}()}}();CKEDITOR.resourceManager=function(a,e){this.basePath=a;this.fileName=e;this.registered={};this.loaded={};this.externals={};this._={waitingList:{}}};\nCKEDITOR.resourceManager.prototype={add:function(a,e){if(this.registered[a])throw'[CKEDITOR.resourceManager.add] The resource name \"'+a+'\" is already registered.';var b=this.registered[a]=e||{};b.name=a;b.path=this.getPath(a);CKEDITOR.fire(a+CKEDITOR.tools.capitalize(this.fileName)+\"Ready\",b);return this.get(a)},get:function(a){return this.registered[a]||null},getPath:function(a){var e=this.externals[a];return CKEDITOR.getUrl(e&&e.dir||this.basePath+a+\"/\")},getFilePath:function(a){var e=this.externals[a];\nreturn CKEDITOR.getUrl(this.getPath(a)+(e?e.file:this.fileName+\".js\"))},addExternal:function(a,e,b){for(var a=a.split(\",\"),c=0;c<a.length;c++){var d=a[c];b||(e=e.replace(/[^\\/]+$/,function(a){b=a;return\"\"}));this.externals[d]={dir:e,file:b||this.fileName+\".js\"}}},load:function(a,e,b){CKEDITOR.tools.isArray(a)||(a=a?[a]:[]);for(var c=this.loaded,d=this.registered,h=[],g={},n={},i=0;i<a.length;i++){var j=a[i];if(j)if(!c[j]&&!d[j]){var o=this.getFilePath(j);h.push(o);o in g||(g[o]=[]);g[o].push(j)}else n[j]=\nthis.get(j)}CKEDITOR.scriptLoader.load(h,function(a,d){if(d.length)throw'[CKEDITOR.resourceManager.load] Resource name \"'+g[d[0]].join(\",\")+'\" was not found at \"'+d[0]+'\".';for(var h=0;h<a.length;h++)for(var f=g[a[h]],p=0;p<f.length;p++){var i=f[p];n[i]=this.get(i);c[i]=1}e.call(b,n)},this)}};CKEDITOR.plugins=new CKEDITOR.resourceManager(\"plugins/\",\"plugin\");\nCKEDITOR.plugins.load=CKEDITOR.tools.override(CKEDITOR.plugins.load,function(a){var e={};return function(b,c,d){var h={},g=function(b){a.call(this,b,function(a){CKEDITOR.tools.extend(h,a);var b=[],n;for(n in a){var q=a[n],s=q&&q.requires;if(!e[n]){if(q.icons)for(var u=q.icons.split(\",\"),f=u.length;f--;)CKEDITOR.skin.addIcon(u[f],q.path+\"icons/\"+(CKEDITOR.env.hidpi&&q.hidpi?\"hidpi/\":\"\")+u[f]+\".png\");e[n]=1}if(s){s.split&&(s=s.split(\",\"));for(q=0;q<s.length;q++)h[s[q]]||b.push(s[q])}}if(b.length)g.call(this,\nb);else{for(n in h){q=h[n];if(q.onLoad&&!q.onLoad._called){q.onLoad()===false&&delete h[n];q.onLoad._called=1}}c&&c.call(d||window,h)}},this)};g.call(this,b)}});CKEDITOR.plugins.setLang=function(a,e,b){var c=this.get(a),a=c.langEntries||(c.langEntries={}),c=c.lang||(c.lang=[]);c.split&&(c=c.split(\",\"));CKEDITOR.tools.indexOf(c,e)==-1&&c.push(e);a[e]=b};CKEDITOR.ui=function(a){if(a.ui)return a.ui;this.items={};this.instances={};this.editor=a;this._={handlers:{}};return this};\nCKEDITOR.ui.prototype={add:function(a,e,b){b.name=a.toLowerCase();var c=this.items[a]={type:e,command:b.command||null,args:Array.prototype.slice.call(arguments,2)};CKEDITOR.tools.extend(c,b)},get:function(a){return this.instances[a]},create:function(a){var e=this.items[a],b=e&&this._.handlers[e.type],c=e&&e.command&&this.editor.getCommand(e.command),b=b&&b.create.apply(this,e.args);this.instances[a]=b;c&&c.uiItems.push(b);if(b&&!b.type)b.type=e.type;return b},addHandler:function(a,e){this._.handlers[a]=\ne},space:function(a){return CKEDITOR.document.getById(this.spaceId(a))},spaceId:function(a){return this.editor.id+\"_\"+a}};CKEDITOR.event.implementOn(CKEDITOR.ui);\n(function(){function a(a,c,h){CKEDITOR.event.call(this);a=a&&CKEDITOR.tools.clone(a);if(c!==void 0){if(c instanceof CKEDITOR.dom.element){if(!h)throw Error(\"One of the element modes must be specified.\");}else throw Error(\"Expect element of type CKEDITOR.dom.element.\");if(CKEDITOR.env.ie&&CKEDITOR.env.quirks&&h==CKEDITOR.ELEMENT_MODE_INLINE)throw Error(\"Inline element mode is not supported on IE quirks.\");if(!(h==CKEDITOR.ELEMENT_MODE_INLINE?c.is(CKEDITOR.dtd.$editable)||c.is(\"textarea\"):h==CKEDITOR.ELEMENT_MODE_REPLACE?\n!c.is(CKEDITOR.dtd.$nonBodyContent):1))throw Error('The specified element mode is not supported on element: \"'+c.getName()+'\".');this.element=c;this.elementMode=h;this.name=this.elementMode!=CKEDITOR.ELEMENT_MODE_APPENDTO&&(c.getId()||c.getNameAtt())}else this.elementMode=CKEDITOR.ELEMENT_MODE_NONE;this._={};this.commands={};this.templates={};this.name=this.name||e();this.id=CKEDITOR.tools.getNextId();this.status=\"unloaded\";this.config=CKEDITOR.tools.prototypedCopy(CKEDITOR.config);this.ui=new CKEDITOR.ui(this);\nthis.focusManager=new CKEDITOR.focusManager(this);this.keystrokeHandler=new CKEDITOR.keystrokeHandler(this);this.on(\"readOnly\",b);this.on(\"selectionChange\",function(a){d(this,a.data.path)});this.on(\"activeFilterChange\",function(){d(this,this.elementPath(),true)});this.on(\"mode\",b);this.on(\"instanceReady\",function(){this.config.startupFocus&&this.focus()});CKEDITOR.fire(\"instanceCreated\",null,this);CKEDITOR.add(this);CKEDITOR.tools.setTimeout(function(){g(this,a)},0,this)}function e(){do var a=\"editor\"+\n++s;while(CKEDITOR.instances[a]);return a}function b(){var a=this.commands,b;for(b in a)c(this,a[b])}function c(a,b){b[b.startDisabled?\"disable\":a.readOnly&&!b.readOnly?\"disable\":b.modes[a.mode]?\"enable\":\"disable\"]()}function d(a,b,c){if(b){var d,e,l=a.commands;for(e in l){d=l[e];(c||d.contextSensitive)&&d.refresh(a,b)}}}function h(a){var b=a.config.customConfig;if(!b)return false;var b=CKEDITOR.getUrl(b),c=u[b]||(u[b]={});if(c.fn){c.fn.call(a,a.config);(CKEDITOR.getUrl(a.config.customConfig)==b||\n!h(a))&&a.fireOnce(\"customConfigLoaded\")}else CKEDITOR.scriptLoader.queue(b,function(){c.fn=CKEDITOR.editorConfig?CKEDITOR.editorConfig:function(){};h(a)});return true}function g(a,b){a.on(\"customConfigLoaded\",function(){if(b){if(b.on)for(var c in b.on)a.on(c,b.on[c]);CKEDITOR.tools.extend(a.config,b,true);delete a.config.on}c=a.config;a.readOnly=!(!c.readOnly&&!(a.elementMode==CKEDITOR.ELEMENT_MODE_INLINE?a.element.is(\"textarea\")?a.element.hasAttribute(\"disabled\"):a.element.isReadOnly():a.elementMode==\nCKEDITOR.ELEMENT_MODE_REPLACE&&a.element.hasAttribute(\"disabled\")));a.blockless=a.elementMode==CKEDITOR.ELEMENT_MODE_INLINE?!(a.element.is(\"textarea\")||CKEDITOR.dtd[a.element.getName()].p):false;a.tabIndex=c.tabIndex||a.element&&a.element.getAttribute(\"tabindex\")||0;a.activeEnterMode=a.enterMode=a.blockless?CKEDITOR.ENTER_BR:c.enterMode;a.activeShiftEnterMode=a.shiftEnterMode=a.blockless?CKEDITOR.ENTER_BR:c.shiftEnterMode;if(c.skin)CKEDITOR.skinName=c.skin;a.fireOnce(\"configLoaded\");a.dataProcessor=\nnew CKEDITOR.htmlDataProcessor(a);a.filter=a.activeFilter=new CKEDITOR.filter(a);n(a)});if(b&&b.customConfig!=void 0)a.config.customConfig=b.customConfig;h(a)||a.fireOnce(\"customConfigLoaded\")}function n(a){CKEDITOR.skin.loadPart(\"editor\",function(){i(a)})}function i(a){CKEDITOR.lang.load(a.config.language,a.config.defaultLanguage,function(b,c){var d=a.config.title;a.langCode=b;a.lang=CKEDITOR.tools.prototypedCopy(c);a.title=typeof d==\"string\"||d===false?d:[a.lang.editor,a.name].join(\", \");if(CKEDITOR.env.gecko&&\nCKEDITOR.env.version<10900&&a.lang.dir==\"rtl\")a.lang.dir=\"ltr\";if(!a.config.contentsLangDirection)a.config.contentsLangDirection=a.elementMode==CKEDITOR.ELEMENT_MODE_INLINE?a.element.getDirection(1):a.lang.dir;a.fire(\"langLoaded\");j(a)})}function j(a){a.getStylesSet(function(b){a.once(\"loaded\",function(){a.fire(\"stylesSet\",{styles:b})},null,null,1);o(a)})}function o(a){var b=a.config,c=b.plugins,d=b.extraPlugins,e=b.removePlugins;if(d)var l=RegExp(\"(?:^|,)(?:\"+d.replace(/\\s*,\\s*/g,\"|\")+\")(?=,|$)\",\n\"g\"),c=c.replace(l,\"\"),c=c+(\",\"+d);if(e)var h=RegExp(\"(?:^|,)(?:\"+e.replace(/\\s*,\\s*/g,\"|\")+\")(?=,|$)\",\"g\"),c=c.replace(h,\"\");CKEDITOR.env.air&&(c=c+\",adobeair\");CKEDITOR.plugins.load(c.split(\",\"),function(c){var d=[],e=[],k=[];a.plugins=c;for(var l in c){var m=c[l],g=m.lang,i=null,j=m.requires,v;CKEDITOR.tools.isArray(j)&&(j=j.join(\",\"));if(j&&(v=j.match(h)))for(;j=v.pop();)CKEDITOR.tools.setTimeout(function(a,b){throw Error('Plugin \"'+a.replace(\",\",\"\")+'\" cannot be removed from the plugins list, because it\\'s required by \"'+\nb+'\" plugin.');},0,null,[j,l]);if(g&&!a.lang[l]){g.split&&(g=g.split(\",\"));if(CKEDITOR.tools.indexOf(g,a.langCode)>=0)i=a.langCode;else{i=a.langCode.replace(/-.*/,\"\");i=i!=a.langCode&&CKEDITOR.tools.indexOf(g,i)>=0?i:CKEDITOR.tools.indexOf(g,\"en\")>=0?\"en\":g[0]}if(!m.langEntries||!m.langEntries[i])k.push(CKEDITOR.getUrl(m.path+\"lang/\"+i+\".js\"));else{a.lang[l]=m.langEntries[i];i=null}}e.push(i);d.push(m)}CKEDITOR.scriptLoader.load(k,function(){for(var c=[\"beforeInit\",\"init\",\"afterInit\"],k=0;k<c.length;k++)for(var m=\n0;m<d.length;m++){var l=d[m];k===0&&(e[m]&&l.lang&&l.langEntries)&&(a.lang[l.name]=l.langEntries[e[m]]);if(l[c[k]])l[c[k]](a)}a.fireOnce(\"pluginsLoaded\");b.keystrokes&&a.setKeystroke(a.config.keystrokes);for(m=0;m<a.config.blockedKeystrokes.length;m++)a.keystrokeHandler.blockedKeystrokes[a.config.blockedKeystrokes[m]]=1;a.status=\"loaded\";a.fireOnce(\"loaded\");CKEDITOR.fire(\"instanceLoaded\",null,a)})})}function q(){var a=this.element;if(a&&this.elementMode!=CKEDITOR.ELEMENT_MODE_APPENDTO){var b=this.getData();\nthis.config.htmlEncodeOutput&&(b=CKEDITOR.tools.htmlEncode(b));a.is(\"textarea\")?a.setValue(b):a.setHtml(b);return true}return false}a.prototype=CKEDITOR.editor.prototype;CKEDITOR.editor=a;var s=0,u={};CKEDITOR.tools.extend(CKEDITOR.editor.prototype,{addCommand:function(a,b){b.name=a.toLowerCase();var d=new CKEDITOR.command(this,b);this.mode&&c(this,d);return this.commands[a]=d},_attachToForm:function(){var a=this,b=a.element,c=new CKEDITOR.dom.element(b.$.form);if(b.is(\"textarea\")&&c){var d=function(c){a.updateElement();\na._.required&&(!b.getValue()&&a.fire(\"required\")===false)&&c.data.preventDefault()};c.on(\"submit\",d);if(c.$.submit&&c.$.submit.call&&c.$.submit.apply)c.$.submit=CKEDITOR.tools.override(c.$.submit,function(a){return function(){d();a.apply?a.apply(this):a()}});a.on(\"destroy\",function(){c.removeListener(\"submit\",d)})}},destroy:function(a){this.fire(\"beforeDestroy\");!a&&q.call(this);this.editable(null);this.status=\"destroyed\";this.fire(\"destroy\");this.removeAllListeners();CKEDITOR.remove(this);CKEDITOR.fire(\"instanceDestroyed\",\nnull,this)},elementPath:function(a){return(a=a||this.getSelection().getStartElement())?new CKEDITOR.dom.elementPath(a,this.editable()):null},createRange:function(){var a=this.editable();return a?new CKEDITOR.dom.range(a):null},execCommand:function(a,b){var c=this.getCommand(a),d={name:a,commandData:b,command:c};if(c&&c.state!=CKEDITOR.TRISTATE_DISABLED&&this.fire(\"beforeCommandExec\",d)!==true){d.returnValue=c.exec(d.commandData);if(!c.async&&this.fire(\"afterCommandExec\",d)!==true)return d.returnValue}return false},\ngetCommand:function(a){return this.commands[a]},getData:function(a){!a&&this.fire(\"beforeGetData\");var b=this._.data;if(typeof b!=\"string\")b=(b=this.element)&&this.elementMode==CKEDITOR.ELEMENT_MODE_REPLACE?b.is(\"textarea\")?b.getValue():b.getHtml():\"\";b={dataValue:b};!a&&this.fire(\"getData\",b);return b.dataValue},getSnapshot:function(){var a=this.fire(\"getSnapshot\");if(typeof a!=\"string\"){var b=this.element;b&&this.elementMode==CKEDITOR.ELEMENT_MODE_REPLACE&&(a=b.is(\"textarea\")?b.getValue():b.getHtml())}return a},\nloadSnapshot:function(a){this.fire(\"loadSnapshot\",a)},setData:function(a,b,c){if(b)this.on(\"dataReady\",function(a){a.removeListener();b.call(a.editor)});a={dataValue:a};!c&&this.fire(\"setData\",a);this._.data=a.dataValue;!c&&this.fire(\"afterSetData\",a)},setReadOnly:function(a){a=a==void 0||a;if(this.readOnly!=a){this.readOnly=a;this.keystrokeHandler.blockedKeystrokes[8]=+a;this.editable().setReadOnly(a);this.fire(\"readOnly\")}},insertHtml:function(a,b){this.fire(\"insertHtml\",{dataValue:a,mode:b})},\ninsertText:function(a){this.fire(\"insertText\",a)},insertElement:function(a){this.fire(\"insertElement\",a)},focus:function(){this.fire(\"beforeFocus\")},checkDirty:function(){return this.status==\"ready\"&&this._.previousValue!==this.getSnapshot()},resetDirty:function(){this._.previousValue=this.getSnapshot()},updateElement:function(){return q.call(this)},setKeystroke:function(){for(var a=this.keystrokeHandler.keystrokes,b=CKEDITOR.tools.isArray(arguments[0])?arguments[0]:[[].slice.call(arguments,0)],c,\nd,e=b.length;e--;){c=b[e];d=0;if(CKEDITOR.tools.isArray(c)){d=c[1];c=c[0]}d?a[c]=d:delete a[c]}},addFeature:function(a){return this.filter.addFeature(a)},setActiveFilter:function(a){if(!a)a=this.filter;if(this.activeFilter!==a){this.activeFilter=a;this.fire(\"activeFilterChange\");a===this.filter?this.setActiveEnterMode(null,null):this.setActiveEnterMode(a.getAllowedEnterMode(this.enterMode),a.getAllowedEnterMode(this.shiftEnterMode,true))}},setActiveEnterMode:function(a,b){a=a?this.blockless?CKEDITOR.ENTER_BR:\na:this.enterMode;b=b?this.blockless?CKEDITOR.ENTER_BR:b:this.shiftEnterMode;if(this.activeEnterMode!=a||this.activeShiftEnterMode!=b){this.activeEnterMode=a;this.activeShiftEnterMode=b;this.fire(\"activeEnterModeChange\")}}})})();CKEDITOR.ELEMENT_MODE_NONE=0;CKEDITOR.ELEMENT_MODE_REPLACE=1;CKEDITOR.ELEMENT_MODE_APPENDTO=2;CKEDITOR.ELEMENT_MODE_INLINE=3;\nCKEDITOR.htmlParser=function(){this._={htmlPartsRegex:RegExp(\"<(?:(?:\\\\/([^>]+)>)|(?:!--([\\\\S|\\\\s]*?)--\\>)|(?:([^\\\\s>]+)\\\\s*((?:(?:\\\"[^\\\"]*\\\")|(?:'[^']*')|[^\\\"'>])*)\\\\/?>))\",\"g\")}};\n(function(){var a=/([\\w\\-:.]+)(?:(?:\\s*=\\s*(?:(?:\"([^\"]*)\")|(?:'([^']*)')|([^\\s>]+)))|(?=\\s|$))/g,e={checked:1,compact:1,declare:1,defer:1,disabled:1,ismap:1,multiple:1,nohref:1,noresize:1,noshade:1,nowrap:1,readonly:1,selected:1};CKEDITOR.htmlParser.prototype={onTagOpen:function(){},onTagClose:function(){},onText:function(){},onCDATA:function(){},onComment:function(){},parse:function(b){for(var c,d,h=0,g;c=this._.htmlPartsRegex.exec(b);){d=c.index;if(d>h){h=b.substring(h,d);if(g)g.push(h);else this.onText(h)}h=\nthis._.htmlPartsRegex.lastIndex;if(d=c[1]){d=d.toLowerCase();if(g&&CKEDITOR.dtd.$cdata[d]){this.onCDATA(g.join(\"\"));g=null}if(!g){this.onTagClose(d);continue}}if(g)g.push(c[0]);else if(d=c[3]){d=d.toLowerCase();if(!/=\"/.test(d)){var n={},i;c=c[4];var j=!!(c&&c.charAt(c.length-1)==\"/\");if(c)for(;i=a.exec(c);){var o=i[1].toLowerCase();i=i[2]||i[3]||i[4]||\"\";n[o]=!i&&e[o]?o:CKEDITOR.tools.htmlDecodeAttr(i)}this.onTagOpen(d,n,j);!g&&CKEDITOR.dtd.$cdata[d]&&(g=[])}}else if(d=c[2])this.onComment(d)}if(b.length>\nh)this.onText(b.substring(h,b.length))}}})();\nCKEDITOR.htmlParser.basicWriter=CKEDITOR.tools.createClass({$:function(){this._={output:[]}},proto:{openTag:function(a){this._.output.push(\"<\",a)},openTagClose:function(a,e){e?this._.output.push(\" />\"):this._.output.push(\">\")},attribute:function(a,e){typeof e==\"string\"&&(e=CKEDITOR.tools.htmlEncodeAttr(e));this._.output.push(\" \",a,'=\"',e,'\"')},closeTag:function(a){this._.output.push(\"</\",a,\">\")},text:function(a){this._.output.push(a)},comment:function(a){this._.output.push(\"<\\!--\",a,\"--\\>\")},write:function(a){this._.output.push(a)},\nreset:function(){this._.output=[];this._.indent=false},getHtml:function(a){var e=this._.output.join(\"\");a&&this.reset();return e}}});\"use strict\";\n(function(){CKEDITOR.htmlParser.node=function(){};CKEDITOR.htmlParser.node.prototype={remove:function(){var a=this.parent.children,e=CKEDITOR.tools.indexOf(a,this),b=this.previous,c=this.next;b&&(b.next=c);c&&(c.previous=b);a.splice(e,1);this.parent=null},replaceWith:function(a){var e=this.parent.children,b=CKEDITOR.tools.indexOf(e,this),c=a.previous=this.previous,d=a.next=this.next;c&&(c.next=a);d&&(d.previous=a);e[b]=a;a.parent=this.parent;this.parent=null},insertAfter:function(a){var e=a.parent.children,\nb=CKEDITOR.tools.indexOf(e,a),c=a.next;e.splice(b+1,0,this);this.next=a.next;this.previous=a;a.next=this;c&&(c.previous=this);this.parent=a.parent},insertBefore:function(a){var e=a.parent.children,b=CKEDITOR.tools.indexOf(e,a);e.splice(b,0,this);this.next=a;(this.previous=a.previous)&&(a.previous.next=this);a.previous=this;this.parent=a.parent},getAscendant:function(a){var e=typeof a==\"function\"?a:typeof a==\"string\"?function(b){return b.name==a}:function(b){return b.name in a},b=this.parent;for(;b&&\nb.type==CKEDITOR.NODE_ELEMENT;){if(e(b))return b;b=b.parent}return null},wrapWith:function(a){this.replaceWith(a);a.add(this);return a},getIndex:function(){return CKEDITOR.tools.indexOf(this.parent.children,this)},getFilterContext:function(a){return a||{}}}})();\"use strict\";CKEDITOR.htmlParser.comment=function(a){this.value=a;this._={isBlockLike:false}};\nCKEDITOR.htmlParser.comment.prototype=CKEDITOR.tools.extend(new CKEDITOR.htmlParser.node,{type:CKEDITOR.NODE_COMMENT,filter:function(a,e){var b=this.value;if(!(b=a.onComment(e,b,this))){this.remove();return false}if(typeof b!=\"string\"){this.replaceWith(b);return false}this.value=b;return true},writeHtml:function(a,e){e&&this.filter(e);a.comment(this.value)}});\"use strict\";\n(function(){CKEDITOR.htmlParser.text=function(a){this.value=a;this._={isBlockLike:false}};CKEDITOR.htmlParser.text.prototype=CKEDITOR.tools.extend(new CKEDITOR.htmlParser.node,{type:CKEDITOR.NODE_TEXT,filter:function(a,e){if(!(this.value=a.onText(e,this.value,this))){this.remove();return false}},writeHtml:function(a,e){e&&this.filter(e);a.text(this.value)}})})();\"use strict\";\n(function(){CKEDITOR.htmlParser.cdata=function(a){this.value=a};CKEDITOR.htmlParser.cdata.prototype=CKEDITOR.tools.extend(new CKEDITOR.htmlParser.node,{type:CKEDITOR.NODE_TEXT,filter:function(){},writeHtml:function(a){a.write(this.value)}})})();\"use strict\";CKEDITOR.htmlParser.fragment=function(){this.children=[];this.parent=null;this._={isBlockLike:true,hasInlineStarted:false}};\n(function(){function a(a){return a.attributes[\"data-cke-survive\"]?false:a.name==\"a\"&&a.attributes.href||CKEDITOR.dtd.$removeEmpty[a.name]}var e=CKEDITOR.tools.extend({table:1,ul:1,ol:1,dl:1},CKEDITOR.dtd.table,CKEDITOR.dtd.ul,CKEDITOR.dtd.ol,CKEDITOR.dtd.dl),b={ol:1,ul:1},c=CKEDITOR.tools.extend({},{html:1},CKEDITOR.dtd.html,CKEDITOR.dtd.body,CKEDITOR.dtd.head,{style:1,script:1});CKEDITOR.htmlParser.fragment.fromHtml=function(d,h,g){function n(a){var b;if(p.length>0)for(var c=0;c<p.length;c++){var d=\np[c],e=d.name,f=CKEDITOR.dtd[e],k=m.name&&CKEDITOR.dtd[m.name];if((!k||k[e])&&(!a||!f||f[a]||!CKEDITOR.dtd[a])){if(!b){i();b=1}d=d.clone();d.parent=m;m=d;p.splice(c,1);c--}else if(e==m.name){o(m,m.parent,1);c--}}}function i(){for(;y.length;)o(y.shift(),m)}function j(a){if(a._.isBlockLike&&a.name!=\"pre\"&&a.name!=\"textarea\"){var b=a.children.length,c=a.children[b-1],d;if(c&&c.type==CKEDITOR.NODE_TEXT)(d=CKEDITOR.tools.rtrim(c.value))?c.value=d:a.children.length=b-1}}function o(b,c,d){var c=c||m||f,\ne=m;if(b.previous===void 0){if(q(c,b)){m=c;u.onTagOpen(g,{});b.returnPoint=c=m}j(b);(!a(b)||b.children.length)&&c.add(b);b.name==\"pre\"&&(l=false);b.name==\"textarea\"&&(k=false)}if(b.returnPoint){m=b.returnPoint;delete b.returnPoint}else m=d?c:e}function q(a,b){if((a==f||a.name==\"body\")&&g&&(!a.name||CKEDITOR.dtd[a.name][g])){var c,d;return(c=b.attributes&&(d=b.attributes[\"data-cke-real-element-type\"])?d:b.name)&&c in CKEDITOR.dtd.$inline&&!(c in CKEDITOR.dtd.head)&&!b.isOrphan||b.type==CKEDITOR.NODE_TEXT}}\nfunction s(a,b){return a in CKEDITOR.dtd.$listItem||a in CKEDITOR.dtd.$tableContent?a==b||a==\"dt\"&&b==\"dd\"||a==\"dd\"&&b==\"dt\":false}var u=new CKEDITOR.htmlParser,f=h instanceof CKEDITOR.htmlParser.element?h:typeof h==\"string\"?new CKEDITOR.htmlParser.element(h):new CKEDITOR.htmlParser.fragment,p=[],y=[],m=f,k=f.name==\"textarea\",l=f.name==\"pre\";u.onTagOpen=function(d,f,h,g){f=new CKEDITOR.htmlParser.element(d,f);if(f.isUnknown&&h)f.isEmpty=true;f.isOptionalClose=g;if(a(f))p.push(f);else{if(d==\"pre\")l=\ntrue;else{if(d==\"br\"&&l){m.add(new CKEDITOR.htmlParser.text(\"\\n\"));return}d==\"textarea\"&&(k=true)}if(d==\"br\")y.push(f);else{for(;;){g=(h=m.name)?CKEDITOR.dtd[h]||(m._.isBlockLike?CKEDITOR.dtd.div:CKEDITOR.dtd.span):c;if(!f.isUnknown&&!m.isUnknown&&!g[d])if(m.isOptionalClose)u.onTagClose(h);else if(d in b&&h in b){h=m.children;(h=h[h.length-1])&&h.name==\"li\"||o(h=new CKEDITOR.htmlParser.element(\"li\"),m);!f.returnPoint&&(f.returnPoint=m);m=h}else if(d in CKEDITOR.dtd.$listItem&&!s(d,h))u.onTagOpen(d==\n\"li\"?\"ul\":\"dl\",{},0,1);else if(h in e&&!s(d,h)){!f.returnPoint&&(f.returnPoint=m);m=m.parent}else{h in CKEDITOR.dtd.$inline&&p.unshift(m);if(m.parent)o(m,m.parent,1);else{f.isOrphan=1;break}}else break}n(d);i();f.parent=m;f.isEmpty?o(f):m=f}}};u.onTagClose=function(a){for(var b=p.length-1;b>=0;b--)if(a==p[b].name){p.splice(b,1);return}for(var c=[],d=[],e=m;e!=f&&e.name!=a;){e._.isBlockLike||d.unshift(e);c.push(e);e=e.returnPoint||e.parent}if(e!=f){for(b=0;b<c.length;b++){var k=c[b];o(k,k.parent)}m=\ne;e._.isBlockLike&&i();o(e,e.parent);if(e==m)m=m.parent;p=p.concat(d)}a==\"body\"&&(g=false)};u.onText=function(a){if((!m._.hasInlineStarted||y.length)&&!l&&!k){a=CKEDITOR.tools.ltrim(a);if(a.length===0)return}var d=m.name,f=d?CKEDITOR.dtd[d]||(m._.isBlockLike?CKEDITOR.dtd.div:CKEDITOR.dtd.span):c;if(!k&&!f[\"#\"]&&d in e){u.onTagOpen(d in b?\"li\":d==\"dl\"?\"dd\":d==\"table\"?\"tr\":d==\"tr\"?\"td\":\"\");u.onText(a)}else{i();n();!l&&!k&&(a=a.replace(/[\\t\\r\\n ]{2,}|[\\t\\r\\n]/g,\" \"));a=new CKEDITOR.htmlParser.text(a);\nif(q(m,a))this.onTagOpen(g,{},0,1);m.add(a)}};u.onCDATA=function(a){m.add(new CKEDITOR.htmlParser.cdata(a))};u.onComment=function(a){i();n();m.add(new CKEDITOR.htmlParser.comment(a))};u.parse(d);for(i();m!=f;)o(m,m.parent,1);j(f);return f};CKEDITOR.htmlParser.fragment.prototype={type:CKEDITOR.NODE_DOCUMENT_FRAGMENT,add:function(a,b){isNaN(b)&&(b=this.children.length);var c=b>0?this.children[b-1]:null;if(c){if(a._.isBlockLike&&c.type==CKEDITOR.NODE_TEXT){c.value=CKEDITOR.tools.rtrim(c.value);if(c.value.length===\n0){this.children.pop();this.add(a);return}}c.next=a}a.previous=c;a.parent=this;this.children.splice(b,0,a);if(!this._.hasInlineStarted)this._.hasInlineStarted=a.type==CKEDITOR.NODE_TEXT||a.type==CKEDITOR.NODE_ELEMENT&&!a._.isBlockLike},filter:function(a,b){b=this.getFilterContext(b);a.onRoot(b,this);this.filterChildren(a,false,b)},filterChildren:function(a,b,c){if(this.childrenFilteredBy!=a.id){c=this.getFilterContext(c);if(b&&!this.parent)a.onRoot(c,this);this.childrenFilteredBy=a.id;for(b=0;b<this.children.length;b++)this.children[b].filter(a,\nc)===false&&b--}},writeHtml:function(a,b){b&&this.filter(b);this.writeChildrenHtml(a)},writeChildrenHtml:function(a,b,c){var e=this.getFilterContext();if(c&&!this.parent&&b)b.onRoot(e,this);b&&this.filterChildren(b,false,e);b=0;c=this.children;for(e=c.length;b<e;b++)c[b].writeHtml(a)},forEach:function(a,b,c){if(!c&&(!b||this.type==b))var e=a(this);if(e!==false)for(var c=this.children,i=0;i<c.length;i++){e=c[i];e.type==CKEDITOR.NODE_ELEMENT?e.forEach(a,b):(!b||e.type==b)&&a(e)}},getFilterContext:function(a){return a||\n{}}}})();\"use strict\";\n(function(){function a(){this.rules=[]}function e(b,c,d,e){var g,n;for(g in c){(n=b[g])||(n=b[g]=new a);n.add(c[g],d,e)}}CKEDITOR.htmlParser.filter=CKEDITOR.tools.createClass({$:function(b){this.id=CKEDITOR.tools.getNextNumber();this.elementNameRules=new a;this.attributeNameRules=new a;this.elementsRules={};this.attributesRules={};this.textRules=new a;this.commentRules=new a;this.rootRules=new a;b&&this.addRules(b,10)},proto:{addRules:function(a,c){var d;if(typeof c==\"number\")d=c;else if(c&&\"priority\"in\nc)d=c.priority;typeof d!=\"number\"&&(d=10);typeof c!=\"object\"&&(c={});a.elementNames&&this.elementNameRules.addMany(a.elementNames,d,c);a.attributeNames&&this.attributeNameRules.addMany(a.attributeNames,d,c);a.elements&&e(this.elementsRules,a.elements,d,c);a.attributes&&e(this.attributesRules,a.attributes,d,c);a.text&&this.textRules.add(a.text,d,c);a.comment&&this.commentRules.add(a.comment,d,c);a.root&&this.rootRules.add(a.root,d,c)},applyTo:function(a){a.filter(this)},onElementName:function(a,c){return this.elementNameRules.execOnName(a,\nc)},onAttributeName:function(a,c){return this.attributeNameRules.execOnName(a,c)},onText:function(a,c){return this.textRules.exec(a,c)},onComment:function(a,c,d){return this.commentRules.exec(a,c,d)},onRoot:function(a,c){return this.rootRules.exec(a,c)},onElement:function(a,c){for(var d=[this.elementsRules[\"^\"],this.elementsRules[c.name],this.elementsRules.$],e,g=0;g<3;g++)if(e=d[g]){e=e.exec(a,c,this);if(e===false)return null;if(e&&e!=c)return this.onNode(a,e);if(c.parent&&!c.name)break}return c},\nonNode:function(a,c){var d=c.type;return d==CKEDITOR.NODE_ELEMENT?this.onElement(a,c):d==CKEDITOR.NODE_TEXT?new CKEDITOR.htmlParser.text(this.onText(a,c.value)):d==CKEDITOR.NODE_COMMENT?new CKEDITOR.htmlParser.comment(this.onComment(a,c.value)):null},onAttribute:function(a,c,d,e){return(d=this.attributesRules[d])?d.exec(a,e,c,this):e}}});CKEDITOR.htmlParser.filterRulesGroup=a;a.prototype={add:function(a,c,d){this.rules.splice(this.findIndex(c),0,{value:a,priority:c,options:d})},addMany:function(a,\nc,d){for(var e=[this.findIndex(c),0],g=0,n=a.length;g<n;g++)e.push({value:a[g],priority:c,options:d});this.rules.splice.apply(this.rules,e)},findIndex:function(a){for(var c=this.rules,d=c.length-1;d>=0&&a<c[d].priority;)d--;return d+1},exec:function(a,c){var d=c instanceof CKEDITOR.htmlParser.node||c instanceof CKEDITOR.htmlParser.fragment,e=Array.prototype.slice.call(arguments,1),g=this.rules,n=g.length,i,j,o,q;for(q=0;q<n;q++){if(d){i=c.type;j=c.name}o=g[q];if(!a.nonEditable||o.options.applyToAll){o=\no.value.apply(null,e);if(o===false||d&&o&&(o.name!=j||o.type!=i))return o;o!=void 0&&(e[0]=c=o)}}return c},execOnName:function(a,c){for(var d=0,e=this.rules,g=e.length,n;c&&d<g;d++){n=e[d];if(!a.nonEditable||n.options.applyToAll)c=c.replace(n.value[0],n.value[1])}return c}}})();\n(function(){function a(a,e){function f(a){return a||CKEDITOR.env.needsNbspFiller?new CKEDITOR.htmlParser.text(\" \"):new CKEDITOR.htmlParser.element(\"br\",{\"data-cke-bogus\":1})}function l(a,d){return function(e){if(e.type!=CKEDITOR.NODE_DOCUMENT_FRAGMENT){var k=[],l=b(e),g,C;if(l)for(m(l,1)&&k.push(l);l;){if(h(l)&&(g=c(l))&&m(g))if((C=c(g))&&!h(C))k.push(g);else{f(v).insertAfter(g);g.remove()}l=l.previous}for(l=0;l<k.length;l++)k[l].remove();if(k=CKEDITOR.env.opera&&!a||(typeof d==\"function\"?d(e)!==\nfalse:d))if(!v&&!CKEDITOR.env.needsBrFiller&&e.type==CKEDITOR.NODE_DOCUMENT_FRAGMENT)k=false;else if(!v&&!CKEDITOR.env.needsBrFiller&&(document.documentMode>7||e.name in CKEDITOR.dtd.tr||e.name in CKEDITOR.dtd.$listItem))k=false;else{k=b(e);k=!k||e.name==\"form\"&&k.name==\"input\"}k&&e.add(f(a))}}}function m(a,b){if((!v||CKEDITOR.env.needsBrFiller)&&a.type==CKEDITOR.NODE_ELEMENT&&a.name==\"br\"&&!a.attributes[\"data-cke-eol\"])return true;var c;if(a.type==CKEDITOR.NODE_TEXT&&(c=a.value.match(y))){if(c.index){(new CKEDITOR.htmlParser.text(a.value.substring(0,\nc.index))).insertBefore(a);a.value=c[0]}if(!CKEDITOR.env.needsBrFiller&&v&&(!b||a.parent.name in i))return true;if(!v)if((c=a.previous)&&c.name==\"br\"||!c||h(c))return true}return false}var r={elements:{}},v=e==\"html\",i=CKEDITOR.tools.extend({},t),p;for(p in i)\"#\"in k[p]||delete i[p];for(p in i)r.elements[p]=l(v,a.config.fillEmptyBlocks!==false);r.root=l(v);r.elements.br=function(a){return function(b){if(b.parent.type!=CKEDITOR.NODE_DOCUMENT_FRAGMENT){var e=b.attributes;if(\"data-cke-bogus\"in e||\"data-cke-eol\"in\ne)delete e[\"data-cke-bogus\"];else{for(e=b.next;e&&d(e);)e=e.next;var k=c(b);!e&&h(b.parent)?g(b.parent,f(a)):h(e)&&(k&&!h(k))&&f(a).insertBefore(e)}}}}(v);return r}function e(a,b){return a!=CKEDITOR.ENTER_BR&&b!==false?a==CKEDITOR.ENTER_DIV?\"div\":\"p\":false}function b(a){for(a=a.children[a.children.length-1];a&&d(a);)a=a.previous;return a}function c(a){for(a=a.previous;a&&d(a);)a=a.previous;return a}function d(a){return a.type==CKEDITOR.NODE_TEXT&&!CKEDITOR.tools.trim(a.value)||a.type==CKEDITOR.NODE_ELEMENT&&\na.attributes[\"data-cke-bookmark\"]}function h(a){return a&&(a.type==CKEDITOR.NODE_ELEMENT&&a.name in t||a.type==CKEDITOR.NODE_DOCUMENT_FRAGMENT)}function g(a,b){var c=a.children[a.children.length-1];a.children.push(b);b.parent=a;if(c){c.next=b;b.previous=c}}function n(a){a=a.attributes;a.contenteditable!=\"false\"&&(a[\"data-cke-editable\"]=a.contenteditable?\"true\":1);a.contenteditable=\"false\"}function i(a){a=a.attributes;switch(a[\"data-cke-editable\"]){case \"true\":a.contenteditable=\"true\";break;case \"1\":delete a.contenteditable}}\nfunction j(a){return a.replace(I,function(a,b,c){return\"<\"+b+c.replace(E,function(a,b){if(!/^on/.test(b)&&c.indexOf(\"data-cke-saved-\"+b)==-1){a=a.slice(1);return\" data-cke-saved-\"+a+\" data-cke-\"+CKEDITOR.rnd+\"-\"+a}return a})+\">\"})}function o(a,b){return a.replace(b,function(a,b,c){a.indexOf(\"<textarea\")===0&&(a=b+u(c).replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\")+\"</textarea>\");return\"<cke:encoded>\"+encodeURIComponent(a)+\"</cke:encoded>\"})}function q(a){return a.replace(Q,function(a,b){return decodeURIComponent(b)})}\nfunction s(a){return a.replace(/<\\!--(?!{cke_protected})[\\s\\S]+?--\\>/g,function(a){return\"<\\!--\"+m+\"{C}\"+encodeURIComponent(a).replace(/--/g,\"%2D%2D\")+\"--\\>\"})}function u(a){return a.replace(/<\\!--\\{cke_protected\\}\\{C\\}([\\s\\S]+?)--\\>/g,function(a,b){return decodeURIComponent(b)})}function f(a,b){var c=b._.dataStore;return a.replace(/<\\!--\\{cke_protected\\}([\\s\\S]+?)--\\>/g,function(a,b){return decodeURIComponent(b)}).replace(/\\{cke_protected_(\\d+)\\}/g,function(a,b){return c&&c[b]||\"\"})}function p(a,\nb){for(var c=[],d=b.config.protectedSource,e=b._.dataStore||(b._.dataStore={id:1}),f=/<\\!--\\{cke_temp(comment)?\\}(\\d*?)--\\>/g,d=[/<script[\\s\\S]*?<\\/script>/gi,/<noscript[\\s\\S]*?<\\/noscript>/gi].concat(d),a=a.replace(/<\\!--[\\s\\S]*?--\\>/g,function(a){return\"<\\!--{cke_tempcomment}\"+(c.push(a)-1)+\"--\\>\"}),k=0;k<d.length;k++)a=a.replace(d[k],function(a){a=a.replace(f,function(a,b,d){return c[d]});return/cke_temp(comment)?/.test(a)?a:\"<\\!--{cke_temp}\"+(c.push(a)-1)+\"--\\>\"});a=a.replace(f,function(a,b,d){return\"<\\!--\"+\nm+(b?\"{C}\":\"\")+encodeURIComponent(c[d]).replace(/--/g,\"%2D%2D\")+\"--\\>\"});return a.replace(/(['\"]).*?\\1/g,function(a){return a.replace(/<\\!--\\{cke_protected\\}([\\s\\S]+?)--\\>/g,function(a,b){e[e.id]=decodeURIComponent(b);return\"{cke_protected_\"+e.id++ +\"}\"})})}CKEDITOR.htmlDataProcessor=function(b){var c,d,k=this;this.editor=b;this.dataFilter=c=new CKEDITOR.htmlParser.filter;this.htmlFilter=d=new CKEDITOR.htmlParser.filter;this.writer=new CKEDITOR.htmlParser.basicWriter;c.addRules(x);c.addRules(r,{applyToAll:true});\nc.addRules(a(b,\"data\"),{applyToAll:true});d.addRules(L);d.addRules(A,{applyToAll:true});d.addRules(a(b,\"html\"),{applyToAll:true});b.on(\"toHtml\",function(a){var a=a.data,c=a.dataValue,c=p(c,b),c=o(c,M),c=j(c),c=o(c,z),c=c.replace(v,\"$1cke:$2\"),c=c.replace(H,\"<cke:$1$2></cke:$1>\"),c=CKEDITOR.env.opera?c:c.replace(/(<pre\\b[^>]*>)(\\r\\n|\\n)/g,\"$1$2$2\"),d=a.context||b.editable().getName(),f;if(CKEDITOR.env.ie&&CKEDITOR.env.version<9&&d==\"pre\"){d=\"div\";c=\"<pre>\"+c+\"</pre>\";f=1}d=b.document.createElement(d);\nd.setHtml(\"a\"+c);c=d.getHtml().substr(1);c=c.replace(RegExp(\" data-cke-\"+CKEDITOR.rnd+\"-\",\"ig\"),\" \");f&&(c=c.replace(/^<pre>|<\\/pre>$/gi,\"\"));c=c.replace(w,\"$1$2\");c=q(c);c=u(c);a.dataValue=CKEDITOR.htmlParser.fragment.fromHtml(c,a.context,a.fixForBody===false?false:e(a.enterMode,b.config.autoParagraph))},null,null,5);b.on(\"toHtml\",function(a){a.data.filter.applyTo(a.data.dataValue,true,a.data.dontFilter,a.data.enterMode)&&b.fire(\"dataFiltered\")},null,null,6);b.on(\"toHtml\",function(a){a.data.dataValue.filterChildren(k.dataFilter,\ntrue)},null,null,10);b.on(\"toHtml\",function(a){var a=a.data,b=a.dataValue,c=new CKEDITOR.htmlParser.basicWriter;b.writeChildrenHtml(c);b=c.getHtml(true);a.dataValue=s(b)},null,null,15);b.on(\"toDataFormat\",function(a){var c=a.data.dataValue;a.data.enterMode!=CKEDITOR.ENTER_BR&&(c=c.replace(/^<br *\\/?>/i,\"\"));a.data.dataValue=CKEDITOR.htmlParser.fragment.fromHtml(c,a.data.context,e(a.data.enterMode,b.config.autoParagraph))},null,null,5);b.on(\"toDataFormat\",function(a){a.data.dataValue.filterChildren(k.htmlFilter,\ntrue)},null,null,10);b.on(\"toDataFormat\",function(a){a.data.filter.applyTo(a.data.dataValue,false,true)},null,null,11);b.on(\"toDataFormat\",function(a){var c=a.data.dataValue,d=k.writer;d.reset();c.writeChildrenHtml(d);c=d.getHtml(true);c=u(c);c=f(c,b);a.data.dataValue=c},null,null,15)};CKEDITOR.htmlDataProcessor.prototype={toHtml:function(a,b,c,d){var e=this.editor,f,k,l;if(b&&typeof b==\"object\"){f=b.context;c=b.fixForBody;d=b.dontFilter;k=b.filter;l=b.enterMode}else f=b;!f&&f!==null&&(f=e.editable().getName());\nreturn e.fire(\"toHtml\",{dataValue:a,context:f,fixForBody:c,dontFilter:d,filter:k||e.filter,enterMode:l||e.enterMode}).dataValue},toDataFormat:function(a,b){var c,d,e;if(b){c=b.context;d=b.filter;e=b.enterMode}!c&&c!==null&&(c=this.editor.editable().getName());return this.editor.fire(\"toDataFormat\",{dataValue:a,filter:d||this.editor.filter,context:c,enterMode:e||this.editor.enterMode}).dataValue}};var y=/(?:&nbsp;|\\xa0)$/,m=\"{cke_protected}\",k=CKEDITOR.dtd,l=[\"caption\",\"colgroup\",\"col\",\"thead\",\"tfoot\",\n\"tbody\"],t=CKEDITOR.tools.extend({},k.$blockLimit,k.$block),x={elements:{input:n,textarea:n}},r={attributeNames:[[/^on/,\"data-cke-pa-on\"],[/^data-cke-expando$/,\"\"]]},L={elements:{embed:function(a){var b=a.parent;if(b&&b.name==\"object\"){var c=b.attributes.width,b=b.attributes.height;if(c)a.attributes.width=c;if(b)a.attributes.height=b}},a:function(a){if(!a.children.length&&!a.attributes.name&&!a.attributes[\"data-cke-saved-name\"])return false}}},A={elementNames:[[/^cke:/,\"\"],[/^\\?xml:namespace$/,\"\"]],\nattributeNames:[[/^data-cke-(saved|pa)-/,\"\"],[/^data-cke-.*/,\"\"],[\"hidefocus\",\"\"]],elements:{$:function(a){var b=a.attributes;if(b){if(b[\"data-cke-temp\"])return false;for(var c=[\"name\",\"href\",\"src\"],d,e=0;e<c.length;e++){d=\"data-cke-saved-\"+c[e];d in b&&delete b[c[e]]}}return a},table:function(a){a.children.slice(0).sort(function(a,b){var c,d;if(a.type==CKEDITOR.NODE_ELEMENT&&b.type==a.type){c=CKEDITOR.tools.indexOf(l,a.name);d=CKEDITOR.tools.indexOf(l,b.name)}if(!(c>-1&&d>-1&&c!=d)){c=a.parent?a.getIndex():\n-1;d=b.parent?b.getIndex():-1}return c>d?1:-1})},param:function(a){a.children=[];a.isEmpty=true;return a},span:function(a){a.attributes[\"class\"]==\"Apple-style-span\"&&delete a.name},html:function(a){delete a.attributes.contenteditable;delete a.attributes[\"class\"]},body:function(a){delete a.attributes.spellcheck;delete a.attributes.contenteditable},style:function(a){var b=a.children[0];if(b&&b.value)b.value=CKEDITOR.tools.trim(b.value);if(!a.attributes.type)a.attributes.type=\"text/css\"},title:function(a){var b=\na.children[0];!b&&g(a,b=new CKEDITOR.htmlParser.text);b.value=a.attributes[\"data-cke-title\"]||\"\"},input:i,textarea:i},attributes:{\"class\":function(a){return CKEDITOR.tools.ltrim(a.replace(/(?:^|\\s+)cke_[^\\s]*/g,\"\"))||false}}};if(CKEDITOR.env.ie)A.attributes.style=function(a){return a.replace(/(^|;)([^\\:]+)/g,function(a){return a.toLowerCase()})};var I=/<(a|area|img|input|source)\\b([^>]*)>/gi,E=/\\s(on\\w+|href|src|name)\\s*=\\s*(?:(?:\"[^\"]*\")|(?:'[^']*')|(?:[^ \"'>]+))/gi,z=/(?:<style(?=[ >])[^>]*>[\\s\\S]*?<\\/style>)|(?:<(:?link|meta|base)[^>]*>)/gi,\nM=/(<textarea(?=[ >])[^>]*>)([\\s\\S]*?)(?:<\\/textarea>)/gi,Q=/<cke:encoded>([^<]*)<\\/cke:encoded>/gi,v=/(<\\/?)((?:object|embed|param|html|body|head|title)[^>]*>)/gi,w=/(<\\/?)cke:((?:html|body|head|title)[^>]*>)/gi,H=/<cke:(param|embed)([^>]*?)\\/?>(?!\\s*<\\/cke:\\1)/gi})();\"use strict\";\nCKEDITOR.htmlParser.element=function(a,e){this.name=a;this.attributes=e||{};this.children=[];var b=a||\"\",c=b.match(/^cke:(.*)/);c&&(b=c[1]);b=!(!CKEDITOR.dtd.$nonBodyContent[b]&&!CKEDITOR.dtd.$block[b]&&!CKEDITOR.dtd.$listItem[b]&&!CKEDITOR.dtd.$tableContent[b]&&!(CKEDITOR.dtd.$nonEditable[b]||b==\"br\"));this.isEmpty=!!CKEDITOR.dtd.$empty[a];this.isUnknown=!CKEDITOR.dtd[a];this._={isBlockLike:b,hasInlineStarted:this.isEmpty||!b}};\nCKEDITOR.htmlParser.cssStyle=function(a){var e={};((a instanceof CKEDITOR.htmlParser.element?a.attributes.style:a)||\"\").replace(/&quot;/g,'\"').replace(/\\s*([^ :;]+)\\s*:\\s*([^;]+)\\s*(?=;|$)/g,function(a,c,d){c==\"font-family\"&&(d=d.replace(/[\"']/g,\"\"));e[c.toLowerCase()]=d});return{rules:e,populate:function(a){var c=this.toString();if(c)a instanceof CKEDITOR.dom.element?a.setAttribute(\"style\",c):a instanceof CKEDITOR.htmlParser.element?a.attributes.style=c:a.style=c},toString:function(){var a=[],c;\nfor(c in e)e[c]&&a.push(c,\":\",e[c],\";\");return a.join(\"\")}}};\n(function(){function a(a){return function(b){return b.type==CKEDITOR.NODE_ELEMENT&&(typeof a==\"string\"?b.name==a:b.name in a)}}var e=function(a,b){a=a[0];b=b[0];return a<b?-1:a>b?1:0},b=CKEDITOR.htmlParser.fragment.prototype;CKEDITOR.htmlParser.element.prototype=CKEDITOR.tools.extend(new CKEDITOR.htmlParser.node,{type:CKEDITOR.NODE_ELEMENT,add:b.add,clone:function(){return new CKEDITOR.htmlParser.element(this.name,this.attributes)},filter:function(a,b){var e=this,g,n,b=e.getFilterContext(b);if(b.off)return true;\nif(!e.parent)a.onRoot(b,e);for(;;){g=e.name;if(!(n=a.onElementName(b,g))){this.remove();return false}e.name=n;if(!(e=a.onElement(b,e))){this.remove();return false}if(e!==this){this.replaceWith(e);return false}if(e.name==g)break;if(e.type!=CKEDITOR.NODE_ELEMENT){this.replaceWith(e);return false}if(!e.name){this.replaceWithChildren();return false}}g=e.attributes;var i,j;for(i in g){j=i;for(n=g[i];;)if(j=a.onAttributeName(b,i))if(j!=i){delete g[i];i=j}else break;else{delete g[i];break}j&&((n=a.onAttribute(b,\ne,j,n))===false?delete g[j]:g[j]=n)}e.isEmpty||this.filterChildren(a,false,b);return true},filterChildren:b.filterChildren,writeHtml:function(a,b){b&&this.filter(b);var h=this.name,g=[],n=this.attributes,i,j;a.openTag(h,n);for(i in n)g.push([i,n[i]]);a.sortAttributes&&g.sort(e);i=0;for(j=g.length;i<j;i++){n=g[i];a.attribute(n[0],n[1])}a.openTagClose(h,this.isEmpty);this.writeChildrenHtml(a);this.isEmpty||a.closeTag(h)},writeChildrenHtml:b.writeChildrenHtml,replaceWithChildren:function(){for(var a=\nthis.children,b=a.length;b;)a[--b].insertAfter(this);this.remove()},forEach:b.forEach,getFirst:function(b){if(!b)return this.children.length?this.children[0]:null;typeof b!=\"function\"&&(b=a(b));for(var d=0,e=this.children.length;d<e;++d)if(b(this.children[d]))return this.children[d];return null},getHtml:function(){var a=new CKEDITOR.htmlParser.basicWriter;this.writeChildrenHtml(a);return a.getHtml()},setHtml:function(a){for(var a=this.children=CKEDITOR.htmlParser.fragment.fromHtml(a).children,b=0,\ne=a.length;b<e;++b)a[b].parent=this},getOuterHtml:function(){var a=new CKEDITOR.htmlParser.basicWriter;this.writeHtml(a);return a.getHtml()},split:function(a){for(var b=this.children.splice(a,this.children.length-a),e=this.clone(),g=0;g<b.length;++g)b[g].parent=e;e.children=b;if(b[0])b[0].previous=null;if(a>0)this.children[a-1].next=null;this.parent.add(e,this.getIndex()+1);return e},removeClass:function(a){var b=this.attributes[\"class\"];if(b)(b=CKEDITOR.tools.trim(b.replace(RegExp(\"(?:\\\\s+|^)\"+a+\n\"(?:\\\\s+|$)\"),\" \")))?this.attributes[\"class\"]=b:delete this.attributes[\"class\"]},hasClass:function(a){var b=this.attributes[\"class\"];return!b?false:RegExp(\"(?:^|\\\\s)\"+a+\"(?=\\\\s|$)\").test(b)},getFilterContext:function(a){var b=[];a||(a={off:false,nonEditable:false});!a.off&&this.attributes[\"data-cke-processor\"]==\"off\"&&b.push(\"off\",true);!a.nonEditable&&this.attributes.contenteditable==\"false\"&&b.push(\"nonEditable\",true);if(b.length)for(var a=CKEDITOR.tools.copy(a),e=0;e<b.length;e=e+2)a[b[e]]=b[e+\n1];return a}},true)})();(function(){var a={};CKEDITOR.template=function(e){if(a[e])this.output=a[e];else{var b=e.replace(/'/g,\"\\\\'\").replace(/{([^}]+)}/g,function(a,b){return\"',data['\"+b+\"']==undefined?'{\"+b+\"}':data['\"+b+\"'],'\"});this.output=a[e]=Function(\"data\",\"buffer\",\"return buffer?buffer.push('\"+b+\"'):['\"+b+\"'].join('');\")}}})();delete CKEDITOR.loadFullCore;CKEDITOR.instances={};CKEDITOR.document=new CKEDITOR.dom.document(document);\nCKEDITOR.add=function(a){CKEDITOR.instances[a.name]=a;a.on(\"focus\",function(){if(CKEDITOR.currentInstance!=a){CKEDITOR.currentInstance=a;CKEDITOR.fire(\"currentInstance\")}});a.on(\"blur\",function(){if(CKEDITOR.currentInstance==a){CKEDITOR.currentInstance=null;CKEDITOR.fire(\"currentInstance\")}});CKEDITOR.fire(\"instance\",null,a)};CKEDITOR.remove=function(a){delete CKEDITOR.instances[a.name]};\n(function(){var a={};CKEDITOR.addTemplate=function(e,b){var c=a[e];if(c)return c;c={name:e,source:b};CKEDITOR.fire(\"template\",c);return a[e]=new CKEDITOR.template(c.source)};CKEDITOR.getTemplate=function(e){return a[e]}})();(function(){var a=[];CKEDITOR.addCss=function(e){a.push(e)};CKEDITOR.getCss=function(){return a.join(\"\\n\")}})();CKEDITOR.on(\"instanceDestroyed\",function(){CKEDITOR.tools.isEmpty(this.instances)&&CKEDITOR.fire(\"reset\")});CKEDITOR.TRISTATE_ON=1;CKEDITOR.TRISTATE_OFF=2;\nCKEDITOR.TRISTATE_DISABLED=0;\n(function(){CKEDITOR.inline=function(a,e){if(!CKEDITOR.env.isCompatible)return null;a=CKEDITOR.dom.element.get(a);if(a.getEditor())throw'The editor instance \"'+a.getEditor().name+'\" is already attached to the provided element.';var b=new CKEDITOR.editor(e,a,CKEDITOR.ELEMENT_MODE_INLINE),c=a.is(\"textarea\")?a:null;if(c){b.setData(c.getValue(),null,true);a=CKEDITOR.dom.element.createFromHtml('<div contenteditable=\"'+!!b.readOnly+'\" class=\"cke_textarea_inline\">'+c.getValue()+\"</div>\",CKEDITOR.document);\na.insertAfter(c);c.hide();c.$.form&&b._attachToForm()}else b.setData(a.getHtml(),null,true);b.on(\"loaded\",function(){b.fire(\"uiReady\");b.editable(a);b.container=a;b.setData(b.getData(1));b.resetDirty();b.fire(\"contentDom\");b.mode=\"wysiwyg\";b.fire(\"mode\");b.status=\"ready\";b.fireOnce(\"instanceReady\");CKEDITOR.fire(\"instanceReady\",null,b)},null,null,1E4);b.on(\"destroy\",function(){if(c){b.container.clearCustomData();b.container.remove();c.show()}b.element.clearCustomData();delete b.element});return b};\nCKEDITOR.inlineAll=function(){var a,e,b;for(b in CKEDITOR.dtd.$editable)for(var c=CKEDITOR.document.getElementsByTag(b),d=0,h=c.count();d<h;d++){a=c.getItem(d);if(a.getAttribute(\"contenteditable\")==\"true\"){e={element:a,config:{}};CKEDITOR.fire(\"inline\",e)!==false&&CKEDITOR.inline(a,e.config)}}};CKEDITOR.domReady(function(){!CKEDITOR.disableAutoInline&&CKEDITOR.inlineAll()})})();CKEDITOR.replaceClass=\"ckeditor\";\n(function(){function a(a,c,g,n){if(!CKEDITOR.env.isCompatible)return null;a=CKEDITOR.dom.element.get(a);if(a.getEditor())throw'The editor instance \"'+a.getEditor().name+'\" is already attached to the provided element.';var i=new CKEDITOR.editor(c,a,n);if(n==CKEDITOR.ELEMENT_MODE_REPLACE){a.setStyle(\"visibility\",\"hidden\");i._.required=a.hasAttribute(\"required\");a.removeAttribute(\"required\")}g&&i.setData(g,null,true);i.on(\"loaded\",function(){b(i);n==CKEDITOR.ELEMENT_MODE_REPLACE&&(i.config.autoUpdateElement&&\na.$.form)&&i._attachToForm();i.setMode(i.config.startupMode,function(){i.resetDirty();i.status=\"ready\";i.fireOnce(\"instanceReady\");CKEDITOR.fire(\"instanceReady\",null,i)})});i.on(\"destroy\",e);return i}function e(){var a=this.container,b=this.element;if(a){a.clearCustomData();a.remove()}if(b){b.clearCustomData();if(this.elementMode==CKEDITOR.ELEMENT_MODE_REPLACE){b.show();this._.required&&b.setAttribute(\"required\",\"required\")}delete this.element}}function b(a){var b=a.name,e=a.element,n=a.elementMode,\ni=a.fire(\"uiSpace\",{space:\"top\",html:\"\"}).html,j=a.fire(\"uiSpace\",{space:\"bottom\",html:\"\"}).html;c||(c=CKEDITOR.addTemplate(\"maincontainer\",'<{outerEl} id=\"cke_{name}\" class=\"{id} cke cke_reset cke_chrome cke_editor_{name} cke_{langDir} '+CKEDITOR.env.cssClass+'\"  dir=\"{langDir}\" lang=\"{langCode}\" role=\"application\" aria-labelledby=\"cke_{name}_arialbl\"><span id=\"cke_{name}_arialbl\" class=\"cke_voice_label\">{voiceLabel}</span><{outerEl} class=\"cke_inner cke_reset\" role=\"presentation\">{topHtml}<{outerEl} id=\"{contentId}\" class=\"cke_contents cke_reset\" role=\"presentation\"></{outerEl}>{bottomHtml}</{outerEl}></{outerEl}>'));\nb=CKEDITOR.dom.element.createFromHtml(c.output({id:a.id,name:b,langDir:a.lang.dir,langCode:a.langCode,voiceLabel:[a.lang.editor,a.name].join(\", \"),topHtml:i?'<span id=\"'+a.ui.spaceId(\"top\")+'\" class=\"cke_top cke_reset_all\" role=\"presentation\" style=\"height:auto\">'+i+\"</span>\":\"\",contentId:a.ui.spaceId(\"contents\"),bottomHtml:j?'<span id=\"'+a.ui.spaceId(\"bottom\")+'\" class=\"cke_bottom cke_reset_all\" role=\"presentation\">'+j+\"</span>\":\"\",outerEl:CKEDITOR.env.ie?\"span\":\"div\"}));if(n==CKEDITOR.ELEMENT_MODE_REPLACE){e.hide();\nb.insertAfter(e)}else e.append(b);a.container=b;i&&a.ui.space(\"top\").unselectable();j&&a.ui.space(\"bottom\").unselectable();e=a.config.width;n=a.config.height;e&&b.setStyle(\"width\",CKEDITOR.tools.cssLength(e));n&&a.ui.space(\"contents\").setStyle(\"height\",CKEDITOR.tools.cssLength(n));b.disableContextMenu();CKEDITOR.env.webkit&&b.on(\"focus\",function(){a.focus()});a.fireOnce(\"uiReady\")}CKEDITOR.replace=function(b,c){return a(b,c,null,CKEDITOR.ELEMENT_MODE_REPLACE)};CKEDITOR.appendTo=function(b,c,e){return a(b,\nc,e,CKEDITOR.ELEMENT_MODE_APPENDTO)};CKEDITOR.replaceAll=function(){for(var a=document.getElementsByTagName(\"textarea\"),b=0;b<a.length;b++){var c=null,e=a[b];if(e.name||e.id){if(typeof arguments[0]==\"string\"){if(!RegExp(\"(?:^|\\\\s)\"+arguments[0]+\"(?:$|\\\\s)\").test(e.className))continue}else if(typeof arguments[0]==\"function\"){c={};if(arguments[0](e,c)===false)continue}this.replace(e,c)}}};CKEDITOR.editor.prototype.addMode=function(a,b){(this._.modes||(this._.modes={}))[a]=b};CKEDITOR.editor.prototype.setMode=\nfunction(a,b){var c=this,e=this._.modes;if(!(a==c.mode||!e||!e[a])){c.fire(\"beforeSetMode\",a);if(c.mode){var i=c.checkDirty();c._.previousMode=c.mode;c.fire(\"beforeModeUnload\");c.editable(0);c.ui.space(\"contents\").setHtml(\"\");c.mode=\"\"}this._.modes[a](function(){c.mode=a;i!==void 0&&!i&&c.resetDirty();setTimeout(function(){c.fire(\"mode\");b&&b.call(c)},0)})}};CKEDITOR.editor.prototype.resize=function(a,b,c,e){var i=this.container,j=this.ui.space(\"contents\"),o=CKEDITOR.env.webkit&&this.document&&this.document.getWindow().$.frameElement,\ne=e?i.getChild(1):i;e.setSize(\"width\",a,true);o&&(o.style.width=\"1%\");j.setStyle(\"height\",Math.max(b-(c?0:(e.$.offsetHeight||0)-(j.$.clientHeight||0)),0)+\"px\");o&&(o.style.width=\"100%\");this.fire(\"resize\")};CKEDITOR.editor.prototype.getResizable=function(a){return a?this.ui.space(\"contents\"):this.container};var c;CKEDITOR.domReady(function(){CKEDITOR.replaceClass&&CKEDITOR.replaceAll(CKEDITOR.replaceClass)})})();CKEDITOR.config.startupMode=\"wysiwyg\";\n(function(){function a(a){var b=a.editor,d=a.data.path,m=d.blockLimit,k=a.data.selection,l=k.getRanges()[0],g;if(CKEDITOR.env.gecko||CKEDITOR.env.ie&&CKEDITOR.env.needsBrFiller)if(k=e(k,d)){k.appendBogus();g=CKEDITOR.env.ie}if(b.config.autoParagraph!==false&&b.activeEnterMode!=CKEDITOR.ENTER_BR&&b.editable().equals(m)&&!d.block&&l.collapsed&&!l.getCommonAncestor().isReadOnly()){d=l.clone();d.enlarge(CKEDITOR.ENLARGE_BLOCK_CONTENTS);m=new CKEDITOR.dom.walker(d);m.guard=function(a){return!c(a)||a.type==\nCKEDITOR.NODE_COMMENT||a.isReadOnly()};if(!m.checkForward()||d.checkStartOfBlock()&&d.checkEndOfBlock()){b=l.fixBlock(true,b.activeEnterMode==CKEDITOR.ENTER_DIV?\"div\":\"p\");if(!CKEDITOR.env.needsBrFiller)(b=b.getFirst(c))&&(b.type==CKEDITOR.NODE_TEXT&&CKEDITOR.tools.trim(b.getText()).match(/^(?:&nbsp;|\\xa0)$/))&&b.remove();g=1;a.cancel()}}g&&l.select()}function e(a,b){if(a.isFake)return 0;var e=b.block||b.blockLimit,d=e&&e.getLast(c);if(e&&e.isBlockBoundary()&&(!d||!(d.type==CKEDITOR.NODE_ELEMENT&&\nd.isBlockBoundary()))&&!e.is(\"pre\")&&!e.getBogus())return e}function b(a){var b=a.data.getTarget();if(b.is(\"input\")){b=b.getAttribute(\"type\");(b==\"submit\"||b==\"reset\")&&a.data.preventDefault()}}function c(a){return o(a)&&q(a)}function d(a,b){return function(c){var e=CKEDITOR.dom.element.get(c.data.$.toElement||c.data.$.fromElement||c.data.$.relatedTarget);(!e||!b.equals(e)&&!b.contains(e))&&a.call(this,c)}}function h(a){var b,e=a.getRanges()[0],d=a.root,k={table:1,ul:1,ol:1,dl:1};if(e.startPath().contains(k)){var a=\nfunction(a){return function(e,d){d&&(e.type==CKEDITOR.NODE_ELEMENT&&e.is(k))&&(b=e);if(!d&&c(e)&&(!a||!i(e)))return false}},l=e.clone();l.collapse(1);l.setStartAt(d,CKEDITOR.POSITION_AFTER_START);d=new CKEDITOR.dom.walker(l);d.guard=a();d.checkBackward();if(b){l=e.clone();l.collapse();l.setEndAt(b,CKEDITOR.POSITION_AFTER_END);d=new CKEDITOR.dom.walker(l);d.guard=a(true);b=false;d.checkForward();return b}}return null}function g(a){a.editor.focus();a.editor.fire(\"saveSnapshot\")}function n(a,b){var c=\na.editor;!b&&c.getSelection().scrollIntoView();setTimeout(function(){c.fire(\"saveSnapshot\")},0)}CKEDITOR.editable=CKEDITOR.tools.createClass({base:CKEDITOR.dom.element,$:function(a,b){this.base(b.$||b);this.editor=a;this.hasFocus=false;this.setup()},proto:{focus:function(){var a;if(CKEDITOR.env.webkit&&!this.hasFocus){a=this.editor._.previousActive||this.getDocument().getActive();if(this.contains(a)){a.focus();return}}try{this.$[CKEDITOR.env.ie&&this.getDocument().equals(CKEDITOR.document)?\"setActive\":\n\"focus\"]()}catch(b){if(!CKEDITOR.env.ie)throw b;}if(CKEDITOR.env.safari&&!this.isInline()){a=CKEDITOR.document.getActive();a.equals(this.getWindow().getFrame())||this.getWindow().focus()}},on:function(a,b){var c=Array.prototype.slice.call(arguments,0);if(CKEDITOR.env.ie&&/^focus|blur$/.exec(a)){a=a==\"focus\"?\"focusin\":\"focusout\";b=d(b,this);c[0]=a;c[1]=b}return CKEDITOR.dom.element.prototype.on.apply(this,c)},attachListener:function(a,b,c,e,d,l){!this._.listeners&&(this._.listeners=[]);var g=Array.prototype.slice.call(arguments,\n1),g=a.on.apply(a,g);this._.listeners.push(g);return g},clearListeners:function(){var a=this._.listeners;try{for(;a.length;)a.pop().removeListener()}catch(b){}},restoreAttrs:function(){var a=this._.attrChanges,b,c;for(c in a)if(a.hasOwnProperty(c)){b=a[c];b!==null?this.setAttribute(c,b):this.removeAttribute(c)}},attachClass:function(a){var b=this.getCustomData(\"classes\");if(!this.hasClass(a)){!b&&(b=[]);b.push(a);this.setCustomData(\"classes\",b);this.addClass(a)}},changeAttr:function(a,b){var c=this.getAttribute(a);\nif(b!==c){!this._.attrChanges&&(this._.attrChanges={});a in this._.attrChanges||(this._.attrChanges[a]=c);this.setAttribute(a,b)}},insertHtml:function(a,b){g(this);s(this,b||\"html\",a)},insertText:function(a){g(this);var b=this.editor,c=b.getSelection().getStartElement().hasAscendant(\"pre\",true)?CKEDITOR.ENTER_BR:b.activeEnterMode,b=c==CKEDITOR.ENTER_BR,e=CKEDITOR.tools,a=e.htmlEncode(a.replace(/\\r\\n/g,\"\\n\")),a=a.replace(/\\t/g,\"&nbsp;&nbsp; &nbsp;\"),c=c==CKEDITOR.ENTER_P?\"p\":\"div\";if(!b){var d=/\\n{2}/g;\nif(d.test(a))var l=\"<\"+c+\">\",h=\"</\"+c+\">\",a=l+a.replace(d,function(){return h+l})+h}a=a.replace(/\\n/g,\"<br>\");b||(a=a.replace(RegExp(\"<br>(?=</\"+c+\">)\"),function(a){return e.repeat(a,2)}));a=a.replace(/^ | $/g,\"&nbsp;\");a=a.replace(/(>|\\s) /g,function(a,b){return b+\"&nbsp;\"}).replace(/ (?=<)/g,\"&nbsp;\");s(this,\"text\",a)},insertElement:function(a,b){b?this.insertElementIntoRange(a,b):this.insertElementIntoSelection(a)},insertElementIntoRange:function(a,b){var c=this.editor,e=c.config.enterMode,d=a.getName(),\nl=CKEDITOR.dtd.$block[d];if(b.checkReadOnly())return false;b.deleteContents(1);b.startContainer.type==CKEDITOR.NODE_ELEMENT&&b.startContainer.is({tr:1,table:1,tbody:1,thead:1,tfoot:1})&&u(b);var g,h;if(l)for(;(g=b.getCommonAncestor(0,1))&&(h=CKEDITOR.dtd[g.getName()])&&(!h||!h[d]);)if(g.getName()in CKEDITOR.dtd.span)b.splitElement(g);else if(b.checkStartOfBlock()&&b.checkEndOfBlock()){b.setStartBefore(g);b.collapse(true);g.remove()}else b.splitBlock(e==CKEDITOR.ENTER_DIV?\"div\":\"p\",c.editable());b.insertNode(a);\nreturn true},insertElementIntoSelection:function(a){var b=this.editor,e=b.activeEnterMode,b=b.getSelection(),d=b.getRanges()[0],k=a.getName(),k=CKEDITOR.dtd.$block[k];g(this);if(this.insertElementIntoRange(a,d)){d.moveToPosition(a,CKEDITOR.POSITION_AFTER_END);if(k)if((k=a.getNext(function(a){return c(a)&&!i(a)}))&&k.type==CKEDITOR.NODE_ELEMENT&&k.is(CKEDITOR.dtd.$block))k.getDtd()[\"#\"]?d.moveToElementEditStart(k):d.moveToElementEditEnd(a);else if(!k&&e!=CKEDITOR.ENTER_BR){k=d.fixBlock(true,e==CKEDITOR.ENTER_DIV?\n\"div\":\"p\");d.moveToElementEditStart(k)}}b.selectRanges([d]);n(this,CKEDITOR.env.opera)},setData:function(a,b){b||(a=this.editor.dataProcessor.toHtml(a));this.setHtml(a);this.editor.fire(\"dataReady\")},getData:function(a){var b=this.getHtml();a||(b=this.editor.dataProcessor.toDataFormat(b));return b},setReadOnly:function(a){this.setAttribute(\"contenteditable\",!a)},detach:function(){this.removeClass(\"cke_editable\");var a=this.editor;this._.detach();delete a.document;delete a.window},isInline:function(){return this.getDocument().equals(CKEDITOR.document)},\nsetup:function(){var a=this.editor;this.attachListener(a,\"beforeGetData\",function(){var b=this.getData();this.is(\"textarea\")||a.config.ignoreEmptyParagraph!==false&&(b=b.replace(j,function(a,b){return b}));a.setData(b,null,1)},this);this.attachListener(a,\"getSnapshot\",function(a){a.data=this.getData(1)},this);this.attachListener(a,\"afterSetData\",function(){this.setData(a.getData(1))},this);this.attachListener(a,\"loadSnapshot\",function(a){this.setData(a.data,1)},this);this.attachListener(a,\"beforeFocus\",\nfunction(){var b=a.getSelection();(b=b&&b.getNative())&&b.type==\"Control\"||this.focus()},this);this.attachListener(a,\"insertHtml\",function(a){this.insertHtml(a.data.dataValue,a.data.mode)},this);this.attachListener(a,\"insertElement\",function(a){this.insertElement(a.data)},this);this.attachListener(a,\"insertText\",function(a){this.insertText(a.data)},this);this.setReadOnly(a.readOnly);this.attachClass(\"cke_editable\");this.attachClass(a.elementMode==CKEDITOR.ELEMENT_MODE_INLINE?\"cke_editable_inline\":\na.elementMode==CKEDITOR.ELEMENT_MODE_REPLACE||a.elementMode==CKEDITOR.ELEMENT_MODE_APPENDTO?\"cke_editable_themed\":\"\");this.attachClass(\"cke_contents_\"+a.config.contentsLangDirection);a.keystrokeHandler.blockedKeystrokes[8]=+a.readOnly;a.keystrokeHandler.attach(this);this.on(\"blur\",function(a){CKEDITOR.env.opera&&CKEDITOR.document.getActive().equals(this.isInline()?this:this.getWindow().getFrame())?a.cancel():this.hasFocus=false},null,null,-1);this.on(\"focus\",function(){this.hasFocus=true},null,null,\n-1);a.focusManager.add(this);if(this.equals(CKEDITOR.document.getActive())){this.hasFocus=true;a.once(\"contentDom\",function(){a.focusManager.focus()})}this.isInline()&&this.changeAttr(\"tabindex\",a.tabIndex);if(!this.is(\"textarea\")){a.document=this.getDocument();a.window=this.getWindow();var e=a.document;this.changeAttr(\"spellcheck\",!a.config.disableNativeSpellChecker);var d=a.config.contentsLangDirection;this.getDirection(1)!=d&&this.changeAttr(\"dir\",d);var m=CKEDITOR.getCss();if(m){d=e.getHead();\nif(!d.getCustomData(\"stylesheet\")){m=e.appendStyleText(m);m=new CKEDITOR.dom.element(m.ownerNode||m.owningElement);d.setCustomData(\"stylesheet\",m);m.data(\"cke-temp\",1)}}d=e.getCustomData(\"stylesheet_ref\")||0;e.setCustomData(\"stylesheet_ref\",d+1);this.setCustomData(\"cke_includeReadonly\",!a.config.disableReadonlyStyling);this.attachListener(this,\"click\",function(a){var a=a.data,b=(new CKEDITOR.dom.elementPath(a.getTarget(),this)).contains(\"a\");b&&(a.$.button!=2&&b.isReadOnly())&&a.preventDefault()});\nvar k={8:1,46:1};this.attachListener(a,\"key\",function(b){if(a.readOnly)return true;var c=b.data.keyCode,e;if(c in k){var b=a.getSelection(),d,m=b.getRanges()[0],g=m.startPath(),i,j,n,c=c==8;if(CKEDITOR.env.ie&&CKEDITOR.env.version<11&&(d=b.getSelectedElement())||(d=h(b))){a.fire(\"saveSnapshot\");m.moveToPosition(d,CKEDITOR.POSITION_BEFORE_START);d.remove();m.select();a.fire(\"saveSnapshot\");e=1}else if(m.collapsed)if((i=g.block)&&(n=i[c?\"getPrevious\":\"getNext\"](o))&&n.type==CKEDITOR.NODE_ELEMENT&&n.is(\"table\")&&\nm[c?\"checkStartOfBlock\":\"checkEndOfBlock\"]()){a.fire(\"saveSnapshot\");m[c?\"checkEndOfBlock\":\"checkStartOfBlock\"]()&&i.remove();m[\"moveToElementEdit\"+(c?\"End\":\"Start\")](n);m.select();a.fire(\"saveSnapshot\");e=1}else if(g.blockLimit&&g.blockLimit.is(\"td\")&&(j=g.blockLimit.getAscendant(\"table\"))&&m.checkBoundaryOfElement(j,c?CKEDITOR.START:CKEDITOR.END)&&(n=j[c?\"getPrevious\":\"getNext\"](o))){a.fire(\"saveSnapshot\");m[\"moveToElementEdit\"+(c?\"End\":\"Start\")](n);m.checkStartOfBlock()&&m.checkEndOfBlock()?n.remove():\nm.select();a.fire(\"saveSnapshot\");e=1}else if((j=g.contains([\"td\",\"th\",\"caption\"]))&&m.checkBoundaryOfElement(j,c?CKEDITOR.START:CKEDITOR.END))e=1}return!e});a.blockless&&(CKEDITOR.env.ie&&CKEDITOR.env.needsBrFiller)&&this.attachListener(this,\"keyup\",function(b){if(b.data.getKeystroke()in k&&!this.getFirst(c)){this.appendBogus();b=a.createRange();b.moveToPosition(this,CKEDITOR.POSITION_AFTER_START);b.select()}});this.attachListener(this,\"dblclick\",function(b){if(a.readOnly)return false;b={element:b.data.getTarget()};\na.fire(\"doubleclick\",b)});CKEDITOR.env.ie&&this.attachListener(this,\"click\",b);!CKEDITOR.env.ie&&!CKEDITOR.env.opera&&this.attachListener(this,\"mousedown\",function(b){var c=b.data.getTarget();if(c.is(\"img\",\"hr\",\"input\",\"textarea\",\"select\")){a.getSelection().selectElement(c);c.is(\"input\",\"textarea\",\"select\")&&b.data.preventDefault()}});CKEDITOR.env.gecko&&this.attachListener(this,\"mouseup\",function(b){if(b.data.$.button==2){b=b.data.getTarget();if(!b.getOuterHtml().replace(j,\"\")){var c=a.createRange();\nc.moveToElementEditStart(b);c.select(true)}}});if(CKEDITOR.env.webkit){this.attachListener(this,\"click\",function(a){a.data.getTarget().is(\"input\",\"select\")&&a.data.preventDefault()});this.attachListener(this,\"mouseup\",function(a){a.data.getTarget().is(\"input\",\"textarea\")&&a.data.preventDefault()})}}}},_:{detach:function(){this.editor.setData(this.editor.getData(),0,1);this.clearListeners();this.restoreAttrs();var a;if(a=this.removeCustomData(\"classes\"))for(;a.length;)this.removeClass(a.pop());a=this.getDocument();\nvar b=a.getHead();if(b.getCustomData(\"stylesheet\")){var c=a.getCustomData(\"stylesheet_ref\");if(--c)a.setCustomData(\"stylesheet_ref\",c);else{a.removeCustomData(\"stylesheet_ref\");b.removeCustomData(\"stylesheet\").remove()}}delete this.editor}}});CKEDITOR.editor.prototype.editable=function(a){var b=this._.editable;if(b&&a)return 0;if(arguments.length)b=this._.editable=a?a instanceof CKEDITOR.editable?a:new CKEDITOR.editable(this,a):(b&&b.detach(),null);return b};var i=CKEDITOR.dom.walker.bogus(),j=/(^|<body\\b[^>]*>)\\s*<(p|div|address|h\\d|center|pre)[^>]*>\\s*(?:<br[^>]*>|&nbsp;|\\u00A0|&#160;)?\\s*(:?<\\/\\2>)?\\s*(?=$|<\\/body>)/gi,\no=CKEDITOR.dom.walker.whitespaces(true),q=CKEDITOR.dom.walker.bookmark(false,true);CKEDITOR.on(\"instanceLoaded\",function(b){var c=b.editor;c.on(\"insertElement\",function(a){a=a.data;if(a.type==CKEDITOR.NODE_ELEMENT&&(a.is(\"input\")||a.is(\"textarea\"))){a.getAttribute(\"contentEditable\")!=\"false\"&&a.data(\"cke-editable\",a.hasAttribute(\"contenteditable\")?\"true\":\"1\");a.setAttribute(\"contentEditable\",false)}});c.on(\"selectionChange\",function(b){if(!c.readOnly){var e=c.getSelection();if(e&&!e.isLocked){e=c.checkDirty();\nc.fire(\"lockSnapshot\");a(b);c.fire(\"unlockSnapshot\");!e&&c.resetDirty()}}})});CKEDITOR.on(\"instanceCreated\",function(a){var b=a.editor;b.on(\"mode\",function(){var a=b.editable();if(a&&a.isInline()){var c=b.title;a.changeAttr(\"role\",\"textbox\");a.changeAttr(\"aria-label\",c);c&&a.changeAttr(\"title\",c);if(c=this.ui.space(this.elementMode==CKEDITOR.ELEMENT_MODE_INLINE?\"top\":\"contents\")){var e=CKEDITOR.tools.getNextId(),d=CKEDITOR.dom.element.createFromHtml('<span id=\"'+e+'\" class=\"cke_voice_label\">'+this.lang.common.editorHelp+\n\"</span>\");c.append(d);a.changeAttr(\"aria-describedby\",e)}}})});CKEDITOR.addCss(\".cke_editable{cursor:text}.cke_editable img,.cke_editable input,.cke_editable textarea{cursor:default}\");var s=function(){function a(b){return b.type==CKEDITOR.NODE_ELEMENT}function b(c,e){var d,k,m,l,h=[],i=e.range.startContainer;d=e.range.startPath();for(var i=g[i.getName()],r=0,j=c.getChildren(),n=j.count(),o=-1,q=-1,x=0,s=d.contains(g.$list);r<n;++r){d=j.getItem(r);if(a(d)){m=d.getName();if(s&&m in CKEDITOR.dtd.$list)h=\nh.concat(b(d,e));else{l=!!i[m];if(m==\"br\"&&d.data(\"cke-eol\")&&(!r||r==n-1)){x=(k=r?h[r-1].node:j.getItem(r+1))&&(!a(k)||!k.is(\"br\"));k=k&&a(k)&&g.$block[k.getName()]}o==-1&&!l&&(o=r);l||(q=r);h.push({isElement:1,isLineBreak:x,isBlock:d.isBlockBoundary(),hasBlockSibling:k,node:d,name:m,allowed:l});k=x=0}}else h.push({isElement:0,node:d,allowed:1})}if(o>-1)h[o].firstNotAllowed=1;if(q>-1)h[q].lastNotAllowed=1;return h}function e(b,c){var d=[],k=b.getChildren(),m=k.count(),l,h=0,r=g[c],i=!b.is(g.$inline)||\nb.is(\"br\");for(i&&d.push(\" \");h<m;h++){l=k.getItem(h);a(l)&&!l.is(r)?d=d.concat(e(l,c)):d.push(l)}i&&d.push(\" \");return d}function d(b){return b&&a(b)&&(b.is(g.$removeEmpty)||b.is(\"a\")&&!b.isBlockBoundary())}function k(b,c,e,d){var l=b.clone(),m,g;l.setEndAt(c,CKEDITOR.POSITION_BEFORE_END);if((m=(new CKEDITOR.dom.walker(l)).next())&&a(m)&&h[m.getName()]&&(g=m.getPrevious())&&a(g)&&!g.getParent().equals(b.startContainer)&&e.contains(g)&&d.contains(m)&&m.isIdentical(g)){m.moveChildren(g);m.remove();\nk(b,c,e,d)}}function l(b,c){function e(b,c){if(c.isBlock&&c.isElement&&!c.node.is(\"br\")&&a(b)&&b.is(\"br\")){b.remove();return 1}}var d=c.endContainer.getChild(c.endOffset),k=c.endContainer.getChild(c.endOffset-1);d&&e(d,b[b.length-1]);if(k&&e(k,b[0])){c.setEnd(c.endContainer,c.endOffset-1);c.collapse()}}var g=CKEDITOR.dtd,h={p:1,div:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,ul:1,ol:1,li:1,pre:1,dl:1,blockquote:1},r={p:1,div:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1},i=CKEDITOR.tools.extend({},g.$inline);delete i.br;return function(h,\nj,o){var q=h.editor;h.getDocument();var x=q.getSelection().getRanges()[0],s=false;if(j==\"unfiltered_html\"){j=\"html\";s=true}if(!x.checkReadOnly()){var v=(new CKEDITOR.dom.elementPath(x.startContainer,x.root)).blockLimit||x.root,j={type:j,dontFilter:s,editable:h,editor:q,range:x,blockLimit:v,mergeCandidates:[],zombies:[]},q=j.range,s=j.mergeCandidates,w,H,C,D;if(j.type==\"text\"&&q.shrink(CKEDITOR.SHRINK_ELEMENT,true,false)){w=CKEDITOR.dom.element.createFromHtml(\"<span>&nbsp;</span>\",q.document);q.insertNode(w);\nq.setStartAfter(w)}H=new CKEDITOR.dom.elementPath(q.startContainer);j.endPath=C=new CKEDITOR.dom.elementPath(q.endContainer);if(!q.collapsed){var v=C.block||C.blockLimit,X=q.getCommonAncestor();v&&(!v.equals(X)&&!v.contains(X)&&q.checkEndOfBlock())&&j.zombies.push(v);q.deleteContents()}for(;(D=a(q.startContainer)&&q.startContainer.getChild(q.startOffset-1))&&a(D)&&D.isBlockBoundary()&&H.contains(D);)q.moveToPosition(D,CKEDITOR.POSITION_BEFORE_END);k(q,j.blockLimit,H,C);if(w){q.setEndBefore(w);q.collapse();\nw.remove()}w=q.startPath();if(v=w.contains(d,false,1)){q.splitElement(v);j.inlineStylesRoot=v;j.inlineStylesPeak=w.lastElement}w=q.createBookmark();(v=w.startNode.getPrevious(c))&&a(v)&&d(v)&&s.push(v);(v=w.startNode.getNext(c))&&a(v)&&d(v)&&s.push(v);for(v=w.startNode;(v=v.getParent())&&d(v);)s.push(v);q.moveToBookmark(w);if(w=o){w=j.range;if(j.type==\"text\"&&j.inlineStylesRoot){D=j.inlineStylesPeak;q=D.getDocument().createText(\"{cke-peak}\");for(s=j.inlineStylesRoot.getParent();!D.equals(s);){q=q.appendTo(D.clone());\nD=D.getParent()}o=q.getOuterHtml().split(\"{cke-peak}\").join(o)}D=j.blockLimit.getName();if(/^\\s+|\\s+$/.test(o)&&\"span\"in CKEDITOR.dtd[D])var u='<span data-cke-marker=\"1\">&nbsp;</span>',o=u+o+u;o=j.editor.dataProcessor.toHtml(o,{context:null,fixForBody:false,dontFilter:j.dontFilter,filter:j.editor.activeFilter,enterMode:j.editor.activeEnterMode});D=w.document.createElement(\"body\");D.setHtml(o);if(u){D.getFirst().remove();D.getLast().remove()}if((u=w.startPath().block)&&!(u.getChildCount()==1&&u.getBogus()))a:{var F;\nif(D.getChildCount()==1&&a(F=D.getFirst())&&F.is(r)){u=F.getElementsByTag(\"*\");w=0;for(s=u.count();w<s;w++){q=u.getItem(w);if(!q.is(i))break a}F.moveChildren(F.getParent(1));F.remove()}}j.dataWrapper=D;w=o}if(w){F=j.range;var u=F.document,B,o=j.blockLimit;w=0;var J;D=[];var G,O,s=q=0,K,R;H=F.startContainer;var v=j.endPath.elements[0],S;C=v.getPosition(H);X=!!v.getCommonAncestor(H)&&C!=CKEDITOR.POSITION_IDENTICAL&&!(C&CKEDITOR.POSITION_CONTAINS+CKEDITOR.POSITION_IS_CONTAINED);H=b(j.dataWrapper,j);\nfor(l(H,F);w<H.length;w++){C=H[w];if(B=C.isLineBreak){B=F;K=o;var N=void 0,U=void 0;if(C.hasBlockSibling)B=1;else{N=B.startContainer.getAscendant(g.$block,1);if(!N||!N.is({div:1,p:1}))B=0;else{U=N.getPosition(K);if(U==CKEDITOR.POSITION_IDENTICAL||U==CKEDITOR.POSITION_CONTAINS)B=0;else{K=B.splitElement(N);B.moveToPosition(K,CKEDITOR.POSITION_AFTER_START);B=1}}}}if(B)s=w>0;else{B=F.startPath();if(!C.isBlock&&j.editor.config.autoParagraph!==false&&(j.editor.activeEnterMode!=CKEDITOR.ENTER_BR&&j.editor.editable().equals(B.blockLimit)&&\n!B.block)&&(O=j.editor.activeEnterMode!=CKEDITOR.ENTER_BR&&j.editor.config.autoParagraph!==false?j.editor.activeEnterMode==CKEDITOR.ENTER_DIV?\"div\":\"p\":false)){O=u.createElement(O);O.appendBogus();F.insertNode(O);CKEDITOR.env.needsBrFiller&&(J=O.getBogus())&&J.remove();F.moveToPosition(O,CKEDITOR.POSITION_BEFORE_END)}if((B=F.startPath().block)&&!B.equals(G)){if(J=B.getBogus()){J.remove();D.push(B)}G=B}C.firstNotAllowed&&(q=1);if(q&&C.isElement){B=F.startContainer;for(K=null;B&&!g[B.getName()][C.name];){if(B.equals(o)){B=\nnull;break}K=B;B=B.getParent()}if(B){if(K){R=F.splitElement(K);j.zombies.push(R);j.zombies.push(K)}}else{K=o.getName();S=!w;B=w==H.length-1;K=e(C.node,K);for(var N=[],U=K.length,Y=0,$=void 0,aa=0,ba=-1;Y<U;Y++){$=K[Y];if($==\" \"){if(!aa&&(!S||Y)){N.push(new CKEDITOR.dom.text(\" \"));ba=N.length}aa=1}else{N.push($);aa=0}}B&&ba==N.length&&N.pop();S=N}}if(S){for(;B=S.pop();)F.insertNode(B);S=0}else F.insertNode(C.node);if(C.lastNotAllowed&&w<H.length-1){(R=X?v:R)&&F.setEndAt(R,CKEDITOR.POSITION_AFTER_START);\nq=0}F.collapse()}}j.dontMoveCaret=s;j.bogusNeededBlocks=D}J=j.range;var V;R=j.bogusNeededBlocks;for(S=J.createBookmark();G=j.zombies.pop();)if(G.getParent()){O=J.clone();O.moveToElementEditStart(G);O.removeEmptyBlocksAtEnd()}if(R)for(;G=R.pop();)CKEDITOR.env.needsBrFiller?G.appendBogus():G.append(J.document.createText(\" \"));for(;G=j.mergeCandidates.pop();)G.mergeSiblings();J.moveToBookmark(S);if(!j.dontMoveCaret){for(G=a(J.startContainer)&&J.startContainer.getChild(J.startOffset-1);G&&a(G)&&!G.is(g.$empty);){if(G.isBlockBoundary())J.moveToPosition(G,\nCKEDITOR.POSITION_BEFORE_END);else{if(d(G)&&G.getHtml().match(/(\\s|&nbsp;)$/g)){V=null;break}V=J.clone();V.moveToPosition(G,CKEDITOR.POSITION_BEFORE_END)}G=G.getLast(c)}V&&J.moveToRange(V)}x.select();n(h)}}}(),u=function(){function a(b){b=new CKEDITOR.dom.walker(b);b.guard=function(a,b){if(b)return false;if(a.type==CKEDITOR.NODE_ELEMENT)return a.is(CKEDITOR.dtd.$tableContent)};b.evaluator=function(a){return a.type==CKEDITOR.NODE_ELEMENT};return b}function b(a,c,e){c=a.getDocument().createElement(c);\na.append(c,e);return c}function c(a){var b=a.count(),e;for(b;b-- >0;){e=a.getItem(b);if(!CKEDITOR.tools.trim(e.getHtml())){e.appendBogus();CKEDITOR.env.ie&&(CKEDITOR.env.version<9&&e.getChildCount())&&e.getFirst().remove()}}}return function(e){var d=e.startContainer,l=d.getAscendant(\"table\",1),g=false;c(l.getElementsByTag(\"td\"));c(l.getElementsByTag(\"th\"));l=e.clone();l.setStart(d,0);l=a(l).lastBackward();if(!l){l=e.clone();l.setEndAt(d,CKEDITOR.POSITION_BEFORE_END);l=a(l).lastForward();g=true}l||\n(l=d);if(l.is(\"table\")){e.setStartAt(l,CKEDITOR.POSITION_BEFORE_START);e.collapse(true);l.remove()}else{l.is({tbody:1,thead:1,tfoot:1})&&(l=b(l,\"tr\",g));l.is(\"tr\")&&(l=b(l,l.getParent().is(\"thead\")?\"th\":\"td\",g));(d=l.getBogus())&&d.remove();e.moveToPosition(l,g?CKEDITOR.POSITION_AFTER_START:CKEDITOR.POSITION_BEFORE_END)}}}()})();\n(function(){function a(){var a=this._.fakeSelection,b;if(a){b=this.getSelection(1);if(!b||!b.isHidden()){a.reset();a=0}}if(!a){a=b||this.getSelection(1);if(!a||a.getType()==CKEDITOR.SELECTION_NONE)return}this.fire(\"selectionCheck\",a);b=this.elementPath();if(!b.compare(this._.selectionPreviousPath)){if(CKEDITOR.env.webkit)this._.previousActive=this.document.getActive();this._.selectionPreviousPath=b;this.fire(\"selectionChange\",{selection:a,path:b})}}function e(){q=true;if(!o){b.call(this);o=CKEDITOR.tools.setTimeout(b,\n200,this)}}function b(){o=null;if(q){CKEDITOR.tools.setTimeout(a,0,this);q=false}}function c(a){function b(c,e){return!c||c.type==CKEDITOR.NODE_TEXT?false:a.clone()[\"moveToElementEdit\"+(e?\"End\":\"Start\")](c)}if(!(a.root instanceof CKEDITOR.editable))return false;var c=a.startContainer,e=a.getPreviousNode(s,null,c),d=a.getNextNode(s,null,c);return b(e)||b(d,1)||!e&&!d&&!(c.type==CKEDITOR.NODE_ELEMENT&&c.isBlockBoundary()&&c.getBogus())?true:false}function d(a){return a.getCustomData(\"cke-fillingChar\")}\nfunction h(a,b){var c=a&&a.removeCustomData(\"cke-fillingChar\");if(c){if(b!==false){var e,d=a.getDocument().getSelection().getNative(),f=d&&d.type!=\"None\"&&d.getRangeAt(0);if(c.getLength()>1&&f&&f.intersectsNode(c.$)){e=[d.anchorOffset,d.focusOffset];f=d.focusNode==c.$&&d.focusOffset>0;d.anchorNode==c.$&&d.anchorOffset>0&&e[0]--;f&&e[1]--;var h;f=d;if(!f.isCollapsed){h=f.getRangeAt(0);h.setStart(f.anchorNode,f.anchorOffset);h.setEnd(f.focusNode,f.focusOffset);h=h.collapsed}h&&e.unshift(e.pop())}}c.setText(g(c.getText()));\nif(e){c=d.getRangeAt(0);c.setStart(c.startContainer,e[0]);c.setEnd(c.startContainer,e[1]);d.removeAllRanges();d.addRange(c)}}}function g(a){return a.replace(/\\u200B( )?/g,function(a){return a[1]?\" \":\"\"})}function n(a,b,c){var e=a.on(\"focus\",function(a){a.cancel()},null,null,-100);if(CKEDITOR.env.ie)var d=a.getDocument().on(\"selectionchange\",function(a){a.cancel()},null,null,-100);else{var f=new CKEDITOR.dom.range(a);f.moveToElementEditStart(a);var g=a.getDocument().$.createRange();g.setStart(f.startContainer.$,\nf.startOffset);g.collapse(1);b.removeAllRanges();b.addRange(g)}c&&a.focus();e.removeListener();d&&d.removeListener()}function i(a){var b=CKEDITOR.dom.element.createFromHtml('<div data-cke-hidden-sel=\"1\" data-cke-temp=\"1\" style=\"'+(CKEDITOR.env.ie?\"display:none\":\"position:fixed;top:0;left:-1000px\")+'\">&nbsp;</div>',a.document);a.fire(\"lockSnapshot\");a.editable().append(b);var c=a.getSelection(),e=a.createRange(),d=c.root.on(\"selectionchange\",function(a){a.cancel()},null,null,0);e.setStartAt(b,CKEDITOR.POSITION_AFTER_START);\ne.setEndAt(b,CKEDITOR.POSITION_BEFORE_END);c.selectRanges([e]);d.removeListener();a.fire(\"unlockSnapshot\");a._.hiddenSelectionContainer=b}function j(a){var b={37:1,39:1,8:1,46:1};return function(c){var e=c.data.getKeystroke();if(b[e]){var d=a.getSelection().getRanges(),f=d[0];if(d.length==1&&f.collapsed)if((e=f[e<38?\"getPreviousEditableNode\":\"getNextEditableNode\"]())&&e.type==CKEDITOR.NODE_ELEMENT&&e.getAttribute(\"contenteditable\")==\"false\"){a.getSelection().fake(e);c.data.preventDefault();c.cancel()}}}}\nvar o,q,s=CKEDITOR.dom.walker.invisible(1),u=function(){function a(b){return function(a){var c=a.editor.createRange();c.moveToClosestEditablePosition(a.selected,b)&&a.editor.getSelection().selectRanges([c]);return false}}function b(a){return function(b){var c=b.editor,e=c.createRange(),d;if(!(d=e.moveToClosestEditablePosition(b.selected,a)))d=e.moveToClosestEditablePosition(b.selected,!a);d&&c.getSelection().selectRanges([e]);c.fire(\"saveSnapshot\");b.selected.remove();if(!d){e.moveToElementEditablePosition(c.editable());\nc.getSelection().selectRanges([e])}c.fire(\"saveSnapshot\");return false}}var c=a(),e=a(1);return{37:c,38:c,39:e,40:e,8:b(),46:b(1)}}();CKEDITOR.on(\"instanceCreated\",function(b){function c(){var a=d.getSelection();a&&a.removeAllRanges()}var d=b.editor;d.on(\"contentDom\",function(){var b=d.document,c=CKEDITOR.document,k=d.editable(),m=b.getBody(),g=b.getDocumentElement(),i=k.isInline(),o,n;CKEDITOR.env.gecko&&k.attachListener(k,\"focus\",function(a){a.removeListener();if(o!==0)if((a=d.getSelection().getNative())&&\na.isCollapsed&&a.anchorNode==k.$){a=d.createRange();a.moveToElementEditStart(k);a.select()}},null,null,-2);k.attachListener(k,CKEDITOR.env.webkit?\"DOMFocusIn\":\"focus\",function(){o&&CKEDITOR.env.webkit&&(o=d._.previousActive&&d._.previousActive.equals(b.getActive()));d.unlockSelection(o);o=0},null,null,-1);k.attachListener(k,\"mousedown\",function(){o=0});if(CKEDITOR.env.ie||CKEDITOR.env.opera||i){var q=function(){n=new CKEDITOR.dom.selection(d.getSelection());n.lock()};f?k.attachListener(k,\"beforedeactivate\",\nq,null,null,-1):k.attachListener(d,\"selectionCheck\",q,null,null,-1);k.attachListener(k,CKEDITOR.env.webkit?\"DOMFocusOut\":\"blur\",function(){d.lockSelection(n);o=1},null,null,-1);k.attachListener(k,\"mousedown\",function(){o=0})}if(CKEDITOR.env.ie&&!i){var p;k.attachListener(k,\"mousedown\",function(a){if(a.data.$.button==2){a=d.document.getSelection();if(!a||a.getType()==CKEDITOR.SELECTION_NONE)p=d.window.getScrollPosition()}});k.attachListener(k,\"mouseup\",function(a){if(a.data.$.button==2&&p){d.document.$.documentElement.scrollLeft=\np.x;d.document.$.documentElement.scrollTop=p.y}p=null});if(b.$.compatMode!=\"BackCompat\"){if(CKEDITOR.env.ie7Compat||CKEDITOR.env.ie6Compat)g.on(\"mousedown\",function(a){function b(a){a=a.data.$;if(e){var c=m.$.createTextRange();try{c.moveToPoint(a.x,a.y)}catch(d){}e.setEndPoint(f.compareEndPoints(\"StartToStart\",c)<0?\"EndToEnd\":\"StartToStart\",c);e.select()}}function d(){g.removeListener(\"mousemove\",b);c.removeListener(\"mouseup\",d);g.removeListener(\"mouseup\",d);e.select()}a=a.data;if(a.getTarget().is(\"html\")&&\na.$.y<g.$.clientHeight&&a.$.x<g.$.clientWidth){var e=m.$.createTextRange();try{e.moveToPoint(a.$.x,a.$.y)}catch(k){}var f=e.duplicate();g.on(\"mousemove\",b);c.on(\"mouseup\",d);g.on(\"mouseup\",d)}});if(CKEDITOR.env.version>7&&CKEDITOR.env.version<11){g.on(\"mousedown\",function(a){if(a.data.getTarget().is(\"html\")){c.on(\"mouseup\",v);g.on(\"mouseup\",v)}});var v=function(){c.removeListener(\"mouseup\",v);g.removeListener(\"mouseup\",v);var a=CKEDITOR.document.$.selection,d=a.createRange();a.type!=\"None\"&&d.parentElement().ownerDocument==\nb.$&&d.select()}}}}k.attachListener(k,\"selectionchange\",a,d);k.attachListener(k,\"keyup\",e,d);k.attachListener(k,CKEDITOR.env.webkit?\"DOMFocusIn\":\"focus\",function(){d.forceNextSelectionCheck();d.selectionChange(1)});if(i?CKEDITOR.env.webkit||CKEDITOR.env.gecko:CKEDITOR.env.opera){var w;k.attachListener(k,\"mousedown\",function(){w=1});k.attachListener(b.getDocumentElement(),\"mouseup\",function(){w&&e.call(d);w=0})}else k.attachListener(CKEDITOR.env.ie?k:b.getDocumentElement(),\"mouseup\",e,d);CKEDITOR.env.webkit&&\nk.attachListener(b,\"keydown\",function(a){switch(a.data.getKey()){case 13:case 33:case 34:case 35:case 36:case 37:case 39:case 8:case 45:case 46:h(k)}},null,null,-1);k.attachListener(k,\"keydown\",j(d),null,null,-1)});d.on(\"contentDomUnload\",d.forceNextSelectionCheck,d);d.on(\"dataReady\",function(){delete d._.fakeSelection;delete d._.hiddenSelectionContainer;d.selectionChange(1)});d.on(\"loadSnapshot\",function(){var a=d.editable().getLast(function(a){return a.type==CKEDITOR.NODE_ELEMENT});a&&a.hasAttribute(\"data-cke-hidden-sel\")&&\na.remove()},null,null,100);CKEDITOR.env.ie9Compat&&d.on(\"beforeDestroy\",c,null,null,9);CKEDITOR.env.webkit&&d.on(\"setData\",c);d.on(\"contentDomUnload\",function(){d.unlockSelection()});d.on(\"key\",function(a){if(d.mode==\"wysiwyg\"){var b=d.getSelection();if(b.isFake){var c=u[a.data.keyCode];if(c)return c({editor:d,selected:b.getSelectedElement(),selection:b,keyEvent:a})}}})});CKEDITOR.on(\"instanceReady\",function(a){var b=a.editor;if(CKEDITOR.env.webkit){b.on(\"selectionChange\",function(){var a=b.editable(),\nc=d(a);c&&(c.getCustomData(\"ready\")?h(a):c.setCustomData(\"ready\",1))},null,null,-1);b.on(\"beforeSetMode\",function(){h(b.editable())},null,null,-1);var c,e,a=function(){var a=b.editable();if(a)if(a=d(a)){var f=b.document.$.defaultView.getSelection();f.type==\"Caret\"&&f.anchorNode==a.$&&(e=1);c=a.getText();a.setText(g(c))}},f=function(){var a=b.editable();if(a)if(a=d(a)){a.setText(c);if(e){b.document.$.defaultView.getSelection().setPosition(a.$,a.getLength());e=0}}};b.on(\"beforeUndoImage\",a);b.on(\"afterUndoImage\",\nf);b.on(\"beforeGetData\",a,null,null,0);b.on(\"getData\",f)}});CKEDITOR.editor.prototype.selectionChange=function(b){(b?a:e).call(this)};CKEDITOR.editor.prototype.getSelection=function(a){if((this._.savedSelection||this._.fakeSelection)&&!a)return this._.savedSelection||this._.fakeSelection;return(a=this.editable())&&this.mode==\"wysiwyg\"?new CKEDITOR.dom.selection(a):null};CKEDITOR.editor.prototype.lockSelection=function(a){a=a||this.getSelection(1);if(a.getType()!=CKEDITOR.SELECTION_NONE){!a.isLocked&&\na.lock();this._.savedSelection=a;return true}return false};CKEDITOR.editor.prototype.unlockSelection=function(a){var b=this._.savedSelection;if(b){b.unlock(a);delete this._.savedSelection;return true}return false};CKEDITOR.editor.prototype.forceNextSelectionCheck=function(){delete this._.selectionPreviousPath};CKEDITOR.dom.document.prototype.getSelection=function(){return new CKEDITOR.dom.selection(this)};CKEDITOR.dom.range.prototype.select=function(){var a=this.root instanceof CKEDITOR.editable?\nthis.root.editor.getSelection():new CKEDITOR.dom.selection(this.root);a.selectRanges([this]);return a};CKEDITOR.SELECTION_NONE=1;CKEDITOR.SELECTION_TEXT=2;CKEDITOR.SELECTION_ELEMENT=3;var f=typeof window.getSelection!=\"function\",p=1;CKEDITOR.dom.selection=function(a){if(a instanceof CKEDITOR.dom.selection)var b=a,a=a.root;var c=a instanceof CKEDITOR.dom.element;this.rev=b?b.rev:p++;this.document=a instanceof CKEDITOR.dom.document?a:a.getDocument();this.root=a=c?a:this.document.getBody();this.isLocked=\n0;this._={cache:{}};if(b){CKEDITOR.tools.extend(this._.cache,b._.cache);this.isFake=b.isFake;this.isLocked=b.isLocked;return this}b=f?this.document.$.selection:this.document.getWindow().$.getSelection();if(CKEDITOR.env.webkit)(b.type==\"None\"&&this.document.getActive().equals(a)||b.type==\"Caret\"&&b.anchorNode.nodeType==CKEDITOR.NODE_DOCUMENT)&&n(a,b);else if(CKEDITOR.env.gecko)b&&(this.document.getActive().equals(a)&&b.anchorNode&&b.anchorNode.nodeType==CKEDITOR.NODE_DOCUMENT)&&n(a,b,true);else if(CKEDITOR.env.ie){var d;\ntry{d=this.document.getActive()}catch(e){}if(f)b.type==\"None\"&&(d&&d.equals(this.document.getDocumentElement()))&&n(a,null,true);else{(b=b&&b.anchorNode)&&(b=new CKEDITOR.dom.node(b));d&&(d.equals(this.document.getDocumentElement())&&b&&(a.equals(b)||a.contains(b)))&&n(a,null,true)}}d=this.getNative();var g,h;if(d)if(d.getRangeAt)g=(h=d.rangeCount&&d.getRangeAt(0))&&new CKEDITOR.dom.node(h.commonAncestorContainer);else{try{h=d.createRange()}catch(j){}g=h&&CKEDITOR.dom.element.get(h.item&&h.item(0)||\nh.parentElement())}if(!g||!(g.type==CKEDITOR.NODE_ELEMENT||g.type==CKEDITOR.NODE_TEXT)||!this.root.equals(g)&&!this.root.contains(g)){this._.cache.type=CKEDITOR.SELECTION_NONE;this._.cache.startElement=null;this._.cache.selectedElement=null;this._.cache.selectedText=\"\";this._.cache.ranges=new CKEDITOR.dom.rangeList}return this};var y={img:1,hr:1,li:1,table:1,tr:1,td:1,th:1,embed:1,object:1,ol:1,ul:1,a:1,input:1,form:1,select:1,textarea:1,button:1,fieldset:1,thead:1,tfoot:1};CKEDITOR.dom.selection.prototype=\n{getNative:function(){return this._.cache.nativeSel!==void 0?this._.cache.nativeSel:this._.cache.nativeSel=f?this.document.$.selection:this.document.getWindow().$.getSelection()},getType:f?function(){var a=this._.cache;if(a.type)return a.type;var b=CKEDITOR.SELECTION_NONE;try{var c=this.getNative(),d=c.type;if(d==\"Text\")b=CKEDITOR.SELECTION_TEXT;if(d==\"Control\")b=CKEDITOR.SELECTION_ELEMENT;if(c.createRange().parentElement())b=CKEDITOR.SELECTION_TEXT}catch(e){}return a.type=b}:function(){var a=this._.cache;\nif(a.type)return a.type;var b=CKEDITOR.SELECTION_TEXT,c=this.getNative();if(!c||!c.rangeCount)b=CKEDITOR.SELECTION_NONE;else if(c.rangeCount==1){var c=c.getRangeAt(0),d=c.startContainer;if(d==c.endContainer&&d.nodeType==1&&c.endOffset-c.startOffset==1&&y[d.childNodes[c.startOffset].nodeName.toLowerCase()])b=CKEDITOR.SELECTION_ELEMENT}return a.type=b},getRanges:function(){var a=f?function(){function a(b){return(new CKEDITOR.dom.node(b)).getIndex()}var b=function(b,c){b=b.duplicate();b.collapse(c);\nvar d=b.parentElement();if(!d.hasChildNodes())return{container:d,offset:0};for(var e=d.children,f,g,h=b.duplicate(),l=0,m=e.length-1,j=-1,i,o;l<=m;){j=Math.floor((l+m)/2);f=e[j];h.moveToElementText(f);i=h.compareEndPoints(\"StartToStart\",b);if(i>0)m=j-1;else if(i<0)l=j+1;else return{container:d,offset:a(f)}}if(j==-1||j==e.length-1&&i<0){h.moveToElementText(d);h.setEndPoint(\"StartToStart\",b);h=h.text.replace(/(\\r\\n|\\r)/g,\"\\n\").length;e=d.childNodes;if(!h){f=e[e.length-1];return f.nodeType!=CKEDITOR.NODE_TEXT?\n{container:d,offset:e.length}:{container:f,offset:f.nodeValue.length}}for(d=e.length;h>0&&d>0;){g=e[--d];if(g.nodeType==CKEDITOR.NODE_TEXT){o=g;h=h-g.nodeValue.length}}return{container:o,offset:-h}}h.collapse(i>0?true:false);h.setEndPoint(i>0?\"StartToStart\":\"EndToStart\",b);h=h.text.replace(/(\\r\\n|\\r)/g,\"\\n\").length;if(!h)return{container:d,offset:a(f)+(i>0?0:1)};for(;h>0;)try{g=f[i>0?\"previousSibling\":\"nextSibling\"];if(g.nodeType==CKEDITOR.NODE_TEXT){h=h-g.nodeValue.length;o=g}f=g}catch(n){return{container:d,\noffset:a(f)}}return{container:o,offset:i>0?-h:o.nodeValue.length+h}};return function(){var a=this.getNative(),c=a&&a.createRange(),d=this.getType();if(!a)return[];if(d==CKEDITOR.SELECTION_TEXT){a=new CKEDITOR.dom.range(this.root);d=b(c,true);a.setStart(new CKEDITOR.dom.node(d.container),d.offset);d=b(c);a.setEnd(new CKEDITOR.dom.node(d.container),d.offset);a.endContainer.getPosition(a.startContainer)&CKEDITOR.POSITION_PRECEDING&&a.endOffset<=a.startContainer.getIndex()&&a.collapse();return[a]}if(d==\nCKEDITOR.SELECTION_ELEMENT){for(var d=[],e=0;e<c.length;e++){for(var f=c.item(e),k=f.parentNode,g=0,a=new CKEDITOR.dom.range(this.root);g<k.childNodes.length&&k.childNodes[g]!=f;g++);a.setStart(new CKEDITOR.dom.node(k),g);a.setEnd(new CKEDITOR.dom.node(k),g+1);d.push(a)}return d}return[]}}():function(){var a=[],b,c=this.getNative();if(!c)return a;for(var d=0;d<c.rangeCount;d++){var e=c.getRangeAt(d);b=new CKEDITOR.dom.range(this.root);b.setStart(new CKEDITOR.dom.node(e.startContainer),e.startOffset);\nb.setEnd(new CKEDITOR.dom.node(e.endContainer),e.endOffset);a.push(b)}return a};return function(b){var c=this._.cache;if(c.ranges&&!b)return c.ranges;if(!c.ranges)c.ranges=new CKEDITOR.dom.rangeList(a.call(this));if(b)for(var d=c.ranges,e=0;e<d.length;e++){var f=d[e];f.getCommonAncestor().isReadOnly()&&d.splice(e,1);if(!f.collapsed){if(f.startContainer.isReadOnly())for(var b=f.startContainer,g;b;){if((g=b.type==CKEDITOR.NODE_ELEMENT)&&b.is(\"body\")||!b.isReadOnly())break;g&&b.getAttribute(\"contentEditable\")==\n\"false\"&&f.setStartAfter(b);b=b.getParent()}b=f.startContainer;g=f.endContainer;var h=f.startOffset,j=f.endOffset,i=f.clone();b&&b.type==CKEDITOR.NODE_TEXT&&(h>=b.getLength()?i.setStartAfter(b):i.setStartBefore(b));g&&g.type==CKEDITOR.NODE_TEXT&&(j?i.setEndAfter(g):i.setEndBefore(g));b=new CKEDITOR.dom.walker(i);b.evaluator=function(a){if(a.type==CKEDITOR.NODE_ELEMENT&&a.isReadOnly()){var b=f.clone();f.setEndBefore(a);f.collapsed&&d.splice(e--,1);if(!(a.getPosition(i.endContainer)&CKEDITOR.POSITION_CONTAINS)){b.setStartAfter(a);\nb.collapsed||d.splice(e+1,0,b)}return true}return false};b.next()}}return c.ranges}}(),getStartElement:function(){var a=this._.cache;if(a.startElement!==void 0)return a.startElement;var b;switch(this.getType()){case CKEDITOR.SELECTION_ELEMENT:return this.getSelectedElement();case CKEDITOR.SELECTION_TEXT:var c=this.getRanges()[0];if(c){if(c.collapsed){b=c.startContainer;b.type!=CKEDITOR.NODE_ELEMENT&&(b=b.getParent())}else{for(c.optimize();;){b=c.startContainer;if(c.startOffset==(b.getChildCount?b.getChildCount():\nb.getLength())&&!b.isBlockBoundary())c.setStartAfter(b);else break}b=c.startContainer;if(b.type!=CKEDITOR.NODE_ELEMENT)return b.getParent();b=b.getChild(c.startOffset);if(!b||b.type!=CKEDITOR.NODE_ELEMENT)b=c.startContainer;else for(c=b.getFirst();c&&c.type==CKEDITOR.NODE_ELEMENT;){b=c;c=c.getFirst()}}b=b.$}}return a.startElement=b?new CKEDITOR.dom.element(b):null},getSelectedElement:function(){var a=this._.cache;if(a.selectedElement!==void 0)return a.selectedElement;var b=this,c=CKEDITOR.tools.tryThese(function(){return b.getNative().createRange().item(0)},\nfunction(){for(var a=b.getRanges()[0].clone(),c,d,e=2;e&&(!(c=a.getEnclosedNode())||!(c.type==CKEDITOR.NODE_ELEMENT&&y[c.getName()]&&(d=c)));e--)a.shrink(CKEDITOR.SHRINK_ELEMENT);return d&&d.$});return a.selectedElement=c?new CKEDITOR.dom.element(c):null},getSelectedText:function(){var a=this._.cache;if(a.selectedText!==void 0)return a.selectedText;var b=this.getNative(),b=f?b.type==\"Control\"?\"\":b.createRange().text:b.toString();return a.selectedText=b},lock:function(){this.getRanges();this.getStartElement();\nthis.getSelectedElement();this.getSelectedText();this._.cache.nativeSel=null;this.isLocked=1},unlock:function(a){if(this.isLocked){if(a)var b=this.getSelectedElement(),c=!b&&this.getRanges(),d=this.isFake;this.isLocked=0;this.reset();if(a)(a=b||c[0]&&c[0].getCommonAncestor())&&a.getAscendant(\"body\",1)&&(d?this.fake(b):b?this.selectElement(b):this.selectRanges(c))}},reset:function(){this._.cache={};this.isFake=0;var a=this.root.editor;if(a&&a._.fakeSelection&&this.rev==a._.fakeSelection.rev){delete a._.fakeSelection;\nvar b=a._.hiddenSelectionContainer;if(b){a.fire(\"lockSnapshot\");b.remove();a.fire(\"unlockSnapshot\")}delete a._.hiddenSelectionContainer}this.rev=p++},selectElement:function(a){var b=new CKEDITOR.dom.range(this.root);b.setStartBefore(a);b.setEndAfter(a);this.selectRanges([b])},selectRanges:function(a){this.reset();if(a.length)if(this.isLocked){var b=CKEDITOR.document.getActive();this.unlock();this.selectRanges(a);this.lock();!b.equals(this.root)&&b.focus()}else{a:{var d,e;if(a.length==1&&!(e=a[0]).collapsed&&\n(b=e.getEnclosedNode())&&b.type==CKEDITOR.NODE_ELEMENT){e=e.clone();e.shrink(CKEDITOR.SHRINK_ELEMENT,true);if((d=e.getEnclosedNode())&&d.type==CKEDITOR.NODE_ELEMENT)b=d;if(b.getAttribute(\"contenteditable\")==\"false\")break a}b=void 0}if(b)this.fake(b);else{if(f){e=CKEDITOR.dom.walker.whitespaces(true);d=/\\ufeff|\\u00a0/;var g={table:1,tbody:1,tr:1};if(a.length>1){b=a[a.length-1];a[0].setEnd(b.endContainer,b.endOffset)}var b=a[0],a=b.collapsed,j,i,o,n=b.getEnclosedNode();if(n&&n.type==CKEDITOR.NODE_ELEMENT&&\nn.getName()in y&&(!n.is(\"a\")||!n.getText()))try{o=n.$.createControlRange();o.addElement(n.$);o.select();return}catch(q){}(b.startContainer.type==CKEDITOR.NODE_ELEMENT&&b.startContainer.getName()in g||b.endContainer.type==CKEDITOR.NODE_ELEMENT&&b.endContainer.getName()in g)&&b.shrink(CKEDITOR.NODE_ELEMENT,true);o=b.createBookmark();var g=o.startNode,p;if(!a)p=o.endNode;o=b.document.$.body.createTextRange();o.moveToElementText(g.$);o.moveStart(\"character\",1);if(p){d=b.document.$.body.createTextRange();\nd.moveToElementText(p.$);o.setEndPoint(\"EndToEnd\",d);o.moveEnd(\"character\",-1)}else{j=g.getNext(e);i=g.hasAscendant(\"pre\");j=!(j&&j.getText&&j.getText().match(d))&&(i||!g.hasPrevious()||g.getPrevious().is&&g.getPrevious().is(\"br\"));i=b.document.createElement(\"span\");i.setHtml(\"&#65279;\");i.insertBefore(g);j&&b.document.createText(\"\").insertBefore(g)}b.setStartBefore(g);g.remove();if(a){if(j){o.moveStart(\"character\",-1);o.select();b.document.$.selection.clear()}else o.select();b.moveToPosition(i,\nCKEDITOR.POSITION_BEFORE_START);i.remove()}else{b.setEndBefore(p);p.remove();o.select()}}else{p=this.getNative();if(!p)return;if(CKEDITOR.env.opera){b=this.document.$.createRange();b.selectNodeContents(this.root.$);p.addRange(b)}this.removeAllRanges();for(o=0;o<a.length;o++){if(o<a.length-1){b=a[o];j=a[o+1];d=b.clone();d.setStart(b.endContainer,b.endOffset);d.setEnd(j.startContainer,j.startOffset);if(!d.collapsed){d.shrink(CKEDITOR.NODE_ELEMENT,true);i=d.getCommonAncestor();d=d.getEnclosedNode();\nif(i.isReadOnly()||d&&d.isReadOnly()){j.setStart(b.startContainer,b.startOffset);a.splice(o--,1);continue}}}b=a[o];i=this.document.$.createRange();j=b.startContainer;if(CKEDITOR.env.opera&&b.collapsed&&j.type==CKEDITOR.NODE_ELEMENT){d=j.getChild(b.startOffset-1);e=j.getChild(b.startOffset);if(!d&&!e&&j.is(CKEDITOR.dtd.$removeEmpty)||d&&d.type==CKEDITOR.NODE_ELEMENT||e&&e.type==CKEDITOR.NODE_ELEMENT){b.insertNode(this.document.createText(\"\"));b.collapse(1)}}if(b.collapsed&&CKEDITOR.env.webkit&&c(b)){j=\nthis.root;h(j,false);d=j.getDocument().createText(\"​\");j.setCustomData(\"cke-fillingChar\",d);b.insertNode(d);if((j=d.getNext())&&!d.getPrevious()&&j.type==CKEDITOR.NODE_ELEMENT&&j.getName()==\"br\"){h(this.root);b.moveToPosition(j,CKEDITOR.POSITION_BEFORE_START)}else b.moveToPosition(d,CKEDITOR.POSITION_AFTER_END)}i.setStart(b.startContainer.$,b.startOffset);try{i.setEnd(b.endContainer.$,b.endOffset)}catch(s){if(s.toString().indexOf(\"NS_ERROR_ILLEGAL_VALUE\")>=0){b.collapse(1);i.setEnd(b.endContainer.$,\nb.endOffset)}else throw s;}p.addRange(i)}}this.reset();this.root.fire(\"selectionchange\")}}},fake:function(a){var b=this.root.editor;this.reset();i(b);var c=this._.cache,d=new CKEDITOR.dom.range(this.root);d.setStartBefore(a);d.setEndAfter(a);c.ranges=new CKEDITOR.dom.rangeList(d);c.selectedElement=c.startElement=a;c.type=CKEDITOR.SELECTION_ELEMENT;c.selectedText=c.nativeSel=null;this.isFake=1;this.rev=p++;b._.fakeSelection=this;this.root.fire(\"selectionchange\")},isHidden:function(){var a=this.getCommonAncestor();\na&&a.type==CKEDITOR.NODE_TEXT&&(a=a.getParent());return!(!a||!a.data(\"cke-hidden-sel\"))},createBookmarks:function(a){a=this.getRanges().createBookmarks(a);this.isFake&&(a.isFake=1);return a},createBookmarks2:function(a){a=this.getRanges().createBookmarks2(a);this.isFake&&(a.isFake=1);return a},selectBookmarks:function(a){for(var b=[],c=0;c<a.length;c++){var d=new CKEDITOR.dom.range(this.root);d.moveToBookmark(a[c]);b.push(d)}a.isFake?this.fake(b[0].getEnclosedNode()):this.selectRanges(b);return this},\ngetCommonAncestor:function(){var a=this.getRanges();return!a.length?null:a[0].startContainer.getCommonAncestor(a[a.length-1].endContainer)},scrollIntoView:function(){this.type!=CKEDITOR.SELECTION_NONE&&this.getRanges()[0].scrollIntoView()},removeAllRanges:function(){var a=this.getNative();try{a&&a[f?\"empty\":\"removeAllRanges\"]()}catch(b){}this.reset()}}})();\"use strict\";\nCKEDITOR.editor.prototype.attachStyleStateChange=function(a,e){var b=this._.styleStateChangeCallbacks;if(!b){b=this._.styleStateChangeCallbacks=[];this.on(\"selectionChange\",function(a){for(var d=0;d<b.length;d++){var e=b[d],g=e.style.checkActive(a.data.path)?CKEDITOR.TRISTATE_ON:CKEDITOR.TRISTATE_OFF;e.fn.call(this,g)}})}b.push({style:a,fn:e})};CKEDITOR.STYLE_BLOCK=1;CKEDITOR.STYLE_INLINE=2;CKEDITOR.STYLE_OBJECT=3;\n(function(){function a(a,b){for(var c,d;a=a.getParent();){if(a.equals(b))break;if(a.getAttribute(\"data-nostyle\"))c=a;else if(!d){var e=a.getAttribute(\"contentEditable\");e==\"false\"?c=a:e==\"true\"&&(d=1)}}return c}function e(b){var d=b.document;if(b.collapsed){d=y(this,d);b.insertNode(d);b.moveToPosition(d,CKEDITOR.POSITION_BEFORE_END)}else{var f=this.element,g=this._.definition,h,j=g.ignoreReadonly,i=j||g.includeReadonly;i==void 0&&(i=b.root.getCustomData(\"cke_includeReadonly\"));var k=CKEDITOR.dtd[f];\nif(!k){h=true;k=CKEDITOR.dtd.span}b.enlarge(CKEDITOR.ENLARGE_INLINE,1);b.trim();var l=b.createBookmark(),m=l.startNode,o=l.endNode,n=m,q;if(!j){var p=b.getCommonAncestor(),j=a(m,p),p=a(o,p);j&&(n=j.getNextSourceNode(true));p&&(o=p)}for(n.getPosition(o)==CKEDITOR.POSITION_FOLLOWING&&(n=0);n;){j=false;if(n.equals(o)){n=null;j=true}else{var s=n.type==CKEDITOR.NODE_ELEMENT?n.getName():null,p=s&&n.getAttribute(\"contentEditable\")==\"false\",r=s&&n.getAttribute(\"data-nostyle\");if(s&&n.data(\"cke-bookmark\")){n=\nn.getNextSourceNode(true);continue}if(p&&i&&CKEDITOR.dtd.$block[s])for(var t=n,x=c(t),z=void 0,A=x.length,I=0,t=A&&new CKEDITOR.dom.range(t.getDocument());I<A;++I){var z=x[I],L=CKEDITOR.filter.instances[z.data(\"cke-filter\")];if(L?L.check(this):1){t.selectNodeContents(z);e.call(this,t)}}x=s?!k[s]||r?0:p&&!i?0:(n.getPosition(o)|M)==M&&(!g.childRule||g.childRule(n)):1;if(x)if((x=n.getParent())&&((x.getDtd()||CKEDITOR.dtd.span)[f]||h)&&(!g.parentRule||g.parentRule(x))){if(!q&&(!s||!CKEDITOR.dtd.$removeEmpty[s]||\n(n.getPosition(o)|M)==M)){q=b.clone();q.setStartBefore(n)}s=n.type;if(s==CKEDITOR.NODE_TEXT||p||s==CKEDITOR.NODE_ELEMENT&&!n.getChildCount()){for(var s=n,W;(j=!s.getNext(E))&&(W=s.getParent(),k[W.getName()])&&(W.getPosition(m)|Q)==Q&&(!g.childRule||g.childRule(W));)s=W;q.setEndAfter(s)}}else j=true;else j=true;n=n.getNextSourceNode(r||p)}if(j&&q&&!q.collapsed){for(var j=y(this,d),p=j.hasAttributes(),r=q.getCommonAncestor(),s={},x={},z={},A={},T,P,Z;j&&r;){if(r.getName()==f){for(T in g.attributes)if(!A[T]&&\n(Z=r.getAttribute(P)))j.getAttribute(T)==Z?x[T]=1:A[T]=1;for(P in g.styles)if(!z[P]&&(Z=r.getStyle(P)))j.getStyle(P)==Z?s[P]=1:z[P]=1}r=r.getParent()}for(T in x)j.removeAttribute(T);for(P in s)j.removeStyle(P);p&&!j.hasAttributes()&&(j=null);if(j){q.extractContents().appendTo(j);q.insertNode(j);u.call(this,j);j.mergeSiblings();CKEDITOR.env.ie||j.$.normalize()}else{j=new CKEDITOR.dom.element(\"span\");q.extractContents().appendTo(j);q.insertNode(j);u.call(this,j);j.remove(true)}q=null}}b.moveToBookmark(l);\nb.shrink(CKEDITOR.SHRINK_TEXT);b.shrink(CKEDITOR.NODE_ELEMENT,true)}}function b(a){function b(){for(var a=new CKEDITOR.dom.elementPath(d.getParent()),c=new CKEDITOR.dom.elementPath(k.getParent()),e=null,f=null,g=0;g<a.elements.length;g++){var h=a.elements[g];if(h==a.block||h==a.blockLimit)break;m.checkElementRemovable(h)&&(e=h)}for(g=0;g<c.elements.length;g++){h=c.elements[g];if(h==c.block||h==c.blockLimit)break;m.checkElementRemovable(h)&&(f=h)}f&&k.breakParent(f);e&&d.breakParent(e)}a.enlarge(CKEDITOR.ENLARGE_INLINE,\n1);var c=a.createBookmark(),d=c.startNode;if(a.collapsed){for(var e=new CKEDITOR.dom.elementPath(d.getParent(),a.root),g,j=0,h;j<e.elements.length&&(h=e.elements[j]);j++){if(h==e.block||h==e.blockLimit)break;if(this.checkElementRemovable(h)){var i;if(a.collapsed&&(a.checkBoundaryOfElement(h,CKEDITOR.END)||(i=a.checkBoundaryOfElement(h,CKEDITOR.START)))){g=h;g.match=i?\"start\":\"end\"}else{h.mergeSiblings();h.is(this.element)?s.call(this,h):f(h,l(this)[h.getName()])}}}if(g){h=d;for(j=0;;j++){i=e.elements[j];\nif(i.equals(g))break;else if(i.match)continue;else i=i.clone();i.append(h);h=i}h[g.match==\"start\"?\"insertBefore\":\"insertAfter\"](g)}}else{var k=c.endNode,m=this;b();for(e=d;!e.equals(k);){g=e.getNextSourceNode();if(e.type==CKEDITOR.NODE_ELEMENT&&this.checkElementRemovable(e)){e.getName()==this.element?s.call(this,e):f(e,l(this)[e.getName()]);if(g.type==CKEDITOR.NODE_ELEMENT&&g.contains(d)){b();g=d.getNext()}}e=g}}a.moveToBookmark(c);a.shrink(CKEDITOR.NODE_ELEMENT,true)}function c(a){var b=[];a.forEach(function(a){if(a.getAttribute(\"contenteditable\")==\n\"true\"){b.push(a);return false}},CKEDITOR.NODE_ELEMENT,true);return b}function d(a){var b=a.getEnclosedNode()||a.getCommonAncestor(false,true);(a=(new CKEDITOR.dom.elementPath(b,a.root)).contains(this.element,1))&&!a.isReadOnly()&&m(a,this)}function h(a){var b=a.getCommonAncestor(true,true);if(a=(new CKEDITOR.dom.elementPath(b,a.root)).contains(this.element,1)){var b=this._.definition,c=b.attributes;if(c)for(var d in c)a.removeAttribute(d,c[d]);if(b.styles)for(var e in b.styles)b.styles.hasOwnProperty(e)&&\na.removeStyle(e)}}function g(a){var b=a.createBookmark(true),c=a.createIterator();c.enforceRealBlocks=true;if(this._.enterMode)c.enlargeBr=this._.enterMode!=CKEDITOR.ENTER_BR;for(var d,e=a.document,f;d=c.getNextParagraph();)if(!d.isReadOnly()&&(c.activeFilter?c.activeFilter.check(this):1)){f=y(this,e,d);i(d,f)}a.moveToBookmark(b)}function n(a){var b=a.createBookmark(1),c=a.createIterator();c.enforceRealBlocks=true;c.enlargeBr=this._.enterMode!=CKEDITOR.ENTER_BR;for(var d,e;d=c.getNextParagraph();)if(this.checkElementRemovable(d))if(d.is(\"pre\")){(e=\nthis._.enterMode==CKEDITOR.ENTER_BR?null:a.document.createElement(this._.enterMode==CKEDITOR.ENTER_P?\"p\":\"div\"))&&d.copyAttributes(e);i(d,e)}else s.call(this,d);a.moveToBookmark(b)}function i(a,b){var c=!b;if(c){b=a.getDocument().createElement(\"div\");a.copyAttributes(b)}var d=b&&b.is(\"pre\"),e=a.is(\"pre\"),f=!d&&e;if(d&&!e){e=b;(f=a.getBogus())&&f.remove();f=a.getHtml();f=o(f,/(?:^[ \\t\\n\\r]+)|(?:[ \\t\\n\\r]+$)/g,\"\");f=f.replace(/[ \\t\\r\\n]*(<br[^>]*>)[ \\t\\r\\n]*/gi,\"$1\");f=f.replace(/([ \\t\\n\\r]+|&nbsp;)/g,\n\" \");f=f.replace(/<br\\b[^>]*>/gi,\"\\n\");if(CKEDITOR.env.ie){var g=a.getDocument().createElement(\"div\");g.append(e);e.$.outerHTML=\"<pre>\"+f+\"</pre>\";e.copyAttributes(g.getFirst());e=g.getFirst().remove()}else e.setHtml(f);b=e}else f?b=q(c?[a.getHtml()]:j(a),b):a.moveChildren(b);b.replace(a);if(d){var c=b,h;if((h=c.getPrevious(z))&&h.type==CKEDITOR.NODE_ELEMENT&&h.is(\"pre\")){d=o(h.getHtml(),/\\n$/,\"\")+\"\\n\\n\"+o(c.getHtml(),/^\\n/,\"\");CKEDITOR.env.ie?c.$.outerHTML=\"<pre>\"+d+\"</pre>\":c.setHtml(d);h.remove()}}else c&&\np(b)}function j(a){a.getName();var b=[];o(a.getOuterHtml(),/(\\S\\s*)\\n(?:\\s|(<span[^>]+data-cke-bookmark.*?\\/span>))*\\n(?!$)/gi,function(a,b,c){return b+\"</pre>\"+c+\"<pre>\"}).replace(/<pre\\b.*?>([\\s\\S]*?)<\\/pre>/gi,function(a,c){b.push(c)});return b}function o(a,b,c){var d=\"\",e=\"\",a=a.replace(/(^<span[^>]+data-cke-bookmark.*?\\/span>)|(<span[^>]+data-cke-bookmark.*?\\/span>$)/gi,function(a,b,c){b&&(d=b);c&&(e=c);return\"\"});return d+a.replace(b,c)+e}function q(a,b){var c;a.length>1&&(c=new CKEDITOR.dom.documentFragment(b.getDocument()));\nfor(var d=0;d<a.length;d++){var e=a[d],e=e.replace(/(\\r\\n|\\r)/g,\"\\n\"),e=o(e,/^[ \\t]*\\n/,\"\"),e=o(e,/\\n$/,\"\"),e=o(e,/^[ \\t]+|[ \\t]+$/g,function(a,b){return a.length==1?\"&nbsp;\":b?\" \"+CKEDITOR.tools.repeat(\"&nbsp;\",a.length-1):CKEDITOR.tools.repeat(\"&nbsp;\",a.length-1)+\" \"}),e=e.replace(/\\n/g,\"<br>\"),e=e.replace(/[ \\t]{2,}/g,function(a){return CKEDITOR.tools.repeat(\"&nbsp;\",a.length-1)+\" \"});if(c){var f=b.clone();f.setHtml(e);c.append(f)}else b.setHtml(e)}return c||b}function s(a,b){var c=this._.definition,\nd=c.attributes,c=c.styles,e=l(this)[a.getName()],g=CKEDITOR.tools.isEmpty(d)&&CKEDITOR.tools.isEmpty(c),h;for(h in d)if(!((h==\"class\"||this._.definition.fullMatch)&&a.getAttribute(h)!=t(h,d[h]))&&!(b&&h.slice(0,5)==\"data-\")){g=a.hasAttribute(h);a.removeAttribute(h)}for(var j in c)if(!(this._.definition.fullMatch&&a.getStyle(j)!=t(j,c[j],true))){g=g||!!a.getStyle(j);a.removeStyle(j)}f(a,e,r[a.getName()]);g&&(this._.definition.alwaysRemoveElement?p(a,1):!CKEDITOR.dtd.$block[a.getName()]||this._.enterMode==\nCKEDITOR.ENTER_BR&&!a.hasAttributes()?p(a):a.renameNode(this._.enterMode==CKEDITOR.ENTER_P?\"p\":\"div\"))}function u(a){for(var b=l(this),c=a.getElementsByTag(this.element),d,e=c.count();--e>=0;){d=c.getItem(e);d.isReadOnly()||s.call(this,d,true)}for(var g in b)if(g!=this.element){c=a.getElementsByTag(g);for(e=c.count()-1;e>=0;e--){d=c.getItem(e);d.isReadOnly()||f(d,b[g])}}}function f(a,b,c){if(b=b&&b.attributes)for(var d=0;d<b.length;d++){var e=b[d][0],f;if(f=a.getAttribute(e)){var g=b[d][1];(g===null||\ng.test&&g.test(f)||typeof g==\"string\"&&f==g)&&a.removeAttribute(e)}}c||p(a)}function p(a,b){if(!a.hasAttributes()||b)if(CKEDITOR.dtd.$block[a.getName()]){var c=a.getPrevious(z),d=a.getNext(z);c&&(c.type==CKEDITOR.NODE_TEXT||!c.isBlockBoundary({br:1}))&&a.append(\"br\",1);d&&(d.type==CKEDITOR.NODE_TEXT||!d.isBlockBoundary({br:1}))&&a.append(\"br\");a.remove(true)}else{c=a.getFirst();d=a.getLast();a.remove(true);if(c){c.type==CKEDITOR.NODE_ELEMENT&&c.mergeSiblings();d&&(!c.equals(d)&&d.type==CKEDITOR.NODE_ELEMENT)&&\nd.mergeSiblings()}}}function y(a,b,c){var d;d=a.element;d==\"*\"&&(d=\"span\");d=new CKEDITOR.dom.element(d,b);c&&c.copyAttributes(d);d=m(d,a);b.getCustomData(\"doc_processing_style\")&&d.hasAttribute(\"id\")?d.removeAttribute(\"id\"):b.setCustomData(\"doc_processing_style\",1);return d}function m(a,b){var c=b._.definition,d=c.attributes,c=CKEDITOR.style.getStyleText(c);if(d)for(var e in d)a.setAttribute(e,d[e]);c&&a.setAttribute(\"style\",c);return a}function k(a,b){for(var c in a)a[c]=a[c].replace(I,function(a,\nc){return b[c]})}function l(a){if(a._.overrides)return a._.overrides;var b=a._.overrides={},c=a._.definition.overrides;if(c){CKEDITOR.tools.isArray(c)||(c=[c]);for(var d=0;d<c.length;d++){var e=c[d],f,g;if(typeof e==\"string\")f=e.toLowerCase();else{f=e.element?e.element.toLowerCase():a.element;g=e.attributes}e=b[f]||(b[f]={});if(g){var e=e.attributes=e.attributes||[],h;for(h in g)e.push([h.toLowerCase(),g[h]])}}}return b}function t(a,b,c){var d=new CKEDITOR.dom.element(\"span\");d[c?\"setStyle\":\"setAttribute\"](a,\nb);return d[c?\"getStyle\":\"getAttribute\"](a)}function x(a,b){for(var c=a.document,d=a.getRanges(),e=b?this.removeFromRange:this.applyToRange,f,g=d.createIterator();f=g.getNextRange();)e.call(this,f);a.selectRanges(d);c.removeCustomData(\"doc_processing_style\")}var r={address:1,div:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,p:1,pre:1,section:1,header:1,footer:1,nav:1,article:1,aside:1,figure:1,dialog:1,hgroup:1,time:1,meter:1,menu:1,command:1,keygen:1,output:1,progress:1,details:1,datagrid:1,datalist:1},L={a:1,\nembed:1,hr:1,img:1,li:1,object:1,ol:1,table:1,td:1,tr:1,th:1,ul:1,dl:1,dt:1,dd:1,form:1,audio:1,video:1},A=/\\s*(?:;\\s*|$)/,I=/#\\((.+?)\\)/g,E=CKEDITOR.dom.walker.bookmark(0,1),z=CKEDITOR.dom.walker.whitespaces(1);CKEDITOR.style=function(a,b){var c=a.attributes;if(c&&c.style){a.styles=CKEDITOR.tools.extend({},a.styles,CKEDITOR.tools.parseCssText(c.style));delete c.style}if(b){a=CKEDITOR.tools.clone(a);k(a.attributes,b);k(a.styles,b)}c=this.element=a.element?typeof a.element==\"string\"?a.element.toLowerCase():\na.element:\"*\";this.type=a.type||(r[c]?CKEDITOR.STYLE_BLOCK:L[c]?CKEDITOR.STYLE_OBJECT:CKEDITOR.STYLE_INLINE);if(typeof this.element==\"object\")this.type=CKEDITOR.STYLE_OBJECT;this._={definition:a}};CKEDITOR.editor.prototype.applyStyle=function(a){a.checkApplicable(this.elementPath())&&x.call(a,this.getSelection())};CKEDITOR.editor.prototype.removeStyle=function(a){a.checkApplicable(this.elementPath())&&x.call(a,this.getSelection(),1)};CKEDITOR.style.prototype={apply:function(a){x.call(this,a.getSelection())},\nremove:function(a){x.call(this,a.getSelection(),1)},applyToRange:function(a){return(this.applyToRange=this.type==CKEDITOR.STYLE_INLINE?e:this.type==CKEDITOR.STYLE_BLOCK?g:this.type==CKEDITOR.STYLE_OBJECT?d:null).call(this,a)},removeFromRange:function(a){return(this.removeFromRange=this.type==CKEDITOR.STYLE_INLINE?b:this.type==CKEDITOR.STYLE_BLOCK?n:this.type==CKEDITOR.STYLE_OBJECT?h:null).call(this,a)},applyToObject:function(a){m(a,this)},checkActive:function(a){switch(this.type){case CKEDITOR.STYLE_BLOCK:return this.checkElementRemovable(a.block||\na.blockLimit,true);case CKEDITOR.STYLE_OBJECT:case CKEDITOR.STYLE_INLINE:for(var b=a.elements,c=0,d;c<b.length;c++){d=b[c];if(!(this.type==CKEDITOR.STYLE_INLINE&&(d==a.block||d==a.blockLimit))){if(this.type==CKEDITOR.STYLE_OBJECT){var e=d.getName();if(!(typeof this.element==\"string\"?e==this.element:e in this.element))continue}if(this.checkElementRemovable(d,true))return true}}}return false},checkApplicable:function(a,b){if(b&&!b.check(this))return false;switch(this.type){case CKEDITOR.STYLE_OBJECT:return!!a.contains(this.element);\ncase CKEDITOR.STYLE_BLOCK:return!!a.blockLimit.getDtd()[this.element]}return true},checkElementMatch:function(a,b){var c=this._.definition;if(!a||!c.ignoreReadonly&&a.isReadOnly())return false;var d=a.getName();if(typeof this.element==\"string\"?d==this.element:d in this.element){if(!b&&!a.hasAttributes())return true;if(d=c._AC)c=d;else{var d={},e=0,f=c.attributes;if(f)for(var g in f){e++;d[g]=f[g]}if(g=CKEDITOR.style.getStyleText(c)){d.style||e++;d.style=g}d._length=e;c=c._AC=d}if(c._length){for(var h in c)if(h!=\n\"_length\"){e=a.getAttribute(h)||\"\";if(h==\"style\")a:{d=c[h];typeof d==\"string\"&&(d=CKEDITOR.tools.parseCssText(d));typeof e==\"string\"&&(e=CKEDITOR.tools.parseCssText(e,true));g=void 0;for(g in d)if(!(g in e&&(e[g]==d[g]||d[g]==\"inherit\"||e[g]==\"inherit\"))){d=false;break a}d=true}else d=c[h]==e;if(d){if(!b)return true}else if(b)return false}if(b)return true}else return true}return false},checkElementRemovable:function(a,b){if(this.checkElementMatch(a,b))return true;var c=l(this)[a.getName()];if(c){var d;\nif(!(c=c.attributes))return true;for(var e=0;e<c.length;e++){d=c[e][0];if(d=a.getAttribute(d)){var f=c[e][1];if(f===null||typeof f==\"string\"&&d==f||f.test(d))return true}}}return false},buildPreview:function(a){var b=this._.definition,c=[],d=b.element;d==\"bdo\"&&(d=\"span\");var c=[\"<\",d],e=b.attributes;if(e)for(var f in e)c.push(\" \",f,'=\"',e[f],'\"');(e=CKEDITOR.style.getStyleText(b))&&c.push(' style=\"',e,'\"');c.push(\">\",a||b.name,\"</\",d,\">\");return c.join(\"\")},getDefinition:function(){return this._.definition}};\nCKEDITOR.style.getStyleText=function(a){var b=a._ST;if(b)return b;var b=a.styles,c=a.attributes&&a.attributes.style||\"\",d=\"\";c.length&&(c=c.replace(A,\";\"));for(var e in b){var f=b[e],g=(e+\":\"+f).replace(A,\";\");f==\"inherit\"?d=d+g:c=c+g}c.length&&(c=CKEDITOR.tools.normalizeCssText(c,true));return a._ST=c+d};var M=CKEDITOR.POSITION_PRECEDING|CKEDITOR.POSITION_IDENTICAL|CKEDITOR.POSITION_IS_CONTAINED,Q=CKEDITOR.POSITION_FOLLOWING|CKEDITOR.POSITION_IDENTICAL|CKEDITOR.POSITION_IS_CONTAINED})();\nCKEDITOR.styleCommand=function(a,e){this.requiredContent=this.allowedContent=this.style=a;CKEDITOR.tools.extend(this,e,true)};CKEDITOR.styleCommand.prototype.exec=function(a){a.focus();this.state==CKEDITOR.TRISTATE_OFF?a.applyStyle(this.style):this.state==CKEDITOR.TRISTATE_ON&&a.removeStyle(this.style)};CKEDITOR.stylesSet=new CKEDITOR.resourceManager(\"\",\"stylesSet\");CKEDITOR.addStylesSet=CKEDITOR.tools.bind(CKEDITOR.stylesSet.add,CKEDITOR.stylesSet);\nCKEDITOR.loadStylesSet=function(a,e,b){CKEDITOR.stylesSet.addExternal(a,e,\"\");CKEDITOR.stylesSet.load(a,b)};\nCKEDITOR.editor.prototype.getStylesSet=function(a){if(this._.stylesDefinitions)a(this._.stylesDefinitions);else{var e=this,b=e.config.stylesCombo_stylesSet||e.config.stylesSet;if(b===false)a(null);else if(b instanceof Array){e._.stylesDefinitions=b;a(b)}else{b||(b=\"default\");var b=b.split(\":\"),c=b[0];CKEDITOR.stylesSet.addExternal(c,b[1]?b.slice(1).join(\":\"):CKEDITOR.getUrl(\"styles.js\"),\"\");CKEDITOR.stylesSet.load(c,function(b){e._.stylesDefinitions=b[c];a(e._.stylesDefinitions)})}}};\nCKEDITOR.dom.comment=function(a,e){typeof a==\"string\"&&(a=(e?e.$:document).createComment(a));CKEDITOR.dom.domObject.call(this,a)};CKEDITOR.dom.comment.prototype=new CKEDITOR.dom.node;CKEDITOR.tools.extend(CKEDITOR.dom.comment.prototype,{type:CKEDITOR.NODE_COMMENT,getOuterHtml:function(){return\"<\\!--\"+this.$.nodeValue+\"--\\>\"}});\"use strict\";\n(function(){var a={},e={},b;for(b in CKEDITOR.dtd.$blockLimit)b in CKEDITOR.dtd.$list||(a[b]=1);for(b in CKEDITOR.dtd.$block)b in CKEDITOR.dtd.$blockLimit||b in CKEDITOR.dtd.$empty||(e[b]=1);CKEDITOR.dom.elementPath=function(b,d){var h=null,g=null,n=[],i=b,j,d=d||b.getDocument().getBody();do if(i.type==CKEDITOR.NODE_ELEMENT){n.push(i);if(!this.lastElement){this.lastElement=i;if(i.is(CKEDITOR.dtd.$object)||i.getAttribute(\"contenteditable\")==\"false\")continue}if(i.equals(d))break;if(!g){j=i.getName();\ni.getAttribute(\"contenteditable\")==\"true\"?g=i:!h&&e[j]&&(h=i);if(a[j]){var o;if(o=!h){if(j=j==\"div\"){a:{j=i.getChildren();o=0;for(var q=j.count();o<q;o++){var s=j.getItem(o);if(s.type==CKEDITOR.NODE_ELEMENT&&CKEDITOR.dtd.$block[s.getName()]){j=true;break a}}j=false}j=!j}o=j}o?h=i:g=i}}}while(i=i.getParent());g||(g=d);this.block=h;this.blockLimit=g;this.root=d;this.elements=n}})();\nCKEDITOR.dom.elementPath.prototype={compare:function(a){var e=this.elements,a=a&&a.elements;if(!a||e.length!=a.length)return false;for(var b=0;b<e.length;b++)if(!e[b].equals(a[b]))return false;return true},contains:function(a,e,b){var c;typeof a==\"string\"&&(c=function(b){return b.getName()==a});a instanceof CKEDITOR.dom.element?c=function(b){return b.equals(a)}:CKEDITOR.tools.isArray(a)?c=function(b){return CKEDITOR.tools.indexOf(a,b.getName())>-1}:typeof a==\"function\"?c=a:typeof a==\"object\"&&(c=\nfunction(b){return b.getName()in a});var d=this.elements,h=d.length;e&&h--;if(b){d=Array.prototype.slice.call(d,0);d.reverse()}for(e=0;e<h;e++)if(c(d[e]))return d[e];return null},isContextFor:function(a){var e;if(a in CKEDITOR.dtd.$block){e=this.contains(CKEDITOR.dtd.$intermediate)||this.root.equals(this.block)&&this.block||this.blockLimit;return!!e.getDtd()[a]}return true},direction:function(){return(this.block||this.blockLimit||this.root).getDirection(1)}};\nCKEDITOR.dom.text=function(a,e){typeof a==\"string\"&&(a=(e?e.$:document).createTextNode(a));this.$=a};CKEDITOR.dom.text.prototype=new CKEDITOR.dom.node;\nCKEDITOR.tools.extend(CKEDITOR.dom.text.prototype,{type:CKEDITOR.NODE_TEXT,getLength:function(){return this.$.nodeValue.length},getText:function(){return this.$.nodeValue},setText:function(a){this.$.nodeValue=a},split:function(a){var e=this.$.parentNode,b=e.childNodes.length,c=this.getLength(),d=this.getDocument(),h=new CKEDITOR.dom.text(this.$.splitText(a),d);if(e.childNodes.length==b)if(a>=c){h=d.createText(\"\");h.insertAfter(this)}else{a=d.createText(\"\");a.insertAfter(h);a.remove()}return h},substring:function(a,\ne){return typeof e!=\"number\"?this.$.nodeValue.substr(a):this.$.nodeValue.substring(a,e)}});\n(function(){function a(a,c,d){var e=a.serializable,g=c[d?\"endContainer\":\"startContainer\"],n=d?\"endOffset\":\"startOffset\",i=e?c.document.getById(a.startNode):a.startNode,a=e?c.document.getById(a.endNode):a.endNode;if(g.equals(i.getPrevious())){c.startOffset=c.startOffset-g.getLength()-a.getPrevious().getLength();g=a.getNext()}else if(g.equals(a.getPrevious())){c.startOffset=c.startOffset-g.getLength();g=a.getNext()}g.equals(i.getParent())&&c[n]++;g.equals(a.getParent())&&c[n]++;c[d?\"endContainer\":\"startContainer\"]=\ng;return c}CKEDITOR.dom.rangeList=function(a){if(a instanceof CKEDITOR.dom.rangeList)return a;a?a instanceof CKEDITOR.dom.range&&(a=[a]):a=[];return CKEDITOR.tools.extend(a,e)};var e={createIterator:function(){var a=this,c=CKEDITOR.dom.walker.bookmark(),d=[],e;return{getNextRange:function(g){e=e==void 0?0:e+1;var n=a[e];if(n&&a.length>1){if(!e)for(var i=a.length-1;i>=0;i--)d.unshift(a[i].createBookmark(true));if(g)for(var j=0;a[e+j+1];){for(var o=n.document,g=0,i=o.getById(d[j].endNode),o=o.getById(d[j+\n1].startNode);;){i=i.getNextSourceNode(false);if(o.equals(i))g=1;else if(c(i)||i.type==CKEDITOR.NODE_ELEMENT&&i.isBlockBoundary())continue;break}if(!g)break;j++}for(n.moveToBookmark(d.shift());j--;){i=a[++e];i.moveToBookmark(d.shift());n.setEnd(i.endContainer,i.endOffset)}}return n}}},createBookmarks:function(b){for(var c=[],d,e=0;e<this.length;e++){c.push(d=this[e].createBookmark(b,true));for(var g=e+1;g<this.length;g++){this[g]=a(d,this[g]);this[g]=a(d,this[g],true)}}return c},createBookmarks2:function(a){for(var c=\n[],d=0;d<this.length;d++)c.push(this[d].createBookmark2(a));return c},moveToBookmarks:function(a){for(var c=0;c<this.length;c++)this[c].moveToBookmark(a[c])}}})();\n(function(){function a(){return CKEDITOR.getUrl(CKEDITOR.skinName.split(\",\")[1]||\"skins/\"+CKEDITOR.skinName.split(\",\")[0]+\"/\")}function e(b){var c=CKEDITOR.skin[\"ua_\"+b],d=CKEDITOR.env;if(c)for(var c=c.split(\",\").sort(function(a,b){return a>b?-1:1}),e=0,g;e<c.length;e++){g=c[e];if(d.ie&&(g.replace(/^ie/,\"\")==d.version||d.quirks&&g==\"iequirks\"))g=\"ie\";if(d[g]){b=b+(\"_\"+c[e]);break}}return CKEDITOR.getUrl(a()+b+\".css\")}function b(a,b){if(!h[a]){CKEDITOR.document.appendStyleSheet(e(a));h[a]=1}b&&b()}\nfunction c(a){var b=a.getById(g);if(!b){b=a.getHead().append(\"style\");b.setAttribute(\"id\",g);b.setAttribute(\"type\",\"text/css\")}return b}function d(a,b,c){var d,e,f;if(CKEDITOR.env.webkit){b=b.split(\"}\").slice(0,-1);for(e=0;e<b.length;e++)b[e]=b[e].split(\"{\")}for(var g=0;g<a.length;g++)if(CKEDITOR.env.webkit)for(e=0;e<b.length;e++){f=b[e][1];for(d=0;d<c.length;d++)f=f.replace(c[d][0],c[d][1]);a[g].$.sheet.addRule(b[e][0],f)}else{f=b;for(d=0;d<c.length;d++)f=f.replace(c[d][0],c[d][1]);CKEDITOR.env.ie&&\nCKEDITOR.env.version<11?a[g].$.styleSheet.cssText=a[g].$.styleSheet.cssText+f:a[g].$.innerHTML=a[g].$.innerHTML+f}}var h={};CKEDITOR.skin={path:a,loadPart:function(c,d){CKEDITOR.skin.name!=CKEDITOR.skinName.split(\",\")[0]?CKEDITOR.scriptLoader.load(CKEDITOR.getUrl(a()+\"skin.js\"),function(){b(c,d)}):b(c,d)},getPath:function(a){return CKEDITOR.getUrl(e(a))},icons:{},addIcon:function(a,b,c,d){a=a.toLowerCase();this.icons[a]||(this.icons[a]={path:b,offset:c||0,bgsize:d||\"16px\"})},getIconStyle:function(a,\nb,c,d,e){var f;if(a){a=a.toLowerCase();b&&(f=this.icons[a+\"-rtl\"]);f||(f=this.icons[a])}a=c||f&&f.path||\"\";d=d||f&&f.offset;e=e||f&&f.bgsize||\"16px\";return a&&\"background-image:url(\"+CKEDITOR.getUrl(a)+\");background-position:0 \"+d+\"px;background-size:\"+e+\";\"}};CKEDITOR.tools.extend(CKEDITOR.editor.prototype,{getUiColor:function(){return this.uiColor},setUiColor:function(a){var b=c(CKEDITOR.document);return(this.setUiColor=function(a){var c=CKEDITOR.skin.chameleon,e=[[i,a]];this.uiColor=a;d([b],c(this,\n\"editor\"),e);d(n,c(this,\"panel\"),e)}).call(this,a)}});var g=\"cke_ui_color\",n=[],i=/\\$color/g;CKEDITOR.on(\"instanceLoaded\",function(a){if(!CKEDITOR.env.ie||!CKEDITOR.env.quirks){var b=a.editor,a=function(a){a=(a.data[0]||a.data).element.getElementsByTag(\"iframe\").getItem(0).getFrameDocument();if(!a.getById(\"cke_ui_color\")){a=c(a);n.push(a);var e=b.getUiColor();e&&d([a],CKEDITOR.skin.chameleon(b,\"panel\"),[[i,e]])}};b.on(\"panelShow\",a);b.on(\"menuShow\",a);b.config.uiColor&&b.setUiColor(b.config.uiColor)}})})();\n(function(){if(CKEDITOR.env.webkit)CKEDITOR.env.hc=false;else{var a=CKEDITOR.dom.element.createFromHtml('<div style=\"width:0px;height:0px;position:absolute;left:-10000px;border: 1px solid;border-color: red blue;\"></div>',CKEDITOR.document);a.appendTo(CKEDITOR.document.getHead());try{CKEDITOR.env.hc=a.getComputedStyle(\"border-top-color\")==a.getComputedStyle(\"border-right-color\")}catch(e){CKEDITOR.env.hc=false}a.remove()}if(CKEDITOR.env.hc)CKEDITOR.env.cssClass=CKEDITOR.env.cssClass+\" cke_hc\";CKEDITOR.document.appendStyleText(\".cke{visibility:hidden;}\");\nCKEDITOR.status=\"loaded\";CKEDITOR.fireOnce(\"loaded\");if(a=CKEDITOR._.pending){delete CKEDITOR._.pending;for(var b=0;b<a.length;b++){CKEDITOR.editor.prototype.constructor.apply(a[b][0],a[b][1]);CKEDITOR.add(a[b][0])}}})();/*\n Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\n For licensing, see LICENSE.md or http://ckeditor.com/license\n*/\nCKEDITOR.skin.name=\"moono\";CKEDITOR.skin.ua_editor=\"ie,iequirks,ie7,ie8,gecko\";CKEDITOR.skin.ua_dialog=\"ie,iequirks,ie7,ie8,opera\";\nCKEDITOR.skin.chameleon=function(){var b=function(){return function(b,e){for(var a=b.match(/[^#]./g),c=0;3>c;c++){var f=a,h=c,d;d=parseInt(a[c],16);d=(\"0\"+(0>e?0|d*(1+e):0|d+(255-d)*e).toString(16)).slice(-2);f[h]=d}return\"#\"+a.join(\"\")}}(),c=function(){var b=new CKEDITOR.template(\"background:#{to};background-image:-webkit-gradient(linear,lefttop,leftbottom,from({from}),to({to}));background-image:-moz-linear-gradient(top,{from},{to});background-image:-webkit-linear-gradient(top,{from},{to});background-image:-o-linear-gradient(top,{from},{to});background-image:-ms-linear-gradient(top,{from},{to});background-image:linear-gradient(top,{from},{to});filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='{from}',endColorstr='{to}');\");return function(c,\na){return b.output({from:c,to:a})}}(),f={editor:new CKEDITOR.template(\"{id}.cke_chrome [border-color:{defaultBorder};] {id} .cke_top [ {defaultGradient}border-bottom-color:{defaultBorder};] {id} .cke_bottom [{defaultGradient}border-top-color:{defaultBorder};] {id} .cke_resizer [border-right-color:{ckeResizer}] {id} .cke_dialog_title [{defaultGradient}border-bottom-color:{defaultBorder};] {id} .cke_dialog_footer [{defaultGradient}outline-color:{defaultBorder};border-top-color:{defaultBorder};] {id} .cke_dialog_tab [{lightGradient}border-color:{defaultBorder};] {id} .cke_dialog_tab:hover [{mediumGradient}] {id} .cke_dialog_contents [border-top-color:{defaultBorder};] {id} .cke_dialog_tab_selected, {id} .cke_dialog_tab_selected:hover [background:{dialogTabSelected};border-bottom-color:{dialogTabSelectedBorder};] {id} .cke_dialog_body [background:{dialogBody};border-color:{defaultBorder};] {id} .cke_toolgroup [{lightGradient}border-color:{defaultBorder};] {id} a.cke_button_off:hover, {id} a.cke_button_off:focus, {id} a.cke_button_off:active [{mediumGradient}] {id} .cke_button_on [{ckeButtonOn}] {id} .cke_toolbar_separator [background-color: {ckeToolbarSeparator};] {id} .cke_combo_button [border-color:{defaultBorder};{lightGradient}] {id} a.cke_combo_button:hover, {id} a.cke_combo_button:focus, {id} .cke_combo_on a.cke_combo_button [border-color:{defaultBorder};{mediumGradient}] {id} .cke_path_item [color:{elementsPathColor};] {id} a.cke_path_item:hover, {id} a.cke_path_item:focus, {id} a.cke_path_item:active [background-color:{elementsPathBg};] {id}.cke_panel [border-color:{defaultBorder};] \"),\npanel:new CKEDITOR.template(\".cke_panel_grouptitle [{lightGradient}border-color:{defaultBorder};] .cke_menubutton_icon [background-color:{menubuttonIcon};] .cke_menubutton:hover .cke_menubutton_icon, .cke_menubutton:focus .cke_menubutton_icon, .cke_menubutton:active .cke_menubutton_icon [background-color:{menubuttonIconHover};] .cke_menuseparator [background-color:{menubuttonIcon};] a:hover.cke_colorbox, a:focus.cke_colorbox, a:active.cke_colorbox [border-color:{defaultBorder};] a:hover.cke_colorauto, a:hover.cke_colormore, a:focus.cke_colorauto, a:focus.cke_colormore, a:active.cke_colorauto, a:active.cke_colormore [background-color:{ckeColorauto};border-color:{defaultBorder};] \")};\nreturn function(g,e){var a=g.uiColor,a={id:\".\"+g.id,defaultBorder:b(a,-0.1),defaultGradient:c(b(a,0.9),a),lightGradient:c(b(a,1),b(a,0.7)),mediumGradient:c(b(a,0.8),b(a,0.5)),ckeButtonOn:c(b(a,0.6),b(a,0.7)),ckeResizer:b(a,-0.4),ckeToolbarSeparator:b(a,0.5),ckeColorauto:b(a,0.8),dialogBody:b(a,0.7),dialogTabSelected:c(\"#FFFFFF\",\"#FFFFFF\"),dialogTabSelectedBorder:\"#FFF\",elementsPathColor:b(a,-0.6),elementsPathBg:a,menubuttonIcon:b(a,0.5),menubuttonIconHover:b(a,0.3)};return f[e].output(a).replace(/\\[/g,\n\"{\").replace(/\\]/g,\"}\")}}();CKEDITOR.plugins.add(\"dialogui\",{onLoad:function(){var i=function(b){this._||(this._={});this._[\"default\"]=this._.initValue=b[\"default\"]||\"\";this._.required=b.required||!1;for(var a=[this._],d=1;d<arguments.length;d++)a.push(arguments[d]);a.push(!0);CKEDITOR.tools.extend.apply(CKEDITOR.tools,a);return this._},r={build:function(b,a,d){return new CKEDITOR.ui.dialog.textInput(b,a,d)}},l={build:function(b,a,d){return new CKEDITOR.ui.dialog[a.type](b,a,d)}},n={isChanged:function(){return this.getValue()!=\nthis.getInitValue()},reset:function(b){this.setValue(this.getInitValue(),b)},setInitValue:function(){this._.initValue=this.getValue()},resetInitValue:function(){this._.initValue=this._[\"default\"]},getInitValue:function(){return this._.initValue}},o=CKEDITOR.tools.extend({},CKEDITOR.ui.dialog.uiElement.prototype.eventProcessors,{onChange:function(b,a){this._.domOnChangeRegistered||(b.on(\"load\",function(){this.getInputElement().on(\"change\",function(){b.parts.dialog.isVisible()&&this.fire(\"change\",{value:this.getValue()})},\nthis)},this),this._.domOnChangeRegistered=!0);this.on(\"change\",a)}},!0),s=/^on([A-Z]\\w+)/,p=function(b){for(var a in b)(s.test(a)||\"title\"==a||\"type\"==a)&&delete b[a];return b};CKEDITOR.tools.extend(CKEDITOR.ui.dialog,{labeledElement:function(b,a,d,e){if(!(4>arguments.length)){var c=i.call(this,a);c.labelId=CKEDITOR.tools.getNextId()+\"_label\";this._.children=[];CKEDITOR.ui.dialog.uiElement.call(this,b,a,d,\"div\",null,{role:\"presentation\"},function(){var f=[],d=a.required?\" cke_required\":\"\";\"horizontal\"!=\na.labelLayout?f.push('<label class=\"cke_dialog_ui_labeled_label'+d+'\" ',' id=\"'+c.labelId+'\"',c.inputId?' for=\"'+c.inputId+'\"':\"\",(a.labelStyle?' style=\"'+a.labelStyle+'\"':\"\")+\">\",a.label,\"</label>\",'<div class=\"cke_dialog_ui_labeled_content\"',a.controlStyle?' style=\"'+a.controlStyle+'\"':\"\",' role=\"radiogroup\" aria-labelledby=\"'+c.labelId+'\">',e.call(this,b,a),\"</div>\"):(d={type:\"hbox\",widths:a.widths,padding:0,children:[{type:\"html\",html:'<label class=\"cke_dialog_ui_labeled_label'+d+'\" id=\"'+c.labelId+\n'\" for=\"'+c.inputId+'\"'+(a.labelStyle?' style=\"'+a.labelStyle+'\"':\"\")+\">\"+CKEDITOR.tools.htmlEncode(a.label)+\"</span>\"},{type:\"html\",html:'<span class=\"cke_dialog_ui_labeled_content\"'+(a.controlStyle?' style=\"'+a.controlStyle+'\"':\"\")+\">\"+e.call(this,b,a)+\"</span>\"}]},CKEDITOR.dialog._.uiElementBuilders.hbox.build(b,d,f));return f.join(\"\")})}},textInput:function(b,a,d){if(!(3>arguments.length)){i.call(this,a);var e=this._.inputId=CKEDITOR.tools.getNextId()+\"_textInput\",c={\"class\":\"cke_dialog_ui_input_\"+\na.type,id:e,type:a.type};a.validate&&(this.validate=a.validate);a.maxLength&&(c.maxlength=a.maxLength);a.size&&(c.size=a.size);a.inputStyle&&(c.style=a.inputStyle);var f=this,h=!1;b.on(\"load\",function(){f.getInputElement().on(\"keydown\",function(a){a.data.getKeystroke()==13&&(h=true)});f.getInputElement().on(\"keyup\",function(a){if(a.data.getKeystroke()==13&&h){b.getButton(\"ok\")&&setTimeout(function(){b.getButton(\"ok\").click()},0);h=false}},null,null,1E3)});CKEDITOR.ui.dialog.labeledElement.call(this,\nb,a,d,function(){var b=['<div class=\"cke_dialog_ui_input_',a.type,'\" role=\"presentation\"'];a.width&&b.push('style=\"width:'+a.width+'\" ');b.push(\"><input \");c[\"aria-labelledby\"]=this._.labelId;this._.required&&(c[\"aria-required\"]=this._.required);for(var d in c)b.push(d+'=\"'+c[d]+'\" ');b.push(\" /></div>\");return b.join(\"\")})}},textarea:function(b,a,d){if(!(3>arguments.length)){i.call(this,a);var e=this,c=this._.inputId=CKEDITOR.tools.getNextId()+\"_textarea\",f={};a.validate&&(this.validate=a.validate);\nf.rows=a.rows||5;f.cols=a.cols||20;f[\"class\"]=\"cke_dialog_ui_input_textarea \"+(a[\"class\"]||\"\");\"undefined\"!=typeof a.inputStyle&&(f.style=a.inputStyle);a.dir&&(f.dir=a.dir);CKEDITOR.ui.dialog.labeledElement.call(this,b,a,d,function(){f[\"aria-labelledby\"]=this._.labelId;this._.required&&(f[\"aria-required\"]=this._.required);var a=['<div class=\"cke_dialog_ui_input_textarea\" role=\"presentation\"><textarea id=\"',c,'\" '],b;for(b in f)a.push(b+'=\"'+CKEDITOR.tools.htmlEncode(f[b])+'\" ');a.push(\">\",CKEDITOR.tools.htmlEncode(e._[\"default\"]),\n\"</textarea></div>\");return a.join(\"\")})}},checkbox:function(b,a,d){if(!(3>arguments.length)){var e=i.call(this,a,{\"default\":!!a[\"default\"]});a.validate&&(this.validate=a.validate);CKEDITOR.ui.dialog.uiElement.call(this,b,a,d,\"span\",null,null,function(){var c=CKEDITOR.tools.extend({},a,{id:a.id?a.id+\"_checkbox\":CKEDITOR.tools.getNextId()+\"_checkbox\"},true),d=[],h=CKEDITOR.tools.getNextId()+\"_label\",g={\"class\":\"cke_dialog_ui_checkbox_input\",type:\"checkbox\",\"aria-labelledby\":h};p(c);if(a[\"default\"])g.checked=\n\"checked\";if(typeof c.inputStyle!=\"undefined\")c.style=c.inputStyle;e.checkbox=new CKEDITOR.ui.dialog.uiElement(b,c,d,\"input\",null,g);d.push(' <label id=\"',h,'\" for=\"',g.id,'\"'+(a.labelStyle?' style=\"'+a.labelStyle+'\"':\"\")+\">\",CKEDITOR.tools.htmlEncode(a.label),\"</label>\");return d.join(\"\")})}},radio:function(b,a,d){if(!(3>arguments.length)){i.call(this,a);this._[\"default\"]||(this._[\"default\"]=this._.initValue=a.items[0][1]);a.validate&&(this.validate=a.valdiate);var e=[],c=this;CKEDITOR.ui.dialog.labeledElement.call(this,\nb,a,d,function(){for(var d=[],h=[],g=(a.id?a.id:CKEDITOR.tools.getNextId())+\"_radio\",k=0;k<a.items.length;k++){var j=a.items[k],i=j[2]!==void 0?j[2]:j[0],l=j[1]!==void 0?j[1]:j[0],m=CKEDITOR.tools.getNextId()+\"_radio_input\",n=m+\"_label\",m=CKEDITOR.tools.extend({},a,{id:m,title:null,type:null},true),i=CKEDITOR.tools.extend({},m,{title:i},true),o={type:\"radio\",\"class\":\"cke_dialog_ui_radio_input\",name:g,value:l,\"aria-labelledby\":n},q=[];if(c._[\"default\"]==l)o.checked=\"checked\";p(m);p(i);if(typeof m.inputStyle!=\n\"undefined\")m.style=m.inputStyle;m.keyboardFocusable=true;e.push(new CKEDITOR.ui.dialog.uiElement(b,m,q,\"input\",null,o));q.push(\" \");new CKEDITOR.ui.dialog.uiElement(b,i,q,\"label\",null,{id:n,\"for\":o.id},j[0]);d.push(q.join(\"\"))}new CKEDITOR.ui.dialog.hbox(b,e,d,h);return h.join(\"\")});this._.children=e}},button:function(b,a,d){if(arguments.length){\"function\"==typeof a&&(a=a(b.getParentEditor()));i.call(this,a,{disabled:a.disabled||!1});CKEDITOR.event.implementOn(this);var e=this;b.on(\"load\",function(){var a=\nthis.getElement();(function(){a.on(\"click\",function(a){e.click();a.data.preventDefault()});a.on(\"keydown\",function(a){a.data.getKeystroke()in{32:1}&&(e.click(),a.data.preventDefault())})})();a.unselectable()},this);var c=CKEDITOR.tools.extend({},a);delete c.style;var f=CKEDITOR.tools.getNextId()+\"_label\";CKEDITOR.ui.dialog.uiElement.call(this,b,c,d,\"a\",null,{style:a.style,href:\"javascript:void(0)\",title:a.label,hidefocus:\"true\",\"class\":a[\"class\"],role:\"button\",\"aria-labelledby\":f},'<span id=\"'+f+\n'\" class=\"cke_dialog_ui_button\">'+CKEDITOR.tools.htmlEncode(a.label)+\"</span>\")}},select:function(b,a,d){if(!(3>arguments.length)){var e=i.call(this,a);a.validate&&(this.validate=a.validate);e.inputId=CKEDITOR.tools.getNextId()+\"_select\";CKEDITOR.ui.dialog.labeledElement.call(this,b,a,d,function(){var c=CKEDITOR.tools.extend({},a,{id:a.id?a.id+\"_select\":CKEDITOR.tools.getNextId()+\"_select\"},true),d=[],h=[],g={id:e.inputId,\"class\":\"cke_dialog_ui_input_select\",\"aria-labelledby\":this._.labelId};d.push('<div class=\"cke_dialog_ui_input_',\na.type,'\" role=\"presentation\"');a.width&&d.push('style=\"width:'+a.width+'\" ');d.push(\">\");if(a.size!=void 0)g.size=a.size;if(a.multiple!=void 0)g.multiple=a.multiple;p(c);for(var k=0,j;k<a.items.length&&(j=a.items[k]);k++)h.push('<option value=\"',CKEDITOR.tools.htmlEncode(j[1]!==void 0?j[1]:j[0]).replace(/\"/g,\"&quot;\"),'\" /> ',CKEDITOR.tools.htmlEncode(j[0]));if(typeof c.inputStyle!=\"undefined\")c.style=c.inputStyle;e.select=new CKEDITOR.ui.dialog.uiElement(b,c,d,\"select\",null,g,h.join(\"\"));d.push(\"</div>\");\nreturn d.join(\"\")})}},file:function(b,a,d){if(!(3>arguments.length)){void 0===a[\"default\"]&&(a[\"default\"]=\"\");var e=CKEDITOR.tools.extend(i.call(this,a),{definition:a,buttons:[]});a.validate&&(this.validate=a.validate);b.on(\"load\",function(){CKEDITOR.document.getById(e.frameId).getParent().addClass(\"cke_dialog_ui_input_file\")});CKEDITOR.ui.dialog.labeledElement.call(this,b,a,d,function(){e.frameId=CKEDITOR.tools.getNextId()+\"_fileInput\";var b=['<iframe frameborder=\"0\" allowtransparency=\"0\" class=\"cke_dialog_ui_input_file\" role=\"presentation\" id=\"',\ne.frameId,'\" title=\"',a.label,'\" src=\"javascript:void('];b.push(CKEDITOR.env.ie?\"(function(){\"+encodeURIComponent(\"document.open();(\"+CKEDITOR.tools.fixDomain+\")();document.close();\")+\"})()\":\"0\");b.push(')\"></iframe>');return b.join(\"\")})}},fileButton:function(b,a,d){if(!(3>arguments.length)){i.call(this,a);var e=this;a.validate&&(this.validate=a.validate);var c=CKEDITOR.tools.extend({},a),f=c.onClick;c.className=(c.className?c.className+\" \":\"\")+\"cke_dialog_ui_button\";c.onClick=function(c){var d=\na[\"for\"];if(!f||f.call(this,c)!==false){b.getContentElement(d[0],d[1]).submit();this.disable()}};b.on(\"load\",function(){b.getContentElement(a[\"for\"][0],a[\"for\"][1])._.buttons.push(e)});CKEDITOR.ui.dialog.button.call(this,b,c,d)}},html:function(){var b=/^\\s*<[\\w:]+\\s+([^>]*)?>/,a=/^(\\s*<[\\w:]+(?:\\s+[^>]*)?)((?:.|\\r|\\n)+)$/,d=/\\/$/;return function(e,c,f){if(!(3>arguments.length)){var h=[],g=c.html;\"<\"!=g.charAt(0)&&(g=\"<span>\"+g+\"</span>\");var k=c.focus;if(k){var j=this.focus;this.focus=function(){(\"function\"==\ntypeof k?k:j).call(this);this.fire(\"focus\")};c.isFocusable&&(this.isFocusable=this.isFocusable);this.keyboardFocusable=!0}CKEDITOR.ui.dialog.uiElement.call(this,e,c,h,\"span\",null,null,\"\");h=h.join(\"\").match(b);g=g.match(a)||[\"\",\"\",\"\"];d.test(g[1])&&(g[1]=g[1].slice(0,-1),g[2]=\"/\"+g[2]);f.push([g[1],\" \",h[1]||\"\",g[2]].join(\"\"))}}}(),fieldset:function(b,a,d,e,c){var f=c.label;this._={children:a};CKEDITOR.ui.dialog.uiElement.call(this,b,c,e,\"fieldset\",null,null,function(){var a=[];f&&a.push(\"<legend\"+\n(c.labelStyle?' style=\"'+c.labelStyle+'\"':\"\")+\">\"+f+\"</legend>\");for(var b=0;b<d.length;b++)a.push(d[b]);return a.join(\"\")})}},!0);CKEDITOR.ui.dialog.html.prototype=new CKEDITOR.ui.dialog.uiElement;CKEDITOR.ui.dialog.labeledElement.prototype=CKEDITOR.tools.extend(new CKEDITOR.ui.dialog.uiElement,{setLabel:function(b){var a=CKEDITOR.document.getById(this._.labelId);1>a.getChildCount()?(new CKEDITOR.dom.text(b,CKEDITOR.document)).appendTo(a):a.getChild(0).$.nodeValue=b;return this},getLabel:function(){var b=\nCKEDITOR.document.getById(this._.labelId);return!b||1>b.getChildCount()?\"\":b.getChild(0).getText()},eventProcessors:o},!0);CKEDITOR.ui.dialog.button.prototype=CKEDITOR.tools.extend(new CKEDITOR.ui.dialog.uiElement,{click:function(){return!this._.disabled?this.fire(\"click\",{dialog:this._.dialog}):!1},enable:function(){this._.disabled=!1;var b=this.getElement();b&&b.removeClass(\"cke_disabled\")},disable:function(){this._.disabled=!0;this.getElement().addClass(\"cke_disabled\")},isVisible:function(){return this.getElement().getFirst().isVisible()},\nisEnabled:function(){return!this._.disabled},eventProcessors:CKEDITOR.tools.extend({},CKEDITOR.ui.dialog.uiElement.prototype.eventProcessors,{onClick:function(b,a){this.on(\"click\",function(){a.apply(this,arguments)})}},!0),accessKeyUp:function(){this.click()},accessKeyDown:function(){this.focus()},keyboardFocusable:!0},!0);CKEDITOR.ui.dialog.textInput.prototype=CKEDITOR.tools.extend(new CKEDITOR.ui.dialog.labeledElement,{getInputElement:function(){return CKEDITOR.document.getById(this._.inputId)},\nfocus:function(){var b=this.selectParentTab();setTimeout(function(){var a=b.getInputElement();a&&a.$.focus()},0)},select:function(){var b=this.selectParentTab();setTimeout(function(){var a=b.getInputElement();a&&(a.$.focus(),a.$.select())},0)},accessKeyUp:function(){this.select()},setValue:function(b){!b&&(b=\"\");return CKEDITOR.ui.dialog.uiElement.prototype.setValue.apply(this,arguments)},keyboardFocusable:!0},n,!0);CKEDITOR.ui.dialog.textarea.prototype=new CKEDITOR.ui.dialog.textInput;CKEDITOR.ui.dialog.select.prototype=\nCKEDITOR.tools.extend(new CKEDITOR.ui.dialog.labeledElement,{getInputElement:function(){return this._.select.getElement()},add:function(b,a,d){var e=new CKEDITOR.dom.element(\"option\",this.getDialog().getParentEditor().document),c=this.getInputElement().$;e.$.text=b;e.$.value=void 0===a||null===a?b:a;void 0===d||null===d?CKEDITOR.env.ie?c.add(e.$):c.add(e.$,null):c.add(e.$,d);return this},remove:function(b){this.getInputElement().$.remove(b);return this},clear:function(){for(var b=this.getInputElement().$;0<\nb.length;)b.remove(0);return this},keyboardFocusable:!0},n,!0);CKEDITOR.ui.dialog.checkbox.prototype=CKEDITOR.tools.extend(new CKEDITOR.ui.dialog.uiElement,{getInputElement:function(){return this._.checkbox.getElement()},setValue:function(b,a){this.getInputElement().$.checked=b;!a&&this.fire(\"change\",{value:b})},getValue:function(){return this.getInputElement().$.checked},accessKeyUp:function(){this.setValue(!this.getValue())},eventProcessors:{onChange:function(b,a){if(!CKEDITOR.env.ie||8<CKEDITOR.env.version)return o.onChange.apply(this,\narguments);b.on(\"load\",function(){var a=this._.checkbox.getElement();a.on(\"propertychange\",function(b){b=b.data.$;\"checked\"==b.propertyName&&this.fire(\"change\",{value:a.$.checked})},this)},this);this.on(\"change\",a);return null}},keyboardFocusable:!0},n,!0);CKEDITOR.ui.dialog.radio.prototype=CKEDITOR.tools.extend(new CKEDITOR.ui.dialog.uiElement,{setValue:function(b,a){for(var d=this._.children,e,c=0;c<d.length&&(e=d[c]);c++)e.getElement().$.checked=e.getValue()==b;!a&&this.fire(\"change\",{value:b})},\ngetValue:function(){for(var b=this._.children,a=0;a<b.length;a++)if(b[a].getElement().$.checked)return b[a].getValue();return null},accessKeyUp:function(){var b=this._.children,a;for(a=0;a<b.length;a++)if(b[a].getElement().$.checked){b[a].getElement().focus();return}b[0].getElement().focus()},eventProcessors:{onChange:function(b,a){if(CKEDITOR.env.ie)b.on(\"load\",function(){for(var a=this._.children,b=this,c=0;c<a.length;c++)a[c].getElement().on(\"propertychange\",function(a){a=a.data.$;\"checked\"==a.propertyName&&\nthis.$.checked&&b.fire(\"change\",{value:this.getAttribute(\"value\")})})},this),this.on(\"change\",a);else return o.onChange.apply(this,arguments);return null}}},n,!0);CKEDITOR.ui.dialog.file.prototype=CKEDITOR.tools.extend(new CKEDITOR.ui.dialog.labeledElement,n,{getInputElement:function(){var b=CKEDITOR.document.getById(this._.frameId).getFrameDocument();return 0<b.$.forms.length?new CKEDITOR.dom.element(b.$.forms[0].elements[0]):this.getElement()},submit:function(){this.getInputElement().getParent().$.submit();\nreturn this},getAction:function(){return this.getInputElement().getParent().$.action},registerEvents:function(b){var a=/^on([A-Z]\\w+)/,d,e=function(a,b,c,d){a.on(\"formLoaded\",function(){a.getInputElement().on(c,d,a)})},c;for(c in b)if(d=c.match(a))this.eventProcessors[c]?this.eventProcessors[c].call(this,this._.dialog,b[c]):e(this,this._.dialog,d[1].toLowerCase(),b[c]);return this},reset:function(){function b(){d.$.open();var b=\"\";e.size&&(b=e.size-(CKEDITOR.env.ie?7:0));var i=a.frameId+\"_input\";\nd.$.write(['<html dir=\"'+g+'\" lang=\"'+k+'\"><head><title></title></head><body style=\"margin: 0; overflow: hidden; background: transparent;\">','<form enctype=\"multipart/form-data\" method=\"POST\" dir=\"'+g+'\" lang=\"'+k+'\" action=\"',CKEDITOR.tools.htmlEncode(e.action),'\"><label id=\"',a.labelId,'\" for=\"',i,'\" style=\"display:none\">',CKEDITOR.tools.htmlEncode(e.label),'</label><input id=\"',i,'\" aria-labelledby=\"',a.labelId,'\" type=\"file\" name=\"',CKEDITOR.tools.htmlEncode(e.id||\"cke_upload\"),'\" size=\"',CKEDITOR.tools.htmlEncode(0<\nb?b:\"\"),'\" /></form></body></html><script>',CKEDITOR.env.ie?\"(\"+CKEDITOR.tools.fixDomain+\")();\":\"\",\"window.parent.CKEDITOR.tools.callFunction(\"+f+\");\",\"window.onbeforeunload = function() {window.parent.CKEDITOR.tools.callFunction(\"+h+\")}\",\"<\\/script>\"].join(\"\"));d.$.close();for(b=0;b<c.length;b++)c[b].enable()}var a=this._,d=CKEDITOR.document.getById(a.frameId).getFrameDocument(),e=a.definition,c=a.buttons,f=this.formLoadedNumber,h=this.formUnloadNumber,g=a.dialog._.editor.lang.dir,k=a.dialog._.editor.langCode;\nf||(f=this.formLoadedNumber=CKEDITOR.tools.addFunction(function(){this.fire(\"formLoaded\")},this),h=this.formUnloadNumber=CKEDITOR.tools.addFunction(function(){this.getInputElement().clearCustomData()},this),this.getDialog()._.editor.on(\"destroy\",function(){CKEDITOR.tools.removeFunction(f);CKEDITOR.tools.removeFunction(h)}));CKEDITOR.env.gecko?setTimeout(b,500):b()},getValue:function(){return this.getInputElement().$.value||\"\"},setInitValue:function(){this._.initValue=\"\"},eventProcessors:{onChange:function(b,\na){this._.domOnChangeRegistered||(this.on(\"formLoaded\",function(){this.getInputElement().on(\"change\",function(){this.fire(\"change\",{value:this.getValue()})},this)},this),this._.domOnChangeRegistered=!0);this.on(\"change\",a)}},keyboardFocusable:!0},!0);CKEDITOR.ui.dialog.fileButton.prototype=new CKEDITOR.ui.dialog.button;CKEDITOR.ui.dialog.fieldset.prototype=CKEDITOR.tools.clone(CKEDITOR.ui.dialog.hbox.prototype);CKEDITOR.dialog.addUIElement(\"text\",r);CKEDITOR.dialog.addUIElement(\"password\",r);CKEDITOR.dialog.addUIElement(\"textarea\",\nl);CKEDITOR.dialog.addUIElement(\"checkbox\",l);CKEDITOR.dialog.addUIElement(\"radio\",l);CKEDITOR.dialog.addUIElement(\"button\",l);CKEDITOR.dialog.addUIElement(\"select\",l);CKEDITOR.dialog.addUIElement(\"file\",l);CKEDITOR.dialog.addUIElement(\"fileButton\",l);CKEDITOR.dialog.addUIElement(\"html\",l);CKEDITOR.dialog.addUIElement(\"fieldset\",{build:function(b,a,d){for(var e=a.children,c,f=[],h=[],g=0;g<e.length&&(c=e[g]);g++){var i=[];f.push(i);h.push(CKEDITOR.dialog._.uiElementBuilders[c.type].build(b,c,i))}return new CKEDITOR.ui.dialog[a.type](b,\nh,f,d,a)}})}});CKEDITOR.DIALOG_RESIZE_NONE=0;CKEDITOR.DIALOG_RESIZE_WIDTH=1;CKEDITOR.DIALOG_RESIZE_HEIGHT=2;CKEDITOR.DIALOG_RESIZE_BOTH=3;\n(function(){function t(){for(var a=this._.tabIdList.length,b=CKEDITOR.tools.indexOf(this._.tabIdList,this._.currentTabId)+a,c=b-1;c>b-a;c--)if(this._.tabs[this._.tabIdList[c%a]][0].$.offsetHeight)return this._.tabIdList[c%a];return null}function u(){for(var a=this._.tabIdList.length,b=CKEDITOR.tools.indexOf(this._.tabIdList,this._.currentTabId),c=b+1;c<b+a;c++)if(this._.tabs[this._.tabIdList[c%a]][0].$.offsetHeight)return this._.tabIdList[c%a];return null}function G(a,b){for(var c=a.$.getElementsByTagName(\"input\"),\ne=0,d=c.length;e<d;e++){var g=new CKEDITOR.dom.element(c[e]);\"text\"==g.getAttribute(\"type\").toLowerCase()&&(b?(g.setAttribute(\"value\",g.getCustomData(\"fake_value\")||\"\"),g.removeCustomData(\"fake_value\")):(g.setCustomData(\"fake_value\",g.getAttribute(\"value\")),g.setAttribute(\"value\",\"\")))}}function P(a,b){var c=this.getInputElement();c&&(a?c.removeAttribute(\"aria-invalid\"):c.setAttribute(\"aria-invalid\",!0));a||(this.select?this.select():this.focus());b&&alert(b);this.fire(\"validated\",{valid:a,msg:b})}\nfunction Q(){var a=this.getInputElement();a&&a.removeAttribute(\"aria-invalid\")}function R(a){var a=CKEDITOR.dom.element.createFromHtml(CKEDITOR.addTemplate(\"dialog\",S).output({id:CKEDITOR.tools.getNextNumber(),editorId:a.id,langDir:a.lang.dir,langCode:a.langCode,editorDialogClass:\"cke_editor_\"+a.name.replace(/\\./g,\"\\\\.\")+\"_dialog\",closeTitle:a.lang.common.close,hidpi:CKEDITOR.env.hidpi?\"cke_hidpi\":\"\"})),b=a.getChild([0,0,0,0,0]),c=b.getChild(0),e=b.getChild(1);if(CKEDITOR.env.ie&&!CKEDITOR.env.ie6Compat){var d=\n\"javascript:void(function(){\"+encodeURIComponent(\"document.open();(\"+CKEDITOR.tools.fixDomain+\")();document.close();\")+\"}())\";CKEDITOR.dom.element.createFromHtml('<iframe frameBorder=\"0\" class=\"cke_iframe_shim\" src=\"'+d+'\" tabIndex=\"-1\"></iframe>').appendTo(b.getParent())}c.unselectable();e.unselectable();return{element:a,parts:{dialog:a.getChild(0),title:c,close:e,tabs:b.getChild(2),contents:b.getChild([3,0,0,0]),footer:b.getChild([3,0,1,0])}}}function H(a,b,c){this.element=b;this.focusIndex=c;this.tabIndex=\n0;this.isFocusable=function(){return!b.getAttribute(\"disabled\")&&b.isVisible()};this.focus=function(){a._.currentFocusIndex=this.focusIndex;this.element.focus()};b.on(\"keydown\",function(a){a.data.getKeystroke()in{32:1,13:1}&&this.fire(\"click\")});b.on(\"focus\",function(){this.fire(\"mouseover\")});b.on(\"blur\",function(){this.fire(\"mouseout\")})}function T(a){function b(){a.layout()}var c=CKEDITOR.document.getWindow();c.on(\"resize\",b);a.on(\"hide\",function(){c.removeListener(\"resize\",b)})}function I(a,b){this._=\n{dialog:a};CKEDITOR.tools.extend(this,b)}function U(a){function b(b){var c=a.getSize(),h=CKEDITOR.document.getWindow().getViewPaneSize(),o=b.data.$.screenX,j=b.data.$.screenY,n=o-e.x,m=j-e.y;e={x:o,y:j};d.x+=n;d.y+=m;a.move(d.x+i[3]<f?-i[3]:d.x-i[1]>h.width-c.width-f?h.width-c.width+(\"rtl\"==g.lang.dir?0:i[1]):d.x,d.y+i[0]<f?-i[0]:d.y-i[2]>h.height-c.height-f?h.height-c.height+i[2]:d.y,1);b.data.preventDefault()}function c(){CKEDITOR.document.removeListener(\"mousemove\",b);CKEDITOR.document.removeListener(\"mouseup\",\nc);if(CKEDITOR.env.ie6Compat){var a=q.getChild(0).getFrameDocument();a.removeListener(\"mousemove\",b);a.removeListener(\"mouseup\",c)}}var e=null,d=null;a.getElement().getFirst();var g=a.getParentEditor(),f=g.config.dialog_magnetDistance,i=CKEDITOR.skin.margins||[0,0,0,0];\"undefined\"==typeof f&&(f=20);a.parts.title.on(\"mousedown\",function(f){e={x:f.data.$.screenX,y:f.data.$.screenY};CKEDITOR.document.on(\"mousemove\",b);CKEDITOR.document.on(\"mouseup\",c);d=a.getPosition();if(CKEDITOR.env.ie6Compat){var k=\nq.getChild(0).getFrameDocument();k.on(\"mousemove\",b);k.on(\"mouseup\",c)}f.data.preventDefault()},a)}function V(a){var b,c;function e(d){var e=\"rtl\"==i.lang.dir,j=o.width,C=o.height,D=j+(d.data.$.screenX-b)*(e?-1:1)*(a._.moved?1:2),n=C+(d.data.$.screenY-c)*(a._.moved?1:2),x=a._.element.getFirst(),x=e&&x.getComputedStyle(\"right\"),y=a.getPosition();y.y+n>h.height&&(n=h.height-y.y);if((e?x:y.x)+D>h.width)D=h.width-(e?x:y.x);if(f==CKEDITOR.DIALOG_RESIZE_WIDTH||f==CKEDITOR.DIALOG_RESIZE_BOTH)j=Math.max(g.minWidth||\n0,D-l);if(f==CKEDITOR.DIALOG_RESIZE_HEIGHT||f==CKEDITOR.DIALOG_RESIZE_BOTH)C=Math.max(g.minHeight||0,n-k);a.resize(j,C);a._.moved||a.layout();d.data.preventDefault()}function d(){CKEDITOR.document.removeListener(\"mouseup\",d);CKEDITOR.document.removeListener(\"mousemove\",e);j&&(j.remove(),j=null);if(CKEDITOR.env.ie6Compat){var a=q.getChild(0).getFrameDocument();a.removeListener(\"mouseup\",d);a.removeListener(\"mousemove\",e)}}var g=a.definition,f=g.resizable;if(f!=CKEDITOR.DIALOG_RESIZE_NONE){var i=a.getParentEditor(),\nl,k,h,o,j,n=CKEDITOR.tools.addFunction(function(f){o=a.getSize();var g=a.parts.contents;g.$.getElementsByTagName(\"iframe\").length&&(j=CKEDITOR.dom.element.createFromHtml('<div class=\"cke_dialog_resize_cover\" style=\"height: 100%; position: absolute; width: 100%;\"></div>'),g.append(j));k=o.height-a.parts.contents.getSize(\"height\",!(CKEDITOR.env.gecko||CKEDITOR.env.opera||CKEDITOR.env.ie&&CKEDITOR.env.quirks));l=o.width-a.parts.contents.getSize(\"width\",1);b=f.screenX;c=f.screenY;h=CKEDITOR.document.getWindow().getViewPaneSize();\nCKEDITOR.document.on(\"mousemove\",e);CKEDITOR.document.on(\"mouseup\",d);CKEDITOR.env.ie6Compat&&(g=q.getChild(0).getFrameDocument(),g.on(\"mousemove\",e),g.on(\"mouseup\",d));f.preventDefault&&f.preventDefault()});a.on(\"load\",function(){var b=\"\";f==CKEDITOR.DIALOG_RESIZE_WIDTH?b=\" cke_resizer_horizontal\":f==CKEDITOR.DIALOG_RESIZE_HEIGHT&&(b=\" cke_resizer_vertical\");b=CKEDITOR.dom.element.createFromHtml('<div class=\"cke_resizer'+b+\" cke_resizer_\"+i.lang.dir+'\" title=\"'+CKEDITOR.tools.htmlEncode(i.lang.common.resize)+\n'\" onmousedown=\"CKEDITOR.tools.callFunction('+n+', event )\">'+(\"ltr\"==i.lang.dir?\"◢\":\"◣\")+\"</div>\");a.parts.footer.append(b,1)});i.on(\"destroy\",function(){CKEDITOR.tools.removeFunction(n)})}}function E(a){a.data.preventDefault(1)}function J(a){var b=CKEDITOR.document.getWindow(),c=a.config,e=c.dialog_backgroundCoverColor||\"white\",d=c.dialog_backgroundCoverOpacity,g=c.baseFloatZIndex,c=CKEDITOR.tools.genKey(e,d,g),f=w[c];f?f.show():(g=['<div tabIndex=\"-1\" style=\"position: ',CKEDITOR.env.ie6Compat?\n\"absolute\":\"fixed\",\"; z-index: \",g,\"; top: 0px; left: 0px; \",!CKEDITOR.env.ie6Compat?\"background-color: \"+e:\"\",'\" class=\"cke_dialog_background_cover\">'],CKEDITOR.env.ie6Compat&&(e=\"<html><body style=\\\\'background-color:\"+e+\";\\\\'></body></html>\",g.push('<iframe hidefocus=\"true\" frameborder=\"0\" id=\"cke_dialog_background_iframe\" src=\"javascript:'),g.push(\"void((function(){\"+encodeURIComponent(\"document.open();(\"+CKEDITOR.tools.fixDomain+\")();document.write( '\"+e+\"' );document.close();\")+\"})())\"),g.push('\" style=\"position:absolute;left:0;top:0;width:100%;height: 100%;filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0)\"></iframe>')),\ng.push(\"</div>\"),f=CKEDITOR.dom.element.createFromHtml(g.join(\"\")),f.setOpacity(void 0!=d?d:0.5),f.on(\"keydown\",E),f.on(\"keypress\",E),f.on(\"keyup\",E),f.appendTo(CKEDITOR.document.getBody()),w[c]=f);a.focusManager.add(f);q=f;var a=function(){var a=b.getViewPaneSize();f.setStyles({width:a.width+\"px\",height:a.height+\"px\"})},i=function(){var a=b.getScrollPosition(),c=CKEDITOR.dialog._.currentTop;f.setStyles({left:a.x+\"px\",top:a.y+\"px\"});if(c){do{a=c.getPosition();c.move(a.x,a.y)}while(c=c._.parentDialog)\n}};F=a;b.on(\"resize\",a);a();(!CKEDITOR.env.mac||!CKEDITOR.env.webkit)&&f.focus();if(CKEDITOR.env.ie6Compat){var l=function(){i();arguments.callee.prevScrollHandler.apply(this,arguments)};b.$.setTimeout(function(){l.prevScrollHandler=window.onscroll||function(){};window.onscroll=l},0);i()}}function K(a){q&&(a.focusManager.remove(q),a=CKEDITOR.document.getWindow(),q.hide(),a.removeListener(\"resize\",F),CKEDITOR.env.ie6Compat&&a.$.setTimeout(function(){window.onscroll=window.onscroll&&window.onscroll.prevScrollHandler||\nnull},0),F=null)}var r=CKEDITOR.tools.cssLength,S='<div class=\"cke_reset_all {editorId} {editorDialogClass} {hidpi}\" dir=\"{langDir}\" lang=\"{langCode}\" role=\"dialog\" aria-labelledby=\"cke_dialog_title_{id}\"><table class=\"cke_dialog '+CKEDITOR.env.cssClass+' cke_{langDir}\" style=\"position:absolute\" role=\"presentation\"><tr><td role=\"presentation\"><div class=\"cke_dialog_body\" role=\"presentation\"><div id=\"cke_dialog_title_{id}\" class=\"cke_dialog_title\" role=\"presentation\"></div><a id=\"cke_dialog_close_button_{id}\" class=\"cke_dialog_close_button\" href=\"javascript:void(0)\" title=\"{closeTitle}\" role=\"button\"><span class=\"cke_label\">X</span></a><div id=\"cke_dialog_tabs_{id}\" class=\"cke_dialog_tabs\" role=\"tablist\"></div><table class=\"cke_dialog_contents\" role=\"presentation\"><tr><td id=\"cke_dialog_contents_{id}\" class=\"cke_dialog_contents_body\" role=\"presentation\"></td></tr><tr><td id=\"cke_dialog_footer_{id}\" class=\"cke_dialog_footer\" role=\"presentation\"></td></tr></table></div></td></tr></table></div>';\nCKEDITOR.dialog=function(a,b){function c(){var a=m._.focusList;a.sort(function(a,b){return a.tabIndex!=b.tabIndex?b.tabIndex-a.tabIndex:a.focusIndex-b.focusIndex});for(var b=a.length,c=0;c<b;c++)a[c].focusIndex=c}function e(a){var b=m._.focusList,a=a||0;if(!(1>b.length)){var c=m._.currentFocusIndex;try{b[c].getInputElement().$.blur()}catch(f){}for(var d=c=(c+a+b.length)%b.length;a&&!b[d].isFocusable()&&!(d=(d+a+b.length)%b.length,d==c););b[d].focus();\"text\"==b[d].type&&b[d].select()}}function d(b){if(m==\nCKEDITOR.dialog._.currentTop){var c=b.data.getKeystroke(),d=\"rtl\"==a.lang.dir;o=j=0;if(9==c||c==CKEDITOR.SHIFT+9)c=c==CKEDITOR.SHIFT+9,m._.tabBarMode?(c=c?t.call(m):u.call(m),m.selectPage(c),m._.tabs[c][0].focus()):e(c?-1:1),o=1;else if(c==CKEDITOR.ALT+121&&!m._.tabBarMode&&1<m.getPageCount())m._.tabBarMode=!0,m._.tabs[m._.currentTabId][0].focus(),o=1;else if((37==c||39==c)&&m._.tabBarMode)c=c==(d?39:37)?t.call(m):u.call(m),m.selectPage(c),m._.tabs[c][0].focus(),o=1;else if((13==c||32==c)&&m._.tabBarMode)this.selectPage(this._.currentTabId),\nthis._.tabBarMode=!1,this._.currentFocusIndex=-1,e(1),o=1;else if(13==c){c=b.data.getTarget();if(!c.is(\"a\",\"button\",\"select\",\"textarea\")&&(!c.is(\"input\")||\"button\"!=c.$.type))(c=this.getButton(\"ok\"))&&CKEDITOR.tools.setTimeout(c.click,0,c),o=1;j=1}else if(27==c)(c=this.getButton(\"cancel\"))?CKEDITOR.tools.setTimeout(c.click,0,c):!1!==this.fire(\"cancel\",{hide:!0}).hide&&this.hide(),j=1;else return;g(b)}}function g(a){o?a.data.preventDefault(1):j&&a.data.stopPropagation()}var f=CKEDITOR.dialog._.dialogDefinitions[b],\ni=CKEDITOR.tools.clone(W),l=a.config.dialog_buttonsOrder||\"OS\",k=a.lang.dir,h={},o,j;(\"OS\"==l&&CKEDITOR.env.mac||\"rtl\"==l&&\"ltr\"==k||\"ltr\"==l&&\"rtl\"==k)&&i.buttons.reverse();f=CKEDITOR.tools.extend(f(a),i);f=CKEDITOR.tools.clone(f);f=new L(this,f);i=R(a);this._={editor:a,element:i.element,name:b,contentSize:{width:0,height:0},size:{width:0,height:0},contents:{},buttons:{},accessKeyMap:{},tabs:{},tabIdList:[],currentTabId:null,currentTabIndex:null,pageCount:0,lastTab:null,tabBarMode:!1,focusList:[],\ncurrentFocusIndex:0,hasFocus:!1};this.parts=i.parts;CKEDITOR.tools.setTimeout(function(){a.fire(\"ariaWidget\",this.parts.contents)},0,this);i={position:CKEDITOR.env.ie6Compat?\"absolute\":\"fixed\",top:0,visibility:\"hidden\"};i[\"rtl\"==k?\"right\":\"left\"]=0;this.parts.dialog.setStyles(i);CKEDITOR.event.call(this);this.definition=f=CKEDITOR.fire(\"dialogDefinition\",{name:b,definition:f},a).definition;if(!(\"removeDialogTabs\"in a._)&&a.config.removeDialogTabs){i=a.config.removeDialogTabs.split(\";\");for(k=0;k<\ni.length;k++)if(l=i[k].split(\":\"),2==l.length){var n=l[0];h[n]||(h[n]=[]);h[n].push(l[1])}a._.removeDialogTabs=h}if(a._.removeDialogTabs&&(h=a._.removeDialogTabs[b]))for(k=0;k<h.length;k++)f.removeContents(h[k]);if(f.onLoad)this.on(\"load\",f.onLoad);if(f.onShow)this.on(\"show\",f.onShow);if(f.onHide)this.on(\"hide\",f.onHide);if(f.onOk)this.on(\"ok\",function(b){a.fire(\"saveSnapshot\");setTimeout(function(){a.fire(\"saveSnapshot\")},0);!1===f.onOk.call(this,b)&&(b.data.hide=!1)});if(f.onCancel)this.on(\"cancel\",\nfunction(a){!1===f.onCancel.call(this,a)&&(a.data.hide=!1)});var m=this,p=function(a){var b=m._.contents,c=!1,d;for(d in b)for(var f in b[d])if(c=a.call(this,b[d][f]))return};this.on(\"ok\",function(a){p(function(b){if(b.validate){var c=b.validate(this),d=\"string\"==typeof c||!1===c;d&&(a.data.hide=!1,a.stop());P.call(b,!d,\"string\"==typeof c?c:void 0);return d}})},this,null,0);this.on(\"cancel\",function(b){p(function(c){if(c.isChanged())return!a.config.dialog_noConfirmCancel&&!confirm(a.lang.common.confirmCancel)&&\n(b.data.hide=!1),!0})},this,null,0);this.parts.close.on(\"click\",function(a){!1!==this.fire(\"cancel\",{hide:!0}).hide&&this.hide();a.data.preventDefault()},this);this.changeFocus=e;var v=this._.element;a.focusManager.add(v,1);this.on(\"show\",function(){v.on(\"keydown\",d,this);if(CKEDITOR.env.opera||CKEDITOR.env.gecko)v.on(\"keypress\",g,this)});this.on(\"hide\",function(){v.removeListener(\"keydown\",d);(CKEDITOR.env.opera||CKEDITOR.env.gecko)&&v.removeListener(\"keypress\",g);p(function(a){Q.apply(a)})});this.on(\"iframeAdded\",\nfunction(a){(new CKEDITOR.dom.document(a.data.iframe.$.contentWindow.document)).on(\"keydown\",d,this,null,0)});this.on(\"show\",function(){c();if(a.config.dialog_startupFocusTab&&1<m._.pageCount)m._.tabBarMode=!0,m._.tabs[m._.currentTabId][0].focus();else if(!this._.hasFocus)if(this._.currentFocusIndex=-1,f.onFocus){var b=f.onFocus.call(this);b&&b.focus()}else e(1)},this,null,4294967295);if(CKEDITOR.env.ie6Compat)this.on(\"load\",function(){var a=this.getElement(),b=a.getFirst();b.remove();b.appendTo(a)},\nthis);U(this);V(this);(new CKEDITOR.dom.text(f.title,CKEDITOR.document)).appendTo(this.parts.title);for(k=0;k<f.contents.length;k++)(h=f.contents[k])&&this.addPage(h);this.parts.tabs.on(\"click\",function(a){var b=a.data.getTarget();b.hasClass(\"cke_dialog_tab\")&&(b=b.$.id,this.selectPage(b.substring(4,b.lastIndexOf(\"_\"))),this._.tabBarMode&&(this._.tabBarMode=!1,this._.currentFocusIndex=-1,e(1)),a.data.preventDefault())},this);k=[];h=CKEDITOR.dialog._.uiElementBuilders.hbox.build(this,{type:\"hbox\",\nclassName:\"cke_dialog_footer_buttons\",widths:[],children:f.buttons},k).getChild();this.parts.footer.setHtml(k.join(\"\"));for(k=0;k<h.length;k++)this._.buttons[h[k].id]=h[k]};CKEDITOR.dialog.prototype={destroy:function(){this.hide();this._.element.remove()},resize:function(){return function(a,b){if(!this._.contentSize||!(this._.contentSize.width==a&&this._.contentSize.height==b))CKEDITOR.dialog.fire(\"resize\",{dialog:this,width:a,height:b},this._.editor),this.fire(\"resize\",{width:a,height:b},this._.editor),\nthis.parts.contents.setStyles({width:a+\"px\",height:b+\"px\"}),\"rtl\"==this._.editor.lang.dir&&this._.position&&(this._.position.x=CKEDITOR.document.getWindow().getViewPaneSize().width-this._.contentSize.width-parseInt(this._.element.getFirst().getStyle(\"right\"),10)),this._.contentSize={width:a,height:b}}}(),getSize:function(){var a=this._.element.getFirst();return{width:a.$.offsetWidth||0,height:a.$.offsetHeight||0}},move:function(a,b,c){var e=this._.element.getFirst(),d=\"rtl\"==this._.editor.lang.dir,\ng=\"fixed\"==e.getComputedStyle(\"position\");CKEDITOR.env.ie&&e.setStyle(\"zoom\",\"100%\");if(!g||!this._.position||!(this._.position.x==a&&this._.position.y==b))this._.position={x:a,y:b},g||(g=CKEDITOR.document.getWindow().getScrollPosition(),a+=g.x,b+=g.y),d&&(g=this.getSize(),a=CKEDITOR.document.getWindow().getViewPaneSize().width-g.width-a),b={top:(0<b?b:0)+\"px\"},b[d?\"right\":\"left\"]=(0<a?a:0)+\"px\",e.setStyles(b),c&&(this._.moved=1)},getPosition:function(){return CKEDITOR.tools.extend({},this._.position)},\nshow:function(){var a=this._.element,b=this.definition;!a.getParent()||!a.getParent().equals(CKEDITOR.document.getBody())?a.appendTo(CKEDITOR.document.getBody()):a.setStyle(\"display\",\"block\");if(CKEDITOR.env.gecko&&10900>CKEDITOR.env.version){var c=this.parts.dialog;c.setStyle(\"position\",\"absolute\");setTimeout(function(){c.setStyle(\"position\",\"fixed\")},0)}this.resize(this._.contentSize&&this._.contentSize.width||b.width||b.minWidth,this._.contentSize&&this._.contentSize.height||b.height||b.minHeight);\nthis.reset();this.selectPage(this.definition.contents[0].id);null===CKEDITOR.dialog._.currentZIndex&&(CKEDITOR.dialog._.currentZIndex=this._.editor.config.baseFloatZIndex);this._.element.getFirst().setStyle(\"z-index\",CKEDITOR.dialog._.currentZIndex+=10);null===CKEDITOR.dialog._.currentTop?(CKEDITOR.dialog._.currentTop=this,this._.parentDialog=null,J(this._.editor)):(this._.parentDialog=CKEDITOR.dialog._.currentTop,this._.parentDialog.getElement().getFirst().$.style.zIndex-=Math.floor(this._.editor.config.baseFloatZIndex/\n2),CKEDITOR.dialog._.currentTop=this);a.on(\"keydown\",M);a.on(CKEDITOR.env.opera?\"keypress\":\"keyup\",N);this._.hasFocus=!1;for(var e in b.contents)if(b.contents[e]){var a=b.contents[e],d=this._.tabs[a.id],g=a.requiredContent,f=0;if(d){for(var i in this._.contents[a.id]){var l=this._.contents[a.id][i];\"hbox\"==l.type||(\"vbox\"==l.type||!l.getInputElement())||(l.requiredContent&&!this._.editor.activeFilter.check(l.requiredContent)?l.disable():(l.enable(),f++))}!f||g&&!this._.editor.activeFilter.check(g)?\nd[0].addClass(\"cke_dialog_tab_disabled\"):d[0].removeClass(\"cke_dialog_tab_disabled\")}}CKEDITOR.tools.setTimeout(function(){this.layout();T(this);this.parts.dialog.setStyle(\"visibility\",\"\");this.fireOnce(\"load\",{});CKEDITOR.ui.fire(\"ready\",this);this.fire(\"show\",{});this._.editor.fire(\"dialogShow\",this);this._.parentDialog||this._.editor.focusManager.lock();this.foreach(function(a){a.setInitValue&&a.setInitValue()})},100,this)},layout:function(){var a=this.parts.dialog,b=this.getSize(),c=CKEDITOR.document.getWindow().getViewPaneSize(),\ne=(c.width-b.width)/2,d=(c.height-b.height)/2;CKEDITOR.env.ie6Compat||(b.height+(0<d?d:0)>c.height||b.width+(0<e?e:0)>c.width?a.setStyle(\"position\",\"absolute\"):a.setStyle(\"position\",\"fixed\"));this.move(this._.moved?this._.position.x:e,this._.moved?this._.position.y:d)},foreach:function(a){for(var b in this._.contents)for(var c in this._.contents[b])a.call(this,this._.contents[b][c]);return this},reset:function(){var a=function(a){a.reset&&a.reset(1)};return function(){this.foreach(a);return this}}(),\nsetupContent:function(){var a=arguments;this.foreach(function(b){b.setup&&b.setup.apply(b,a)})},commitContent:function(){var a=arguments;this.foreach(function(b){CKEDITOR.env.ie&&this._.currentFocusIndex==b.focusIndex&&b.getInputElement().$.blur();b.commit&&b.commit.apply(b,a)})},hide:function(){if(this.parts.dialog.isVisible()){this.fire(\"hide\",{});this._.editor.fire(\"dialogHide\",this);this.selectPage(this._.tabIdList[0]);var a=this._.element;a.setStyle(\"display\",\"none\");this.parts.dialog.setStyle(\"visibility\",\n\"hidden\");for(X(this);CKEDITOR.dialog._.currentTop!=this;)CKEDITOR.dialog._.currentTop.hide();if(this._.parentDialog){var b=this._.parentDialog.getElement().getFirst();b.setStyle(\"z-index\",parseInt(b.$.style.zIndex,10)+Math.floor(this._.editor.config.baseFloatZIndex/2))}else K(this._.editor);if(CKEDITOR.dialog._.currentTop=this._.parentDialog)CKEDITOR.dialog._.currentZIndex-=10;else{CKEDITOR.dialog._.currentZIndex=null;a.removeListener(\"keydown\",M);a.removeListener(CKEDITOR.env.opera?\"keypress\":\"keyup\",\nN);var c=this._.editor;c.focus();setTimeout(function(){c.focusManager.unlock()},0)}delete this._.parentDialog;this.foreach(function(a){a.resetInitValue&&a.resetInitValue()})}},addPage:function(a){if(!a.requiredContent||this._.editor.filter.check(a.requiredContent)){for(var b=[],c=a.label?' title=\"'+CKEDITOR.tools.htmlEncode(a.label)+'\"':\"\",e=CKEDITOR.dialog._.uiElementBuilders.vbox.build(this,{type:\"vbox\",className:\"cke_dialog_page_contents\",children:a.elements,expand:!!a.expand,padding:a.padding,\nstyle:a.style||\"width: 100%;\"},b),d=this._.contents[a.id]={},g=e.getChild(),f=0;e=g.shift();)!e.notAllowed&&(\"hbox\"!=e.type&&\"vbox\"!=e.type)&&f++,d[e.id]=e,\"function\"==typeof e.getChild&&g.push.apply(g,e.getChild());f||(a.hidden=!0);b=CKEDITOR.dom.element.createFromHtml(b.join(\"\"));b.setAttribute(\"role\",\"tabpanel\");e=CKEDITOR.env;d=\"cke_\"+a.id+\"_\"+CKEDITOR.tools.getNextNumber();c=CKEDITOR.dom.element.createFromHtml(['<a class=\"cke_dialog_tab\"',0<this._.pageCount?\" cke_last\":\"cke_first\",c,a.hidden?\n' style=\"display:none\"':\"\",' id=\"',d,'\"',e.gecko&&10900<=e.version&&!e.hc?\"\":' href=\"javascript:void(0)\"',' tabIndex=\"-1\" hidefocus=\"true\" role=\"tab\">',a.label,\"</a>\"].join(\"\"));b.setAttribute(\"aria-labelledby\",d);this._.tabs[a.id]=[c,b];this._.tabIdList.push(a.id);!a.hidden&&this._.pageCount++;this._.lastTab=c;this.updateStyle();b.setAttribute(\"name\",a.id);b.appendTo(this.parts.contents);c.unselectable();this.parts.tabs.append(c);a.accessKey&&(O(this,this,\"CTRL+\"+a.accessKey,Y,Z),this._.accessKeyMap[\"CTRL+\"+\na.accessKey]=a.id)}},selectPage:function(a){if(this._.currentTabId!=a&&!this._.tabs[a][0].hasClass(\"cke_dialog_tab_disabled\")&&!0!==this.fire(\"selectPage\",{page:a,currentPage:this._.currentTabId})){for(var b in this._.tabs){var c=this._.tabs[b][0],e=this._.tabs[b][1];b!=a&&(c.removeClass(\"cke_dialog_tab_selected\"),e.hide());e.setAttribute(\"aria-hidden\",b!=a)}var d=this._.tabs[a];d[0].addClass(\"cke_dialog_tab_selected\");CKEDITOR.env.ie6Compat||CKEDITOR.env.ie7Compat?(G(d[1]),d[1].show(),setTimeout(function(){G(d[1],\n1)},0)):d[1].show();this._.currentTabId=a;this._.currentTabIndex=CKEDITOR.tools.indexOf(this._.tabIdList,a)}},updateStyle:function(){this.parts.dialog[(1===this._.pageCount?\"add\":\"remove\")+\"Class\"](\"cke_single_page\")},hidePage:function(a){var b=this._.tabs[a]&&this._.tabs[a][0];b&&(1!=this._.pageCount&&b.isVisible())&&(a==this._.currentTabId&&this.selectPage(t.call(this)),b.hide(),this._.pageCount--,this.updateStyle())},showPage:function(a){if(a=this._.tabs[a]&&this._.tabs[a][0])a.show(),this._.pageCount++,\nthis.updateStyle()},getElement:function(){return this._.element},getName:function(){return this._.name},getContentElement:function(a,b){var c=this._.contents[a];return c&&c[b]},getValueOf:function(a,b){return this.getContentElement(a,b).getValue()},setValueOf:function(a,b,c){return this.getContentElement(a,b).setValue(c)},getButton:function(a){return this._.buttons[a]},click:function(a){return this._.buttons[a].click()},disableButton:function(a){return this._.buttons[a].disable()},enableButton:function(a){return this._.buttons[a].enable()},\ngetPageCount:function(){return this._.pageCount},getParentEditor:function(){return this._.editor},getSelectedElement:function(){return this.getParentEditor().getSelection().getSelectedElement()},addFocusable:function(a,b){if(\"undefined\"==typeof b)b=this._.focusList.length,this._.focusList.push(new H(this,a,b));else{this._.focusList.splice(b,0,new H(this,a,b));for(var c=b+1;c<this._.focusList.length;c++)this._.focusList[c].focusIndex++}}};CKEDITOR.tools.extend(CKEDITOR.dialog,{add:function(a,b){if(!this._.dialogDefinitions[a]||\n\"function\"==typeof b)this._.dialogDefinitions[a]=b},exists:function(a){return!!this._.dialogDefinitions[a]},getCurrent:function(){return CKEDITOR.dialog._.currentTop},isTabEnabled:function(a,b,c){a=a.config.removeDialogTabs;return!(a&&a.match(RegExp(\"(?:^|;)\"+b+\":\"+c+\"(?:$|;)\",\"i\")))},okButton:function(){var a=function(a,c){c=c||{};return CKEDITOR.tools.extend({id:\"ok\",type:\"button\",label:a.lang.common.ok,\"class\":\"cke_dialog_ui_button_ok\",onClick:function(a){a=a.data.dialog;!1!==a.fire(\"ok\",{hide:!0}).hide&&\na.hide()}},c,!0)};a.type=\"button\";a.override=function(b){return CKEDITOR.tools.extend(function(c){return a(c,b)},{type:\"button\"},!0)};return a}(),cancelButton:function(){var a=function(a,c){c=c||{};return CKEDITOR.tools.extend({id:\"cancel\",type:\"button\",label:a.lang.common.cancel,\"class\":\"cke_dialog_ui_button_cancel\",onClick:function(a){a=a.data.dialog;!1!==a.fire(\"cancel\",{hide:!0}).hide&&a.hide()}},c,!0)};a.type=\"button\";a.override=function(b){return CKEDITOR.tools.extend(function(c){return a(c,\nb)},{type:\"button\"},!0)};return a}(),addUIElement:function(a,b){this._.uiElementBuilders[a]=b}});CKEDITOR.dialog._={uiElementBuilders:{},dialogDefinitions:{},currentTop:null,currentZIndex:null};CKEDITOR.event.implementOn(CKEDITOR.dialog);CKEDITOR.event.implementOn(CKEDITOR.dialog.prototype);var W={resizable:CKEDITOR.DIALOG_RESIZE_BOTH,minWidth:600,minHeight:400,buttons:[CKEDITOR.dialog.okButton,CKEDITOR.dialog.cancelButton]},z=function(a,b,c){for(var e=0,d;d=a[e];e++)if(d.id==b||c&&d[c]&&(d=z(d[c],\nb,c)))return d;return null},A=function(a,b,c,e,d){if(c){for(var g=0,f;f=a[g];g++){if(f.id==c)return a.splice(g,0,b),b;if(e&&f[e]&&(f=A(f[e],b,c,e,!0)))return f}if(d)return null}a.push(b);return b},B=function(a,b,c){for(var e=0,d;d=a[e];e++){if(d.id==b)return a.splice(e,1);if(c&&d[c]&&(d=B(d[c],b,c)))return d}return null},L=function(a,b){this.dialog=a;for(var c=b.contents,e=0,d;d=c[e];e++)c[e]=d&&new I(a,d);CKEDITOR.tools.extend(this,b)};L.prototype={getContents:function(a){return z(this.contents,\na)},getButton:function(a){return z(this.buttons,a)},addContents:function(a,b){return A(this.contents,a,b)},addButton:function(a,b){return A(this.buttons,a,b)},removeContents:function(a){B(this.contents,a)},removeButton:function(a){B(this.buttons,a)}};I.prototype={get:function(a){return z(this.elements,a,\"children\")},add:function(a,b){return A(this.elements,a,b,\"children\")},remove:function(a){B(this.elements,a,\"children\")}};var F,w={},q,s={},M=function(a){var b=a.data.$.ctrlKey||a.data.$.metaKey,c=\na.data.$.altKey,e=a.data.$.shiftKey,d=String.fromCharCode(a.data.$.keyCode);if((b=s[(b?\"CTRL+\":\"\")+(c?\"ALT+\":\"\")+(e?\"SHIFT+\":\"\")+d])&&b.length)b=b[b.length-1],b.keydown&&b.keydown.call(b.uiElement,b.dialog,b.key),a.data.preventDefault()},N=function(a){var b=a.data.$.ctrlKey||a.data.$.metaKey,c=a.data.$.altKey,e=a.data.$.shiftKey,d=String.fromCharCode(a.data.$.keyCode);if((b=s[(b?\"CTRL+\":\"\")+(c?\"ALT+\":\"\")+(e?\"SHIFT+\":\"\")+d])&&b.length)b=b[b.length-1],b.keyup&&(b.keyup.call(b.uiElement,b.dialog,b.key),\na.data.preventDefault())},O=function(a,b,c,e,d){(s[c]||(s[c]=[])).push({uiElement:a,dialog:b,key:c,keyup:d||a.accessKeyUp,keydown:e||a.accessKeyDown})},X=function(a){for(var b in s){for(var c=s[b],e=c.length-1;0<=e;e--)(c[e].dialog==a||c[e].uiElement==a)&&c.splice(e,1);0===c.length&&delete s[b]}},Z=function(a,b){a._.accessKeyMap[b]&&a.selectPage(a._.accessKeyMap[b])},Y=function(){};(function(){CKEDITOR.ui.dialog={uiElement:function(a,b,c,e,d,g,f){if(!(4>arguments.length)){var i=(e.call?e(b):e)||\"div\",\nl=[\"<\",i,\" \"],k=(d&&d.call?d(b):d)||{},h=(g&&g.call?g(b):g)||{},o=(f&&f.call?f.call(this,a,b):f)||\"\",j=this.domId=h.id||CKEDITOR.tools.getNextId()+\"_uiElement\";this.id=b.id;b.requiredContent&&!a.getParentEditor().filter.check(b.requiredContent)&&(k.display=\"none\",this.notAllowed=!0);h.id=j;var n={};b.type&&(n[\"cke_dialog_ui_\"+b.type]=1);b.className&&(n[b.className]=1);b.disabled&&(n.cke_disabled=1);for(var m=h[\"class\"]&&h[\"class\"].split?h[\"class\"].split(\" \"):[],j=0;j<m.length;j++)m[j]&&(n[m[j]]=1);\nm=[];for(j in n)m.push(j);h[\"class\"]=m.join(\" \");b.title&&(h.title=b.title);n=(b.style||\"\").split(\";\");b.align&&(m=b.align,k[\"margin-left\"]=\"left\"==m?0:\"auto\",k[\"margin-right\"]=\"right\"==m?0:\"auto\");for(j in k)n.push(j+\":\"+k[j]);b.hidden&&n.push(\"display:none\");for(j=n.length-1;0<=j;j--)\"\"===n[j]&&n.splice(j,1);0<n.length&&(h.style=(h.style?h.style+\"; \":\"\")+n.join(\"; \"));for(j in h)l.push(j+'=\"'+CKEDITOR.tools.htmlEncode(h[j])+'\" ');l.push(\">\",o,\"</\",i,\">\");c.push(l.join(\"\"));(this._||(this._={})).dialog=\na;\"boolean\"==typeof b.isChanged&&(this.isChanged=function(){return b.isChanged});\"function\"==typeof b.isChanged&&(this.isChanged=b.isChanged);\"function\"==typeof b.setValue&&(this.setValue=CKEDITOR.tools.override(this.setValue,function(a){return function(c){a.call(this,b.setValue.call(this,c))}}));\"function\"==typeof b.getValue&&(this.getValue=CKEDITOR.tools.override(this.getValue,function(a){return function(){return b.getValue.call(this,a.call(this))}}));CKEDITOR.event.implementOn(this);this.registerEvents(b);\nthis.accessKeyUp&&(this.accessKeyDown&&b.accessKey)&&O(this,a,\"CTRL+\"+b.accessKey);var p=this;a.on(\"load\",function(){var b=p.getInputElement();if(b){var c=p.type in{checkbox:1,ratio:1}&&CKEDITOR.env.ie&&CKEDITOR.env.version<8?\"cke_dialog_ui_focused\":\"\";b.on(\"focus\",function(){a._.tabBarMode=false;a._.hasFocus=true;p.fire(\"focus\");c&&this.addClass(c)});b.on(\"blur\",function(){p.fire(\"blur\");c&&this.removeClass(c)})}});CKEDITOR.tools.extend(this,b);this.keyboardFocusable&&(this.tabIndex=b.tabIndex||\n0,this.focusIndex=a._.focusList.push(this)-1,this.on(\"focus\",function(){a._.currentFocusIndex=p.focusIndex}))}},hbox:function(a,b,c,e,d){if(!(4>arguments.length)){this._||(this._={});var g=this._.children=b,f=d&&d.widths||null,i=d&&d.height||null,l,k={role:\"presentation\"};d&&d.align&&(k.align=d.align);CKEDITOR.ui.dialog.uiElement.call(this,a,d||{type:\"hbox\"},e,\"table\",{},k,function(){var a=['<tbody><tr class=\"cke_dialog_ui_hbox\">'];for(l=0;l<c.length;l++){var b=\"cke_dialog_ui_hbox_child\",e=[];0===\nl&&(b=\"cke_dialog_ui_hbox_first\");l==c.length-1&&(b=\"cke_dialog_ui_hbox_last\");a.push('<td class=\"',b,'\" role=\"presentation\" ');f?f[l]&&e.push(\"width:\"+r(f[l])):e.push(\"width:\"+Math.floor(100/c.length)+\"%\");i&&e.push(\"height:\"+r(i));d&&void 0!=d.padding&&e.push(\"padding:\"+r(d.padding));CKEDITOR.env.ie&&(CKEDITOR.env.quirks&&g[l].align)&&e.push(\"text-align:\"+g[l].align);0<e.length&&a.push('style=\"'+e.join(\"; \")+'\" ');a.push(\">\",c[l],\"</td>\")}a.push(\"</tr></tbody>\");return a.join(\"\")})}},vbox:function(a,\nb,c,e,d){if(!(3>arguments.length)){this._||(this._={});var g=this._.children=b,f=d&&d.width||null,i=d&&d.heights||null;CKEDITOR.ui.dialog.uiElement.call(this,a,d||{type:\"vbox\"},e,\"div\",null,{role:\"presentation\"},function(){var b=['<table role=\"presentation\" cellspacing=\"0\" border=\"0\" '];b.push('style=\"');d&&d.expand&&b.push(\"height:100%;\");b.push(\"width:\"+r(f||\"100%\"),\";\");CKEDITOR.env.webkit&&b.push(\"float:none;\");b.push('\"');b.push('align=\"',CKEDITOR.tools.htmlEncode(d&&d.align||(\"ltr\"==a.getParentEditor().lang.dir?\n\"left\":\"right\")),'\" ');b.push(\"><tbody>\");for(var e=0;e<c.length;e++){var h=[];b.push('<tr><td role=\"presentation\" ');f&&h.push(\"width:\"+r(f||\"100%\"));i?h.push(\"height:\"+r(i[e])):d&&d.expand&&h.push(\"height:\"+Math.floor(100/c.length)+\"%\");d&&void 0!=d.padding&&h.push(\"padding:\"+r(d.padding));CKEDITOR.env.ie&&(CKEDITOR.env.quirks&&g[e].align)&&h.push(\"text-align:\"+g[e].align);0<h.length&&b.push('style=\"',h.join(\"; \"),'\" ');b.push(' class=\"cke_dialog_ui_vbox_child\">',c[e],\"</td></tr>\")}b.push(\"</tbody></table>\");\nreturn b.join(\"\")})}}}})();CKEDITOR.ui.dialog.uiElement.prototype={getElement:function(){return CKEDITOR.document.getById(this.domId)},getInputElement:function(){return this.getElement()},getDialog:function(){return this._.dialog},setValue:function(a,b){this.getInputElement().setValue(a);!b&&this.fire(\"change\",{value:a});return this},getValue:function(){return this.getInputElement().getValue()},isChanged:function(){return!1},selectParentTab:function(){for(var a=this.getInputElement();(a=a.getParent())&&\n-1==a.$.className.search(\"cke_dialog_page_contents\"););if(!a)return this;a=a.getAttribute(\"name\");this._.dialog._.currentTabId!=a&&this._.dialog.selectPage(a);return this},focus:function(){this.selectParentTab().getInputElement().focus();return this},registerEvents:function(a){var b=/^on([A-Z]\\w+)/,c,e=function(a,b,c,d){b.on(\"load\",function(){a.getInputElement().on(c,d,a)})},d;for(d in a)if(c=d.match(b))this.eventProcessors[d]?this.eventProcessors[d].call(this,this._.dialog,a[d]):e(this,this._.dialog,\nc[1].toLowerCase(),a[d]);return this},eventProcessors:{onLoad:function(a,b){a.on(\"load\",b,this)},onShow:function(a,b){a.on(\"show\",b,this)},onHide:function(a,b){a.on(\"hide\",b,this)}},accessKeyDown:function(){this.focus()},accessKeyUp:function(){},disable:function(){var a=this.getElement();this.getInputElement().setAttribute(\"disabled\",\"true\");a.addClass(\"cke_disabled\")},enable:function(){var a=this.getElement();this.getInputElement().removeAttribute(\"disabled\");a.removeClass(\"cke_disabled\")},isEnabled:function(){return!this.getElement().hasClass(\"cke_disabled\")},\nisVisible:function(){return this.getInputElement().isVisible()},isFocusable:function(){return!this.isEnabled()||!this.isVisible()?!1:!0}};CKEDITOR.ui.dialog.hbox.prototype=CKEDITOR.tools.extend(new CKEDITOR.ui.dialog.uiElement,{getChild:function(a){if(1>arguments.length)return this._.children.concat();a.splice||(a=[a]);return 2>a.length?this._.children[a[0]]:this._.children[a[0]]&&this._.children[a[0]].getChild?this._.children[a[0]].getChild(a.slice(1,a.length)):null}},!0);CKEDITOR.ui.dialog.vbox.prototype=\nnew CKEDITOR.ui.dialog.hbox;(function(){var a={build:function(a,c,e){for(var d=c.children,g,f=[],i=[],l=0;l<d.length&&(g=d[l]);l++){var k=[];f.push(k);i.push(CKEDITOR.dialog._.uiElementBuilders[g.type].build(a,g,k))}return new CKEDITOR.ui.dialog[c.type](a,i,f,e,c)}};CKEDITOR.dialog.addUIElement(\"hbox\",a);CKEDITOR.dialog.addUIElement(\"vbox\",a)})();CKEDITOR.dialogCommand=function(a,b){this.dialogName=a;CKEDITOR.tools.extend(this,b,!0)};CKEDITOR.dialogCommand.prototype={exec:function(a){CKEDITOR.env.opera?\nCKEDITOR.tools.setTimeout(function(){a.openDialog(this.dialogName)},0,this):a.openDialog(this.dialogName)},canUndo:!1,editorFocus:1};(function(){var a=/^([a]|[^a])+$/,b=/^\\d*$/,c=/^\\d*(?:\\.\\d+)?$/,e=/^(((\\d*(\\.\\d+))|(\\d*))(px|\\%)?)?$/,d=/^(((\\d*(\\.\\d+))|(\\d*))(px|em|ex|in|cm|mm|pt|pc|\\%)?)?$/i,g=/^(\\s*[\\w-]+\\s*:\\s*[^:;]+(?:;|$))*$/;CKEDITOR.VALIDATE_OR=1;CKEDITOR.VALIDATE_AND=2;CKEDITOR.dialog.validate={functions:function(){var a=arguments;return function(){var b=this&&this.getValue?this.getValue():\na[0],c=void 0,d=CKEDITOR.VALIDATE_AND,e=[],g;for(g=0;g<a.length;g++)if(\"function\"==typeof a[g])e.push(a[g]);else break;g<a.length&&\"string\"==typeof a[g]&&(c=a[g],g++);g<a.length&&\"number\"==typeof a[g]&&(d=a[g]);var j=d==CKEDITOR.VALIDATE_AND?!0:!1;for(g=0;g<e.length;g++)j=d==CKEDITOR.VALIDATE_AND?j&&e[g](b):j||e[g](b);return!j?c:!0}},regex:function(a,b){return function(c){c=this&&this.getValue?this.getValue():c;return!a.test(c)?b:!0}},notEmpty:function(b){return this.regex(a,b)},integer:function(a){return this.regex(b,\na)},number:function(a){return this.regex(c,a)},cssLength:function(a){return this.functions(function(a){return d.test(CKEDITOR.tools.trim(a))},a)},htmlLength:function(a){return this.functions(function(a){return e.test(CKEDITOR.tools.trim(a))},a)},inlineStyle:function(a){return this.functions(function(a){return g.test(CKEDITOR.tools.trim(a))},a)},equals:function(a,b){return this.functions(function(b){return b==a},b)},notEqual:function(a,b){return this.functions(function(b){return b!=a},b)}};CKEDITOR.on(\"instanceDestroyed\",\nfunction(a){if(CKEDITOR.tools.isEmpty(CKEDITOR.instances)){for(var b;b=CKEDITOR.dialog._.currentTop;)b.hide();for(var c in w)w[c].remove();w={}}var a=a.editor._.storedDialogs,d;for(d in a)a[d].destroy()})})();CKEDITOR.tools.extend(CKEDITOR.editor.prototype,{openDialog:function(a,b){var c=null,e=CKEDITOR.dialog._.dialogDefinitions[a];null===CKEDITOR.dialog._.currentTop&&J(this);if(\"function\"==typeof e)c=this._.storedDialogs||(this._.storedDialogs={}),c=c[a]||(c[a]=new CKEDITOR.dialog(this,a)),b&&b.call(c,\nc),c.show();else{if(\"failed\"==e)throw K(this),Error('[CKEDITOR.dialog.openDialog] Dialog \"'+a+'\" failed when loading definition.');\"string\"==typeof e&&CKEDITOR.scriptLoader.load(CKEDITOR.getUrl(e),function(){\"function\"!=typeof CKEDITOR.dialog._.dialogDefinitions[a]&&(CKEDITOR.dialog._.dialogDefinitions[a]=\"failed\");this.openDialog(a,b)},this,0,1)}CKEDITOR.skin.loadPart(\"dialog\");return c}})})();\nCKEDITOR.plugins.add(\"dialog\",{requires:\"dialogui\",init:function(t){t.on(\"doubleclick\",function(u){u.data.dialog&&t.openDialog(u.data.dialog)},null,null,999)}});CKEDITOR.plugins.add(\"about\",{requires:\"dialog\",init:function(a){var b=a.addCommand(\"about\",new CKEDITOR.dialogCommand(\"about\"));b.modes={wysiwyg:1,source:1};b.canUndo=!1;b.readOnly=1;a.ui.addButton&&a.ui.addButton(\"About\",{label:a.lang.about.title,command:\"about\",toolbar:\"about\"});CKEDITOR.dialog.add(\"about\",this.path+\"dialogs/about.js\")}});(function(){CKEDITOR.plugins.add(\"a11yhelp\",{requires:\"dialog\",availableLangs:{ar:1,bg:1,ca:1,cs:1,cy:1,da:1,de:1,el:1,en:1,eo:1,es:1,et:1,fa:1,fi:1,fr:1,\"fr-ca\":1,gl:1,gu:1,he:1,hi:1,hr:1,hu:1,id:1,it:1,ja:1,km:1,ko:1,ku:1,lt:1,lv:1,mk:1,mn:1,nb:1,nl:1,no:1,pl:1,pt:1,\"pt-br\":1,ro:1,ru:1,si:1,sk:1,sl:1,sq:1,sr:1,\"sr-latn\":1,sv:1,th:1,tr:1,ug:1,uk:1,vi:1,zh:1,\"zh-cn\":1},init:function(b){var c=this;b.addCommand(\"a11yHelp\",{exec:function(){var a=b.langCode,a=c.availableLangs[a]?a:c.availableLangs[a.replace(/-.*/,\n\"\")]?a.replace(/-.*/,\"\"):\"en\";CKEDITOR.scriptLoader.load(CKEDITOR.getUrl(c.path+\"dialogs/lang/\"+a+\".js\"),function(){b.lang.a11yhelp=c.langEntries[a];b.openDialog(\"a11yHelp\")})},modes:{wysiwyg:1,source:1},readOnly:1,canUndo:!1});b.setKeystroke(CKEDITOR.ALT+48,\"a11yHelp\");CKEDITOR.dialog.add(\"a11yHelp\",this.path+\"dialogs/a11yhelp.js\")}})})();(function(){function f(c){var a=this.att,c=c&&c.hasAttribute(a)&&c.getAttribute(a)||\"\";void 0!==c&&this.setValue(c)}function g(){for(var c,a=0;a<arguments.length;a++)if(arguments[a]instanceof CKEDITOR.dom.element){c=arguments[a];break}if(c){var a=this.att,b=this.getValue();b?c.setAttribute(a,b):c.removeAttribute(a,b)}}var i={id:1,dir:1,classes:1,styles:1};CKEDITOR.plugins.add(\"dialogadvtab\",{requires:\"dialog\",allowedContent:function(c){c||(c=i);var a=[];c.id&&a.push(\"id\");c.dir&&a.push(\"dir\");var b=\n\"\";a.length&&(b+=\"[\"+a.join(\",\")+\"]\");c.classes&&(b+=\"(*)\");c.styles&&(b+=\"{*}\");return b},createAdvancedTab:function(c,a,b){a||(a=i);var d=c.lang.common,h={id:\"advanced\",label:d.advancedTab,title:d.advancedTab,elements:[{type:\"vbox\",padding:1,children:[]}]},e=[];if(a.id||a.dir)a.id&&e.push({id:\"advId\",att:\"id\",type:\"text\",requiredContent:b?b+\"[id]\":null,label:d.id,setup:f,commit:g}),a.dir&&e.push({id:\"advLangDir\",att:\"dir\",type:\"select\",requiredContent:b?b+\"[dir]\":null,label:d.langDir,\"default\":\"\",\nstyle:\"width:100%\",items:[[d.notSet,\"\"],[d.langDirLTR,\"ltr\"],[d.langDirRTL,\"rtl\"]],setup:f,commit:g}),h.elements[0].children.push({type:\"hbox\",widths:[\"50%\",\"50%\"],children:[].concat(e)});if(a.styles||a.classes)e=[],a.styles&&e.push({id:\"advStyles\",att:\"style\",type:\"text\",requiredContent:b?b+\"{cke-xyz}\":null,label:d.styles,\"default\":\"\",validate:CKEDITOR.dialog.validate.inlineStyle(d.invalidInlineStyle),onChange:function(){},getStyle:function(a,c){var b=this.getValue().match(RegExp(\"(?:^|;)\\\\s*\"+a+\n\"\\\\s*:\\\\s*([^;]*)\",\"i\"));return b?b[1]:c},updateStyle:function(a,b){var d=this.getValue(),e=c.document.createElement(\"span\");e.setAttribute(\"style\",d);e.setStyle(a,b);d=CKEDITOR.tools.normalizeCssText(e.getAttribute(\"style\"));this.setValue(d,1)},setup:f,commit:g}),a.classes&&e.push({type:\"hbox\",widths:[\"45%\",\"55%\"],children:[{id:\"advCSSClasses\",att:\"class\",type:\"text\",requiredContent:b?b+\"(cke-xyz)\":null,label:d.cssClasses,\"default\":\"\",setup:f,commit:g}]}),h.elements[0].children.push({type:\"hbox\",\nwidths:[\"50%\",\"50%\"],children:[].concat(e)});return h}})})();CKEDITOR.plugins.add(\"basicstyles\",{init:function(c){var e=0,d=function(g,d,b,a){if(a){var a=new CKEDITOR.style(a),f=h[b];f.unshift(a);c.attachStyleStateChange(a,function(a){!c.readOnly&&c.getCommand(b).setState(a)});c.addCommand(b,new CKEDITOR.styleCommand(a,{contentForms:f}));c.ui.addButton&&c.ui.addButton(g,{label:d,command:b,toolbar:\"basicstyles,\"+(e+=10)})}},h={bold:[\"strong\",\"b\",[\"span\",function(a){a=a.styles[\"font-weight\"];return\"bold\"==a||700<=+a}]],italic:[\"em\",\"i\",[\"span\",function(a){return\"italic\"==\na.styles[\"font-style\"]}]],underline:[\"u\",[\"span\",function(a){return\"underline\"==a.styles[\"text-decoration\"]}]],strike:[\"s\",\"strike\",[\"span\",function(a){return\"line-through\"==a.styles[\"text-decoration\"]}]],subscript:[\"sub\"],superscript:[\"sup\"]},b=c.config,a=c.lang.basicstyles;d(\"Bold\",a.bold,\"bold\",b.coreStyles_bold);d(\"Italic\",a.italic,\"italic\",b.coreStyles_italic);d(\"Underline\",a.underline,\"underline\",b.coreStyles_underline);d(\"Strike\",a.strike,\"strike\",b.coreStyles_strike);d(\"Subscript\",a.subscript,\n\"subscript\",b.coreStyles_subscript);d(\"Superscript\",a.superscript,\"superscript\",b.coreStyles_superscript);c.setKeystroke([[CKEDITOR.CTRL+66,\"bold\"],[CKEDITOR.CTRL+73,\"italic\"],[CKEDITOR.CTRL+85,\"underline\"]])}});CKEDITOR.config.coreStyles_bold={element:\"strong\",overrides:\"b\"};CKEDITOR.config.coreStyles_italic={element:\"em\",overrides:\"i\"};CKEDITOR.config.coreStyles_underline={element:\"u\"};CKEDITOR.config.coreStyles_strike={element:\"s\",overrides:\"strike\"};CKEDITOR.config.coreStyles_subscript={element:\"sub\"};\nCKEDITOR.config.coreStyles_superscript={element:\"sup\"};(function(){function n(a,f,d,b){if(!a.isReadOnly()&&!a.equals(d.editable())){CKEDITOR.dom.element.setMarker(b,a,\"bidi_processed\",1);for(var b=a,c=d.editable();(b=b.getParent())&&!b.equals(c);)if(b.getCustomData(\"bidi_processed\")){a.removeStyle(\"direction\");a.removeAttribute(\"dir\");return}b=\"useComputedState\"in d.config?d.config.useComputedState:1;if((b?a.getComputedStyle(\"direction\"):a.getStyle(\"direction\")||a.hasAttribute(\"dir\"))!=f)a.removeStyle(\"direction\"),b?(a.removeAttribute(\"dir\"),f!=a.getComputedStyle(\"direction\")&&\na.setAttribute(\"dir\",f)):a.setAttribute(\"dir\",f),d.forceNextSelectionCheck()}}function r(a,f,d){var b=a.getCommonAncestor(!1,!0),a=a.clone();a.enlarge(d==CKEDITOR.ENTER_BR?CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS:CKEDITOR.ENLARGE_BLOCK_CONTENTS);if(a.checkBoundaryOfElement(b,CKEDITOR.START)&&a.checkBoundaryOfElement(b,CKEDITOR.END)){for(var c;b&&b.type==CKEDITOR.NODE_ELEMENT&&(c=b.getParent())&&1==c.getChildCount()&&!(b.getName()in f);)b=c;return b.type==CKEDITOR.NODE_ELEMENT&&b.getName()in f&&b}}function m(a){return{context:\"p\",\nallowedContent:{\"h1 h2 h3 h4 h5 h6 table ul ol blockquote div tr p div li td\":{propertiesOnly:!0,attributes:\"dir\"}},requiredContent:\"p[dir]\",refresh:function(a,d){var b=a.config.useComputedState,c,b=void 0===b||b;if(!b){c=d.lastElement;for(var h=a.editable();c&&!(c.getName()in q||c.equals(h));){var e=c.getParent();if(!e)break;c=e}}c=c||d.block||d.blockLimit;c.equals(a.editable())&&(h=a.getSelection().getRanges()[0].getEnclosedNode())&&h.type==CKEDITOR.NODE_ELEMENT&&(c=h);c&&(b=b?c.getComputedStyle(\"direction\"):\nc.getStyle(\"direction\")||c.getAttribute(\"dir\"),a.getCommand(\"bidirtl\").setState(\"rtl\"==b?CKEDITOR.TRISTATE_ON:CKEDITOR.TRISTATE_OFF),a.getCommand(\"bidiltr\").setState(\"ltr\"==b?CKEDITOR.TRISTATE_ON:CKEDITOR.TRISTATE_OFF));b=(d.block||d.blockLimit||a.editable()).getDirection(1);if(b!=(a._.selDir||a.lang.dir))a._.selDir=b,a.fire(\"contentDirChanged\",b)},exec:function(f){var d=f.getSelection(),b=f.config.enterMode,c=d.getRanges();if(c&&c.length){for(var h={},e=d.createBookmarks(),c=c.createIterator(),g,\nj=0;g=c.getNextRange(1);){var i=g.getEnclosedNode();if(!i||i&&!(i.type==CKEDITOR.NODE_ELEMENT&&i.getName()in o))i=r(g,p,b);i&&n(i,a,f,h);var k=new CKEDITOR.dom.walker(g),l=e[j].startNode,m=e[j++].endNode;k.evaluator=function(a){return!!(a.type==CKEDITOR.NODE_ELEMENT&&a.getName()in p&&!(a.getName()==(b==CKEDITOR.ENTER_P?\"p\":\"div\")&&a.getParent().type==CKEDITOR.NODE_ELEMENT&&\"blockquote\"==a.getParent().getName())&&a.getPosition(l)&CKEDITOR.POSITION_FOLLOWING&&(a.getPosition(m)&CKEDITOR.POSITION_PRECEDING+\nCKEDITOR.POSITION_CONTAINS)==CKEDITOR.POSITION_PRECEDING)};for(;i=k.next();)n(i,a,f,h);g=g.createIterator();for(g.enlargeBr=b!=CKEDITOR.ENTER_BR;i=g.getNextParagraph(b==CKEDITOR.ENTER_P?\"p\":\"div\");)n(i,a,f,h)}CKEDITOR.dom.element.clearAllMarkers(h);f.forceNextSelectionCheck();d.selectBookmarks(e);f.focus()}}}}function s(a){var f=a==j.setAttribute,d=a==j.removeAttribute,b=/\\bdirection\\s*:\\s*(.*?)\\s*(:?$|;)/;return function(c,h){if(!this.isReadOnly()){var e;if(e=c==(f||d?\"dir\":\"direction\")||\"style\"==\nc&&(d||b.test(h))){a:{e=this;for(var g=e.getDocument().getBody().getParent();e;){if(e.equals(g)){e=!1;break a}e=e.getParent()}e=!0}e=!e}if(e&&(e=this.getDirection(1),g=a.apply(this,arguments),e!=this.getDirection(1)))return this.getDocument().fire(\"dirChanged\",this),g}return a.apply(this,arguments)}}var p={table:1,ul:1,ol:1,blockquote:1,div:1},o={},q={};CKEDITOR.tools.extend(o,p,{tr:1,p:1,div:1,li:1});CKEDITOR.tools.extend(q,o,{td:1});CKEDITOR.plugins.add(\"bidi\",{init:function(a){function f(b,c,d,\ne,f){a.addCommand(d,new CKEDITOR.command(a,e));a.ui.addButton&&a.ui.addButton(b,{label:c,command:d,toolbar:\"bidi,\"+f})}if(!a.blockless){var d=a.lang.bidi;f(\"BidiLtr\",d.ltr,\"bidiltr\",m(\"ltr\"),10);f(\"BidiRtl\",d.rtl,\"bidirtl\",m(\"rtl\"),20);a.on(\"contentDom\",function(){a.document.on(\"dirChanged\",function(b){a.fire(\"dirChanged\",{node:b.data,dir:b.data.getDirection(1)})})});a.on(\"contentDirChanged\",function(b){var b=(a.lang.dir!=b.data?\"add\":\"remove\")+\"Class\",c=a.ui.space(a.config.toolbarLocation);if(c)c[b](\"cke_mixed_dir_content\")})}}});\nfor(var j=CKEDITOR.dom.element.prototype,l=[\"setStyle\",\"removeStyle\",\"setAttribute\",\"removeAttribute\"],k=0;k<l.length;k++)j[l[k]]=CKEDITOR.tools.override(j[l[k]],s)})();(function(){var k={exec:function(g){var a=g.getCommand(\"blockquote\").state,i=g.getSelection(),c=i&&i.getRanges()[0];if(c){var h=i.createBookmarks();if(CKEDITOR.env.ie){var e=h[0].startNode,b=h[0].endNode,d;if(e&&\"blockquote\"==e.getParent().getName())for(d=e;d=d.getNext();)if(d.type==CKEDITOR.NODE_ELEMENT&&d.isBlockBoundary()){e.move(d,!0);break}if(b&&\"blockquote\"==b.getParent().getName())for(d=b;d=d.getPrevious();)if(d.type==CKEDITOR.NODE_ELEMENT&&d.isBlockBoundary()){b.move(d);break}}var f=c.createIterator();\nf.enlargeBr=g.config.enterMode!=CKEDITOR.ENTER_BR;if(a==CKEDITOR.TRISTATE_OFF){for(e=[];a=f.getNextParagraph();)e.push(a);1>e.length&&(a=g.document.createElement(g.config.enterMode==CKEDITOR.ENTER_P?\"p\":\"div\"),b=h.shift(),c.insertNode(a),a.append(new CKEDITOR.dom.text(\"\",g.document)),c.moveToBookmark(b),c.selectNodeContents(a),c.collapse(!0),b=c.createBookmark(),e.push(a),h.unshift(b));d=e[0].getParent();c=[];for(b=0;b<e.length;b++)a=e[b],d=d.getCommonAncestor(a.getParent());for(a={table:1,tbody:1,\ntr:1,ol:1,ul:1};a[d.getName()];)d=d.getParent();for(b=null;0<e.length;){for(a=e.shift();!a.getParent().equals(d);)a=a.getParent();a.equals(b)||c.push(a);b=a}for(;0<c.length;)if(a=c.shift(),\"blockquote\"==a.getName()){for(b=new CKEDITOR.dom.documentFragment(g.document);a.getFirst();)b.append(a.getFirst().remove()),e.push(b.getLast());b.replace(a)}else e.push(a);c=g.document.createElement(\"blockquote\");for(c.insertBefore(e[0]);0<e.length;)a=e.shift(),c.append(a)}else if(a==CKEDITOR.TRISTATE_ON){b=[];\nfor(d={};a=f.getNextParagraph();){for(e=c=null;a.getParent();){if(\"blockquote\"==a.getParent().getName()){c=a.getParent();e=a;break}a=a.getParent()}c&&(e&&!e.getCustomData(\"blockquote_moveout\"))&&(b.push(e),CKEDITOR.dom.element.setMarker(d,e,\"blockquote_moveout\",!0))}CKEDITOR.dom.element.clearAllMarkers(d);a=[];e=[];for(d={};0<b.length;)f=b.shift(),c=f.getParent(),f.getPrevious()?f.getNext()?(f.breakParent(f.getParent()),e.push(f.getNext())):f.remove().insertAfter(c):f.remove().insertBefore(c),c.getCustomData(\"blockquote_processed\")||\n(e.push(c),CKEDITOR.dom.element.setMarker(d,c,\"blockquote_processed\",!0)),a.push(f);CKEDITOR.dom.element.clearAllMarkers(d);for(b=e.length-1;0<=b;b--){c=e[b];a:{d=c;for(var f=0,k=d.getChildCount(),j=void 0;f<k&&(j=d.getChild(f));f++)if(j.type==CKEDITOR.NODE_ELEMENT&&j.isBlockBoundary()){d=!1;break a}d=!0}d&&c.remove()}if(g.config.enterMode==CKEDITOR.ENTER_BR)for(c=!0;a.length;)if(f=a.shift(),\"div\"==f.getName()){b=new CKEDITOR.dom.documentFragment(g.document);c&&(f.getPrevious()&&!(f.getPrevious().type==\nCKEDITOR.NODE_ELEMENT&&f.getPrevious().isBlockBoundary()))&&b.append(g.document.createElement(\"br\"));for(c=f.getNext()&&!(f.getNext().type==CKEDITOR.NODE_ELEMENT&&f.getNext().isBlockBoundary());f.getFirst();)f.getFirst().remove().appendTo(b);c&&b.append(g.document.createElement(\"br\"));b.replace(f);c=!1}}i.selectBookmarks(h);g.focus()}},refresh:function(g,a){this.setState(g.elementPath(a.block||a.blockLimit).contains(\"blockquote\",1)?CKEDITOR.TRISTATE_ON:CKEDITOR.TRISTATE_OFF)},context:\"blockquote\",\nallowedContent:\"blockquote\",requiredContent:\"blockquote\"};CKEDITOR.plugins.add(\"blockquote\",{init:function(g){g.blockless||(g.addCommand(\"blockquote\",k),g.ui.addButton&&g.ui.addButton(\"Blockquote\",{label:g.lang.blockquote.toolbar,command:\"blockquote\",toolbar:\"blocks,10\"}))}})})();(function(){function w(b){function a(){var e=b.editable();e.on(q,function(b){(!CKEDITOR.env.ie||!n)&&u(b)});CKEDITOR.env.ie&&e.on(\"paste\",function(e){r||(f(),e.data.preventDefault(),u(e),l(\"paste\")||b.openDialog(\"paste\"))});CKEDITOR.env.ie&&(e.on(\"contextmenu\",h,null,null,0),e.on(\"beforepaste\",function(b){b.data&&!b.data.$.ctrlKey&&h()},null,null,0));e.on(\"beforecut\",function(){!n&&i(b)});var a;e.attachListener(CKEDITOR.env.ie?e:b.document.getDocumentElement(),\"mouseup\",function(){a=setTimeout(function(){s()},\n0)});b.on(\"destroy\",function(){clearTimeout(a)});e.on(\"keyup\",s)}function c(e){return{type:e,canUndo:\"cut\"==e,startDisabled:!0,exec:function(){\"cut\"==this.type&&i();var e;var a=this.type;if(CKEDITOR.env.ie)e=l(a);else try{e=b.document.$.execCommand(a,!1,null)}catch(d){e=!1}e||alert(b.lang.clipboard[this.type+\"Error\"]);return e}}}function d(){return{canUndo:!1,async:!0,exec:function(b,a){var d=function(a,d){a&&g(a.type,a.dataValue,!!d);b.fire(\"afterCommandExec\",{name:\"paste\",command:c,returnValue:!!a})},\nc=this;\"string\"==typeof a?d({type:\"auto\",dataValue:a},1):b.getClipboardData(d)}}}function f(){r=1;setTimeout(function(){r=0},100)}function h(){n=1;setTimeout(function(){n=0},10)}function l(e){var a=b.document,d=a.getBody(),c=!1,i=function(){c=!0};d.on(e,i);(7<CKEDITOR.env.version?a.$:a.$.selection.createRange()).execCommand(e);d.removeListener(e,i);return c}function g(e,a,d){e={type:e};if(d&&!b.fire(\"beforePaste\",e)||!a)return!1;e.dataValue=a;return b.fire(\"paste\",e)}function i(){if(CKEDITOR.env.ie&&\n!CKEDITOR.env.quirks){var e=b.getSelection(),a,d,c;if(e.getType()==CKEDITOR.SELECTION_ELEMENT&&(a=e.getSelectedElement()))d=e.getRanges()[0],c=b.document.createText(\"\"),c.insertBefore(a),d.setStartBefore(c),d.setEndAfter(a),e.selectRanges([d]),setTimeout(function(){a.getParent()&&(c.remove(),e.selectElement(a))},0)}}function k(a,d){var c=b.document,i=b.editable(),k=function(b){b.cancel()},f=CKEDITOR.env.gecko&&10902>=CKEDITOR.env.version,h;if(!c.getById(\"cke_pastebin\")){var o=b.getSelection(),v=o.createBookmarks(),\nj=new CKEDITOR.dom.element((CKEDITOR.env.webkit||i.is(\"body\"))&&!CKEDITOR.env.ie&&!CKEDITOR.env.opera?\"body\":\"div\",c);j.setAttributes({id:\"cke_pastebin\",\"data-cke-temp\":\"1\"});CKEDITOR.env.opera&&j.appendBogus();var g=0,c=c.getWindow();f?(j.insertAfter(v[0].startNode),j.setStyle(\"display\",\"inline\")):(CKEDITOR.env.webkit?(i.append(j),j.addClass(\"cke_editable\"),i.is(\"body\")||(f=\"static\"!=i.getComputedStyle(\"position\")?i:CKEDITOR.dom.element.get(i.$.offsetParent),g=f.getDocumentPosition().y)):i.getAscendant(CKEDITOR.env.ie||\nCKEDITOR.env.opera?\"body\":\"html\",1).append(j),j.setStyles({position:\"absolute\",top:c.getScrollPosition().y-g+10+\"px\",width:\"1px\",height:Math.max(1,c.getViewPaneSize().height-20)+\"px\",overflow:\"hidden\",margin:0,padding:0}));(f=j.getParent().isReadOnly())?(j.setOpacity(0),j.setAttribute(\"contenteditable\",!0)):j.setStyle(\"ltr\"==b.config.contentsLangDirection?\"left\":\"right\",\"-1000px\");b.on(\"selectionChange\",k,null,null,0);CKEDITOR.env.webkit&&(h=i.once(\"blur\",k,null,null,-100));f&&j.focus();f=new CKEDITOR.dom.range(j);\nf.selectNodeContents(j);var l=f.select();CKEDITOR.env.ie&&(h=i.once(\"blur\",function(){b.lockSelection(l)}));var m=CKEDITOR.document.getWindow().getScrollPosition().y;setTimeout(function(){if(CKEDITOR.env.webkit||CKEDITOR.env.opera)CKEDITOR.document[CKEDITOR.env.webkit?\"getBody\":\"getDocumentElement\"]().$.scrollTop=m;h&&h.removeListener();CKEDITOR.env.ie&&i.focus();o.selectBookmarks(v);j.remove();var a;if(CKEDITOR.env.webkit&&(a=j.getFirst())&&a.is&&a.hasClass(\"Apple-style-span\"))j=a;b.removeListener(\"selectionChange\",\nk);d(j.getHtml())},0)}}function o(){if(CKEDITOR.env.ie){b.focus();f();var a=b.focusManager;a.lock();if(b.editable().fire(q)&&!l(\"paste\"))return a.unlock(),!1;a.unlock()}else try{if(b.editable().fire(q)&&!b.document.$.execCommand(\"Paste\",!1,null))throw 0;}catch(d){return!1}return!0}function p(a){if(\"wysiwyg\"==b.mode)switch(a.data.keyCode){case CKEDITOR.CTRL+86:case CKEDITOR.SHIFT+45:a=b.editable();f();!CKEDITOR.env.ie&&a.fire(\"beforepaste\");(CKEDITOR.env.opera||CKEDITOR.env.gecko&&10900>CKEDITOR.env.version)&&\na.fire(\"paste\");break;case CKEDITOR.CTRL+88:case CKEDITOR.SHIFT+46:b.fire(\"saveSnapshot\"),setTimeout(function(){b.fire(\"saveSnapshot\")},0)}}function u(a){var d={type:\"auto\"},c=b.fire(\"beforePaste\",d);k(a,function(b){b=b.replace(/<span[^>]+data-cke-bookmark[^<]*?<\\/span>/ig,\"\");c&&g(d.type,b,0,1)})}function s(){if(\"wysiwyg\"==b.mode){var a=m(\"paste\");b.getCommand(\"cut\").setState(m(\"cut\"));b.getCommand(\"copy\").setState(m(\"copy\"));b.getCommand(\"paste\").setState(a);b.fire(\"pasteState\",a)}}function m(a){if(t&&\na in{paste:1,cut:1})return CKEDITOR.TRISTATE_DISABLED;if(\"paste\"==a)return CKEDITOR.TRISTATE_OFF;var a=b.getSelection(),d=a.getRanges();return a.getType()==CKEDITOR.SELECTION_NONE||1==d.length&&d[0].collapsed?CKEDITOR.TRISTATE_DISABLED:CKEDITOR.TRISTATE_OFF}var n=0,r=0,t=0,q=CKEDITOR.env.ie?\"beforepaste\":\"paste\";(function(){b.on(\"key\",p);b.on(\"contentDom\",a);b.on(\"selectionChange\",function(a){t=a.data.selection.getRanges()[0].checkReadOnly();s()});b.contextMenu&&b.contextMenu.addListener(function(a,\nb){t=b.getRanges()[0].checkReadOnly();return{cut:m(\"cut\"),copy:m(\"copy\"),paste:m(\"paste\")}})})();(function(){function a(d,c,i,e,f){var k=b.lang.clipboard[c];b.addCommand(c,i);b.ui.addButton&&b.ui.addButton(d,{label:k,command:c,toolbar:\"clipboard,\"+e});b.addMenuItems&&b.addMenuItem(c,{label:k,command:c,group:\"clipboard\",order:f})}a(\"Cut\",\"cut\",c(\"cut\"),10,1);a(\"Copy\",\"copy\",c(\"copy\"),20,4);a(\"Paste\",\"paste\",d(),30,8)})();b.getClipboardData=function(a,d){function c(a){a.removeListener();a.cancel();\nd(a.data)}function i(a){a.removeListener();a.cancel();g=!0;d({type:h,dataValue:a.data})}function f(){this.customTitle=a&&a.title}var k=!1,h=\"auto\",g=!1;d||(d=a,a=null);b.on(\"paste\",c,null,null,0);b.on(\"beforePaste\",function(a){a.removeListener();k=true;h=a.data.type},null,null,1E3);!1===o()&&(b.removeListener(\"paste\",c),k&&b.fire(\"pasteDialog\",f)?(b.on(\"pasteDialogCommit\",i),b.on(\"dialogHide\",function(a){a.removeListener();a.data.removeListener(\"pasteDialogCommit\",i);setTimeout(function(){g||d(null)},\n10)})):d(null))}}function x(b){if(CKEDITOR.env.webkit){if(!b.match(/^[^<]*$/g)&&!b.match(/^(<div><br( ?\\/)?><\\/div>|<div>[^<]*<\\/div>)*$/gi))return\"html\"}else if(CKEDITOR.env.ie){if(!b.match(/^([^<]|<br( ?\\/)?>)*$/gi)&&!b.match(/^(<p>([^<]|<br( ?\\/)?>)*<\\/p>|(\\r\\n))*$/gi))return\"html\"}else if(CKEDITOR.env.gecko||CKEDITOR.env.opera){if(!b.match(/^([^<]|<br( ?\\/)?>)*$/gi))return\"html\"}else return\"html\";return\"htmlifiedtext\"}function y(b,a){function c(a){return CKEDITOR.tools.repeat(\"</p><p>\",~~(a/2))+\n(1==a%2?\"<br>\":\"\")}a=a.replace(/\\s+/g,\" \").replace(/> +</g,\"><\").replace(/<br ?\\/>/gi,\"<br>\");a=a.replace(/<\\/?[A-Z]+>/g,function(a){return a.toLowerCase()});if(a.match(/^[^<]$/))return a;CKEDITOR.env.webkit&&-1<a.indexOf(\"<div>\")&&(a=a.replace(/^(<div>(<br>|)<\\/div>)(?!$|(<div>(<br>|)<\\/div>))/g,\"<br>\").replace(/^(<div>(<br>|)<\\/div>){2}(?!$)/g,\"<div></div>\"),a.match(/<div>(<br>|)<\\/div>/)&&(a=\"<p>\"+a.replace(/(<div>(<br>|)<\\/div>)+/g,function(a){return c(a.split(\"</div><div>\").length+1)})+\"</p>\"),\na=a.replace(/<\\/div><div>/g,\"<br>\"),a=a.replace(/<\\/?div>/g,\"\"));if((CKEDITOR.env.gecko||CKEDITOR.env.opera)&&b.enterMode!=CKEDITOR.ENTER_BR)CKEDITOR.env.gecko&&(a=a.replace(/^<br><br>$/,\"<br>\")),-1<a.indexOf(\"<br><br>\")&&(a=\"<p>\"+a.replace(/(<br>){2,}/g,function(a){return c(a.length/4)})+\"</p>\");return p(b,a)}function z(){var b=new CKEDITOR.htmlParser.filter,a={blockquote:1,dl:1,fieldset:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,ol:1,p:1,table:1,ul:1},c=CKEDITOR.tools.extend({br:0},CKEDITOR.dtd.$inline),d=\n{p:1,br:1,\"cke:br\":1},f=CKEDITOR.dtd,h=CKEDITOR.tools.extend({area:1,basefont:1,embed:1,iframe:1,map:1,object:1,param:1},CKEDITOR.dtd.$nonBodyContent,CKEDITOR.dtd.$cdata),l=function(a){delete a.name;a.add(new CKEDITOR.htmlParser.text(\" \"))},g=function(a){for(var b=a,c;(b=b.next)&&b.name&&b.name.match(/^h\\d$/);){c=new CKEDITOR.htmlParser.element(\"cke:br\");c.isEmpty=!0;for(a.add(c);c=b.children.shift();)a.add(c)}};b.addRules({elements:{h1:g,h2:g,h3:g,h4:g,h5:g,h6:g,img:function(a){var a=CKEDITOR.tools.trim(a.attributes.alt||\n\"\"),b=\" \";a&&!a.match(/(^http|\\.(jpe?g|gif|png))/i)&&(b=\" [\"+a+\"] \");return new CKEDITOR.htmlParser.text(b)},td:l,th:l,$:function(b){var k=b.name,g;if(h[k])return!1;b.attributes=[];if(\"br\"==k)return b;if(a[k])b.name=\"p\";else if(c[k])delete b.name;else if(f[k]){g=new CKEDITOR.htmlParser.element(\"cke:br\");g.isEmpty=!0;if(CKEDITOR.dtd.$empty[k])return g;b.add(g,0);g=g.clone();g.isEmpty=!0;b.add(g);delete b.name}d[b.name]||delete b.name;return b}}},{applyToAll:!0});return b}function A(b,a,c){var a=new CKEDITOR.htmlParser.fragment.fromHtml(a),\nd=new CKEDITOR.htmlParser.basicWriter;a.writeHtml(d,c);var a=d.getHtml(),a=a.replace(/\\s*(<\\/?[a-z:]+ ?\\/?>)\\s*/g,\"$1\").replace(/(<cke:br \\/>){2,}/g,\"<cke:br />\").replace(/(<cke:br \\/>)(<\\/?p>|<br \\/>)/g,\"$2\").replace(/(<\\/?p>|<br \\/>)(<cke:br \\/>)/g,\"$1\").replace(/<(cke:)?br( \\/)?>/g,\"<br>\").replace(/<p><\\/p>/g,\"\"),f=0,a=a.replace(/<\\/?p>/g,function(a){if(\"<p>\"==a){if(1<++f)return\"</p><p>\"}else if(0<--f)return\"</p><p>\";return a}).replace(/<p><\\/p>/g,\"\");return p(b,a)}function p(b,a){b.enterMode==\nCKEDITOR.ENTER_BR?a=a.replace(/(<\\/p><p>)+/g,function(a){return CKEDITOR.tools.repeat(\"<br>\",2*(a.length/7))}).replace(/<\\/?p>/g,\"\"):b.enterMode==CKEDITOR.ENTER_DIV&&(a=a.replace(/<(\\/)?p>/g,\"<$1div>\"));return a}CKEDITOR.plugins.add(\"clipboard\",{requires:\"dialog\",init:function(b){var a;w(b);CKEDITOR.dialog.add(\"paste\",CKEDITOR.getUrl(this.path+\"dialogs/paste.js\"));b.on(\"paste\",function(a){var b=a.data.dataValue,f=CKEDITOR.dtd.$block;-1<b.indexOf(\"Apple-\")&&(b=b.replace(/<span class=\"Apple-converted-space\">&nbsp;<\\/span>/gi,\n\" \"),\"html\"!=a.data.type&&(b=b.replace(/<span class=\"Apple-tab-span\"[^>]*>([^<]*)<\\/span>/gi,function(a,b){return b.replace(/\\t/g,\"&nbsp;&nbsp; &nbsp;\")})),-1<b.indexOf('<br class=\"Apple-interchange-newline\">')&&(a.data.startsWithEOL=1,a.data.preSniffing=\"html\",b=b.replace(/<br class=\"Apple-interchange-newline\">/,\"\")),b=b.replace(/(<[^>]+) class=\"Apple-[^\"]*\"/gi,\"$1\"));if(b.match(/^<[^<]+cke_(editable|contents)/i)){var h,l,g=new CKEDITOR.dom.element(\"div\");for(g.setHtml(b);1==g.getChildCount()&&(h=\ng.getFirst())&&h.type==CKEDITOR.NODE_ELEMENT&&(h.hasClass(\"cke_editable\")||h.hasClass(\"cke_contents\"));)g=l=h;l&&(b=l.getHtml().replace(/<br>$/i,\"\"))}CKEDITOR.env.ie?b=b.replace(/^&nbsp;(?: |\\r\\n)?<(\\w+)/g,function(b,d){if(d.toLowerCase()in f){a.data.preSniffing=\"html\";return\"<\"+d}return b}):CKEDITOR.env.webkit?b=b.replace(/<\\/(\\w+)><div><br><\\/div>$/,function(b,d){if(d in f){a.data.endsWithEOL=1;return\"</\"+d+\">\"}return b}):CKEDITOR.env.gecko&&(b=b.replace(/(\\s)<br>$/,\"$1\"));a.data.dataValue=b},null,\nnull,3);b.on(\"paste\",function(c){var c=c.data,d=c.type,f=c.dataValue,h,l=b.config.clipboard_defaultContentType||\"html\";h=\"html\"==d||\"html\"==c.preSniffing?\"html\":x(f);\"htmlifiedtext\"==h?f=y(b.config,f):\"text\"==d&&\"html\"==h&&(f=A(b.config,f,a||(a=z(b))));c.startsWithEOL&&(f='<br data-cke-eol=\"1\">'+f);c.endsWithEOL&&(f+='<br data-cke-eol=\"1\">');\"auto\"==d&&(d=\"html\"==h||\"html\"==l?\"html\":\"text\");c.type=d;c.dataValue=f;delete c.preSniffing;delete c.startsWithEOL;delete c.endsWithEOL},null,null,6);b.on(\"paste\",\nfunction(a){a=a.data;b.insertHtml(a.dataValue,a.type);setTimeout(function(){b.fire(\"afterPaste\")},0)},null,null,1E3);b.on(\"pasteDialog\",function(a){setTimeout(function(){b.openDialog(\"paste\",a.data)},0)})}})})();(function(){var c='<a id=\"{id}\" class=\"cke_button cke_button__{name} cke_button_{state} {cls}\"'+(CKEDITOR.env.gecko&&10900<=CKEDITOR.env.version&&!CKEDITOR.env.hc?\"\":\" href=\\\"javascript:void('{titleJs}')\\\"\")+' title=\"{title}\" tabindex=\"-1\" hidefocus=\"true\" role=\"button\" aria-labelledby=\"{id}_label\" aria-haspopup=\"{hasArrow}\" aria-disabled=\"{ariaDisabled}\"';if(CKEDITOR.env.opera||CKEDITOR.env.gecko&&CKEDITOR.env.mac)c+=' onkeypress=\"return false;\"';CKEDITOR.env.gecko&&(c+=' onblur=\"this.style.cssText = this.style.cssText;\"');\nvar c=c+(' onkeydown=\"return CKEDITOR.tools.callFunction({keydownFn},event);\" onfocus=\"return CKEDITOR.tools.callFunction({focusFn},event);\"  onmousedown=\"return CKEDITOR.tools.callFunction({mousedownFn},event);\" '+(CKEDITOR.env.ie?'onclick=\"return false;\" onmouseup':\"onclick\")+'=\"CKEDITOR.tools.callFunction({clickFn},this);return false;\"><span class=\"cke_button_icon cke_button__{iconName}_icon\" style=\"{style}\"'),c=c+'>&nbsp;</span><span id=\"{id}_label\" class=\"cke_button_label cke_button__{name}_label\" aria-hidden=\"false\">{label}</span>{arrowHtml}</a>',\nm=CKEDITOR.addTemplate(\"buttonArrow\",'<span class=\"cke_button_arrow\">'+(CKEDITOR.env.hc?\"&#9660;\":\"\")+\"</span>\"),n=CKEDITOR.addTemplate(\"button\",c);CKEDITOR.plugins.add(\"button\",{beforeInit:function(a){a.ui.addHandler(CKEDITOR.UI_BUTTON,CKEDITOR.ui.button.handler)}});CKEDITOR.UI_BUTTON=\"button\";CKEDITOR.ui.button=function(a){CKEDITOR.tools.extend(this,a,{title:a.label,click:a.click||function(b){b.execCommand(a.command)}});this._={}};CKEDITOR.ui.button.handler={create:function(a){return new CKEDITOR.ui.button(a)}};\nCKEDITOR.ui.button.prototype={render:function(a,b){var c=CKEDITOR.env,i=this._.id=CKEDITOR.tools.getNextId(),f=\"\",e=this.command,l;this._.editor=a;var d={id:i,button:this,editor:a,focus:function(){CKEDITOR.document.getById(i).focus()},execute:function(){this.button.click(a)},attach:function(a){this.button.attach(a)}},o=CKEDITOR.tools.addFunction(function(a){if(d.onkey)return a=new CKEDITOR.dom.event(a),!1!==d.onkey(d,a.getKeystroke())}),p=CKEDITOR.tools.addFunction(function(a){var b;d.onfocus&&(b=\n!1!==d.onfocus(d,new CKEDITOR.dom.event(a)));CKEDITOR.env.gecko&&10900>CKEDITOR.env.version&&a.preventBubble();return b}),j=0,q=CKEDITOR.tools.addFunction(function(){if(CKEDITOR.env.opera){var b=a.editable();b.isInline()&&b.hasFocus&&(a.lockSelection(),j=1)}});d.clickFn=l=CKEDITOR.tools.addFunction(function(){j&&(a.unlockSelection(1),j=0);d.execute()});if(this.modes){var k={},g=function(){var b=a.mode;b&&(b=this.modes[b]?void 0!=k[b]?k[b]:CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED,b=a.readOnly&&\n!this.readOnly?CKEDITOR.TRISTATE_DISABLED:b,this.setState(b),this.refresh&&this.refresh())};a.on(\"beforeModeUnload\",function(){a.mode&&this._.state!=CKEDITOR.TRISTATE_DISABLED&&(k[a.mode]=this._.state)},this);a.on(\"activeFilterChange\",g,this);a.on(\"mode\",g,this);!this.readOnly&&a.on(\"readOnly\",g,this)}else if(e&&(e=a.getCommand(e)))e.on(\"state\",function(){this.setState(e.state)},this),f+=e.state==CKEDITOR.TRISTATE_ON?\"on\":e.state==CKEDITOR.TRISTATE_DISABLED?\"disabled\":\"off\";if(this.directional)a.on(\"contentDirChanged\",\nfunction(b){var c=CKEDITOR.document.getById(this._.id),d=c.getFirst(),b=b.data;b!=a.lang.dir?c.addClass(\"cke_\"+b):c.removeClass(\"cke_ltr\").removeClass(\"cke_rtl\");d.setAttribute(\"style\",CKEDITOR.skin.getIconStyle(h,\"rtl\"==b,this.icon,this.iconOffset))},this);e||(f+=\"off\");var h=g=this.name||this.command;this.icon&&!/\\./.test(this.icon)&&(h=this.icon,this.icon=null);c={id:i,name:g,iconName:h,label:this.label,cls:this.className||\"\",state:f,ariaDisabled:\"disabled\"==f?\"true\":\"false\",title:this.title,titleJs:c.gecko&&\n10900<=c.version&&!c.hc?\"\":(this.title||\"\").replace(\"'\",\"\"),hasArrow:this.hasArrow?\"true\":\"false\",keydownFn:o,mousedownFn:q,focusFn:p,clickFn:l,style:CKEDITOR.skin.getIconStyle(h,\"rtl\"==a.lang.dir,this.icon,this.iconOffset),arrowHtml:this.hasArrow?m.output():\"\"};n.output(c,b);if(this.onRender)this.onRender();return d},setState:function(a){if(this._.state==a)return!1;this._.state=a;var b=CKEDITOR.document.getById(this._.id);return b?(b.setState(a,\"cke_button\"),a==CKEDITOR.TRISTATE_DISABLED?b.setAttribute(\"aria-disabled\",\n!0):b.removeAttribute(\"aria-disabled\"),a==CKEDITOR.TRISTATE_ON?b.setAttribute(\"aria-pressed\",!0):b.removeAttribute(\"aria-pressed\"),!0):!1},getState:function(){return this._.state},toFeature:function(a){if(this._.feature)return this._.feature;var b=this;!this.allowedContent&&(!this.requiredContent&&this.command)&&(b=a.getCommand(this.command)||b);return this._.feature=b}};CKEDITOR.ui.prototype.addButton=function(a,b){this.add(a,CKEDITOR.UI_BUTTON,b)}})();CKEDITOR.plugins.add(\"panelbutton\",{requires:\"button\",onLoad:function(){function e(c){var a=this._;a.state!=CKEDITOR.TRISTATE_DISABLED&&(this.createPanel(c),a.on?a.panel.hide():a.panel.showBlock(this._.id,this.document.getById(this._.id),4))}CKEDITOR.ui.panelButton=CKEDITOR.tools.createClass({base:CKEDITOR.ui.button,$:function(c){var a=c.panel||{};delete c.panel;this.base(c);this.document=a.parent&&a.parent.getDocument()||CKEDITOR.document;a.block={attributes:a.attributes};this.hasArrow=a.toolbarRelated=\n!0;this.click=e;this._={panelDefinition:a}},statics:{handler:{create:function(c){return new CKEDITOR.ui.panelButton(c)}}},proto:{createPanel:function(c){var a=this._;if(!a.panel){var f=this._.panelDefinition,e=this._.panelDefinition.block,g=f.parent||CKEDITOR.document.getBody(),d=this._.panel=new CKEDITOR.ui.floatPanel(c,g,f),f=d.addBlock(a.id,e),b=this;d.onShow=function(){b.className&&this.element.addClass(b.className+\"_panel\");b.setState(CKEDITOR.TRISTATE_ON);a.on=1;b.editorFocus&&c.focus();if(b.onOpen)b.onOpen()};\nd.onHide=function(d){b.className&&this.element.getFirst().removeClass(b.className+\"_panel\");b.setState(b.modes&&b.modes[c.mode]?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED);a.on=0;if(!d&&b.onClose)b.onClose()};d.onEscape=function(){d.hide(1);b.document.getById(a.id).focus()};if(this.onBlock)this.onBlock(d,f);f.onHide=function(){a.on=0;b.setState(CKEDITOR.TRISTATE_OFF)}}}}})},beforeInit:function(e){e.ui.addHandler(CKEDITOR.UI_PANELBUTTON,CKEDITOR.ui.panelButton.handler)}});\nCKEDITOR.UI_PANELBUTTON=\"panelbutton\";(function(){CKEDITOR.plugins.add(\"panel\",{beforeInit:function(a){a.ui.addHandler(CKEDITOR.UI_PANEL,CKEDITOR.ui.panel.handler)}});CKEDITOR.UI_PANEL=\"panel\";CKEDITOR.ui.panel=function(a,b){b&&CKEDITOR.tools.extend(this,b);CKEDITOR.tools.extend(this,{className:\"\",css:[]});this.id=CKEDITOR.tools.getNextId();this.document=a;this.isFramed=this.forceIFrame||this.css.length;this._={blocks:{}}};CKEDITOR.ui.panel.handler={create:function(a){return new CKEDITOR.ui.panel(a)}};var f=CKEDITOR.addTemplate(\"panel\",\n'<div lang=\"{langCode}\" id=\"{id}\" dir={dir} class=\"cke cke_reset_all {editorId} cke_panel cke_panel {cls} cke_{dir}\" style=\"z-index:{z-index}\" role=\"presentation\">{frame}</div>'),g=CKEDITOR.addTemplate(\"panel-frame\",'<iframe id=\"{id}\" class=\"cke_panel_frame\" role=\"presentation\" frameborder=\"0\" src=\"{src}\"></iframe>'),h=CKEDITOR.addTemplate(\"panel-frame-inner\",'<!DOCTYPE html><html class=\"cke_panel_container {env}\" dir=\"{dir}\" lang=\"{langCode}\"><head>{css}</head><body class=\"cke_{dir}\" style=\"margin:0;padding:0\" onload=\"{onload}\"></body></html>');\nCKEDITOR.ui.panel.prototype={render:function(a,b){this.getHolderElement=function(){var a=this._.holder;if(!a){if(this.isFramed){var a=this.document.getById(this.id+\"_frame\"),b=a.getParent(),a=a.getFrameDocument();CKEDITOR.env.iOS&&b.setStyles({overflow:\"scroll\",\"-webkit-overflow-scrolling\":\"touch\"});b=CKEDITOR.tools.addFunction(CKEDITOR.tools.bind(function(){this.isLoaded=!0;if(this.onLoad)this.onLoad()},this));a.write(h.output(CKEDITOR.tools.extend({css:CKEDITOR.tools.buildStyleHtml(this.css),onload:\"window.parent.CKEDITOR.tools.callFunction(\"+\nb+\");\"},d)));a.getWindow().$.CKEDITOR=CKEDITOR;a.on(\"key\"+(CKEDITOR.env.opera?\"press\":\"down\"),function(a){var b=a.data.getKeystroke(),c=this.document.getById(this.id).getAttribute(\"dir\");this._.onKeyDown&&!1===this._.onKeyDown(b)?a.data.preventDefault():(27==b||b==(\"rtl\"==c?39:37))&&this.onEscape&&!1===this.onEscape(b)&&a.data.preventDefault()},this);a=a.getBody();a.unselectable();CKEDITOR.env.air&&CKEDITOR.tools.callFunction(b)}else a=this.document.getById(this.id);this._.holder=a}return a};var d=\n{editorId:a.id,id:this.id,langCode:a.langCode,dir:a.lang.dir,cls:this.className,frame:\"\",env:CKEDITOR.env.cssClass,\"z-index\":a.config.baseFloatZIndex+1};if(this.isFramed){var e=CKEDITOR.env.air?\"javascript:void(0)\":CKEDITOR.env.ie?\"javascript:void(function(){\"+encodeURIComponent(\"document.open();(\"+CKEDITOR.tools.fixDomain+\")();document.close();\")+\"}())\":\"\";d.frame=g.output({id:this.id+\"_frame\",src:e})}e=f.output(d);b&&b.push(e);return e},addBlock:function(a,b){b=this._.blocks[a]=b instanceof CKEDITOR.ui.panel.block?\nb:new CKEDITOR.ui.panel.block(this.getHolderElement(),b);this._.currentBlock||this.showBlock(a);return b},getBlock:function(a){return this._.blocks[a]},showBlock:function(a){var a=this._.blocks[a],b=this._.currentBlock,d=!this.forceIFrame||CKEDITOR.env.ie?this._.holder:this.document.getById(this.id+\"_frame\");b&&b.hide();this._.currentBlock=a;CKEDITOR.fire(\"ariaWidget\",d);a._.focusIndex=-1;this._.onKeyDown=a.onKeyDown&&CKEDITOR.tools.bind(a.onKeyDown,a);a.show();return a},destroy:function(){this.element&&\nthis.element.remove()}};CKEDITOR.ui.panel.block=CKEDITOR.tools.createClass({$:function(a,b){this.element=a.append(a.getDocument().createElement(\"div\",{attributes:{tabindex:-1,\"class\":\"cke_panel_block\"},styles:{display:\"none\"}}));b&&CKEDITOR.tools.extend(this,b);this.element.setAttributes({role:this.attributes.role||\"presentation\",\"aria-label\":this.attributes[\"aria-label\"],title:this.attributes.title||this.attributes[\"aria-label\"]});this.keys={};this._.focusIndex=-1;this.element.disableContextMenu()},\n_:{markItem:function(a){-1!=a&&(a=this.element.getElementsByTag(\"a\").getItem(this._.focusIndex=a),(CKEDITOR.env.webkit||CKEDITOR.env.opera)&&a.getDocument().getWindow().focus(),a.focus(),this.onMark&&this.onMark(a))}},proto:{show:function(){this.element.setStyle(\"display\",\"\")},hide:function(){(!this.onHide||!0!==this.onHide.call(this))&&this.element.setStyle(\"display\",\"none\")},onKeyDown:function(a,b){var d=this.keys[a];switch(d){case \"next\":for(var e=this._.focusIndex,d=this.element.getElementsByTag(\"a\"),\nc;c=d.getItem(++e);)if(c.getAttribute(\"_cke_focus\")&&c.$.offsetWidth){this._.focusIndex=e;c.focus();break}return!c&&!b?(this._.focusIndex=-1,this.onKeyDown(a,1)):!1;case \"prev\":e=this._.focusIndex;for(d=this.element.getElementsByTag(\"a\");0<e&&(c=d.getItem(--e));){if(c.getAttribute(\"_cke_focus\")&&c.$.offsetWidth){this._.focusIndex=e;c.focus();break}c=null}return!c&&!b?(this._.focusIndex=d.count(),this.onKeyDown(a,1)):!1;case \"click\":case \"mouseup\":return e=this._.focusIndex,(c=0<=e&&this.element.getElementsByTag(\"a\").getItem(e))&&\n(c.$[d]?c.$[d]():c.$[\"on\"+d]()),!1}return!0}}})})();CKEDITOR.plugins.add(\"floatpanel\",{requires:\"panel\"});\n(function(){function q(a,b,c,i,f){var f=CKEDITOR.tools.genKey(b.getUniqueId(),c.getUniqueId(),a.lang.dir,a.uiColor||\"\",i.css||\"\",f||\"\"),h=g[f];h||(h=g[f]=new CKEDITOR.ui.panel(b,i),h.element=c.append(CKEDITOR.dom.element.createFromHtml(h.render(a),b)),h.element.setStyles({display:\"none\",position:\"absolute\"}));return h}var g={};CKEDITOR.ui.floatPanel=CKEDITOR.tools.createClass({$:function(a,b,c,i){function f(){d.hide()}c.forceIFrame=1;c.toolbarRelated&&a.elementMode==CKEDITOR.ELEMENT_MODE_INLINE&&\n(b=CKEDITOR.document.getById(\"cke_\"+a.name));var h=b.getDocument(),i=q(a,h,b,c,i||0),j=i.element,l=j.getFirst(),d=this;j.disableContextMenu();this.element=j;this._={editor:a,panel:i,parentElement:b,definition:c,document:h,iframe:l,children:[],dir:a.lang.dir};a.on(\"mode\",f);a.on(\"resize\",f);h.getWindow().on(\"resize\",f)},proto:{addBlock:function(a,b){return this._.panel.addBlock(a,b)},addListBlock:function(a,b){return this._.panel.addListBlock(a,b)},getBlock:function(a){return this._.panel.getBlock(a)},\nshowBlock:function(a,b,c,i,f,h){var j=this._.panel,l=j.showBlock(a);this.allowBlur(!1);a=this._.editor.editable();this._.returnFocus=a.hasFocus?a:new CKEDITOR.dom.element(CKEDITOR.document.$.activeElement);var d=this.element,a=this._.iframe,a=CKEDITOR.env.ie?a:new CKEDITOR.dom.window(a.$.contentWindow),g=d.getDocument(),o=this._.parentElement.getPositionedAncestor(),p=b.getDocumentPosition(g),g=o?o.getDocumentPosition(g):{x:0,y:0},m=\"rtl\"==this._.dir,e=p.x+(i||0)-g.x,k=p.y+(f||0)-g.y;if(m&&(1==c||\n4==c))e+=b.$.offsetWidth;else if(!m&&(2==c||3==c))e+=b.$.offsetWidth-1;if(3==c||4==c)k+=b.$.offsetHeight-1;this._.panel._.offsetParentId=b.getId();d.setStyles({top:k+\"px\",left:0,display:\"\"});d.setOpacity(0);d.getFirst().removeStyle(\"width\");this._.editor.focusManager.add(a);this._.blurSet||(CKEDITOR.event.useCapture=!0,a.on(\"blur\",function(a){this.allowBlur()&&a.data.getPhase()==CKEDITOR.EVENT_PHASE_AT_TARGET&&(this.visible&&!this._.activeChild)&&(delete this._.returnFocus,this.hide())},this),a.on(\"focus\",\nfunction(){this._.focused=!0;this.hideChild();this.allowBlur(!0)},this),CKEDITOR.event.useCapture=!1,this._.blurSet=1);j.onEscape=CKEDITOR.tools.bind(function(a){if(this.onEscape&&this.onEscape(a)===false)return false},this);CKEDITOR.tools.setTimeout(function(){var a=CKEDITOR.tools.bind(function(){d.removeStyle(\"width\");if(l.autoSize){var a=l.element.getDocument(),a=(CKEDITOR.env.webkit?l.element:a.getBody()).$.scrollWidth;CKEDITOR.env.ie&&(CKEDITOR.env.quirks&&a>0)&&(a=a+((d.$.offsetWidth||0)-(d.$.clientWidth||\n0)+3));d.setStyle(\"width\",a+10+\"px\");a=l.element.$.scrollHeight;CKEDITOR.env.ie&&(CKEDITOR.env.quirks&&a>0)&&(a=a+((d.$.offsetHeight||0)-(d.$.clientHeight||0)+3));d.setStyle(\"height\",a+\"px\");j._.currentBlock.element.setStyle(\"display\",\"none\").removeStyle(\"display\")}else d.removeStyle(\"height\");m&&(e=e-d.$.offsetWidth);d.setStyle(\"left\",e+\"px\");var b=j.element.getWindow(),a=d.$.getBoundingClientRect(),b=b.getViewPaneSize(),c=a.width||a.right-a.left,f=a.height||a.bottom-a.top,i=m?a.right:b.width-a.left,\ng=m?b.width-a.right:a.left;m?i<c&&(e=g>c?e+c:b.width>c?e-a.left:e-a.right+b.width):i<c&&(e=g>c?e-c:b.width>c?e-a.right+b.width:e-a.left);c=a.top;b.height-a.top<f&&(k=c>f?k-f:b.height>f?k-a.bottom+b.height:k-a.top);if(CKEDITOR.env.ie){b=a=new CKEDITOR.dom.element(d.$.offsetParent);b.getName()==\"html\"&&(b=b.getDocument().getBody());b.getComputedStyle(\"direction\")==\"rtl\"&&(e=CKEDITOR.env.ie8Compat?e-d.getDocument().getDocumentElement().$.scrollLeft*2:e-(a.$.scrollWidth-a.$.clientWidth))}var a=d.getFirst(),\nn;(n=a.getCustomData(\"activePanel\"))&&n.onHide&&n.onHide.call(this,1);a.setCustomData(\"activePanel\",this);d.setStyles({top:k+\"px\",left:e+\"px\"});d.setOpacity(1);h&&h()},this);j.isLoaded?a():j.onLoad=a;CKEDITOR.tools.setTimeout(function(){var a=CKEDITOR.env.webkit&&CKEDITOR.document.getWindow().getScrollPosition().y;this.focus();l.element.focus();if(CKEDITOR.env.webkit)CKEDITOR.document.getBody().$.scrollTop=a;this.allowBlur(true);this._.editor.fire(\"panelShow\",this)},0,this)},CKEDITOR.env.air?200:\n0,this);this.visible=1;this.onShow&&this.onShow.call(this)},focus:function(){if(CKEDITOR.env.webkit){var a=CKEDITOR.document.getActive();!a.equals(this._.iframe)&&a.$.blur()}(this._.lastFocused||this._.iframe.getFrameDocument().getWindow()).focus()},blur:function(){var a=this._.iframe.getFrameDocument().getActive();a.is(\"a\")&&(this._.lastFocused=a)},hide:function(a){if(this.visible&&(!this.onHide||!0!==this.onHide.call(this))){this.hideChild();CKEDITOR.env.gecko&&this._.iframe.getFrameDocument().$.activeElement.blur();\nthis.element.setStyle(\"display\",\"none\");this.visible=0;this.element.getFirst().removeCustomData(\"activePanel\");if(a=a&&this._.returnFocus)CKEDITOR.env.webkit&&a.type&&a.getWindow().$.focus(),a.focus();delete this._.lastFocused;this._.editor.fire(\"panelHide\",this)}},allowBlur:function(a){var b=this._.panel;void 0!=a&&(b.allowBlur=a);return b.allowBlur},showAsChild:function(a,b,c,g,f,h){this._.activeChild==a&&a._.panel._.offsetParentId==c.getId()||(this.hideChild(),a.onHide=CKEDITOR.tools.bind(function(){CKEDITOR.tools.setTimeout(function(){this._.focused||\nthis.hide()},0,this)},this),this._.activeChild=a,this._.focused=!1,a.showBlock(b,c,g,f,h),this.blur(),(CKEDITOR.env.ie7Compat||CKEDITOR.env.ie6Compat)&&setTimeout(function(){a.element.getChild(0).$.style.cssText+=\"\"},100))},hideChild:function(a){var b=this._.activeChild;b&&(delete b.onHide,delete this._.activeChild,b.hide(),a&&this.focus())}}});CKEDITOR.on(\"instanceDestroyed\",function(){var a=CKEDITOR.tools.isEmpty(CKEDITOR.instances),b;for(b in g){var c=g[b];a?c.destroy():c.element.hide()}a&&(g=\n{})})})();CKEDITOR.plugins.add(\"colorbutton\",{requires:\"panelbutton,floatpanel\",init:function(c){function m(l,g,e,h){var j=new CKEDITOR.style(i[\"colorButton_\"+g+\"Style\"]),k=CKEDITOR.tools.getNextId()+\"_colorBox\";c.ui.add(l,CKEDITOR.UI_PANELBUTTON,{label:e,title:e,modes:{wysiwyg:1},editorFocus:0,toolbar:\"colors,\"+h,allowedContent:j,requiredContent:j,panel:{css:CKEDITOR.skin.getPath(\"editor\"),attributes:{role:\"listbox\",\"aria-label\":f.panelTitle}},onBlock:function(a,b){b.autoSize=!0;b.element.addClass(\"cke_colorblock\");\nb.element.setHtml(o(a,g,k));b.element.getDocument().getBody().setStyle(\"overflow\",\"hidden\");CKEDITOR.ui.fire(\"ready\",this);var d=b.keys,e=\"rtl\"==c.lang.dir;d[e?37:39]=\"next\";d[40]=\"next\";d[9]=\"next\";d[e?39:37]=\"prev\";d[38]=\"prev\";d[CKEDITOR.SHIFT+9]=\"prev\";d[32]=\"click\"},refresh:function(){c.activeFilter.check(j)||this.setState(CKEDITOR.TRISTATE_DISABLED)},onOpen:function(){var a=c.getSelection(),a=a&&a.getStartElement(),a=c.elementPath(a),b;if(a){a=a.block||a.blockLimit||c.document.getBody();do b=\na&&a.getComputedStyle(\"back\"==g?\"background-color\":\"color\")||\"transparent\";while(\"back\"==g&&\"transparent\"==b&&a&&(a=a.getParent()));if(!b||\"transparent\"==b)b=\"#ffffff\";this._.panel._.iframe.getFrameDocument().getById(k).setStyle(\"background-color\",b);return b}}})}function o(l,g,e){var h=[],j=i.colorButton_colors.split(\",\"),k=CKEDITOR.tools.addFunction(function(a,b){if(\"?\"==a){var e=arguments.callee,d=function(a){this.removeListener(\"ok\",d);this.removeListener(\"cancel\",d);\"ok\"==a.name&&e(this.getContentElement(\"picker\",\n\"selectedColor\").getValue(),b)};c.openDialog(\"colordialog\",function(){this.on(\"ok\",d);this.on(\"cancel\",d)})}else{c.focus();l.hide();c.fire(\"saveSnapshot\");c.removeStyle(new CKEDITOR.style(i[\"colorButton_\"+b+\"Style\"],{color:\"inherit\"}));if(a){var f=i[\"colorButton_\"+b+\"Style\"];f.childRule=\"back\"==b?function(a){return n(a)}:function(a){return!(a.is(\"a\")||a.getElementsByTag(\"a\").count())||n(a)};c.applyStyle(new CKEDITOR.style(f,{color:a}))}c.fire(\"saveSnapshot\")}});h.push('<a class=\"cke_colorauto\" _cke_focus=1 hidefocus=true title=\"',\nf.auto,'\" onclick=\"CKEDITOR.tools.callFunction(',k,\",null,'\",g,\"');return false;\\\" href=\\\"javascript:void('\",f.auto,'\\')\" role=\"option\"><table role=\"presentation\" cellspacing=0 cellpadding=0 width=\"100%\"><tr><td><span class=\"cke_colorbox\" id=\"',e,'\"></span></td><td colspan=7 align=center>',f.auto,'</td></tr></table></a><table role=\"presentation\" cellspacing=0 cellpadding=0 width=\"100%\">');for(e=0;e<j.length;e++){0===e%8&&h.push(\"</tr><tr>\");var a=j[e].split(\"/\"),b=a[0],d=a[1]||b;a[1]||(b=\"#\"+b.replace(/^(.)(.)(.)$/,\n\"$1$1$2$2$3$3\"));a=c.lang.colorbutton.colors[d]||d;h.push('<td><a class=\"cke_colorbox\" _cke_focus=1 hidefocus=true title=\"',a,'\" onclick=\"CKEDITOR.tools.callFunction(',k,\",'\",b,\"','\",g,\"'); return false;\\\" href=\\\"javascript:void('\",a,'\\')\" role=\"option\"><span class=\"cke_colorbox\" style=\"background-color:#',d,'\"></span></a></td>')}(c.plugins.colordialog&&void 0===i.colorButton_enableMore||i.colorButton_enableMore)&&h.push('</tr><tr><td colspan=8 align=center><a class=\"cke_colormore\" _cke_focus=1 hidefocus=true title=\"',\nf.more,'\" onclick=\"CKEDITOR.tools.callFunction(',k,\",'?','\",g,\"');return false;\\\" href=\\\"javascript:void('\",f.more,\"')\\\"\",' role=\"option\">',f.more,\"</a></td>\");h.push(\"</tr></table>\");return h.join(\"\")}function n(c){return\"false\"==c.getAttribute(\"contentEditable\")||c.getAttribute(\"data-nostyle\")}var i=c.config,f=c.lang.colorbutton;CKEDITOR.env.hc||(m(\"TextColor\",\"fore\",f.textColorTitle,10),m(\"BGColor\",\"back\",f.bgColorTitle,20))}});CKEDITOR.config.colorButton_colors=\"000,800000,8B4513,2F4F4F,008080,000080,4B0082,696969,B22222,A52A2A,DAA520,006400,40E0D0,0000CD,800080,808080,F00,FF8C00,FFD700,008000,0FF,00F,EE82EE,A9A9A9,FFA07A,FFA500,FFFF00,00FF00,AFEEEE,ADD8E6,DDA0DD,D3D3D3,FFF0F5,FAEBD7,FFFFE0,F0FFF0,F0FFFF,F0F8FF,E6E6FA,FFF\";\nCKEDITOR.config.colorButton_foreStyle={element:\"span\",styles:{color:\"#(color)\"},overrides:[{element:\"font\",attributes:{color:null}}]};CKEDITOR.config.colorButton_backStyle={element:\"span\",styles:{\"background-color\":\"#(color)\"}};CKEDITOR.plugins.colordialog={requires:\"dialog\",init:function(b){var c=new CKEDITOR.dialogCommand(\"colordialog\");c.editorFocus=!1;b.addCommand(\"colordialog\",c);CKEDITOR.dialog.add(\"colordialog\",this.path+\"dialogs/colordialog.js\");b.getColorFromDialog=function(c,f){var d=function(a){this.removeListener(\"ok\",d);this.removeListener(\"cancel\",d);a=\"ok\"==a.name?this.getValueOf(\"picker\",\"selectedColor\"):null;c.call(f,a)},e=function(a){a.on(\"ok\",d);a.on(\"cancel\",d)};b.execCommand(\"colordialog\");if(b._.storedDialogs&&\nb._.storedDialogs.colordialog)e(b._.storedDialogs.colordialog);else CKEDITOR.on(\"dialogDefinition\",function(a){if(\"colordialog\"==a.data.name){var b=a.data.definition;a.removeListener();b.onLoad=CKEDITOR.tools.override(b.onLoad,function(a){return function(){e(this);b.onLoad=a;\"function\"==typeof a&&a.call(this)}})}})}}};CKEDITOR.plugins.add(\"colordialog\",CKEDITOR.plugins.colordialog);(function(){CKEDITOR.plugins.add(\"templates\",{requires:\"dialog\",init:function(a){CKEDITOR.dialog.add(\"templates\",CKEDITOR.getUrl(this.path+\"dialogs/templates.js\"));a.addCommand(\"templates\",new CKEDITOR.dialogCommand(\"templates\"));a.ui.addButton&&a.ui.addButton(\"Templates\",{label:a.lang.templates.button,command:\"templates\",toolbar:\"doctools,10\"})}});var c={},f={};CKEDITOR.addTemplates=function(a,d){c[a]=d};CKEDITOR.getTemplates=function(a){return c[a]};CKEDITOR.loadTemplates=function(a,d){for(var e=\n[],b=0,c=a.length;b<c;b++)f[a[b]]||(e.push(a[b]),f[a[b]]=1);e.length?CKEDITOR.scriptLoader.load(e,d):setTimeout(d,0)}})();CKEDITOR.config.templates_files=[CKEDITOR.getUrl(\"plugins/templates/templates/default.js\")];CKEDITOR.config.templates_replaceContent=!0;CKEDITOR.plugins.add(\"menu\",{requires:\"floatpanel\",beforeInit:function(g){for(var h=g.config.menu_groups.split(\",\"),m=g._.menuGroups={},l=g._.menuItems={},a=0;a<h.length;a++)m[h[a]]=a+1;g.addMenuGroup=function(b,a){m[b]=a||100};g.addMenuItem=function(a,c){m[c.group]&&(l[a]=new CKEDITOR.menuItem(this,a,c))};g.addMenuItems=function(a){for(var c in a)this.addMenuItem(c,a[c])};g.getMenuItem=function(a){return l[a]};g.removeMenuItem=function(a){delete l[a]}}});\n(function(){function g(a){a.sort(function(a,c){return a.group<c.group?-1:a.group>c.group?1:a.order<c.order?-1:a.order>c.order?1:0})}var h='<span class=\"cke_menuitem\"><a id=\"{id}\" class=\"cke_menubutton cke_menubutton__{name} cke_menubutton_{state} {cls}\" href=\"{href}\" title=\"{title}\" tabindex=\"-1\"_cke_focus=1 hidefocus=\"true\" role=\"{role}\" aria-haspopup=\"{hasPopup}\" aria-disabled=\"{disabled}\" {ariaChecked}';if(CKEDITOR.env.opera||CKEDITOR.env.gecko&&CKEDITOR.env.mac)h+=' onkeypress=\"return false;\"';\nCKEDITOR.env.gecko&&(h+=' onblur=\"this.style.cssText = this.style.cssText;\"');var h=h+(' onmouseover=\"CKEDITOR.tools.callFunction({hoverFn},{index});\" onmouseout=\"CKEDITOR.tools.callFunction({moveOutFn},{index});\" '+(CKEDITOR.env.ie?'onclick=\"return false;\" onmouseup':\"onclick\")+'=\"CKEDITOR.tools.callFunction({clickFn},{index}); return false;\">'),m=CKEDITOR.addTemplate(\"menuItem\",h+'<span class=\"cke_menubutton_inner\"><span class=\"cke_menubutton_icon\"><span class=\"cke_button_icon cke_button__{iconName}_icon\" style=\"{iconStyle}\"></span></span><span class=\"cke_menubutton_label\">{label}</span>{arrowHtml}</span></a></span>'),\nl=CKEDITOR.addTemplate(\"menuArrow\",'<span class=\"cke_menuarrow\"><span>{label}</span></span>');CKEDITOR.menu=CKEDITOR.tools.createClass({$:function(a,b){b=this._.definition=b||{};this.id=CKEDITOR.tools.getNextId();this.editor=a;this.items=[];this._.listeners=[];this._.level=b.level||1;var c=CKEDITOR.tools.extend({},b.panel,{css:[CKEDITOR.skin.getPath(\"editor\")],level:this._.level-1,block:{}}),k=c.block.attributes=c.attributes||{};!k.role&&(k.role=\"menu\");this._.panelDefinition=c},_:{onShow:function(){var a=\nthis.editor.getSelection(),b=a&&a.getStartElement(),c=this.editor.elementPath(),k=this._.listeners;this.removeAll();for(var e=0;e<k.length;e++){var j=k[e](b,a,c);if(j)for(var i in j){var f=this.editor.getMenuItem(i);if(f&&(!f.command||this.editor.getCommand(f.command).state))f.state=j[i],this.add(f)}}},onClick:function(a){this.hide();if(a.onClick)a.onClick();else a.command&&this.editor.execCommand(a.command)},onEscape:function(a){var b=this.parent;b?b._.panel.hideChild(1):27==a&&this.hide(1);return!1},\nonHide:function(){this.onHide&&this.onHide()},showSubMenu:function(a){var b=this._.subMenu,c=this.items[a];if(c=c.getItems&&c.getItems()){b?b.removeAll():(b=this._.subMenu=new CKEDITOR.menu(this.editor,CKEDITOR.tools.extend({},this._.definition,{level:this._.level+1},!0)),b.parent=this,b._.onClick=CKEDITOR.tools.bind(this._.onClick,this));for(var k in c){var e=this.editor.getMenuItem(k);e&&(e.state=c[k],b.add(e))}var j=this._.panel.getBlock(this.id).element.getDocument().getById(this.id+(\"\"+a));setTimeout(function(){b.show(j,\n2)},0)}else this._.panel.hideChild(1)}},proto:{add:function(a){a.order||(a.order=this.items.length);this.items.push(a)},removeAll:function(){this.items=[]},show:function(a,b,c,k){if(!this.parent&&(this._.onShow(),!this.items.length))return;var b=b||(\"rtl\"==this.editor.lang.dir?2:1),e=this.items,j=this.editor,i=this._.panel,f=this._.element;if(!i){i=this._.panel=new CKEDITOR.ui.floatPanel(this.editor,CKEDITOR.document.getBody(),this._.panelDefinition,this._.level);i.onEscape=CKEDITOR.tools.bind(function(a){if(!1===\nthis._.onEscape(a))return!1},this);i.onShow=function(){i._.panel.getHolderElement().getParent().addClass(\"cke cke_reset_all\")};i.onHide=CKEDITOR.tools.bind(function(){this._.onHide&&this._.onHide()},this);f=i.addBlock(this.id,this._.panelDefinition.block);f.autoSize=!0;var d=f.keys;d[40]=\"next\";d[9]=\"next\";d[38]=\"prev\";d[CKEDITOR.SHIFT+9]=\"prev\";d[\"rtl\"==j.lang.dir?37:39]=CKEDITOR.env.ie?\"mouseup\":\"click\";d[32]=CKEDITOR.env.ie?\"mouseup\":\"click\";CKEDITOR.env.ie&&(d[13]=\"mouseup\");f=this._.element=\nf.element;d=f.getDocument();d.getBody().setStyle(\"overflow\",\"hidden\");d.getElementsByTag(\"html\").getItem(0).setStyle(\"overflow\",\"hidden\");this._.itemOverFn=CKEDITOR.tools.addFunction(function(a){clearTimeout(this._.showSubTimeout);this._.showSubTimeout=CKEDITOR.tools.setTimeout(this._.showSubMenu,j.config.menu_subMenuDelay||400,this,[a])},this);this._.itemOutFn=CKEDITOR.tools.addFunction(function(){clearTimeout(this._.showSubTimeout)},this);this._.itemClickFn=CKEDITOR.tools.addFunction(function(a){var b=\nthis.items[a];if(b.state==CKEDITOR.TRISTATE_DISABLED)this.hide(1);else if(b.getItems)this._.showSubMenu(a);else this._.onClick(b)},this)}g(e);for(var d=j.elementPath(),d=['<div class=\"cke_menu'+(d&&d.direction()!=j.lang.dir?\" cke_mixed_dir_content\":\"\")+'\" role=\"presentation\">'],h=e.length,m=h&&e[0].group,l=0;l<h;l++){var n=e[l];m!=n.group&&(d.push('<div class=\"cke_menuseparator\" role=\"separator\"></div>'),m=n.group);n.render(this,l,d)}d.push(\"</div>\");f.setHtml(d.join(\"\"));CKEDITOR.ui.fire(\"ready\",\nthis);this.parent?this.parent._.panel.showAsChild(i,this.id,a,b,c,k):i.showBlock(this.id,a,b,c,k);j.fire(\"menuShow\",[i])},addListener:function(a){this._.listeners.push(a)},hide:function(a){this._.onHide&&this._.onHide();this._.panel&&this._.panel.hide(a)}}});CKEDITOR.menuItem=CKEDITOR.tools.createClass({$:function(a,b,c){CKEDITOR.tools.extend(this,c,{order:0,className:\"cke_menubutton__\"+b});this.group=a._.menuGroups[this.group];this.editor=a;this.name=b},proto:{render:function(a,b,c){var h=a.id+(\"\"+\nb),e=\"undefined\"==typeof this.state?CKEDITOR.TRISTATE_OFF:this.state,j=\"\",i=e==CKEDITOR.TRISTATE_ON?\"on\":e==CKEDITOR.TRISTATE_DISABLED?\"disabled\":\"off\";this.role in{menuitemcheckbox:1,menuitemradio:1}&&(j=' aria-checked=\"'+(e==CKEDITOR.TRISTATE_ON?\"true\":\"false\")+'\"');var f=this.getItems,d=\"&#\"+(\"rtl\"==this.editor.lang.dir?\"9668\":\"9658\")+\";\",g=this.name;this.icon&&!/\\./.test(this.icon)&&(g=this.icon);a={id:h,name:this.name,iconName:g,label:this.label,cls:this.className||\"\",state:i,hasPopup:f?\"true\":\n\"false\",disabled:e==CKEDITOR.TRISTATE_DISABLED,title:this.label,href:\"javascript:void('\"+(this.label||\"\").replace(\"'\")+\"')\",hoverFn:a._.itemOverFn,moveOutFn:a._.itemOutFn,clickFn:a._.itemClickFn,index:b,iconStyle:CKEDITOR.skin.getIconStyle(g,\"rtl\"==this.editor.lang.dir,g==this.icon?null:this.icon,this.iconOffset),arrowHtml:f?l.output({label:d}):\"\",role:this.role?this.role:\"menuitem\",ariaChecked:j};m.output(a,c)}}})})();CKEDITOR.config.menu_groups=\"clipboard,form,tablecell,tablecellproperties,tablerow,tablecolumn,table,anchor,link,image,flash,checkbox,radio,textfield,hiddenfield,imagebutton,button,select,textarea,div\";CKEDITOR.plugins.add(\"contextmenu\",{requires:\"menu\",onLoad:function(){CKEDITOR.plugins.contextMenu=CKEDITOR.tools.createClass({base:CKEDITOR.menu,$:function(a){this.base.call(this,a,{panel:{className:\"cke_menu_panel\",attributes:{\"aria-label\":a.lang.contextmenu.options}}})},proto:{addTarget:function(a,c){a.on(\"contextmenu\",function(a){var a=a.data,b=CKEDITOR.env.webkit?d:CKEDITOR.env.mac?a.$.metaKey:a.$.ctrlKey;if(!c||!b){a.preventDefault();var e=a.getTarget().getDocument(),f=a.getTarget().getDocument().getDocumentElement(),\nb=!e.equals(CKEDITOR.document),e=e.getWindow().getScrollPosition(),g=b?a.$.clientX:a.$.pageX||e.x+a.$.clientX,h=b?a.$.clientY:a.$.pageY||e.y+a.$.clientY;CKEDITOR.tools.setTimeout(function(){this.open(f,null,g,h)},CKEDITOR.env.ie?200:0,this)}},this);if(CKEDITOR.env.webkit){var d,b=function(){d=0};a.on(\"keydown\",function(a){d=CKEDITOR.env.mac?a.data.$.metaKey:a.data.$.ctrlKey});a.on(\"keyup\",b);a.on(\"contextmenu\",b)}},open:function(a,c,d,b){this.editor.focus();a=a||CKEDITOR.document.getDocumentElement();\nthis.editor.selectionChange(1);this.show(a,c,d,b)}}})},beforeInit:function(a){var c=a.contextMenu=new CKEDITOR.plugins.contextMenu(a);a.on(\"contentDom\",function(){c.addTarget(a.editable(),!1!==a.config.browserContextMenuOnCtrl)});a.addCommand(\"contextMenu\",{exec:function(){a.contextMenu.open(a.document.getBody())}});a.setKeystroke(CKEDITOR.SHIFT+121,\"contextMenu\");a.setKeystroke(CKEDITOR.CTRL+CKEDITOR.SHIFT+121,\"contextMenu\")}});(function(){CKEDITOR.plugins.add(\"div\",{requires:\"dialog\",init:function(a){if(!a.blockless){var c=a.lang.div,b=\"div(*)\";CKEDITOR.dialog.isTabEnabled(a,\"editdiv\",\"advanced\")&&(b+=\";div[dir,id,lang,title]{*}\");a.addCommand(\"creatediv\",new CKEDITOR.dialogCommand(\"creatediv\",{allowedContent:b,requiredContent:\"div\",contextSensitive:!0,refresh:function(a,c){this.setState(\"div\"in(a.config.div_wrapTable?c.root:c.blockLimit).getDtd()?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED)}}));a.addCommand(\"editdiv\",\nnew CKEDITOR.dialogCommand(\"editdiv\",{requiredContent:\"div\"}));a.addCommand(\"removediv\",{requiredContent:\"div\",exec:function(a){function c(b){if((b=CKEDITOR.plugins.div.getSurroundDiv(a,b))&&!b.data(\"cke-div-added\"))f.push(b),b.data(\"cke-div-added\")}for(var b=a.getSelection(),g=b&&b.getRanges(),e,h=b.createBookmarks(),f=[],d=0;d<g.length;d++)e=g[d],e.collapsed?c(b.getStartElement()):(e=new CKEDITOR.dom.walker(e),e.evaluator=c,e.lastForward());for(d=0;d<f.length;d++)f[d].remove(!0);b.selectBookmarks(h)}});\na.ui.addButton&&a.ui.addButton(\"CreateDiv\",{label:c.toolbar,command:\"creatediv\",toolbar:\"blocks,50\"});a.addMenuItems&&(a.addMenuItems({editdiv:{label:c.edit,command:\"editdiv\",group:\"div\",order:1},removediv:{label:c.remove,command:\"removediv\",group:\"div\",order:5}}),a.contextMenu&&a.contextMenu.addListener(function(b){return!b||b.isReadOnly()?null:CKEDITOR.plugins.div.getSurroundDiv(a)?{editdiv:CKEDITOR.TRISTATE_OFF,removediv:CKEDITOR.TRISTATE_OFF}:null}));CKEDITOR.dialog.add(\"creatediv\",this.path+\n\"dialogs/div.js\");CKEDITOR.dialog.add(\"editdiv\",this.path+\"dialogs/div.js\")}}});CKEDITOR.plugins.div={getSurroundDiv:function(a,c){var b=a.elementPath(c);return a.elementPath(b.blockLimit).contains(function(a){return a.is(\"div\")&&!a.isReadOnly()},1)}}})();CKEDITOR.plugins.add(\"resize\",{init:function(b){var f,g,n,o,a=b.config,q=b.ui.spaceId(\"resizer\"),h=b.element?b.element.getDirection(1):\"ltr\";!a.resize_dir&&(a.resize_dir=\"vertical\");void 0==a.resize_maxWidth&&(a.resize_maxWidth=3E3);void 0==a.resize_maxHeight&&(a.resize_maxHeight=3E3);void 0==a.resize_minWidth&&(a.resize_minWidth=750);void 0==a.resize_minHeight&&(a.resize_minHeight=250);if(!1!==a.resize_enabled){var c=null,i=(\"both\"==a.resize_dir||\"horizontal\"==a.resize_dir)&&a.resize_minWidth!=a.resize_maxWidth,\nl=(\"both\"==a.resize_dir||\"vertical\"==a.resize_dir)&&a.resize_minHeight!=a.resize_maxHeight,j=function(d){var e=f,m=g,c=e+(d.data.$.screenX-n)*(\"rtl\"==h?-1:1),d=m+(d.data.$.screenY-o);i&&(e=Math.max(a.resize_minWidth,Math.min(c,a.resize_maxWidth)));l&&(m=Math.max(a.resize_minHeight,Math.min(d,a.resize_maxHeight)));b.resize(i?e:null,m)},k=function(){CKEDITOR.document.removeListener(\"mousemove\",j);CKEDITOR.document.removeListener(\"mouseup\",k);b.document&&(b.document.removeListener(\"mousemove\",j),b.document.removeListener(\"mouseup\",\nk))},p=CKEDITOR.tools.addFunction(function(d){c||(c=b.getResizable());f=c.$.offsetWidth||0;g=c.$.offsetHeight||0;n=d.screenX;o=d.screenY;a.resize_minWidth>f&&(a.resize_minWidth=f);a.resize_minHeight>g&&(a.resize_minHeight=g);CKEDITOR.document.on(\"mousemove\",j);CKEDITOR.document.on(\"mouseup\",k);b.document&&(b.document.on(\"mousemove\",j),b.document.on(\"mouseup\",k));d.preventDefault&&d.preventDefault()});b.on(\"destroy\",function(){CKEDITOR.tools.removeFunction(p)});b.on(\"uiSpace\",function(a){if(\"bottom\"==\na.data.space){var e=\"\";i&&!l&&(e=\" cke_resizer_horizontal\");!i&&l&&(e=\" cke_resizer_vertical\");var c='<span id=\"'+q+'\" class=\"cke_resizer'+e+\" cke_resizer_\"+h+'\" title=\"'+CKEDITOR.tools.htmlEncode(b.lang.common.resize)+'\" onmousedown=\"CKEDITOR.tools.callFunction('+p+', event)\">'+(\"ltr\"==h?\"◢\":\"◣\")+\"</span>\";\"ltr\"==h&&\"ltr\"==e?a.data.html+=c:a.data.html=c+a.data.html}},b,null,100);b.on(\"maximize\",function(a){b.ui.space(\"resizer\")[a.data==CKEDITOR.TRISTATE_ON?\"hide\":\"show\"]()})}}});(function(){function w(a){function d(){for(var b=g(),e=CKEDITOR.tools.clone(a.config.toolbarGroups)||n(a),f=0;f<e.length;f++){var k=e[f];if(\"/\"!=k){\"string\"==typeof k&&(k=e[f]={name:k});var i,d=k.groups;if(d)for(var h=0;h<d.length;h++)i=d[h],(i=b[i])&&c(k,i);(i=b[k.name])&&c(k,i)}}return e}function g(){var b={},c,f,e;for(c in a.ui.items)f=a.ui.items[c],e=f.toolbar||\"others\",e=e.split(\",\"),f=e[0],e=parseInt(e[1]||-1,10),b[f]||(b[f]=[]),b[f].push({name:c,order:e});for(f in b)b[f]=b[f].sort(function(b,\na){return b.order==a.order?0:0>a.order?-1:0>b.order?1:b.order<a.order?-1:1});return b}function c(c,e){if(e.length){c.items?c.items.push(a.ui.create(\"-\")):c.items=[];for(var f;f=e.shift();)if(f=\"string\"==typeof f?f:f.name,!b||-1==CKEDITOR.tools.indexOf(b,f))(f=a.ui.create(f))&&a.addFeature(f)&&c.items.push(f)}}function h(b){var a=[],e,d,h;for(e=0;e<b.length;++e)d=b[e],h={},\"/\"==d?a.push(d):CKEDITOR.tools.isArray(d)?(c(h,CKEDITOR.tools.clone(d)),a.push(h)):d.items&&(c(h,CKEDITOR.tools.clone(d.items)),\nh.name=d.name,a.push(h));return a}var b=a.config.removeButtons,b=b&&b.split(\",\"),e=a.config.toolbar;\"string\"==typeof e&&(e=a.config[\"toolbar_\"+e]);return a.toolbar=e?h(e):d()}function n(a){return a._.toolbarGroups||(a._.toolbarGroups=[{name:\"document\",groups:[\"mode\",\"document\",\"doctools\"]},{name:\"clipboard\",groups:[\"clipboard\",\"undo\"]},{name:\"editing\",groups:[\"find\",\"selection\",\"spellchecker\"]},{name:\"forms\"},\"/\",{name:\"basicstyles\",groups:[\"basicstyles\",\"cleanup\"]},{name:\"paragraph\",groups:[\"list\",\n\"indent\",\"blocks\",\"align\",\"bidi\"]},{name:\"links\"},{name:\"insert\"},\"/\",{name:\"styles\"},{name:\"colors\"},{name:\"tools\"},{name:\"others\"},{name:\"about\"}])}var u=function(){this.toolbars=[];this.focusCommandExecuted=!1};u.prototype.focus=function(){for(var a=0,d;d=this.toolbars[a++];)for(var g=0,c;c=d.items[g++];)if(c.focus){c.focus();return}};var x={modes:{wysiwyg:1,source:1},readOnly:1,exec:function(a){a.toolbox&&(a.toolbox.focusCommandExecuted=!0,CKEDITOR.env.ie||CKEDITOR.env.air?setTimeout(function(){a.toolbox.focus()},\n100):a.toolbox.focus())}};CKEDITOR.plugins.add(\"toolbar\",{requires:\"button\",init:function(a){var d,g=function(c,h){var b,e=\"rtl\"==a.lang.dir,j=a.config.toolbarGroupCycling,o=e?37:39,e=e?39:37,j=void 0===j||j;switch(h){case 9:case CKEDITOR.SHIFT+9:for(;!b||!b.items.length;)if(b=9==h?(b?b.next:c.toolbar.next)||a.toolbox.toolbars[0]:(b?b.previous:c.toolbar.previous)||a.toolbox.toolbars[a.toolbox.toolbars.length-1],b.items.length)for(c=b.items[d?b.items.length-1:0];c&&!c.focus;)(c=d?c.previous:c.next)||\n(b=0);c&&c.focus();return!1;case o:b=c;do b=b.next,!b&&j&&(b=c.toolbar.items[0]);while(b&&!b.focus);b?b.focus():g(c,9);return!1;case 40:return c.button&&c.button.hasArrow?(a.once(\"panelShow\",function(b){b.data._.panel._.currentBlock.onKeyDown(40)}),c.execute()):g(c,40==h?o:e),!1;case e:case 38:b=c;do b=b.previous,!b&&j&&(b=c.toolbar.items[c.toolbar.items.length-1]);while(b&&!b.focus);b?b.focus():(d=1,g(c,CKEDITOR.SHIFT+9),d=0);return!1;case 27:return a.focus(),!1;case 13:case 32:return c.execute(),\n!1}return!0};a.on(\"uiSpace\",function(c){if(c.data.space==a.config.toolbarLocation){c.removeListener();a.toolbox=new u;var d=CKEDITOR.tools.getNextId(),b=['<span id=\"',d,'\" class=\"cke_voice_label\">',a.lang.toolbar.toolbars,\"</span>\",'<span id=\"'+a.ui.spaceId(\"toolbox\")+'\" class=\"cke_toolbox\" role=\"group\" aria-labelledby=\"',d,'\" onmousedown=\"return false;\">'],d=!1!==a.config.toolbarStartupExpanded,e,j;a.config.toolbarCanCollapse&&a.elementMode!=CKEDITOR.ELEMENT_MODE_INLINE&&b.push('<span class=\"cke_toolbox_main\"'+\n(d?\">\":' style=\"display:none\">'));for(var o=a.toolbox.toolbars,f=w(a),k=0;k<f.length;k++){var i,l=0,r,m=f[k],s;if(m)if(e&&(b.push(\"</span>\"),j=e=0),\"/\"===m)b.push('<span class=\"cke_toolbar_break\"></span>');else{s=m.items||m;for(var t=0;t<s.length;t++){var p=s[t],n;if(p)if(p.type==CKEDITOR.UI_SEPARATOR)j=e&&p;else{n=!1!==p.canGroup;if(!l){i=CKEDITOR.tools.getNextId();l={id:i,items:[]};r=m.name&&(a.lang.toolbar.toolbarGroups[m.name]||m.name);b.push('<span id=\"',i,'\" class=\"cke_toolbar\"',r?' aria-labelledby=\"'+\ni+'_label\"':\"\",' role=\"toolbar\">');r&&b.push('<span id=\"',i,'_label\" class=\"cke_voice_label\">',r,\"</span>\");b.push('<span class=\"cke_toolbar_start\"></span>');var q=o.push(l)-1;0<q&&(l.previous=o[q-1],l.previous.next=l)}n?e||(b.push('<span class=\"cke_toolgroup\" role=\"presentation\">'),e=1):e&&(b.push(\"</span>\"),e=0);i=function(c){c=c.render(a,b);q=l.items.push(c)-1;if(q>0){c.previous=l.items[q-1];c.previous.next=c}c.toolbar=l;c.onkey=g;c.onfocus=function(){a.toolbox.focusCommandExecuted||a.focus()}};\nj&&(i(j),j=0);i(p)}}e&&(b.push(\"</span>\"),j=e=0);l&&b.push('<span class=\"cke_toolbar_end\"></span></span>')}}a.config.toolbarCanCollapse&&b.push(\"</span>\");if(a.config.toolbarCanCollapse&&a.elementMode!=CKEDITOR.ELEMENT_MODE_INLINE){var v=CKEDITOR.tools.addFunction(function(){a.execCommand(\"toolbarCollapse\")});a.on(\"destroy\",function(){CKEDITOR.tools.removeFunction(v)});a.addCommand(\"toolbarCollapse\",{readOnly:1,exec:function(b){var a=b.ui.space(\"toolbar_collapser\"),c=a.getPrevious(),e=b.ui.space(\"contents\"),\nd=c.getParent(),f=parseInt(e.$.style.height,10),h=d.$.offsetHeight,g=a.hasClass(\"cke_toolbox_collapser_min\");g?(c.show(),a.removeClass(\"cke_toolbox_collapser_min\"),a.setAttribute(\"title\",b.lang.toolbar.toolbarCollapse)):(c.hide(),a.addClass(\"cke_toolbox_collapser_min\"),a.setAttribute(\"title\",b.lang.toolbar.toolbarExpand));a.getFirst().setText(g?\"▲\":\"◀\");e.setStyle(\"height\",f-(d.$.offsetHeight-h)+\"px\");b.fire(\"resize\")},modes:{wysiwyg:1,source:1}});a.setKeystroke(CKEDITOR.ALT+(CKEDITOR.env.ie||CKEDITOR.env.webkit?\n189:109),\"toolbarCollapse\");b.push('<a title=\"'+(d?a.lang.toolbar.toolbarCollapse:a.lang.toolbar.toolbarExpand)+'\" id=\"'+a.ui.spaceId(\"toolbar_collapser\")+'\" tabIndex=\"-1\" class=\"cke_toolbox_collapser');d||b.push(\" cke_toolbox_collapser_min\");b.push('\" onclick=\"CKEDITOR.tools.callFunction('+v+')\">','<span class=\"cke_arrow\">&#9650;</span>',\"</a>\")}b.push(\"</span>\");c.data.html+=b.join(\"\")}});a.on(\"destroy\",function(){if(this.toolbox){var a,d=0,b,e,g;for(a=this.toolbox.toolbars;d<a.length;d++){e=a[d].items;\nfor(b=0;b<e.length;b++)g=e[b],g.clickFn&&CKEDITOR.tools.removeFunction(g.clickFn),g.keyDownFn&&CKEDITOR.tools.removeFunction(g.keyDownFn)}}});a.on(\"uiReady\",function(){var c=a.ui.space(\"toolbox\");c&&a.focusManager.add(c,1)});a.addCommand(\"toolbarFocus\",x);a.setKeystroke(CKEDITOR.ALT+121,\"toolbarFocus\");a.ui.add(\"-\",CKEDITOR.UI_SEPARATOR,{});a.ui.addHandler(CKEDITOR.UI_SEPARATOR,{create:function(){return{render:function(a,d){d.push('<span class=\"cke_toolbar_separator\" role=\"separator\"></span>');return{}}}}})}});\nCKEDITOR.ui.prototype.addToolbarGroup=function(a,d,g){var c=n(this.editor),h=0===d,b={name:a};if(g){if(g=CKEDITOR.tools.search(c,function(a){return a.name==g})){!g.groups&&(g.groups=[]);if(d&&(d=CKEDITOR.tools.indexOf(g.groups,d),0<=d)){g.groups.splice(d+1,0,a);return}h?g.groups.splice(0,0,a):g.groups.push(a);return}d=null}d&&(d=CKEDITOR.tools.indexOf(c,function(a){return a.name==d}));h?c.splice(0,0,a):\"number\"==typeof d?c.splice(d+1,0,b):c.push(a)}})();CKEDITOR.UI_SEPARATOR=\"separator\";\nCKEDITOR.config.toolbarLocation=\"top\";(function(){var k;function n(a,c){function j(d){d=i.list[d];if(d.equals(a.editable())||\"true\"==d.getAttribute(\"contenteditable\")){var e=a.createRange();e.selectNodeContents(d);e.select()}else a.getSelection().selectElement(d);a.focus()}function s(){l&&l.setHtml(o);delete i.list}var m=a.ui.spaceId(\"path\"),l,i=a._.elementsPath,n=i.idBase;c.html+='<span id=\"'+m+'_label\" class=\"cke_voice_label\">'+a.lang.elementspath.eleLabel+'</span><span id=\"'+m+'\" class=\"cke_path\" role=\"group\" aria-labelledby=\"'+m+\n'_label\">'+o+\"</span>\";a.on(\"uiReady\",function(){var d=a.ui.space(\"path\");d&&a.focusManager.add(d,1)});i.onClick=j;var t=CKEDITOR.tools.addFunction(j),u=CKEDITOR.tools.addFunction(function(d,e){var g=i.idBase,b,e=new CKEDITOR.dom.event(e);b=\"rtl\"==a.lang.dir;switch(e.getKeystroke()){case b?39:37:case 9:return(b=CKEDITOR.document.getById(g+(d+1)))||(b=CKEDITOR.document.getById(g+\"0\")),b.focus(),!1;case b?37:39:case CKEDITOR.SHIFT+9:return(b=CKEDITOR.document.getById(g+(d-1)))||(b=CKEDITOR.document.getById(g+\n(i.list.length-1))),b.focus(),!1;case 27:return a.focus(),!1;case 13:case 32:return j(d),!1}return!0});a.on(\"selectionChange\",function(){a.editable();for(var d=[],e=i.list=[],g=[],b=i.filters,c=!0,j=a.elementPath().elements,f,k=j.length;k--;){var h=j[k],p=0;f=h.data(\"cke-display-name\")?h.data(\"cke-display-name\"):h.data(\"cke-real-element-type\")?h.data(\"cke-real-element-type\"):h.getName();c=h.hasAttribute(\"contenteditable\")?\"true\"==h.getAttribute(\"contenteditable\"):c;!c&&!h.hasAttribute(\"contenteditable\")&&\n(p=1);for(var q=0;q<b.length;q++){var r=b[q](h,f);if(!1===r){p=1;break}f=r||f}p||(e.unshift(h),g.unshift(f))}e=e.length;for(b=0;b<e;b++)f=g[b],c=a.lang.elementspath.eleTitle.replace(/%1/,f),f=v.output({id:n+b,label:c,text:f,jsTitle:\"javascript:void('\"+f+\"')\",index:b,keyDownFn:u,clickFn:t}),d.unshift(f);l||(l=CKEDITOR.document.getById(m));g=l;g.setHtml(d.join(\"\")+o);a.fire(\"elementsPathUpdate\",{space:g})});a.on(\"readOnly\",s);a.on(\"contentDomUnload\",s);a.addCommand(\"elementsPathFocus\",k);a.setKeystroke(CKEDITOR.ALT+\n122,\"elementsPathFocus\")}k={editorFocus:!1,readOnly:1,exec:function(a){(a=CKEDITOR.document.getById(a._.elementsPath.idBase+\"0\"))&&a.focus(CKEDITOR.env.ie||CKEDITOR.env.air)}};var o='<span class=\"cke_path_empty\">&nbsp;</span>',c=\"\";if(CKEDITOR.env.opera||CKEDITOR.env.gecko&&CKEDITOR.env.mac)c+=' onkeypress=\"return false;\"';CKEDITOR.env.gecko&&(c+=' onblur=\"this.style.cssText = this.style.cssText;\"');var v=CKEDITOR.addTemplate(\"pathItem\",'<a id=\"{id}\" href=\"{jsTitle}\" tabindex=\"-1\" class=\"cke_path_item\" title=\"{label}\"'+\n(CKEDITOR.env.gecko&&10900>CKEDITOR.env.version?' onfocus=\"event.preventBubble();\"':\"\")+c+' hidefocus=\"true\"  onkeydown=\"return CKEDITOR.tools.callFunction({keyDownFn},{index}, event );\" onclick=\"CKEDITOR.tools.callFunction({clickFn},{index}); return false;\" role=\"button\" aria-label=\"{label}\">{text}</a>');CKEDITOR.plugins.add(\"elementspath\",{init:function(a){a._.elementsPath={idBase:\"cke_elementspath_\"+CKEDITOR.tools.getNextNumber()+\"_\",filters:[]};a.on(\"uiSpace\",function(c){\"bottom\"==c.data.space&&\nn(a,c.data)})}})})();(function(){function l(e,c,b){b=e.config.forceEnterMode||b;\"wysiwyg\"==e.mode&&(c||(c=e.activeEnterMode),e.elementPath().isContextFor(\"p\")||(c=CKEDITOR.ENTER_BR,b=1),e.fire(\"saveSnapshot\"),c==CKEDITOR.ENTER_BR?o(e,c,null,b):p(e,c,null,b),e.fire(\"saveSnapshot\"))}function q(e){for(var e=e.getSelection().getRanges(!0),c=e.length-1;0<c;c--)e[c].deleteContents();return e[0]}CKEDITOR.plugins.add(\"enterkey\",{init:function(e){e.addCommand(\"enter\",{modes:{wysiwyg:1},editorFocus:!1,exec:function(c){l(c)}});\ne.addCommand(\"shiftEnter\",{modes:{wysiwyg:1},editorFocus:!1,exec:function(c){l(c,c.activeShiftEnterMode,1)}});e.setKeystroke([[13,\"enter\"],[CKEDITOR.SHIFT+13,\"shiftEnter\"]])}});var t=CKEDITOR.dom.walker.whitespaces(),u=CKEDITOR.dom.walker.bookmark();CKEDITOR.plugins.enterkey={enterBlock:function(e,c,b,i){if(b=b||q(e)){var f=b.document,j=b.checkStartOfBlock(),h=b.checkEndOfBlock(),a=e.elementPath(b.startContainer).block,k=c==CKEDITOR.ENTER_DIV?\"div\":\"p\",d;if(j&&h){if(a&&(a.is(\"li\")||a.getParent().is(\"li\"))){b=\na.getParent();d=b.getParent();var i=!a.hasPrevious(),m=!a.hasNext(),k=e.getSelection(),g=k.createBookmarks(),j=a.getDirection(1),h=a.getAttribute(\"class\"),n=a.getAttribute(\"style\"),l=d.getDirection(1)!=j,e=e.enterMode!=CKEDITOR.ENTER_BR||l||n||h;if(d.is(\"li\"))if(i||m)a[i?\"insertBefore\":\"insertAfter\"](d);else a.breakParent(d);else{if(e)if(d=f.createElement(c==CKEDITOR.ENTER_P?\"p\":\"div\"),l&&d.setAttribute(\"dir\",j),n&&d.setAttribute(\"style\",n),h&&d.setAttribute(\"class\",h),a.moveChildren(d),i||m)d[i?\n\"insertBefore\":\"insertAfter\"](b);else a.breakParent(b),d.insertAfter(b);else if(a.appendBogus(!0),i||m)for(;f=a[i?\"getFirst\":\"getLast\"]();)f[i?\"insertBefore\":\"insertAfter\"](b);else for(a.breakParent(b);f=a.getLast();)f.insertAfter(b);a.remove()}k.selectBookmarks(g);return}if(a&&a.getParent().is(\"blockquote\")){a.breakParent(a.getParent());a.getPrevious().getFirst(CKEDITOR.dom.walker.invisible(1))||a.getPrevious().remove();a.getNext().getFirst(CKEDITOR.dom.walker.invisible(1))||a.getNext().remove();\nb.moveToElementEditStart(a);b.select();return}}else if(a&&a.is(\"pre\")&&!h){o(e,c,b,i);return}if(h=b.splitBlock(k)){c=h.previousBlock;a=h.nextBlock;e=h.wasStartOfBlock;j=h.wasEndOfBlock;if(a)g=a.getParent(),g.is(\"li\")&&(a.breakParent(g),a.move(a.getNext(),1));else if(c&&(g=c.getParent())&&g.is(\"li\"))c.breakParent(g),g=c.getNext(),b.moveToElementEditStart(g),c.move(c.getPrevious());if(!e&&!j)a.is(\"li\")&&(d=b.clone(),d.selectNodeContents(a),d=new CKEDITOR.dom.walker(d),d.evaluator=function(a){return!(u(a)||\nt(a)||a.type==CKEDITOR.NODE_ELEMENT&&a.getName()in CKEDITOR.dtd.$inline&&!(a.getName()in CKEDITOR.dtd.$empty))},(g=d.next())&&(g.type==CKEDITOR.NODE_ELEMENT&&g.is(\"ul\",\"ol\"))&&(CKEDITOR.env.needsBrFiller?f.createElement(\"br\"):f.createText(\" \")).insertBefore(g)),a&&b.moveToElementEditStart(a);else{if(c){if(c.is(\"li\")||!r.test(c.getName())&&!c.is(\"pre\"))d=c.clone()}else a&&(d=a.clone());d?i&&!d.is(\"li\")&&d.renameNode(k):g&&g.is(\"li\")?d=g:(d=f.createElement(k),c&&(m=c.getDirection())&&d.setAttribute(\"dir\",\nm));if(f=h.elementPath){i=0;for(k=f.elements.length;i<k;i++){g=f.elements[i];if(g.equals(f.block)||g.equals(f.blockLimit))break;CKEDITOR.dtd.$removeEmpty[g.getName()]&&(g=g.clone(),d.moveChildren(g),d.append(g))}}d.appendBogus();d.getParent()||b.insertNode(d);d.is(\"li\")&&d.removeAttribute(\"value\");if(CKEDITOR.env.ie&&e&&(!j||!c.getChildCount()))b.moveToElementEditStart(j?c:d),b.select();b.moveToElementEditStart(e&&!j?a:d)}b.select();b.scrollIntoView()}}},enterBr:function(e,c,b,i){if(b=b||q(e)){var f=\nb.document,j=b.checkEndOfBlock(),h=new CKEDITOR.dom.elementPath(e.getSelection().getStartElement()),a=h.block,h=a&&h.block.getName();!i&&\"li\"==h?p(e,c,b,i):(!i&&j&&r.test(h)?(j=a.getDirection())?(f=f.createElement(\"div\"),f.setAttribute(\"dir\",j),f.insertAfter(a),b.setStart(f,0)):(f.createElement(\"br\").insertAfter(a),CKEDITOR.env.gecko&&f.createText(\"\").insertAfter(a),b.setStartAt(a.getNext(),CKEDITOR.env.ie?CKEDITOR.POSITION_BEFORE_START:CKEDITOR.POSITION_AFTER_START)):(a=\"pre\"==h&&CKEDITOR.env.ie&&\n8>CKEDITOR.env.version?f.createText(\"\\r\"):f.createElement(\"br\"),b.deleteContents(),b.insertNode(a),CKEDITOR.env.needsBrFiller?(f.createText(\"\").insertAfter(a),j&&a.getParent().appendBogus(),a.getNext().$.nodeValue=\"\",b.setStartAt(a.getNext(),CKEDITOR.POSITION_AFTER_START)):b.setStartAt(a,CKEDITOR.POSITION_AFTER_END)),b.collapse(!0),b.select(),b.scrollIntoView())}}};var s=CKEDITOR.plugins.enterkey,o=s.enterBr,p=s.enterBlock,r=/^h[1-6]$/})();(function(){function j(a,b){var d={},e=[],f={nbsp:\" \",shy:\"­\",gt:\">\",lt:\"<\",amp:\"&\",apos:\"'\",quot:'\"'},a=a.replace(/\\b(nbsp|shy|gt|lt|amp|apos|quot)(?:,|$)/g,function(a,h){var c=b?\"&\"+h+\";\":f[h];d[c]=b?f[h]:\"&\"+h+\";\";e.push(c);return\"\"});if(!b&&a){var a=a.split(\",\"),c=document.createElement(\"div\"),g;c.innerHTML=\"&\"+a.join(\";&\")+\";\";g=c.innerHTML;c=null;for(c=0;c<g.length;c++){var i=g.charAt(c);d[i]=\"&\"+a[c]+\";\";e.push(i)}}d.regex=e.join(b?\"|\":\"\");return d}CKEDITOR.plugins.add(\"entities\",{afterInit:function(a){var b=\na.config;if(a=(a=a.dataProcessor)&&a.htmlFilter){var d=[];!1!==b.basicEntities&&d.push(\"nbsp,gt,lt,amp\");b.entities&&(d.length&&d.push(\"quot,iexcl,cent,pound,curren,yen,brvbar,sect,uml,copy,ordf,laquo,not,shy,reg,macr,deg,plusmn,sup2,sup3,acute,micro,para,middot,cedil,sup1,ordm,raquo,frac14,frac12,frac34,iquest,times,divide,fnof,bull,hellip,prime,Prime,oline,frasl,weierp,image,real,trade,alefsym,larr,uarr,rarr,darr,harr,crarr,lArr,uArr,rArr,dArr,hArr,forall,part,exist,empty,nabla,isin,notin,ni,prod,sum,minus,lowast,radic,prop,infin,ang,and,or,cap,cup,int,there4,sim,cong,asymp,ne,equiv,le,ge,sub,sup,nsub,sube,supe,oplus,otimes,perp,sdot,lceil,rceil,lfloor,rfloor,lang,rang,loz,spades,clubs,hearts,diams,circ,tilde,ensp,emsp,thinsp,zwnj,zwj,lrm,rlm,ndash,mdash,lsquo,rsquo,sbquo,ldquo,rdquo,bdquo,dagger,Dagger,permil,lsaquo,rsaquo,euro\"),\nb.entities_latin&&d.push(\"Agrave,Aacute,Acirc,Atilde,Auml,Aring,AElig,Ccedil,Egrave,Eacute,Ecirc,Euml,Igrave,Iacute,Icirc,Iuml,ETH,Ntilde,Ograve,Oacute,Ocirc,Otilde,Ouml,Oslash,Ugrave,Uacute,Ucirc,Uuml,Yacute,THORN,szlig,agrave,aacute,acirc,atilde,auml,aring,aelig,ccedil,egrave,eacute,ecirc,euml,igrave,iacute,icirc,iuml,eth,ntilde,ograve,oacute,ocirc,otilde,ouml,oslash,ugrave,uacute,ucirc,uuml,yacute,thorn,yuml,OElig,oelig,Scaron,scaron,Yuml\"),b.entities_greek&&d.push(\"Alpha,Beta,Gamma,Delta,Epsilon,Zeta,Eta,Theta,Iota,Kappa,Lambda,Mu,Nu,Xi,Omicron,Pi,Rho,Sigma,Tau,Upsilon,Phi,Chi,Psi,Omega,alpha,beta,gamma,delta,epsilon,zeta,eta,theta,iota,kappa,lambda,mu,nu,xi,omicron,pi,rho,sigmaf,sigma,tau,upsilon,phi,chi,psi,omega,thetasym,upsih,piv\"),\nb.entities_additional&&d.push(b.entities_additional));var e=j(d.join(\",\")),f=e.regex?\"[\"+e.regex+\"]\":\"a^\";delete e.regex;b.entities&&b.entities_processNumerical&&(f=\"[^ -~]|\"+f);var f=RegExp(f,\"g\"),c=function(a){return b.entities_processNumerical==\"force\"||!e[a]?\"&#\"+a.charCodeAt(0)+\";\":e[a]},g=j(\"nbsp,gt,lt,amp,shy\",!0),i=RegExp(g.regex,\"g\"),k=function(a){return g[a]};a.addRules({text:function(a){return a.replace(i,k).replace(f,c)}},{applyToAll:!0})}}})})();CKEDITOR.config.basicEntities=!0;\nCKEDITOR.config.entities=!0;CKEDITOR.config.entities_latin=!0;CKEDITOR.config.entities_greek=!0;CKEDITOR.config.entities_additional=\"#39\";CKEDITOR.plugins.add(\"popup\");\nCKEDITOR.tools.extend(CKEDITOR.editor.prototype,{popup:function(e,a,b,d){a=a||\"80%\";b=b||\"70%\";\"string\"==typeof a&&(1<a.length&&\"%\"==a.substr(a.length-1,1))&&(a=parseInt(window.screen.width*parseInt(a,10)/100,10));\"string\"==typeof b&&(1<b.length&&\"%\"==b.substr(b.length-1,1))&&(b=parseInt(window.screen.height*parseInt(b,10)/100,10));640>a&&(a=640);420>b&&(b=420);var f=parseInt((window.screen.height-b)/2,10),g=parseInt((window.screen.width-a)/2,10),d=(d||\"location=no,menubar=no,toolbar=no,dependent=yes,minimizable=no,modal=yes,alwaysRaised=yes,resizable=yes,scrollbars=yes\")+\",width=\"+\na+\",height=\"+b+\",top=\"+f+\",left=\"+g,c=window.open(\"\",null,d,!0);if(!c)return!1;try{-1==navigator.userAgent.toLowerCase().indexOf(\" chrome/\")&&(c.moveTo(g,f),c.resizeTo(a,b)),c.focus(),c.location.href=e}catch(h){window.open(e,null,d,!0)}return!0}});(function(){function g(a,c){var d=[];if(c)for(var b in c)d.push(b+\"=\"+encodeURIComponent(c[b]));else return a;return a+(-1!=a.indexOf(\"?\")?\"&\":\"?\")+d.join(\"&\")}function i(a){a+=\"\";return a.charAt(0).toUpperCase()+a.substr(1)}function k(){var a=this.getDialog(),c=a.getParentEditor();c._.filebrowserSe=this;var d=c.config[\"filebrowser\"+i(a.getName())+\"WindowWidth\"]||c.config.filebrowserWindowWidth||\"80%\",a=c.config[\"filebrowser\"+i(a.getName())+\"WindowHeight\"]||c.config.filebrowserWindowHeight||\"70%\",\nb=this.filebrowser.params||{};b.CKEditor=c.name;b.CKEditorFuncNum=c._.filebrowserFn;b.langCode||(b.langCode=c.langCode);b=g(this.filebrowser.url,b);c.popup(b,d,a,c.config.filebrowserWindowFeatures||c.config.fileBrowserWindowFeatures)}function l(){var a=this.getDialog();a.getParentEditor()._.filebrowserSe=this;return!a.getContentElement(this[\"for\"][0],this[\"for\"][1]).getInputElement().$.value||!a.getContentElement(this[\"for\"][0],this[\"for\"][1]).getAction()?!1:!0}function m(a,c,d){var b=d.params||{};\nb.CKEditor=a.name;b.CKEditorFuncNum=a._.filebrowserFn;b.langCode||(b.langCode=a.langCode);c.action=g(d.url,b);c.filebrowser=d}function j(a,c,d,b){if(b&&b.length)for(var e,g=b.length;g--;)if(e=b[g],(\"hbox\"==e.type||\"vbox\"==e.type||\"fieldset\"==e.type)&&j(a,c,d,e.children),e.filebrowser)if(\"string\"==typeof e.filebrowser&&(e.filebrowser={action:\"fileButton\"==e.type?\"QuickUpload\":\"Browse\",target:e.filebrowser}),\"Browse\"==e.filebrowser.action){var f=e.filebrowser.url;void 0===f&&(f=a.config[\"filebrowser\"+\ni(c)+\"BrowseUrl\"],void 0===f&&(f=a.config.filebrowserBrowseUrl));f&&(e.onClick=k,e.filebrowser.url=f,e.hidden=!1)}else if(\"QuickUpload\"==e.filebrowser.action&&e[\"for\"]&&(f=e.filebrowser.url,void 0===f&&(f=a.config[\"filebrowser\"+i(c)+\"UploadUrl\"],void 0===f&&(f=a.config.filebrowserUploadUrl)),f)){var h=e.onClick;e.onClick=function(a){var b=a.sender;return h&&h.call(b,a)===false?false:l.call(b,a)};e.filebrowser.url=f;e.hidden=!1;m(a,d.getContents(e[\"for\"][0]).get(e[\"for\"][1]),e.filebrowser)}}function h(a,\nc,d){if(-1!==d.indexOf(\";\")){for(var d=d.split(\";\"),b=0;b<d.length;b++)if(h(a,c,d[b]))return!0;return!1}return(a=a.getContents(c).get(d).filebrowser)&&a.url}function n(a,c){var d=this._.filebrowserSe.getDialog(),b=this._.filebrowserSe[\"for\"],e=this._.filebrowserSe.filebrowser.onSelect;b&&d.getContentElement(b[0],b[1]).reset();if(!(\"function\"==typeof c&&!1===c.call(this._.filebrowserSe))&&!(e&&!1===e.call(this._.filebrowserSe,a,c))&&(\"string\"==typeof c&&c&&alert(c),a&&(b=this._.filebrowserSe,d=b.getDialog(),\nb=b.filebrowser.target||null)))if(b=b.split(\":\"),e=d.getContentElement(b[0],b[1]))e.setValue(a),d.selectPage(b[0])}CKEDITOR.plugins.add(\"filebrowser\",{requires:\"popup\",init:function(a){a._.filebrowserFn=CKEDITOR.tools.addFunction(n,a);a.on(\"destroy\",function(){CKEDITOR.tools.removeFunction(this._.filebrowserFn)})}});CKEDITOR.on(\"dialogDefinition\",function(a){if(a.editor.plugins.filebrowser)for(var c=a.data.definition,d,b=0;b<c.contents.length;++b)if(d=c.contents[b])j(a.editor,a.data.name,c,d.elements),\nd.hidden&&d.filebrowser&&(d.hidden=!h(c,d.id,d.filebrowser))})})();CKEDITOR.plugins.add(\"find\",{requires:\"dialog\",init:function(a){var b=a.addCommand(\"find\",new CKEDITOR.dialogCommand(\"find\"));b.canUndo=!1;b.readOnly=1;a.addCommand(\"replace\",new CKEDITOR.dialogCommand(\"replace\")).canUndo=!1;a.ui.addButton&&(a.ui.addButton(\"Find\",{label:a.lang.find.find,command:\"find\",toolbar:\"find,10\"}),a.ui.addButton(\"Replace\",{label:a.lang.find.replace,command:\"replace\",toolbar:\"find,20\"}));CKEDITOR.dialog.add(\"find\",this.path+\"dialogs/find.js\");CKEDITOR.dialog.add(\"replace\",this.path+\n\"dialogs/find.js\")}});CKEDITOR.config.find_highlight={element:\"span\",styles:{\"background-color\":\"#004\",color:\"#fff\"}};(function(){function g(a,b){var c=j.exec(a),d=j.exec(b);if(c){if(!c[2]&&\"px\"==d[2])return d[1];if(\"px\"==c[2]&&!d[2])return d[1]+\"px\"}return b}var i=CKEDITOR.htmlParser.cssStyle,h=CKEDITOR.tools.cssLength,j=/^((?:\\d*(?:\\.\\d+))|(?:\\d+))(.*)?$/i,l={elements:{$:function(a){var b=a.attributes;if((b=(b=(b=b&&b[\"data-cke-realelement\"])&&new CKEDITOR.htmlParser.fragment.fromHtml(decodeURIComponent(b)))&&b.children[0])&&a.attributes[\"data-cke-resizable\"]){var c=(new i(a)).rules,a=b.attributes,d=c.width,c=\nc.height;d&&(a.width=g(a.width,d));c&&(a.height=g(a.height,c))}return b}}},k=CKEDITOR.plugins.add(\"fakeobjects\",{init:function(a){a.filter.allow(\"img[!data-cke-realelement,src,alt,title](*){*}\",\"fakeobjects\")},afterInit:function(a){(a=(a=a.dataProcessor)&&a.htmlFilter)&&a.addRules(l)}});CKEDITOR.editor.prototype.createFakeElement=function(a,b,c,d){var e=this.lang.fakeobjects,e=e[c]||e.unknown,b={\"class\":b,\"data-cke-realelement\":encodeURIComponent(a.getOuterHtml()),\"data-cke-real-node-type\":a.type,\nalt:e,title:e,align:a.getAttribute(\"align\")||\"\"};CKEDITOR.env.hc||(b.src=CKEDITOR.getUrl(k.path+\"images/spacer.gif\"));c&&(b[\"data-cke-real-element-type\"]=c);d&&(b[\"data-cke-resizable\"]=d,c=new i,d=a.getAttribute(\"width\"),a=a.getAttribute(\"height\"),d&&(c.rules.width=h(d)),a&&(c.rules.height=h(a)),c.populate(b));return this.document.createElement(\"img\",{attributes:b})};CKEDITOR.editor.prototype.createFakeParserElement=function(a,b,c,d){var e=this.lang.fakeobjects,e=e[c]||e.unknown,f;f=new CKEDITOR.htmlParser.basicWriter;\na.writeHtml(f);f=f.getHtml();b={\"class\":b,\"data-cke-realelement\":encodeURIComponent(f),\"data-cke-real-node-type\":a.type,alt:e,title:e,align:a.attributes.align||\"\"};CKEDITOR.env.hc||(b.src=CKEDITOR.getUrl(k.path+\"images/spacer.gif\"));c&&(b[\"data-cke-real-element-type\"]=c);d&&(b[\"data-cke-resizable\"]=d,d=a.attributes,a=new i,c=d.width,d=d.height,void 0!=c&&(a.rules.width=h(c)),void 0!=d&&(a.rules.height=h(d)),a.populate(b));return new CKEDITOR.htmlParser.element(\"img\",b)};CKEDITOR.editor.prototype.restoreRealElement=\nfunction(a){if(a.data(\"cke-real-node-type\")!=CKEDITOR.NODE_ELEMENT)return null;var b=CKEDITOR.dom.element.createFromHtml(decodeURIComponent(a.data(\"cke-realelement\")),this.document);if(a.data(\"cke-resizable\")){var c=a.getStyle(\"width\"),a=a.getStyle(\"height\");c&&b.setAttribute(\"width\",g(b.getAttribute(\"width\"),c));a&&b.setAttribute(\"height\",g(b.getAttribute(\"height\"),a))}return b}})();(function(){function d(a){a=a.attributes;return\"application/x-shockwave-flash\"==a.type||f.test(a.src||\"\")}function e(a,b){return a.createFakeParserElement(b,\"cke_flash\",\"flash\",!0)}var f=/\\.swf(?:$|\\?)/i;CKEDITOR.plugins.add(\"flash\",{requires:\"dialog,fakeobjects\",onLoad:function(){CKEDITOR.addCss(\"img.cke_flash{background-image: url(\"+CKEDITOR.getUrl(this.path+\"images/placeholder.png\")+\");background-position: center center;background-repeat: no-repeat;border: 1px solid #a9a9a9;width: 80px;height: 80px;}\")},\ninit:function(a){var b=\"object[classid,codebase,height,hspace,vspace,width];param[name,value];embed[height,hspace,pluginspage,src,type,vspace,width]\";CKEDITOR.dialog.isTabEnabled(a,\"flash\",\"properties\")&&(b+=\";object[align]; embed[allowscriptaccess,quality,scale,wmode]\");CKEDITOR.dialog.isTabEnabled(a,\"flash\",\"advanced\")&&(b+=\";object[id]{*}; embed[bgcolor]{*}(*)\");a.addCommand(\"flash\",new CKEDITOR.dialogCommand(\"flash\",{allowedContent:b,requiredContent:\"embed\"}));a.ui.addButton&&a.ui.addButton(\"Flash\",\n{label:a.lang.common.flash,command:\"flash\",toolbar:\"insert,20\"});CKEDITOR.dialog.add(\"flash\",this.path+\"dialogs/flash.js\");a.addMenuItems&&a.addMenuItems({flash:{label:a.lang.flash.properties,command:\"flash\",group:\"flash\"}});a.on(\"doubleclick\",function(a){var b=a.data.element;b.is(\"img\")&&\"flash\"==b.data(\"cke-real-element-type\")&&(a.data.dialog=\"flash\")});a.contextMenu&&a.contextMenu.addListener(function(a){if(a&&a.is(\"img\")&&!a.isReadOnly()&&\"flash\"==a.data(\"cke-real-element-type\"))return{flash:CKEDITOR.TRISTATE_OFF}})},\nafterInit:function(a){var b=a.dataProcessor;(b=b&&b.dataFilter)&&b.addRules({elements:{\"cke:object\":function(b){var c=b.attributes;if((!c.classid||!(\"\"+c.classid).toLowerCase())&&!d(b)){for(c=0;c<b.children.length;c++)if(\"cke:embed\"==b.children[c].name){if(!d(b.children[c]))break;return e(a,b)}return null}return e(a,b)},\"cke:embed\":function(b){return!d(b)?null:e(a,b)}}},5)}})})();CKEDITOR.tools.extend(CKEDITOR.config,{flashEmbedTagOnly:!1,flashAddEmbedTag:!0,flashConvertOnEdit:!1});(function(){function q(a){var i=a.config,l=a.fire(\"uiSpace\",{space:\"top\",html:\"\"}).html,o=function(){function f(a,c,e){b.setStyle(c,t(e));b.setStyle(\"position\",a)}function e(a){var b=r.getDocumentPosition();switch(a){case \"top\":f(\"absolute\",\"top\",b.y-m-n);break;case \"pin\":f(\"fixed\",\"top\",q);break;case \"bottom\":f(\"absolute\",\"top\",b.y+(c.height||c.bottom-c.top)+n)}j=a}var j,r,k,c,h,m,s,l=i.floatSpaceDockedOffsetX||0,n=i.floatSpaceDockedOffsetY||0,p=i.floatSpacePinnedOffsetX||0,q=i.floatSpacePinnedOffsetY||\n0;return function(d){if(r=a.editable())if(d&&\"focus\"==d.name&&b.show(),b.removeStyle(\"left\"),b.removeStyle(\"right\"),k=b.getClientRect(),c=r.getClientRect(),h=g.getViewPaneSize(),m=k.height,s=\"pageXOffset\"in g.$?g.$.pageXOffset:CKEDITOR.document.$.documentElement.scrollLeft,j){m+n<=c.top?e(\"top\"):m+n>h.height-c.bottom?e(\"pin\"):e(\"bottom\");var d=h.width/2,d=0<c.left&&c.right<h.width&&c.width>k.width?\"rtl\"==a.config.contentsLangDirection?\"right\":\"left\":d-c.left>c.right-d?\"left\":\"right\",f;k.width>h.width?\n(d=\"left\",f=0):(f=\"left\"==d?0<c.left?c.left:0:c.right<h.width?h.width-c.right:0,f+k.width>h.width&&(d=\"left\"==d?\"right\":\"left\",f=0));b.setStyle(d,t((\"pin\"==j?p:l)+f+(\"pin\"==j?0:\"left\"==d?s:-s)))}else j=\"pin\",e(\"pin\"),o(d)}}();if(l){var b=CKEDITOR.document.getBody().append(CKEDITOR.dom.element.createFromHtml(u.output({content:l,id:a.id,langDir:a.lang.dir,langCode:a.langCode,name:a.name,style:\"display:none;z-index:\"+(i.baseFloatZIndex-1),topId:a.ui.spaceId(\"top\"),voiceLabel:a.lang.editorPanel+\", \"+\na.name}))),p=CKEDITOR.tools.eventsBuffer(500,o),e=CKEDITOR.tools.eventsBuffer(100,o);b.unselectable();b.on(\"mousedown\",function(a){a=a.data;a.getTarget().hasAscendant(\"a\",1)||a.preventDefault()});a.on(\"focus\",function(b){o(b);a.on(\"change\",p.input);g.on(\"scroll\",e.input);g.on(\"resize\",e.input)});a.on(\"blur\",function(){b.hide();a.removeListener(\"change\",p.input);g.removeListener(\"scroll\",e.input);g.removeListener(\"resize\",e.input)});a.on(\"destroy\",function(){g.removeListener(\"scroll\",e.input);g.removeListener(\"resize\",\ne.input);b.clearCustomData();b.remove()});a.focusManager.hasFocus&&b.show();a.focusManager.add(b,1)}}var u=CKEDITOR.addTemplate(\"floatcontainer\",'<div id=\"cke_{name}\" class=\"cke {id} cke_reset_all cke_chrome cke_editor_{name} cke_float cke_{langDir} '+CKEDITOR.env.cssClass+'\" dir=\"{langDir}\" title=\"'+(CKEDITOR.env.gecko?\" \":\"\")+'\" lang=\"{langCode}\" role=\"application\" style=\"{style}\" aria-labelledby=\"cke_{name}_arialbl\"><span id=\"cke_{name}_arialbl\" class=\"cke_voice_label\">{voiceLabel}</span><div class=\"cke_inner\"><div id=\"{topId}\" class=\"cke_top\" role=\"presentation\">{content}</div></div></div>'),\ng=CKEDITOR.document.getWindow(),t=CKEDITOR.tools.cssLength;CKEDITOR.plugins.add(\"floatingspace\",{init:function(a){a.on(\"loaded\",function(){q(this)},null,null,20)}})})();CKEDITOR.plugins.add(\"listblock\",{requires:\"panel\",onLoad:function(){var f=CKEDITOR.addTemplate(\"panel-list\",'<ul role=\"presentation\" class=\"cke_panel_list\">{items}</ul>'),g=CKEDITOR.addTemplate(\"panel-list-item\",'<li id=\"{id}\" class=\"cke_panel_listItem\" role=presentation><a id=\"{id}_option\" _cke_focus=1 hidefocus=true title=\"{title}\" href=\"javascript:void(\\'{val}\\')\"  {onclick}=\"CKEDITOR.tools.callFunction({clickFn},\\'{val}\\'); return false;\" role=\"option\">{text}</a></li>'),h=CKEDITOR.addTemplate(\"panel-list-group\",\n'<h1 id=\"{id}\" class=\"cke_panel_grouptitle\" role=\"presentation\" >{label}</h1>'),i=/\\'/g;CKEDITOR.ui.panel.prototype.addListBlock=function(a,b){return this.addBlock(a,new CKEDITOR.ui.listBlock(this.getHolderElement(),b))};CKEDITOR.ui.listBlock=CKEDITOR.tools.createClass({base:CKEDITOR.ui.panel.block,$:function(a,b){var b=b||{},c=b.attributes||(b.attributes={});(this.multiSelect=!!b.multiSelect)&&(c[\"aria-multiselectable\"]=!0);!c.role&&(c.role=\"listbox\");this.base.apply(this,arguments);this.element.setAttribute(\"role\",\nc.role);c=this.keys;c[40]=\"next\";c[9]=\"next\";c[38]=\"prev\";c[CKEDITOR.SHIFT+9]=\"prev\";c[32]=CKEDITOR.env.ie?\"mouseup\":\"click\";CKEDITOR.env.ie&&(c[13]=\"mouseup\");this._.pendingHtml=[];this._.pendingList=[];this._.items={};this._.groups={}},_:{close:function(){if(this._.started){var a=f.output({items:this._.pendingList.join(\"\")});this._.pendingList=[];this._.pendingHtml.push(a);delete this._.started}},getClick:function(){this._.click||(this._.click=CKEDITOR.tools.addFunction(function(a){var b=this.toggle(a);\nif(this.onClick)this.onClick(a,b)},this));return this._.click}},proto:{add:function(a,b,c){var d=CKEDITOR.tools.getNextId();this._.started||(this._.started=1,this._.size=this._.size||0);this._.items[a]=d;var e;e=CKEDITOR.tools.htmlEncodeAttr(a).replace(i,\"\\\\'\");a={id:d,val:e,onclick:CKEDITOR.env.ie?'onclick=\"return false;\" onmouseup':\"onclick\",clickFn:this._.getClick(),title:CKEDITOR.tools.htmlEncodeAttr(c||a),text:b||a};this._.pendingList.push(g.output(a))},startGroup:function(a){this._.close();\nvar b=CKEDITOR.tools.getNextId();this._.groups[a]=b;this._.pendingHtml.push(h.output({id:b,label:a}))},commit:function(){this._.close();this.element.appendHtml(this._.pendingHtml.join(\"\"));delete this._.size;this._.pendingHtml=[]},toggle:function(a){var b=this.isMarked(a);b?this.unmark(a):this.mark(a);return!b},hideGroup:function(a){var b=(a=this.element.getDocument().getById(this._.groups[a]))&&a.getNext();a&&(a.setStyle(\"display\",\"none\"),b&&\"ul\"==b.getName()&&b.setStyle(\"display\",\"none\"))},hideItem:function(a){this.element.getDocument().getById(this._.items[a]).setStyle(\"display\",\n\"none\")},showAll:function(){var a=this._.items,b=this._.groups,c=this.element.getDocument(),d;for(d in a)c.getById(a[d]).setStyle(\"display\",\"\");for(var e in b)a=c.getById(b[e]),d=a.getNext(),a.setStyle(\"display\",\"\"),d&&\"ul\"==d.getName()&&d.setStyle(\"display\",\"\")},mark:function(a){this.multiSelect||this.unmarkAll();var a=this._.items[a],b=this.element.getDocument().getById(a);b.addClass(\"cke_selected\");this.element.getDocument().getById(a+\"_option\").setAttribute(\"aria-selected\",!0);this.onMark&&this.onMark(b)},\nunmark:function(a){var b=this.element.getDocument(),a=this._.items[a],c=b.getById(a);c.removeClass(\"cke_selected\");b.getById(a+\"_option\").removeAttribute(\"aria-selected\");this.onUnmark&&this.onUnmark(c)},unmarkAll:function(){var a=this._.items,b=this.element.getDocument(),c;for(c in a){var d=a[c];b.getById(d).removeClass(\"cke_selected\");b.getById(d+\"_option\").removeAttribute(\"aria-selected\")}this.onUnmark&&this.onUnmark()},isMarked:function(a){return this.element.getDocument().getById(this._.items[a]).hasClass(\"cke_selected\")},\nfocus:function(a){this._.focusIndex=-1;var b=this.element.getElementsByTag(\"a\"),c,d=-1;if(a)for(c=this.element.getDocument().getById(this._.items[a]).getFirst();a=b.getItem(++d);){if(a.equals(c)){this._.focusIndex=d;break}}else this.element.focus();c&&setTimeout(function(){c.focus()},0)}}})}});CKEDITOR.plugins.add(\"richcombo\",{requires:\"floatpanel,listblock,button\",beforeInit:function(d){d.ui.addHandler(CKEDITOR.UI_RICHCOMBO,CKEDITOR.ui.richCombo.handler)}});\n(function(){var d='<span id=\"{id}\" class=\"cke_combo cke_combo__{name} {cls}\" role=\"presentation\"><span id=\"{id}_label\" class=\"cke_combo_label\">{label}</span><a class=\"cke_combo_button\" hidefocus=true title=\"{title}\" tabindex=\"-1\"'+(CKEDITOR.env.gecko&&10900<=CKEDITOR.env.version&&!CKEDITOR.env.hc?\"\":'\" href=\"javascript:void(\\'{titleJs}\\')\"')+' hidefocus=\"true\" role=\"button\" aria-labelledby=\"{id}_label\" aria-haspopup=\"true\"';if(CKEDITOR.env.opera||CKEDITOR.env.gecko&&CKEDITOR.env.mac)d+=' onkeypress=\"return false;\"';\nCKEDITOR.env.gecko&&(d+=' onblur=\"this.style.cssText = this.style.cssText;\"');var d=d+(' onkeydown=\"return CKEDITOR.tools.callFunction({keydownFn},event,this);\" onmousedown=\"return CKEDITOR.tools.callFunction({mousedownFn},event);\"  onfocus=\"return CKEDITOR.tools.callFunction({focusFn},event);\" '+(CKEDITOR.env.ie?'onclick=\"return false;\" onmouseup':\"onclick\")+'=\"CKEDITOR.tools.callFunction({clickFn},this);return false;\"><span id=\"{id}_text\" class=\"cke_combo_text cke_combo_inlinelabel\">{label}</span><span class=\"cke_combo_open\"><span class=\"cke_combo_arrow\">'+\n(CKEDITOR.env.hc?\"&#9660;\":CKEDITOR.env.air?\"&nbsp;\":\"\")+\"</span></span></a></span>\"),i=CKEDITOR.addTemplate(\"combo\",d);CKEDITOR.UI_RICHCOMBO=\"richcombo\";CKEDITOR.ui.richCombo=CKEDITOR.tools.createClass({$:function(a){CKEDITOR.tools.extend(this,a,{canGroup:!1,title:a.label,modes:{wysiwyg:1},editorFocus:1});a=this.panel||{};delete this.panel;this.id=CKEDITOR.tools.getNextNumber();this.document=a.parent&&a.parent.getDocument()||CKEDITOR.document;a.className=\"cke_combopanel\";a.block={multiSelect:a.multiSelect,\nattributes:a.attributes};a.toolbarRelated=!0;this._={panelDefinition:a,items:{}}},proto:{renderHtml:function(a){var b=[];this.render(a,b);return b.join(\"\")},render:function(a,b){function g(){var c=this.modes[a.mode]?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED;a.readOnly&&!this.readOnly&&(c=CKEDITOR.TRISTATE_DISABLED);this.setState(c);this.setValue(\"\");c!=CKEDITOR.TRISTATE_DISABLED&&this.refresh&&this.refresh()}var d=CKEDITOR.env,h=\"cke_\"+this.id,e=CKEDITOR.tools.addFunction(function(b){j&&(a.unlockSelection(1),\nj=0);c.execute(b)},this),f=this,c={id:h,combo:this,focus:function(){CKEDITOR.document.getById(h).getChild(1).focus()},execute:function(c){var b=f._;if(b.state!=CKEDITOR.TRISTATE_DISABLED)if(f.createPanel(a),b.on)b.panel.hide();else{f.commit();var d=f.getValue();d?b.list.mark(d):b.list.unmarkAll();b.panel.showBlock(f.id,new CKEDITOR.dom.element(c),4)}},clickFn:e};a.on(\"activeFilterChange\",g,this);a.on(\"mode\",g,this);!this.readOnly&&a.on(\"readOnly\",g,this);var k=CKEDITOR.tools.addFunction(function(b,\nd){var b=new CKEDITOR.dom.event(b),g=b.getKeystroke();if(40==g)a.once(\"panelShow\",function(a){a.data._.panel._.currentBlock.onKeyDown(40)});switch(g){case 13:case 32:case 40:CKEDITOR.tools.callFunction(e,d);break;default:c.onkey(c,g)}b.preventDefault()}),l=CKEDITOR.tools.addFunction(function(){c.onfocus&&c.onfocus()}),j=0,m=CKEDITOR.tools.addFunction(function(){if(CKEDITOR.env.opera){var b=a.editable();b.isInline()&&b.hasFocus&&(a.lockSelection(),j=1)}});c.keyDownFn=k;d={id:h,name:this.name||this.command,\nlabel:this.label,title:this.title,cls:this.className||\"\",titleJs:d.gecko&&10900<=d.version&&!d.hc?\"\":(this.title||\"\").replace(\"'\",\"\"),keydownFn:k,mousedownFn:m,focusFn:l,clickFn:e};i.output(d,b);if(this.onRender)this.onRender();return c},createPanel:function(a){if(!this._.panel){var b=this._.panelDefinition,d=this._.panelDefinition.block,i=b.parent||CKEDITOR.document.getBody(),h=\"cke_combopanel__\"+this.name,e=new CKEDITOR.ui.floatPanel(a,i,b),f=e.addListBlock(this.id,d),c=this;e.onShow=function(){this.element.addClass(h);\nc.setState(CKEDITOR.TRISTATE_ON);c._.on=1;c.editorFocus&&!a.focusManager.hasFocus&&a.focus();if(c.onOpen)c.onOpen();a.once(\"panelShow\",function(){f.focus(!f.multiSelect&&c.getValue())})};e.onHide=function(b){this.element.removeClass(h);c.setState(c.modes&&c.modes[a.mode]?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED);c._.on=0;if(!b&&c.onClose)c.onClose()};e.onEscape=function(){e.hide(1)};f.onClick=function(a,b){c.onClick&&c.onClick.call(c,a,b);e.hide()};this._.panel=e;this._.list=f;e.getBlock(this.id).onHide=\nfunction(){c._.on=0;c.setState(CKEDITOR.TRISTATE_OFF)};this.init&&this.init()}},setValue:function(a,b){this._.value=a;var d=this.document.getById(\"cke_\"+this.id+\"_text\");d&&(!a&&!b?(b=this.label,d.addClass(\"cke_combo_inlinelabel\")):d.removeClass(\"cke_combo_inlinelabel\"),d.setText(\"undefined\"!=typeof b?b:a))},getValue:function(){return this._.value||\"\"},unmarkAll:function(){this._.list.unmarkAll()},mark:function(a){this._.list.mark(a)},hideItem:function(a){this._.list.hideItem(a)},hideGroup:function(a){this._.list.hideGroup(a)},\nshowAll:function(){this._.list.showAll()},add:function(a,b,d){this._.items[a]=d||a;this._.list.add(a,b,d)},startGroup:function(a){this._.list.startGroup(a)},commit:function(){this._.committed||(this._.list.commit(),this._.committed=1,CKEDITOR.ui.fire(\"ready\",this));this._.committed=1},setState:function(a){if(this._.state!=a){var b=this.document.getById(\"cke_\"+this.id);b.setState(a,\"cke_combo\");a==CKEDITOR.TRISTATE_DISABLED?b.setAttribute(\"aria-disabled\",!0):b.removeAttribute(\"aria-disabled\");this._.state=\na}},getState:function(){return this._.state},enable:function(){this._.state==CKEDITOR.TRISTATE_DISABLED&&this.setState(this._.lastState)},disable:function(){this._.state!=CKEDITOR.TRISTATE_DISABLED&&(this._.lastState=this._.state,this.setState(CKEDITOR.TRISTATE_DISABLED))}},statics:{handler:{create:function(a){return new CKEDITOR.ui.richCombo(a)}}}});CKEDITOR.ui.prototype.addRichCombo=function(a,b){this.add(a,CKEDITOR.UI_RICHCOMBO,b)}})();(function(){function g(a,b,g,h,j,n,l,o){for(var p=a.config,k=new CKEDITOR.style(l),c=j.split(\";\"),j=[],f={},d=0;d<c.length;d++){var e=c[d];if(e){var e=e.split(\"/\"),m={},i=c[d]=e[0];m[g]=j[d]=e[1]||i;f[i]=new CKEDITOR.style(l,m);f[i]._.definition.name=i}else c.splice(d--,1)}a.ui.addRichCombo(b,{label:h.label,title:h.panelTitle,toolbar:\"styles,\"+o,allowedContent:k,requiredContent:k,panel:{css:[CKEDITOR.skin.getPath(\"editor\")].concat(p.contentsCss),multiSelect:!1,attributes:{\"aria-label\":h.panelTitle}},\ninit:function(){this.startGroup(h.panelTitle);for(var a=0;a<c.length;a++){var b=c[a];this.add(b,f[b].buildPreview(),b)}},onClick:function(b){a.focus();a.fire(\"saveSnapshot\");var c=f[b];a[this.getValue()==b?\"removeStyle\":\"applyStyle\"](c);a.fire(\"saveSnapshot\")},onRender:function(){a.on(\"selectionChange\",function(a){for(var b=this.getValue(),a=a.data.path.elements,c=0,d;c<a.length;c++){d=a[c];for(var e in f)if(f[e].checkElementMatch(d,!0)){e!=b&&this.setValue(e);return}}this.setValue(\"\",n)},this)},\nrefresh:function(){a.activeFilter.check(k)||this.setState(CKEDITOR.TRISTATE_DISABLED)}})}CKEDITOR.plugins.add(\"font\",{requires:\"richcombo\",init:function(a){var b=a.config;g(a,\"Font\",\"family\",a.lang.font,b.font_names,b.font_defaultLabel,b.font_style,30);g(a,\"FontSize\",\"size\",a.lang.font.fontSize,b.fontSize_sizes,b.fontSize_defaultLabel,b.fontSize_style,40)}})})();CKEDITOR.config.font_names=\"Arial/Arial, Helvetica, sans-serif;Comic Sans MS/Comic Sans MS, cursive;Courier New/Courier New, Courier, monospace;Georgia/Georgia, serif;Lucida Sans Unicode/Lucida Sans Unicode, Lucida Grande, sans-serif;Tahoma/Tahoma, Geneva, sans-serif;Times New Roman/Times New Roman, Times, serif;Trebuchet MS/Trebuchet MS, Helvetica, sans-serif;Verdana/Verdana, Geneva, sans-serif\";\nCKEDITOR.config.font_defaultLabel=\"\";CKEDITOR.config.font_style={element:\"span\",styles:{\"font-family\":\"#(family)\"},overrides:[{element:\"font\",attributes:{face:null}}]};CKEDITOR.config.fontSize_sizes=\"8/8px;9/9px;10/10px;11/11px;12/12px;14/14px;16/16px;18/18px;20/20px;22/22px;24/24px;26/26px;28/28px;36/36px;48/48px;72/72px\";CKEDITOR.config.fontSize_defaultLabel=\"\";CKEDITOR.config.fontSize_style={element:\"span\",styles:{\"font-size\":\"#(size)\"},overrides:[{element:\"font\",attributes:{size:null}}]};CKEDITOR.plugins.add(\"forms\",{requires:\"dialog,fakeobjects\",onLoad:function(){CKEDITOR.addCss(\".cke_editable form{border: 1px dotted #FF0000;padding: 2px;}\\n\");CKEDITOR.addCss(\"img.cke_hidden{background-image: url(\"+CKEDITOR.getUrl(this.path+\"images/hiddenfield.gif\")+\");background-position: center center;background-repeat: no-repeat;border: 1px solid #a9a9a9;width: 16px !important;height: 16px !important;}\")},init:function(b){var a=b.lang,e=0,h={email:1,password:1,search:1,tel:1,text:1,url:1},j={checkbox:\"input[type,name,checked]\",\nradio:\"input[type,name,checked]\",textfield:\"input[type,name,value,size,maxlength]\",textarea:\"textarea[cols,rows,name]\",select:\"select[name,size,multiple]; option[value,selected]\",button:\"input[type,name,value]\",form:\"form[action,name,id,enctype,target,method]\",hiddenfield:\"input[type,name,value]\",imagebutton:\"input[type,alt,src]{width,height,border,border-width,border-style,margin,float}\"},k={checkbox:\"input\",radio:\"input\",textfield:\"input\",textarea:\"textarea\",select:\"select\",button:\"input\",form:\"form\",\nhiddenfield:\"input\",imagebutton:\"input\"},d=function(g,c,d){var h={allowedContent:j[c],requiredContent:k[c]};\"form\"==c&&(h.context=\"form\");b.addCommand(c,new CKEDITOR.dialogCommand(c,h));b.ui.addButton&&b.ui.addButton(g,{label:a.common[g.charAt(0).toLowerCase()+g.slice(1)],command:c,toolbar:\"forms,\"+(e+=10)});CKEDITOR.dialog.add(c,d)},f=this.path+\"dialogs/\";!b.blockless&&d(\"Form\",\"form\",f+\"form.js\");d(\"Checkbox\",\"checkbox\",f+\"checkbox.js\");d(\"Radio\",\"radio\",f+\"radio.js\");d(\"TextField\",\"textfield\",\nf+\"textfield.js\");d(\"Textarea\",\"textarea\",f+\"textarea.js\");d(\"Select\",\"select\",f+\"select.js\");d(\"Button\",\"button\",f+\"button.js\");var i=b.plugins.image;i&&!b.plugins.image2&&d(\"ImageButton\",\"imagebutton\",CKEDITOR.plugins.getPath(\"image\")+\"dialogs/image.js\");d(\"HiddenField\",\"hiddenfield\",f+\"hiddenfield.js\");b.addMenuItems&&(d={checkbox:{label:a.forms.checkboxAndRadio.checkboxTitle,command:\"checkbox\",group:\"checkbox\"},radio:{label:a.forms.checkboxAndRadio.radioTitle,command:\"radio\",group:\"radio\"},textfield:{label:a.forms.textfield.title,\ncommand:\"textfield\",group:\"textfield\"},hiddenfield:{label:a.forms.hidden.title,command:\"hiddenfield\",group:\"hiddenfield\"},button:{label:a.forms.button.title,command:\"button\",group:\"button\"},select:{label:a.forms.select.title,command:\"select\",group:\"select\"},textarea:{label:a.forms.textarea.title,command:\"textarea\",group:\"textarea\"}},i&&(d.imagebutton={label:a.image.titleButton,command:\"imagebutton\",group:\"imagebutton\"}),!b.blockless&&(d.form={label:a.forms.form.menu,command:\"form\",group:\"form\"}),\nb.addMenuItems(d));b.contextMenu&&(!b.blockless&&b.contextMenu.addListener(function(g,c,b){if((g=b.contains(\"form\",1))&&!g.isReadOnly())return{form:CKEDITOR.TRISTATE_OFF}}),b.contextMenu.addListener(function(b){if(b&&!b.isReadOnly()){var c=b.getName();if(c==\"select\")return{select:CKEDITOR.TRISTATE_OFF};if(c==\"textarea\")return{textarea:CKEDITOR.TRISTATE_OFF};if(c==\"input\"){var a=b.getAttribute(\"type\")||\"text\";switch(a){case \"button\":case \"submit\":case \"reset\":return{button:CKEDITOR.TRISTATE_OFF};case \"checkbox\":return{checkbox:CKEDITOR.TRISTATE_OFF};\ncase \"radio\":return{radio:CKEDITOR.TRISTATE_OFF};case \"image\":return i?{imagebutton:CKEDITOR.TRISTATE_OFF}:null}if(h[a])return{textfield:CKEDITOR.TRISTATE_OFF}}if(c==\"img\"&&b.data(\"cke-real-element-type\")==\"hiddenfield\")return{hiddenfield:CKEDITOR.TRISTATE_OFF}}}));b.on(\"doubleclick\",function(a){var c=a.data.element;if(!b.blockless&&c.is(\"form\"))a.data.dialog=\"form\";else if(c.is(\"select\"))a.data.dialog=\"select\";else if(c.is(\"textarea\"))a.data.dialog=\"textarea\";else if(c.is(\"img\")&&c.data(\"cke-real-element-type\")==\n\"hiddenfield\")a.data.dialog=\"hiddenfield\";else if(c.is(\"input\")){c=c.getAttribute(\"type\")||\"text\";switch(c){case \"button\":case \"submit\":case \"reset\":a.data.dialog=\"button\";break;case \"checkbox\":a.data.dialog=\"checkbox\";break;case \"radio\":a.data.dialog=\"radio\";break;case \"image\":a.data.dialog=\"imagebutton\"}if(h[c])a.data.dialog=\"textfield\"}})},afterInit:function(b){var a=b.dataProcessor,e=a&&a.htmlFilter,a=a&&a.dataFilter;CKEDITOR.env.ie&&e&&e.addRules({elements:{input:function(a){var a=a.attributes,\nb=a.type;b||(a.type=\"text\");(\"checkbox\"==b||\"radio\"==b)&&\"on\"==a.value&&delete a.value}}},{applyToAll:!0});a&&a.addRules({elements:{input:function(a){if(\"hidden\"==a.attributes.type)return b.createFakeParserElement(a,\"cke_hidden\",\"hiddenfield\")}}},{applyToAll:!0})}});\nCKEDITOR.env.ie&&(CKEDITOR.dom.element.prototype.hasAttribute=CKEDITOR.tools.override(CKEDITOR.dom.element.prototype.hasAttribute,function(b){return function(a){this.$.attributes.getNamedItem(a);if(\"input\"==this.getName())switch(a){case \"class\":return 0<this.$.className.length;case \"checked\":return!!this.$.checked;case \"value\":var e=this.getAttribute(\"type\");return\"checkbox\"==e||\"radio\"==e?\"on\"!=this.$.value:this.$.value}return b.apply(this,arguments)}}));CKEDITOR.plugins.add(\"format\",{requires:\"richcombo\",init:function(a){if(!a.blockless){for(var f=a.config,c=a.lang.format,j=f.format_tags.split(\";\"),d={},k=0,l=[],g=0;g<j.length;g++){var h=j[g],i=new CKEDITOR.style(f[\"format_\"+h]);if(!a.filter.customConfig||a.filter.check(i))k++,d[h]=i,d[h]._.enterMode=a.config.enterMode,l.push(i)}0!==k&&a.ui.addRichCombo(\"Format\",{label:c.label,title:c.panelTitle,toolbar:\"styles,20\",allowedContent:l,panel:{css:[CKEDITOR.skin.getPath(\"editor\")].concat(f.contentsCss),\nmultiSelect:!1,attributes:{\"aria-label\":c.panelTitle}},init:function(){this.startGroup(c.panelTitle);for(var b in d){var a=c[\"tag_\"+b];this.add(b,d[b].buildPreview(a),a)}},onClick:function(b){a.focus();a.fire(\"saveSnapshot\");var b=d[b],c=a.elementPath();a[b.checkActive(c)?\"removeStyle\":\"applyStyle\"](b);setTimeout(function(){a.fire(\"saveSnapshot\")},0)},onRender:function(){a.on(\"selectionChange\",function(b){var c=this.getValue(),b=b.data.path;this.refresh();for(var e in d)if(d[e].checkActive(b)){e!=\nc&&this.setValue(e,a.lang.format[\"tag_\"+e]);return}this.setValue(\"\")},this)},onOpen:function(){this.showAll();for(var b in d)a.activeFilter.check(d[b])||this.hideItem(b)},refresh:function(){var b=a.elementPath();if(b){if(b.isContextFor(\"p\"))for(var c in d)if(a.activeFilter.check(d[c]))return;this.setState(CKEDITOR.TRISTATE_DISABLED)}}})}}});CKEDITOR.config.format_tags=\"p;h1;h2;h3;h4;h5;h6;pre;address;div\";CKEDITOR.config.format_p={element:\"p\"};CKEDITOR.config.format_div={element:\"div\"};\nCKEDITOR.config.format_pre={element:\"pre\"};CKEDITOR.config.format_address={element:\"address\"};CKEDITOR.config.format_h1={element:\"h1\"};CKEDITOR.config.format_h2={element:\"h2\"};CKEDITOR.config.format_h3={element:\"h3\"};CKEDITOR.config.format_h4={element:\"h4\"};CKEDITOR.config.format_h5={element:\"h5\"};CKEDITOR.config.format_h6={element:\"h6\"};(function(){var b={canUndo:!1,exec:function(a){var b=a.document.createElement(\"hr\");a.insertElement(b)},allowedContent:\"hr\",requiredContent:\"hr\"};CKEDITOR.plugins.add(\"horizontalrule\",{init:function(a){a.blockless||(a.addCommand(\"horizontalrule\",b),a.ui.addButton&&a.ui.addButton(\"HorizontalRule\",{label:a.lang.horizontalrule.toolbar,command:\"horizontalrule\",toolbar:\"insert,40\"}))}})})();CKEDITOR.plugins.add(\"htmlwriter\",{init:function(b){var a=new CKEDITOR.htmlWriter;a.forceSimpleAmpersand=b.config.forceSimpleAmpersand;a.indentationChars=b.config.dataIndentationChars||\"\\t\";b.dataProcessor.writer=a}});\nCKEDITOR.htmlWriter=CKEDITOR.tools.createClass({base:CKEDITOR.htmlParser.basicWriter,$:function(){this.base();this.indentationChars=\"\\t\";this.selfClosingEnd=\" />\";this.lineBreakChars=\"\\n\";this.sortAttributes=1;this._.indent=0;this._.indentation=\"\";this._.inPre=0;this._.rules={};var b=CKEDITOR.dtd,a;for(a in CKEDITOR.tools.extend({},b.$nonBodyContent,b.$block,b.$listItem,b.$tableContent))this.setRules(a,{indent:!b[a][\"#\"],breakBeforeOpen:1,breakBeforeClose:!b[a][\"#\"],breakAfterClose:1,needsSpace:a in\nb.$block&&!(a in{li:1,dt:1,dd:1})});this.setRules(\"br\",{breakAfterOpen:1});this.setRules(\"title\",{indent:0,breakAfterOpen:0});this.setRules(\"style\",{indent:0,breakBeforeClose:1});this.setRules(\"pre\",{breakAfterOpen:1,indent:0})},proto:{openTag:function(b){var a=this._.rules[b];this._.afterCloser&&(a&&a.needsSpace&&this._.needsSpace)&&this._.output.push(\"\\n\");this._.indent?this.indentation():a&&a.breakBeforeOpen&&(this.lineBreak(),this.indentation());this._.output.push(\"<\",b);this._.afterCloser=0},\nopenTagClose:function(b,a){var c=this._.rules[b];a?(this._.output.push(this.selfClosingEnd),c&&c.breakAfterClose&&(this._.needsSpace=c.needsSpace)):(this._.output.push(\">\"),c&&c.indent&&(this._.indentation+=this.indentationChars));c&&c.breakAfterOpen&&this.lineBreak();\"pre\"==b&&(this._.inPre=1)},attribute:function(b,a){\"string\"==typeof a&&(this.forceSimpleAmpersand&&(a=a.replace(/&amp;/g,\"&\")),a=CKEDITOR.tools.htmlEncodeAttr(a));this._.output.push(\" \",b,'=\"',a,'\"')},closeTag:function(b){var a=this._.rules[b];\na&&a.indent&&(this._.indentation=this._.indentation.substr(this.indentationChars.length));this._.indent?this.indentation():a&&a.breakBeforeClose&&(this.lineBreak(),this.indentation());this._.output.push(\"</\",b,\">\");\"pre\"==b&&(this._.inPre=0);a&&a.breakAfterClose&&(this.lineBreak(),this._.needsSpace=a.needsSpace);this._.afterCloser=1},text:function(b){this._.indent&&(this.indentation(),!this._.inPre&&(b=CKEDITOR.tools.ltrim(b)));this._.output.push(b)},comment:function(b){this._.indent&&this.indentation();\nthis._.output.push(\"<\\!--\",b,\"--\\>\")},lineBreak:function(){!this._.inPre&&0<this._.output.length&&this._.output.push(this.lineBreakChars);this._.indent=1},indentation:function(){!this._.inPre&&this._.indentation&&this._.output.push(this._.indentation);this._.indent=0},reset:function(){this._.output=[];this._.indent=0;this._.indentation=\"\";this._.afterCloser=0;this._.inPre=0},setRules:function(b,a){var c=this._.rules[b];c?CKEDITOR.tools.extend(c,a,!0):this._.rules[b]=a}}});(function(){CKEDITOR.plugins.add(\"iframe\",{requires:\"dialog,fakeobjects\",onLoad:function(){CKEDITOR.addCss(\"img.cke_iframe{background-image: url(\"+CKEDITOR.getUrl(this.path+\"images/placeholder.png\")+\");background-position: center center;background-repeat: no-repeat;border: 1px solid #a9a9a9;width: 80px;height: 80px;}\")},init:function(a){var b=a.lang.iframe,c=\"iframe[align,longdesc,frameborder,height,name,scrolling,src,title,width]\";a.plugins.dialogadvtab&&(c+=\";iframe\"+a.plugins.dialogadvtab.allowedContent({id:1,\nclasses:1,styles:1}));CKEDITOR.dialog.add(\"iframe\",this.path+\"dialogs/iframe.js\");a.addCommand(\"iframe\",new CKEDITOR.dialogCommand(\"iframe\",{allowedContent:c,requiredContent:\"iframe\"}));a.ui.addButton&&a.ui.addButton(\"Iframe\",{label:b.toolbar,command:\"iframe\",toolbar:\"insert,80\"});a.on(\"doubleclick\",function(a){var b=a.data.element;b.is(\"img\")&&\"iframe\"==b.data(\"cke-real-element-type\")&&(a.data.dialog=\"iframe\")});a.addMenuItems&&a.addMenuItems({iframe:{label:b.title,command:\"iframe\",group:\"image\"}});\na.contextMenu&&a.contextMenu.addListener(function(a){if(a&&a.is(\"img\")&&\"iframe\"==a.data(\"cke-real-element-type\"))return{iframe:CKEDITOR.TRISTATE_OFF}})},afterInit:function(a){var b=a.dataProcessor;(b=b&&b.dataFilter)&&b.addRules({elements:{iframe:function(b){return a.createFakeParserElement(b,\"cke_iframe\",\"iframe\",!0)}}})}})})();(function(){function k(a){var d=this.editor,b=a.document,c=b.body;(a=b.getElementById(\"cke_actscrpt\"))&&a.parentNode.removeChild(a);(a=b.getElementById(\"cke_shimscrpt\"))&&a.parentNode.removeChild(a);CKEDITOR.env.gecko&&(c.contentEditable=!1,2E4>CKEDITOR.env.version&&(c.innerHTML=c.innerHTML.replace(/^.*<\\!-- cke-content-start --\\>/,\"\"),setTimeout(function(){var a=new CKEDITOR.dom.range(new CKEDITOR.dom.document(b));a.setStart(new CKEDITOR.dom.node(c),0);d.getSelection().selectRanges([a])},0)));c.contentEditable=\n!0;CKEDITOR.env.ie&&(c.hideFocus=!0,c.disabled=!0,c.removeAttribute(\"disabled\"));delete this._.isLoadingData;this.$=c;b=new CKEDITOR.dom.document(b);this.setup();CKEDITOR.env.ie&&(b.getDocumentElement().addClass(b.$.compatMode),d.config.enterMode!=CKEDITOR.ENTER_P&&this.attachListener(b,\"selectionchange\",function(){var a=b.getBody(),c=d.getSelection(),e=c&&c.getRanges()[0];e&&(a.getHtml().match(/^<p>(?:&nbsp;|<br>)<\\/p>$/i)&&e.startContainer.equals(a))&&setTimeout(function(){e=d.getSelection().getRanges()[0];\nif(!e.startContainer.equals(\"body\")){a.getFirst().remove(1);e.moveToElementEditEnd(a);e.select()}},0)}));if(CKEDITOR.env.webkit||CKEDITOR.env.ie&&10<CKEDITOR.env.version)b.getDocumentElement().on(\"mousedown\",function(a){a.data.getTarget().is(\"html\")&&setTimeout(function(){d.editable().focus()})});try{d.document.$.execCommand(\"2D-position\",!1,!0)}catch(e){}try{d.document.$.execCommand(\"enableInlineTableEditing\",!1,!d.config.disableNativeTableHandles)}catch(g){}if(d.config.disableObjectResizing)try{this.getDocument().$.execCommand(\"enableObjectResizing\",\n!1,!1)}catch(f){this.attachListener(this,CKEDITOR.env.ie?\"resizestart\":\"resize\",function(a){a.data.preventDefault()})}(CKEDITOR.env.gecko||CKEDITOR.env.ie&&\"CSS1Compat\"==d.document.$.compatMode)&&this.attachListener(this,\"keydown\",function(a){var b=a.data.getKeystroke();if(b==33||b==34)if(CKEDITOR.env.ie)setTimeout(function(){d.getSelection().scrollIntoView()},0);else if(d.window.$.innerHeight>this.$.offsetHeight){var c=d.createRange();c[b==33?\"moveToElementEditStart\":\"moveToElementEditEnd\"](this);\nc.select();a.data.preventDefault()}});CKEDITOR.env.ie&&this.attachListener(b,\"blur\",function(){try{b.$.selection.empty()}catch(a){}});d.document.getElementsByTag(\"title\").getItem(0).data(\"cke-title\",d.document.$.title);CKEDITOR.env.ie&&(d.document.$.title=this._.docTitle);CKEDITOR.tools.setTimeout(function(){d.fire(\"contentDom\");if(this._.isPendingFocus){d.focus();this._.isPendingFocus=false}setTimeout(function(){d.fire(\"dataReady\")},0);CKEDITOR.env.ie&&setTimeout(function(){if(d.document){var a=\nd.document.$.body;a.runtimeStyle.marginBottom=\"0px\";a.runtimeStyle.marginBottom=\"\"}},1E3)},0,this)}function l(){var a=[];if(8<=CKEDITOR.document.$.documentMode){a.push(\"html.CSS1Compat [contenteditable=false]{min-height:0 !important}\");var d=[],b;for(b in CKEDITOR.dtd.$removeEmpty)d.push(\"html.CSS1Compat \"+b+\"[contenteditable=false]\");a.push(d.join(\",\")+\"{display:inline-block}\")}else CKEDITOR.env.gecko&&(a.push(\"html{height:100% !important}\"),a.push(\"img:-moz-broken{-moz-force-broken-image-icon:1;min-width:24px;min-height:24px}\"));\na.push(\"html{cursor:text;*cursor:auto}\");a.push(\"img,input,textarea{cursor:default}\");return a.join(\"\\n\")}CKEDITOR.plugins.add(\"wysiwygarea\",{init:function(a){a.config.fullPage&&a.addFeature({allowedContent:\"html head title; style [media,type]; body (*)[id]; meta link [*]\",requiredContent:\"body\"});a.addMode(\"wysiwyg\",function(d){function b(b){b&&b.removeListener();a.editable(new j(a,e.$.contentWindow.document.body));a.setData(a.getData(1),d)}var c=\"document.open();\"+(CKEDITOR.env.ie?\"(\"+CKEDITOR.tools.fixDomain+\n\")();\":\"\")+\"document.close();\",c=CKEDITOR.env.air?\"javascript:void(0)\":CKEDITOR.env.ie?\"javascript:void(function(){\"+encodeURIComponent(c)+\"}())\":\"\",e=CKEDITOR.dom.element.createFromHtml('<iframe src=\"'+c+'\" frameBorder=\"0\"></iframe>');e.setStyles({width:\"100%\",height:\"100%\"});e.addClass(\"cke_wysiwyg_frame cke_reset\");var g=a.ui.space(\"contents\");g.append(e);if(c=CKEDITOR.env.ie||CKEDITOR.env.gecko)e.on(\"load\",b);var f=a.title,h=a.lang.common.editorHelp;f&&(CKEDITOR.env.ie&&(f+=\", \"+h),e.setAttribute(\"title\",\nf));var f=CKEDITOR.tools.getNextId(),i=CKEDITOR.dom.element.createFromHtml('<span id=\"'+f+'\" class=\"cke_voice_label\">'+h+\"</span>\");g.append(i,1);a.on(\"beforeModeUnload\",function(a){a.removeListener();i.remove()});e.setAttributes({\"aria-describedby\":f,tabIndex:a.tabIndex,allowTransparency:\"true\"});!c&&b();CKEDITOR.env.webkit&&(c=function(){g.setStyle(\"width\",\"100%\");e.hide();e.setSize(\"width\",g.getSize(\"width\"));g.removeStyle(\"width\");e.show()},e.setCustomData(\"onResize\",c),CKEDITOR.document.getWindow().on(\"resize\",\nc));a.fire(\"ariaWidget\",e)})}});var j=CKEDITOR.tools.createClass({$:function(a){this.base.apply(this,arguments);this._.frameLoadedHandler=CKEDITOR.tools.addFunction(function(a){CKEDITOR.tools.setTimeout(k,0,this,a)},this);this._.docTitle=this.getWindow().getFrame().getAttribute(\"title\")},base:CKEDITOR.editable,proto:{setData:function(a,d){var b=this.editor;if(d)this.setHtml(a),b.fire(\"dataReady\");else{this._.isLoadingData=!0;b._.dataStore={id:1};var c=b.config,e=c.fullPage,g=c.docType,f=CKEDITOR.tools.buildStyleHtml(l()).replace(/<style>/,\n'<style data-cke-temp=\"1\">');e||(f+=CKEDITOR.tools.buildStyleHtml(b.config.contentsCss));var h=c.baseHref?'<base href=\"'+c.baseHref+'\" data-cke-temp=\"1\" />':\"\";e&&(a=a.replace(/<!DOCTYPE[^>]*>/i,function(a){b.docType=g=a;return\"\"}).replace(/<\\?xml\\s[^\\?]*\\?>/i,function(a){b.xmlDeclaration=a;return\"\"}));a=b.dataProcessor.toHtml(a);e?(/<body[\\s|>]/.test(a)||(a=\"<body>\"+a),/<html[\\s|>]/.test(a)||(a=\"<html>\"+a+\"</html>\"),/<head[\\s|>]/.test(a)?/<title[\\s|>]/.test(a)||(a=a.replace(/<head[^>]*>/,\"$&<title></title>\")):\na=a.replace(/<html[^>]*>/,\"$&<head><title></title></head>\"),h&&(a=a.replace(/<head>/,\"$&\"+h)),a=a.replace(/<\\/head\\s*>/,f+\"$&\"),a=g+a):a=c.docType+'<html dir=\"'+c.contentsLangDirection+'\" lang=\"'+(c.contentsLanguage||b.langCode)+'\"><head><title>'+this._.docTitle+\"</title>\"+h+f+\"</head><body\"+(c.bodyId?' id=\"'+c.bodyId+'\"':\"\")+(c.bodyClass?' class=\"'+c.bodyClass+'\"':\"\")+\">\"+a+\"</body></html>\";CKEDITOR.env.gecko&&(a=a.replace(/<body/,'<body contenteditable=\"true\" '),2E4>CKEDITOR.env.version&&(a=a.replace(/<body[^>]*>/,\n\"$&<\\!-- cke-content-start --\\>\")));c='<script id=\"cke_actscrpt\" type=\"text/javascript\"'+(CKEDITOR.env.ie?' defer=\"defer\" ':\"\")+\">var wasLoaded=0;function onload(){if(!wasLoaded)window.parent.CKEDITOR.tools.callFunction(\"+this._.frameLoadedHandler+\",window);wasLoaded=1;}\"+(CKEDITOR.env.ie?\"onload();\":'document.addEventListener(\"DOMContentLoaded\", onload, false );')+\"<\\/script>\";CKEDITOR.env.ie&&9>CKEDITOR.env.version&&(c+='<script id=\"cke_shimscrpt\">window.parent.CKEDITOR.tools.enableHtml5Elements(document)<\\/script>');\na=a.replace(/(?=\\s*<\\/(:?head)>)/,c);this.clearCustomData();this.clearListeners();b.fire(\"contentDomUnload\");var i=this.getDocument();try{i.write(a)}catch(j){setTimeout(function(){i.write(a)},0)}}},getData:function(a){if(a)return this.getHtml();var a=this.editor,d=a.config,b=d.fullPage,c=b&&a.docType,e=b&&a.xmlDeclaration,g=this.getDocument(),b=b?g.getDocumentElement().getOuterHtml():g.getBody().getHtml();CKEDITOR.env.gecko&&d.enterMode!=CKEDITOR.ENTER_BR&&(b=b.replace(/<br>(?=\\s*(:?$|<\\/body>))/,\n\"\"));b=a.dataProcessor.toDataFormat(b);e&&(b=e+\"\\n\"+b);c&&(b=c+\"\\n\"+b);return b},focus:function(){this._.isLoadingData?this._.isPendingFocus=!0:j.baseProto.focus.call(this)},detach:function(){var a=this.editor,d=a.document,b=a.window.getFrame();j.baseProto.detach.call(this);this.clearCustomData();d.getDocumentElement().clearCustomData();b.clearCustomData();CKEDITOR.tools.removeFunction(this._.frameLoadedHandler);(d=b.removeCustomData(\"onResize\"))&&d.removeListener();a.fire(\"contentDomUnload\");b.remove()}}})})();\nCKEDITOR.config.disableObjectResizing=!1;CKEDITOR.config.disableNativeTableHandles=!0;CKEDITOR.config.disableNativeSpellChecker=!0;CKEDITOR.config.contentsCss=CKEDITOR.basePath+\"contents.css\";(function(){function e(b,a){a||(a=b.getSelection().getSelectedElement());if(a&&a.is(\"img\")&&!a.data(\"cke-realelement\")&&!a.isReadOnly())return a}function f(b){var a=b.getStyle(\"float\");if(\"inherit\"==a||\"none\"==a)a=0;a||(a=b.getAttribute(\"align\"));return a}CKEDITOR.plugins.add(\"image\",{requires:\"dialog\",init:function(b){if(!b.plugins.image2){CKEDITOR.dialog.add(\"image\",this.path+\"dialogs/image.js\");var a=\"img[alt,!src]{border-style,border-width,float,height,margin,margin-bottom,margin-left,margin-right,margin-top,width}\";\nCKEDITOR.dialog.isTabEnabled(b,\"image\",\"advanced\")&&(a=\"img[alt,dir,id,lang,longdesc,!src,title]{*}(*)\");b.addCommand(\"image\",new CKEDITOR.dialogCommand(\"image\",{allowedContent:a,requiredContent:\"img[alt,src]\",contentTransformations:[[\"img{width}: sizeToStyle\",\"img[width]: sizeToAttribute\"],[\"img{float}: alignmentToStyle\",\"img[align]: alignmentToAttribute\"]]}));b.ui.addButton&&b.ui.addButton(\"Image\",{label:b.lang.common.image,command:\"image\",toolbar:\"insert,10\"});b.on(\"doubleclick\",function(b){var a=\nb.data.element;a.is(\"img\")&&(!a.data(\"cke-realelement\")&&!a.isReadOnly())&&(b.data.dialog=\"image\")});b.addMenuItems&&b.addMenuItems({image:{label:b.lang.image.menu,command:\"image\",group:\"image\"}});b.contextMenu&&b.contextMenu.addListener(function(a){if(e(b,a))return{image:CKEDITOR.TRISTATE_OFF}})}},afterInit:function(b){function a(a){var d=b.getCommand(\"justify\"+a);if(d){if(\"left\"==a||\"right\"==a)d.on(\"exec\",function(d){var c=e(b),g;c&&(g=f(c),g==a?(c.removeStyle(\"float\"),a==f(c)&&c.removeAttribute(\"align\")):\nc.setStyle(\"float\",a),d.cancel())});d.on(\"refresh\",function(d){var c=e(b);c&&(c=f(c),this.setState(c==a?CKEDITOR.TRISTATE_ON:\"right\"==a||\"left\"==a?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED),d.cancel())})}}b.plugins.image2||(a(\"left\"),a(\"right\"),a(\"center\"),a(\"block\"))}})})();CKEDITOR.config.image_removeLinkByEmptyURL=!0;(function(){function k(a,b){var e,f;b.on(\"refresh\",function(a){var b=[i],c;for(c in a.data.states)b.push(a.data.states[c]);this.setState(CKEDITOR.tools.search(b,m)?m:i)},b,null,100);b.on(\"exec\",function(b){e=a.getSelection();f=e.createBookmarks(1);b.data||(b.data={});b.data.done=!1},b,null,0);b.on(\"exec\",function(){a.forceNextSelectionCheck();e.selectBookmarks(f)},b,null,100)}var i=CKEDITOR.TRISTATE_DISABLED,m=CKEDITOR.TRISTATE_OFF;CKEDITOR.plugins.add(\"indent\",{init:function(a){var b=CKEDITOR.plugins.indent.genericDefinition;\nk(a,a.addCommand(\"indent\",new b(!0)));k(a,a.addCommand(\"outdent\",new b));a.ui.addButton&&(a.ui.addButton(\"Indent\",{label:a.lang.indent.indent,command:\"indent\",directional:!0,toolbar:\"indent,20\"}),a.ui.addButton(\"Outdent\",{label:a.lang.indent.outdent,command:\"outdent\",directional:!0,toolbar:\"indent,10\"}));a.on(\"dirChanged\",function(b){var f=a.createRange(),j=b.data.node;f.setStartBefore(j);f.setEndAfter(j);for(var l=new CKEDITOR.dom.walker(f),c;c=l.next();)if(c.type==CKEDITOR.NODE_ELEMENT)if(!c.equals(j)&&\nc.getDirection()){f.setStartAfter(c);l=new CKEDITOR.dom.walker(f)}else{var d=a.config.indentClasses;if(d)for(var g=b.data.dir==\"ltr\"?[\"_rtl\",\"\"]:[\"\",\"_rtl\"],h=0;h<d.length;h++)if(c.hasClass(d[h]+g[0])){c.removeClass(d[h]+g[0]);c.addClass(d[h]+g[1])}d=c.getStyle(\"margin-right\");g=c.getStyle(\"margin-left\");d?c.setStyle(\"margin-left\",d):c.removeStyle(\"margin-left\");g?c.setStyle(\"margin-right\",g):c.removeStyle(\"margin-right\")}})}});CKEDITOR.plugins.indent={genericDefinition:function(a){this.isIndent=\n!!a;this.startDisabled=!this.isIndent},specificDefinition:function(a,b,e){this.name=b;this.editor=a;this.jobs={};this.enterBr=a.config.enterMode==CKEDITOR.ENTER_BR;this.isIndent=!!e;this.relatedGlobal=e?\"indent\":\"outdent\";this.indentKey=e?9:CKEDITOR.SHIFT+9;this.database={}},registerCommands:function(a,b){a.on(\"pluginsLoaded\",function(){for(var a in b)(function(a,b){var e=a.getCommand(b.relatedGlobal),c;for(c in b.jobs)e.on(\"exec\",function(d){d.data.done||(a.fire(\"lockSnapshot\"),b.execJob(a,c)&&(d.data.done=\n!0),a.fire(\"unlockSnapshot\"),CKEDITOR.dom.element.clearAllMarkers(b.database))},this,null,c),e.on(\"refresh\",function(d){d.data.states||(d.data.states={});d.data.states[b.name+\"@\"+c]=b.refreshJob(a,c,d.data.path)},this,null,c);a.addFeature(b)})(this,b[a])})}};CKEDITOR.plugins.indent.genericDefinition.prototype={context:\"p\",exec:function(){}};CKEDITOR.plugins.indent.specificDefinition.prototype={execJob:function(a,b){var e=this.jobs[b];if(e.state!=i)return e.exec.call(this,a)},refreshJob:function(a,\nb,e){b=this.jobs[b];b.state=a.activeFilter.checkFeature(this)?b.refresh.call(this,a,e):i;return b.state},getContext:function(a){return a.contains(this.context)}}})();CKEDITOR.plugins.add(\"smiley\",{requires:\"dialog\",init:function(a){a.config.smiley_path=a.config.smiley_path||this.path+\"images/\";a.addCommand(\"smiley\",new CKEDITOR.dialogCommand(\"smiley\",{allowedContent:\"img[alt,height,!src,title,width]\",requiredContent:\"img\"}));a.ui.addButton&&a.ui.addButton(\"Smiley\",{label:a.lang.smiley.toolbar,command:\"smiley\",toolbar:\"insert,50\"});CKEDITOR.dialog.add(\"smiley\",this.path+\"dialogs/smiley.js\")}});CKEDITOR.config.smiley_images=\"regular_smile.png sad_smile.png wink_smile.png teeth_smile.png confused_smile.png tongue_smile.png embarrassed_smile.png omg_smile.png whatchutalkingabout_smile.png angry_smile.png angel_smile.png shades_smile.png devil_smile.png cry_smile.png lightbulb.png thumbs_down.png thumbs_up.png heart.png broken_heart.png kiss.png envelope.png\".split(\" \");\nCKEDITOR.config.smiley_descriptions=\"smiley;sad;wink;laugh;frown;cheeky;blush;surprise;indecision;angry;angel;cool;devil;crying;enlightened;no;yes;heart;broken heart;kiss;mail\".split(\";\");(function(){function l(a,c){var c=void 0===c||c,b;if(c)b=a.getComputedStyle(\"text-align\");else{for(;!a.hasAttribute||!a.hasAttribute(\"align\")&&!a.getStyle(\"text-align\");){b=a.getParent();if(!b)break;a=b}b=a.getStyle(\"text-align\")||a.getAttribute(\"align\")||\"\"}b&&(b=b.replace(/(?:-(?:moz|webkit)-)?(?:start|auto)/i,\"\"));!b&&c&&(b=\"rtl\"==a.getComputedStyle(\"direction\")?\"right\":\"left\");return b}function g(a,c,b){this.editor=a;this.name=c;this.value=b;this.context=\"p\";var c=a.config.justifyClasses,h=a.config.enterMode==\nCKEDITOR.ENTER_P?\"p\":\"div\";if(c){switch(b){case \"left\":this.cssClassName=c[0];break;case \"center\":this.cssClassName=c[1];break;case \"right\":this.cssClassName=c[2];break;case \"justify\":this.cssClassName=c[3]}this.cssClassRegex=RegExp(\"(?:^|\\\\s+)(?:\"+c.join(\"|\")+\")(?=$|\\\\s)\");this.requiredContent=h+\"(\"+this.cssClassName+\")\"}else this.requiredContent=h+\"{text-align}\";this.allowedContent={\"caption div h1 h2 h3 h4 h5 h6 p pre td th li\":{propertiesOnly:!0,styles:this.cssClassName?null:\"text-align\",classes:this.cssClassName||\nnull}};a.config.enterMode==CKEDITOR.ENTER_BR&&(this.allowedContent.div=!0)}function j(a){var c=a.editor,b=c.createRange();b.setStartBefore(a.data.node);b.setEndAfter(a.data.node);for(var h=new CKEDITOR.dom.walker(b),d;d=h.next();)if(d.type==CKEDITOR.NODE_ELEMENT)if(!d.equals(a.data.node)&&d.getDirection())b.setStartAfter(d),h=new CKEDITOR.dom.walker(b);else{var e=c.config.justifyClasses;e&&(d.hasClass(e[0])?(d.removeClass(e[0]),d.addClass(e[2])):d.hasClass(e[2])&&(d.removeClass(e[2]),d.addClass(e[0])));\ne=d.getStyle(\"text-align\");\"left\"==e?d.setStyle(\"text-align\",\"right\"):\"right\"==e&&d.setStyle(\"text-align\",\"left\")}}g.prototype={exec:function(a){var c=a.getSelection(),b=a.config.enterMode;if(c){for(var h=c.createBookmarks(),d=c.getRanges(),e=this.cssClassName,g,f,i=a.config.useComputedState,i=void 0===i||i,k=d.length-1;0<=k;k--){g=d[k].createIterator();for(g.enlargeBr=b!=CKEDITOR.ENTER_BR;f=g.getNextParagraph(b==CKEDITOR.ENTER_P?\"p\":\"div\");)if(!f.isReadOnly()){f.removeAttribute(\"align\");f.removeStyle(\"text-align\");\nvar j=e&&(f.$.className=CKEDITOR.tools.ltrim(f.$.className.replace(this.cssClassRegex,\"\"))),m=this.state==CKEDITOR.TRISTATE_OFF&&(!i||l(f,!0)!=this.value);e?m?f.addClass(e):j||f.removeAttribute(\"class\"):m&&f.setStyle(\"text-align\",this.value)}}a.focus();a.forceNextSelectionCheck();c.selectBookmarks(h)}},refresh:function(a,c){var b=c.block||c.blockLimit;this.setState(\"body\"!=b.getName()&&l(b,this.editor.config.useComputedState)==this.value?CKEDITOR.TRISTATE_ON:CKEDITOR.TRISTATE_OFF)}};CKEDITOR.plugins.add(\"justify\",\n{init:function(a){if(!a.blockless){var c=new g(a,\"justifyleft\",\"left\"),b=new g(a,\"justifycenter\",\"center\"),h=new g(a,\"justifyright\",\"right\"),d=new g(a,\"justifyblock\",\"justify\");a.addCommand(\"justifyleft\",c);a.addCommand(\"justifycenter\",b);a.addCommand(\"justifyright\",h);a.addCommand(\"justifyblock\",d);a.ui.addButton&&(a.ui.addButton(\"JustifyLeft\",{label:a.lang.justify.left,command:\"justifyleft\",toolbar:\"align,10\"}),a.ui.addButton(\"JustifyCenter\",{label:a.lang.justify.center,command:\"justifycenter\",\ntoolbar:\"align,20\"}),a.ui.addButton(\"JustifyRight\",{label:a.lang.justify.right,command:\"justifyright\",toolbar:\"align,30\"}),a.ui.addButton(\"JustifyBlock\",{label:a.lang.justify.block,command:\"justifyblock\",toolbar:\"align,40\"}));a.on(\"dirChanged\",j)}}})})();CKEDITOR.plugins.add(\"link\",{requires:\"dialog,fakeobjects\",onLoad:function(){function b(b){return d.replace(/%1/g,\"rtl\"==b?\"right\":\"left\").replace(/%2/g,\"cke_contents_\"+b)}var a=\"background:url(\"+CKEDITOR.getUrl(this.path+\"images\"+(CKEDITOR.env.hidpi?\"/hidpi\":\"\")+\"/anchor.png\")+\") no-repeat %1 center;border:1px dotted #00f;background-size:16px;\",d=\".%2 a.cke_anchor,.%2 a.cke_anchor_empty,.cke_editable.%2 a[name],.cke_editable.%2 a[data-cke-saved-name]{\"+a+\"padding-%1:18px;cursor:auto;}\"+(CKEDITOR.plugins.link.synAnchorSelector?\n\"a.cke_anchor_empty{display:inline-block;}\":\"\")+\".%2 img.cke_anchor{\"+a+\"width:16px;min-height:15px;height:1.15em;vertical-align:\"+(CKEDITOR.env.opera?\"middle\":\"text-bottom\")+\";}\";CKEDITOR.addCss(b(\"ltr\")+b(\"rtl\"))},init:function(b){var a=\"a[!href]\";CKEDITOR.dialog.isTabEnabled(b,\"link\",\"advanced\")&&(a=a.replace(\"]\",\",accesskey,charset,dir,id,lang,name,rel,tabindex,title,type]{*}(*)\"));CKEDITOR.dialog.isTabEnabled(b,\"link\",\"target\")&&(a=a.replace(\"]\",\",target,onclick]\"));b.addCommand(\"link\",new CKEDITOR.dialogCommand(\"link\",\n{allowedContent:a,requiredContent:\"a[href]\"}));b.addCommand(\"anchor\",new CKEDITOR.dialogCommand(\"anchor\",{allowedContent:\"a[!name,id]\",requiredContent:\"a[name]\"}));b.addCommand(\"unlink\",new CKEDITOR.unlinkCommand);b.addCommand(\"removeAnchor\",new CKEDITOR.removeAnchorCommand);b.setKeystroke(CKEDITOR.CTRL+76,\"link\");b.ui.addButton&&(b.ui.addButton(\"Link\",{label:b.lang.link.toolbar,command:\"link\",toolbar:\"links,10\"}),b.ui.addButton(\"Unlink\",{label:b.lang.link.unlink,command:\"unlink\",toolbar:\"links,20\"}),\nb.ui.addButton(\"Anchor\",{label:b.lang.link.anchor.toolbar,command:\"anchor\",toolbar:\"links,30\"}));CKEDITOR.dialog.add(\"link\",this.path+\"dialogs/link.js\");CKEDITOR.dialog.add(\"anchor\",this.path+\"dialogs/anchor.js\");b.on(\"doubleclick\",function(a){var c=CKEDITOR.plugins.link.getSelectedLink(b)||a.data.element;if(!c.isReadOnly())if(c.is(\"a\")){a.data.dialog=c.getAttribute(\"name\")&&(!c.getAttribute(\"href\")||!c.getChildCount())?\"anchor\":\"link\";b.getSelection().selectElement(c)}else if(CKEDITOR.plugins.link.tryRestoreFakeAnchor(b,\nc))a.data.dialog=\"anchor\"});b.addMenuItems&&b.addMenuItems({anchor:{label:b.lang.link.anchor.menu,command:\"anchor\",group:\"anchor\",order:1},removeAnchor:{label:b.lang.link.anchor.remove,command:\"removeAnchor\",group:\"anchor\",order:5},link:{label:b.lang.link.menu,command:\"link\",group:\"link\",order:1},unlink:{label:b.lang.link.unlink,command:\"unlink\",group:\"link\",order:5}});b.contextMenu&&b.contextMenu.addListener(function(a){if(!a||a.isReadOnly())return null;a=CKEDITOR.plugins.link.tryRestoreFakeAnchor(b,\na);if(!a&&!(a=CKEDITOR.plugins.link.getSelectedLink(b)))return null;var c={};a.getAttribute(\"href\")&&a.getChildCount()&&(c={link:CKEDITOR.TRISTATE_OFF,unlink:CKEDITOR.TRISTATE_OFF});if(a&&a.hasAttribute(\"name\"))c.anchor=c.removeAnchor=CKEDITOR.TRISTATE_OFF;return c})},afterInit:function(b){var a=b.dataProcessor,d=a&&a.dataFilter,a=a&&a.htmlFilter,c=b._.elementsPath&&b._.elementsPath.filters;d&&d.addRules({elements:{a:function(a){var c=a.attributes;if(!c.name)return null;var d=!a.children.length;if(CKEDITOR.plugins.link.synAnchorSelector){var a=\nd?\"cke_anchor_empty\":\"cke_anchor\",e=c[\"class\"];if(c.name&&(!e||0>e.indexOf(a)))c[\"class\"]=(e||\"\")+\" \"+a;d&&CKEDITOR.plugins.link.emptyAnchorFix&&(c.contenteditable=\"false\",c[\"data-cke-editable\"]=1)}else if(CKEDITOR.plugins.link.fakeAnchor&&d)return b.createFakeParserElement(a,\"cke_anchor\",\"anchor\");return null}}});CKEDITOR.plugins.link.emptyAnchorFix&&a&&a.addRules({elements:{a:function(a){delete a.attributes.contenteditable}}});c&&c.push(function(a,c){if(\"a\"==c&&(CKEDITOR.plugins.link.tryRestoreFakeAnchor(b,\na)||a.getAttribute(\"name\")&&(!a.getAttribute(\"href\")||!a.getChildCount())))return\"anchor\"})}});\nCKEDITOR.plugins.link={getSelectedLink:function(b){var a=b.getSelection(),d=a.getSelectedElement();return d&&d.is(\"a\")?d:(a=a.getRanges()[0])?(a.shrink(CKEDITOR.SHRINK_TEXT),b.elementPath(a.getCommonAncestor()).contains(\"a\",1)):null},fakeAnchor:CKEDITOR.env.opera||CKEDITOR.env.webkit,synAnchorSelector:CKEDITOR.env.ie&&11>CKEDITOR.env.version,emptyAnchorFix:CKEDITOR.env.ie&&8>CKEDITOR.env.version,tryRestoreFakeAnchor:function(b,a){if(a&&a.data(\"cke-real-element-type\")&&\"anchor\"==a.data(\"cke-real-element-type\")){var d=\nb.restoreRealElement(a);if(d.data(\"cke-saved-name\"))return d}}};CKEDITOR.unlinkCommand=function(){};\nCKEDITOR.unlinkCommand.prototype={exec:function(b){var a=new CKEDITOR.style({element:\"a\",type:CKEDITOR.STYLE_INLINE,alwaysRemoveElement:1});b.removeStyle(a)},refresh:function(b,a){var d=a.lastElement&&a.lastElement.getAscendant(\"a\",!0);d&&\"a\"==d.getName()&&d.getAttribute(\"href\")&&d.getChildCount()?this.setState(CKEDITOR.TRISTATE_OFF):this.setState(CKEDITOR.TRISTATE_DISABLED)},contextSensitive:1,startDisabled:1,requiredContent:\"a[href]\"};CKEDITOR.removeAnchorCommand=function(){};\nCKEDITOR.removeAnchorCommand.prototype={exec:function(b){var a=b.getSelection(),d=a.createBookmarks(),c;if(a&&(c=a.getSelectedElement())&&(CKEDITOR.plugins.link.fakeAnchor&&!c.getChildCount()?CKEDITOR.plugins.link.tryRestoreFakeAnchor(b,c):c.is(\"a\")))c.remove(1);else if(c=CKEDITOR.plugins.link.getSelectedLink(b))c.hasAttribute(\"href\")?(c.removeAttributes({name:1,\"data-cke-saved-name\":1}),c.removeClass(\"cke_anchor\")):c.remove(1);a.selectBookmarks(d)},requiredContent:\"a[name]\"};\nCKEDITOR.tools.extend(CKEDITOR.config,{linkShowAdvancedTab:!0,linkShowTargetTab:!0});(function(){function s(e){function g(b){for(var f=d.startContainer,a=d.endContainer;f&&!f.getParent().equals(b);)f=f.getParent();for(;a&&!a.getParent().equals(b);)a=a.getParent();if(!f||!a)return!1;for(var h=f,f=[],c=!1;!c;)h.equals(a)&&(c=!0),f.push(h),h=h.getNext();if(1>f.length)return!1;h=b.getParents(!0);for(a=0;a<h.length;a++)if(h[a].getName&&k[h[a].getName()]){b=h[a];break}for(var h=n.isIndent?1:-1,a=f[0],f=f[f.length-1],c=CKEDITOR.plugins.list.listToArray(b,o),g=c[f.getCustomData(\"listarray_index\")].indent,\na=a.getCustomData(\"listarray_index\");a<=f.getCustomData(\"listarray_index\");a++)if(c[a].indent+=h,0<h){var l=c[a].parent;c[a].parent=new CKEDITOR.dom.element(l.getName(),l.getDocument())}for(a=f.getCustomData(\"listarray_index\")+1;a<c.length&&c[a].indent>g;a++)c[a].indent+=h;f=CKEDITOR.plugins.list.arrayToList(c,o,null,e.config.enterMode,b.getDirection());if(!n.isIndent){var i;if((i=b.getParent())&&i.is(\"li\"))for(var h=f.listNode.getChildren(),m=[],j,a=h.count()-1;0<=a;a--)(j=h.getItem(a))&&(j.is&&\nj.is(\"li\"))&&m.push(j)}f&&f.listNode.replace(b);if(m&&m.length)for(a=0;a<m.length;a++){for(j=b=m[a];(j=j.getNext())&&j.is&&j.getName()in k;)CKEDITOR.env.needsNbspFiller&&!b.getFirst(t)&&b.append(d.document.createText(\" \")),b.append(j);b.insertAfter(i)}f&&e.fire(\"contentDomInvalidated\");return!0}for(var n=this,o=this.database,k=this.context,l=e.getSelection(),l=(l&&l.getRanges()).createIterator(),d;d=l.getNextRange();){for(var b=d.getCommonAncestor();b&&!(b.type==CKEDITOR.NODE_ELEMENT&&k[b.getName()]);)b=\nb.getParent();b||(b=d.startPath().contains(k))&&d.setEndAt(b,CKEDITOR.POSITION_BEFORE_END);if(!b){var c=d.getEnclosedNode();c&&(c.type==CKEDITOR.NODE_ELEMENT&&c.getName()in k)&&(d.setStartAt(c,CKEDITOR.POSITION_AFTER_START),d.setEndAt(c,CKEDITOR.POSITION_BEFORE_END),b=c)}b&&(d.startContainer.type==CKEDITOR.NODE_ELEMENT&&d.startContainer.getName()in k)&&(c=new CKEDITOR.dom.walker(d),c.evaluator=i,d.startContainer=c.next());b&&(d.endContainer.type==CKEDITOR.NODE_ELEMENT&&d.endContainer.getName()in k)&&\n(c=new CKEDITOR.dom.walker(d),c.evaluator=i,d.endContainer=c.previous());if(b)return g(b)}return 0}function p(e,g){g||(g=e.contains(this.context));return g&&e.block&&e.block.equals(g.getFirst(i))}function i(e){return e.type==CKEDITOR.NODE_ELEMENT&&e.is(\"li\")}function t(e){return u(e)&&v(e)}var u=CKEDITOR.dom.walker.whitespaces(!0),v=CKEDITOR.dom.walker.bookmark(!1,!0),q=CKEDITOR.TRISTATE_DISABLED,r=CKEDITOR.TRISTATE_OFF;CKEDITOR.plugins.add(\"indentlist\",{requires:\"indent\",init:function(e){function g(e,\ng){i.specificDefinition.apply(this,arguments);this.requiredContent=[\"ul\",\"ol\"];e.on(\"key\",function(g){if(\"wysiwyg\"==e.mode&&g.data.keyCode==this.indentKey){var d=this.getContext(e.elementPath());if(d&&(!this.isIndent||!p.call(this,e.elementPath(),d)))e.execCommand(this.relatedGlobal),g.cancel()}},this);this.jobs[this.isIndent?10:30]={refresh:this.isIndent?function(e,d){var b=this.getContext(d),c=p.call(this,d,b);return!b||!this.isIndent||c?q:r}:function(e,d){return!this.getContext(d)||this.isIndent?\nq:r},exec:CKEDITOR.tools.bind(s,this)}}var i=CKEDITOR.plugins.indent;i.registerCommands(e,{indentlist:new g(e,\"indentlist\",!0),outdentlist:new g(e,\"outdentlist\")});CKEDITOR.tools.extend(g.prototype,i.specificDefinition.prototype,{context:{ol:1,ul:1}})}})})();(function(){function E(c,k,e){function b(b){if((d=a[b?\"getFirst\":\"getLast\"]())&&(!d.is||!d.isBlockBoundary())&&(m=k.root[b?\"getPrevious\":\"getNext\"](CKEDITOR.dom.walker.invisible(!0)))&&(!m.is||!m.isBlockBoundary({br:1})))c.document.createElement(\"br\")[b?\"insertBefore\":\"insertAfter\"](d)}for(var j=CKEDITOR.plugins.list.listToArray(k.root,e),g=[],h=0;h<k.contents.length;h++){var f=k.contents[h];if((f=f.getAscendant(\"li\",!0))&&!f.getCustomData(\"list_item_processed\"))g.push(f),CKEDITOR.dom.element.setMarker(e,\nf,\"list_item_processed\",!0)}f=null;for(h=0;h<g.length;h++)f=g[h].getCustomData(\"listarray_index\"),j[f].indent=-1;for(h=f+1;h<j.length;h++)if(j[h].indent>j[h-1].indent+1){g=j[h-1].indent+1-j[h].indent;for(f=j[h].indent;j[h]&&j[h].indent>=f;)j[h].indent+=g,h++;h--}var a=CKEDITOR.plugins.list.arrayToList(j,e,null,c.config.enterMode,k.root.getAttribute(\"dir\")).listNode,d,m;b(!0);b();a.replace(k.root);c.fire(\"contentDomInvalidated\")}function x(c,k){this.name=c;this.context=this.type=k;this.allowedContent=\nk+\" li\";this.requiredContent=k}function A(c,k,e,b){for(var j,g;j=c[b?\"getLast\":\"getFirst\"](F);)(g=j.getDirection(1))!==k.getDirection(1)&&j.setAttribute(\"dir\",g),j.remove(),e?j[b?\"insertBefore\":\"insertAfter\"](e):k.append(j,b)}function B(c){var k;(k=function(e){var b=c[e?\"getPrevious\":\"getNext\"](q);b&&(b.type==CKEDITOR.NODE_ELEMENT&&b.is(c.getName()))&&(A(c,b,null,!e),c.remove(),c=b)})();k(1)}function C(c){return c.type==CKEDITOR.NODE_ELEMENT&&(c.getName()in CKEDITOR.dtd.$block||c.getName()in CKEDITOR.dtd.$listItem)&&\nCKEDITOR.dtd[c.getName()][\"#\"]}function y(c,k,e){c.fire(\"saveSnapshot\");e.enlarge(CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS);var b=e.extractContents();k.trim(!1,!0);var j=k.createBookmark(),g=new CKEDITOR.dom.elementPath(k.startContainer),h=g.block,g=g.lastElement.getAscendant(\"li\",1)||h,f=new CKEDITOR.dom.elementPath(e.startContainer),a=f.contains(CKEDITOR.dtd.$listItem),f=f.contains(CKEDITOR.dtd.$list);h?(h=h.getBogus())&&h.remove():f&&(h=f.getPrevious(q))&&v(h)&&h.remove();(h=b.getLast())&&(h.type==\nCKEDITOR.NODE_ELEMENT&&h.is(\"br\"))&&h.remove();(h=k.startContainer.getChild(k.startOffset))?b.insertBefore(h):k.startContainer.append(b);if(a&&(b=w(a)))g.contains(a)?(A(b,a.getParent(),a),b.remove()):g.append(b);for(;e.checkStartOfBlock()&&e.checkEndOfBlock();){f=e.startPath();b=f.block;if(!b)break;b.is(\"li\")&&(g=b.getParent(),b.equals(g.getLast(q))&&b.equals(g.getFirst(q))&&(b=g));e.moveToPosition(b,CKEDITOR.POSITION_BEFORE_START);b.remove()}e=e.clone();b=c.editable();e.setEndAt(b,CKEDITOR.POSITION_BEFORE_END);\ne=new CKEDITOR.dom.walker(e);e.evaluator=function(a){return q(a)&&!v(a)};(e=e.next())&&(e.type==CKEDITOR.NODE_ELEMENT&&e.getName()in CKEDITOR.dtd.$list)&&B(e);k.moveToBookmark(j);k.select();c.fire(\"saveSnapshot\")}function w(c){return(c=c.getLast(q))&&c.type==CKEDITOR.NODE_ELEMENT&&c.getName()in r?c:null}var r={ol:1,ul:1},G=CKEDITOR.dom.walker.whitespaces(),D=CKEDITOR.dom.walker.bookmark(),q=function(c){return!(G(c)||D(c))},v=CKEDITOR.dom.walker.bogus();CKEDITOR.plugins.list={listToArray:function(c,\nk,e,b,j){if(!r[c.getName()])return[];b||(b=0);e||(e=[]);for(var g=0,h=c.getChildCount();g<h;g++){var f=c.getChild(g);f.type==CKEDITOR.NODE_ELEMENT&&f.getName()in CKEDITOR.dtd.$list&&CKEDITOR.plugins.list.listToArray(f,k,e,b+1);if(\"li\"==f.$.nodeName.toLowerCase()){var a={parent:c,indent:b,element:f,contents:[]};j?a.grandparent=j:(a.grandparent=c.getParent(),a.grandparent&&\"li\"==a.grandparent.$.nodeName.toLowerCase()&&(a.grandparent=a.grandparent.getParent()));k&&CKEDITOR.dom.element.setMarker(k,f,\n\"listarray_index\",e.length);e.push(a);for(var d=0,m=f.getChildCount(),i;d<m;d++)i=f.getChild(d),i.type==CKEDITOR.NODE_ELEMENT&&r[i.getName()]?CKEDITOR.plugins.list.listToArray(i,k,e,b+1,a.grandparent):a.contents.push(i)}}return e},arrayToList:function(c,k,e,b,j){e||(e=0);if(!c||c.length<e+1)return null;for(var g,h=c[e].parent.getDocument(),f=new CKEDITOR.dom.documentFragment(h),a=null,d=e,m=Math.max(c[e].indent,0),i=null,n,l,p=b==CKEDITOR.ENTER_P?\"p\":\"div\";;){var o=c[d];g=o.grandparent;n=o.element.getDirection(1);\nif(o.indent==m){if(!a||c[d].parent.getName()!=a.getName())a=c[d].parent.clone(!1,1),j&&a.setAttribute(\"dir\",j),f.append(a);i=a.append(o.element.clone(0,1));n!=a.getDirection(1)&&i.setAttribute(\"dir\",n);for(g=0;g<o.contents.length;g++)i.append(o.contents[g].clone(1,1));d++}else if(o.indent==Math.max(m,0)+1)o=c[d-1].element.getDirection(1),d=CKEDITOR.plugins.list.arrayToList(c,null,d,b,o!=n?n:null),!i.getChildCount()&&(CKEDITOR.env.needsNbspFiller&&!(7<h.$.documentMode))&&i.append(h.createText(\" \")),\ni.append(d.listNode),d=d.nextIndex;else if(-1==o.indent&&!e&&g){r[g.getName()]?(i=o.element.clone(!1,!0),n!=g.getDirection(1)&&i.setAttribute(\"dir\",n)):i=new CKEDITOR.dom.documentFragment(h);var a=g.getDirection(1)!=n,u=o.element,z=u.getAttribute(\"class\"),v=u.getAttribute(\"style\"),w=i.type==CKEDITOR.NODE_DOCUMENT_FRAGMENT&&(b!=CKEDITOR.ENTER_BR||a||v||z),s,x=o.contents.length,t;for(g=0;g<x;g++)if(s=o.contents[g],D(s)&&1<x)w?t=s.clone(1,1):i.append(s.clone(1,1));else if(s.type==CKEDITOR.NODE_ELEMENT&&\ns.isBlockBoundary()){a&&!s.getDirection()&&s.setAttribute(\"dir\",n);l=s;var y=u.getAttribute(\"style\");y&&l.setAttribute(\"style\",y.replace(/([^;])$/,\"$1;\")+(l.getAttribute(\"style\")||\"\"));z&&s.addClass(z);l=null;t&&(i.append(t),t=null);i.append(s.clone(1,1))}else w?(l||(l=h.createElement(p),i.append(l),a&&l.setAttribute(\"dir\",n)),v&&l.setAttribute(\"style\",v),z&&l.setAttribute(\"class\",z),t&&(l.append(t),t=null),l.append(s.clone(1,1))):i.append(s.clone(1,1));t&&((l||i).append(t),t=null);i.type==CKEDITOR.NODE_DOCUMENT_FRAGMENT&&\nd!=c.length-1&&(CKEDITOR.env.needsBrFiller&&(n=i.getLast())&&(n.type==CKEDITOR.NODE_ELEMENT&&n.is(\"br\"))&&n.remove(),n=i.getLast(q),(!n||!(n.type==CKEDITOR.NODE_ELEMENT&&n.is(CKEDITOR.dtd.$block)))&&i.append(h.createElement(\"br\")));n=i.$.nodeName.toLowerCase();(\"div\"==n||\"p\"==n)&&i.appendBogus();f.append(i);a=null;d++}else return null;l=null;if(c.length<=d||Math.max(c[d].indent,0)<m)break}if(k)for(c=f.getFirst();c;){if(c.type==CKEDITOR.NODE_ELEMENT&&(CKEDITOR.dom.element.clearMarkers(k,c),c.getName()in\nCKEDITOR.dtd.$listItem&&(e=c,h=j=b=void 0,b=e.getDirection()))){for(j=e.getParent();j&&!(h=j.getDirection());)j=j.getParent();b==h&&e.removeAttribute(\"dir\")}c=c.getNextSourceNode()}return{listNode:f,nextIndex:d}}};var H=/^h[1-6]$/,F=CKEDITOR.dom.walker.nodeType(CKEDITOR.NODE_ELEMENT);x.prototype={exec:function(c){this.refresh(c,c.elementPath());var k=c.config,e=c.getSelection(),b=e&&e.getRanges();if(this.state==CKEDITOR.TRISTATE_OFF){var j=c.editable();if(j.getFirst(q)){var g=1==b.length&&b[0];(k=\ng&&g.getEnclosedNode())&&(k.is&&this.type==k.getName())&&this.setState(CKEDITOR.TRISTATE_ON)}else k.enterMode==CKEDITOR.ENTER_BR?j.appendBogus():b[0].fixBlock(1,k.enterMode==CKEDITOR.ENTER_P?\"p\":\"div\"),e.selectRanges(b)}for(var k=e.createBookmarks(!0),j=[],h={},b=b.createIterator(),f=0;(g=b.getNextRange())&&++f;){var a=g.getBoundaryNodes(),d=a.startNode,m=a.endNode;d.type==CKEDITOR.NODE_ELEMENT&&\"td\"==d.getName()&&g.setStartAt(a.startNode,CKEDITOR.POSITION_AFTER_START);m.type==CKEDITOR.NODE_ELEMENT&&\n\"td\"==m.getName()&&g.setEndAt(a.endNode,CKEDITOR.POSITION_BEFORE_END);g=g.createIterator();for(g.forceBrBreak=this.state==CKEDITOR.TRISTATE_OFF;a=g.getNextParagraph();)if(!a.getCustomData(\"list_block\")){CKEDITOR.dom.element.setMarker(h,a,\"list_block\",1);for(var i=c.elementPath(a),d=i.elements,m=0,i=i.blockLimit,n,l=d.length-1;0<=l&&(n=d[l]);l--)if(r[n.getName()]&&i.contains(n)){i.removeCustomData(\"list_group_object_\"+f);(d=n.getCustomData(\"list_group_object\"))?d.contents.push(a):(d={root:n,contents:[a]},\nj.push(d),CKEDITOR.dom.element.setMarker(h,n,\"list_group_object\",d));m=1;break}m||(m=i,m.getCustomData(\"list_group_object_\"+f)?m.getCustomData(\"list_group_object_\"+f).contents.push(a):(d={root:m,contents:[a]},CKEDITOR.dom.element.setMarker(h,m,\"list_group_object_\"+f,d),j.push(d)))}}for(n=[];0<j.length;)if(d=j.shift(),this.state==CKEDITOR.TRISTATE_OFF)if(r[d.root.getName()]){b=c;f=d;d=h;g=n;m=CKEDITOR.plugins.list.listToArray(f.root,d);i=[];for(a=0;a<f.contents.length;a++)if(l=f.contents[a],(l=l.getAscendant(\"li\",\n!0))&&!l.getCustomData(\"list_item_processed\"))i.push(l),CKEDITOR.dom.element.setMarker(d,l,\"list_item_processed\",!0);for(var l=f.root.getDocument(),p=void 0,o=void 0,a=0;a<i.length;a++){var u=i[a].getCustomData(\"listarray_index\"),p=m[u].parent;p.is(this.type)||(o=l.createElement(this.type),p.copyAttributes(o,{start:1,type:1}),o.removeStyle(\"list-style-type\"),m[u].parent=o)}d=CKEDITOR.plugins.list.arrayToList(m,d,null,b.config.enterMode);m=void 0;i=d.listNode.getChildCount();for(a=0;a<i&&(m=d.listNode.getChild(a));a++)m.getName()==\nthis.type&&g.push(m);d.listNode.replace(f.root);b.fire(\"contentDomInvalidated\")}else{m=c;a=d;g=n;i=a.contents;b=a.root.getDocument();f=[];1==i.length&&i[0].equals(a.root)&&(d=b.createElement(\"div\"),i[0].moveChildren&&i[0].moveChildren(d),i[0].append(d),i[0]=d);a=a.contents[0].getParent();for(l=0;l<i.length;l++)a=a.getCommonAncestor(i[l].getParent());p=m.config.useComputedState;m=d=void 0;p=void 0===p||p;for(l=0;l<i.length;l++)for(o=i[l];u=o.getParent();){if(u.equals(a)){f.push(o);!m&&o.getDirection()&&\n(m=1);o=o.getDirection(p);null!==d&&(d=d&&d!=o?null:o);break}o=u}if(!(1>f.length)){i=f[f.length-1].getNext();l=b.createElement(this.type);g.push(l);for(p=g=void 0;f.length;)g=f.shift(),p=b.createElement(\"li\"),g.is(\"pre\")||H.test(g.getName())||\"false\"==g.getAttribute(\"contenteditable\")?g.appendTo(p):(g.copyAttributes(p),d&&g.getDirection()&&(p.removeStyle(\"direction\"),p.removeAttribute(\"dir\")),g.moveChildren(p),g.remove()),p.appendTo(l);d&&m&&l.setAttribute(\"dir\",d);i?l.insertBefore(i):l.appendTo(a)}}else this.state==\nCKEDITOR.TRISTATE_ON&&r[d.root.getName()]&&E.call(this,c,d,h);for(l=0;l<n.length;l++)B(n[l]);CKEDITOR.dom.element.clearAllMarkers(h);e.selectBookmarks(k);c.focus()},refresh:function(c,k){var e=k.contains(r,1),b=k.blockLimit||k.root;e&&b.contains(e)?this.setState(e.is(this.type)?CKEDITOR.TRISTATE_ON:CKEDITOR.TRISTATE_OFF):this.setState(CKEDITOR.TRISTATE_OFF)}};CKEDITOR.plugins.add(\"list\",{requires:\"indentlist\",init:function(c){c.blockless||(c.addCommand(\"numberedlist\",new x(\"numberedlist\",\"ol\")),c.addCommand(\"bulletedlist\",\nnew x(\"bulletedlist\",\"ul\")),c.ui.addButton&&(c.ui.addButton(\"NumberedList\",{label:c.lang.list.numberedlist,command:\"numberedlist\",directional:!0,toolbar:\"list,10\"}),c.ui.addButton(\"BulletedList\",{label:c.lang.list.bulletedlist,command:\"bulletedlist\",directional:!0,toolbar:\"list,20\"})),c.on(\"key\",function(k){var e=k.data.keyCode;if(c.mode==\"wysiwyg\"&&e in{8:1,46:1}){var b=c.getSelection().getRanges()[0],j=b&&b.startPath();if(b&&b.collapsed){var j=new CKEDITOR.dom.elementPath(b.startContainer),g=e==\n8,h=c.editable(),f=new CKEDITOR.dom.walker(b.clone());f.evaluator=function(a){return q(a)&&!v(a)};f.guard=function(a,b){return!(b&&a.type==CKEDITOR.NODE_ELEMENT&&a.is(\"table\"))};e=b.clone();if(g){var a,d;if((a=j.contains(r))&&b.checkBoundaryOfElement(a,CKEDITOR.START)&&(a=a.getParent())&&a.is(\"li\")&&(a=w(a))){d=a;a=a.getPrevious(q);e.moveToPosition(a&&v(a)?a:d,CKEDITOR.POSITION_BEFORE_START)}else{f.range.setStartAt(h,CKEDITOR.POSITION_AFTER_START);f.range.setEnd(b.startContainer,b.startOffset);if((a=\nf.previous())&&a.type==CKEDITOR.NODE_ELEMENT&&(a.getName()in r||a.is(\"li\"))){if(!a.is(\"li\")){f.range.selectNodeContents(a);f.reset();f.evaluator=C;a=f.previous()}d=a;e.moveToElementEditEnd(d)}}if(d){y(c,e,b);k.cancel()}else if((e=j.contains(r))&&b.checkBoundaryOfElement(e,CKEDITOR.START)){d=e.getFirst(q);if(b.checkBoundaryOfElement(d,CKEDITOR.START)){a=e.getPrevious(q);if(w(d)){if(a){b.moveToElementEditEnd(a);b.select()}}else c.execCommand(\"outdent\");k.cancel()}}}else if(d=j.contains(\"li\")){f.range.setEndAt(h,\nCKEDITOR.POSITION_BEFORE_END);h=(j=d.getLast(q))&&C(j)?j:d;d=0;if((a=f.next())&&a.type==CKEDITOR.NODE_ELEMENT&&a.getName()in r&&a.equals(j)){d=1;a=f.next()}else b.checkBoundaryOfElement(h,CKEDITOR.END)&&(d=1);if(d&&a){b=b.clone();b.moveToElementEditStart(a);y(c,e,b);k.cancel()}}else{f.range.setEndAt(h,CKEDITOR.POSITION_BEFORE_END);if((a=f.next())&&a.type==CKEDITOR.NODE_ELEMENT&&a.is(r)){a=a.getFirst(q);if(j.block&&b.checkStartOfBlock()&&b.checkEndOfBlock()){j.block.remove();b.moveToElementEditStart(a);\nb.select()}else if(w(a)){b.moveToElementEditStart(a);b.select()}else{b=b.clone();b.moveToElementEditStart(a);y(c,e,b)}k.cancel()}}setTimeout(function(){c.selectionChange(1)})}}}))}})})();(function(){CKEDITOR.plugins.liststyle={requires:\"dialog,contextmenu\",init:function(a){if(!a.blockless){var b;b=new CKEDITOR.dialogCommand(\"numberedListStyle\",{requiredContent:\"ol\",allowedContent:\"ol{list-style-type}[start]\"});b=a.addCommand(\"numberedListStyle\",b);a.addFeature(b);CKEDITOR.dialog.add(\"numberedListStyle\",this.path+\"dialogs/liststyle.js\");b=new CKEDITOR.dialogCommand(\"bulletedListStyle\",{requiredContent:\"ul\",allowedContent:\"ul{list-style-type}\"});b=a.addCommand(\"bulletedListStyle\",b);\na.addFeature(b);CKEDITOR.dialog.add(\"bulletedListStyle\",this.path+\"dialogs/liststyle.js\");a.addMenuGroup(\"list\",108);a.addMenuItems({numberedlist:{label:a.lang.liststyle.numberedTitle,group:\"list\",command:\"numberedListStyle\"},bulletedlist:{label:a.lang.liststyle.bulletedTitle,group:\"list\",command:\"bulletedListStyle\"}});a.contextMenu.addListener(function(a){if(!a||a.isReadOnly())return null;for(;a;){var b=a.getName();if(\"ol\"==b)return{numberedlist:CKEDITOR.TRISTATE_OFF};if(\"ul\"==b)return{bulletedlist:CKEDITOR.TRISTATE_OFF};\na=a.getParent()}return null})}}};CKEDITOR.plugins.add(\"liststyle\",CKEDITOR.plugins.liststyle)})();(function(){function Q(a,c,d){return m(c)&&m(d)&&d.equals(c.getNext(function(a){return!(z(a)||A(a)||p(a))}))}function u(a){this.upper=a[0];this.lower=a[1];this.set.apply(this,a.slice(2))}function J(a){var c=a.element;if(c&&m(c)&&(c=c.getAscendant(a.triggers,!0))&&a.editable.contains(c)){var d=K(c,!0);if(\"true\"==d.getAttribute(\"contenteditable\"))return c;if(d.is(a.triggers))return d}return null}function ga(a,c,d){o(a,c);o(a,d);a=c.size.bottom;d=d.size.top;return a&&d?0|(a+d)/2:a||d}function r(a,c,\nd){return c=c[d?\"getPrevious\":\"getNext\"](function(b){return b&&b.type==CKEDITOR.NODE_TEXT&&!z(b)||m(b)&&!p(b)&&!v(a,b)})}function K(a,c){if(a.data(\"cke-editable\"))return null;for(c||(a=a.getParent());a&&!a.data(\"cke-editable\");){if(a.hasAttribute(\"contenteditable\"))return a;a=a.getParent()}return null}function ha(a){var c=a.doc,d=B('<span contenteditable=\"false\" style=\"'+L+\"position:absolute;border-top:1px dashed \"+a.boxColor+'\"></span>',c),b=this.path+\"images/\"+(n.hidpi?\"hidpi/\":\"\")+\"icon.png\";q(d,\n{attach:function(){this.wrap.getParent()||this.wrap.appendTo(a.editable,!0);return this},lineChildren:[q(B('<span title=\"'+a.editor.lang.magicline.title+'\" contenteditable=\"false\">&#8629;</span>',c),{base:L+\"height:17px;width:17px;\"+(a.rtl?\"left\":\"right\")+\":17px;background:url(\"+b+\") center no-repeat \"+a.boxColor+\";cursor:pointer;\"+(n.hc?\"font-size: 15px;line-height:14px;border:1px solid #fff;text-align:center;\":\"\")+(n.hidpi?\"background-size: 9px 10px;\":\"\"),looks:[\"top:-8px;\"+CKEDITOR.tools.cssVendorPrefix(\"border-radius\",\n\"2px\",1),\"top:-17px;\"+CKEDITOR.tools.cssVendorPrefix(\"border-radius\",\"2px 2px 0px 0px\",1),\"top:-1px;\"+CKEDITOR.tools.cssVendorPrefix(\"border-radius\",\"0px 0px 2px 2px\",1)]}),q(B(R,c),{base:S+\"left:0px;border-left-color:\"+a.boxColor+\";\",looks:[\"border-width:8px 0 8px 8px;top:-8px\",\"border-width:8px 0 0 8px;top:-8px\",\"border-width:0 0 8px 8px;top:0px\"]}),q(B(R,c),{base:S+\"right:0px;border-right-color:\"+a.boxColor+\";\",looks:[\"border-width:8px 8px 8px 0;top:-8px\",\"border-width:8px 8px 0 0;top:-8px\",\"border-width:0 8px 8px 0;top:0px\"]})],\ndetach:function(){this.wrap.getParent()&&this.wrap.remove();return this},mouseNear:function(){o(a,this);var b=a.holdDistance,c=this.size;return c&&a.mouse.y>c.top-b&&a.mouse.y<c.bottom+b&&a.mouse.x>c.left-b&&a.mouse.x<c.right+b?!0:!1},place:function(){var b=a.view,c=a.editable,d=a.trigger,h=d.upper,g=d.lower,j=h||g,l=j.getParent(),k={};this.trigger=d;h&&o(a,h,!0);g&&o(a,g,!0);o(a,l,!0);a.inInlineMode&&C(a,!0);l.equals(c)?(k.left=b.scroll.x,k.right=-b.scroll.x,k.width=\"\"):(k.left=j.size.left-j.size.margin.left+\nb.scroll.x-(a.inInlineMode?b.editable.left+b.editable.border.left:0),k.width=j.size.outerWidth+j.size.margin.left+j.size.margin.right+b.scroll.x,k.right=\"\");h&&g?k.top=h.size.margin.bottom===g.size.margin.top?0|h.size.bottom+h.size.margin.bottom/2:h.size.margin.bottom<g.size.margin.top?h.size.bottom+h.size.margin.bottom:h.size.bottom+h.size.margin.bottom-g.size.margin.top:h?g||(k.top=h.size.bottom+h.size.margin.bottom):k.top=g.size.top-g.size.margin.top;d.is(x)||k.top>b.scroll.y-15&&k.top<b.scroll.y+\n5?(k.top=a.inInlineMode?0:b.scroll.y,this.look(x)):d.is(y)||k.top>b.pane.bottom-5&&k.top<b.pane.bottom+15?(k.top=a.inInlineMode?b.editable.height+b.editable.padding.top+b.editable.padding.bottom:b.pane.bottom-1,this.look(y)):(a.inInlineMode&&(k.top-=b.editable.top+b.editable.border.top),this.look(s));a.inInlineMode&&(k.top--,k.top+=b.editable.scroll.top,k.left+=b.editable.scroll.left);for(var T in k)k[T]=CKEDITOR.tools.cssLength(k[T]);this.setStyles(k)},look:function(a){if(this.oldLook!=a){for(var b=\nthis.lineChildren.length,c;b--;)(c=this.lineChildren[b]).setAttribute(\"style\",c.base+c.looks[0|a/2]);this.oldLook=a}},wrap:new M(\"span\",a.doc)});for(c=d.lineChildren.length;c--;)d.lineChildren[c].appendTo(d);d.look(s);d.appendTo(d.wrap);d.unselectable();d.lineChildren[0].on(\"mouseup\",function(b){d.detach();N(a,function(b){var c=a.line.trigger;b[c.is(D)?\"insertBefore\":\"insertAfter\"](c.is(D)?c.lower:c.upper)},!0);a.editor.focus();!n.ie&&a.enterMode!=CKEDITOR.ENTER_BR&&a.hotNode.scrollIntoView();b.data.preventDefault(!0)});\nd.on(\"mousedown\",function(a){a.data.preventDefault(!0)});a.line=d}function N(a,c,d){var b=new CKEDITOR.dom.range(a.doc),e=a.editor,f;n.ie&&a.enterMode==CKEDITOR.ENTER_BR?f=a.doc.createText(E):(f=(f=K(a.element,!0))&&f.data(\"cke-enter-mode\")||a.enterMode,f=new M(F[f],a.doc),f.is(\"br\")||a.doc.createText(E).appendTo(f));d&&e.fire(\"saveSnapshot\");c(f);b.moveToPosition(f,CKEDITOR.POSITION_AFTER_START);e.getSelection().selectRanges([b]);a.hotNode=f;d&&e.fire(\"saveSnapshot\")}function U(a,c){return{canUndo:!0,\nmodes:{wysiwyg:1},exec:function(){function d(b){var d=n.ie&&9>n.version?\" \":E,f=a.hotNode&&a.hotNode.getText()==d&&a.element.equals(a.hotNode)&&a.lastCmdDirection===!!c;N(a,function(d){f&&a.hotNode&&a.hotNode.remove();d[c?\"insertAfter\":\"insertBefore\"](b);d.setAttributes({\"data-cke-magicline-hot\":1,\"data-cke-magicline-dir\":!!c});a.lastCmdDirection=!!c});!n.ie&&a.enterMode!=CKEDITOR.ENTER_BR&&a.hotNode.scrollIntoView();a.line.detach()}return function(b){var b=b.getSelection().getStartElement(),e,b=\nb.getAscendant(V,1);if(!W(a,b)&&b&&!b.equals(a.editable)&&!b.contains(a.editable)){if((e=K(b))&&\"false\"==e.getAttribute(\"contenteditable\"))b=e;a.element=b;e=r(a,b,!c);var f;m(e)&&e.is(a.triggers)&&e.is(ia)&&(!r(a,e,!c)||(f=r(a,e,!c))&&m(f)&&f.is(a.triggers))?d(e):(f=J(a,b),m(f)&&(r(a,f,!c)?(b=r(a,f,!c))&&(m(b)&&b.is(a.triggers))&&d(f):d(f)))}}}()}}function v(a,c){if(!c||!(c.type==CKEDITOR.NODE_ELEMENT&&c.$))return!1;var d=a.line;return d.wrap.equals(c)||d.wrap.contains(c)}function m(a){return a&&\na.type==CKEDITOR.NODE_ELEMENT&&a.$}function p(a){if(!m(a))return!1;var c;if(!(c=X(a)))m(a)?(c={left:1,right:1,center:1},c=!(!c[a.getComputedStyle(\"float\")]&&!c[a.getAttribute(\"align\")])):c=!1;return c}function X(a){return!!{absolute:1,fixed:1}[a.getComputedStyle(\"position\")]}function G(a,c){return m(c)?c.is(a.triggers):null}function W(a,c){if(!c)return!1;for(var d=c.getParents(1),b=d.length;b--;)for(var e=a.tabuList.length;e--;)if(d[b].hasAttribute(a.tabuList[e]))return!0;return!1}function ja(a,c,\nd){c=c[d?\"getLast\":\"getFirst\"](function(b){return a.isRelevant(b)&&!b.is(ka)});if(!c)return!1;o(a,c);return d?c.size.top>a.mouse.y:c.size.bottom<a.mouse.y}function Y(a){var c=a.editable,d=a.mouse,b=a.view,e=a.triggerOffset;C(a);var f=d.y>(a.inInlineMode?b.editable.top+b.editable.height/2:Math.min(b.editable.height,b.pane.height)/2),c=c[f?\"getLast\":\"getFirst\"](function(a){return!(z(a)||A(a))});if(!c)return null;v(a,c)&&(c=a.line.wrap[f?\"getPrevious\":\"getNext\"](function(a){return!(z(a)||A(a))}));if(!m(c)||\np(c)||!G(a,c))return null;o(a,c);return!f&&0<=c.size.top&&0<d.y&&d.y<c.size.top+e?(a=a.inInlineMode||0===b.scroll.y?x:s,new u([null,c,D,H,a])):f&&c.size.bottom<=b.pane.height&&d.y>c.size.bottom-e&&d.y<b.pane.height?(a=a.inInlineMode||c.size.bottom>b.pane.height-e&&c.size.bottom<b.pane.height?y:s,new u([c,null,Z,H,a])):null}function $(a){var c=a.mouse,d=a.view,b=a.triggerOffset,e=J(a);if(!e)return null;o(a,e);var b=Math.min(b,0|e.size.outerHeight/2),f=[],i,h;if(c.y>e.size.top-1&&c.y<e.size.top+b)h=\n!1;else if(c.y>e.size.bottom-b&&c.y<e.size.bottom+1)h=!0;else return null;if(p(e)||ja(a,e,h)||e.getParent().is(aa))return null;var g=r(a,e,!h);if(g){if(g&&g.type==CKEDITOR.NODE_TEXT)return null;if(m(g)){if(p(g)||!G(a,g)||g.getParent().is(aa))return null;f=[g,e][h?\"reverse\":\"concat\"]().concat([O,H])}}else e.equals(a.editable[h?\"getLast\":\"getFirst\"](a.isRelevant))?(C(a),h&&c.y>e.size.bottom-b&&c.y<d.pane.height&&e.size.bottom>d.pane.height-b&&e.size.bottom<d.pane.height?i=y:0<c.y&&c.y<e.size.top+b&&\n(i=x)):i=s,f=[null,e][h?\"reverse\":\"concat\"]().concat([h?Z:D,H,i,e.equals(a.editable[h?\"getLast\":\"getFirst\"](a.isRelevant))?h?y:x:s]);return 0 in f?new u(f):null}function P(a,c,d,b){for(var e=function(){var b=n.ie?c.$.currentStyle:a.win.$.getComputedStyle(c.$,\"\");return n.ie?function(a){return b[CKEDITOR.tools.cssStyleToDomStyle(a)]}:function(a){return b.getPropertyValue(a)}}(),f=c.getDocumentPosition(),i={},h={},g={},j={},l=t.length;l--;)i[t[l]]=parseInt(e(\"border-\"+t[l]+\"-width\"),10)||0,g[t[l]]=\nparseInt(e(\"padding-\"+t[l]),10)||0,h[t[l]]=parseInt(e(\"margin-\"+t[l]),10)||0;(!d||b)&&I(a,b);j.top=f.y-(d?0:a.view.scroll.y);j.left=f.x-(d?0:a.view.scroll.x);j.outerWidth=c.$.offsetWidth;j.outerHeight=c.$.offsetHeight;j.height=j.outerHeight-(g.top+g.bottom+i.top+i.bottom);j.width=j.outerWidth-(g.left+g.right+i.left+i.right);j.bottom=j.top+j.outerHeight;j.right=j.left+j.outerWidth;a.inInlineMode&&(j.scroll={top:c.$.scrollTop,left:c.$.scrollLeft});return q({border:i,padding:g,margin:h,ignoreScroll:d},\nj,!0)}function o(a,c,d){if(!m(c))return c.size=null;if(c.size){if(c.size.ignoreScroll==d&&c.size.date>new Date-ba)return null}else c.size={};return q(c.size,P(a,c,d),{date:+new Date},!0)}function C(a,c){a.view.editable=P(a,a.editable,c,!0)}function I(a,c){a.view||(a.view={});var d=a.view;if(c||!(d&&d.date>new Date-ba)){var b=a.win,d=b.getScrollPosition(),b=b.getViewPaneSize();q(a.view,{scroll:{x:d.x,y:d.y,width:a.doc.$.documentElement.scrollWidth-b.width,height:a.doc.$.documentElement.scrollHeight-\nb.height},pane:{width:b.width,height:b.height,bottom:b.height+d.y},date:+new Date},!0)}}function la(a,c,d,b){for(var e=b,f=b,i=0,h=!1,g=!1,j=a.view.pane.height,l=a.mouse;l.y+i<j&&0<l.y-i;){h||(h=c(e,b));g||(g=c(f,b));!h&&0<l.y-i&&(e=d(a,{x:l.x,y:l.y-i}));!g&&l.y+i<j&&(f=d(a,{x:l.x,y:l.y+i}));if(h&&g)break;i+=2}return new u([e,f,null,null])}CKEDITOR.plugins.add(\"magicline\",{init:function(a){var c=a.config,d=c.magicline_triggerOffset||30,b={editor:a,enterMode:c.enterMode,triggerOffset:d,holdDistance:0|\nd*(c.magicline_holdDistance||0.5),boxColor:c.magicline_color||\"#ff0000\",rtl:\"rtl\"==c.contentsLangDirection,tabuList:[\"data-cke-hidden-sel\"].concat(c.magicline_tabuList||[]),triggers:c.magicline_everywhere?V:{table:1,hr:1,div:1,ul:1,ol:1,dl:1,form:1,blockquote:1}},e,f,i;b.isRelevant=function(a){return m(a)&&!v(b,a)&&!p(a)};a.on(\"contentDom\",function(){var d=a.editable(),g=a.document,j=a.window;q(b,{editable:d,inInlineMode:d.isInline(),doc:g,win:j,hotNode:null},!0);b.boundary=b.inInlineMode?b.editable:\nb.doc.getDocumentElement();d.is(w.$inline)||(b.inInlineMode&&!X(d)&&d.setStyles({position:\"relative\",top:null,left:null}),ha.call(this,b),I(b),d.attachListener(a,\"beforeUndoImage\",function(){b.line.detach()}),d.attachListener(a,\"beforeGetData\",function(){b.line.wrap.getParent()&&(b.line.detach(),a.once(\"getData\",function(){b.line.attach()},null,null,1E3))},null,null,0),d.attachListener(b.inInlineMode?g:g.getWindow().getFrame(),\"mouseout\",function(c){if(\"wysiwyg\"==a.mode)if(b.inInlineMode){var d=c.data.$.clientX,\nc=c.data.$.clientY;I(b);C(b,!0);var e=b.view.editable,f=b.view.scroll;if(!(d>e.left-f.x&&d<e.right-f.x)||!(c>e.top-f.y&&c<e.bottom-f.y))clearTimeout(i),i=null,b.line.detach()}else clearTimeout(i),i=null,b.line.detach()}),d.attachListener(d,\"keyup\",function(){b.hiddenMode=0}),d.attachListener(d,\"keydown\",function(c){if(\"wysiwyg\"==a.mode)switch(c=c.data.getKeystroke(),a.getSelection().getStartElement(),c){case 2228240:case 16:b.hiddenMode=1,b.line.detach()}}),d.attachListener(b.inInlineMode?d:g,\"mousemove\",\nfunction(c){f=!0;if(!(\"wysiwyg\"!=a.mode||a.readOnly||i)){var d={x:c.data.$.clientX,y:c.data.$.clientY};i=setTimeout(function(){b.mouse=d;i=b.trigger=null;I(b);if(f&&!b.hiddenMode&&a.focusManager.hasFocus&&!b.line.mouseNear()&&(b.element=ca(b,!0)))(b.trigger=Y(b)||$(b)||da(b))&&!W(b,b.trigger.upper||b.trigger.lower)?b.line.attach().place():(b.trigger=null,b.line.detach()),f=!1},30)}}),d.attachListener(j,\"scroll\",function(){\"wysiwyg\"==a.mode&&(b.line.detach(),n.webkit&&(b.hiddenMode=1,clearTimeout(e),\ne=setTimeout(function(){b.mouseDown||(b.hiddenMode=0)},50)))}),d.attachListener(ea?g:j,\"mousedown\",function(){\"wysiwyg\"==a.mode&&(b.line.detach(),b.hiddenMode=1,b.mouseDown=1)}),d.attachListener(ea?g:j,\"mouseup\",function(){b.hiddenMode=0;b.mouseDown=0}),a.addCommand(\"accessPreviousSpace\",U(b)),a.addCommand(\"accessNextSpace\",U(b,!0)),a.setKeystroke([[c.magicline_keystrokePrevious,\"accessPreviousSpace\"],[c.magicline_keystrokeNext,\"accessNextSpace\"]]),a.on(\"loadSnapshot\",function(){var c,d,e,f;for(f in{p:1,\nbr:1,div:1}){c=a.document.getElementsByTag(f);for(e=c.count();e--;)if((d=c.getItem(e)).data(\"cke-magicline-hot\")){b.hotNode=d;b.lastCmdDirection=\"true\"===d.data(\"cke-magicline-dir\")?!0:!1;return}}}),this.backdoor={accessFocusSpace:N,boxTrigger:u,isLine:v,getAscendantTrigger:J,getNonEmptyNeighbour:r,getSize:P,that:b,triggerEdge:$,triggerEditable:Y,triggerExpand:da})},this)}});var q=CKEDITOR.tools.extend,M=CKEDITOR.dom.element,B=M.createFromHtml,n=CKEDITOR.env,ea=CKEDITOR.env.ie&&9>CKEDITOR.env.version,\nw=CKEDITOR.dtd,F={},D=128,Z=64,O=32,H=16,fa=8,x=4,y=2,s=1,E=\" \",aa=w.$listItem,ka=w.$tableContent,ia=q({},w.$nonEditable,w.$empty),V=w.$block,ba=100,L=\"width:0px;height:0px;padding:0px;margin:0px;display:block;z-index:9999;color:#fff;position:absolute;font-size: 0px;line-height:0px;\",S=L+\"border-color:transparent;display:block;border-style:solid;\",R=\"<span>\"+E+\"</span>\";F[CKEDITOR.ENTER_BR]=\"br\";F[CKEDITOR.ENTER_P]=\"p\";F[CKEDITOR.ENTER_DIV]=\"div\";u.prototype={set:function(a,c,d){this.properties=a+\nc+(d||s);return this},is:function(a){return(this.properties&a)==a}};var ca=function(){return function(a,c,d){if(!a.mouse)return null;var b=a.doc,e=a.line.wrap,d=d||a.mouse,f=new CKEDITOR.dom.element(b.$.elementFromPoint(d.x,d.y));c&&v(a,f)&&(e.hide(),f=new CKEDITOR.dom.element(b.$.elementFromPoint(d.x,d.y)),e.show());return!f||!(f.type==CKEDITOR.NODE_ELEMENT&&f.$)||n.ie&&9>n.version&&!a.boundary.equals(f)&&!a.boundary.contains(f)?null:f}}(),z=CKEDITOR.dom.walker.whitespaces(),A=CKEDITOR.dom.walker.nodeType(CKEDITOR.NODE_COMMENT),\nda=function(){function a(a){var b=a.element,e,f,i;if(!m(b)||b.contains(a.editable)||b.isReadOnly())return null;i=la(a,function(a,b){return!b.equals(a)},function(a,b){return ca(a,!0,b)},b);e=i.upper;f=i.lower;if(Q(a,e,f))return i.set(O,fa);if(e&&b.contains(e))for(;!e.getParent().equals(b);)e=e.getParent();else e=b.getFirst(function(b){return c(a,b)});if(f&&b.contains(f))for(;!f.getParent().equals(b);)f=f.getParent();else f=b.getLast(function(b){return c(a,b)});if(!e||!f)return null;o(a,e);o(a,f);if(!(a.mouse.y>\ne.size.top&&a.mouse.y<f.size.bottom))return null;for(var b=Number.MAX_VALUE,h,g,j,l;f&&!f.equals(e)&&(g=e.getNext(a.isRelevant));)h=Math.abs(ga(a,e,g)-a.mouse.y),h<b&&(b=h,j=e,l=g),e=g,o(a,e);if(!j||!l||!(a.mouse.y>j.size.top&&a.mouse.y<l.size.bottom))return null;i.upper=j;i.lower=l;return i.set(O,fa)}function c(a,b){return!(b&&b.type==CKEDITOR.NODE_TEXT||A(b)||p(b)||v(a,b)||b.type==CKEDITOR.NODE_ELEMENT&&b.$&&b.is(\"br\"))}return function(c){var b=a(c),e;if(e=b){e=b.upper;var f=b.lower;e=!e||!f||p(f)||\np(e)||f.equals(e)||e.equals(f)||f.contains(e)||e.contains(f)?!1:G(c,e)&&G(c,f)&&Q(c,e,f)?!0:!1}return e?b:null}}(),t=[\"top\",\"left\",\"right\",\"bottom\"]})();CKEDITOR.config.magicline_keystrokePrevious=CKEDITOR.CTRL+CKEDITOR.SHIFT+51;CKEDITOR.config.magicline_keystrokeNext=CKEDITOR.CTRL+CKEDITOR.SHIFT+52;(function(){function l(a){if(!a||a.type!=CKEDITOR.NODE_ELEMENT||\"form\"!=a.getName())return[];for(var e=[],f=[\"style\",\"className\"],b=0;b<f.length;b++){var d=a.$.elements.namedItem(f[b]);d&&(d=new CKEDITOR.dom.element(d),e.push([d,d.nextSibling]),d.remove())}return e}function o(a,e){if(a&&!(a.type!=CKEDITOR.NODE_ELEMENT||\"form\"!=a.getName())&&0<e.length)for(var f=e.length-1;0<=f;f--){var b=e[f][0],d=e[f][1];d?b.insertBefore(d):b.appendTo(a)}}function n(a,e){var f=l(a),b={},d=a.$;e||(b[\"class\"]=d.className||\n\"\",d.className=\"\");b.inline=d.style.cssText||\"\";e||(d.style.cssText=\"position: static; overflow: visible\");o(f);return b}function p(a,e){var f=l(a),b=a.$;\"class\"in e&&(b.className=e[\"class\"]);\"inline\"in e&&(b.style.cssText=e.inline);o(f)}function q(a){if(!a.editable().isInline()){var e=CKEDITOR.instances,f;for(f in e){var b=e[f];\"wysiwyg\"==b.mode&&!b.readOnly&&(b=b.document.getBody(),b.setAttribute(\"contentEditable\",!1),b.setAttribute(\"contentEditable\",!0))}a.editable().hasFocus&&(a.toolbox.focus(),\na.focus())}}CKEDITOR.plugins.add(\"maximize\",{init:function(a){function e(){var b=d.getViewPaneSize();a.resize(b.width,b.height,null,!0)}if(a.elementMode!=CKEDITOR.ELEMENT_MODE_INLINE){var f=a.lang,b=CKEDITOR.document,d=b.getWindow(),j,k,m,l=CKEDITOR.TRISTATE_OFF;a.addCommand(\"maximize\",{modes:{wysiwyg:!CKEDITOR.env.iOS,source:!CKEDITOR.env.iOS},readOnly:1,editorFocus:!1,exec:function(){var h=a.container.getChild(1),g=a.ui.space(\"contents\");if(\"wysiwyg\"==a.mode){var c=a.getSelection();j=c&&c.getRanges();\nk=d.getScrollPosition()}else{var i=a.editable().$;j=!CKEDITOR.env.ie&&[i.selectionStart,i.selectionEnd];k=[i.scrollLeft,i.scrollTop]}if(this.state==CKEDITOR.TRISTATE_OFF){d.on(\"resize\",e);m=d.getScrollPosition();for(c=a.container;c=c.getParent();)c.setCustomData(\"maximize_saved_styles\",n(c)),c.setStyle(\"z-index\",a.config.baseFloatZIndex-5);g.setCustomData(\"maximize_saved_styles\",n(g,!0));h.setCustomData(\"maximize_saved_styles\",n(h,!0));g={overflow:CKEDITOR.env.webkit?\"\":\"hidden\",width:0,height:0};\nb.getDocumentElement().setStyles(g);!CKEDITOR.env.gecko&&b.getDocumentElement().setStyle(\"position\",\"fixed\");(!CKEDITOR.env.gecko||!CKEDITOR.env.quirks)&&b.getBody().setStyles(g);CKEDITOR.env.ie?setTimeout(function(){d.$.scrollTo(0,0)},0):d.$.scrollTo(0,0);h.setStyle(\"position\",CKEDITOR.env.gecko&&CKEDITOR.env.quirks?\"fixed\":\"absolute\");h.$.offsetLeft;h.setStyles({\"z-index\":a.config.baseFloatZIndex-5,left:\"0px\",top:\"0px\"});h.addClass(\"cke_maximized\");e();g=h.getDocumentPosition();h.setStyles({left:-1*\ng.x+\"px\",top:-1*g.y+\"px\"});CKEDITOR.env.gecko&&q(a)}else if(this.state==CKEDITOR.TRISTATE_ON){d.removeListener(\"resize\",e);g=[g,h];for(c=0;c<g.length;c++)p(g[c],g[c].getCustomData(\"maximize_saved_styles\")),g[c].removeCustomData(\"maximize_saved_styles\");for(c=a.container;c=c.getParent();)p(c,c.getCustomData(\"maximize_saved_styles\")),c.removeCustomData(\"maximize_saved_styles\");CKEDITOR.env.ie?setTimeout(function(){d.$.scrollTo(m.x,m.y)},0):d.$.scrollTo(m.x,m.y);h.removeClass(\"cke_maximized\");CKEDITOR.env.webkit&&\n(h.setStyle(\"display\",\"inline\"),setTimeout(function(){h.setStyle(\"display\",\"block\")},0));a.fire(\"resize\")}this.toggleState();if(c=this.uiItems[0])g=this.state==CKEDITOR.TRISTATE_OFF?f.maximize.maximize:f.maximize.minimize,c=CKEDITOR.document.getById(c._.id),c.getChild(1).setHtml(g),c.setAttribute(\"title\",g),c.setAttribute(\"href\",'javascript:void(\"'+g+'\");');\"wysiwyg\"==a.mode?j?(CKEDITOR.env.gecko&&q(a),a.getSelection().selectRanges(j),(i=a.getSelection().getStartElement())&&i.scrollIntoView(!0)):\nd.$.scrollTo(k.x,k.y):(j&&(i.selectionStart=j[0],i.selectionEnd=j[1]),i.scrollLeft=k[0],i.scrollTop=k[1]);j=k=null;l=this.state;a.fire(\"maximize\",this.state)},canUndo:!1});a.ui.addButton&&a.ui.addButton(\"Maximize\",{label:f.maximize.maximize,command:\"maximize\",toolbar:\"tools,10\"});a.on(\"mode\",function(){var b=a.getCommand(\"maximize\");b.setState(b.state==CKEDITOR.TRISTATE_DISABLED?CKEDITOR.TRISTATE_DISABLED:l)},null,null,100)}}})})();CKEDITOR.plugins.add(\"newpage\",{init:function(a){a.addCommand(\"newpage\",{modes:{wysiwyg:1,source:1},exec:function(b){var a=this;b.setData(b.config.newpage_html||\"\",function(){b.focus();setTimeout(function(){b.fire(\"afterCommandExec\",{name:\"newpage\",command:a});b.selectionChange()},200)})},async:!0});a.ui.addButton&&a.ui.addButton(\"NewPage\",{label:a.lang.newpage.toolbar,command:\"newpage\",toolbar:\"document,20\"})}});CKEDITOR.plugins.add(\"pagebreak\",{requires:\"fakeobjects\",onLoad:function(){var a=[\"{\",\"background: url(\"+CKEDITOR.getUrl(this.path+\"images/pagebreak.gif\")+\") no-repeat center center;\",\"clear: both;width:100%; _width:99.9%;border-top: #999999 1px dotted;border-bottom: #999999 1px dotted;padding:0;height: 5px;cursor: default;}\"].join(\"\").replace(/;/g,\" !important;\");CKEDITOR.addCss(\"div.cke_pagebreak\"+a)},init:function(a){a.blockless||(a.addCommand(\"pagebreak\",CKEDITOR.plugins.pagebreakCmd),a.ui.addButton&&\na.ui.addButton(\"PageBreak\",{label:a.lang.pagebreak.toolbar,command:\"pagebreak\",toolbar:\"insert,70\"}),CKEDITOR.env.opera&&a.on(\"contentDom\",function(){a.document.on(\"click\",function(b){b=b.data.getTarget();b.is(\"div\")&&b.hasClass(\"cke_pagebreak\")&&a.getSelection().selectElement(b)})}))},afterInit:function(a){var b=a.lang.pagebreak.alt,c=a.dataProcessor,a=c&&c.dataFilter;(c=c&&c.htmlFilter)&&c.addRules({attributes:{\"class\":function(a,b){var c=a.replace(\"cke_pagebreak\",\"\");if(c!=a){var d=CKEDITOR.htmlParser.fragment.fromHtml('<span style=\"display: none;\">&nbsp;</span>').children[0];\nb.children.length=0;b.add(d);d=b.attributes;delete d[\"aria-label\"];delete d.contenteditable;delete d.title}return c}}},{applyToAll:!0,priority:5});a&&a.addRules({elements:{div:function(a){var c=a.attributes,e=c&&c.style,d=e&&1==a.children.length&&a.children[0];if((d=d&&\"span\"==d.name&&d.attributes.style)&&/page-break-after\\s*:\\s*always/i.test(e)&&/display\\s*:\\s*none/i.test(d))c.contenteditable=\"false\",c[\"class\"]=\"cke_pagebreak\",c[\"data-cke-display-name\"]=\"pagebreak\",c[\"aria-label\"]=b,c.title=b,a.children.length=\n0}}})}});CKEDITOR.plugins.pagebreakCmd={exec:function(a){var b=a.lang.pagebreak.alt,b=CKEDITOR.dom.element.createFromHtml('<div style=\"page-break-after: always;\"contenteditable=\"false\" title=\"'+b+'\" aria-label=\"'+b+'\" data-cke-display-name=\"pagebreak\" class=\"cke_pagebreak\"></div>',a.document);a.insertElement(b)},context:\"div\",allowedContent:{div:{styles:\"!page-break-after\"},span:{match:function(a){return(a=a.parent)&&\"div\"==a.name&&a.styles[\"page-break-after\"]},styles:\"display\"}},requiredContent:\"div{page-break-after}\"};(function(){var c={canUndo:!1,async:!0,exec:function(a){a.getClipboardData({title:a.lang.pastetext.title},function(b){b&&a.fire(\"paste\",{type:\"text\",dataValue:b.dataValue});a.fire(\"afterCommandExec\",{name:\"pastetext\",command:c,returnValue:!!b})})}};CKEDITOR.plugins.add(\"pastetext\",{requires:\"clipboard\",init:function(a){a.addCommand(\"pastetext\",c);a.ui.addButton&&a.ui.addButton(\"PasteText\",{label:a.lang.pastetext.button,command:\"pastetext\",toolbar:\"clipboard,40\"});if(a.config.forcePasteAsPlainText)a.on(\"beforePaste\",\nfunction(a){\"html\"!=a.data.type&&(a.data.type=\"text\")});a.on(\"pasteState\",function(b){a.getCommand(\"pastetext\").setState(b.data)})}})})();(function(){function h(a,d,f){var b=CKEDITOR.cleanWord;b?f():(a=CKEDITOR.getUrl(a.config.pasteFromWordCleanupFile||d+\"filter/default.js\"),CKEDITOR.scriptLoader.load(a,f,null,!0));return!b}function i(a){a.data.type=\"html\"}CKEDITOR.plugins.add(\"pastefromword\",{requires:\"clipboard\",init:function(a){var d=0,f=this.path;a.addCommand(\"pastefromword\",{canUndo:!1,async:!0,exec:function(a){var e=this;d=1;a.once(\"beforePaste\",i);a.getClipboardData({title:a.lang.pastefromword.title},function(c){c&&a.fire(\"paste\",\n{type:\"html\",dataValue:c.dataValue});a.fire(\"afterCommandExec\",{name:\"pastefromword\",command:e,returnValue:!!c})})}});a.ui.addButton&&a.ui.addButton(\"PasteFromWord\",{label:a.lang.pastefromword.toolbar,command:\"pastefromword\",toolbar:\"clipboard,50\"});a.on(\"pasteState\",function(b){a.getCommand(\"pastefromword\").setState(b.data)});a.on(\"paste\",function(b){var e=b.data,c=e.dataValue;if(c&&(d||/(class=\\\"?Mso|style=\\\"[^\\\"]*\\bmso\\-|w:WordDocument)/.test(c))){var g=h(a,f,function(){if(g)a.fire(\"paste\",e);\nelse if(!a.config.pasteFromWordPromptCleanup||d||confirm(a.lang.pastefromword.confirmCleanup))e.dataValue=CKEDITOR.cleanWord(c,a)});g&&b.cancel()}},null,null,3)}})})();(function(){var g,h={modes:{wysiwyg:1,source:1},canUndo:!1,readOnly:1,exec:function(a){var f,c=a.config,e=c.baseHref?'<base href=\"'+c.baseHref+'\"/>':\"\";if(c.fullPage)f=a.getData().replace(/<head>/,\"$&\"+e).replace(/[^>]*(?=<\\/title>)/,\"$& &mdash; \"+a.lang.preview.preview);else{var c=\"<body \",d=a.document&&a.document.getBody();d&&(d.getAttribute(\"id\")&&(c+='id=\"'+d.getAttribute(\"id\")+'\" '),d.getAttribute(\"class\")&&(c+='class=\"'+d.getAttribute(\"class\")+'\" '));f=a.config.docType+'<html dir=\"'+a.config.contentsLangDirection+\n'\"><head>'+e+\"<title>\"+a.lang.preview.preview+\"</title>\"+CKEDITOR.tools.buildStyleHtml(a.config.contentsCss)+\"</head>\"+(c+\">\")+a.getData()+\"</body></html>\"}e=640;c=420;d=80;try{var b=window.screen,e=Math.round(0.8*b.width),c=Math.round(0.7*b.height),d=Math.round(0.1*b.width)}catch(h){}if(!a.fire(\"contentPreview\",a={dataValue:f}))return!1;b=\"\";CKEDITOR.env.ie&&(window._cke_htmlToLoad=a.dataValue,b=\"javascript:void( (function(){document.open();\"+(\"(\"+CKEDITOR.tools.fixDomain+\")();\").replace(/\\/\\/.*?\\n/g,\n\"\").replace(/parent\\./g,\"window.opener.\")+\"document.write( window.opener._cke_htmlToLoad );document.close();window.opener._cke_htmlToLoad = null;})() )\");CKEDITOR.env.gecko&&(window._cke_htmlToLoad=a.dataValue,b=g+\"preview.html\");b=window.open(b,null,\"toolbar=yes,location=no,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width=\"+e+\",height=\"+c+\",left=\"+d);!CKEDITOR.env.ie&&!CKEDITOR.env.gecko&&(b=b.document,b.open(),b.write(a.dataValue),b.close());return!0}};CKEDITOR.plugins.add(\"preview\",{init:function(a){a.elementMode!=\nCKEDITOR.ELEMENT_MODE_INLINE&&(g=this.path,a.addCommand(\"preview\",h),a.ui.addButton&&a.ui.addButton(\"Preview\",{label:a.lang.preview.preview,command:\"preview\",toolbar:\"document,40\"}))}})})();CKEDITOR.plugins.add(\"print\",{init:function(a){a.elementMode!=CKEDITOR.ELEMENT_MODE_INLINE&&(a.addCommand(\"print\",CKEDITOR.plugins.print),a.ui.addButton&&a.ui.addButton(\"Print\",{label:a.lang.print.toolbar,command:\"print\",toolbar:\"document,50\"}))}});CKEDITOR.plugins.print={exec:function(a){CKEDITOR.env.opera||(CKEDITOR.env.gecko?a.window.$.print():a.document.$.execCommand(\"Print\"))},canUndo:!1,readOnly:1,modes:{wysiwyg:!CKEDITOR.env.opera}};CKEDITOR.plugins.add(\"removeformat\",{init:function(a){a.addCommand(\"removeFormat\",CKEDITOR.plugins.removeformat.commands.removeformat);a.ui.addButton&&a.ui.addButton(\"RemoveFormat\",{label:a.lang.removeformat.toolbar,command:\"removeFormat\",toolbar:\"cleanup,10\"})}});\nCKEDITOR.plugins.removeformat={commands:{removeformat:{exec:function(a){for(var h=a._.removeFormatRegex||(a._.removeFormatRegex=RegExp(\"^(?:\"+a.config.removeFormatTags.replace(/,/g,\"|\")+\")$\",\"i\")),e=a._.removeAttributes||(a._.removeAttributes=a.config.removeFormatAttributes.split(\",\")),f=CKEDITOR.plugins.removeformat.filter,k=a.getSelection().getRanges(1),l=k.createIterator(),c;c=l.getNextRange();){c.collapsed||c.enlarge(CKEDITOR.ENLARGE_ELEMENT);var i=c.createBookmark(),b=i.startNode,j=i.endNode,\nd=function(b){for(var c=a.elementPath(b),e=c.elements,d=1,g;(g=e[d])&&!g.equals(c.block)&&!g.equals(c.blockLimit);d++)h.test(g.getName())&&f(a,g)&&b.breakParent(g)};d(b);if(j){d(j);for(b=b.getNextSourceNode(!0,CKEDITOR.NODE_ELEMENT);b&&!b.equals(j);)d=b.getNextSourceNode(!1,CKEDITOR.NODE_ELEMENT),!(\"img\"==b.getName()&&b.data(\"cke-realelement\"))&&f(a,b)&&(h.test(b.getName())?b.remove(1):(b.removeAttributes(e),a.fire(\"removeFormatCleanup\",b))),b=d}c.moveToBookmark(i)}a.forceNextSelectionCheck();a.getSelection().selectRanges(k)}}},\nfilter:function(a,h){for(var e=a._.removeFormatFilters||[],f=0;f<e.length;f++)if(!1===e[f](h))return!1;return!0}};CKEDITOR.editor.prototype.addRemoveFormatFilter=function(a){this._.removeFormatFilters||(this._.removeFormatFilters=[]);this._.removeFormatFilters.push(a)};CKEDITOR.config.removeFormatTags=\"b,big,code,del,dfn,em,font,i,ins,kbd,q,s,samp,small,span,strike,strong,sub,sup,tt,u,var\";CKEDITOR.config.removeFormatAttributes=\"class,style,lang,width,height,align,hspace,valign\";(function(){var b={readOnly:1,exec:function(a){if(a.fire(\"save\")&&(a=a.element.$.form))try{a.submit()}catch(b){a.submit.click&&a.submit.click()}}};CKEDITOR.plugins.add(\"save\",{init:function(a){a.elementMode==CKEDITOR.ELEMENT_MODE_REPLACE&&(a.addCommand(\"save\",b).modes={wysiwyg:!!a.element.$.form},a.ui.addButton&&a.ui.addButton(\"Save\",{label:a.lang.save.toolbar,command:\"save\",toolbar:\"document,10\"}))}})})();(function(){CKEDITOR.plugins.add(\"selectall\",{init:function(b){b.addCommand(\"selectAll\",{modes:{wysiwyg:1,source:1},exec:function(a){var b=a.editable();if(b.is(\"textarea\"))a=b.$,CKEDITOR.env.ie?a.createTextRange().execCommand(\"SelectAll\"):(a.selectionStart=0,a.selectionEnd=a.value.length),a.focus();else{if(b.is(\"body\"))a.document.$.execCommand(\"SelectAll\",!1,null);else{var c=a.createRange();c.selectNodeContents(b);c.select()}a.forceNextSelectionCheck();a.selectionChange()}},canUndo:!1});b.ui.addButton&&\nb.ui.addButton(\"SelectAll\",{label:b.lang.selectall.toolbar,command:\"selectAll\",toolbar:\"selection,10\"})}})})();(function(){var d={readOnly:1,preserveState:!0,editorFocus:!1,exec:function(a){this.toggleState();this.refresh(a)},refresh:function(a){if(a.document){var b=this.state==CKEDITOR.TRISTATE_ON&&(a.elementMode!=CKEDITOR.ELEMENT_MODE_INLINE||a.focusManager.hasFocus)?\"attachClass\":\"removeClass\";a.editable()[b](\"cke_show_blocks\")}}};CKEDITOR.plugins.add(\"showblocks\",{onLoad:function(){function a(a){return\".%1.%2 p,.%1.%2 div,.%1.%2 pre,.%1.%2 address,.%1.%2 blockquote,.%1.%2 h1,.%1.%2 h2,.%1.%2 h3,.%1.%2 h4,.%1.%2 h5,.%1.%2 h6{background-position: top %3;padding-%3: 8px;}\".replace(/%1/g,\n\"cke_show_blocks\").replace(/%2/g,\"cke_contents_\"+a).replace(/%3/g,\"rtl\"==a?\"right\":\"left\")}CKEDITOR.addCss(\".%2 p,.%2 div,.%2 pre,.%2 address,.%2 blockquote,.%2 h1,.%2 h2,.%2 h3,.%2 h4,.%2 h5,.%2 h6{background-repeat: no-repeat;border: 1px dotted gray;padding-top: 8px;}.%2 p{%1p.png);}.%2 div{%1div.png);}.%2 pre{%1pre.png);}.%2 address{%1address.png);}.%2 blockquote{%1blockquote.png);}.%2 h1{%1h1.png);}.%2 h2{%1h2.png);}.%2 h3{%1h3.png);}.%2 h4{%1h4.png);}.%2 h5{%1h5.png);}.%2 h6{%1h6.png);}\".replace(/%1/g,\n\"background-image: url(\"+CKEDITOR.getUrl(this.path)+\"images/block_\").replace(/%2/g,\"cke_show_blocks \")+a(\"ltr\")+a(\"rtl\"))},init:function(a){if(!a.blockless){var b=a.addCommand(\"showblocks\",d);b.canUndo=!1;a.config.startupOutlineBlocks&&b.setState(CKEDITOR.TRISTATE_ON);a.ui.addButton&&a.ui.addButton(\"ShowBlocks\",{label:a.lang.showblocks.toolbar,command:\"showblocks\",toolbar:\"tools,20\"});a.on(\"mode\",function(){b.state!=CKEDITOR.TRISTATE_DISABLED&&b.refresh(a)});if(a.elementMode==CKEDITOR.ELEMENT_MODE_INLINE){var c=\nfunction(){b.refresh(a)};a.on(\"focus\",c);a.on(\"blur\",c)}a.on(\"contentDom\",function(){b.state!=CKEDITOR.TRISTATE_DISABLED&&b.refresh(a)})}}})})();(function(){var f={preserveState:!0,editorFocus:!1,readOnly:1,exec:function(a){this.toggleState();this.refresh(a)},refresh:function(a){if(a.document){var b=this.state==CKEDITOR.TRISTATE_ON?\"attachClass\":\"removeClass\";a.editable()[b](\"cke_show_borders\")}}};CKEDITOR.plugins.add(\"showborders\",{modes:{wysiwyg:1},onLoad:function(){var a;a=(CKEDITOR.env.ie6Compat?[\".%1 table.%2,\",\".%1 table.%2 td, .%1 table.%2 th\",\"{\",\"border : #d3d3d3 1px dotted\",\"}\"]:\".%1 table.%2,;.%1 table.%2 > tr > td, .%1 table.%2 > tr > th,;.%1 table.%2 > tbody > tr > td, .%1 table.%2 > tbody > tr > th,;.%1 table.%2 > thead > tr > td, .%1 table.%2 > thead > tr > th,;.%1 table.%2 > tfoot > tr > td, .%1 table.%2 > tfoot > tr > th;{;border : #d3d3d3 1px dotted;}\".split(\";\")).join(\"\").replace(/%2/g,\n\"cke_show_border\").replace(/%1/g,\"cke_show_borders \");CKEDITOR.addCss(a)},init:function(a){var b=a.addCommand(\"showborders\",f);b.canUndo=!1;!1!==a.config.startupShowBorders&&b.setState(CKEDITOR.TRISTATE_ON);a.on(\"mode\",function(){b.state!=CKEDITOR.TRISTATE_DISABLED&&b.refresh(a)},null,null,100);a.on(\"contentDom\",function(){b.state!=CKEDITOR.TRISTATE_DISABLED&&b.refresh(a)});a.on(\"removeFormatCleanup\",function(d){d=d.data;a.getCommand(\"showborders\").state==CKEDITOR.TRISTATE_ON&&(d.is(\"table\")&&(!d.hasAttribute(\"border\")||\n0>=parseInt(d.getAttribute(\"border\"),10)))&&d.addClass(\"cke_show_border\")})},afterInit:function(a){var b=a.dataProcessor,a=b&&b.dataFilter,b=b&&b.htmlFilter;a&&a.addRules({elements:{table:function(a){var a=a.attributes,b=a[\"class\"],c=parseInt(a.border,10);if((!c||0>=c)&&(!b||-1==b.indexOf(\"cke_show_border\")))a[\"class\"]=(b||\"\")+\" cke_show_border\"}}});b&&b.addRules({elements:{table:function(a){var a=a.attributes,b=a[\"class\"];b&&(a[\"class\"]=b.replace(\"cke_show_border\",\"\").replace(/\\s{2}/,\" \").replace(/^\\s+|\\s+$/,\n\"\"))}}})}});CKEDITOR.on(\"dialogDefinition\",function(a){var b=a.data.name;if(\"table\"==b||\"tableProperties\"==b)if(a=a.data.definition,b=a.getContents(\"info\").get(\"txtBorder\"),b.commit=CKEDITOR.tools.override(b.commit,function(a){return function(b,c){a.apply(this,arguments);var e=parseInt(this.getValue(),10);c[!e||0>=e?\"addClass\":\"removeClass\"](\"cke_show_border\")}}),a=(a=a.getContents(\"advanced\"))&&a.get(\"advCSSClasses\"))a.setup=CKEDITOR.tools.override(a.setup,function(a){return function(){a.apply(this,\narguments);this.setValue(this.getValue().replace(/cke_show_border/,\"\"))}}),a.commit=CKEDITOR.tools.override(a.commit,function(a){return function(b,c){a.apply(this,arguments);parseInt(c.getAttribute(\"border\"),10)||c.addClass(\"cke_show_border\")}})})})();(function(){CKEDITOR.plugins.add(\"sourcearea\",{init:function(a){function d(){this.hide();this.setStyle(\"height\",this.getParent().$.clientHeight+\"px\");this.setStyle(\"width\",this.getParent().$.clientWidth+\"px\");this.show()}if(a.elementMode!=CKEDITOR.ELEMENT_MODE_INLINE){var e=CKEDITOR.plugins.sourcearea;a.addMode(\"source\",function(e){var b=a.ui.space(\"contents\").getDocument().createElement(\"textarea\");b.setStyles(CKEDITOR.tools.extend({width:CKEDITOR.env.ie7Compat?\"99%\":\"100%\",height:\"100%\",resize:\"none\",\noutline:\"none\",\"text-align\":\"left\"},CKEDITOR.tools.cssVendorPrefix(\"tab-size\",a.config.sourceAreaTabSize||4)));b.setAttribute(\"dir\",\"ltr\");b.addClass(\"cke_source cke_reset cke_enable_context_menu\");a.ui.space(\"contents\").append(b);b=a.editable(new c(a,b));b.setData(a.getData(1));CKEDITOR.env.ie&&(b.attachListener(a,\"resize\",d,b),b.attachListener(CKEDITOR.document.getWindow(),\"resize\",d,b),CKEDITOR.tools.setTimeout(d,0,b));a.fire(\"ariaWidget\",this);e()});a.addCommand(\"source\",e.commands.source);a.ui.addButton&&\na.ui.addButton(\"Source\",{label:a.lang.sourcearea.toolbar,command:\"source\",toolbar:\"mode,10\"});a.on(\"mode\",function(){a.getCommand(\"source\").setState(\"source\"==a.mode?CKEDITOR.TRISTATE_ON:CKEDITOR.TRISTATE_OFF)})}}});var c=CKEDITOR.tools.createClass({base:CKEDITOR.editable,proto:{setData:function(a){this.setValue(a);this.editor.fire(\"dataReady\")},getData:function(){return this.getValue()},insertHtml:function(){},insertElement:function(){},insertText:function(){},setReadOnly:function(a){this[(a?\"set\":\n\"remove\")+\"Attribute\"](\"readOnly\",\"readonly\")},detach:function(){c.baseProto.detach.call(this);this.clearCustomData();this.remove()}}})})();CKEDITOR.plugins.sourcearea={commands:{source:{modes:{wysiwyg:1,source:1},editorFocus:!1,readOnly:1,exec:function(c){\"wysiwyg\"==c.mode&&c.fire(\"saveSnapshot\");c.getCommand(\"source\").setState(CKEDITOR.TRISTATE_DISABLED);c.setMode(\"source\"==c.mode?\"wysiwyg\":\"source\")},canUndo:!1}}};CKEDITOR.plugins.add(\"specialchar\",{availableLangs:{ar:1,bg:1,ca:1,cs:1,cy:1,de:1,el:1,en:1,eo:1,es:1,et:1,fa:1,fi:1,fr:1,\"fr-ca\":1,gl:1,he:1,hr:1,hu:1,id:1,it:1,ja:1,km:1,ku:1,lv:1,nb:1,nl:1,no:1,pl:1,pt:1,\"pt-br\":1,ru:1,si:1,sk:1,sl:1,sq:1,sv:1,th:1,tr:1,ug:1,uk:1,vi:1,zh:1,\"zh-cn\":1},requires:\"dialog\",init:function(a){var c=this;CKEDITOR.dialog.add(\"specialchar\",this.path+\"dialogs/specialchar.js\");a.addCommand(\"specialchar\",{exec:function(){var b=a.langCode,b=c.availableLangs[b]?b:c.availableLangs[b.replace(/-.*/,\n\"\")]?b.replace(/-.*/,\"\"):\"en\";CKEDITOR.scriptLoader.load(CKEDITOR.getUrl(c.path+\"dialogs/lang/\"+b+\".js\"),function(){CKEDITOR.tools.extend(a.lang.specialchar,c.langEntries[b]);a.openDialog(\"specialchar\")})},modes:{wysiwyg:1},canUndo:!1});a.ui.addButton&&a.ui.addButton(\"SpecialChar\",{label:a.lang.specialchar.toolbar,command:\"specialchar\",toolbar:\"insert,50\"})}});CKEDITOR.config.specialChars=\"! &quot; # $ % &amp; ' ( ) * + - . / 0 1 2 3 4 5 6 7 8 9 : ; &lt; = &gt; ? @ 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 [ ] ^ _ ` 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 { | } ~ &euro; &lsquo; &rsquo; &ldquo; &rdquo; &ndash; &mdash; &iexcl; &cent; &pound; &curren; &yen; &brvbar; &sect; &uml; &copy; &ordf; &laquo; &not; &reg; &macr; &deg; &sup2; &sup3; &acute; &micro; &para; &middot; &cedil; &sup1; &ordm; &raquo; &frac14; &frac12; &frac34; &iquest; &Agrave; &Aacute; &Acirc; &Atilde; &Auml; &Aring; &AElig; &Ccedil; &Egrave; &Eacute; &Ecirc; &Euml; &Igrave; &Iacute; &Icirc; &Iuml; &ETH; &Ntilde; &Ograve; &Oacute; &Ocirc; &Otilde; &Ouml; &times; &Oslash; &Ugrave; &Uacute; &Ucirc; &Uuml; &Yacute; &THORN; &szlig; &agrave; &aacute; &acirc; &atilde; &auml; &aring; &aelig; &ccedil; &egrave; &eacute; &ecirc; &euml; &igrave; &iacute; &icirc; &iuml; &eth; &ntilde; &ograve; &oacute; &ocirc; &otilde; &ouml; &divide; &oslash; &ugrave; &uacute; &ucirc; &uuml; &yacute; &thorn; &yuml; &OElig; &oelig; &#372; &#374 &#373 &#375; &sbquo; &#8219; &bdquo; &hellip; &trade; &#9658; &bull; &rarr; &rArr; &hArr; &diams; &asymp;\".split(\" \");CKEDITOR.plugins.add(\"menubutton\",{requires:\"button,menu\",onLoad:function(){var d=function(c){var a=this._,b=a.menu;a.state!==CKEDITOR.TRISTATE_DISABLED&&(a.on&&b?b.hide():(a.previousState=a.state,b||(b=a.menu=new CKEDITOR.menu(c,{panel:{className:\"cke_menu_panel\",attributes:{\"aria-label\":c.lang.common.options}}}),b.onHide=CKEDITOR.tools.bind(function(){var b=this.command?c.getCommand(this.command).modes:this.modes;this.setState(!b||b[c.mode]?a.previousState:CKEDITOR.TRISTATE_DISABLED);a.on=0},this),\nthis.onMenu&&b.addListener(this.onMenu)),this.setState(CKEDITOR.TRISTATE_ON),a.on=1,setTimeout(function(){b.show(CKEDITOR.document.getById(a.id),4)},0)))};CKEDITOR.ui.menuButton=CKEDITOR.tools.createClass({base:CKEDITOR.ui.button,$:function(c){delete c.panel;this.base(c);this.hasArrow=!0;this.click=d},statics:{handler:{create:function(c){return new CKEDITOR.ui.menuButton(c)}}}})},beforeInit:function(d){d.ui.addHandler(CKEDITOR.UI_MENUBUTTON,CKEDITOR.ui.menuButton.handler)}});\nCKEDITOR.UI_MENUBUTTON=\"menubutton\";(function(){function o(a,c){var b=0,d;for(d in c)if(c[d]==a){b=1;break}return b}var j=\"\",r=function(){function a(){b.once(\"focus\",g);b.once(\"blur\",c)}function c(b){var b=b.editor,c=d.getScayt(b),g=b.elementMode==CKEDITOR.ELEMENT_MODE_INLINE;c&&(d.setPaused(b,!c.disabled),d.setControlId(b,c.id),c.destroy(!0),delete d.instances[b.name],g&&a())}var b=this,g=function(){if(!(\"undefined\"!=typeof d.instances[b.name]||null!=d.instances[b.name])){var a=b.config,c={};c.srcNodeRef=\"BODY\"==b.editable().$.nodeName?\nb.document.getWindow().$.frameElement:b.editable().$;c.assocApp=\"CKEDITOR.\"+CKEDITOR.version+\"@\"+CKEDITOR.revision;c.customerid=a.scayt_customerid||\"1:WvF0D4-UtPqN1-43nkD4-NKvUm2-daQqk3-LmNiI-z7Ysb4-mwry24-T8YrS3-Q2tpq2\";c.customDictionaryIds=a.scayt_customDictionaryIds||\"\";c.userDictionaryName=a.scayt_userDictionaryName||\"\";c.sLang=a.scayt_sLang||\"en_US\";c.onLoad=function(){CKEDITOR.env.ie&&8>CKEDITOR.env.version||this.addStyle(this.selectorCss(),\"padding-bottom: 2px !important;\");b.editable().hasFocus&&\n!d.isControlRestored(b)&&this.focus()};a=window.scayt_custom_params;if(\"object\"==typeof a)for(var g in a)c[g]=a[g];d.getControlId(b)&&(c.id=d.getControlId(b));var e=new window.scayt(c);e.afterMarkupRemove.push(function(a){(new CKEDITOR.dom.element(a,e.document)).mergeSiblings()});if(c=d.instances[b.name])e.sLang=c.sLang,e.option(c.option()),e.paused=c.paused;d.instances[b.name]=e;try{e.setDisabled(!1===d.isPaused(b))}catch(n){}b.fire(\"showScaytState\")}};b.elementMode==CKEDITOR.ELEMENT_MODE_INLINE?\na():b.on(\"contentDom\",g);b.on(\"contentDomUnload\",function(){for(var a=CKEDITOR.document.getElementsByTag(\"script\"),b=/^dojoIoScript(\\d+)$/i,c=/^https?:\\/\\/svc\\.webspellchecker\\.net\\/spellcheck\\/script\\/ssrv\\.cgi/i,d=0;d<a.count();d++){var g=a.getItem(d),e=g.getId(),f=g.getAttribute(\"src\");e&&(f&&e.match(b)&&f.match(c))&&g.remove()}});b.on(\"beforeCommandExec\",function(a){\"source\"==a.data.name&&\"source\"==b.mode&&d.markControlRestore(b)});b.on(\"afterCommandExec\",function(a){if(d.isScaytEnabled(b)&&\"wysiwyg\"==\nb.mode&&(\"undo\"==a.data.name||\"redo\"==a.data.name))d.getScayt(b).setDisabled(!0),d.refresh_timeout&&window.clearTimeout(d.refresh_timeout),d.refresh_timeout=window.setTimeout(function(){d.getScayt(b).setDisabled(!1);d.getScayt(b).focus();d.getScayt(b).refresh()},10)});b.on(\"destroy\",c);b.on(\"setData\",c);b.on(\"insertElement\",function(){var a=d.getScayt(b);d.isScaytEnabled(b)&&(CKEDITOR.env.ie&&b.getSelection().unlock(!0),window.setTimeout(function(){a.focus();a.refresh()},10))},this,null,50);b.on(\"insertHtml\",\nfunction(){var a=d.getScayt(b);d.isScaytEnabled(b)&&(CKEDITOR.env.ie&&b.getSelection().unlock(!0),window.setTimeout(function(){a.focus();a.refresh()},10))},this,null,50);b.on(\"scaytDialog\",function(a){a.data.djConfig=window.djConfig;a.data.scayt_control=d.getScayt(b);a.data.tab=j;a.data.scayt=window.scayt});var e=b.dataProcessor;(e=e&&e.htmlFilter)&&e.addRules({elements:{span:function(a){if(a.attributes[\"data-scayt_word\"]&&a.attributes[\"data-scaytid\"])return delete a.name,a}}});var e=CKEDITOR.plugins.undo.Image.prototype,\nf=\"function\"==typeof e.equalsContent?\"equalsContent\":\"equals\";e[f]=CKEDITOR.tools.override(e[f],function(a){return function(b){var c=this.contents,g=b.contents,e=d.getScayt(this.editor);e&&d.isScaytReady(this.editor)&&(this.contents=e.reset(c)||\"\",b.contents=e.reset(g)||\"\");e=a.apply(this,arguments);this.contents=c;b.contents=g;return e}});e=CKEDITOR.editor.prototype;e.checkDirty=CKEDITOR.tools.override(e.checkDirty,function(a){return function(){var b=null,c=d.getScayt(this);c&&d.isScaytReady(this)?\n(b=c.reset(this.getSnapshot()),c=c.reset(this._.previousValue),b=b!==c):b=a.apply(this);return b}});b.document&&(b.elementMode!=CKEDITOR.ELEMENT_MODE_INLINE||b.focusManager.hasFocus)&&g()};CKEDITOR.plugins.scayt={engineLoaded:!1,instances:{},controlInfo:{},setControlInfo:function(a,c){a&&(a.name&&\"object\"!=typeof this.controlInfo[a.name])&&(this.controlInfo[a.name]={});for(var b in c)this.controlInfo[a.name][b]=c[b]},isControlRestored:function(a){return a&&a.name&&this.controlInfo[a.name]?this.controlInfo[a.name].restored:\n!1},markControlRestore:function(a){this.setControlInfo(a,{restored:!0})},setControlId:function(a,c){this.setControlInfo(a,{id:c})},getControlId:function(a){return a&&a.name&&this.controlInfo[a.name]&&this.controlInfo[a.name].id?this.controlInfo[a.name].id:null},setPaused:function(a,c){this.setControlInfo(a,{paused:c})},isPaused:function(a){if(a&&a.name&&this.controlInfo[a.name])return this.controlInfo[a.name].paused},getScayt:function(a){return this.instances[a.name]},isScaytReady:function(a){return!0===\nthis.engineLoaded&&\"undefined\"!==typeof window.scayt&&this.getScayt(a)},isScaytEnabled:function(a){return(a=this.getScayt(a))?!1===a.disabled:!1},getUiTabs:function(a){var c=[],b=a.config.scayt_uiTabs||\"1,1,1\",b=b.split(\",\");b[3]=\"1\";for(var d=0;4>d;d++)c[d]=\"undefined\"!=typeof window.scayt&&\"undefined\"!=typeof window.scayt.uiTags?parseInt(b[d],10)&&window.scayt.uiTags[d]:parseInt(b[d],10);\"object\"==typeof a.plugins.wsc?c.push(1):c.push(0);return c},loadEngine:function(a){if(CKEDITOR.env.gecko&&10900>\nCKEDITOR.env.version||CKEDITOR.env.opera||CKEDITOR.env.air)return a.fire(\"showScaytState\");if(!0===this.engineLoaded)return r.apply(a);if(-1==this.engineLoaded)return CKEDITOR.on(\"scaytReady\",function(){r.apply(a)});CKEDITOR.on(\"scaytReady\",r,a);CKEDITOR.on(\"scaytReady\",function(){this.engineLoaded=!0},this,null,0);this.engineLoaded=-1;var c=document.location.protocol,c=-1!=c.search(/https?:/)?c:\"http:\",c=a.config.scayt_srcUrl||c+\"//svc.webspellchecker.net/scayt26/loader__base.js\",b=d.parseUrl(c).path+\n\"/\";void 0==window.scayt?(CKEDITOR._djScaytConfig={baseUrl:b,addOnLoad:[function(){CKEDITOR.fireOnce(\"scaytReady\")}],isDebug:!1},CKEDITOR.document.getHead().append(CKEDITOR.document.createElement(\"script\",{attributes:{type:\"text/javascript\",async:\"true\",src:c}}))):CKEDITOR.fireOnce(\"scaytReady\");return null},parseUrl:function(a){var c;return a.match&&(c=a.match(/(.*)[\\/\\\\](.*?\\.\\w+)$/))?{path:c[1],file:c[2]}:a}};var d=CKEDITOR.plugins.scayt,p=function(a,c,b,d,e,f,h){a.addCommand(d,e);a.addMenuItem(d,\n{label:b,command:d,group:f,order:h})},u={preserveState:!0,editorFocus:!1,canUndo:!1,exec:function(a){if(d.isScaytReady(a)){var c=d.isScaytEnabled(a);this.setState(c?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_ON);a=d.getScayt(a);a.focus();a.setDisabled(c)}else!a.config.scayt_autoStartup&&0<=d.engineLoaded&&(a.focus(),this.setState(CKEDITOR.TRISTATE_DISABLED),d.loadEngine(a))}};CKEDITOR.plugins.add(\"scayt\",{requires:\"menubutton,dialog\",beforeInit:function(a){var c=a.config.scayt_contextMenuItemsOrder||\n\"suggest|moresuggest|control\",b=\"\";if((c=c.split(\"|\"))&&c.length)for(var d=0;d<c.length;d++)b+=\"scayt_\"+c[d]+(c.length!=parseInt(d,10)+1?\",\":\"\");a.config.menu_groups=b+\",\"+a.config.menu_groups},checkEnvironment:function(){return CKEDITOR.env.opera||CKEDITOR.env.air?0:1},init:function(a){var c=a.dataProcessor&&a.dataProcessor.dataFilter,b={elements:{span:function(a){var b=a.attributes;b&&b[\"data-scaytid\"]&&delete a.name}}};c&&c.addRules(b);var g={},e={},f=a.addCommand(\"scaytcheck\",u);CKEDITOR.dialog.add(\"scaytcheck\",\nCKEDITOR.getUrl(this.path+\"dialogs/options.js\"));c=d.getUiTabs(a);a.addMenuGroup(\"scaytButton\");a.addMenuGroup(\"scayt_suggest\",-10);a.addMenuGroup(\"scayt_moresuggest\",-9);a.addMenuGroup(\"scayt_control\",-8);var b={},h=a.lang.scayt;b.scaytToggle={label:h.enable,command:\"scaytcheck\",group:\"scaytButton\"};1==c[0]&&(b.scaytOptions={label:h.options,group:\"scaytButton\",onClick:function(){j=\"options\";a.openDialog(\"scaytcheck\")}});1==c[1]&&(b.scaytLangs={label:h.langs,group:\"scaytButton\",onClick:function(){j=\n\"langs\";a.openDialog(\"scaytcheck\")}});1==c[2]&&(b.scaytDict={label:h.dictionariesTab,group:\"scaytButton\",onClick:function(){j=\"dictionaries\";a.openDialog(\"scaytcheck\")}});b.scaytAbout={label:a.lang.scayt.about,group:\"scaytButton\",onClick:function(){j=\"about\";a.openDialog(\"scaytcheck\")}};1==c[4]&&(b.scaytWSC={label:a.lang.wsc.toolbar,group:\"scaytButton\",command:\"checkspell\"});a.addMenuItems(b);a.ui.add(\"Scayt\",CKEDITOR.UI_MENUBUTTON,{label:h.title,title:CKEDITOR.env.opera?h.opera_title:h.title,modes:{wysiwyg:this.checkEnvironment()},\ntoolbar:\"spellchecker,20\",onRender:function(){f.on(\"state\",function(){this.setState(f.state)},this)},onMenu:function(){var b=d.isScaytEnabled(a);a.getMenuItem(\"scaytToggle\").label=h[b?\"disable\":\"enable\"];var c=d.getUiTabs(a);return{scaytToggle:CKEDITOR.TRISTATE_OFF,scaytOptions:b&&c[0]?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED,scaytLangs:b&&c[1]?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED,scaytDict:b&&c[2]?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED,scaytAbout:b&&c[3]?CKEDITOR.TRISTATE_OFF:\nCKEDITOR.TRISTATE_DISABLED,scaytWSC:c[4]?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED}}});a.contextMenu&&a.addMenuItems&&a.contextMenu.addListener(function(b,c){if(!d.isScaytEnabled(a)||c.getRanges()[0].checkReadOnly())return null;var f=d.getScayt(a),n=f.getScaytNode();if(!n)return null;var i=f.getWord(n);if(!i)return null;var j=f.getLang(),l=a.config.scayt_contextCommands||\"all\",i=window.scayt.getSuggestion(i,j),l=l.split(\"|\"),m;for(m in g){delete a._.menuItems[m];delete a.commands[m]}for(m in e){delete a._.menuItems[m];\ndelete a.commands[m]}if(!i||!i.length){p(a,\"no_sugg\",h.noSuggestions,\"scayt_no_sugg\",{exec:function(){}},\"scayt_control\",1,true);e.scayt_no_sugg=CKEDITOR.TRISTATE_OFF}else{g={};e={};m=a.config.scayt_moreSuggestions||\"on\";var j=false,s=a.config.scayt_maxSuggestions;typeof s!=\"number\"&&(s=5);!s&&(s=i.length);for(var k=0,r=i.length;k<r;k=k+1){var q=\"scayt_suggestion_\"+i[k].replace(\" \",\"_\"),t=function(a,b){return{exec:function(){f.replace(a,b)}}}(n,i[k]);if(k<s){p(a,\"button_\"+q,i[k],q,t,\"scayt_suggest\",\nk+1);e[q]=CKEDITOR.TRISTATE_OFF}else if(m==\"on\"){p(a,\"button_\"+q,i[k],q,t,\"scayt_moresuggest\",k+1);g[q]=CKEDITOR.TRISTATE_OFF;j=true}}if(j){a.addMenuItem(\"scayt_moresuggest\",{label:h.moreSuggestions,group:\"scayt_moresuggest\",order:10,getItems:function(){return g}});e.scayt_moresuggest=CKEDITOR.TRISTATE_OFF}}if(o(\"all\",l)||o(\"ignore\",l)){p(a,\"ignore\",h.ignore,\"scayt_ignore\",{exec:function(){f.ignore(n)}},\"scayt_control\",2);e.scayt_ignore=CKEDITOR.TRISTATE_OFF}if(o(\"all\",l)||o(\"ignoreall\",l)){p(a,\"ignore_all\",\nh.ignoreAll,\"scayt_ignore_all\",{exec:function(){f.ignoreAll(n)}},\"scayt_control\",3);e.scayt_ignore_all=CKEDITOR.TRISTATE_OFF}if(o(\"all\",l)||o(\"add\",l)){p(a,\"add_word\",h.addWord,\"scayt_add_word\",{exec:function(){window.scayt.addWordToUserDictionary(n)}},\"scayt_control\",4);e.scayt_add_word=CKEDITOR.TRISTATE_OFF}f.fireOnContextMenu&&f.fireOnContextMenu(a);return e});c=function(b){b.removeListener();CKEDITOR.env.opera||CKEDITOR.env.air?f.setState(CKEDITOR.TRISTATE_DISABLED):f.setState(d.isScaytEnabled(a)?\nCKEDITOR.TRISTATE_ON:CKEDITOR.TRISTATE_OFF)};a.on(\"showScaytState\",c);a.on(\"instanceReady\",c);if(a.config.scayt_autoStartup)a.on(\"instanceReady\",function(){d.loadEngine(a)})},afterInit:function(a){var c,b=function(a){if(a.hasAttribute(\"data-scaytid\"))return!1};a._.elementsPath&&(c=a._.elementsPath.filters)&&c.push(b);a.addRemoveFormatFilter&&a.addRemoveFormatFilter(b)}})})();(function(){CKEDITOR.plugins.add(\"stylescombo\",{requires:\"richcombo\",init:function(c){var j=c.config,f=c.lang.stylescombo,e={},i=[],k=[];c.on(\"stylesSet\",function(b){if(b=b.data.styles){for(var a,h,d=0,g=b.length;d<g;d++)if(a=b[d],!(c.blockless&&a.element in CKEDITOR.dtd.$block)&&(h=a.name,a=new CKEDITOR.style(a),!c.filter.customConfig||c.filter.check(a)))a._name=h,a._.enterMode=j.enterMode,a._.weight=d+1E3*(a.type==CKEDITOR.STYLE_OBJECT?1:a.type==CKEDITOR.STYLE_BLOCK?2:3),e[h]=a,i.push(a),k.push(a);\ni.sort(function(a,b){return a._.weight-b._.weight})}});c.ui.addRichCombo(\"Styles\",{label:f.label,title:f.panelTitle,toolbar:\"styles,10\",allowedContent:k,panel:{css:[CKEDITOR.skin.getPath(\"editor\")].concat(j.contentsCss),multiSelect:!0,attributes:{\"aria-label\":f.panelTitle}},init:function(){var b,a,c,d,g,e;g=0;for(e=i.length;g<e;g++)b=i[g],a=b._name,d=b.type,d!=c&&(this.startGroup(f[\"panelTitle\"+d]),c=d),this.add(a,b.type==CKEDITOR.STYLE_OBJECT?a:b.buildPreview(),a);this.commit()},onClick:function(b){c.focus();\nc.fire(\"saveSnapshot\");var b=e[b],a=c.elementPath();c[b.checkActive(a)?\"removeStyle\":\"applyStyle\"](b);c.fire(\"saveSnapshot\")},onRender:function(){c.on(\"selectionChange\",function(b){for(var a=this.getValue(),b=b.data.path.elements,c=0,d=b.length,g;c<d;c++){g=b[c];for(var f in e)if(e[f].checkElementRemovable(g,!0)){f!=a&&this.setValue(f);return}}this.setValue(\"\")},this)},onOpen:function(){var b=c.getSelection().getSelectedElement(),b=c.elementPath(b),a=[0,0,0,0];this.showAll();this.unmarkAll();for(var h in e){var d=\ne[h],g=d.type;d.checkApplicable(b,c.activeFilter)?a[g]++:this.hideItem(h);d.checkActive(b)&&this.mark(h)}a[CKEDITOR.STYLE_BLOCK]||this.hideGroup(f[\"panelTitle\"+CKEDITOR.STYLE_BLOCK]);a[CKEDITOR.STYLE_INLINE]||this.hideGroup(f[\"panelTitle\"+CKEDITOR.STYLE_INLINE]);a[CKEDITOR.STYLE_OBJECT]||this.hideGroup(f[\"panelTitle\"+CKEDITOR.STYLE_OBJECT])},refresh:function(){var b=c.elementPath();if(b){for(var a in e)if(e[a].checkApplicable(b,c.activeFilter))return;this.setState(CKEDITOR.TRISTATE_DISABLED)}},reset:function(){e=\n{};i=[]}})}})})();(function(){function i(c){return{editorFocus:!1,canUndo:!1,modes:{wysiwyg:1},exec:function(d){if(d.editable().hasFocus){var e=d.getSelection(),b;if(b=(new CKEDITOR.dom.elementPath(e.getCommonAncestor(),e.root)).contains({td:1,th:1},1)){var e=d.createRange(),a=CKEDITOR.tools.tryThese(function(){var a=b.getParent().$.cells[b.$.cellIndex+(c?-1:1)];a.parentNode.parentNode;return a},function(){var a=b.getParent(),a=a.getAscendant(\"table\").$.rows[a.$.rowIndex+(c?-1:1)];return a.cells[c?a.cells.length-1:\n0]});if(!a&&!c){for(var f=b.getAscendant(\"table\").$,a=b.getParent().$.cells,f=new CKEDITOR.dom.element(f.insertRow(-1),d.document),g=0,h=a.length;g<h;g++)f.append((new CKEDITOR.dom.element(a[g],d.document)).clone(!1,!1)).appendBogus();e.moveToElementEditStart(f)}else if(a)a=new CKEDITOR.dom.element(a),e.moveToElementEditStart(a),(!e.checkStartOfBlock()||!e.checkEndOfBlock())&&e.selectNodeContents(a);else return!0;e.select(!0);return!0}}return!1}}}var h={editorFocus:!1,modes:{wysiwyg:1,source:1}},\ng={exec:function(c){c.container.focusNext(!0,c.tabIndex)}},f={exec:function(c){c.container.focusPrevious(!0,c.tabIndex)}};CKEDITOR.plugins.add(\"tab\",{init:function(c){for(var d=!1!==c.config.enableTabKeyTools,e=c.config.tabSpaces||0,b=\"\";e--;)b+=\" \";if(b)c.on(\"key\",function(a){9==a.data.keyCode&&(c.insertHtml(b),a.cancel())});if(d)c.on(\"key\",function(a){(9==a.data.keyCode&&c.execCommand(\"selectNextCell\")||a.data.keyCode==CKEDITOR.SHIFT+9&&c.execCommand(\"selectPreviousCell\"))&&a.cancel()});c.addCommand(\"blur\",\nCKEDITOR.tools.extend(g,h));c.addCommand(\"blurBack\",CKEDITOR.tools.extend(f,h));c.addCommand(\"selectNextCell\",i());c.addCommand(\"selectPreviousCell\",i(!0))}})})();\nCKEDITOR.dom.element.prototype.focusNext=function(i,h){var g=void 0===h?this.getTabIndex():h,f,c,d,e,b,a;if(0>=g)for(b=this.getNextSourceNode(i,CKEDITOR.NODE_ELEMENT);b;){if(b.isVisible()&&0===b.getTabIndex()){d=b;break}b=b.getNextSourceNode(!1,CKEDITOR.NODE_ELEMENT)}else for(b=this.getDocument().getBody().getFirst();b=b.getNextSourceNode(!1,CKEDITOR.NODE_ELEMENT);){if(!f)if(!c&&b.equals(this)){if(c=!0,i){if(!(b=b.getNextSourceNode(!0,CKEDITOR.NODE_ELEMENT)))break;f=1}}else c&&!this.contains(b)&&\n(f=1);if(b.isVisible()&&!(0>(a=b.getTabIndex()))){if(f&&a==g){d=b;break}a>g&&(!d||!e||a<e)?(d=b,e=a):!d&&0===a&&(d=b,e=a)}}d&&d.focus()};\nCKEDITOR.dom.element.prototype.focusPrevious=function(i,h){for(var g=void 0===h?this.getTabIndex():h,f,c,d,e=0,b,a=this.getDocument().getBody().getLast();a=a.getPreviousSourceNode(!1,CKEDITOR.NODE_ELEMENT);){if(!f)if(!c&&a.equals(this)){if(c=!0,i){if(!(a=a.getPreviousSourceNode(!0,CKEDITOR.NODE_ELEMENT)))break;f=1}}else c&&!this.contains(a)&&(f=1);if(a.isVisible()&&!(0>(b=a.getTabIndex())))if(0>=g){if(f&&0===b){d=a;break}b>e&&(d=a,e=b)}else{if(f&&b==g){d=a;break}if(b<g&&(!d||b>e))d=a,e=b}}d&&d.focus()};CKEDITOR.plugins.add(\"table\",{requires:\"dialog\",init:function(a){function d(a){return CKEDITOR.tools.extend(a||{},{contextSensitive:1,refresh:function(a,e){this.setState(e.contains(\"table\",1)?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED)}})}if(!a.blockless){var b=a.lang.table;a.addCommand(\"table\",new CKEDITOR.dialogCommand(\"table\",{context:\"table\",allowedContent:\"table{width,height}[align,border,cellpadding,cellspacing,summary];caption tbody thead tfoot;th td tr[scope];\"+(a.plugins.dialogadvtab?\n\"table\"+a.plugins.dialogadvtab.allowedContent():\"\"),requiredContent:\"table\",contentTransformations:[[\"table{width}: sizeToStyle\",\"table[width]: sizeToAttribute\"]]}));a.addCommand(\"tableProperties\",new CKEDITOR.dialogCommand(\"tableProperties\",d()));a.addCommand(\"tableDelete\",d({exec:function(a){var c=a.elementPath().contains(\"table\",1);if(c){var b=c.getParent();1==b.getChildCount()&&!b.is(\"body\",\"td\",\"th\")&&(c=b);a=a.createRange();a.moveToPosition(c,CKEDITOR.POSITION_BEFORE_START);c.remove();a.select()}}}));\na.ui.addButton&&a.ui.addButton(\"Table\",{label:b.toolbar,command:\"table\",toolbar:\"insert,30\"});CKEDITOR.dialog.add(\"table\",this.path+\"dialogs/table.js\");CKEDITOR.dialog.add(\"tableProperties\",this.path+\"dialogs/table.js\");a.addMenuItems&&a.addMenuItems({table:{label:b.menu,command:\"tableProperties\",group:\"table\",order:5},tabledelete:{label:b.deleteTable,command:\"tableDelete\",group:\"table\",order:1}});a.on(\"doubleclick\",function(a){a.data.element.is(\"table\")&&(a.data.dialog=\"tableProperties\")});a.contextMenu&&\na.contextMenu.addListener(function(){return{tabledelete:CKEDITOR.TRISTATE_OFF,table:CKEDITOR.TRISTATE_OFF}})}}});(function(){function p(e){function d(a){!(0<b.length)&&(a.type==CKEDITOR.NODE_ELEMENT&&y.test(a.getName())&&!a.getCustomData(\"selected_cell\"))&&(CKEDITOR.dom.element.setMarker(c,a,\"selected_cell\",!0),b.push(a))}for(var e=e.getRanges(),b=[],c={},a=0;a<e.length;a++){var f=e[a];if(f.collapsed)f=f.getCommonAncestor(),(f=f.getAscendant(\"td\",!0)||f.getAscendant(\"th\",!0))&&b.push(f);else{var f=new CKEDITOR.dom.walker(f),g;for(f.guard=d;g=f.next();)if(g.type!=CKEDITOR.NODE_ELEMENT||!g.is(CKEDITOR.dtd.table))if((g=\ng.getAscendant(\"td\",!0)||g.getAscendant(\"th\",!0))&&!g.getCustomData(\"selected_cell\"))CKEDITOR.dom.element.setMarker(c,g,\"selected_cell\",!0),b.push(g)}}CKEDITOR.dom.element.clearAllMarkers(c);return b}function o(e,d){for(var b=p(e),c=b[0],a=c.getAscendant(\"table\"),c=c.getDocument(),f=b[0].getParent(),g=f.$.rowIndex,b=b[b.length-1],h=b.getParent().$.rowIndex+b.$.rowSpan-1,b=new CKEDITOR.dom.element(a.$.rows[h]),g=d?g:h,f=d?f:b,b=CKEDITOR.tools.buildTableMap(a),a=b[g],g=d?b[g-1]:b[g+1],b=b[0].length,\nc=c.createElement(\"tr\"),h=0;a[h]&&h<b;h++){var i;1<a[h].rowSpan&&g&&a[h]==g[h]?(i=a[h],i.rowSpan+=1):(i=(new CKEDITOR.dom.element(a[h])).clone(),i.removeAttribute(\"rowSpan\"),i.appendBogus(),c.append(i),i=i.$);h+=i.colSpan-1}d?c.insertBefore(f):c.insertAfter(f)}function q(e){if(e instanceof CKEDITOR.dom.selection){for(var d=p(e),b=d[0].getAscendant(\"table\"),c=CKEDITOR.tools.buildTableMap(b),e=d[0].getParent().$.rowIndex,d=d[d.length-1],a=d.getParent().$.rowIndex+d.$.rowSpan-1,d=[],f=e;f<=a;f++){for(var g=\nc[f],h=new CKEDITOR.dom.element(b.$.rows[f]),i=0;i<g.length;i++){var j=new CKEDITOR.dom.element(g[i]),l=j.getParent().$.rowIndex;1==j.$.rowSpan?j.remove():(j.$.rowSpan-=1,l==f&&(l=c[f+1],l[i-1]?j.insertAfter(new CKEDITOR.dom.element(l[i-1])):(new CKEDITOR.dom.element(b.$.rows[f+1])).append(j,1)));i+=j.$.colSpan-1}d.push(h)}c=b.$.rows;b=new CKEDITOR.dom.element(c[a+1]||(0<e?c[e-1]:null)||b.$.parentNode);for(f=d.length;0<=f;f--)q(d[f]);return b}e instanceof CKEDITOR.dom.element&&(b=e.getAscendant(\"table\"),\n1==b.$.rows.length?b.remove():e.remove());return null}function r(e,d){for(var b=d?Infinity:0,c=0;c<e.length;c++){var a;a=e[c];for(var f=d,g=a.getParent().$.cells,h=0,i=0;i<g.length;i++){var j=g[i],h=h+(f?1:j.colSpan);if(j==a.$)break}a=h-1;if(d?a<b:a>b)b=a}return b}function k(e,d){for(var b=p(e),c=b[0].getAscendant(\"table\"),a=r(b,1),b=r(b),a=d?a:b,f=CKEDITOR.tools.buildTableMap(c),c=[],b=[],g=f.length,h=0;h<g;h++)c.push(f[h][a]),b.push(d?f[h][a-1]:f[h][a+1]);for(h=0;h<g;h++)c[h]&&(1<c[h].colSpan&&\nb[h]==c[h]?(a=c[h],a.colSpan+=1):(a=(new CKEDITOR.dom.element(c[h])).clone(),a.removeAttribute(\"colSpan\"),a.appendBogus(),a[d?\"insertBefore\":\"insertAfter\"].call(a,new CKEDITOR.dom.element(c[h])),a=a.$),h+=a.rowSpan-1)}function u(e,d){var b=e.getStartElement();if(b=b.getAscendant(\"td\",1)||b.getAscendant(\"th\",1)){var c=b.clone();c.appendBogus();d?c.insertBefore(b):c.insertAfter(b)}}function t(e){if(e instanceof CKEDITOR.dom.selection){var e=p(e),d=e[0]&&e[0].getAscendant(\"table\"),b;a:{var c=0;b=e.length-\n1;for(var a={},f,g;f=e[c++];)CKEDITOR.dom.element.setMarker(a,f,\"delete_cell\",!0);for(c=0;f=e[c++];)if((g=f.getPrevious())&&!g.getCustomData(\"delete_cell\")||(g=f.getNext())&&!g.getCustomData(\"delete_cell\")){CKEDITOR.dom.element.clearAllMarkers(a);b=g;break a}CKEDITOR.dom.element.clearAllMarkers(a);g=e[0].getParent();(g=g.getPrevious())?b=g.getLast():(g=e[b].getParent(),b=(g=g.getNext())?g.getChild(0):null)}for(g=e.length-1;0<=g;g--)t(e[g]);b?m(b,!0):d&&d.remove()}else e instanceof CKEDITOR.dom.element&&\n(d=e.getParent(),1==d.getChildCount()?d.remove():e.remove())}function m(e,d){var b=e.getDocument(),c=CKEDITOR.document;CKEDITOR.env.ie&&11>CKEDITOR.env.version&&(c.focus(),b.focus());b=new CKEDITOR.dom.range(b);if(!b[\"moveToElementEdit\"+(d?\"End\":\"Start\")](e))b.selectNodeContents(e),b.collapse(d?!1:!0);b.select(!0)}function v(e,d,b){e=e[d];if(\"undefined\"==typeof b)return e;for(d=0;e&&d<e.length;d++){if(b.is&&e[d]==b.$)return d;if(d==b)return new CKEDITOR.dom.element(e[d])}return b.is?-1:null}function s(e,\nd,b){var c=p(e),a;if((d?1!=c.length:2>c.length)||(a=e.getCommonAncestor())&&a.type==CKEDITOR.NODE_ELEMENT&&a.is(\"table\"))return!1;var f,e=c[0];a=e.getAscendant(\"table\");var g=CKEDITOR.tools.buildTableMap(a),h=g.length,i=g[0].length,j=e.getParent().$.rowIndex,l=v(g,j,e);if(d){var n;try{var m=parseInt(e.getAttribute(\"rowspan\"),10)||1;f=parseInt(e.getAttribute(\"colspan\"),10)||1;n=g[\"up\"==d?j-m:\"down\"==d?j+m:j][\"left\"==d?l-f:\"right\"==d?l+f:l]}catch(z){return!1}if(!n||e.$==n)return!1;c[\"up\"==d||\"left\"==\nd?\"unshift\":\"push\"](new CKEDITOR.dom.element(n))}for(var d=e.getDocument(),o=j,m=n=0,q=!b&&new CKEDITOR.dom.documentFragment(d),s=0,d=0;d<c.length;d++){f=c[d];var k=f.getParent(),t=f.getFirst(),r=f.$.colSpan,u=f.$.rowSpan,k=k.$.rowIndex,w=v(g,k,f),s=s+r*u,m=Math.max(m,w-l+r);n=Math.max(n,k-j+u);if(!b){r=f;(u=r.getBogus())&&u.remove();r.trim();if(f.getChildren().count()){if(k!=o&&t&&(!t.isBlockBoundary||!t.isBlockBoundary({br:1})))(o=q.getLast(CKEDITOR.dom.walker.whitespaces(!0)))&&(!o.is||!o.is(\"br\"))&&\nq.append(\"br\");f.moveChildren(q)}d?f.remove():f.setHtml(\"\")}o=k}if(b)return n*m==s;q.moveChildren(e);e.appendBogus();m>=i?e.removeAttribute(\"rowSpan\"):e.$.rowSpan=n;n>=h?e.removeAttribute(\"colSpan\"):e.$.colSpan=m;b=new CKEDITOR.dom.nodeList(a.$.rows);c=b.count();for(d=c-1;0<=d;d--)a=b.getItem(d),a.$.cells.length||(a.remove(),c++);return e}function w(e,d){var b=p(e);if(1<b.length)return!1;if(d)return!0;var b=b[0],c=b.getParent(),a=c.getAscendant(\"table\"),f=CKEDITOR.tools.buildTableMap(a),g=c.$.rowIndex,\nh=v(f,g,b),i=b.$.rowSpan,j;if(1<i){j=Math.ceil(i/2);for(var i=Math.floor(i/2),c=g+j,a=new CKEDITOR.dom.element(a.$.rows[c]),f=v(f,c),l,c=b.clone(),g=0;g<f.length;g++)if(l=f[g],l.parentNode==a.$&&g>h){c.insertBefore(new CKEDITOR.dom.element(l));break}else l=null;l||a.append(c,!0)}else{i=j=1;a=c.clone();a.insertAfter(c);a.append(c=b.clone());l=v(f,g);for(h=0;h<l.length;h++)l[h].rowSpan++}c.appendBogus();b.$.rowSpan=j;c.$.rowSpan=i;1==j&&b.removeAttribute(\"rowSpan\");1==i&&c.removeAttribute(\"rowSpan\");\nreturn c}function x(e,d){var b=p(e);if(1<b.length)return!1;if(d)return!0;var b=b[0],c=b.getParent(),a=c.getAscendant(\"table\"),a=CKEDITOR.tools.buildTableMap(a),f=v(a,c.$.rowIndex,b),g=b.$.colSpan;if(1<g)c=Math.ceil(g/2),g=Math.floor(g/2);else{for(var g=c=1,h=[],i=0;i<a.length;i++){var j=a[i];h.push(j[f]);1<j[f].rowSpan&&(i+=j[f].rowSpan-1)}for(a=0;a<h.length;a++)h[a].colSpan++}a=b.clone();a.insertAfter(b);a.appendBogus();b.$.colSpan=c;a.$.colSpan=g;1==c&&b.removeAttribute(\"colSpan\");1==g&&a.removeAttribute(\"colSpan\");\nreturn a}var y=/^(?:td|th)$/;CKEDITOR.plugins.tabletools={requires:\"table,dialog,contextmenu\",init:function(e){function d(a){return CKEDITOR.tools.extend(a||{},{contextSensitive:1,refresh:function(a,b){this.setState(b.contains({td:1,th:1},1)?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED)}})}function b(a,b){var c=e.addCommand(a,b);e.addFeature(c)}var c=e.lang.table;b(\"cellProperties\",new CKEDITOR.dialogCommand(\"cellProperties\",d({allowedContent:\"td th{width,height,border-color,background-color,white-space,vertical-align,text-align}[colspan,rowspan]\",\nrequiredContent:\"table\"})));CKEDITOR.dialog.add(\"cellProperties\",this.path+\"dialogs/tableCell.js\");b(\"rowDelete\",d({requiredContent:\"table\",exec:function(a){a=a.getSelection();m(q(a))}}));b(\"rowInsertBefore\",d({requiredContent:\"table\",exec:function(a){a=a.getSelection();o(a,!0)}}));b(\"rowInsertAfter\",d({requiredContent:\"table\",exec:function(a){a=a.getSelection();o(a)}}));b(\"columnDelete\",d({requiredContent:\"table\",exec:function(a){for(var a=a.getSelection(),a=p(a),b=a[0],c=a[a.length-1],a=b.getAscendant(\"table\"),\nd=CKEDITOR.tools.buildTableMap(a),e,j,l=[],n=0,o=d.length;n<o;n++)for(var k=0,q=d[n].length;k<q;k++)d[n][k]==b.$&&(e=k),d[n][k]==c.$&&(j=k);for(n=e;n<=j;n++)for(k=0;k<d.length;k++)c=d[k],b=new CKEDITOR.dom.element(a.$.rows[k]),c=new CKEDITOR.dom.element(c[n]),c.$&&(1==c.$.colSpan?c.remove():c.$.colSpan-=1,k+=c.$.rowSpan-1,b.$.cells.length||l.push(b));j=a.$.rows[0]&&a.$.rows[0].cells;e=new CKEDITOR.dom.element(j[e]||(e?j[e-1]:a.$.parentNode));l.length==o&&a.remove();e&&m(e,!0)}}));b(\"columnInsertBefore\",\nd({requiredContent:\"table\",exec:function(a){a=a.getSelection();k(a,!0)}}));b(\"columnInsertAfter\",d({requiredContent:\"table\",exec:function(a){a=a.getSelection();k(a)}}));b(\"cellDelete\",d({requiredContent:\"table\",exec:function(a){a=a.getSelection();t(a)}}));b(\"cellMerge\",d({allowedContent:\"td[colspan,rowspan]\",requiredContent:\"td[colspan,rowspan]\",exec:function(a){m(s(a.getSelection()),!0)}}));b(\"cellMergeRight\",d({allowedContent:\"td[colspan]\",requiredContent:\"td[colspan]\",exec:function(a){m(s(a.getSelection(),\n\"right\"),!0)}}));b(\"cellMergeDown\",d({allowedContent:\"td[rowspan]\",requiredContent:\"td[rowspan]\",exec:function(a){m(s(a.getSelection(),\"down\"),!0)}}));b(\"cellVerticalSplit\",d({allowedContent:\"td[rowspan]\",requiredContent:\"td[rowspan]\",exec:function(a){m(w(a.getSelection()))}}));b(\"cellHorizontalSplit\",d({allowedContent:\"td[colspan]\",requiredContent:\"td[colspan]\",exec:function(a){m(x(a.getSelection()))}}));b(\"cellInsertBefore\",d({requiredContent:\"table\",exec:function(a){a=a.getSelection();u(a,!0)}}));\nb(\"cellInsertAfter\",d({requiredContent:\"table\",exec:function(a){a=a.getSelection();u(a)}}));e.addMenuItems&&e.addMenuItems({tablecell:{label:c.cell.menu,group:\"tablecell\",order:1,getItems:function(){var a=e.getSelection(),b=p(a);return{tablecell_insertBefore:CKEDITOR.TRISTATE_OFF,tablecell_insertAfter:CKEDITOR.TRISTATE_OFF,tablecell_delete:CKEDITOR.TRISTATE_OFF,tablecell_merge:s(a,null,!0)?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED,tablecell_merge_right:s(a,\"right\",!0)?CKEDITOR.TRISTATE_OFF:\nCKEDITOR.TRISTATE_DISABLED,tablecell_merge_down:s(a,\"down\",!0)?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED,tablecell_split_vertical:w(a,!0)?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED,tablecell_split_horizontal:x(a,!0)?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED,tablecell_properties:0<b.length?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED}}},tablecell_insertBefore:{label:c.cell.insertBefore,group:\"tablecell\",command:\"cellInsertBefore\",order:5},tablecell_insertAfter:{label:c.cell.insertAfter,\ngroup:\"tablecell\",command:\"cellInsertAfter\",order:10},tablecell_delete:{label:c.cell.deleteCell,group:\"tablecell\",command:\"cellDelete\",order:15},tablecell_merge:{label:c.cell.merge,group:\"tablecell\",command:\"cellMerge\",order:16},tablecell_merge_right:{label:c.cell.mergeRight,group:\"tablecell\",command:\"cellMergeRight\",order:17},tablecell_merge_down:{label:c.cell.mergeDown,group:\"tablecell\",command:\"cellMergeDown\",order:18},tablecell_split_horizontal:{label:c.cell.splitHorizontal,group:\"tablecell\",\ncommand:\"cellHorizontalSplit\",order:19},tablecell_split_vertical:{label:c.cell.splitVertical,group:\"tablecell\",command:\"cellVerticalSplit\",order:20},tablecell_properties:{label:c.cell.title,group:\"tablecellproperties\",command:\"cellProperties\",order:21},tablerow:{label:c.row.menu,group:\"tablerow\",order:1,getItems:function(){return{tablerow_insertBefore:CKEDITOR.TRISTATE_OFF,tablerow_insertAfter:CKEDITOR.TRISTATE_OFF,tablerow_delete:CKEDITOR.TRISTATE_OFF}}},tablerow_insertBefore:{label:c.row.insertBefore,\ngroup:\"tablerow\",command:\"rowInsertBefore\",order:5},tablerow_insertAfter:{label:c.row.insertAfter,group:\"tablerow\",command:\"rowInsertAfter\",order:10},tablerow_delete:{label:c.row.deleteRow,group:\"tablerow\",command:\"rowDelete\",order:15},tablecolumn:{label:c.column.menu,group:\"tablecolumn\",order:1,getItems:function(){return{tablecolumn_insertBefore:CKEDITOR.TRISTATE_OFF,tablecolumn_insertAfter:CKEDITOR.TRISTATE_OFF,tablecolumn_delete:CKEDITOR.TRISTATE_OFF}}},tablecolumn_insertBefore:{label:c.column.insertBefore,\ngroup:\"tablecolumn\",command:\"columnInsertBefore\",order:5},tablecolumn_insertAfter:{label:c.column.insertAfter,group:\"tablecolumn\",command:\"columnInsertAfter\",order:10},tablecolumn_delete:{label:c.column.deleteColumn,group:\"tablecolumn\",command:\"columnDelete\",order:15}});e.contextMenu&&e.contextMenu.addListener(function(a,b,c){return(a=c.contains({td:1,th:1},1))&&!a.isReadOnly()?{tablecell:CKEDITOR.TRISTATE_OFF,tablerow:CKEDITOR.TRISTATE_OFF,tablecolumn:CKEDITOR.TRISTATE_OFF}:null})},getSelectedCells:p};\nCKEDITOR.plugins.add(\"tabletools\",CKEDITOR.plugins.tabletools)})();CKEDITOR.tools.buildTableMap=function(p){for(var p=p.$.rows,o=-1,q=[],r=0;r<p.length;r++){o++;!q[o]&&(q[o]=[]);for(var k=-1,u=0;u<p[r].cells.length;u++){var t=p[r].cells[u];for(k++;q[o][k];)k++;for(var m=isNaN(t.colSpan)?1:t.colSpan,t=isNaN(t.rowSpan)?1:t.rowSpan,v=0;v<t;v++){q[o+v]||(q[o+v]=[]);for(var s=0;s<m;s++)q[o+v][k+s]=p[r].cells[u]}k+=m-1}}return q};(function(){function g(a){this.editor=a;this.reset()}CKEDITOR.plugins.add(\"undo\",{init:function(a){function c(a){b.enabled&&!1!==a.data.command.canUndo&&b.save()}function d(){b.enabled=a.readOnly?!1:\"wysiwyg\"==a.mode;b.onChange()}var b=a.undoManager=new g(a),e=a.addCommand(\"undo\",{exec:function(){b.undo()&&(a.selectionChange(),this.fire(\"afterUndo\"))},startDisabled:!0,canUndo:!1}),f=a.addCommand(\"redo\",{exec:function(){b.redo()&&(a.selectionChange(),this.fire(\"afterRedo\"))},startDisabled:!0,canUndo:!1});\na.setKeystroke([[CKEDITOR.CTRL+90,\"undo\"],[CKEDITOR.CTRL+89,\"redo\"],[CKEDITOR.CTRL+CKEDITOR.SHIFT+90,\"redo\"]]);b.onChange=function(){e.setState(b.undoable()?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED);f.setState(b.redoable()?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED)};a.on(\"beforeCommandExec\",c);a.on(\"afterCommandExec\",c);a.on(\"saveSnapshot\",function(a){b.save(a.data&&a.data.contentOnly)});a.on(\"contentDom\",function(){a.editable().on(\"keydown\",function(a){a=a.data.getKey();(8==a||46==\na)&&b.type(a,0)});a.editable().on(\"keypress\",function(a){b.type(a.data.getKey(),1)})});a.on(\"beforeModeUnload\",function(){\"wysiwyg\"==a.mode&&b.save(!0)});a.on(\"mode\",d);a.on(\"readOnly\",d);a.ui.addButton&&(a.ui.addButton(\"Undo\",{label:a.lang.undo.undo,command:\"undo\",toolbar:\"undo,10\"}),a.ui.addButton(\"Redo\",{label:a.lang.undo.redo,command:\"redo\",toolbar:\"undo,20\"}));a.resetUndo=function(){b.reset();a.fire(\"saveSnapshot\")};a.on(\"updateSnapshot\",function(){b.currentImage&&b.update()});a.on(\"lockSnapshot\",\nfunction(a){b.lock(a.data&&a.data.dontUpdate)});a.on(\"unlockSnapshot\",b.unlock,b)}});CKEDITOR.plugins.undo={};var f=CKEDITOR.plugins.undo.Image=function(a,c){this.editor=a;a.fire(\"beforeUndoImage\");var d=a.getSnapshot();CKEDITOR.env.ie&&d&&(d=d.replace(/\\s+data-cke-expando=\".*?\"/g,\"\"));this.contents=d;c||(this.bookmarks=(d=d&&a.getSelection())&&d.createBookmarks2(!0));a.fire(\"afterUndoImage\")},h=/\\b(?:href|src|name)=\"[^\"]*?\"/gi;f.prototype={equalsContent:function(a){var c=this.contents,a=a.contents;\nif(CKEDITOR.env.ie&&(CKEDITOR.env.ie7Compat||CKEDITOR.env.ie6Compat))c=c.replace(h,\"\"),a=a.replace(h,\"\");return c!=a?!1:!0},equalsSelection:function(a){var c=this.bookmarks,a=a.bookmarks;if(c||a){if(!c||!a||c.length!=a.length)return!1;for(var d=0;d<c.length;d++){var b=c[d],e=a[d];if(b.startOffset!=e.startOffset||b.endOffset!=e.endOffset||!CKEDITOR.tools.arrayCompare(b.start,e.start)||!CKEDITOR.tools.arrayCompare(b.end,e.end))return!1}}return!0}};g.prototype={type:function(a,c){var d=!c&&a!=this.lastKeystroke,\nb=this.editor;if(!this.typing||c&&!this.wasCharacter||d){var e=new f(b),g=this.snapshots.length;CKEDITOR.tools.setTimeout(function(){var a=b.getSnapshot();CKEDITOR.env.ie&&(a=a.replace(/\\s+data-cke-expando=\".*?\"/g,\"\"));e.contents!=a&&g==this.snapshots.length&&(this.typing=!0,this.save(!1,e,!1)||this.snapshots.splice(this.index+1,this.snapshots.length-this.index-1),this.hasUndo=!0,this.hasRedo=!1,this.modifiersCount=this.typesCount=1,this.onChange())},0,this)}this.lastKeystroke=a;(this.wasCharacter=\nc)?(this.modifiersCount=0,this.typesCount++,25<this.typesCount?(this.save(!1,null,!1),this.typesCount=1):setTimeout(function(){b.fire(\"change\")},0)):(this.typesCount=0,this.modifiersCount++,25<this.modifiersCount?(this.save(!1,null,!1),this.modifiersCount=1):setTimeout(function(){b.fire(\"change\")},0))},reset:function(){this.lastKeystroke=0;this.snapshots=[];this.index=-1;this.limit=this.editor.config.undoStackSize||20;this.currentImage=null;this.hasRedo=this.hasUndo=!1;this.locked=null;this.resetType()},\nresetType:function(){this.typing=!1;delete this.lastKeystroke;this.modifiersCount=this.typesCount=0},fireChange:function(){this.hasUndo=!!this.getNextImage(!0);this.hasRedo=!!this.getNextImage(!1);this.resetType();this.onChange()},save:function(a,c,d){if(this.locked)return!1;var b=this.snapshots;c||(c=new f(this.editor));if(!1===c.contents)return!1;if(this.currentImage)if(c.equalsContent(this.currentImage)){if(a||c.equalsSelection(this.currentImage))return!1}else this.editor.fire(\"change\");b.splice(this.index+\n1,b.length-this.index-1);b.length==this.limit&&b.shift();this.index=b.push(c)-1;this.currentImage=c;!1!==d&&this.fireChange();return!0},restoreImage:function(a){var c=this.editor,d;a.bookmarks&&(c.focus(),d=c.getSelection());this.locked=1;this.editor.loadSnapshot(a.contents);a.bookmarks?d.selectBookmarks(a.bookmarks):CKEDITOR.env.ie&&(d=this.editor.document.getBody().$.createTextRange(),d.collapse(!0),d.select());this.locked=0;this.index=a.index;this.currentImage=this.snapshots[this.index];this.update();\nthis.fireChange();c.fire(\"change\")},getNextImage:function(a){var c=this.snapshots,d=this.currentImage,b;if(d)if(a)for(b=this.index-1;0<=b;b--){if(a=c[b],!d.equalsContent(a))return a.index=b,a}else for(b=this.index+1;b<c.length;b++)if(a=c[b],!d.equalsContent(a))return a.index=b,a;return null},redoable:function(){return this.enabled&&this.hasRedo},undoable:function(){return this.enabled&&this.hasUndo},undo:function(){if(this.undoable()){this.save(!0);var a=this.getNextImage(!0);if(a)return this.restoreImage(a),\n!0}return!1},redo:function(){if(this.redoable()&&(this.save(!0),this.redoable())){var a=this.getNextImage(!1);if(a)return this.restoreImage(a),!0}return!1},update:function(a){if(!this.locked){a||(a=new f(this.editor));for(var c=this.index,d=this.snapshots;0<c&&this.currentImage.equalsContent(d[c-1]);)c-=1;d.splice(c,this.index-c+1,a);this.index=c;this.currentImage=a}},lock:function(a){this.locked?this.locked.level++:a?this.locked={level:1}:(a=new f(this.editor,!0),this.locked={update:this.currentImage&&\nthis.currentImage.equalsContent(a)?a:null,level:1})},unlock:function(){if(this.locked&&!--this.locked.level){var a=this.locked.update,c=a&&new f(this.editor,!0);this.locked=null;a&&!a.equalsContent(c)&&this.update()}}}})();CKEDITOR.config.plugins='dialogui,dialog,about,a11yhelp,dialogadvtab,basicstyles,bidi,blockquote,clipboard,button,panelbutton,panel,floatpanel,colorbutton,colordialog,templates,menu,contextmenu,div,resize,toolbar,elementspath,enterkey,entities,popup,filebrowser,find,fakeobjects,flash,floatingspace,listblock,richcombo,font,forms,format,horizontalrule,htmlwriter,iframe,wysiwygarea,image,indent,smiley,justify,link,indentlist,list,liststyle,magicline,maximize,newpage,pagebreak,pastetext,pastefromword,preview,print,removeformat,save,selectall,showblocks,showborders,sourcearea,specialchar,menubutton,scayt,stylescombo,tab,table,tabletools,undo';CKEDITOR.config.skin='moono';(function() {var setIcons = function(icons, strip) {var path = CKEDITOR.getUrl( 'plugins/' + strip );icons = icons.split( ',' );for ( var i = 0; i < icons.length; i++ )CKEDITOR.skin.icons[ icons[ i ] ] = { path: path, offset: -icons[ ++i ], bgsize : icons[ ++i ] };};if (CKEDITOR.env.hidpi) setIcons('about,0,,bold,24,,italic,48,,strike,72,,subscript,96,,superscript,120,,underline,144,,bidiltr,168,,bidirtl,192,,blockquote,216,,copy-rtl,240,,copy,264,,cut-rtl,288,,cut,312,,paste-rtl,336,,paste,360,,bgcolor,384,,textcolor,408,,templates-rtl,432,,templates,456,,creatediv,480,,find-rtl,504,,find,528,,replace,552,,flash,576,,button,600,,checkbox,624,,form,648,,hiddenfield,672,,imagebutton,696,,radio,720,,select-rtl,744,,select,768,,textarea-rtl,792,,textarea,816,,textfield-rtl,840,,textfield,864,,horizontalrule,888,,iframe,912,,image,936,,indent-rtl,960,,indent,984,,outdent-rtl,1008,,outdent,1032,,smiley,1056,,justifyblock,1080,,justifycenter,1104,,justifyleft,1128,,justifyright,1152,,anchor-rtl,1176,,anchor,1200,,link,1224,,unlink,1248,,bulletedlist-rtl,1272,,bulletedlist,1296,,numberedlist-rtl,1320,,numberedlist,1344,,maximize,1368,,newpage-rtl,1392,,newpage,1416,,pagebreak-rtl,1440,,pagebreak,1464,,pastetext-rtl,1488,,pastetext,1512,,pastefromword-rtl,1536,,pastefromword,1560,,preview-rtl,1584,,preview,1608,,print,1632,,removeformat,1656,,save,1680,,selectall,1704,,showblocks-rtl,1728,,showblocks,1752,,source-rtl,1776,,source,1800,,specialchar,1824,,scayt,1848,,table,1872,,redo-rtl,1896,,redo,1920,,undo-rtl,1944,,undo,1968,','icons_hidpi.png');else setIcons('about,0,auto,bold,24,auto,italic,48,auto,strike,72,auto,subscript,96,auto,superscript,120,auto,underline,144,auto,bidiltr,168,auto,bidirtl,192,auto,blockquote,216,auto,copy-rtl,240,auto,copy,264,auto,cut-rtl,288,auto,cut,312,auto,paste-rtl,336,auto,paste,360,auto,bgcolor,384,auto,textcolor,408,auto,templates-rtl,432,auto,templates,456,auto,creatediv,480,auto,find-rtl,504,auto,find,528,auto,replace,552,auto,flash,576,auto,button,600,auto,checkbox,624,auto,form,648,auto,hiddenfield,672,auto,imagebutton,696,auto,radio,720,auto,select-rtl,744,auto,select,768,auto,textarea-rtl,792,auto,textarea,816,auto,textfield-rtl,840,auto,textfield,864,auto,horizontalrule,888,auto,iframe,912,auto,image,936,auto,indent-rtl,960,auto,indent,984,auto,outdent-rtl,1008,auto,outdent,1032,auto,smiley,1056,auto,justifyblock,1080,auto,justifycenter,1104,auto,justifyleft,1128,auto,justifyright,1152,auto,anchor-rtl,1176,auto,anchor,1200,auto,link,1224,auto,unlink,1248,auto,bulletedlist-rtl,1272,auto,bulletedlist,1296,auto,numberedlist-rtl,1320,auto,numberedlist,1344,auto,maximize,1368,auto,newpage-rtl,1392,auto,newpage,1416,auto,pagebreak-rtl,1440,auto,pagebreak,1464,auto,pastetext-rtl,1488,auto,pastetext,1512,auto,pastefromword-rtl,1536,auto,pastefromword,1560,auto,preview-rtl,1584,auto,preview,1608,auto,print,1632,auto,removeformat,1656,auto,save,1680,auto,selectall,1704,auto,showblocks-rtl,1728,auto,showblocks,1752,auto,source-rtl,1776,auto,source,1800,auto,specialchar,1824,auto,scayt,1848,auto,table,1872,auto,redo-rtl,1896,auto,redo,1920,auto,undo-rtl,1944,auto,undo,1968,auto','icons.png');})();CKEDITOR.lang.languages={\"en\":1};}());"
        },
        "$:/plugins/BJ/TW5CKEditor/lang/en.js": {
            "type": "application/javascript",
            "title": "$:/plugins/BJ/TW5CKEditor/lang/en.js",
            "module-type": "library",
            "text": "/*\r\nCopyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.\r\nFor licensing, see LICENSE.html or http://ckeditor.com/license\r\n*/\nCKEDITOR.lang['en']={\"editor\":\"Rich Text Editor\",\"editorPanel\":\"Rich Text Editor panel\",\"common\":{\"editorHelp\":\"Press ALT 0 for help\",\"browseServer\":\"Browse Server\",\"url\":\"URL\",\"protocol\":\"Protocol\",\"upload\":\"Upload\",\"uploadSubmit\":\"Send it to the Server\",\"image\":\"Image\",\"flash\":\"Flash\",\"form\":\"Form\",\"checkbox\":\"Checkbox\",\"radio\":\"Radio Button\",\"textField\":\"Text Field\",\"textarea\":\"Textarea\",\"hiddenField\":\"Hidden Field\",\"button\":\"Button\",\"select\":\"Selection Field\",\"imageButton\":\"Image Button\",\"notSet\":\"<not set>\",\"id\":\"Id\",\"name\":\"Name\",\"langDir\":\"Language Direction\",\"langDirLtr\":\"Left to Right (LTR)\",\"langDirRtl\":\"Right to Left (RTL)\",\"langCode\":\"Language Code\",\"longDescr\":\"Long Description URL\",\"cssClass\":\"Stylesheet Classes\",\"advisoryTitle\":\"Advisory Title\",\"cssStyle\":\"Style\",\"ok\":\"OK\",\"cancel\":\"Cancel\",\"close\":\"Close\",\"preview\":\"Preview\",\"resize\":\"Resize\",\"generalTab\":\"General\",\"advancedTab\":\"Advanced\",\"validateNumberFailed\":\"This value is not a number.\",\"confirmNewPage\":\"Any unsaved changes to this content will be lost. Are you sure you want to load new page?\",\"confirmCancel\":\"You have changed some options. Are you sure you want to close the dialog window?\",\"options\":\"Options\",\"target\":\"Target\",\"targetNew\":\"New Window (_blank)\",\"targetTop\":\"Topmost Window (_top)\",\"targetSelf\":\"Same Window (_self)\",\"targetParent\":\"Parent Window (_parent)\",\"langDirLTR\":\"Left to Right (LTR)\",\"langDirRTL\":\"Right to Left (RTL)\",\"styles\":\"Style\",\"cssClasses\":\"Stylesheet Classes\",\"width\":\"Width\",\"height\":\"Height\",\"align\":\"Alignment\",\"alignLeft\":\"Left\",\"alignRight\":\"Right\",\"alignCenter\":\"Center\",\"alignTop\":\"Top\",\"alignMiddle\":\"Middle\",\"alignBottom\":\"Bottom\",\"invalidValue\":\"Invalid value.\",\"invalidHeight\":\"Height must be a number.\",\"invalidWidth\":\"Width must be a number.\",\"invalidCssLength\":\"Value specified for the \\\"%1\\\" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).\",\"invalidHtmlLength\":\"Value specified for the \\\"%1\\\" field must be a positive number with or without a valid HTML measurement unit (px or %).\",\"invalidInlineStyle\":\"Value specified for the inline style must consist of one or more tuples with the format of \\\"name : value\\\", separated by semi-colons.\",\"cssLengthTooltip\":\"Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).\",\"unavailable\":\"%1<span class=\\\"cke_accessibility\\\">, unavailable</span>\"},\"about\":{\"copy\":\"Copyright &copy; $1. All rights reserved.\",\"dlgTitle\":\"About CKEditor\",\"help\":\"Check $1 for help.\",\"moreInfo\":\"For licensing information please visit our web site:\",\"title\":\"About CKEditor\",\"userGuide\":\"CKEditor User's Guide\"},\"basicstyles\":{\"bold\":\"Bold\",\"italic\":\"Italic\",\"strike\":\"Strike Through\",\"subscript\":\"Subscript\",\"superscript\":\"Superscript\",\"underline\":\"Underline\"},\"bidi\":{\"ltr\":\"Text direction from left to right\",\"rtl\":\"Text direction from right to left\"},\"blockquote\":{\"toolbar\":\"Block Quote\"},\"clipboard\":{\"copy\":\"Copy\",\"copyError\":\"Your browser security settings don't permit the editor to automatically execute copying operations. Please use the keyboard for that (Ctrl/Cmd+C).\",\"cut\":\"Cut\",\"cutError\":\"Your browser security settings don't permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+X).\",\"paste\":\"Paste\",\"pasteArea\":\"Paste Area\",\"pasteMsg\":\"Please paste inside the following box using the keyboard (<strong>Ctrl/Cmd+V</strong>) and hit OK\",\"securityMsg\":\"Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.\",\"title\":\"Paste\"},\"colorbutton\":{\"auto\":\"Automatic\",\"bgColorTitle\":\"Background Color\",\"colors\":{\"000\":\"Black\",\"800000\":\"Maroon\",\"8B4513\":\"Saddle Brown\",\"2F4F4F\":\"Dark Slate Gray\",\"008080\":\"Teal\",\"000080\":\"Navy\",\"4B0082\":\"Indigo\",\"696969\":\"Dark Gray\",\"B22222\":\"Fire Brick\",\"A52A2A\":\"Brown\",\"DAA520\":\"Golden Rod\",\"006400\":\"Dark Green\",\"40E0D0\":\"Turquoise\",\"0000CD\":\"Medium Blue\",\"800080\":\"Purple\",\"808080\":\"Gray\",\"F00\":\"Red\",\"FF8C00\":\"Dark Orange\",\"FFD700\":\"Gold\",\"008000\":\"Green\",\"0FF\":\"Cyan\",\"00F\":\"Blue\",\"EE82EE\":\"Violet\",\"A9A9A9\":\"Dim Gray\",\"FFA07A\":\"Light Salmon\",\"FFA500\":\"Orange\",\"FFFF00\":\"Yellow\",\"00FF00\":\"Lime\",\"AFEEEE\":\"Pale Turquoise\",\"ADD8E6\":\"Light Blue\",\"DDA0DD\":\"Plum\",\"D3D3D3\":\"Light Grey\",\"FFF0F5\":\"Lavender Blush\",\"FAEBD7\":\"Antique White\",\"FFFFE0\":\"Light Yellow\",\"F0FFF0\":\"Honeydew\",\"F0FFFF\":\"Azure\",\"F0F8FF\":\"Alice Blue\",\"E6E6FA\":\"Lavender\",\"FFF\":\"White\"},\"more\":\"More Colors...\",\"panelTitle\":\"Colors\",\"textColorTitle\":\"Text Color\"},\"colordialog\":{\"clear\":\"Clear\",\"highlight\":\"Highlight\",\"options\":\"Color Options\",\"selected\":\"Selected Color\",\"title\":\"Select color\"},\"templates\":{\"button\":\"Templates\",\"emptyListMsg\":\"(No templates defined)\",\"insertOption\":\"Replace actual contents\",\"options\":\"Template Options\",\"selectPromptMsg\":\"Please select the template to open in the editor\",\"title\":\"Content Templates\"},\"contextmenu\":{\"options\":\"Context Menu Options\"},\"div\":{\"IdInputLabel\":\"Id\",\"advisoryTitleInputLabel\":\"Advisory Title\",\"cssClassInputLabel\":\"Stylesheet Classes\",\"edit\":\"Edit Div\",\"inlineStyleInputLabel\":\"Inline Style\",\"langDirLTRLabel\":\"Left to Right (LTR)\",\"langDirLabel\":\"Language Direction\",\"langDirRTLLabel\":\"Right to Left (RTL)\",\"languageCodeInputLabel\":\" Language Code\",\"remove\":\"Remove Div\",\"styleSelectLabel\":\"Style\",\"title\":\"Create Div Container\",\"toolbar\":\"Create Div Container\"},\"toolbar\":{\"toolbarCollapse\":\"Collapse Toolbar\",\"toolbarExpand\":\"Expand Toolbar\",\"toolbarGroups\":{\"document\":\"Document\",\"clipboard\":\"Clipboard/Undo\",\"editing\":\"Editing\",\"forms\":\"Forms\",\"basicstyles\":\"Basic Styles\",\"paragraph\":\"Paragraph\",\"links\":\"Links\",\"insert\":\"Insert\",\"styles\":\"Styles\",\"colors\":\"Colors\",\"tools\":\"Tools\"},\"toolbars\":\"Editor toolbars\"},\"elementspath\":{\"eleLabel\":\"Elements path\",\"eleTitle\":\"%1 element\"},\"find\":{\"find\":\"Find\",\"findOptions\":\"Find Options\",\"findWhat\":\"Find what:\",\"matchCase\":\"Match case\",\"matchCyclic\":\"Match cyclic\",\"matchWord\":\"Match whole word\",\"notFoundMsg\":\"The specified text was not found.\",\"replace\":\"Replace\",\"replaceAll\":\"Replace All\",\"replaceSuccessMsg\":\"%1 occurrence(s) replaced.\",\"replaceWith\":\"Replace with:\",\"title\":\"Find and Replace\"},\"fakeobjects\":{\"anchor\":\"Anchor\",\"flash\":\"Flash Animation\",\"hiddenfield\":\"Hidden Field\",\"iframe\":\"IFrame\",\"unknown\":\"Unknown Object\"},\"flash\":{\"access\":\"Script Access\",\"accessAlways\":\"Always\",\"accessNever\":\"Never\",\"accessSameDomain\":\"Same domain\",\"alignAbsBottom\":\"Abs Bottom\",\"alignAbsMiddle\":\"Abs Middle\",\"alignBaseline\":\"Baseline\",\"alignTextTop\":\"Text Top\",\"bgcolor\":\"Background color\",\"chkFull\":\"Allow Fullscreen\",\"chkLoop\":\"Loop\",\"chkMenu\":\"Enable Flash Menu\",\"chkPlay\":\"Auto Play\",\"flashvars\":\"Variables for Flash\",\"hSpace\":\"HSpace\",\"properties\":\"Flash Properties\",\"propertiesTab\":\"Properties\",\"quality\":\"Quality\",\"qualityAutoHigh\":\"Auto High\",\"qualityAutoLow\":\"Auto Low\",\"qualityBest\":\"Best\",\"qualityHigh\":\"High\",\"qualityLow\":\"Low\",\"qualityMedium\":\"Medium\",\"scale\":\"Scale\",\"scaleAll\":\"Show all\",\"scaleFit\":\"Exact Fit\",\"scaleNoBorder\":\"No Border\",\"title\":\"Flash Properties\",\"vSpace\":\"VSpace\",\"validateHSpace\":\"HSpace must be a number.\",\"validateSrc\":\"URL must not be empty.\",\"validateVSpace\":\"VSpace must be a number.\",\"windowMode\":\"Window mode\",\"windowModeOpaque\":\"Opaque\",\"windowModeTransparent\":\"Transparent\",\"windowModeWindow\":\"Window\"},\"font\":{\"fontSize\":{\"label\":\"Size\",\"voiceLabel\":\"Font Size\",\"panelTitle\":\"Font Size\"},\"label\":\"Font\",\"panelTitle\":\"Font Name\",\"voiceLabel\":\"Font\"},\"forms\":{\"button\":{\"title\":\"Button Properties\",\"text\":\"Text (Value)\",\"type\":\"Type\",\"typeBtn\":\"Button\",\"typeSbm\":\"Submit\",\"typeRst\":\"Reset\"},\"checkboxAndRadio\":{\"checkboxTitle\":\"Checkbox Properties\",\"radioTitle\":\"Radio Button Properties\",\"value\":\"Value\",\"selected\":\"Selected\"},\"form\":{\"title\":\"Form Properties\",\"menu\":\"Form Properties\",\"action\":\"Action\",\"method\":\"Method\",\"encoding\":\"Encoding\"},\"hidden\":{\"title\":\"Hidden Field Properties\",\"name\":\"Name\",\"value\":\"Value\"},\"select\":{\"title\":\"Selection Field Properties\",\"selectInfo\":\"Select Info\",\"opAvail\":\"Available Options\",\"value\":\"Value\",\"size\":\"Size\",\"lines\":\"lines\",\"chkMulti\":\"Allow multiple selections\",\"opText\":\"Text\",\"opValue\":\"Value\",\"btnAdd\":\"Add\",\"btnModify\":\"Modify\",\"btnUp\":\"Up\",\"btnDown\":\"Down\",\"btnSetValue\":\"Set as selected value\",\"btnDelete\":\"Delete\"},\"textarea\":{\"title\":\"Textarea Properties\",\"cols\":\"Columns\",\"rows\":\"Rows\"},\"textfield\":{\"title\":\"Text Field Properties\",\"name\":\"Name\",\"value\":\"Value\",\"charWidth\":\"Character Width\",\"maxChars\":\"Maximum Characters\",\"type\":\"Type\",\"typeText\":\"Text\",\"typePass\":\"Password\",\"typeEmail\":\"Email\",\"typeSearch\":\"Search\",\"typeTel\":\"Telephone Number\",\"typeUrl\":\"URL\"}},\"format\":{\"label\":\"Format\",\"panelTitle\":\"Paragraph Format\",\"tag_address\":\"Address\",\"tag_div\":\"Normal (DIV)\",\"tag_h1\":\"Heading 1\",\"tag_h2\":\"Heading 2\",\"tag_h3\":\"Heading 3\",\"tag_h4\":\"Heading 4\",\"tag_h5\":\"Heading 5\",\"tag_h6\":\"Heading 6\",\"tag_p\":\"Normal\",\"tag_pre\":\"Formatted\"},\"horizontalrule\":{\"toolbar\":\"Insert Horizontal Line\"},\"iframe\":{\"border\":\"Show frame border\",\"noUrl\":\"Please type the iframe URL\",\"scrolling\":\"Enable scrollbars\",\"title\":\"IFrame Properties\",\"toolbar\":\"IFrame\"},\"image\":{\"alertUrl\":\"Please type the image URL\",\"alt\":\"Alternative Text\",\"border\":\"Border\",\"btnUpload\":\"Send it to the Server\",\"button2Img\":\"Do you want to transform the selected image button on a simple image?\",\"hSpace\":\"HSpace\",\"img2Button\":\"Do you want to transform the selected image on a image button?\",\"infoTab\":\"Image Info\",\"linkTab\":\"Link\",\"lockRatio\":\"Lock Ratio\",\"menu\":\"Image Properties\",\"resetSize\":\"Reset Size\",\"title\":\"Image Properties\",\"titleButton\":\"Image Button Properties\",\"upload\":\"Upload\",\"urlMissing\":\"Image source URL is missing.\",\"vSpace\":\"VSpace\",\"validateBorder\":\"Border must be a whole number.\",\"validateHSpace\":\"HSpace must be a whole number.\",\"validateVSpace\":\"VSpace must be a whole number.\"},\"indent\":{\"indent\":\"Increase Indent\",\"outdent\":\"Decrease Indent\"},\"smiley\":{\"options\":\"Smiley Options\",\"title\":\"Insert a Smiley\",\"toolbar\":\"Smiley\"},\"justify\":{\"block\":\"Justify\",\"center\":\"Center\",\"left\":\"Align Left\",\"right\":\"Align Right\"},\"link\":{\"acccessKey\":\"Access Key\",\"advanced\":\"Advanced\",\"advisoryContentType\":\"Advisory Content Type\",\"advisoryTitle\":\"Advisory Title\",\"anchor\":{\"toolbar\":\"Anchor\",\"menu\":\"Edit Anchor\",\"title\":\"Anchor Properties\",\"name\":\"Anchor Name\",\"errorName\":\"Please type the anchor name\",\"remove\":\"Remove Anchor\"},\"anchorId\":\"By Element Id\",\"anchorName\":\"By Anchor Name\",\"charset\":\"Linked Resource Charset\",\"cssClasses\":\"Stylesheet Classes\",\"emailAddress\":\"E-Mail Address\",\"emailBody\":\"Message Body\",\"emailSubject\":\"Message Subject\",\"id\":\"Id\",\"info\":\"Link Info\",\"langCode\":\"Language Code\",\"langDir\":\"Language Direction\",\"langDirLTR\":\"Left to Right (LTR)\",\"langDirRTL\":\"Right to Left (RTL)\",\"menu\":\"Edit Link\",\"name\":\"Name\",\"noAnchors\":\"(No anchors available in the document)\",\"noEmail\":\"Please type the e-mail address\",\"noUrl\":\"Please type the link URL\",\"other\":\"<other>\",\"popupDependent\":\"Dependent (Netscape)\",\"popupFeatures\":\"Popup Window Features\",\"popupFullScreen\":\"Full Screen (IE)\",\"popupLeft\":\"Left Position\",\"popupLocationBar\":\"Location Bar\",\"popupMenuBar\":\"Menu Bar\",\"popupResizable\":\"Resizable\",\"popupScrollBars\":\"Scroll Bars\",\"popupStatusBar\":\"Status Bar\",\"popupToolbar\":\"Toolbar\",\"popupTop\":\"Top Position\",\"rel\":\"Relationship\",\"selectAnchor\":\"Select an Anchor\",\"styles\":\"Style\",\"tabIndex\":\"Tab Index\",\"target\":\"Target\",\"targetFrame\":\"<frame>\",\"targetFrameName\":\"Target Frame Name\",\"targetPopup\":\"<popup window>\",\"targetPopupName\":\"Popup Window Name\",\"title\":\"Link\",\"toAnchor\":\"Link to anchor in the text\",\"toEmail\":\"E-mail\",\"toUrl\":\"URL\",\"toolbar\":\"Link\",\"type\":\"Link Type\",\"unlink\":\"Unlink\",\"upload\":\"Upload\"},\"list\":{\"bulletedlist\":\"Insert/Remove Bulleted List\",\"numberedlist\":\"Insert/Remove Numbered List\"},\"liststyle\":{\"armenian\":\"Armenian numbering\",\"bulletedTitle\":\"Bulleted List Properties\",\"circle\":\"Circle\",\"decimal\":\"Decimal (1, 2, 3, etc.)\",\"decimalLeadingZero\":\"Decimal leading zero (01, 02, 03, etc.)\",\"disc\":\"Disc\",\"georgian\":\"Georgian numbering (an, ban, gan, etc.)\",\"lowerAlpha\":\"Lower Alpha (a, b, c, d, e, etc.)\",\"lowerGreek\":\"Lower Greek (alpha, beta, gamma, etc.)\",\"lowerRoman\":\"Lower Roman (i, ii, iii, iv, v, etc.)\",\"none\":\"None\",\"notset\":\"<not set>\",\"numberedTitle\":\"Numbered List Properties\",\"square\":\"Square\",\"start\":\"Start\",\"type\":\"Type\",\"upperAlpha\":\"Upper Alpha (A, B, C, D, E, etc.)\",\"upperRoman\":\"Upper Roman (I, II, III, IV, V, etc.)\",\"validateStartNumber\":\"List start number must be a whole number.\"},\"magicline\":{\"title\":\"Insert paragraph here\"},\"maximize\":{\"maximize\":\"Maximize\",\"minimize\":\"Minimize\"},\"newpage\":{\"toolbar\":\"New Page\"},\"pagebreak\":{\"alt\":\"Page Break\",\"toolbar\":\"Insert Page Break for Printing\"},\"pastetext\":{\"button\":\"Paste as plain text\",\"title\":\"Paste as Plain Text\"},\"pastefromword\":{\"confirmCleanup\":\"The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?\",\"error\":\"It was not possible to clean up the pasted data due to an internal error\",\"title\":\"Paste from Word\",\"toolbar\":\"Paste from Word\"},\"preview\":{\"preview\":\"Preview\"},\"print\":{\"toolbar\":\"Print\"},\"removeformat\":{\"toolbar\":\"Remove Format\"},\"save\":{\"toolbar\":\"Save\"},\"selectall\":{\"toolbar\":\"Select All\"},\"showblocks\":{\"toolbar\":\"Show Blocks\"},\"sourcearea\":{\"toolbar\":\"Source\"},\"specialchar\":{\"options\":\"Special Character Options\",\"title\":\"Select Special Character\",\"toolbar\":\"Insert Special Character\"},\"scayt\":{\"about\":\"About SCAYT\",\"aboutTab\":\"About\",\"addWord\":\"Add Word\",\"allCaps\":\"Ignore All-Caps Words\",\"dic_create\":\"Create\",\"dic_delete\":\"Delete\",\"dic_field_name\":\"Dictionary name\",\"dic_info\":\"Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.\",\"dic_rename\":\"Rename\",\"dic_restore\":\"Restore\",\"dictionariesTab\":\"Dictionaries\",\"disable\":\"Disable SCAYT\",\"emptyDic\":\"Dictionary name should not be empty.\",\"enable\":\"Enable SCAYT\",\"ignore\":\"Ignore\",\"ignoreAll\":\"Ignore All\",\"ignoreDomainNames\":\"Ignore Domain Names\",\"langs\":\"Languages\",\"languagesTab\":\"Languages\",\"mixedCase\":\"Ignore Words with Mixed Case\",\"mixedWithDigits\":\"Ignore Words with Numbers\",\"moreSuggestions\":\"More suggestions\",\"opera_title\":\"Not supported by Opera\",\"options\":\"Options\",\"optionsTab\":\"Options\",\"title\":\"Spell Check As You Type\",\"toggle\":\"Toggle SCAYT\",\"noSuggestions\":\"No suggestion\"},\"stylescombo\":{\"label\":\"Styles\",\"panelTitle\":\"Formatting Styles\",\"panelTitle1\":\"Block Styles\",\"panelTitle2\":\"Inline Styles\",\"panelTitle3\":\"Object Styles\"},\"table\":{\"border\":\"Border size\",\"caption\":\"Caption\",\"cell\":{\"menu\":\"Cell\",\"insertBefore\":\"Insert Cell Before\",\"insertAfter\":\"Insert Cell After\",\"deleteCell\":\"Delete Cells\",\"merge\":\"Merge Cells\",\"mergeRight\":\"Merge Right\",\"mergeDown\":\"Merge Down\",\"splitHorizontal\":\"Split Cell Horizontally\",\"splitVertical\":\"Split Cell Vertically\",\"title\":\"Cell Properties\",\"cellType\":\"Cell Type\",\"rowSpan\":\"Rows Span\",\"colSpan\":\"Columns Span\",\"wordWrap\":\"Word Wrap\",\"hAlign\":\"Horizontal Alignment\",\"vAlign\":\"Vertical Alignment\",\"alignBaseline\":\"Baseline\",\"bgColor\":\"Background Color\",\"borderColor\":\"Border Color\",\"data\":\"Data\",\"header\":\"Header\",\"yes\":\"Yes\",\"no\":\"No\",\"invalidWidth\":\"Cell width must be a number.\",\"invalidHeight\":\"Cell height must be a number.\",\"invalidRowSpan\":\"Rows span must be a whole number.\",\"invalidColSpan\":\"Columns span must be a whole number.\",\"chooseColor\":\"Choose\"},\"cellPad\":\"Cell padding\",\"cellSpace\":\"Cell spacing\",\"column\":{\"menu\":\"Column\",\"insertBefore\":\"Insert Column Before\",\"insertAfter\":\"Insert Column After\",\"deleteColumn\":\"Delete Columns\"},\"columns\":\"Columns\",\"deleteTable\":\"Delete Table\",\"headers\":\"Headers\",\"headersBoth\":\"Both\",\"headersColumn\":\"First column\",\"headersNone\":\"None\",\"headersRow\":\"First Row\",\"invalidBorder\":\"Border size must be a number.\",\"invalidCellPadding\":\"Cell padding must be a positive number.\",\"invalidCellSpacing\":\"Cell spacing must be a positive number.\",\"invalidCols\":\"Number of columns must be a number greater than 0.\",\"invalidHeight\":\"Table height must be a number.\",\"invalidRows\":\"Number of rows must be a number greater than 0.\",\"invalidWidth\":\"Table width must be a number.\",\"menu\":\"Table Properties\",\"row\":{\"menu\":\"Row\",\"insertBefore\":\"Insert Row Before\",\"insertAfter\":\"Insert Row After\",\"deleteRow\":\"Delete Rows\"},\"rows\":\"Rows\",\"summary\":\"Summary\",\"title\":\"Table Properties\",\"toolbar\":\"Table\",\"widthPc\":\"percent\",\"widthPx\":\"pixels\",\"widthUnit\":\"width unit\"},\"undo\":{\"redo\":\"Redo\",\"undo\":\"Undo\"}};"
        }
    }
}
 [
			{ "name": "Blue Title",       "element": "h3",      "styles": { "color": "Blue" } },
			{ "name": "Red Title",        "element": "h3",      "styles": { "color": "Red" } },

			{ "name": "Marker: Yellow",   "element": "span",    "styles": { "background-color": "Yellow"} },
			{ "name": "Marker: Red",   "element": "span",    "styles": { "background-color": "Red"} },
			{ "name": "Marker: Blue",   "element": "span",    "styles": { "background-color": "Blue"} },
			{ "name": "Marker: Green",    "element": "span",    "styles": { "background-color": "Lime" } },

			{
				"name": "Image on Left",
				"element": "img",
				"attributes": {
					"style": "padding: 5px; margin-right: 5px",
					"border": "2",
					"align": "left"
				}
			}
]

$:/core/ui/ControlPanel/Saving

{
    "tiddlers": {
        "$:/themes/tiddlywiki/snowwhite/base": {
            "title": "$:/themes/tiddlywiki/snowwhite/base",
            "tags": "[[$:/tags/stylesheet]]",
            "text": "\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline\n\\define border-radius(radius)\n```\n  -webkit-border-radius: $radius$;\n     -moz-border-radius: $radius$;\n          border-radius: $radius$;\n```\n\\end\n\\define box-shadow(shadow)\n```\n  -webkit-box-shadow: $shadow$;\n     -moz-box-shadow: $shadow$;\n          box-shadow: $shadow$;\n```\n\\end\n\\define filter(filter)\n```\n  -webkit-filter: $filter$;\n     -moz-filter: $filter$;\n          filter: $filter$;\n```\n\\end\n\\define transition(transition)\n```\n  -webkit-transition: $transition$;\n     -moz-transition: $transition$;\n          transition: $transition$;\n```\n\\end\n\\define transform-origin(origin)\n```\n  -webkit-transform-origin: $origin$;\n     -moz-transform-origin: $origin$;\n          transform-origin: $origin$;\n```\n\\end\n\\define background-linear-gradient(gradient)\n```\nbackground-image: linear-gradient($gradient$);\nbackground-image: -o-linear-gradient($gradient$);\nbackground-image: -moz-linear-gradient($gradient$);\nbackground-image: -webkit-linear-gradient($gradient$);\nbackground-image: -ms-linear-gradient($gradient$);\n```\n\\end\n\n.sidebar-header {\n\ttext-shadow: 0 1px 0 rgba(255,255,255, 0.8);\n}\n\n.tw-page-controls svg {\n\t<<transition \"fill 150ms ease-in-out\">>\n}\n\n.tw-tiddler-info {\n\t<<box-shadow \"inset 1px 2px 3px rgba(0,0,0,0.1)\">>\n}\n\n@media screen {\n\t.tw-tiddler-frame {\n\t\t<<box-shadow \"5px 5px 5px rgba(0, 0, 0, 0.1)\">>\n\t}\n}\n\n@media (max-width: 770px) {\n\t.tw-tiddler-frame {\n\t\t<<box-shadow none>>\n\t}\n}\n\n.tw-tiddler-controls button svg {\n\t<<transition \"fill 150ms ease-in-out\">>\n}\n\n.tw-tiddler-controls button.tw-selected svg {\n\t<<filter \"drop-shadow(0px -1px 2px rgba(0,0,0,0.25))\">>\n}\n\n.tw-tiddler-frame input.tw-edit-texteditor {\n\t<<box-shadow \"inset 0 1px 8px rgba(0, 0, 0, 0.15)\">>\n}\n\n.tw-edit-tags {\n\t<<box-shadow \"inset 0 1px 8px rgba(0, 0, 0, 0.15)\">>\n}\n\n.tw-tiddler-frame .tw-edit-tags input.tw-edit-texteditor {\n\t<<box-shadow \"none\">>\n\tborder: none;\n\toutline: none;\n}\n\ncanvas.tw-edit-bitmapeditor  {\n\t<<box-shadow \"2px 2px 5px rgba(0, 0, 0, 0.5)\">>\n}\n\n.tw-drop-down {\n\t<<border-radius 4px>>\n\t<<box-shadow \"2px 2px 10px rgba(0, 0, 0, 0.5)\">>\n}\n\n.tw-block-dropdown {\n\t<<border-radius 4px>>\n\t<<box-shadow \"2px 2px 10px rgba(0, 0, 0, 0.5)\">>\n}\n\n.modal {\n\t<<border-radius 6px>>\n\t<<box-shadow \"0 3px 7px rgba(0,0,0,0.3)\">>\n}\n\n.modal-footer {\n\t<<border-radius \"0 0 6px 6px\">>\n\t<<box-shadow \"inset 0 1px 0 #fff\">>;\n}\n\n.tw-notification {\n\t<<border-radius 6px>>\n\t<<box-shadow \"0 3px 7px rgba(0,0,0,0.3)\">>\n\ttext-shadow: 0 1px 0 rgba(255,255,255, 0.8);\n}\n\n.tw-sidebar-lists .tw-tab-divider {\n\t<<background-linear-gradient \"left, rgb(216,216,216) 0%, rgb(236,236,236) 250px\">>\n}\n\n.tw-more-sidebar .tw-tab-buttons button {\n\t<<background-linear-gradient \"left, rgb(236,236,236) 0%, rgb(224,224,224) 100%\">>\n}\n\n.tw-more-sidebar .tw-tab-buttons button.tw-tab-selected {\n\t<<background-linear-gradient \"left, rgb(236,236,236) 0%, rgb(248,248,248) 100%\">>\n}\n\n.tw-message-box img {\n\t<<box-shadow \"1px 1px 3px rgba(0,0,0,0.5)\">>\n}\n"
        }
    }
}
{
    "tiddlers": {
        "$:/themes/tiddlywiki/vanilla/themetweaks": {
            "title": "$:/themes/tiddlywiki/vanilla/themetweaks",
            "tags": "$:/tags/ControlPanel",
            "caption": "Theme Tweaks",
            "text": "You can tweak certain aspects of the ''Vanilla'' theme.\n\n//Currently, you need to toggle to a different theme and back (or save and restart TiddlyWiki) before these changes take effect. Also take care to preserve any backticks (&#96;) in the settings//\n\n! Colours\n\n* Primary colour: <$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/colours\" index=\"primary\" default=\"\" tag=\"input\" type=\"color\"/>\n* Background colour: <$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/colours\" index=\"background\" default=\"\" tag=\"input\" type=\"color\"/>\n* Foreground colour: <$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/colours\" index=\"foreground\" default=\"\" tag=\"input\" type=\"color\"/>\n* Page background colour: <$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/colours\" index=\"pagebackground\" default=\"\" tag=\"input\" type=\"color\"/>\n* Medium contrast color: <$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/colours\" index=\"medium\" default=\"\" tag=\"input\" type=\"color\"/>\n\n! Colour mappings\n\n* Tiddler background colour mapping: <$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/colourmappings\" index=\"tiddlerbackground\" default=\"\" tag=\"input\"/>\n* Tiddler foreground colour mapping: <$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/colourmappings\" index=\"foreground\" default=\"\" tag=\"input\"/>\n* Page background colour mapping: <$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/colourmappings\" index=\"pagebackground\" default=\"\" tag=\"input\"/>\n* Link background colour mapping: <$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/colourmappings\" index=\"linkbackground\" default=\"\" tag=\"input\"/>\n* Link foreground colour mapping: <$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/colourmappings\" index=\"linkforeground\" default=\"\" tag=\"input\"/>\n* Dropdown background colour mapping: <$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/colourmappings\" index=\"dropdownbackground\" default=\"\" tag=\"input\"/>\n* Dropdown border colour mapping: <$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/colourmappings\" index=\"dropdownborder\" default=\"\" tag=\"input\"/>\n\n! Settings\n\n* Font family: <$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/settings\" index=\"fontfamily\" default=\"\" tag=\"input\"/>\n\n! Sizes\n\n* Font size: <$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics\" index=\"fontsize\" default=\"\" tag=\"input\"/>\n* Line height: <$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics\" index=\"lineheight\" default=\"\" tag=\"input\"/>\n* Story left position //(the distance between the left of the screen and the left margin of the story river or tiddler area)//: <$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics\" index=\"storyleft\" default=\"\" tag=\"input\"/>\n* Story top position //(the distance between the top of the screen ad the top margin of the story river or tiddler area)//: <$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics\" index=\"storytop\" default=\"\" tag=\"input\"/>\n* Story right //(the distance between the left side of the screen and the left margin of the sidebar area)//: <$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics\" index=\"storyright\" default=\"\" tag=\"input\"/>\n* Story width //(the width of the story river or tiddler area)//: <$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics\" index=\"storywidth\" default=\"\" tag=\"input\"/>\n* Tiddler width //(the width of individual tiddlers -- used for zoomin storyview)//: <$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics\" index=\"tiddlerwidth\" default=\"\" tag=\"input\"/>\n\n"
        },
        "$:/themes/tiddlywiki/vanilla/base": {
            "title": "$:/themes/tiddlywiki/vanilla/base",
            "tags": "[[$:/tags/stylesheet]]",
            "text": "\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline\n\\define border-radius(radius)\n```\n  -webkit-border-radius: $radius$;\n     -moz-border-radius: $radius$;\n          border-radius: $radius$;\n```\n\\end\n\n/*\n** Start with the normalize CSS reset, and then belay some of its effects\n*/\n\n{{$:/themes/tiddlywiki/vanilla/reset}}\n\n*, input[type=\"search\"] {\n\tbox-sizing: border-box;\n\t-moz-box-sizing: border-box;\n\t-webkit-box-sizing: border-box;\n}\n\n/*\n** Basic element styles\n*/\n\nhtml {\n\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings##fontfamily}};\n}\n\nbody.tw-body {\n\tfont-size: {{$:/themes/tiddlywiki/vanilla/metrics##fontsize}};\n\tline-height: {{$:/themes/tiddlywiki/vanilla/metrics##lineheight}};\n\tcolor: {{$:/themes/tiddlywiki/vanilla/colourmappings##foreground}};\n\tbackground-color: {{$:/themes/tiddlywiki/vanilla/colourmappings##pagebackground}};\n\tword-wrap: break-word;\n}\n\nh1, h2, h3, h4, h5, h6 {\n\tline-height: 1em;\n\tfont-weight: 300;\n}\n\npre {\n\tdisplay: block;\n\tpadding: 14px;\n\tmargin: 0 0 14px;\n\tword-break: normal;\n\tword-wrap: break-word;\n\twhite-space: pre;\n\twhite-space: pre-wrap;\n\tbackground-color: #f5f5f5;\n\tborder: 1px solid #ccc;\n\tpadding: 0 3px 2px;\n\t<<border-radius 3px>>\n}\n\ncode {\n\tcolor: #d14;\n\tbackground-color: #f7f7f9;\n\tborder: 1px solid #e1e1e8;\n    white-space: pre-wrap;\n\tpadding: 0 3px 2px;\n\t<<border-radius 3px>>\n}\n\nblockquote {\n\tborder-left: 5px solid #ddd;\n\tmargin-left: 25px;\n\tpadding-left: 10px;\n}\n\ndl dt {\n\tfont-weight: bold;\n\tmargin-top: 6px;\n}\n\n/*\nMarkdown likes putting code elements inside pre elements\n*/\npre > code {\n\tpadding: 0;\n\tborder: none;\n\tbackground-color: inherit;\n\tcolor: inherit;\n}\n\ntable {\n\tborder: 1px solid #ddd;\n\twidth: auto;\n\tmax-width: 100%;\n\tcaption-side: bottom;\n}\n\ntable th, table td {\n\tpadding: 0 7px 0 7px;\n\tborder-top: 1px solid #ddd;\n\tborder-left: 1px solid #ddd;\n}\n\ntable thead tr td, table th {\n\tbackground-color: #f0f0f0;\n\tfont-weight: bold;\n}\n\ntable tfoot tr td {\n\tbackground-color: #a8a8a8;\n}\n\n.tw-tiddler-frame img, .tw-tiddler-frame svg, .tw-tiddler-frame canvas, .tw-tiddler-frame embed {\n\tmax-width: 100%;\n}\n\n.tw-tiddler-frame embed {\n\twidth: 100%;\n\theight: 600px;\n}\n\n/*\n** Links\n*/\n\na.tw-tiddlylink {\n\ttext-decoration: none;\n\tfont-weight: normal;\n\tcolor: {{$:/themes/tiddlywiki/vanilla/colourmappings##linkforeground}};\n\t-webkit-user-select: inherit; /* Otherwise the draggable attribute makes links impossible to select */\n}\n\n.tw-sidebar-lists a.tw-tiddlylink {\n\tcolor: #999;\n}\n\n.tw-sidebar-lists a.tw-tiddlylink:hover {\n\tcolor: #444;\n}\n\na.tw-tiddlylink:hover {\n\ttext-decoration: underline;\n}\n\na.tw-tiddlylink-resolves {\n}\n\na.tw-tiddlylink-shadow {\n\tfont-weight: bold;\n}\n\na.tw-tiddlylink-shadow.tw-tiddlylink-resolves {\n\tfont-weight: normal;\n}\n\na.tw-tiddlylink-missing {\n\tfont-style: italic;\n}\n\na.tw-tiddlylink-external {\n\ttext-decoration: underline;\n}\n\n/*\n** Drag and drop styles\n*/\n\n.tw-tiddler-dragger {\n\tposition: relative;\n\tz-index: -10000;\n}\n\n.tw-tiddler-dragger-inner {\n\tposition: absolute;\n\tdisplay: inline-block;\n\tpadding: 8px 20px;\n\tfont-size: 16.9px;\n\tfont-weight: bold;\n\tline-height: 20px;\n\tcolor: #fff;\n\ttext-shadow: 0 1px 0 rgba(0, 0, 0, 1);\n\twhite-space: nowrap;\n\tvertical-align: baseline;\n\tbackground-color: #000;\n\t<<border-radius 20px>>\n}\n\n.tw-tiddler-dragger-cover {\n\tposition: absolute;\n\tbackground-color: {{$:/themes/tiddlywiki/vanilla/colourmappings##pagebackground}};\n}\n\n.tw-dropzone {\n\tposition: relative;\n}\n\n.tw-dropzone.tw-dragover:before {\n\tz-index: 10000;\n\tdisplay: block;\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbackground: rgba(0,200,0,0.7);\n\ttext-align: center;\n\tcontent: \"Drop here\";\n}\n\n/*\n** Buttons\n*/\n\n.btn-invisible {\n\tpadding: 0;\n\tmargin: 0;\n\tbackground: none;\n\tborder: none;\n}\n\n.btn-big-green {\n\tpadding: 8px;\n\tmargin: 4px 8px 4px 8px;\n\tbackground: #34C734;\n\tcolor: #fff;\n\tfill: #fff;\n\tborder: none;\n\tfont-size: 1.2em;\n\tline-height: 1.4em;\n}\n\n.btn-mini {\n\tcolor: #e0e0e0;\n}\n\n.btn-mini:hover {\n\tcolor: #444;\n}\n\n.tw-image-button {\n\theight: 1em;\n}\n\n/*\n** Tags and missing tiddlers\n*/\n\n.tw-tag-list-item {\n\tdisplay: inline-block;\n\tmargin-right: 7px;\n}\n\n.tw-tags-wrapper {\n\tmargin: 4px 0 14px 0;\n}\n\n.tw-missing-tiddler-label {\n\tfont-style: italic;\n\tfont-weight: normal;\n\tdisplay: inline-block;\n\tfont-size: 11.844px;\n\tline-height: 14px;\n\twhite-space: nowrap;\n\tvertical-align: baseline;\n}\n\n.tw-tag-label {\n\tdisplay: inline-block;\n\tpadding: 2px 9px;\n\tfont-size: 0.9em;\n\tfont-weight: 300;\n\tline-height: 1.2em;\n\tcolor: #fff;\n\twhite-space: nowrap;\n\tvertical-align: baseline;\n\tbackground-color: #D5AD34;\n\t<<border-radius 8px>>\n}\n\n.tw-untagged-label {\n\tbackground-color: #999;\n}\n\n.tw-tag-label svg {\n\theight: 1em;\n\twidth: 1em;\n\tfill: #fff;\n}\n\n/*\n** Page layout\n*/\n\n.sidebar-header {\n\tcolor: #acacac;\n}\n\n.sidebar-header .title a.tw-tiddlylink-resolves {\n\tfont-weight: 300;\n}\n\n.sidebar-header .tw-sidebar-lists p {\n\tmargin-top: 3px;\n\tmargin-bottom: 3px;\n}\n\n.tw-search a svg {\n\theight: 0.75em;\n}\n\n.tw-search-results {\n\tpadding-top: 14px;\n}\n\n.tw-page-controls {\n\tmargin-top: 14px;\n}\n\n.tw-page-controls a.tw-tiddlylink:hover {\n\ttext-decoration: none;\n}\n\n.tw-page-controls svg {\n\theight: 1.75em;\n\tmin-width: 1px;\n\tpadding-right: 0.5em;\n\tfill: #fff;\n}\n\n.tw-page-controls button:hover svg, .tw-page-controls a:hover svg {\n\tfill: #000;\n}\n\n.tw-menu-list-item {\n\twhite-space: nowrap;\n}\n\n.tw-menu-list-count {\n\tfont-weight: bold;\n}\n\n.tw-open-tiddler-list {\n\t<<transform-origin \"0% 0%\">>\n}\n\n.tw-menu-list-subitem {\n\tpadding-left: 7px;\n}\n\n.story-river {\n\tposition: relative;\n}\n\n.tw-story-spacer {\n\tposition: absolute;\n\tmin-height: 100%;\n}\n\n@media (max-width: {{$:/themes/tiddlywiki/vanilla/metrics##storywidth}}) {\n\t.sidebar-header {\n\t\tpadding: 14px;\n\t}\n\n\t.story-river {\n\t\tposition: relative;\n\t\tpadding: 0;\n\t}\n}\n\n@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics##storywidth}}) {\n\t.sidebar-header {\n\t\tposition: fixed;\n\t\ttop: {{$:/themes/tiddlywiki/vanilla/metrics##storytop}};\n\t\tleft: {{$:/themes/tiddlywiki/vanilla/metrics##storyright}};\n\t\tbottom: 0;\n\t\tright: 0;\n\t\toverflow-y: auto;\n\t\toverflow-x: auto;\n\t\t-webkit-overflow-scrolling: touch;\n\t\tmargin: 0 0 0 -42px;\n\t\tpadding: 70px 0 28px 42px;\n\t}\n\n\t.story-river {\n\t\tposition: relative;\n\t\tleft: {{$:/themes/tiddlywiki/vanilla/metrics##storyleft}};\n\t\ttop: {{$:/themes/tiddlywiki/vanilla/metrics##storytop}};\n\t\twidth: {{$:/themes/tiddlywiki/vanilla/metrics##storywidth}};\n\t\tpadding: 56px 42px 42px 42px;\n\t}\n}\n\n@media print {\n\t.sidebar-header {\n\t\tdisplay: none;\n\t}\n\n\t.story-river {\n\t\tmargin-left: 14px;\n\t}\n}\n\n/*\n** Tiddler styles\n*/\n\n.tw-tiddler-frame {\n\tmargin-bottom: 28px;\n\tbackground-color: {{$:/themes/tiddlywiki/vanilla/colourmappings##tiddlerbackground}};\n}\n\n.tw-tiddler-info {\n\tpadding: 14px 42px 14px 42px;\n\tbackground-color: #f8f8f8;\n\tborder-top: 1px solid #ddd;\n\tborder-bottom: 1px solid #ddd;\n}\n\n.tw-tiddler-info .tw-tab-buttons button.tw-tab-selected {\n\tbackground-color: #f8f8f8;\n\tborder-bottom: 1px solid #f8f8f8;\n}\n\n.tw-view-field-table {\n\twidth: 100%;\n}\n\n.tw-view-field-name {\n\twidth: 1%; /* Makes this column be as narrow as possible */\n\ttext-align: right;\n\tfont-style: italic;\n}\n\n.tw-view-field-value {\n}\n\n@media (max-width: 770px) {\n\t.tw-tiddler-frame {\n\t\tpadding: 14px 14px 14px 14px;\n\t}\n\n\t.tw-tiddler-info {\n\t\tmargin: 0 -14px 0 -14px;\n\t}\n}\n\n@media (min-width: 770px) {\n\t.tw-tiddler-frame {\n\t\tpadding: 28px 42px 42px 42px;\n\t\twidth: {{$:/themes/tiddlywiki/vanilla/metrics##tiddlerwidth}};\n\t}\n\n\t.tw-tiddler-info {\n\t\tmargin: 0 -42px 0 -42px;\n\t}\n}\n\n.titlebar {\n\tfont-weight: 300;\n\tfont-size: 2.35em;\n\tline-height: 1.2em;\n\tcolor: #182955;\n}\n\n.titlebar img {\n\theight: 1em;\n}\n\n.tw-subtitle {\n\tfont-size: 0.9em;\n\tcolor: #c0c0c0;\n\tfont-weight: 300;\n}\n\n.tw-tiddler-missing .title {\n  font-style: italic;\n  font-weight: normal;\n}\n\n.tw-tiddler-frame .tw-tiddler-controls {\n\tfloat: right;\n}\n\n.tw-tiddler-controls button {\n\tmargin: 0 0 0 5px;\n\tvertical-align: baseline;\n}\n\n.tw-tiddler-controls button svg {\n\theight: 0.75em;\n\tfill: #ccc;\n}\n\n.tw-tiddler-controls button.tw-selected svg {\n\tfill: #444;\n}\n\n.tw-tiddler-controls button:hover svg {\n\tfill: #888;\n}\n\n@media print {\n\t.tw-tiddler-controls {\n\t\tdisplay: none;\n\t}\n}\n\n.tw-tiddler-help { /* Help prompts within tiddler template */\n\tcolor: #999;\n\tmargin-top: 14px;\n}\n\n.tw-tiddler-help a.tw-tiddlylink {\n\tcolor: #888888;\n}\n\n.tw-tiddler-frame input.tw-edit-texteditor, .tw-tiddler-frame textarea.tw-edit-texteditor {\n\twidth: 100%;\n\tpadding: 3px 3px 3px 3px;\n\tborder: 1px solid #ccc;\n\tline-height: 1.3em;\n\t-webkit-appearance: none;\n\tmargin: 4px 0 4px 0;\n}\n\n.tw-tiddler-frame input.tw-edit-texteditor {\n\tbackground-color: #f8f8f8;\n}\n\ncanvas.tw-edit-bitmapeditor  {\n\tborder: 6px solid #fff;\n\tcursor: crosshair;\n\t-moz-user-select: none;\n\t-webkit-user-select: none;\n\t-ms-user-select: none;\n\tmargin-top: 6px;\n\tmargin-bottom: 6px;\n}\n\n.tw-edit-bitmapeditor-width {\n\tdisplay: block;\n}\n\n.tw-edit-bitmapeditor-height {\n\tdisplay: block;\n}\n\n/*\n** Tiddler edit mode\n*/\n\n.tw-tiddler-edit-frame em.tw-edit {\n\tcolor: #999;\n\tfont-style: normal;\n}\n\n.tw-edit-type-dropdown a.tw-tiddlylink-missing {\n\tfont-style: normal;\n}\n\n.tw-edit-tags {\n\tborder: 1px solid #ddd;\n\tpadding: 4px 8px 4px 8px;\n}\n\n.tw-edit-add-tag {\n\tdisplay: inline-block;\n}\n\n.tw-edit-add-tag .tw-add-tag-name input {\n\twidth: 50%;\n}\n\n.tw-edit-tags .tw-tag-label {\n\tdisplay: inline-block;\n}\n\n.tw-edit-tags-list {\n\tmargin: 14px 0 14px 0;\n}\n\n.tw-tag-editor-label {\n\tdisplay: inline-block;\n\tmargin-right: 7px;\n}\n\n.tw-remove-tag-button {\n\tpadding-left: 4px;\n}\n\n.tw-tiddler-preview {\n\toverflow: auto;\n}\n\n.tw-tiddler-preview-preview {\n\tfloat: right;\n\twidth: 48%;\n\tborder: 1px solid #ccc;\n\tmargin: 4px 3px 3px 3px;\n\tpadding: 3px 3px 3px 3px;\n}\n\n.tw-tiddler-preview-edit {\n\twidth: 48%;\n}\n\n.tw-edit-fields {\n\twidth: 100%;\n}\n\n\n.tw-edit-fields table, .tw-edit-fields tr, .tw-edit-fields td {\n\tborder: none;\n\tpadding: 4px;\n}\n\n.tw-edit-fields > tbody > .tw-edit-field:nth-child(odd) {\n\tbackground-color: #f0f4f0;\n}\n\n.tw-edit-fields > tbody > .tw-edit-field:nth-child(even) {\n\tbackground-color: #e0e8e0;\n}\n\n.tw-edit-field-name {\n\ttext-align: right;\n}\n\n.tw-edit-field-value input {\n\twidth: 100%;\n}\n\n.tw-edit-field-remove {\n}\n\n.tw-edit-field-remove svg {\n\theight: 1em;\n\twidth: 1em;\n\tfill: #888;\n\tvertical-align: middle;\n}\n\n.tw-edit-field-add-name {\n\tdisplay: inline-block;\n\twidth: 15%;\n}\n\n.tw-edit-field-add-button {\n\tdisplay: inline-block;\n\twidth: 10%;\n}\n\n/*\n** Dropdowns\n*/\n\n.btn-dropdown svg {\n\theight: 1em;\n\twidth: 1em;\n\tfill: #999;\n}\n\n.tw-drop-down {\n\tmin-width: 280px;\n\tborder: 1px solid {{$:/themes/tiddlywiki/vanilla/colourmappings##dropdownborder}};\n\tbackground-color: {{$:/themes/tiddlywiki/vanilla/colourmappings##dropdownbackground}};\n\tpadding: 7px 0 7px 0;\n\tmargin: 4px 0 0 0;\n\twhite-space: nowrap;\n}\n\n.tw-drop-down p {\n\tpadding: 0 14px 0 14px;\n}\n\n.tw-drop-down a {\n\tdisplay: block;\n\tpadding: 0 14px 0 14px;\n}\n\n.tw-drop-down a:hover {\n\tcolor: {{$:/themes/tiddlywiki/vanilla/colourmappings##linkbackground}};\n\tbackground-color: {{$:/themes/tiddlywiki/vanilla/colourmappings##linkforeground}};\n\ttext-decoration: none;\n}\n\n.tw-drop-down .tw-tab-buttons button {\n\tbackground-color: #ececec;\n}\n\n.tw-drop-down .tw-tab-buttons button.tw-tab-selected {\n\tbackground-color: #fff;\n\tborder-bottom: 1px solid #fff;\n}\n\n.tw-drop-down .tw-tab-contents a {\n\tpadding: 0 0.5em 0 0.5em;\n}\n\n.tw-block-dropdown-wrapper {\n\tposition: relative;\n}\n\n.tw-block-dropdown {\n\tposition: absolute;\n\tmin-width: 280px;\n\tborder: 1px solid {{$:/themes/tiddlywiki/vanilla/colourmappings##dropdownborder}};\n\tbackground-color: {{$:/themes/tiddlywiki/vanilla/colourmappings##dropdownbackground}};\n\tpadding: 0 0 0 0;\n\tmargin: 4px 0 0 0;\n\twhite-space: nowrap;\n\tz-index: 1000;\n}\n\n.tw-block-dropdown a {\n\tdisplay: block;\n\tpadding: 4px 14px 4px 14px;\n}\n\n.tw-block-dropdown a:hover {\n\tcolor: {{$:/themes/tiddlywiki/vanilla/colourmappings##linkbackground}};\n\tbackground-color: {{$:/themes/tiddlywiki/vanilla/colourmappings##linkforeground}};\n\ttext-decoration: none;\n}\n\n/*\n** Modals\n*/\n\n.tw-modal-displayed {\n\t-webkit-filter: blur(4px);\n}\n\n.modal-backdrop {\n\tposition: fixed;\n\ttop: 0;\n\tright: 0;\n\tbottom: 0;\n\tleft: 0;\n\tz-index: 1000;\n\tbackground-color: #000;\n}\n\n.modal {\n\tz-index: 1100;\n\tbackground-color: #fff;\n\tborder: 1px solid #999;\n\tborder: 1px solid rgba(0,0,0,.3);\n}\n\n@media (max-width: 55em) {\n\t.modal {\n\t\tposition: fixed;\n\t\ttop: 1em;\n\t\tleft: 1em;\n\t\tright: 1em;\n\t}\n\n\t.modal-body {\n\t\toverflow-y: auto;\n\t\tmax-height: 400px;\n\t}\n}\n\n@media (min-width: 55em) {\n\t.modal {\n\t\tposition: fixed;\n\t\ttop: 50%;\n\t\tleft: 50%;\n\t\twidth: 560px;\n\t\tmargin: -250px 0 0 -280px;\n\t}\n}\n\n.modal-header {\n\tpadding: 9px 15px;\n\tborder-bottom: 1px solid #eee;\n}\n\n.modal-header h3 {\n\tmargin: 0;\n\tline-height: 30px;\n}\n\n.modal-body {\n\tpadding: 15px;\n}\n\n.modal-footer {\n\tpadding: 14px 15px 15px;\n\tmargin-bottom: 0;\n\ttext-align: right;\n\tbackground-color: #f5f5f5;\n\tborder-top: 1px solid #ddd;\n}\n\n/*\n** Notifications\n*/\n\n.tw-notification {\n\tposition: fixed;\n\ttop: 14px;\n\tright: 14px;\n\tz-index: 1000;\n\tmax-width: 280px;\n\tpadding: 0 14px 0 14px;\n\tbackground-color: #ffd;\n\tborder: 1px solid #999;\n\tborder: 1px solid rgba(0,0,0,.3);\n}\n\n/*\n** Tabs\n*/\n\n.tw-tab-set {\n}\n\n.tw-tab-buttons {\n\tfont-size: 0.85em;\n\tline-height: 100%;\n\tpadding-top: 1em;\n\tmargin-bottom: -1px;\n}\n\n.tw-tab-buttons button {\n\tcolor: #666;\n\tmargin-left: 2px;\n\tmargin-right: 2px;\n\tfont-weight: 300;\n\tborder: none;\n\tbackground: inherit;\n}\n\n.tw-tab-buttons button.tw-tab-selected {\n\tbackground-color: #fff;\n\tborder-left: 1px solid #d8d8d8;\n\tborder-top: 1px solid #d8d8d8;\n\tborder-right: 1px solid #d8d8d8;\n\tmargin-bottom: -1px;\n}\n\n.tw-tab-buttons button:not(.tw-tab-selected) {\n\tbackground-color: #d8d8d8;\n\tborder-left: 1px solid #ccc;\n\tborder-top: 1px solid #ccc;\n\tborder-right: 1px solid #ccc;\n}\n\n.tw-tab-divider {\n\tborder-top: 1px solid #d8d8d8;\n}\n\n.tw-tab-content {\n\tpadding-top: 14px;\n}\n\n.tw-sidebar-lists .tw-tab-buttons button.tw-tab-selected {\n\tbackground-color: #ececec;\n\tborder-bottom: 1px solid #ececec;\n}\n\n.tw-sidebar-lists .tw-tab-divider {\n\tborder-top: none;\n\theight: 1px;\n\t<<background-linear-gradient \"left, rgb(216,216,216) 0%, rgb(236,236,236) 250px\">>\n}\n\n.tw-more-sidebar {\n\twhite-space: nowrap;\n}\n\n@media (min-width: 770px) {\n\t.tw-more-sidebar {\n\t\tmargin-left: -14px;\n\t}\n}\n\n.tw-more-sidebar .tw-tab-buttons {\n\tdisplay: inline-block;\n\tvertical-align: top;\n\ttext-align: right;\n\tpadding-top: 0;\n\tpadding-left: 0;\n}\n\n.tw-more-sidebar .tw-tab-buttons button {\n\tdisplay: block;\n\twidth: 100%;\n\ttext-align: right;\n}\n\n.tw-sidebar-lists .tw-more-sidebar .tw-tab-divider {\n\tdisplay: none;\n}\n\n.tw-more-sidebar .tw-tab-content {\n\tdisplay: inline-block;\n\tvertical-align: top;\n\tpadding-top: 0;\n\tpadding-left: 14px;\n}\n\n.tw-more-sidebar .tw-tab-buttons button {\n\tbackground-color: #ececec;\n\t<<background-linear-gradient \"left, rgb(236,236,236) 0%, rgb(224,224,224) 100%\">>\n\tborder-top: none;\n\tborder-left: none;\n\tborder-bottom: none;\n\tborder-right: 1px solid #ccc;\n}\n\n.tw-more-sidebar .tw-tab-buttons button.tw-tab-selected {\n\tbackground-color: #fff;\n\t<<background-linear-gradient \"left, rgb(236,236,236) 0%, rgb(248,248,248) 100%\">>\n\tborder: none;\n}\n\n/*\n** Alerts\n*/\n\n.tw-alert {\n\t<<border-radius 6px>>\n\tmargin: 7px 7px 7px 7px;\n\tpadding: 14px 14px 14px 14px;\n\tborder: 3px solid #DBB727;\n\tbackground-color: rgb(250, 210, 50);\n}\n\n.tw-static-alert {\n\tposition: relative;\n}\n\n.tw-static-alert-inner {\n\tpadding: 0 2px 2px 42px;\n\tcolor: #AAA;\n\tposition: absolute;\n}\n\n/*\n** Grids\n*/\n\n.tw-grid-frame td {\n\twidth: 1em;\n\theight: 1em;\n}\n\n/*\n** Control panel\n*/\n\n.tw-control-panel td {\n\tpadding: 4px;\n}\n\n.tw-control-panel table, .tw-control-panel table input, .tw-control-panel table textarea {\n\twidth: 100%;\n}\n\n/*\n** Message boxes\n*/\n\n.tw-message-box {\n\tborder: 1px solid #CFD6E6;\n\tbackground: #ECF2FF;\n\tpadding: 0px 21px 0px 21px;\n\tmargin: 0 -21px 0 -21px;\n\tfont-size: 12px;\n\tline-height: 18px;\n\tcolor: #547599;\n}\n\n.tw-message-box img {\n\tfloat: right;\n\twidth: 150px;\n\tmargin: 0px 0px 12px 12px;\n}\n"
        },
        "$:/themes/tiddlywiki/vanilla/colourmappings": {
            "title": "$:/themes/tiddlywiki/vanilla/colourmappings",
            "type": "application/x-tiddler-dictionary",
            "text": "tiddlerbackground: {{$:/themes/tiddlywiki/vanilla/colours##background}}\nforeground: {{$:/themes/tiddlywiki/vanilla/colours##foreground}}\npagebackground: {{$:/themes/tiddlywiki/vanilla/colours##pagebackground}}\nlinkbackground: {{$:/themes/tiddlywiki/vanilla/colours##background}}\nlinkforeground: {{$:/themes/tiddlywiki/vanilla/colours##primary}}\ndropdownbackground: {{$:/themes/tiddlywiki/vanilla/colours##background}}\ndropdownborder: {{$:/themes/tiddlywiki/vanilla/colours##medium}}\n"
        },
        "$:/themes/tiddlywiki/vanilla/colours": {
            "title": "$:/themes/tiddlywiki/vanilla/colours",
            "type": "application/x-tiddler-dictionary",
            "text": "primary: #5778D8\nbackground: #ffffff\nforeground: #333333\npagebackground: #ececec\nmedium: #bbbbbb\n"
        },
        "$:/themes/tiddlywiki/vanilla/metrics": {
            "title": "$:/themes/tiddlywiki/vanilla/metrics",
            "type": "application/x-tiddler-dictionary",
            "text": "fontsize: `14px`\nlineheight: `20px`\nstoryleft: `0px`\nstorytop: `0px`\nstoryright: `770px`\nstorywidth: `770px`\ntiddlerwidth: `686px`\n"
        },
        "$:/themes/tiddlywiki/vanilla/reset": {
            "title": "$:/themes/tiddlywiki/vanilla/reset",
            "type": "text/plain",
            "text": "/*! normalize.css v2.1.0 | MIT License | git.io/normalize */\n\n/* ==========================================================================\n   HTML5 display definitions\n   ========================================================================== */\n\n/**\n * Correct `block` display not defined in IE 8/9.\n */\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nnav,\nsection,\nsummary {\n    display: block;\n}\n\n/**\n * Correct `inline-block` display not defined in IE 8/9.\n */\n\naudio,\ncanvas,\nvideo {\n    display: inline-block;\n}\n\n/**\n * Prevent modern browsers from displaying `audio` without controls.\n * Remove excess height in iOS 5 devices.\n */\n\naudio:not([controls]) {\n    display: none;\n    height: 0;\n}\n\n/**\n * Address styling not present in IE 8/9.\n */\n\n[hidden] {\n    display: none;\n}\n\n/* ==========================================================================\n   Base\n   ========================================================================== */\n\n/**\n * 1. Set default font family to sans-serif.\n * 2. Prevent iOS text size adjust after orientation change, without disabling\n *    user zoom.\n */\n\nhtml {\n    font-family: sans-serif; /* 1 */\n    -webkit-text-size-adjust: 100%; /* 2 */\n    -ms-text-size-adjust: 100%; /* 2 */\n}\n\n/**\n * Remove default margin.\n */\n\nbody {\n    margin: 0;\n}\n\n/* ==========================================================================\n   Links\n   ========================================================================== */\n\n/**\n * Address `outline` inconsistency between Chrome and other browsers.\n */\n\na:focus {\n    outline: thin dotted;\n}\n\n/**\n * Improve readability when focused and also mouse hovered in all browsers.\n */\n\na:active,\na:hover {\n    outline: 0;\n}\n\n/* ==========================================================================\n   Typography\n   ========================================================================== */\n\n/**\n * Address variable `h1` font-size and margin within `section` and `article`\n * contexts in Firefox 4+, Safari 5, and Chrome.\n */\n\nh1 {\n    font-size: 2em;\n    margin: 0.67em 0;\n}\n\n/**\n * Address styling not present in IE 8/9, Safari 5, and Chrome.\n */\n\nabbr[title] {\n    border-bottom: 1px dotted;\n}\n\n/**\n * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.\n */\n\nb,\nstrong {\n    font-weight: bold;\n}\n\n/**\n * Address styling not present in Safari 5 and Chrome.\n */\n\ndfn {\n    font-style: italic;\n}\n\n/**\n * Address differences between Firefox and other browsers.\n */\n\nhr {\n    -moz-box-sizing: content-box;\n    box-sizing: content-box;\n    height: 0;\n}\n\n/**\n * Address styling not present in IE 8/9.\n */\n\nmark {\n    background: #ff0;\n    color: #000;\n}\n\n/**\n * Correct font family set oddly in Safari 5 and Chrome.\n */\n\ncode,\nkbd,\npre,\nsamp {\n    font-family: monospace, serif;\n    font-size: 1em;\n}\n\n/**\n * Improve readability of pre-formatted text in all browsers.\n */\n\npre {\n    white-space: pre-wrap;\n}\n\n/**\n * Set consistent quote types.\n */\n\nq {\n    quotes: \"\\201C\" \"\\201D\" \"\\2018\" \"\\2019\";\n}\n\n/**\n * Address inconsistent and variable font size in all browsers.\n */\n\nsmall {\n    font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` affecting `line-height` in all browsers.\n */\n\nsub,\nsup {\n    font-size: 75%;\n    line-height: 0;\n    position: relative;\n    vertical-align: baseline;\n}\n\nsup {\n    top: -0.5em;\n}\n\nsub {\n    bottom: -0.25em;\n}\n\n/* ==========================================================================\n   Embedded content\n   ========================================================================== */\n\n/**\n * Remove border when inside `a` element in IE 8/9.\n */\n\nimg {\n    border: 0;\n}\n\n/**\n * Correct overflow displayed oddly in IE 9.\n */\n\nsvg:not(:root) {\n    overflow: hidden;\n}\n\n/* ==========================================================================\n   Figures\n   ========================================================================== */\n\n/**\n * Address margin not present in IE 8/9 and Safari 5.\n */\n\nfigure {\n    margin: 0;\n}\n\n/* ==========================================================================\n   Forms\n   ========================================================================== */\n\n/**\n * Define consistent border, margin, and padding.\n */\n\nfieldset {\n    border: 1px solid #c0c0c0;\n    margin: 0 2px;\n    padding: 0.35em 0.625em 0.75em;\n}\n\n/**\n * 1. Correct `color` not being inherited in IE 8/9.\n * 2. Remove padding so people aren't caught out if they zero out fieldsets.\n */\n\nlegend {\n    border: 0; /* 1 */\n    padding: 0; /* 2 */\n}\n\n/**\n * 1. Correct font family not being inherited in all browsers.\n * 2. Correct font size not being inherited in all browsers.\n * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.\n */\n\nbutton,\ninput,\nselect,\ntextarea {\n    font-family: inherit; /* 1 */\n    font-size: 100%; /* 2 */\n    margin: 0; /* 3 */\n}\n\n/**\n * Address Firefox 4+ setting `line-height` on `input` using `!important` in\n * the UA stylesheet.\n */\n\nbutton,\ninput {\n    line-height: normal;\n}\n\n/**\n * Address inconsistent `text-transform` inheritance for `button` and `select`.\n * All other form control elements do not inherit `text-transform` values.\n * Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+.\n * Correct `select` style inheritance in Firefox 4+ and Opera.\n */\n\nbutton,\nselect {\n    text-transform: none;\n}\n\n/**\n * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n *    and `video` controls.\n * 2. Correct inability to style clickable `input` types in iOS.\n * 3. Improve usability and consistency of cursor style between image-type\n *    `input` and others.\n */\n\nbutton,\nhtml input[type=\"button\"], /* 1 */\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n    -webkit-appearance: button; /* 2 */\n    cursor: pointer; /* 3 */\n}\n\n/**\n * Re-set default cursor for disabled elements.\n */\n\nbutton[disabled],\nhtml input[disabled] {\n    cursor: default;\n}\n\n/**\n * 1. Address box sizing set to `content-box` in IE 8/9.\n * 2. Remove excess padding in IE 8/9.\n */\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n    box-sizing: border-box; /* 1 */\n    padding: 0; /* 2 */\n}\n\n/**\n * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.\n * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome\n *    (include `-moz` to future-proof).\n */\n\ninput[type=\"search\"] {\n    -webkit-appearance: textfield; /* 1 */\n    -moz-box-sizing: content-box;\n    -webkit-box-sizing: content-box; /* 2 */\n    box-sizing: content-box;\n}\n\n/**\n * Remove inner padding and search cancel button in Safari 5 and Chrome\n * on OS X.\n */\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n    -webkit-appearance: none;\n}\n\n/**\n * Remove inner padding and border in Firefox 4+.\n */\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n    border: 0;\n    padding: 0;\n}\n\n/**\n * 1. Remove default vertical scrollbar in IE 8/9.\n * 2. Improve readability and alignment in all browsers.\n */\n\ntextarea {\n    overflow: auto; /* 1 */\n    vertical-align: top; /* 2 */\n}\n\n/* ==========================================================================\n   Tables\n   ========================================================================== */\n\n/**\n * Remove most spacing between table cells.\n */\n\ntable {\n    border-collapse: collapse;\n    border-spacing: 0;\n}\n"
        },
        "$:/themes/tiddlywiki/vanilla/settings": {
            "title": "$:/themes/tiddlywiki/vanilla/settings",
            "type": "application/x-tiddler-dictionary",
            "text": "fontfamily: `\"Helvetica Neue\", Helvetica, Arial, \"Lucida Grande\", sans-serif`\n"
        }
    }
}
ckeditdemo

<h1>
<span style="color:#6633cc">Intro</span>
</h1>

<p>
This plugin brings the ckeditor to use in TW5. It can be used to edit pure html (text/html) tiddlers.
</p>

<p>
All the files that ckeditor normally acesses as external files have be converted to tiddlers. Only small changes&nbsp; to the main ckeditor stylesheet have been neccessary to get the editor working within TW5, along with changes to configuation parmeters. However many of the files that ckeditor normally would load on demand (and then caches) are preloaded by the extension when it is initialised.
</p>

<p>
Options are exposed via two tiddlers:
</p>

<p>
The contents of the 'style' menu is populated with the contents of
</p>

<p>
[[$:/plugins/BJ/TW5CKEditor/styles.json]]
</p>

<p>
which replaces styles.js, and user configuations are now loaded from
</p>

<p>
[[$:/plugins/BJ/TW5CKEditor/config.json]]
</p>

<p>
which replaces config.js
</p>
<div class="tw-control-panel"><<tabs "[is[shadow]!has[draft.of]tag[$:/tags/ControlPanel]] [!is[shadow]!has[draft.of]tag[$:/tags/ControlPanel]] +[tag[$:/tags/ControlPanel]]" "$:/core/ui/ControlPanel/Basics">></div>
<h1>
<span style="color:#6633cc">Intro</span>
</h1>

<p>
This plugin brings the ckeditor to use in TW5. It can be used to edit pure html (text/html) tiddlers.
</p>

<p>
All the files that ckeditor normally acesses as external files have be converted to tiddlers. Only small changes&nbsp; to the main ckeditor stylesheet have been neccessary to get the editor working within TW5, along with changes to configuation parmeters. However many of the files that ckeditor normally would load on demand (and then caches) are preloaded by the extension when it is initialised.
</p>

<p>
Options are exposed via two tiddlers:
</p>

<p>
The contents of the 'style' menu is populated with the contents of
</p>

<p>
[[$:/plugins/BJ/TW5CKEditor/styles.json]]
</p>

<p>
which replaces styles.js, and user configuations are now loaded from
</p>

<p>
[[$:/plugins/BJ/TW5CKEditor/config.json]]
</p>

<p>
which replaces config.js
</p>
Welcome to TiddlyWiki, the non-linear personal web notebook.

To get started, first verify that you can save changes successfully - see http://tiddlywiki.com/ for detailed instructions.

Then you can:

* Create new tiddlers using the 'plus' button in the sidebar
* Save changes using the 'download' button in the sidebar
* Edit [[DefaultTiddlers|$:/DefaultTiddlers]] to determine which tiddlers appear when you open this wiki
* Edit the SiteTitle and SiteSubtitle
* Learn more about [[WikiText|http://tiddlywiki.com/static/WikiText.html]]
Welcome to TiddlyWiki, the non-linear personal web notebook.

To get started, first verify that you can save changes successfully - see http://tiddlywiki.com/ for detailed instructions.

Then you can:

* Create new tiddlers using the 'plus' button in the sidebar
* Save changes using the 'download' button in the sidebar
* Edit [[DefaultTiddlers|$:/DefaultTiddlers]] to determine which tiddlers appear when you open this wiki
* Edit the SiteTitle and SiteSubtitle
* Learn more about [[WikiText|http://tiddlywiki.com/static/WikiText.html]]