From ea07f5f685de1e38ca47df0147b14cbc2f69513e Mon Sep 17 00:00:00 2001 From: Alfred Melch Date: Sun, 8 Dec 2019 09:19:55 +0100 Subject: [PATCH] Add other projects that implement rsvp --- .../Glance-Bookmarklet/CONTRIBUTING.md | 12 + .../Glance-Bookmarklet/LICENSE | 20 + .../Glance-Bookmarklet/README.md | 6 + .../Glance-Bookmarklet/index.css | 55 + .../Glance-Bookmarklet/index.html | 51 + .../Glance-Bookmarklet/spritz.html | 52 + .../Glance-Bookmarklet/spritz.js | 332 + .../Glance-Bookmarklet/style.css | 144 + alt-implementations/gist/README.md | 1 + alt-implementations/gist/index.html | 139 + .../readifry-master/.gitignore | 2 + alt-implementations/readifry-master/README.md | 9 + .../hyphenator/COPYING.LESSER.txt | 165 + .../readifry-master/hyphenator/COPYING.txt | 674 + .../readifry-master/hyphenator/Hyphenator.js | 2772 +++ .../hyphenator/Hyphenator_Loader.js | 249 + .../hyphenator/WorkingExample.html | 37 + .../hyphenator/compressor.html | 238 + .../readifry-master/hyphenator/favicon.ico | Bin 0 -> 4598 bytes .../hyphenator/mergeAndPack.html | 1085 + .../hyphenator/modalLangDialog.html | 63 + .../readifry-master/hyphenator/patterns/be.js | 22 + .../readifry-master/hyphenator/patterns/bn.js | 11 + .../readifry-master/hyphenator/patterns/ca.js | 18 + .../readifry-master/hyphenator/patterns/cs.js | 15 + .../readifry-master/hyphenator/patterns/da.js | 14 + .../readifry-master/hyphenator/patterns/de.js | 21 + .../hyphenator/patterns/el-monoton.js | 18 + .../hyphenator/patterns/el-polyton.js | 24 + .../hyphenator/patterns/en-gb.js | 16 + .../hyphenator/patterns/en-us.js | 19 + .../readifry-master/hyphenator/patterns/eo.js | 23 + .../readifry-master/hyphenator/patterns/es.js | 25 + .../readifry-master/hyphenator/patterns/et.js | 23 + .../readifry-master/hyphenator/patterns/fi.js | 15 + .../readifry-master/hyphenator/patterns/fr.js | 24 + .../hyphenator/patterns/grc.js | 26 + .../readifry-master/hyphenator/patterns/gu.js | 10 + .../readifry-master/hyphenator/patterns/hi.js | 10 + .../readifry-master/hyphenator/patterns/hu.js | 21 + .../readifry-master/hyphenator/patterns/hy.js | 11 + .../readifry-master/hyphenator/patterns/it.js | 18 + .../readifry-master/hyphenator/patterns/kn.js | 11 + .../readifry-master/hyphenator/patterns/la.js | 20 + .../readifry-master/hyphenator/patterns/lt.js | 15 + .../readifry-master/hyphenator/patterns/lv.js | 18 + .../readifry-master/hyphenator/patterns/ml.js | 12 + .../hyphenator/patterns/nb-no.js | 129 + .../readifry-master/hyphenator/patterns/nl.js | 17 + .../readifry-master/hyphenator/patterns/or.js | 12 + .../readifry-master/hyphenator/patterns/pa.js | 10 + .../readifry-master/hyphenator/patterns/pl.js | 25 + .../readifry-master/hyphenator/patterns/pt.js | 14 + .../readifry-master/hyphenator/patterns/ro.js | 16 + .../readifry-master/hyphenator/patterns/ru.js | 20 + .../readifry-master/hyphenator/patterns/sk.js | 23 + .../readifry-master/hyphenator/patterns/sl.js | 15 + .../hyphenator/patterns/sr-latn.js | 19 + .../readifry-master/hyphenator/patterns/sv.js | 17 + .../readifry-master/hyphenator/patterns/ta.js | 12 + .../readifry-master/hyphenator/patterns/te.js | 10 + .../readifry-master/hyphenator/patterns/tr.js | 13 + .../readifry-master/hyphenator/patterns/uk.js | 23 + .../hyphenator/reducePatternSet.html | 227 + .../files/YanoneKaffeesatz-Regular.otf | Bin 0 -> 67936 bytes .../hyphenator/testsuite/files/dojotoolkit.js | 17736 ++++++++++++++++ .../hyphenator/testsuite/files/jquery.js | 9440 ++++++++ .../hyphenator/testsuite/files/jslint.js | 4509 ++++ .../testsuite/files/jsprettify-all-latest.js | 25 + .../hyphenator/testsuite/files/mootools.js | 5976 ++++++ .../hyphenator/testsuite/files/prototype.js | 7036 ++++++ .../hyphenator/testsuite/files/test44inc.html | 1 + .../testsuite/files/test58_trans.xsl | 71 + .../testsuite/files/test64_iframe.html | 52 + .../testsuite/files/test66_frame1.html | 29 + .../testsuite/files/test66_frame2.html | 29 + .../testsuite/files/test67_frame1.html | 28 + .../testsuite/files/test67_frame2.html | 28 + .../testsuite/files/test79_frame.html | 26 + .../hyphenator/testsuite/files/yui2.js | 7 + .../testsuite/files/yui2_selector.js | 8 + .../hyphenator/testsuite/index.html | 244 + .../hyphenator/testsuite/test1.html | 53 + .../hyphenator/testsuite/test10.html | 59 + .../hyphenator/testsuite/test100.html | 41 + .../hyphenator/testsuite/test101.html | 53 + .../hyphenator/testsuite/test102.html | 61 + .../hyphenator/testsuite/test103.html | 59 + .../hyphenator/testsuite/test104.html | 92 + .../hyphenator/testsuite/test11.html | 57 + .../hyphenator/testsuite/test12.html | 57 + .../hyphenator/testsuite/test13.html | 81 + .../hyphenator/testsuite/test14.html | 67 + .../hyphenator/testsuite/test15.html | 201 + .../hyphenator/testsuite/test16.html | 93 + .../hyphenator/testsuite/test17.html | 62 + .../hyphenator/testsuite/test18.html | 61 + .../hyphenator/testsuite/test19.html | 786 + .../hyphenator/testsuite/test2.html | 53 + .../hyphenator/testsuite/test20.html | 60 + .../hyphenator/testsuite/test21.html | 40 + .../hyphenator/testsuite/test22.html | 68 + .../hyphenator/testsuite/test23.html | 56 + .../hyphenator/testsuite/test24.html | 56 + .../hyphenator/testsuite/test25.html | 76 + .../hyphenator/testsuite/test26.html | 53 + .../hyphenator/testsuite/test27.html | 130 + .../hyphenator/testsuite/test28.html | 60 + .../hyphenator/testsuite/test29.html | 60 + .../hyphenator/testsuite/test3.html | 55 + .../hyphenator/testsuite/test30.html | 60 + .../hyphenator/testsuite/test31.html | 60 + .../hyphenator/testsuite/test32.html | 64 + .../hyphenator/testsuite/test33.html | 54 + .../hyphenator/testsuite/test34.html | 52 + .../hyphenator/testsuite/test35.html | 66 + .../hyphenator/testsuite/test36.html | 53 + .../hyphenator/testsuite/test37.html | 50 + .../hyphenator/testsuite/test38.html | 51 + .../hyphenator/testsuite/test39.html | 57 + .../hyphenator/testsuite/test4.html | 53 + .../hyphenator/testsuite/test40.html | 53 + .../hyphenator/testsuite/test41.html | 56 + .../hyphenator/testsuite/test42.html | 58 + .../hyphenator/testsuite/test43.html | 53 + .../hyphenator/testsuite/test44.html | 81 + .../hyphenator/testsuite/test45.html | 53 + .../hyphenator/testsuite/test46.html | 82 + .../hyphenator/testsuite/test47.html | 51 + .../hyphenator/testsuite/test48.html | 51 + .../hyphenator/testsuite/test49.html | 53 + .../hyphenator/testsuite/test5.html | 53 + .../hyphenator/testsuite/test50.html | 60 + .../hyphenator/testsuite/test51.html | 53 + .../hyphenator/testsuite/test52.html | 53 + .../hyphenator/testsuite/test53.html | 59 + .../hyphenator/testsuite/test54.html | 59 + .../hyphenator/testsuite/test55.html | 54 + .../hyphenator/testsuite/test56.html | 74 + .../hyphenator/testsuite/test57.html | 61 + .../hyphenator/testsuite/test58.xml | 8 + .../hyphenator/testsuite/test59.html | 62 + .../hyphenator/testsuite/test6.html | 134 + .../hyphenator/testsuite/test60.xml | 57 + .../hyphenator/testsuite/test61.html | 58 + .../hyphenator/testsuite/test62.html | 54 + .../hyphenator/testsuite/test63.xhtml | 57 + .../hyphenator/testsuite/test64.html | 28 + .../hyphenator/testsuite/test65.html | 56 + .../hyphenator/testsuite/test66.html | 41 + .../hyphenator/testsuite/test67.html | 38 + .../hyphenator/testsuite/test68.html | 54 + .../hyphenator/testsuite/test69.html | 51 + .../hyphenator/testsuite/test7.html | 54 + .../hyphenator/testsuite/test70.html | 61 + .../hyphenator/testsuite/test71.html | 55 + .../hyphenator/testsuite/test72.html | 200 + .../hyphenator/testsuite/test73.html | 54 + .../hyphenator/testsuite/test74.html | 65 + .../hyphenator/testsuite/test75.html | 53 + .../hyphenator/testsuite/test76.html | 71 + .../hyphenator/testsuite/test77.html | 63 + .../hyphenator/testsuite/test78.html | 51 + .../hyphenator/testsuite/test79.html | 62 + .../hyphenator/testsuite/test8.html | 54 + .../hyphenator/testsuite/test80.html | 57 + .../hyphenator/testsuite/test81.html | 58 + .../hyphenator/testsuite/test82.html | 74 + .../hyphenator/testsuite/test83.html | 53 + .../hyphenator/testsuite/test84.html | 116 + .../hyphenator/testsuite/test85.html | 54 + .../hyphenator/testsuite/test86.html | 87 + .../hyphenator/testsuite/test87.html | 57 + .../hyphenator/testsuite/test88.html | 58 + .../hyphenator/testsuite/test89.html | 90 + .../hyphenator/testsuite/test9.html | 59 + .../hyphenator/testsuite/test90.html | 50 + .../hyphenator/testsuite/test91.html | 62 + .../hyphenator/testsuite/test92.html | 56 + .../hyphenator/testsuite/test93.html | 59 + .../hyphenator/testsuite/test94.html | 99 + .../hyphenator/testsuite/test95.html | 73 + .../hyphenator/testsuite/test96.html | 61 + .../hyphenator/testsuite/test97.html | 64 + .../hyphenator/testsuite/test98.html | 66 + .../hyphenator/testsuite/test99.html | 57 + .../readifry-master/index.html | 140 + .../readifry-master/kingInYellow.txt | 9036 ++++++++ alt-implementations/readifry-master/main.js | 316 + alt-implementations/readifry-master/style.css | 92 + alt-implementations/spread0r | 1 + 191 files changed, 69336 insertions(+) create mode 100644 alt-implementations/Glance-Bookmarklet/CONTRIBUTING.md create mode 100644 alt-implementations/Glance-Bookmarklet/LICENSE create mode 100644 alt-implementations/Glance-Bookmarklet/README.md create mode 100644 alt-implementations/Glance-Bookmarklet/index.css create mode 100644 alt-implementations/Glance-Bookmarklet/index.html create mode 100644 alt-implementations/Glance-Bookmarklet/spritz.html create mode 100644 alt-implementations/Glance-Bookmarklet/spritz.js create mode 100644 alt-implementations/Glance-Bookmarklet/style.css create mode 100644 alt-implementations/gist/README.md create mode 100644 alt-implementations/gist/index.html create mode 100644 alt-implementations/readifry-master/.gitignore create mode 100644 alt-implementations/readifry-master/README.md create mode 100644 alt-implementations/readifry-master/hyphenator/COPYING.LESSER.txt create mode 100644 alt-implementations/readifry-master/hyphenator/COPYING.txt create mode 100644 alt-implementations/readifry-master/hyphenator/Hyphenator.js create mode 100644 alt-implementations/readifry-master/hyphenator/Hyphenator_Loader.js create mode 100644 alt-implementations/readifry-master/hyphenator/WorkingExample.html create mode 100644 alt-implementations/readifry-master/hyphenator/compressor.html create mode 100755 alt-implementations/readifry-master/hyphenator/favicon.ico create mode 100644 alt-implementations/readifry-master/hyphenator/mergeAndPack.html create mode 100644 alt-implementations/readifry-master/hyphenator/modalLangDialog.html create mode 100644 alt-implementations/readifry-master/hyphenator/patterns/be.js create mode 100644 alt-implementations/readifry-master/hyphenator/patterns/bn.js create mode 100644 alt-implementations/readifry-master/hyphenator/patterns/ca.js create mode 100644 alt-implementations/readifry-master/hyphenator/patterns/cs.js create mode 100644 alt-implementations/readifry-master/hyphenator/patterns/da.js create mode 100644 alt-implementations/readifry-master/hyphenator/patterns/de.js create mode 100644 alt-implementations/readifry-master/hyphenator/patterns/el-monoton.js create mode 100644 alt-implementations/readifry-master/hyphenator/patterns/el-polyton.js create mode 100644 alt-implementations/readifry-master/hyphenator/patterns/en-gb.js create mode 100644 alt-implementations/readifry-master/hyphenator/patterns/en-us.js create mode 100644 alt-implementations/readifry-master/hyphenator/patterns/eo.js create mode 100644 alt-implementations/readifry-master/hyphenator/patterns/es.js create mode 100644 alt-implementations/readifry-master/hyphenator/patterns/et.js create mode 100644 alt-implementations/readifry-master/hyphenator/patterns/fi.js create mode 100644 alt-implementations/readifry-master/hyphenator/patterns/fr.js create mode 100644 alt-implementations/readifry-master/hyphenator/patterns/grc.js create mode 100644 alt-implementations/readifry-master/hyphenator/patterns/gu.js create mode 100644 alt-implementations/readifry-master/hyphenator/patterns/hi.js create mode 100644 alt-implementations/readifry-master/hyphenator/patterns/hu.js create mode 100644 alt-implementations/readifry-master/hyphenator/patterns/hy.js create mode 100644 alt-implementations/readifry-master/hyphenator/patterns/it.js create mode 100644 alt-implementations/readifry-master/hyphenator/patterns/kn.js create mode 100644 alt-implementations/readifry-master/hyphenator/patterns/la.js create mode 100644 alt-implementations/readifry-master/hyphenator/patterns/lt.js create mode 100755 alt-implementations/readifry-master/hyphenator/patterns/lv.js create mode 100644 alt-implementations/readifry-master/hyphenator/patterns/ml.js create mode 100644 alt-implementations/readifry-master/hyphenator/patterns/nb-no.js create mode 100644 alt-implementations/readifry-master/hyphenator/patterns/nl.js create mode 100644 alt-implementations/readifry-master/hyphenator/patterns/or.js create mode 100644 alt-implementations/readifry-master/hyphenator/patterns/pa.js create mode 100644 alt-implementations/readifry-master/hyphenator/patterns/pl.js create mode 100644 alt-implementations/readifry-master/hyphenator/patterns/pt.js create mode 100644 alt-implementations/readifry-master/hyphenator/patterns/ro.js create mode 100644 alt-implementations/readifry-master/hyphenator/patterns/ru.js create mode 100755 alt-implementations/readifry-master/hyphenator/patterns/sk.js create mode 100644 alt-implementations/readifry-master/hyphenator/patterns/sl.js create mode 100644 alt-implementations/readifry-master/hyphenator/patterns/sr-latn.js create mode 100644 alt-implementations/readifry-master/hyphenator/patterns/sv.js create mode 100644 alt-implementations/readifry-master/hyphenator/patterns/ta.js create mode 100644 alt-implementations/readifry-master/hyphenator/patterns/te.js create mode 100644 alt-implementations/readifry-master/hyphenator/patterns/tr.js create mode 100644 alt-implementations/readifry-master/hyphenator/patterns/uk.js create mode 100644 alt-implementations/readifry-master/hyphenator/reducePatternSet.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/files/YanoneKaffeesatz-Regular.otf create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/files/dojotoolkit.js create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/files/jquery.js create mode 100755 alt-implementations/readifry-master/hyphenator/testsuite/files/jslint.js create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/files/jsprettify-all-latest.js create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/files/mootools.js create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/files/prototype.js create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/files/test44inc.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/files/test58_trans.xsl create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/files/test64_iframe.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/files/test66_frame1.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/files/test66_frame2.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/files/test67_frame1.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/files/test67_frame2.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/files/test79_frame.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/files/yui2.js create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/files/yui2_selector.js create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/index.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test1.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test10.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test100.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test101.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test102.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test103.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test104.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test11.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test12.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test13.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test14.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test15.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test16.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test17.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test18.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test19.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test2.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test20.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test21.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test22.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test23.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test24.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test25.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test26.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test27.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test28.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test29.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test3.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test30.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test31.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test32.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test33.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test34.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test35.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test36.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test37.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test38.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test39.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test4.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test40.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test41.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test42.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test43.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test44.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test45.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test46.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test47.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test48.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test49.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test5.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test50.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test51.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test52.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test53.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test54.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test55.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test56.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test57.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test58.xml create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test59.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test6.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test60.xml create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test61.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test62.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test63.xhtml create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test64.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test65.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test66.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test67.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test68.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test69.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test7.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test70.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test71.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test72.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test73.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test74.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test75.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test76.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test77.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test78.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test79.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test8.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test80.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test81.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test82.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test83.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test84.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test85.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test86.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test87.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test88.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test89.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test9.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test90.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test91.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test92.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test93.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test94.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test95.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test96.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test97.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test98.html create mode 100644 alt-implementations/readifry-master/hyphenator/testsuite/test99.html create mode 100644 alt-implementations/readifry-master/index.html create mode 100644 alt-implementations/readifry-master/kingInYellow.txt create mode 100644 alt-implementations/readifry-master/main.js create mode 100644 alt-implementations/readifry-master/style.css create mode 160000 alt-implementations/spread0r diff --git a/alt-implementations/Glance-Bookmarklet/CONTRIBUTING.md b/alt-implementations/Glance-Bookmarklet/CONTRIBUTING.md new file mode 100644 index 0000000..1aec5af --- /dev/null +++ b/alt-implementations/Glance-Bookmarklet/CONTRIBUTING.md @@ -0,0 +1,12 @@ +# Contributing to OpenSpritz + +Please develop from the _dev_ branch, not the master branch! + +Please check for existing tickets before you open a new one. Please don't submit pull requests before opening a ticket +and discussing. + +Because of the way that OpenSpritz is deployed, all pull requests must be sent to the _dev_ branch rather than the +_master_ branch. Please also test your changes on a variety of sites, including CNN, the New York Times and The +Guardian. + +Also please add yourself to the Contributors list in the README, if you're so inclined! diff --git a/alt-implementations/Glance-Bookmarklet/LICENSE b/alt-implementations/Glance-Bookmarklet/LICENSE new file mode 100644 index 0000000..8c1479d --- /dev/null +++ b/alt-implementations/Glance-Bookmarklet/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2014 Rich Jones + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/alt-implementations/Glance-Bookmarklet/README.md b/alt-implementations/Glance-Bookmarklet/README.md new file mode 100644 index 0000000..874c8ce --- /dev/null +++ b/alt-implementations/Glance-Bookmarklet/README.md @@ -0,0 +1,6 @@ +# OpenSpritz is now [Glance](http://github.com/Miserlou/Glance) + +[Glance](http://github.com/Miserlou/Glance) is a news network for discerning speedreaders. + +Try it out at [http://glance.wtf](http://glance.wtf) or see the [code on Github](http://github.com/Miserlou/Glance). + diff --git a/alt-implementations/Glance-Bookmarklet/index.css b/alt-implementations/Glance-Bookmarklet/index.css new file mode 100644 index 0000000..bc352f8 --- /dev/null +++ b/alt-implementations/Glance-Bookmarklet/index.css @@ -0,0 +1,55 @@ +#container{ + width: 50%; + margin-left: 25%; + margin-right: 25%; +} + +/* This button was generated using CSSButtonGenerator.com */ +.button { + background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #ededed), color-stop(1, #dfdfdf) ); + background:-moz-linear-gradient( center top, #ededed 5%, #dfdfdf 100% ); + filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ededed', endColorstr='#dfdfdf'); + background-color:#ededed; + -webkit-border-top-left-radius:6px; + -moz-border-radius-topleft:6px; + border-top-left-radius:6px; + -webkit-border-top-right-radius:6px; + -moz-border-radius-topright:6px; + border-top-right-radius:6px; + -webkit-border-bottom-right-radius:6px; + -moz-border-radius-bottomright:6px; + border-bottom-right-radius:6px; + -webkit-border-bottom-left-radius:6px; + -moz-border-radius-bottomleft:6px; + border-bottom-left-radius:6px; + text-indent:0; + border:1px solid #dcdcdc; + display:inline-block; + color:#777777; + font-family:arial; + font-size:12px; + font-weight:bold; + font-style:normal; + height:38px; + line-height:38px; + width: auto; + padding-left: 6px; + padding-right: 6px; + text-decoration:none; + text-align:center; +} + +.button a { + color:#777777; + text-decoration:none; +} + +.button:hover { + background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #dfdfdf), color-stop(1, #ededed) ); + background:-moz-linear-gradient( center top, #dfdfdf 5%, #ededed 100% ); + filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#dfdfdf', endColorstr='#ededed'); + background-color:#dfdfdf; +}.button:active { + position:relative; + top:1px; +} \ No newline at end of file diff --git a/alt-implementations/Glance-Bookmarklet/index.html b/alt-implementations/Glance-Bookmarklet/index.html new file mode 100644 index 0000000..6bc7c44 --- /dev/null +++ b/alt-implementations/Glance-Bookmarklet/index.html @@ -0,0 +1,51 @@ + + + + + OpenSpritz + + + + + +
+ +

A Nice Cup of Tea

+

George Orwell, 12 January 1946

+ + + + + + + + + +

+ +
+If you look up 'tea' in the first cookery book that comes to hand you will probably find that it is unmentioned; or at most you will find a few lines of sketchy instructions which give no ruling on several of the most important points. This is curious, not only because tea is one of the main stays of civilization in this country, as well as in Eire, Australia and New Zealand, but because the best manner of making it is the subject of violent disputes. When I look through my own recipe for the perfect cup of tea, I find no fewer than eleven outstanding points. On perhaps two of them there would be pretty general agreement, but at least four others are acutely controversial. Here are my own eleven rules, every one of which I regard as golden: First of all, one should use Indian or Ceylonese tea. China tea has virtues which are not to be despised nowadays — it is economical, and one can drink it without milk — but there is not much stimulation in it. One does not feel wiser, braver or more optimistic after drinking it. Anyone who has used that comforting phrase 'a nice cup of tea' invariably means Indian tea. Secondly, tea should be made in small quantities — that is, in a teapot. Tea out of an urn is always tasteless, while army tea, made in a cauldron, tastes of grease and whitewash. The teapot should be made of china or earthenware. Silver or Britanniaware teapots produce inferior tea and enamel pots are worse; though curiously enough a pewter teapot (a rarity nowadays) is not so bad. Thirdly, the pot should be warmed beforehand. This is better done by placing it on the hob than by the usual method of swilling it out with hot water. Fourthly, the tea should be strong. For a pot holding a quart, if you are going to fill it nearly to the brim, six heaped teaspoons would be about right. In a time of rationing, this is not an idea that can be realized on every day of the week, but I maintain that one strong cup of tea is better than twenty weak ones. All true tea lovers not only like their tea strong, but like it a little stronger with each year that passes — a fact which is recognized in the extra ration issued to old-age pensioners. Fifthly, the tea should be put straight into the pot. No strainers, muslin bags or other devices to imprison the tea. In some countries teapots are fitted with little dangling baskets under the spout to catch the stray leaves, which are supposed to be harmful. Actually one can swallow tea-leaves in considerable quantities without ill effect, and if the tea is not loose in the pot it never infuses properly. Sixthly, one should take the teapot to the kettle and not the other way about. The water should be actually boiling at the moment of impact, which means that one should keep it on the flame while one pours. Some people add that one should only use water that has been freshly brought to the boil, but I have never noticed that it makes any difference. Seventhly, after making the tea, one should stir it, or better, give the pot a good shake, afterwards allowing the leaves to settle. Eighthly, one should drink out of a good breakfast cup — that is, the cylindrical type of cup, not the flat, shallow type. The breakfast cup holds more, and with the other kind one's tea is always half cold before one has well started on it. Ninthly, one should pour the cream off the milk before using it for tea. Milk that is too creamy always gives tea a sickly taste. Tenthly, one should pour tea into the cup first. This is one of the most controversial points of all; indeed in every family in Britain there are probably two schools of thought on the subject. The milk-first school can bring forward some fairly strong arguments, but I maintain that my own argument is unanswerable. This is that, by putting the tea in first and stirring as one pours, one can exactly regulate the amount of milk whereas one is liable to put in too much milk if one does it the other way round. Lastly, tea — unless one is drinking it in the Russian style — should be drunk without sugar. I know very well that I am in a minority here. But still, how can you call yourself a true tealover if you destroy the flavour of your tea by putting sugar in it? It would be equally reasonable to put in pepper or salt. Tea is meant to be bitter, just as beer is meant to be bitter. If you sweeten it, you are no longer tasting the tea, you are merely tasting the sugar; you could make a very similar drink by dissolving sugar in plain hot water. Some people would answer that they don't like tea in itself, that they only drink it in order to be warmed and stimulated, and they need sugar to take the taste away. To those misguided people I would say: Try drinking tea without sugar for, say, a fortnight and it is very unlikely that you will ever want to ruin your tea by sweetening it again. These are not the only controversial points to arise in connexion with tea drinking, but they are sufficient to show how subtilized the whole business has become. There is also the mysterious social etiquette surrounding the teapot (why is it considered vulgar to drink out of your saucer, for instance?) and much might be written about the subsidiary uses of tealeaves, such as telling fortunes, predicting the arrival of visitors, feeding rabbits, healing burns and sweeping the carpet. It is worth paying attention to such details as warming the pot and using water that is really boiling, so as to make quite sure of wringing out of one's ration the twenty good, strong cups of that two ounces, properly handled, ought to represent. +
+ +
+ + diff --git a/alt-implementations/Glance-Bookmarklet/spritz.html b/alt-implementations/Glance-Bookmarklet/spritz.html new file mode 100644 index 0000000..4d136ec --- /dev/null +++ b/alt-implementations/Glance-Bookmarklet/spritz.html @@ -0,0 +1,52 @@ + + + +
+ +
+ +
+
diff --git a/alt-implementations/Glance-Bookmarklet/spritz.js b/alt-implementations/Glance-Bookmarklet/spritz.js new file mode 100644 index 0000000..b5a8ebb --- /dev/null +++ b/alt-implementations/Glance-Bookmarklet/spritz.js @@ -0,0 +1,332 @@ +// spritz.js +// A JavaScript Speed Reader +// rich@gun.io +// https://github.com/Miserlou/OpenSpritz + +// Please don't abuse this. +var readability_token = '172b057cd7cfccf27b60a36f16b1acde12783893'; +var diffbot_token = '2efef432c72b5a923408e04353c39a7c'; + +function create_spritz(){ + + spritz_loader = function() { + //getURL("https://rawgithub.com/Miserlou/OpenSpritz/master/spritz.html", function(data){ + + //getURL("https://rawgithub.com/Miserlou/OpenSpritz/dev/spritz.html", function(data){ + + // This won't work in Firefox because an old bug and won't work in Chrome because of security stuff: + //getURL("spritz.html", function(data){ + + //getURL("https://rawgithub.com/Miserlou/OpenSpritz/dev/spritz.html", function(data){ + + // RawGit's CDN usage: + // "Since files are not refreshed after the first request, + // it's best to use a specific tag or commit URL, not a branch URL." + getURL("https://cdn.rawgit.com/Miserlou/OpenSpritz/9e92c605032be16c986ed699d68e0acd3534e6b1/spritz.html", function(data){ + var spritzContainer = document.getElementById("spritz_container"); + + if (!spritzContainer) { + var ele = document.createElement("div"); + data = data.replace(/(\r\n|\n|\r)/gm,""); + ele.innerHTML = data; + document.body.insertBefore(ele, document.body.firstChild); + document.getElementById("spritz_toggle").style.display = "none"; + }; + + document.getElementById("spritz_selector").addEventListener("change", function(e) { + clearTimeouts(); + spritz(); + }); + }); + }; + + spritz_loader(); +} + +function getURL(url, callback) { + var xmlhttp = new XMLHttpRequest(); + + xmlhttp.onreadystatechange = function() { + if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { + callback(xmlhttp.responseText); + } + } + + xmlhttp.open("GET", url, true); + xmlhttp.send(); +} + +function hide_spritz(){ + document.getElementById("spritz_spacer").style.display = "none"; + document.getElementById("spritz_container").style.display = "none"; + document.getElementById("spritz_holder").style.display = "none"; +} + +// Entry point to the beef. +// Gets the WPM and the selected text, if any. +function spritz(){ + + var wpm = parseInt(document.getElementById("spritz_selector").value, 10); + if(wpm < 1){ + return; + } + + var selection = getSelectionText(); + if(selection){ + spritzify(selection); + } + else{ + spritzifyURL(); + } +} + +// The meat! +function spritzify(input){ + + var wpm = parseInt(document.getElementById("spritz_selector").value, 10); + var ms_per_word = 60000/wpm; + + // Split on any spaces. + var all_words = input.split(/\s+/); + + // The reader won't stop if the selection starts or ends with spaces + if (all_words[0] == "") + { + all_words = all_words.slice(1, all_words.length); + } + + if (all_words[all_words.length - 1] == "") + { + all_words = all_words.slice(0, all_words.length - 1); + } + + var word = ''; + var result = ''; + + // Preprocess words + var temp_words = all_words.slice(0); // copy Array + var t = 0; + + for (var i=0; i 8) && all_words[i].indexOf('.') == -1){ + temp_words.splice(t+1, 0, all_words[i]); + temp_words.splice(t+1, 0, all_words[i]); + t++; + t++; + } + + // Add an additional space after punctuation. + if(all_words[i].indexOf('.') != -1 || all_words[i].indexOf('!') != -1 || all_words[i].indexOf('?') != -1 || all_words[i].indexOf(':') != -1 || all_words[i].indexOf(';') != -1|| all_words[i].indexOf(')') != -1){ + temp_words.splice(t+1, 0, " "); + temp_words.splice(t+1, 0, " "); + temp_words.splice(t+1, 0, " "); + t++; + t++; + t++; + } + + t++; + + } + + all_words = temp_words.slice(0); + + var currentWord = 0; + var running = true; + var spritz_timers = new Array(); + + document.getElementById("spritz_toggle").addEventListener("click", function() { + if(running) { + stopSpritz(); + } else { + startSpritz(); + } + }); + + function updateValues(i) { + + var p = pivot(all_words[i]); + document.getElementById("spritz_result").innerHTML = p; + currentWord = i; + + } + + function startSpritz() { + + document.getElementById("spritz_toggle").style.display = "block"; + document.getElementById("spritz_toggle").textContent = "Pause"; + + running = true; + + spritz_timers.push(setInterval(function() { + updateValues(currentWord); + currentWord++; + if(currentWord >= all_words.length) { + currentWord = 0; + stopSpritz(); + } + }, ms_per_word)); + } + + function stopSpritz() { + for(var i = 0; i < spritz_timers.length; i++) { + clearTimeout(spritz_timers[i]); + } + + document.getElementById("spritz_toggle").textContent = "Play"; + running = false; + } + + startSpritz(); +} + +// Find the red-character of the current word. +function pivot(word){ + var length = word.length; + + var bestLetter = 1; + switch (length) { + case 1: + bestLetter = 1; // first + break; + case 2: + case 3: + case 4: + case 5: + bestLetter = 2; // second + break; + case 6: + case 7: + case 8: + case 9: + bestLetter = 3; // third + break; + case 10: + case 11: + case 12: + case 13: + bestLetter = 4; // fourth + break; + default: + bestLetter = 5; // fifth + }; + + word = decodeEntities(word); + var start = '.'.repeat((11-bestLetter)) + word.slice(0, bestLetter-1).replace('.', '•'); + var middle = word.slice(bestLetter-1,bestLetter).replace('.', '•'); + var end = word.slice(bestLetter, length).replace('.', '•') + '.'.repeat((11-(word.length-bestLetter))); + + var result; + result = "" + start; + result = result + ""; + result = result + middle; + result = result + ""; + result = result + end; + result = result + ""; + + result = result.replace(/\./g, ""); + + return result; +} + +// Get the currently selected text, if any. +// Shameless pinched from StackOverflow. +function getSelectionText() { + var text = ""; + if (typeof window.getSelection != "undefined") { + var sel = window.getSelection(); + if (sel.rangeCount) { + var container = document.createElement("div"); + for (var i = 0, len = sel.rangeCount; i < len; ++i) { + container.appendChild(sel.getRangeAt(i).cloneContents()); + } + text = container.innerText || container.textContent; + } + } else if (typeof document.selection != "undefined") { + if (document.selection.type == "Text") { + text = document.selection.createRange().text; + } + } + if(text === ""){ + return false; + } + else{ + return text; + } +} + +// Uses the Readability API to get the juicy content of the current page. +function spritzifyURL(){ + var url = document.URL; + + //getURL("https://www.readability.com/api/content/v1/parser?url="+ encodeURIComponent(url) +"&token=" + readability_token +"&callback=?", + getURL("https://api.diffbot.com/v2/article?url="+ encodeURIComponent(url) +"&token=" + diffbot_token, // +"&callback=?", + function(data) { + + data = JSON.parse(data); + + if(data.error){ + document.getElementById("spritz_result").innerText = "Article extraction failed. Try selecting text instead."; + return; + } + + var title = ''; + if(data.title !== ""){ + title = data.title + ". "; + } + + var author = ''; + if(data.author !== undefined){ + author = "By " + data.author + ". "; + } + + var body = data.text; + body = body.trim(); // Trim trailing and leading whitespace. + body = body.replace(/\s+/g, ' '); // Shrink long whitespaces. + + var text_content = title + author + body; + text_content = text_content.replace(/\./g, '. '); // Make sure punctuation is apprpriately spaced. + text_content = text_content.replace(/\?/g, '? '); + text_content = text_content.replace(/\!/g, '! '); + spritzify(text_content); + }); + +} + +////// +// Helpers +////// + +// This is a hack using the fact that browers sequentially id the timers. +function clearTimeouts(){ + var id = window.setTimeout(function() {}, 0); + + while (id--) { + window.clearTimeout(id); + } +} + +// Let strings repeat themselves, +// because JavaScript isn't as awesome as Python. +String.prototype.repeat = function( num ){ + if(num < 1){ + return new Array( Math.abs(num) + 1 ).join( this ); + } + return new Array( num + 1 ).join( this ); +}; + +function decodeEntities(s){ + var str, temp= document.createElement('p'); + temp.innerHTML= s; + str= temp.textContent || temp.innerText; + temp=null; + return str; +} + + diff --git a/alt-implementations/Glance-Bookmarklet/style.css b/alt-implementations/Glance-Bookmarklet/style.css new file mode 100644 index 0000000..4fea733 --- /dev/null +++ b/alt-implementations/Glance-Bookmarklet/style.css @@ -0,0 +1,144 @@ +body{ + margin: 0px; +} + +#spritz_holder{ + + box-shadow: 2px 2px 4px rgba(0, 0, 0, .2); + background-color: #ffffff; + position: fixed; + top: 0; + left: 0; + z-index: 99999999999999999; + /* 600px+; small tablet portrait */ + width: 100%; + padding-top: 12px; + padding-bottom: 12px; + margin-bottom: 12px; + min-height: 166px; +} + +#spritz_spacer{ + width: 100%; + /* 600px+; small tablet portrait */ + min-height: 210px; +} + +#spritz_container{ + background-color: #ffffff; + /* 600px+; small tablet portrait */ + width: 420px; + margin-left: auto; + margin-right: auto; + line-height: 43px; +} + +#spritz_result{ + text-align: center; + font-family: 'Droid Sans Mono', sans-serif; + /* 600px+; small tablet portrait */ + padding-top: 9px; + padding-bottom: 9px; + min-height: 40px; + font-size: 32px; +} + +#guide_top, #guide_bottom{ + text-align: center; + font-family: 'Droid Sans Mono', sans-serif; + color: #dddddd; + /* 600px+; small tablet portrait */ + font-size: 32px; +} + +#notch{ + text-align: center; + font-family: 'Droid Sans Mono', sans-serif; + color: #dddddd; + /* 600px+; small tablet portrait */ + margin-top: 9px; + padding-top: 12px; + font-size: 32px; +} + +#spritz_credits{ + float: right; + font-family: 'Droid Sans Mono', sans-serif; + /* 600px+; small tablet portrait */ + font-size: 13px; +} + +#spritz_credits a{ + color: #dddddd; + text-decoration: none; +} + +#spritz_selector, #spritz_toggle{ + float: left; + width: auto; +} + +.invisible{ + font-family: 'Droid Sans Mono', sans-serif; + color: #ffffff; + position: static; +} + +.start, .pivot, .end, .spritz_start, .spritz_pivot, .spritz_end{ + color: #333333; + text-align: center; + font-family: 'Droid Sans Mono', sans-serif; + /* 600px+; small tablet portrait */ + font-size: 32px; +} +.pivot, .spritz_pivot{ + color: #de0000; +} + +@media (max-width: 599px) { + + #spritz_holder{ + width: 320 + padding-top: 4px; + padding-bottom: 6px; + margin-bottom: 6px; + min-height: 70px; + } + + #spritz_spacer{ + min-height: 105px; + } + + #spritz_container{ + width: 320px; + margin-left: auto; + margin-right: auto; + line-height: 22px; + } + + #spritz_result{ + min-height: 22px; + font-size: 22px; + padding-top: 11px; + padding-bottom: 6px; + } + + #guide_top, #guide_bottom{ + font-size: 22px; + } + + #notch{ + margin-top: 6px; + padding-top: 8px; + font-size: 22px; + } + + #spritz_credits{ + font-size: 10px; + } + + .start, .pivot, .end, .spritz_start, .spritz_pivot, .spritz_end{ + font-size: 22px; + } + +} diff --git a/alt-implementations/gist/README.md b/alt-implementations/gist/README.md new file mode 100644 index 0000000..ab58d9b --- /dev/null +++ b/alt-implementations/gist/README.md @@ -0,0 +1 @@ +copied from https://gist.github.com/jmgunn87/9882152 \ No newline at end of file diff --git a/alt-implementations/gist/index.html b/alt-implementations/gist/index.html new file mode 100644 index 0000000..6bd6557 --- /dev/null +++ b/alt-implementations/gist/index.html @@ -0,0 +1,139 @@ + + + + + + + Document + + + + +
+
+
+
+ The UK's Computer Emergency Response Team (CERT-UK), which will co-ordinate the country's cybersecurity defence, + has been formally launched. + The body will deal with "cybersecurity incidents" of national significance. + It will also provide advice and alerts on cyber-threats to government, industry and academia. + Speaking at the launch, Cabinet Office Minister Francis Maude said that 93% of large corporations had had "a + breach" over the past financial year. + The attacks cost on average between £450,000 and £850,000, he added. + The minister also repeated the claim that one London-based company had suffered a security breach which cost it + "£800m worth of revenue". + But, he said, cybersecurity also presented an opportunity. It was "an essential feature of - and a massive + opportunity for - the UK's economic recovery". + Many countries around the world now have their own CERT, a crucial component in the sharing of information to + prevent cyber-attacks. + 'A milestone' + The government says it has allocated £860m to the UK's cybersecurity efforts. + However, figures were not available for the current budget specifically for CERT-UK, which will be based in + London and will consist of a team of 55 people. + According to its website, cert.gov.uk, CERT-UK would issue an alert and appropriate guidance in the exceptional + event of a critical national cybersecurity incident. + Providing advisory notices of "cybersecurity issues being detected across government, industry or academia" + would be another function. + However the organisation has no law enforcement role or powers - its primary role is co-ordination and + information-sharing. + Although CERT-UK had its official launch today, director Chris Gibson, formerly the director of e-crime at + global bank Citigroup, was appointed in November and work has been in progress for some months. + A particular focus of the organisation will be the protection of companies seen to be part of the critical + national infrastructure, such as banks, and power generation and distribution firms. + National Grid spokesman Steve Collins described the launch of CERT-UK as a "milestone". + It will also provide a single point of contact for co-ordinating international responses to computer security + incidents - a move welcomed by other countries' cybersecurity teams. +
+ + + + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/.gitignore b/alt-implementations/readifry-master/.gitignore new file mode 100644 index 0000000..090a1f0 --- /dev/null +++ b/alt-implementations/readifry-master/.gitignore @@ -0,0 +1,2 @@ +.idea +.DS_Store diff --git a/alt-implementations/readifry-master/README.md b/alt-implementations/readifry-master/README.md new file mode 100644 index 0000000..ba6562d --- /dev/null +++ b/alt-implementations/readifry-master/README.md @@ -0,0 +1,9 @@ +Readifry +---- +a javascript local-only speed reading monocle. + +http://kukulski.github.io/readifry/demo.html + +see the gh-pages branch for the work-in-progress version. + +I've got a lot queued up in my [issues list](https://github.com/kukulski/readifry/issues). Feel free to add more or grab something to solve. diff --git a/alt-implementations/readifry-master/hyphenator/COPYING.LESSER.txt b/alt-implementations/readifry-master/hyphenator/COPYING.LESSER.txt new file mode 100644 index 0000000..fc8a5de --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/COPYING.LESSER.txt @@ -0,0 +1,165 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. diff --git a/alt-implementations/readifry-master/hyphenator/COPYING.txt b/alt-implementations/readifry-master/hyphenator/COPYING.txt new file mode 100644 index 0000000..94a9ed0 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/COPYING.txt @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/alt-implementations/readifry-master/hyphenator/Hyphenator.js b/alt-implementations/readifry-master/hyphenator/Hyphenator.js new file mode 100644 index 0000000..3a969c5 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/Hyphenator.js @@ -0,0 +1,2772 @@ +/** @license Hyphenator 4.2.0 - client side hyphenation for webbrowsers + * Copyright (C) 2013 Mathias Nater, Zürich (mathias at mnn dot ch) + * Project and Source hosted on http://code.google.com/p/hyphenator/ + * + * This JavaScript code is free software: you can redistribute + * it and/or modify it under the terms of the GNU Lesser + * General Public License (GNU LGPL) as published by the Free Software + * Foundation, either version 3 of the License, or (at your option) + * any later version. The code is distributed WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU GPL for more details. + * + * As additional permission under GNU GPL version 3 section 7, you + * may distribute non-source (e.g., minimized or compacted) forms of + * that code without the copy of the GNU GPL normally required by + * section 4, provided you include this license notice and a URL + * through which recipients can access the Corresponding Source. + * + * + * Hyphenator.js contains code from Bram Steins hypher.js-Project: + * https://github.com/bramstein/Hypher + * + * Code from this project is marked in the source and belongs + * to the following license: + * + * Copyright (c) 2011, Bram Stein + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + * EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +/* + * Comments are jsdoctoolkit formatted. See http://code.google.com/p/jsdoc-toolkit/ + */ + +/* The following comment is for JSLint: */ +/*global window */ +/*jslint browser: true */ + +/** + * @constructor + * @description Provides all functionality to do hyphenation, except the patterns that are loaded + * externally. + * @author Mathias Nater, mathias@mnn.ch + * @version 4.2.0 + * @namespace Holds all methods and properties + * @example + * <script src = "Hyphenator.js" type = "text/javascript"></script> + * <script type = "text/javascript"> + *   Hyphenator.run(); + * </script> + */ +var Hyphenator = (function (window) { + 'use strict'; + + /** + * @name Hyphenator-contextWindow + * @private + * @description + * contextWindow stores the window for the document to be hyphenated. + * If there are frames this will change. + * So use contextWindow instead of window! + */ + var contextWindow = window, + + /** + * @name Hyphenator-supportedLangs + * @description + * A key-value object that stores supported languages and meta data. + * The key is the bcp47 code of the language and the value + * is an object containing following informations about the language: + * file: filename of the pattern file, + * script: script type of the language (e.g. 'latin' for english), this type is abbreviated by an id, + * prompt: the sentence prompted to the user, if Hyphenator.js doesn't find a language hint. + * @type {Object., Object>} + * @private + * @example + * Check if language lang is supported: + * if (supportedLangs.hasOwnProperty(lang)) + */ + supportedLangs = (function () { + var r = {}, + o = function (code, file, script, prompt) { + r[code] = {'file': file, 'script': script, 'prompt': prompt}; + }; + + //latin:0, cyrillic: 1, arabic: 2, armenian:3, bengali: 4, devangari: 5, greek: 6 + //gujarati: 7, kannada: 8, lao: 9, malayalam: 10, oriya: 11, persian: 12, punjabi: 13, tamil: 14, telugu: 15 + // + //(language code, file name, script, prompt) + o('be', 'be.js', 1, 'Мова гэтага сайта не можа быць вызначаны аўтаматычна. Калі ласка пакажыце мову:'); + o('ca', 'ca.js', 0, ''); + o('cs', 'cs.js', 0, 'Jazyk této internetové stránky nebyl automaticky rozpoznán. Určete prosím její jazyk:'); + o('da', 'da.js', 0, 'Denne websides sprog kunne ikke bestemmes. Angiv venligst sprog:'); + o('bn', 'bn.js', 4, ''); + o('de', 'de.js', 0, 'Die Sprache dieser Webseite konnte nicht automatisch bestimmt werden. Bitte Sprache angeben:'); + o('el', 'el-monoton.js', 6, ''); + o('el-monoton', 'el-monoton.js', 6, ''); + o('el-polyton', 'el-polyton.js', 6, ''); + o('en', 'en-us.js', 0, 'The language of this website could not be determined automatically. Please indicate the main language:'); + o('en-gb', 'en-gb.js', 0, 'The language of this website could not be determined automatically. Please indicate the main language:'); + o('en-us', 'en-us.js', 0, 'The language of this website could not be determined automatically. Please indicate the main language:'); + o('eo', 'eo.js', 0, 'La lingvo de ĉi tiu retpaĝo ne rekoneblas aŭtomate. Bonvolu indiki ĝian ĉeflingvon:'); + o('es', 'es.js', 0, 'El idioma del sitio no pudo determinarse autom%E1ticamente. Por favor, indique el idioma principal:'); + o('et', 'et.js', 0, 'Veebilehe keele tuvastamine ebaõnnestus, palun valige kasutatud keel:'); + o('fi', 'fi.js', 0, 'Sivun kielt%E4 ei tunnistettu automaattisesti. M%E4%E4rit%E4 sivun p%E4%E4kieli:'); + o('fr', 'fr.js', 0, 'La langue de ce site n%u2019a pas pu %EAtre d%E9termin%E9e automatiquement. Veuillez indiquer une langue, s.v.p.%A0:'); + o('grc', 'grc.js', 6, ''); + o('gu', 'gu.js', 7, ''); + o('hi', 'hi.js', 5, ''); + o('hu', 'hu.js', 0, 'A weboldal nyelvét nem sikerült automatikusan megállapítani. Kérem adja meg a nyelvet:'); + o('hy', 'hy.js', 3, 'Չհաջողվեց հայտնաբերել այս կայքի լեզուն։ Խնդրում ենք նշեք հիմնական լեզուն՝'); + o('it', 'it.js', 0, 'Lingua del sito sconosciuta. Indicare una lingua, per favore:'); + o('kn', 'kn.js', 8, 'ಜಾಲ ತಾಣದ ಭಾಷೆಯನ್ನು ನಿರ್ಧರಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತಿಲ್ಲ. ದಯವಿಟ್ಟು ಮುಖ್ಯ ಭಾಷೆಯನ್ನು ಸೂಚಿಸಿ:'); + o('la', 'la.js', 0, ''); + o('lt', 'lt.js', 0, 'Nepavyko automatiškai nustatyti šios svetainės kalbos. Prašome įvesti kalbą:'); + o('lv', 'lv.js', 0, 'Šīs lapas valodu nevarēja noteikt automātiski. Lūdzu norādiet pamata valodu:'); + o('ml', 'ml.js', 10, 'ഈ വെ%u0D2C%u0D4D%u200Cസൈറ്റിന്റെ ഭാഷ കണ്ടുപിടിയ്ക്കാ%u0D28%u0D4D%u200D കഴിഞ്ഞില്ല. ഭാഷ ഏതാണെന്നു തിരഞ്ഞെടുക്കുക:'); + o('nb', 'nb-no.js', 0, 'Nettstedets språk kunne ikke finnes automatisk. Vennligst oppgi språk:'); + o('no', 'nb-no.js', 0, 'Nettstedets språk kunne ikke finnes automatisk. Vennligst oppgi språk:'); + o('nb-no', 'nb-no.js', 0, 'Nettstedets språk kunne ikke finnes automatisk. Vennligst oppgi språk:'); + o('nl', 'nl.js', 0, 'De taal van deze website kan niet automatisch worden bepaald. Geef de hoofdtaal op:'); + o('or', 'or.js', 11, ''); + o('pa', 'pa.js', 13, ''); + o('pl', 'pl.js', 0, 'Języka tej strony nie można ustalić automatycznie. Proszę wskazać język:'); + o('pt', 'pt.js', 0, 'A língua deste site não pôde ser determinada automaticamente. Por favor indique a língua principal:'); + o('ru', 'ru.js', 1, 'Язык этого сайта не может быть определен автоматически. Пожалуйста укажите язык:'); + o('sk', 'sk.js', 0, ''); + o('sl', 'sl.js', 0, 'Jezika te spletne strani ni bilo mogoče samodejno določiti. Prosim navedite jezik:'); + o('sr-latn', 'sr-latn.js', 0, 'Jezika te spletne strani ni bilo mogoče samodejno določiti. Prosim navedite jezik:'); + o('sv', 'sv.js', 0, 'Spr%E5ket p%E5 den h%E4r webbplatsen kunde inte avg%F6ras automatiskt. V%E4nligen ange:'); + o('ta', 'ta.js', 14, ''); + o('te', 'te.js', 15, ''); + o('tr', 'tr.js', 0, 'Bu web sitesinin dili otomatik olarak tespit edilememiştir. Lütfen dökümanın dilini seçiniz%A0:'); + o('uk', 'uk.js', 1, 'Мова цього веб-сайту не може бути визначена автоматично. Будь ласка, вкажіть головну мову:'); + o('ro', 'ro.js', 0, 'Limba acestui sit nu a putut fi determinată automat. Alege limba principală:'); + + return r; + }()), + + + /** + * @name Hyphenator-basePath + * @description + * A string storing the basepath from where Hyphenator.js was loaded. + * This is used to load the patternfiles. + * The basepath is determined dynamically by searching all script-tags for Hyphenator.js + * If the path cannot be determined http://hyphenator.googlecode.com/svn/trunk/ is used as fallback. + * @type {string} + * @private + * @see Hyphenator-loadPatterns + */ + basePath = (function () { + var s = contextWindow.document.getElementsByTagName('script'), i = 0, p, src, t = s[i], r = ''; + while (!!t) { + if (!!t.src) { + src = t.src; + p = src.indexOf('Hyphenator.js'); + if (p !== -1) { + r = src.substring(0, p); + } + } + i += 1; + t = s[i]; + } + return !!r ? r : 'http://hyphenator.googlecode.com/svn/trunk/'; + }()), + + /** + * @name Hyphenator-isLocal + * @private + * @description + * isLocal is true, if Hyphenator is loaded from the same domain, as the webpage, but false, if + * it's loaded from an external source (i.e. directly from google.code) + */ + isLocal = (function () { + var re = false; + if (window.location.href.indexOf(basePath) !== -1) { + re = true; + } + return re; + }()), + + /** + * @name Hyphenator-documentLoaded + * @private + * @description + * documentLoaded is true, when the DOM has been loaded. This is set by runOnContentLoaded + */ + documentLoaded = false, + + /** + * @name Hyphenator-persistentConfig + * @private + * @description + * if persistentConfig is set to true (defaults to false), config options and the state of the + * toggleBox are stored in DOM-storage (according to the storage-setting). So they haven't to be + * set for each page. + */ + persistentConfig = false, + + /** + * @name Hyphenator-doFrames + * @private + * @description + * switch to control if frames/iframes should be hyphenated, too + * defaults to false (frames are a bag of hurt!) + */ + doFrames = false, + + /** + * @name Hyphenator-dontHyphenate + * @description + * A key-value object containing all html-tags whose content should not be hyphenated + * @type {Object.} + * @private + * @see Hyphenator-hyphenateElement + */ + dontHyphenate = {'script': true, 'code': true, 'pre': true, 'img': true, 'br': true, 'samp': true, 'kbd': true, 'var': true, 'abbr': true, 'acronym': true, 'sub': true, 'sup': true, 'button': true, 'option': true, 'label': true, 'textarea': true, 'input': true, 'math': true, 'svg': true}, + + /** + * @name Hyphenator-enableCache + * @description + * A variable to set if caching is enabled or not + * @type boolean + * @default true + * @private + * @see Hyphenator.config + * @see hyphenateWord + */ + enableCache = true, + + /** + * @name Hyphenator-storageType + * @description + * A variable to define what html5-DOM-Storage-Method is used ('none', 'local' or 'session') + * @type {string} + * @default 'local' + * @private + * @see Hyphenator.config + */ + storageType = 'local', + + /** + * @name Hyphenator-storage + * @description + * An alias to the storage-Method defined in storageType. + * Set by Hyphenator.run() + * @type {Object|undefined} + * @default null + * @private + * @see Hyphenator.run + */ + storage, + + /** + * @name Hyphenator-enableReducedPatternSet + * @description + * A variable to set if storing the used patterns is set + * @type boolean + * @default false + * @private + * @see Hyphenator.config + * @see hyphenateWord + * @see Hyphenator.getRedPatternSet + */ + enableReducedPatternSet = false, + + /** + * @name Hyphenator-enableRemoteLoading + * @description + * A variable to set if pattern files should be loaded remotely or not + * @type boolean + * @default true + * @private + * @see Hyphenator.config + * @see Hyphenator-loadPatterns + */ + enableRemoteLoading = true, + + /** + * @name Hyphenator-displayToggleBox + * @description + * A variable to set if the togglebox should be displayed or not + * @type boolean + * @default false + * @private + * @see Hyphenator.config + * @see Hyphenator-toggleBox + */ + displayToggleBox = false, + + /** + * @name Hyphenator-onError + * @description + * A function that can be called upon an error. + * @see Hyphenator.config + * @type {function(Object)} + * @private + */ + onError = function (e) { + window.alert("Hyphenator.js says:\n\nAn Error occurred:\n" + e.message); + }, + + /** + * @name Hyphenator-createElem + * @description + * A function alias to document.createElementNS or document.createElement + * @type {function(string, Object)} + * @private + */ + createElem = function (tagname, context) { + context = context || contextWindow; + var el; + if (window.document.createElementNS) { + el = context.document.createElementNS('http://www.w3.org/1999/xhtml', tagname); + } else if (window.document.createElement) { + el = context.document.createElement(tagname); + } + return el; + }, + + /** + * @name Hyphenator-css3 + * @description + * A variable to set if css3 hyphenation should be used + * @type boolean + * @default false + * @private + * @see Hyphenator.config + */ + css3 = false, + + /** + * @name Hyphenator-css3_hsupport + * @description + * A generated object containing information for CSS3-hyphenation support + * { + * support: boolean, + * property: , + * languages: + * } + * @type object + * @default undefined + * @private + * @see Hyphenator-css3_gethsupport + */ + css3_h9n, + + /** + * @name Hyphenator-css3_gethsupport + * @description + * This function sets Hyphenator-css3_h9n for the current UA + * @type function + * @private + * @see Hyphenator-css3_h9n + */ + css3_gethsupport = function () { + var s, + createLangSupportChecker = function (prefix) { + var testStrings = [ + //latin: 0 + 'aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz', + //cyrillic: 1 + 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя', + //arabic: 2 + 'أبتثجحخدذرزسشصضطظعغفقكلمنهوي', + //armenian: 3 + 'աբգդեզէըթժիլխծկհձղճմյնշոչպջռսվտրցւփքօֆ', + //bengali: 4 + 'ঁংঃঅআইঈউঊঋঌএঐওঔকখগঘঙচছজঝঞটঠডঢণতথদধনপফবভমযরলশষসহ়ঽািীুূৃৄেৈোৌ্ৎৗড়ঢ়য়ৠৡৢৣ', + //devangari: 5 + 'ँंःअआइईउऊऋऌएऐओऔकखगघङचछजझञटठडढणतथदधनपफबभमयरलळवशषसहऽािीुूृॄेैोौ्॒॑ॠॡॢॣ', + //greek: 6 + 'αβγδεζηθικλμνξοπρσςτυφχψω', + //gujarati: 7 + 'બહઅઆઇઈઉઊઋૠએઐઓઔાિીુૂૃૄૢૣેૈોૌકખગઘઙચછજઝઞટઠડઢણતથદધનપફસભમયરલળવશષ', + //kannada: 8 + 'ಂಃಅಆಇಈಉಊಋಌಎಏಐಒಓಔಕಖಗಘಙಚಛಜಝಞಟಠಡಢಣತಥದಧನಪಫಬಭಮಯರಱಲಳವಶಷಸಹಽಾಿೀುೂೃೄೆೇೈೊೋೌ್ೕೖೞೠೡ', + //lao: 9 + 'ກຂຄງຈຊຍດຕຖທນບປຜຝພຟມຢຣລວສຫອຮະັາິີຶືຸູົຼເແໂໃໄ່້໊໋ໜໝ', + //malayalam: 10 + 'ംഃഅആഇഈഉഊഋഌഎഏഐഒഓഔകഖഗഘങചഛജഝഞടഠഡഢണതഥദധനപഫബഭമയരറലളഴവശഷസഹാിീുൂൃെേൈൊോൌ്ൗൠൡൺൻർൽൾൿ', + //oriya: 11 + 'ଁଂଃଅଆଇଈଉଊଋଌଏଐଓଔକଖଗଘଙଚଛଜଝଞଟଠଡଢଣତଥଦଧନପଫବଭମଯରଲଳଵଶଷସହାିୀୁୂୃେୈୋୌ୍ୗୠୡ', + //persian: 12 + 'أبتثجحخدذرزسشصضطظعغفقكلمنهوي', + //punjabi: 13 + 'ਁਂਃਅਆਇਈਉਊਏਐਓਔਕਖਗਘਙਚਛਜਝਞਟਠਡਢਣਤਥਦਧਨਪਫਬਭਮਯਰਲਲ਼ਵਸ਼ਸਹਾਿੀੁੂੇੈੋੌ੍ੰੱ', + //tamil: 14 + 'ஃஅஆஇஈஉஊஎஏஐஒஓஔகஙசஜஞடணதநனபமயரறலளழவஷஸஹாிீுூெேைொோௌ்ௗ', + //telugu: 15 + 'ఁంఃఅఆఇఈఉఊఋఌఎఏఐఒఓఔకఖగఘఙచఛజఝఞటఠడఢణతథదధనపఫబభమయరఱలళవశషసహాిీుూృౄెేైొోౌ్ౕౖౠౡ' + ], + f = function (lang) { + var shadow, + computedHeight, + bdy = window.document.getElementsByTagName('body')[0], + r = false; + + if (supportedLangs.hasOwnProperty(lang)) { + //create and append shadow-test-element + shadow = createElem('div', window); + shadow.id = 'Hyphenator_LanguageChecker'; + shadow.style.width = '5em'; + shadow.style[prefix] = 'auto'; + shadow.style.hyphens = 'auto'; + shadow.style.fontSize = '12px'; + shadow.style.lineHeight = '12px'; + shadow.style.visibility = 'hidden'; + shadow.lang = lang; + shadow.style['-webkit-locale'] = "'" + lang + "'"; + shadow.innerHTML = testStrings[supportedLangs[lang].script]; + bdy.appendChild(shadow); + //measure its height + computedHeight = shadow.offsetHeight; + //remove shadow element + bdy.removeChild(shadow); + r = (computedHeight > 12) ? true : false; + } else { + r = false; + } + return r; + }; + return f; + }, + r = { + support: false, + property: '', + checkLangSupport: function () {} + }; + + if (window.getComputedStyle) { + s = contextWindow.getComputedStyle(contextWindow.document.getElementsByTagName('body')[0], null); + } else { + //ancient Browsers don't support CSS3 anyway + css3_h9n = r; + return; + } + + if (s['-webkit-hyphens'] !== undefined) { + r.support = true; + r.property = '-webkit-hyphens'; + r.checkLangSupport = createLangSupportChecker('-webkit-hyphens'); + } else if (s.MozHyphens !== undefined) { + r.support = true; + r.property = '-moz-hyphens'; + r.checkLangSupport = createLangSupportChecker('MozHyphens'); + } else if (s['-ms-hyphens'] !== undefined) { + r.support = true; + r.property = '-ms-hyphens'; + r.checkLangSupport = createLangSupportChecker('-ms-hyphens'); + } + css3_h9n = r; + }, + + /** + * @name Hyphenator-hyphenateClass + * @description + * A string containing the css-class-name for the hyphenate class + * @type {string} + * @default 'hyphenate' + * @private + * @example + * <p class = "hyphenate">Text</p> + * @see Hyphenator.config + */ + hyphenateClass = 'hyphenate', + + /** + * @name Hyphenator-classPrefix + * @description + * A string containing a unique className prefix to be used + * whenever Hyphenator sets a CSS-class + * @type {string} + * @private + */ + classPrefix = 'Hyphenator' + Math.round(Math.random() * 1000), + + /** + * @name Hyphenator-hideClass + * @description + * The name of the class that hides elements + * @type {string} + * @private + */ + hideClass = classPrefix + 'hide', + + /** + * @name Hyphenator-hideClassRegExp + * @description + * RegExp to remove hideClass from a list of classes + * @type {RegExp} + * @private + */ + hideClassRegExp = new RegExp("\\s?\\b" + hideClass + "\\b", "g"), + + /** + * @name Hyphenator-hideClass + * @description + * The name of the class that unhides elements + * @type {string} + * @private + */ + unhideClass = classPrefix + 'unhide', + + /** + * @name Hyphenator-hideClassRegExp + * @description + * RegExp to remove unhideClass from a list of classes + * @type {RegExp} + * @private + */ + unhideClassRegExp = new RegExp("\\s?\\b" + unhideClass + "\\b", "g"), + + /** + * @name Hyphenator-css3hyphenateClass + * @description + * The name of the class that hyphenates elements with css3 + * @type {string} + * @private + */ + css3hyphenateClass = classPrefix + 'css3hyphenate', + + /** + * @name Hyphenator-css3hyphenateClass + * @description + * The var where CSSEdit class is stored + * @type {Object} + * @private + */ + css3hyphenateClassHandle, + + /** + * @name Hyphenator-dontHyphenateClass + * @description + * A string containing the css-class-name for elements that should not be hyphenated + * @type {string} + * @default 'donthyphenate' + * @private + * @example + * <p class = "donthyphenate">Text</p> + * @see Hyphenator.config + */ + dontHyphenateClass = 'donthyphenate', + + /** + * @name Hyphenator-min + * @description + * A number wich indicates the minimal length of words to hyphenate. + * @type {number} + * @default 6 + * @private + * @see Hyphenator.config + */ + min = 6, + + /** + * @name Hyphenator-orphanControl + * @description + * Control how the last words of a line are handled: + * level 1 (default): last word is hyphenated + * level 2: last word is not hyphenated + * level 3: last word is not hyphenated and last space is non breaking + * @type {number} + * @default 1 + * @private + */ + orphanControl = 1, + + /** + * @name Hyphenator-isBookmarklet + * @description + * Indicates if Hyphanetor runs as bookmarklet or not. + * @type boolean + * @default false + * @private + */ + isBookmarklet = (function () { + var loc = null, + re = false, + scripts = contextWindow.document.getElementsByTagName('script'), + i = 0, + l = scripts.length; + while (!re && i < l) { + loc = scripts[i].getAttribute('src'); + if (!!loc && loc.indexOf('Hyphenator.js?bm=true') !== -1) { + re = true; + } + i += 1; + } + return re; + }()), + + /** + * @name Hyphenator-mainLanguage + * @description + * The general language of the document. In contrast to {@link Hyphenator-defaultLanguage}, + * mainLanguage is defined by the client (i.e. by the html or by a prompt). + * @type {string|null} + * @private + * @see Hyphenator-autoSetMainLanguage + */ + mainLanguage = null, + + /** + * @name Hyphenator-defaultLanguage + * @description + * The language defined by the developper. This language setting is defined by a config option. + * It is overwritten by any html-lang-attribute and only taken in count, when no such attribute can + * be found (i.e. just before the prompt). + * @type {string|null} + * @private + * @see Hyphenator-autoSetMainLanguage + */ + defaultLanguage = '', + + + /** + * @name Hyphenator-elements + * @description + * An object holding all elements that have to be hyphenated. This var is filled by + * {@link Hyphenator-gatherDocumentInfos} + * @type {Array} + * @private + */ + elements = (function () { + var Element = function (element) { + this.element = element; + this.hyphenated = false; + this.treated = false; //collected but not hyphenated (dohyphenation is off) + }, + ElementCollection = function () { + this.count = 0; + this.hyCount = 0; + this.list = {}; + }; + ElementCollection.prototype = { + add: function (el, lang) { + if (!this.list.hasOwnProperty(lang)) { + this.list[lang] = []; + } + this.list[lang].push(new Element(el)); + this.count += 1; + }, + each: function (fn) { + var k; + for (k in this.list) { + if (this.list.hasOwnProperty(k)) { + if (fn.length === 2) { + fn(k, this.list[k]); + } else { + fn(this.list[k]); + } + } + } + } + }; + return new ElementCollection(); + }()), + + + /** + * @name Hyphenator-exceptions + * @description + * An object containing exceptions as comma separated strings for each language. + * When the language-objects are loaded, their exceptions are processed, copied here and then deleted. + * @see Hyphenator-prepareLanguagesObj + * @type {Object} + * @private + */ + exceptions = {}, + + /** + * @name Hyphenator-docLanguages + * @description + * An object holding all languages used in the document. This is filled by + * {@link Hyphenator-gatherDocumentInfos} + * @type {Object} + * @private + */ + docLanguages = {}, + + /** + * @name Hyphenator-state + * @description + * A number that inidcates the current state of the script + * 0: not initialized + * 1: loading patterns + * 2: ready + * 3: hyphenation done + * 4: hyphenation removed + * @type {number} + * @private + */ + state = 0, + + /** + * @name Hyphenator-url + * @description + * A string containing a RegularExpression to match URL's + * @type {string} + * @private + */ + url = '(\\w*:\/\/)?((\\w*:)?(\\w*)@)?((([\\d]{1,3}\\.){3}([\\d]{1,3}))|((www\\.|[a-zA-Z]\\.)?[a-zA-Z0-9\\-\\.]+\\.([a-z]{2,4})))(:\\d*)?(\/[\\w#!:\\.?\\+=&%@!\\-]*)*', + // protocoll usr pwd ip or host tld port path + + /** + * @name Hyphenator-mail + * @description + * A string containing a RegularExpression to match mail-adresses + * @type {string} + * @private + */ + mail = '[\\w-\\.]+@[\\w\\.]+', + + /** + * @name Hyphenator-urlRE + * @description + * A RegularExpressions-Object for url- and mail adress matching + * @type {RegExp} + * @private + */ + urlOrMailRE = new RegExp('(' + url + ')|(' + mail + ')', 'i'), + + /** + * @name Hyphenator-zeroWidthSpace + * @description + * A string that holds a char. + * Depending on the browser, this is the zero with space or an empty string. + * zeroWidthSpace is used to break URLs + * @type {string} + * @private + */ + zeroWidthSpace = (function () { + var zws, ua = window.navigator.userAgent.toLowerCase(); + zws = String.fromCharCode(8203); //Unicode zero width space + if (ua.indexOf('msie 6') !== -1) { + zws = ''; //IE6 doesn't support zws + } + if (ua.indexOf('opera') !== -1 && ua.indexOf('version/10.00') !== -1) { + zws = ''; //opera 10 on XP doesn't support zws + } + return zws; + }()), + + /** + * @name Hyphenator-onBeforeWordHyphenation + * @description + * A method to be called for each word to be hyphenated before it is hyphenated. + * Takes the word as a first parameter and its language as a second parameter. + * Returns a string that will replace the word to be hyphenated. + * @see Hyphenator.config + * @type {function()} + * @private + */ + onBeforeWordHyphenation = function (word) { + return word; + }, + + /** + * @name Hyphenator-onAfterWordHyphenation + * @description + * A method to be called for each word to be hyphenated after it is hyphenated. + * Takes the word as a first parameter and its language as a second parameter. + * Returns a string that will replace the word that has been hyphenated. + * @see Hyphenator.config + * @type {function()} + * @private + */ + onAfterWordHyphenation = function (word) { + return word; + }, + + /** + * @name Hyphenator-onHyphenationDone + * @description + * A method to be called, when the last element has been hyphenated + * @see Hyphenator.config + * @type {function()} + * @private + */ + onHyphenationDone = function () {}, + + /** + * @name Hyphenator-selectorFunction + * @description + * A function set by the user that has to return a HTMLNodeList or array of Elements to be hyphenated. + * By default this is set to false so we can check if a selectorFunction is set… + * @see Hyphenator.config + * @type {function()} + * @private + */ + selectorFunction = false, + + /** + * @name Hyphenator-mySelectorFunction + * @description + * A function that has to return a HTMLNodeList or array of Elements to be hyphenated. + * By default it uses the classname ('hyphenate') to select the elements. + * @type {function()} + * @private + */ + mySelectorFunction = function (hyphenateClass) { + var tmp, el = [], i, l; + if (window.document.getElementsByClassName) { + el = contextWindow.document.getElementsByClassName(hyphenateClass); + } else if (window.document.querySelectorAll) { + el = contextWindow.document.querySelectorAll('.' + hyphenateClass); + } else { + tmp = contextWindow.document.getElementsByTagName('*'); + l = tmp.length; + for (i = 0; i < l; i += 1) { + if (tmp[i].className.indexOf(hyphenateClass) !== -1 && tmp[i].className.indexOf(dontHyphenateClass) === -1) { + el.push(tmp[i]); + } + } + } + return el; + }, + + /** + * @name Hyphenator-selectElements + * @description + * A function that has to return a HTMLNodeList or array of Elements to be hyphenated. + * It uses either selectorFunction set by the user (and adds a unique class to each element) + * or the default mySelectorFunction. + * @type {function()} + * @private + */ + selectElements = function () { + var elements; + if (selectorFunction) { + elements = selectorFunction(); + } else { + elements = mySelectorFunction(hyphenateClass); + } + + return elements; + }, + + /** + * @name Hyphenator-intermediateState + * @description + * The value of style.visibility of the text while it is hyphenated. + * @see Hyphenator.config + * @type {string} + * @private + */ + intermediateState = 'hidden', + + /** + * @name Hyphenator-unhide + * @description + * How hidden elements unhide: either simultaneous (default: 'wait') or progressively. + * 'wait' makes Hyphenator.js to wait until all elements are hyphenated (one redraw) + * With 'progressive' Hyphenator.js unhides elements as soon as they are hyphenated. + * @see Hyphenator.config + * @type {string} + * @private + */ + unhide = 'wait', + + /** + * @name Hyphenator-CSSEditors + * @description A container array that holds CSSEdit classes + * For each window object one CSSEdit class is inserted + * @see Hyphenator-CSSEdit + * @type {array} + * @private + */ + CSSEditors = [], + + /** + * @name Hyphenator-CSSEditors + * @description A custom class with two public methods: setRule() and clearChanges() + * Rather sets style for CSS-classes then for single elements + * This is used to hide/unhide elements when they are hyphenated. + * @see Hyphenator-gatherDocumentInfos + * @type {function ()} + * @private + */ + CSSEdit = function (w) { + w = w || window; + var doc = w.document, + //find/create an accessible StyleSheet + sheet = (function () { + var i, + l = doc.styleSheets.length, + sheet, + element, + r = false; + for (i = 0; i < l; i += 1) { + sheet = doc.styleSheets[i]; + try { + if (!!sheet.cssRules) { + r = sheet; + break; + } + } catch (e) {} + } + if (r === false) { + element = doc.createElement('style'); + element.type = 'text/css'; + doc.getElementsByTagName('head')[0].appendChild(element); + r = doc.styleSheets[doc.styleSheets.length - 1]; + } + return r; + }()), + changes = [], + findRule = function (sel) { + var sheet, rule, sheets = window.document.styleSheets, rules, i, j, r = false; + for (i = 0; i < sheets.length; i += 1) { + sheet = sheets[i]; + try { //FF has issues here with external CSS (s.o.p) + if (!!sheet.cssRules) { + rules = sheet.cssRules; + } else if (!!sheet.rules) { + // IE < 9 + rules = sheet.rules; + } + } catch (e) { + //do nothing + //console.log(e); + } + if (!!rules && !!rules.length) { + for (j = 0; j < rules.length; j += 1) { + rule = rules[j]; + if (rule.selectorText === sel) { + r = { + index: j, + rule: rule + }; + } + } + } + } + return r; + }, + addRule = function (sel, rulesStr) { + var i, r; + if (!!sheet.insertRule) { + if (!!sheet.cssRules) { + i = sheet.cssRules.length; + } else { + i = 0; + } + r = sheet.insertRule(sel + '{' + rulesStr + '}', i); + } else if (!!sheet.addRule) { + // IE < 9 + if (!!sheet.rules) { + i = sheet.rules.length; + } else { + i = 0; + } + sheet.addRule(sel, rulesStr, i); + r = i; + } + return r; + }, + removeRule = function (sheet, index) { + if (sheet.deleteRule) { + sheet.deleteRule(index); + } else { + // IE < 9 + sheet.removeRule(index); + } + }; + + return { + setRule: function (sel, rulesString) { + var i, existingRule, cssText; + existingRule = findRule(sel); + if (!!existingRule) { + if (!!existingRule.rule.cssText) { + cssText = existingRule.rule.cssText; + } else { + // IE < 9 + cssText = existingRule.rule.style.cssText.toLowerCase(); + } + if (cssText === '.' + hyphenateClass + ' { visibility: hidden; }') { + //browsers w/o IE < 9 and no additional style defs: + //add to [changes] for later removal + changes.push({sheet: existingRule.rule.parentStyleSheet, index: existingRule.index}); + } else if (cssText.indexOf('visibility: hidden') !== -1) { + // IE < 9 or additional style defs: + // add new rule + i = addRule(sel, rulesString); + //add to [changes] for later removal + changes.push({sheet: sheet, index: i}); + // clear existing def + existingRule.rule.style.visibility = ''; + } else { + addRule(sel, rulesString); + } + } else { + i = addRule(sel, rulesString); + changes.push({sheet: sheet, index: i}); + } + }, + clearChanges: function () { + var change = changes.pop(); + while (!!change) { + removeRule(change.sheet, change.index); + change = changes.pop(); + } + } + }; + }, + + /** + * @name Hyphenator-hyphen + * @description + * A string containing the character for in-word-hyphenation + * @type {string} + * @default the soft hyphen + * @private + * @see Hyphenator.config + */ + hyphen = String.fromCharCode(173), + + /** + * @name Hyphenator-urlhyphen + * @description + * A string containing the character for url/mail-hyphenation + * @type {string} + * @default the zero width space + * @private + * @see Hyphenator.config + * @see Hyphenator-zeroWidthSpace + */ + urlhyphen = zeroWidthSpace, + + /** + * @name Hyphenator-safeCopy + * @description + * Defines wether work-around for copy issues is active or not + * Not supported by Opera (no onCopy handler) + * @type boolean + * @default true + * @private + * @see Hyphenator.config + * @see Hyphenator-registerOnCopy + */ + safeCopy = true, + + /* + * runOnContentLoaded is based od jQuery.bindReady() + * see + * jQuery JavaScript Library v1.3.2 + * http://jquery.com/ + * + * Copyright (c) 2009 John Resig + * Dual licensed under the MIT and GPL licenses. + * http://docs.jquery.com/License + * + * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009) + * Revision: 6246 + */ + /** + * @name Hyphenator-runOnContentLoaded + * @description + * A crossbrowser solution for the DOMContentLoaded-Event based on jQuery + * 0) { + for (i = 0; i < fl; i += 1) { + haveAccess = undefined; + //try catch isn't enough for webkit + try { + //opera throws only on document.toString-access + haveAccess = window.frames[i].document.toString(); + } catch (e) { + haveAccess = undefined; + } + if (!!haveAccess) { + if (window.frames[i].location.href !== 'about:blank') { + init(window.frames[i]); + } + } + } + contextWindow = window; + f(); + hyphRunForThis[window.location.href] = true; + } else { + init(window); + } + }, + + // Cleanup functions for the document ready method + DOMContentLoaded = function (e) { + if (e.type === 'readystatechange' && contextWindow.document.readyState !== 'complete') { + return; + } + contextWindow.document[rem](pre + e.type, DOMContentLoaded, false); + if (!doFrames && window.frames.length === 0) { + init(window); + } /* else { + //we are in a frameset, so do nothing but wait for onload to fire + + }*/ + }; + + if (documentLoaded && !hyphRunForThis[w.location.href]) { + f(); + hyphRunForThis[w.location.href] = true; + return; + } + + if (contextWindow.document.readyState === "complete" || contextWindow.document.readyState === "interactive") { + //Running Hyphenator.js if it has been loaded later + //Thanks to davenewtron http://code.google.com/p/hyphenator/issues/detail?id=158#c10 + window.setTimeout(doOnLoad, 1); + } else { + //registering events + contextWindow.document[add](pre + "DOMContentLoaded", DOMContentLoaded, false); + contextWindow.document[add](pre + 'readystatechange', DOMContentLoaded, false); + window[add](pre + 'load', doOnLoad, false); + toplevel = false; + try { + toplevel = !window.frameElement; + } catch (e) {} + if (contextWindow.document.documentElement.doScroll && toplevel) { + doScrollCheck(); + } + } + }, + + /** + * @name Hyphenator-getLang + * @description + * Gets the language of an element. If no language is set, it may use the {@link Hyphenator-mainLanguage}. + * @param {Object} el The first parameter is an DOM-Element-Object + * @param {boolean} fallback The second parameter is a boolean to tell if the function should return the {@link Hyphenator-mainLanguage} + * if there's no language found for the element. + * @private + */ + getLang = function (el, fallback) { + try { + return !!el.getAttribute('lang') ? el.getAttribute('lang').toLowerCase() : + !!el.getAttribute('xml:lang') ? el.getAttribute('xml:lang').toLowerCase() : + el.tagName.toLowerCase() !== 'html' ? getLang(el.parentNode, fallback) : + fallback ? mainLanguage : + null; + } catch (e) {} + }, + + /** + * @name Hyphenator-autoSetMainLanguage + * @description + * Retrieves the language of the document from the DOM. + * The function looks in the following places: + *
    + *
  • lang-attribute in the html-tag
  • + *
  • <meta http-equiv = "content-language" content = "xy" />
  • + *
  • <meta name = "DC.Language" content = "xy" />
  • + *
  • <meta name = "language" content = "xy" />
  • + * + * If nothing can be found a prompt using {@link Hyphenator-languageHint} and a prompt-string is displayed. + * If the retrieved language is in the object {@link Hyphenator-supportedLangs} it is copied to {@link Hyphenator-mainLanguage} + * @private + */ + autoSetMainLanguage = function (w) { + w = w || contextWindow; + var el = w.document.getElementsByTagName('html')[0], + m = w.document.getElementsByTagName('meta'), + i, + getLangFromUser = function () { + var mainLanguage, + text = '', + dH = 300, + dW = 450, + dX = Math.floor((w.outerWidth - dW) / 2) + window.screenX, + dY = Math.floor((w.outerHeight - dH) / 2) + window.screenY, + ul = '', + languageHint; + if (!!window.showModalDialog) { + mainLanguage = window.showModalDialog(basePath + 'modalLangDialog.html', supportedLangs, "dialogWidth: " + dW + "px; dialogHeight: " + dH + "px; dialogtop: " + dY + "; dialogleft: " + dX + "; center: on; resizable: off; scroll: off;"); + } else { + languageHint = (function () { + var k, r = ''; + for (k in supportedLangs) { + if (supportedLangs.hasOwnProperty(k)) { + r += k + ', '; + } + } + r = r.substring(0, r.length - 2); + return r; + }()); + ul = window.navigator.language || window.navigator.userLanguage; + ul = ul.substring(0, 2); + if (!!supportedLangs[ul] && supportedLangs[ul].prompt !== '') { + text = supportedLangs[ul].prompt; + } else { + text = supportedLangs.en.prompt; + } + text += ' (ISO 639-1)\n\n' + languageHint; + mainLanguage = window.prompt(window.unescape(text), ul).toLowerCase(); + } + return mainLanguage; + }; + mainLanguage = getLang(el, false); + if (!mainLanguage) { + for (i = 0; i < m.length; i += 1) { + // + if (!!m[i].getAttribute('http-equiv') && (m[i].getAttribute('http-equiv').toLowerCase() === 'content-language')) { + mainLanguage = m[i].getAttribute('content').toLowerCase(); + } + // + if (!!m[i].getAttribute('name') && (m[i].getAttribute('name').toLowerCase() === 'dc.language')) { + mainLanguage = m[i].getAttribute('content').toLowerCase(); + } + // + if (!!m[i].getAttribute('name') && (m[i].getAttribute('name').toLowerCase() === 'language')) { + mainLanguage = m[i].getAttribute('content').toLowerCase(); + } + } + } + //get lang for frame from enclosing document + if (!mainLanguage && doFrames && (!!contextWindow.frameElement)) { + autoSetMainLanguage(window.parent); + } + //fallback to defaultLang if set + if (!mainLanguage && defaultLanguage !== '') { + mainLanguage = defaultLanguage; + } + //ask user for lang + if (!mainLanguage) { + mainLanguage = getLangFromUser(); + } + el.lang = mainLanguage; + }, + + /** + * @name Hyphenator-gatherDocumentInfos + * @description + * This method runs through the DOM and executes the process()-function on: + * - every node returned by the {@link Hyphenator-selectorFunction}. + * The process()-function copies the element to the elements-variable, sets its visibility + * to intermediateState, retrieves its language and recursivly descends the DOM-tree until + * the child-Nodes aren't of type 1 + * @private + */ + gatherDocumentInfos = function () { + var elToProcess, tmp, i = 0, + process = function (el, lang) { + var n, i = 0, hyphenate = true; + + if (el.lang && typeof (el.lang) === 'string') { + lang = el.lang.toLowerCase(); //copy attribute-lang to internal lang + } else if (lang) { + lang = lang.toLowerCase(); + } else { + lang = getLang(el, true); + } + //if css3-hyphenation is supported: use it! + if (css3 && css3_h9n.support && !!css3_h9n.checkLangSupport(lang)) { + css3hyphenateClassHandle = new CSSEdit(contextWindow); + css3hyphenateClassHandle.setRule('.' + css3hyphenateClass, css3_h9n.property + ': auto;'); + css3hyphenateClassHandle.setRule('.' + dontHyphenateClass, css3_h9n.property + ': none;'); + css3hyphenateClassHandle.setRule('.' + css3hyphenateClass, '-webkit-locale : ' + lang + ';'); + + el.className = el.className + ' ' + css3hyphenateClass; + } else { + if (supportedLangs.hasOwnProperty(lang)) { + docLanguages[lang] = true; + } else { + if (supportedLangs.hasOwnProperty(lang.split('-')[0])) { //try subtag + lang = lang.split('-')[0]; + docLanguages[lang] = true; + } else if (!isBookmarklet) { + hyphenate = false; + onError(new Error('Language "' + lang + '" is not yet supported.')); + } + } + if (hyphenate) { + if (intermediateState === 'hidden') { + el.className = el.className + ' ' + hideClass; + } + elements.add(el, lang); + } + } + n = el.childNodes[i]; + while (!!n) { + if (n.nodeType === 1 && !dontHyphenate[n.nodeName.toLowerCase()] && + n.className.indexOf(dontHyphenateClass) === -1 && !elToProcess[n]) { + process(n, lang); + } + i += 1; + n = el.childNodes[i]; + } + }; + if (css3) { + css3_gethsupport(); + } + if (isBookmarklet) { + elToProcess = contextWindow.document.getElementsByTagName('body')[0]; + process(elToProcess, mainLanguage); + } else { + if (!css3 && intermediateState === 'hidden') { + CSSEditors.push(new CSSEdit(contextWindow)); + CSSEditors[CSSEditors.length - 1].setRule('.' + hyphenateClass, 'visibility: hidden;'); + CSSEditors[CSSEditors.length - 1].setRule('.' + hideClass, 'visibility: hidden;'); + CSSEditors[CSSEditors.length - 1].setRule('.' + unhideClass, 'visibility: visible;'); + } + elToProcess = selectElements(); + tmp = elToProcess[i]; + while (!!tmp) { + process(tmp, ''); + i += 1; + tmp = elToProcess[i]; + } + } + if (elements.count === 0) { + //nothing to hyphenate or all hyphenated by css3 + for (i = 0; i < CSSEditors.length; i += 1) { + CSSEditors[i].clearChanges(); + } + state = 3; + onHyphenationDone(); + } + }, + + /** + * @name Hyphenator-createTrie + * @description + * converts patterns of the given language in a trie + * @private + * @param {string} lang the language whose patterns shall be converted + */ + convertPatterns = function (lang) { + /** @license BSD licenced code + * The following code is based on code from hypher.js and adapted for Hyphenator.js + * Copyright (c) 2011, Bram Stein + */ + var size = 0, + tree = { + tpoints: [] + }, + patterns, + pattern, + i, + j, + k, + patternObject = Hyphenator.languages[lang].patterns, + c, + chars, + points, + t, + p, + codePoint, + test = 'in3se', + rf, + getPoints = (function () { + //IE<9 doesn't act like other browsers: doesn't preserve the separators + if (test.split(/\D/).length === 1) { + rf = function (pattern) { + pattern = pattern.replace(/\D/gi, ' '); + return pattern.split(' '); + }; + } else { + rf = function (pattern) { + return pattern.split(/\D/); + }; + } + return rf; + }()); + + for (size in patternObject) { + if (patternObject.hasOwnProperty(size)) { + patterns = patternObject[size].match(new RegExp('.{1,' + (+size) + '}', 'g')); + i = 0; + pattern = patterns[i]; + while (!!pattern) { + chars = pattern.replace(/[\d]/g, '').split(''); + points = getPoints(pattern); + t = tree; + + j = 0; + c = chars[j]; + while (!!c) { + codePoint = c.charCodeAt(0); + + if (!t[codePoint]) { + t[codePoint] = {}; + } + t = t[codePoint]; + j += 1; + c = chars[j]; + } + + t.tpoints = []; + for (k = 0; k < points.length; k += 1) { + p = points[k]; + t.tpoints.push((p === "") ? 0 : p); + } + i += 1; + pattern = patterns[i]; + } + } + } + Hyphenator.languages[lang].patterns = tree; + /** + * end of BSD licenced code from hypher.js + */ + }, + + /** + * @name Hyphenator-recreatePattern + * @description + * Recreates the pattern for the reducedPatternSet + * @private + */ + recreatePattern = function (pattern, nodePoints) { + var r = [], c = pattern.split(''), i; + for (i = 0; i < nodePoints.length; i += 1) { + if (nodePoints[i] !== 0) { + r.push(nodePoints[i]); + } + if (c[i]) { + r.push(c[i]); + } + } + return r.join(''); + }, + + /** + * @name Hyphenator-convertExceptionsToObject + * @description + * Converts a list of comma seprated exceptions to an object: + * 'Fortran,Hy-phen-a-tion' -> {'Fortran':'Fortran','Hyphenation':'Hy-phen-a-tion'} + * @private + * @param {string} exc a comma separated string of exceptions (without spaces) + */ + convertExceptionsToObject = function (exc) { + var w = exc.split(', '), + r = {}, + i, + l, + key; + for (i = 0, l = w.length; i < l; i += 1) { + key = w[i].replace(/-/g, ''); + if (!r.hasOwnProperty(key)) { + r[key] = w[i]; + } + } + return r; + }, + + /** + * @name Hyphenator-loadPatterns + * @description + * Checks if the requested file is available in the network. + * Adds a <script>-Tag to the DOM to load an externeal .js-file containing patterns and settings for the given language. + * If the given language is not in the {@link Hyphenator-supportedLangs}-Object it returns. + * One may ask why we are not using AJAX to load the patterns. The XMLHttpRequest-Object + * has a same-origin-policy. This makes the Bookmarklet impossible. + * @param {string} lang The language to load the patterns for + * @private + * @see Hyphenator-basePath + */ + loadPatterns = function (lang) { + var url, xhr, head, script; + if (supportedLangs.hasOwnProperty(lang) && !Hyphenator.languages[lang]) { + url = basePath + 'patterns/' + supportedLangs[lang].file; + } else { + return; + } + if (isLocal && !isBookmarklet) { + //check if 'url' is available: + xhr = null; + try { + // Mozilla, Opera, Safari and Internet Explorer (ab v7) + xhr = new window.XMLHttpRequest(); + } catch (e) { + try { + //IE>=6 + xhr = new window.ActiveXObject("Microsoft.XMLHTTP"); + } catch (e2) { + try { + //IE>=5 + xhr = new window.ActiveXObject("Msxml2.XMLHTTP"); + } catch (e3) { + xhr = null; + } + } + } + + if (xhr) { + xhr.open('HEAD', url, true); + xhr.setRequestHeader('Cache-Control', 'no-cache'); + xhr.onreadystatechange = function () { + if (xhr.readyState === 4) { + if (xhr.status === 404) { + onError(new Error('Could not load\n' + url)); + delete docLanguages[lang]; + return; + } + } + }; + xhr.send(null); + } + } + if (createElem) { + head = window.document.getElementsByTagName('head').item(0); + script = createElem('script', window); + script.src = url; + script.type = 'text/javascript'; + head.appendChild(script); + } + }, + + /** + * @name Hyphenator-prepareLanguagesObj + * @description + * Adds a cache to each language and converts the exceptions-list to an object. + * If storage is active the object is stored there. + * @private + * @param {string} lang the language ob the lang-obj + */ + prepareLanguagesObj = function (lang) { + var lo = Hyphenator.languages[lang], wrd; + if (!lo.prepared) { + if (enableCache) { + lo.cache = {}; + //Export + //lo['cache'] = lo.cache; + } + if (enableReducedPatternSet) { + lo.redPatSet = {}; + } + //add exceptions from the pattern file to the local 'exceptions'-obj + if (lo.hasOwnProperty('exceptions')) { + Hyphenator.addExceptions(lang, lo.exceptions); + delete lo.exceptions; + } + //copy global exceptions to the language specific exceptions + if (exceptions.hasOwnProperty('global')) { + if (exceptions.hasOwnProperty(lang)) { + exceptions[lang] += ', ' + exceptions.global; + } else { + exceptions[lang] = exceptions.global; + } + } + //move exceptions from the the local 'exceptions'-obj to the 'language'-object + if (exceptions.hasOwnProperty(lang)) { + lo.exceptions = convertExceptionsToObject(exceptions[lang]); + delete exceptions[lang]; + } else { + lo.exceptions = {}; + } + convertPatterns(lang); + wrd = '[\\w' + lo.specialChars + '@' + String.fromCharCode(173) + String.fromCharCode(8204) + '-]{' + min + ',}'; + lo.genRegExp = new RegExp('(' + url + ')|(' + mail + ')|(' + wrd + ')', 'gi'); + lo.prepared = true; + } + if (!!storage) { + try { + storage.setItem(lang, window.JSON.stringify(lo)); + } catch (e) { + onError(e); + } + } + + }, + + /** + * @name Hyphenator-prepare + * @description + * This funtion prepares the Hyphenator-Object: If RemoteLoading is turned off, it assumes + * that the patternfiles are loaded, all conversions are made and the callback is called. + * If storage is active the object is retrieved there. + * If RemoteLoading is on (default), it loads the pattern files and waits until they are loaded, + * by repeatedly checking Hyphenator.languages. If a patterfile is loaded the patterns are + * converted to their object style and the lang-object extended. + * Finally the callback is called. + * @private + */ + prepare = function (callback) { + var lang, interval, tmp1, tmp2; + if (!enableRemoteLoading) { + for (lang in Hyphenator.languages) { + if (Hyphenator.languages.hasOwnProperty(lang)) { + prepareLanguagesObj(lang); + } + } + state = 2; + callback('*'); + return; + } + // get all languages that are used and preload the patterns + state = 1; + for (lang in docLanguages) { + if (docLanguages.hasOwnProperty(lang)) { + if (!!storage && storage.test(lang)) { + Hyphenator.languages[lang] = window.JSON.parse(storage.getItem(lang)); + if (exceptions.hasOwnProperty('global')) { + tmp1 = convertExceptionsToObject(exceptions.global); + for (tmp2 in tmp1) { + if (tmp1.hasOwnProperty(tmp2)) { + Hyphenator.languages[lang].exceptions[tmp2] = tmp1[tmp2]; + } + } + } + //Replace exceptions since they may have been changed: + if (exceptions.hasOwnProperty(lang)) { + tmp1 = convertExceptionsToObject(exceptions[lang]); + for (tmp2 in tmp1) { + if (tmp1.hasOwnProperty(tmp2)) { + Hyphenator.languages[lang].exceptions[tmp2] = tmp1[tmp2]; + } + } + delete exceptions[lang]; + } + //Replace genRegExp since it may have been changed: + tmp1 = '[\\w' + Hyphenator.languages[lang].specialChars + '@' + String.fromCharCode(173) + String.fromCharCode(8204) + '-]{' + min + ',}'; + Hyphenator.languages[lang].genRegExp = new RegExp('(' + url + ')|(' + mail + ')|(' + tmp1 + ')', 'gi'); + + delete docLanguages[lang]; + callback(lang); + } else { + loadPatterns(lang); + } + } + } + // else async wait until patterns are loaded, then hyphenate + interval = window.setInterval(function () { + var finishedLoading = true, lang; + for (lang in docLanguages) { + if (docLanguages.hasOwnProperty(lang)) { + finishedLoading = false; + if (!!Hyphenator.languages[lang]) { + delete docLanguages[lang]; + //do conversion while other patterns are loading: + prepareLanguagesObj(lang); + callback(lang); + } + } + } + if (finishedLoading) { + window.clearInterval(interval); + state = 2; + } + }, 100); + }, + + /** + * @name Hyphenator-switchToggleBox + * @description + * Creates or hides the toggleBox: a small button to turn off/on hyphenation on a page. + * @see Hyphenator.config + * @private + */ + toggleBox = function () { + var bdy, myTextNode, + text = (Hyphenator.doHyphenation ? 'Hy-phen-a-tion' : 'Hyphenation'), + myBox = contextWindow.document.getElementById('HyphenatorToggleBox'); + if (!!myBox) { + myBox.firstChild.data = text; + } else { + bdy = contextWindow.document.getElementsByTagName('body')[0]; + myBox = createElem('div', contextWindow); + myBox.setAttribute('id', 'HyphenatorToggleBox'); + myBox.setAttribute('class', dontHyphenateClass); + myTextNode = contextWindow.document.createTextNode(text); + myBox.appendChild(myTextNode); + myBox.onclick = Hyphenator.toggleHyphenation; + myBox.style.position = 'absolute'; + myBox.style.top = '0px'; + myBox.style.right = '0px'; + myBox.style.margin = '0'; + myBox.style.backgroundColor = '#AAAAAA'; + myBox.style.color = '#FFFFFF'; + myBox.style.font = '6pt Arial'; + myBox.style.letterSpacing = '0.2em'; + myBox.style.padding = '3px'; + myBox.style.cursor = 'pointer'; + myBox.style.WebkitBorderBottomLeftRadius = '4px'; + myBox.style.MozBorderRadiusBottomleft = '4px'; + myBox.style.borderBottomLeftRadius = '4px'; + bdy.appendChild(myBox); + } + }, + + + /** + * @name Hyphenator-hyphenateWord + * @description + * This function is the heart of Hyphenator.js. It returns a hyphenated word. + * + * If there's already a {@link Hyphenator-hypen} in the word, the word is returned as it is. + * If the word is in the exceptions list or in the cache, it is retrieved from it. + * If there's a '-' put a zeroWidthSpace after the '-' and hyphenate the parts. + * @param {string} lang The language of the word + * @param {string} word The word + * @returns string The hyphenated word + * @public + */ + hyphenateWord = function (lang, word) { + var lo = Hyphenator.languages[lang], parts, l, subst, + w, characters, origWord, originalCharacters, wordLength, i, j, k, node, points = [], + characterPoints = [], nodePoints, nodePointsLength, m = Math.max, trie, + result = [''], pattern, r; + word = onBeforeWordHyphenation(word, lang); + if (word === '') { + r = ''; + } else if (enableCache && lo.cache.hasOwnProperty(word)) { //the word is in the cache + r = lo.cache[word]; + } else if (word.indexOf(hyphen) !== -1) { + //word already contains shy; -> leave at it is! + r = word; + } else if (lo.exceptions.hasOwnProperty(word)) { //the word is in the exceptions list + r = lo.exceptions[word].replace(/-/g, hyphen); + } else if (word.indexOf('-') !== -1) { + //word contains '-' -> hyphenate the parts separated with '-' + parts = word.split('-'); + for (i = 0, l = parts.length; i < l; i += 1) { + parts[i] = hyphenateWord(lang, parts[i]); + } + r = parts.join('-'); + } else { + origWord = word; + w = word = '_' + word + '_'; + if (!!lo.charSubstitution) { + for (subst in lo.charSubstitution) { + if (lo.charSubstitution.hasOwnProperty(subst)) { + w = w.replace(new RegExp(subst, 'g'), lo.charSubstitution[subst]); + } + } + } + if (origWord.indexOf("'") !== -1) { + w = w.replace("'", "’"); //replace APOSTROPHE with RIGHT SINGLE QUOTATION MARK (since the latter is used in the patterns) + } + /** @license BSD licenced code + * The following code is based on code from hypher.js + * Copyright (c) 2011, Bram Stein + */ + characters = w.toLowerCase().split(''); + originalCharacters = word.split(''); + wordLength = characters.length; + trie = lo.patterns; + for (i = 0; i < wordLength; i += 1) { + points[i] = 0; + characterPoints[i] = characters[i].charCodeAt(0); + } + for (i = 0; i < wordLength; i += 1) { + pattern = ''; + node = trie; + for (j = i; j < wordLength; j += 1) { + node = node[characterPoints[j]]; + if (node) { + if (enableReducedPatternSet) { + pattern += String.fromCharCode(characterPoints[j]); + } + nodePoints = node.tpoints; + if (nodePoints) { + if (enableReducedPatternSet) { + if (!lo.redPatSet) { + lo.redPatSet = {}; + } + lo.redPatSet[pattern] = recreatePattern(pattern, nodePoints); + } + for (k = 0, nodePointsLength = nodePoints.length; k < nodePointsLength; k += 1) { + points[i + k] = m(points[i + k], nodePoints[k]); + } + } + } else { + break; + } + } + } + for (i = 1; i < wordLength - 1; i += 1) { + if (i > lo.leftmin && i < (wordLength - lo.rightmin) && points[i] % 2) { + result.push(originalCharacters[i]); + } else { + result[result.length - 1] += originalCharacters[i]; + } + } + r = result.join(hyphen); + /** + * end of BSD licenced code from hypher.js + */ + } + r = onAfterWordHyphenation(r, lang); + if (enableCache) { //put the word in the cache + lo.cache[origWord] = r; + } + return r; + }, + + /** + * @name Hyphenator-hyphenateURL + * @description + * Puts {@link Hyphenator-urlhyphen} after each no-alphanumeric char that my be in a URL. + * @param {string} url to hyphenate + * @returns string the hyphenated URL + * @public + */ + hyphenateURL = function (url) { + return url.replace(/([:\/\.\?#&_,;!@]+)/gi, '$&' + urlhyphen); + }, + + /** + * @name Hyphenator-removeHyphenationFromElement + * @description + * Removes all hyphens from the element. If there are other elements, the function is + * called recursively. + * Removing hyphens is usefull if you like to copy text. Some browsers are buggy when the copy hyphenated texts. + * @param {Object} el The element where to remove hyphenation. + * @public + */ + removeHyphenationFromElement = function (el) { + var h, i = 0, n; + switch (hyphen) { + case '|': + h = '\\|'; + break; + case '+': + h = '\\+'; + break; + case '*': + h = '\\*'; + break; + default: + h = hyphen; + } + n = el.childNodes[i]; + while (!!n) { + if (n.nodeType === 3) { + n.data = n.data.replace(new RegExp(h, 'g'), ''); + n.data = n.data.replace(new RegExp(zeroWidthSpace, 'g'), ''); + } else if (n.nodeType === 1) { + removeHyphenationFromElement(n); + } + i += 1; + n = el.childNodes[i]; + } + }, + + /** + * @name Hyphenator-oncopyHandler + * @description + * The function called by registerOnCopy + * @private + */ + oncopyHandler, + + /** + * @name Hyphenator-removeOnCopy + * @description + * Method to remove copy event handler from the given element + * @param object a html object from witch we remove the event + * @private + */ + removeOnCopy = function (el) { + var body = el.ownerDocument.getElementsByTagName('body')[0]; + if (!body) { + return; + } + el = el || body; + if (window.removeEventListener) { + el.removeEventListener("copy", oncopyHandler, true); + } else { + el.detachEvent("oncopy", oncopyHandler); + } + }, + + /** + * @name Hyphenator-registerOnCopy + * @description + * Huge work-around for browser-inconsistency when it comes to + * copying of hyphenated text. + * The idea behind this code has been provided by http://github.com/aristus/sweet-justice + * sweet-justice is under BSD-License + * @param object an HTML element where the copy event will be registered to + * @private + */ + registerOnCopy = function (el) { + var body = el.ownerDocument.getElementsByTagName('body')[0], + shadow, + selection, + range, + rangeShadow, + restore; + oncopyHandler = function (e) { + e = e || window.event; + var target = e.target || e.srcElement, + currDoc = target.ownerDocument, + body = currDoc.getElementsByTagName('body')[0], + targetWindow = currDoc.defaultView || currDoc.parentWindow; + if (target.tagName && dontHyphenate[target.tagName.toLowerCase()]) { + //Safari needs this + return; + } + //create a hidden shadow element + shadow = currDoc.createElement('div'); + //Moving the element out of the screen doesn't work for IE9 (https://connect.microsoft.com/IE/feedback/details/663981/) + //shadow.style.overflow = 'hidden'; + //shadow.style.position = 'absolute'; + //shadow.style.top = '-5000px'; + //shadow.style.height = '1px'; + //doing this instead: + shadow.style.color = window.getComputedStyle ? targetWindow.getComputedStyle(body, null).backgroundColor : '#FFFFFF'; + shadow.style.fontSize = '0px'; + body.appendChild(shadow); + if (!!window.getSelection) { + //FF3, Webkit, IE9 + e.stopPropagation(); + selection = targetWindow.getSelection(); + range = selection.getRangeAt(0); + shadow.appendChild(range.cloneContents()); + removeHyphenationFromElement(shadow); + selection.selectAllChildren(shadow); + restore = function () { + shadow.parentNode.removeChild(shadow); + selection.removeAllRanges(); //IE9 needs that + selection.addRange(range); + }; + } else { + // IE<9 + e.cancelBubble = true; + selection = targetWindow.document.selection; + range = selection.createRange(); + shadow.innerHTML = range.htmlText; + removeHyphenationFromElement(shadow); + rangeShadow = body.createTextRange(); + rangeShadow.moveToElementText(shadow); + rangeShadow.select(); + restore = function () { + shadow.parentNode.removeChild(shadow); + if (range.text !== "") { + range.select(); + } + }; + } + window.setTimeout(restore, 0); + }; + if (!body) { + return; + } + el = el || body; + if (window.addEventListener) { + el.addEventListener("copy", oncopyHandler, true); + } else { + el.attachEvent("oncopy", oncopyHandler); + } + }, + + /** + * @name Hyphenator-checkIfAllDone + * @description + * Checks if all Elements are hyphenated, unhides them and fires onHyphenationDone() + * @private + */ + checkIfAllDone = function () { + var allDone = true, i; + elements.each(function (ellist) { + var i, l = ellist.length; + for (i = 0; i < l; i += 1) { + allDone = allDone && ellist[i].hyphenated; + } + }); + if (allDone) { + if (intermediateState === 'hidden' && unhide === 'progressive') { + elements.each(function (ellist) { + var i, l = ellist.length, el; + for (i = 0; i < l; i += 1) { + el = ellist[i].element; + el.className = el.className.replace(unhideClassRegExp, ''); + if (el.className === '') { + el.removeAttribute('class'); + } + } + }); + } + for (i = 0; i < CSSEditors.length; i += 1) { + CSSEditors[i].clearChanges(); + } + state = 3; + onHyphenationDone(); + } + }, + + + /** + * @name Hyphenator-hyphenateElement + * @description + * Takes the content of the given element and - if there's text - replaces the words + * by hyphenated words. If there's another element, the function is called recursively. + * When all words are hyphenated, the visibility of the element is set to 'visible'. + * @param {Object} el The element to hyphenate + * @private + */ + hyphenateElement = function (lang, elo) { + var el = elo.element, + hyphenate, + n, + i, + r, + controlOrphans = function (part) { + var h, r; + switch (hyphen) { + case '|': + h = '\\|'; + break; + case '+': + h = '\\+'; + break; + case '*': + h = '\\*'; + break; + default: + h = hyphen; + } + if (orphanControl >= 2) { + //remove hyphen points from last word + r = part.split(' '); + r[1] = r[1].replace(new RegExp(h, 'g'), ''); + r[1] = r[1].replace(new RegExp(zeroWidthSpace, 'g'), ''); + r = r.join(' '); + } + if (orphanControl === 3) { + //replace spaces by non breaking spaces + r = r.replace(/[ ]+/g, String.fromCharCode(160)); + } + return r; + }; + if (Hyphenator.languages.hasOwnProperty(lang)) { + hyphenate = function (word) { + if (!Hyphenator.doHyphenation) { + r = word; + } else if (urlOrMailRE.test(word)) { + r = hyphenateURL(word); + } else { + r = hyphenateWord(lang, word); + } + return r; + }; + if (safeCopy && (el.tagName.toLowerCase() !== 'body')) { + registerOnCopy(el); + } + i = 0; + n = el.childNodes[i]; + while (!!n) { + if (n.nodeType === 3 && n.data.length >= min) { //type 3 = #text -> hyphenate! + n.data = n.data.replace(Hyphenator.languages[lang].genRegExp, hyphenate); + if (orphanControl !== 1) { + n.data = n.data.replace(/[\S]+ [\S]+$/, controlOrphans); + } + } + i += 1; + n = el.childNodes[i]; + } + } + if (intermediateState === 'hidden' && unhide === 'wait') { + el.className = el.className.replace(hideClassRegExp, ''); + if (el.className === '') { + el.removeAttribute('class'); + } + } + if (intermediateState === 'hidden' && unhide === 'progressive') { + el.className = el.className.replace(hideClassRegExp, ' ' + unhideClass); + } + elo.hyphenated = true; + elements.hyCount += 1; + if (elements.count <= elements.hyCount) { + checkIfAllDone(); + } + }, + + + /** + * @name Hyphenator-hyphenateLanguageElements + * @description + * Calls hyphenateElement() for all elements of the specified language. + * If the language is '*' then all elements are hyphenated. + * This is done with a setTimout + * to prevent a "long running Script"-alert when hyphenating large pages. + * Therefore a tricky bind()-function was necessary. + * @private + */ + hyphenateLanguageElements = function (lang) { + function bind(fun, arg1, arg2) { + return function () { + return fun(arg1, arg2); + }; + } + var i, l; + if (lang === '*') { + elements.each(function (lang, ellist) { + var i, l = ellist.length; + for (i = 0; i < l; i += 1) { + window.setTimeout(bind(hyphenateElement, lang, ellist[i]), 0); + } + }); + } else { + if (elements.list.hasOwnProperty(lang)) { + l = elements.list[lang].length; + for (i = 0; i < l; i += 1) { + window.setTimeout(bind(hyphenateElement, lang, elements.list[lang][i]), 0); + } + } + } + }, + + /** + * @name Hyphenator-removeHyphenationFromDocument + * @description + * Does what it says ;-) + * @private + */ + removeHyphenationFromDocument = function () { + elements.each(function (ellist) { + var i, l = ellist.length; + for (i = 0; i < l; i += 1) { + removeHyphenationFromElement(ellist[i].element); + if (safeCopy) { + removeOnCopy(ellist[i].element); + } + ellist[i].hyphenated = false; + } + }); + state = 4; + }, + + /** + * @name Hyphenator-createStorage + * @description + * inits the private var storage depending of the setting in storageType + * and the supported features of the system. + * @private + */ + createStorage = function () { + var s; + try { + if (storageType !== 'none' && + window.localStorage !== undefined && + window.sessionStorage !== undefined && + window.JSON.stringify !== undefined && + window.JSON.parse !== undefined) { + switch (storageType) { + case 'session': + s = window.sessionStorage; + break; + case 'local': + s = window.localStorage; + break; + default: + s = undefined; + break; + } + } + } catch (f) { + //FF throws an error if DOM.storage.enabled is set to false + } + if (s) { + storage = { + prefix: 'Hyphenator_' + Hyphenator.version + '_', + store: s, + test: function (name) { + var val = this.store.getItem(this.prefix + name); + return (!!val) ? true : false; + }, + getItem: function (name) { + return this.store.getItem(this.prefix + name); + }, + setItem: function (name, value) { + this.store.setItem(this.prefix + name, value); + } + }; + } else { + storage = undefined; + } + }, + + /** + * @name Hyphenator-storeConfiguration + * @description + * Stores the current config-options in DOM-Storage + * @private + */ + storeConfiguration = function () { + if (!storage) { + return; + } + var settings = { + 'STORED': true, + 'classname': hyphenateClass, + 'donthyphenateclassname': dontHyphenateClass, + 'minwordlength': min, + 'hyphenchar': hyphen, + 'urlhyphenchar': urlhyphen, + 'togglebox': toggleBox, + 'displaytogglebox': displayToggleBox, + 'remoteloading': enableRemoteLoading, + 'enablecache': enableCache, + 'onhyphenationdonecallback': onHyphenationDone, + 'onerrorhandler': onError, + 'intermediatestate': intermediateState, + 'selectorfunction': selectorFunction || mySelectorFunction, + 'safecopy': safeCopy, + 'doframes': doFrames, + 'storagetype': storageType, + 'orphancontrol': orphanControl, + 'dohyphenation': Hyphenator.doHyphenation, + 'persistentconfig': persistentConfig, + 'defaultlanguage': defaultLanguage, + 'useCSS3hyphenation': css3, + 'unhide': unhide, + 'onbeforewordhyphenation': onBeforeWordHyphenation, + 'onafterwordhyphenation': onAfterWordHyphenation + }; + storage.setItem('config', window.JSON.stringify(settings)); + }, + + /** + * @name Hyphenator-restoreConfiguration + * @description + * Retrieves config-options from DOM-Storage and does configuration accordingly + * @private + */ + restoreConfiguration = function () { + var settings; + if (storage.test('config')) { + settings = window.JSON.parse(storage.getItem('config')); + Hyphenator.config(settings); + } + }; + + return { + + /** + * @name Hyphenator.version + * @memberOf Hyphenator + * @description + * String containing the actual version of Hyphenator.js + * [major release].[minor releas].[bugfix release] + * major release: new API, new Features, big changes + * minor release: new languages, improvements + * @public + */ + version: '4.2.0', + + /** + * @name Hyphenator.doHyphenation + * @description + * If doHyphenation is set to false (defaults to true), hyphenateDocument() isn't called. + * All other actions are performed. + */ + doHyphenation: true, + + /** + * @name Hyphenator.languages + * @memberOf Hyphenator + * @description + * Objects that holds key-value pairs, where key is the language and the value is the + * language-object loaded from (and set by) the pattern file. + * The language object holds the following members: + * + * + * + * + * + * + * + * + *
    keydesc>
    leftminThe minimum of chars to remain on the old line
    rightminThe minimum of chars to go on the new line
    shortestPatternThe shortes pattern (numbers don't count!)
    longestPatternThe longest pattern (numbers don't count!)
    specialCharsNon-ASCII chars in the alphabet.
    patternsthe patterns
    + * And optionally (or after prepareLanguagesObj() has been called): + * + * + *
    exceptionsExcpetions for the secified language
    + * @public + */ + languages: {}, + + + /** + * @name Hyphenator.config + * @description + * Config function that takes an object as an argument. The object contains key-value-pairs + * containig Hyphenator-settings. This is a shortcut for calling Hyphenator.set...-Methods. + * @param {Object} obj + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
    keyvaluesdefault
    classnamestring'hyphenate'
    donthyphenateclassnamestring''
    minwordlengthinteger6
    hyphencharstring'&shy;'
    urlhyphencharstring'zero with space'
    toggleboxfunctionsee code
    displaytoggleboxbooleanfalse
    remoteloadingbooleantrue
    enablecachebooleantrue
    enablereducedpatternsetbooleanfalse
    onhyphenationdonecallbackfunctionempty function
    onerrorhandlerfunctionalert(onError)
    intermediatestatestring'hidden'
    selectorfunctionfunction[…]
    safecopybooleantrue
    doframesbooleanfalse
    storagetypestring'none'
    + * @public + * @example <script src = "Hyphenator.js" type = "text/javascript"></script> +  * <script type = "text/javascript"> +  * Hyphenator.config({'minwordlength':4,'hyphenchar':'|'}); + * Hyphenator.run(); +  * </script> + */ + config: function (obj) { + var assert = function (name, type) { + var r, t; + t = typeof obj[name]; + if (t === type) { + r = true; + } else { + onError(new Error('Config onError: ' + name + ' must be of type ' + type)); + r = false; + } + return r; + }, + key; + + if (obj.hasOwnProperty('storagetype')) { + if (assert('storagetype', 'string')) { + storageType = obj.storagetype; + } + if (!storage) { + createStorage(); + } + } + if (!obj.hasOwnProperty('STORED') && storage && obj.hasOwnProperty('persistentconfig') && obj.persistentconfig === true) { + restoreConfiguration(); + } + + for (key in obj) { + if (obj.hasOwnProperty(key)) { + switch (key) { + case 'STORED': + break; + case 'classname': + if (assert('classname', 'string')) { + hyphenateClass = obj[key]; + } + break; + case 'donthyphenateclassname': + if (assert('donthyphenateclassname', 'string')) { + dontHyphenateClass = obj[key]; + } + break; + case 'minwordlength': + if (assert('minwordlength', 'number')) { + min = obj[key]; + } + break; + case 'hyphenchar': + if (assert('hyphenchar', 'string')) { + if (obj.hyphenchar === '­') { + obj.hyphenchar = String.fromCharCode(173); + } + hyphen = obj[key]; + } + break; + case 'urlhyphenchar': + if (obj.hasOwnProperty('urlhyphenchar')) { + if (assert('urlhyphenchar', 'string')) { + urlhyphen = obj[key]; + } + } + break; + case 'togglebox': + if (assert('togglebox', 'function')) { + toggleBox = obj[key]; + } + break; + case 'displaytogglebox': + if (assert('displaytogglebox', 'boolean')) { + displayToggleBox = obj[key]; + } + break; + case 'remoteloading': + if (assert('remoteloading', 'boolean')) { + enableRemoteLoading = obj[key]; + } + break; + case 'enablecache': + if (assert('enablecache', 'boolean')) { + enableCache = obj[key]; + } + break; + case 'enablereducedpatternset': + if (assert('enablereducedpatternset', 'boolean')) { + enableReducedPatternSet = obj[key]; + } + break; + case 'onhyphenationdonecallback': + if (assert('onhyphenationdonecallback', 'function')) { + onHyphenationDone = obj[key]; + } + break; + case 'onerrorhandler': + if (assert('onerrorhandler', 'function')) { + onError = obj[key]; + } + break; + case 'intermediatestate': + if (assert('intermediatestate', 'string')) { + intermediateState = obj[key]; + } + break; + case 'selectorfunction': + if (assert('selectorfunction', 'function')) { + selectorFunction = obj[key]; + } + break; + case 'safecopy': + if (assert('safecopy', 'boolean')) { + safeCopy = obj[key]; + } + break; + case 'doframes': + if (assert('doframes', 'boolean')) { + doFrames = obj[key]; + } + break; + case 'storagetype': + if (assert('storagetype', 'string')) { + storageType = obj[key]; + } + break; + case 'orphancontrol': + if (assert('orphancontrol', 'number')) { + orphanControl = obj[key]; + } + break; + case 'dohyphenation': + if (assert('dohyphenation', 'boolean')) { + Hyphenator.doHyphenation = obj[key]; + } + break; + case 'persistentconfig': + if (assert('persistentconfig', 'boolean')) { + persistentConfig = obj[key]; + } + break; + case 'defaultlanguage': + if (assert('defaultlanguage', 'string')) { + defaultLanguage = obj[key]; + } + break; + case 'useCSS3hyphenation': + if (assert('useCSS3hyphenation', 'boolean')) { + css3 = obj[key]; + } + break; + case 'unhide': + if (assert('unhide', 'string')) { + unhide = obj[key]; + } + break; + case 'onbeforewordhyphenation': + if (assert('onbeforewordhyphenation', 'function')) { + onBeforeWordHyphenation = obj[key]; + } + break; + case 'onafterwordhyphenation': + if (assert('onafterwordhyphenation', 'function')) { + onAfterWordHyphenation = obj[key]; + } + break; + default: + onError(new Error('Hyphenator.config: property ' + key + ' not known.')); + } + } + } + if (storage && persistentConfig) { + storeConfiguration(); + } + }, + + /** + * @name Hyphenator.run + * @description + * Bootstrap function that starts all hyphenation processes when called. + * @public + * @example <script src = "Hyphenator.js" type = "text/javascript"></script> +  * <script type = "text/javascript"> +  *   Hyphenator.run(); +  * </script> + */ + run: function () { + var process = function () { + try { + if (contextWindow.document.getElementsByTagName('frameset').length > 0) { + return; //we are in a frameset + } + autoSetMainLanguage(undefined); + gatherDocumentInfos(); + prepare(hyphenateLanguageElements); + if (displayToggleBox) { + toggleBox(); + } + } catch (e) { + onError(e); + } + }, i, haveAccess, fl = window.frames.length; + + if (!storage) { + createStorage(); + } + if (!documentLoaded && !isBookmarklet) { + runOnContentLoaded(window, process); + } + if (isBookmarklet || documentLoaded) { + if (doFrames && fl > 0) { + for (i = 0; i < fl; i += 1) { + haveAccess = undefined; + //try catch isn't enough for webkit + try { + //opera throws only on document.toString-access + haveAccess = window.frames[i].document.toString(); + } catch (e) { + haveAccess = undefined; + } + if (!!haveAccess) { + contextWindow = window.frames[i]; + process(); + } + } + } + contextWindow = window; + process(); + } + }, + + /** + * @name Hyphenator.addExceptions + * @description + * Adds the exceptions from the string to the appropriate language in the + * {@link Hyphenator-languages}-object + * @param {string} lang The language + * @param {string} words A comma separated string of hyphenated words WITH spaces. + * @public + * @example <script src = "Hyphenator.js" type = "text/javascript"></script> +  * <script type = "text/javascript"> +  *   Hyphenator.addExceptions('de','ziem-lich, Wach-stube'); + * Hyphenator.run(); +  * </script> + */ + addExceptions: function (lang, words) { + if (lang === '') { + lang = 'global'; + } + if (exceptions.hasOwnProperty(lang)) { + exceptions[lang] += ", " + words; + } else { + exceptions[lang] = words; + } + }, + + /** + * @name Hyphenator.hyphenate + * @public + * @description + * Hyphenates the target. The language patterns must be loaded. + * If the target is a string, the hyphenated string is returned, + * if it's an object, the values are hyphenated directly. + * @param {string|Object} target the target to be hyphenated + * @param {string} lang the language of the target + * @returns string + * @example <script src = "Hyphenator.js" type = "text/javascript"></script> + * <script src = "patterns/en.js" type = "text/javascript"></script> +  * <script type = "text/javascript"> + * var t = Hyphenator.hyphenate('Hyphenation', 'en'); //Hy|phen|ation + * </script> + */ + hyphenate: function (target, lang) { + var hyphenate, n, i; + if (Hyphenator.languages.hasOwnProperty(lang)) { + if (!Hyphenator.languages[lang].prepared) { + prepareLanguagesObj(lang); + } + hyphenate = function (word) { + var r; + if (urlOrMailRE.test(word)) { + r = hyphenateURL(word); + } else { + r = hyphenateWord(lang, word); + } + return r; + }; + if (typeof target === 'object' && !(typeof target === 'string' || target.constructor === String)) { + i = 0; + n = target.childNodes[i]; + while (!!n) { + if (n.nodeType === 3 && n.data.length >= min) { //type 3 = #text -> hyphenate! + n.data = n.data.replace(Hyphenator.languages[lang].genRegExp, hyphenate); + } else if (n.nodeType === 1) { + if (n.lang !== '') { + Hyphenator.hyphenate(n, n.lang); + } else { + Hyphenator.hyphenate(n, lang); + } + } + i += 1; + n = target.childNodes[i]; + } + } else if (typeof target === 'string' || target.constructor === String) { + return target.replace(Hyphenator.languages[lang].genRegExp, hyphenate); + } + } else { + onError(new Error('Language "' + lang + '" is not loaded.')); + } + }, + + /** + * @name Hyphenator.getRedPatternSet + * @description + * Returns {@link Hyphenator-isBookmarklet}. + * @param {string} lang the language patterns are stored for + * @returns object {'patk': pat} + * @public + */ + getRedPatternSet: function (lang) { + return Hyphenator.languages[lang].redPatSet; + }, + + /** + * @name Hyphenator.isBookmarklet + * @description + * Returns {@link Hyphenator-isBookmarklet}. + * @returns boolean + * @public + */ + isBookmarklet: function () { + return isBookmarklet; + }, + + getConfigFromURI: function () { + /*jslint evil: true*/ + var loc = null, re = {}, jsArray = contextWindow.document.getElementsByTagName('script'), i, j, l, s, gp, option; + for (i = 0, l = jsArray.length; i < l; i += 1) { + if (!!jsArray[i].getAttribute('src')) { + loc = jsArray[i].getAttribute('src'); + } + if (loc && (loc.indexOf('Hyphenator.js?') !== -1)) { + s = loc.indexOf('Hyphenator.js?'); + gp = loc.substring(s + 14).split('&'); + for (j = 0; j < gp.length; j += 1) { + option = gp[j].split('='); + if (option[0] !== 'bm') { + if (option[1] === 'true') { + option[1] = true; + } else if (option[1] === 'false') { + option[1] = false; + } else if (isFinite(option[1])) { + option[1] = parseInt(option[1], 10); + } + if (option[0] === 'onhyphenationdonecallback') { + option[1] = new Function('', option[1]); + } + re[option[0]] = option[1]; + } + } + break; + } + } + return re; + }, + + /** + * @name Hyphenator.toggleHyphenation + * @description + * Checks the current state of the ToggleBox and removes or does hyphenation. + * @public + */ + toggleHyphenation: function () { + if (Hyphenator.doHyphenation) { + if (!!css3hyphenateClassHandle) { + css3hyphenateClassHandle.setRule('.' + css3hyphenateClass, css3_h9n.property + ': none;'); + } + removeHyphenationFromDocument(); + Hyphenator.doHyphenation = false; + storeConfiguration(); + toggleBox(); + } else { + if (!!css3hyphenateClassHandle) { + css3hyphenateClassHandle.setRule('.' + css3hyphenateClass, css3_h9n.property + ': auto;'); + } + hyphenateLanguageElements('*'); + Hyphenator.doHyphenation = true; + storeConfiguration(); + toggleBox(); + } + } + }; +}(window)); +//Export properties/methods (for google closure compiler) +/* to be moved to external file +Hyphenator['languages'] = Hyphenator.languages; +Hyphenator['config'] = Hyphenator.config; +Hyphenator['run'] = Hyphenator.run; +Hyphenator['addExceptions'] = Hyphenator.addExceptions; +Hyphenator['hyphenate'] = Hyphenator.hyphenate; +Hyphenator['getRedPatternSet'] = Hyphenator.getRedPatternSet; +Hyphenator['isBookmarklet'] = Hyphenator.isBookmarklet; +Hyphenator['getConfigFromURI'] = Hyphenator.getConfigFromURI; +Hyphenator['toggleHyphenation'] = Hyphenator.toggleHyphenation; +window['Hyphenator'] = Hyphenator; +*/ +if (Hyphenator.isBookmarklet()) { + Hyphenator.config({displaytogglebox: true, intermediatestate: 'visible', doframes: true, useCSS3hyphenation: true}); + Hyphenator.config(Hyphenator.getConfigFromURI()); + Hyphenator.run(); +} \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/Hyphenator_Loader.js b/alt-implementations/readifry-master/hyphenator/Hyphenator_Loader.js new file mode 100644 index 0000000..dc9b1a2 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/Hyphenator_Loader.js @@ -0,0 +1,249 @@ +/** + * @constructor + * @description Checks if there's CSS-hyphenation available for the given languages and + * loads and runs Hyphenator if there's no CSS-hyphenation + * @author Mathias Nater,
    mathias@mnn.ch + * @version 1.0.0 + * @namespace Holds all methods and properties + */ + +/* The following comment is for JSLint: */ +/*global Hyphenator: false, Hyphenator_Loader: false */ +/*jslint browser: true */ + +var Hyphenator_Loader = (function (window) { + 'use strict'; + var + languages, + config, + + /** + * @name Hyphenator-createElem + * @description + * A function alias to document.createElementNS or document.createElement + * @param {string} tagname the Element to create + * @type {function({string})} + * @private + */ + createElem = function (tagname) { + var r; + if (window.document.createElementNS) { + r = window.document.createElementNS('http://www.w3.org/1999/xhtml', tagname); + } else if (window.document.createElement) { + r = window.document.createElement(tagname); + } + return r; + }, + + /** + * @name Hyphenator-checkLangSupport + * @description + * A function alias to document.createElementNS or document.createElement + * @type {function(string, string)} + * @param {string} lang language code of the language to check + * @param {string} longword a word (best 12 characters or longer) to be hyphenated + * @private + */ + checkLangSupport = function (lang, longword) { + var + shadow, + computedHeight, + //to be checked: may be this could be set in a different DOM (don't wait for loading…) + bdy = window.document.getElementsByTagName('body')[0]; + + //create and append shadow-test-element + shadow = createElem('div'); + shadow.style.width = '5em'; + shadow.style.MozHyphens = 'auto'; + shadow.style['-webkit-hyphens'] = 'auto'; + shadow.style['-ms-hyphens'] = 'auto'; + shadow.style.hyphens = 'auto'; + shadow.style.fontSize = '12px'; + shadow.style.lineHeight = '12px'; + shadow.style.visibility = 'hidden'; + + shadow.lang = lang; + shadow.style['-webkit-locale'] = "'" + lang + "'"; + shadow.innerHTML = longword; + + bdy.appendChild(shadow); + + //measure its height + //computedHeight = parseInt(window.getComputedStyle(shadow, null).height.slice(0, -2), 10); + computedHeight = shadow.offsetHeight; + + //remove shadow element + bdy.removeChild(shadow); + + return (computedHeight > 12) ? true : false; + }, + + /** + * @name Hyphenator-loadNrunHyphenator + * @description Loads Hyphenator.js and runs it with the given configuration + * @type {function({object})} + * @param {object} config the configuration object for Hyphenator.js + * @private + */ + loadNrunHyphenator = function (config) { + var head, script, interval; + + + head = window.document.getElementsByTagName('head').item(0); + script = createElem('script'); + script.src = '../Hyphenator.js'; + script.type = 'text/javascript'; + head.appendChild(script); + + interval = window.setInterval(function () { + if (!!Hyphenator) { + window.clearInterval(interval); + Hyphenator.config(config); + Hyphenator.run(); + } + }, 100); + }, + + runner = function () { + var loadHyphenator = false, r, results = {}, lang; + for (lang in languages) { + if (languages.hasOwnProperty(lang)) { + r = checkLangSupport(lang, languages[lang]); + results[lang] = r; + loadHyphenator = loadHyphenator || !r; + } + } + if (loadHyphenator) { + loadNrunHyphenator(config); + } + }, + + /* + * runOnContentLoaded is based od jQuery.bindReady() + * see + * jQuery JavaScript Library v1.3.2 + * http://jquery.com/ + * + * Copyright (c) 2009 John Resig + * Dual licensed under the MIT and GPL licenses. + * http://docs.jquery.com/License + * + * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009) + * Revision: 6246 + */ + /** + * @name Hyphenator-runOnContentLoaded + * @description + * A crossbrowser solution for the DOMContentLoaded-Event based on jQuery + * 0) { + for (i = 0; i < fl; i += 1) { + haveAccess = undefined; + //try catch isn't enough for webkit + try { + //opera throws only on document.toString-access + haveAccess = window.frames[i].document.toString(); + } catch (e) { + haveAccess = undefined; + } + if (!!haveAccess) { + if (window.frames[i].location.href !== 'about:blank') { + init(window.frames[i]); + } + } + } + contextWindow = window; + f(); + hyphRunForThis[window.location.href] = true; + } else { + init(window); + } + }, + + // Cleanup functions for the document ready method + DOMContentLoaded = function (e) { + if (e.type === 'readystatechange' && window.document.readyState !== 'complete') { + return; + } + window.document[rem](pre + e.type, DOMContentLoaded, false); + if (!doFrames && window.frames.length === 0) { + init(window); + } /* else { + //we are in a frameset, so do nothing but wait for onload to fire + + }*/ + }; + + if (window.document.readyState === "complete" || window.document.readyState === "interactive") { + //Running Hyphenator.js if it has been loaded later + //Thanks to davenewtron http://code.google.com/p/hyphenator/issues/detail?id=158#c10 + window.setTimeout(doOnLoad, 1); + } else { + //registering events + window.document[add](pre + "DOMContentLoaded", DOMContentLoaded, false); + window.document[add](pre + 'readystatechange', DOMContentLoaded, false); + window[add](pre + 'load', doOnLoad, false); + toplevel = false; + try { + toplevel = !window.frameElement; + } catch (e) {} + if (window.document.documentElement.doScroll && toplevel) { + doScrollCheck(); + } + } + }; + + return { + /** + * @name Hyphenator_Loader.init + * @description Bootstrap function that inits the loader + * @param {Object} languages an object with the language as key and a long word as value + * @param {Object} config the Hyphenator.js configuration object + * @public + */ + init: function (langs, configs) { + languages = langs; + config = configs || {}; + runOnContentLoaded(window, runner); + } + }; +}(window)); \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/WorkingExample.html b/alt-implementations/readifry-master/hyphenator/WorkingExample.html new file mode 100644 index 0000000..0b25738 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/WorkingExample.html @@ -0,0 +1,37 @@ + + + + Hyphenator.js + + + + + + +

    Example of using Hyphenator.js

    +

    Deutsch

    +

    Deutschsprachige Beispieltexte haben natürlicherweise längere Wortzusammensetzungen als englischsprachige. Aber auch “hyphenation” ist ein ziemlich langes Kompositum.

    +

    Verändern Sie die Fenstergrösse um den Effekt der Silbentrennung zu sehen.

    +

    English

    +

    English words are shorter in the average then german words. «Silbentrennungsalgorithmus» for example is quite long.

    +

    Resize the window to see hyphenation in effect.

    +

    Links

    +

    Not only words but also links like http://code.google.com/p/hyphenator/ are processed. But in a special manner (using zero width space).

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/compressor.html b/alt-implementations/readifry-master/hyphenator/compressor.html new file mode 100644 index 0000000..7411939 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/compressor.html @@ -0,0 +1,238 @@ + + + + Hyphenator.js – pattern compressor + + + + + +

    Compressor for Hyphenator logo

    +

    + Compressor converts standard TeX hyphenation patterns to a special format used by hyphenator.js and adds some meta-information automatically. Just fill in the language, leftmin, rightmin and the patterns (overwrite the examples!) and click 'Convert!'.

    +

    + Copy the output and paste it in the appropriate pattern file ('patterns/lang.js').
    + The script loads the version of Hyphenator.js that resides in the same directory as this page. +

    +
    +
    + Paste TeX-styled patterns: +

    +
    +
    + +

    +

    + + +
    +
    + Copy Hyphenator.js pattern files: +

    Copy the output and paste it in the appropriate pattern file ('patterns/<lang>.js').

    + +
    +
    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/favicon.ico b/alt-implementations/readifry-master/hyphenator/favicon.ico new file mode 100755 index 0000000000000000000000000000000000000000..7ff1deb82a36b8d85c3cf5a649934d6c42c02f41 GIT binary patch literal 4598 zcmeH}ze^)g5XZlsawpm(2iJ#ih^3H!z#`2xhfUh!KnPe{q`AT}Tw|TeQb}Vg1Pojq z(0?Fcb!Fh-I>m8j*N;fJi7E^3DWnoK5|PN$m9W-_zDT>FuK->%)u5BL4sd*|`?<(KsN&~8`lY=7&$*(cZCd>`A+ z#?K48Jhk7>>)W5P+4b@6@+@YU9UNuCt`2kgcbrRq<_wUit zpV~hA5WeIC|BEE!@SkU>nG=f tIPf1YJAct}sqK?z_~Xx_yvoi`Z680W + + + Hyphenator – merge+pack + + + + + + + + + + + + + + + + + + + + +

    merge+pack Hyphenator logo

    +

    + Hyphenator.js automatically loads language pattern files. This is convenient but not performant, since at minimum two http-requests are necessary.
    + This page provides a service to merge the script and the language patterns in one file. You may also set the configure parameters and minify the resulting script. +

    +

    + Since this page uses XMLHttpRequests to load the script and pattern files, it will not work if you call it with the file:// protocol. Instead put it on your server or go to http://code.google.com/p/hyphenator/. +

    +

    + The script loads the version of Hyphenator.js that resides in the same directory like this page. +

    +
    +
    + Languages +

    + Select the language you use on your website. The patterns of the selected languages will be included in the ouputted script for faster page loading. + If you select no language, make sure that "enable remote loading" is on (see below)! +

    +
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    +
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    +
      +
    • +
    +
    +
    + Configuration +

    + Make the settings for Hyphenator. Leave empty textfields empty for the default value to be set. If no special configuration is made, there will be no Hyphenator.config(); function in the output. +

    +

    + Show-Info Button +

    +
    A value lesser than 4 makes no sense. By increasing this value lesser words will be hyphenated, thus, there's a small speed gain.
    +

    + +

    +

    + +

    + +

    + Show-Info Button +

    +
    At best you define the language by using the lang-Attribute in your HTML-Document. But sometimes this isn't possible. In this case you can set the language here. Use a two-letter language code (e.g. en for English).
    + +

    + Show-Info Button

    +
    Sometimes you like to run the script, prepare everything, but not to hyphenate yet.
    Hyphenation can later be executed by calling Hyphenator.toggleHyphenation()
    + +

    + Show-Info Button

    +
    By enabling remote loading Hyphenator will automatically load language patterns of supported languages when they are needed.
    + If you turn off remote loading Hyphenator only hyphenates texts in languages it has the patterns for. Make sure you have them selected!
    +

    + Show-Info Button

    +
    Once a word is hyphenated it is cached, thus a word has only to be hyphenated once. You can turn this mechanism off – mainly for performance-measuring. +
    +

    + Show-Info Button

    +
    Browsers don't remove soft hyphens from copied text. By enabling this feature hyphenation is removed on copy. This only works in browsers that support the oncopy-event. +
    +

    + Show-Info Button

    +
    By default, hyphenator doesn't hyphenate text in frames. You can turn this on, but it will only work on frames that fullfill the same origin policy! +
    +

    + Show-Info Button

    +
    With this option enabled, all configuration options are stored in a object called `Hyphenator_config` in the storage type defined by the property `storagetype` (if `storagetype is none` or storage isn't supported, nothing is stored).
    By reloading or going to an other page, those settings remain set. This is very and specially usefull for the toggle-button.
    Be carefull with this option! +
    +

    + Show-Info Button

    +
    Since Javascript is executed after the page is loaded, the user may see the unhyphenated text for a short time befor it is hyphenated and redrawn. To prevent this all textblocks treated by Hyphenator are set to invisible upon hyphenation (setting: "hidden"). The result is, that only hyphenated text is displayed.
    + On the other hand – if there's an error in the execution of Hyphenator.js – the text may stay invisible. Turn hiding off for debugging or if you prefer to see the redrawing of the text (setting: "visible"). +
    + + +

    + Show-Info Button

    +
    Hyphenation patterns can be stored in DOM-Storage for later reuse. You can define the method (if at all):
    + 'local': patterns are stored locally (they will be there even after a restart)
    + 'session': patterns are removed if the window is closed
    + 'none': DOM-Storage is not used
    + Degrades gracefully, if the browser does not support DOM-Storage. +
    + +

    + Show-Info Button

    +
    Elements can either be hyphenated when all necessary patterns are loaded ('wait') or when the patterns for the specified language are loaded ('progressive').
    + The second option may be useful on multilanguage pages, where one language takes much longer to load. +
    + +

    + Show-Info Button

    +
    With this option enabled Hyphenator.js checks if the browser supports CSS3-hyphenation. If so, the elements are hyphenated by the browser instead of Hyphenator.js.
    + For unsupported languages or other browsers Hyphenator.js fills the gap and hyphenates as expected. +
    +

    + + + + +

    + Element Selection +

    Indicate how to get the elements for hyphenation:

    +

    + Show-Info Button +
    + Show-Info Button +

    +
    + +
    +
    + +
    +
    Using this method Hyphenator.js searches the DOM for elements with the indicated classname. Note: an element can have multiple classnames; separate them with spaces (e.g. <div class="content hyphenate">) +
    +
    If you want to have more control over the element selection you may define your own selector function. It has to return an array of elements to be hyphenated. Specifially if you use a JavaScript-Framework, this may be very interesting… +
    + +

    Indicate a classname for elements that should NOT be hyphenated:
    + Show-Info Button +

    +
    You can turn off hyphenation for elements with the indicated classname. (Note: The following elements are never hyphenated: script, code, pre, img, br, samp, kbd, var, abbr, acronym, sub, sup, button, option, label, textarea) +
    +
    +
    + Toggle Box +

    Indicate how the Togglebox should be displayed:

    +

    Show-Info Button

    +
    The standard togglebox is a small button in the upper right corner of the page. By clicking on it, the user can turn off/on hyphenation. This is useful for copying or searching text on the site.
    + Since the standard togglebox may interfere with the design of your page, you can define it on your own. +
    +
    +
    +
    +
    +
    +
    +
    +
    + Special Settings +

    + Show-Info Button

    +
    +
    +
    This function is called, when hyphenation of a page is completed.
    +

    + Show-Info Button

    +
    +
    +
    Most errors are catched and catched errors dipatch the onerror function. By default there's an alert with a predefined text. You can change this function.
    +
    +
    + Minify +

    By minifying the resulting script you can save some bandwith. This page uses the JavaScript-Version of jsmin since it's easy to run on a webpage. You may achieve better results if you pack the resulting script with other minifiers/packers such as YUI Compressor or Google's Closure Compiler.

    +

    + + +

    +
    +
    +

    + + +

    +
    +
    +

    Copy the merged and packed script from the output field as is to a new text-file give it a name (e.g. "hyphenate.js") and include it in your website (<script src="hyphenate.js" type="text/javascript"></script>).
    + It will run automatically.

    +

    + Note: You are not allowed to remove the licensing at the beginning of the script!

    +

    + +

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/modalLangDialog.html b/alt-implementations/readifry-master/hyphenator/modalLangDialog.html new file mode 100644 index 0000000..49a7f05 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/modalLangDialog.html @@ -0,0 +1,63 @@ + + + + Hyphenator.js: select language + + + + +

    Hyphenator.js

    +

    +
    + + +
    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/patterns/be.js b/alt-implementations/readifry-master/hyphenator/patterns/be.js new file mode 100644 index 0000000..07b6a25 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/patterns/be.js @@ -0,0 +1,22 @@ +// Created by Olexandr Zhydenko ((olexandr.zhydenko (at) gmail.com) +// +// Based on the file: hyph_be_BY.dic +// Created by: Alex Buloichik +// Corrected by: Liasovich Sviatlana +// License: LGPL +Hyphenator.languages['be'] = { + leftmin : 2, + rightmin : 2, + specialChars : "'’абвгґдежзиійклмнопрстуўфхцчшьыэюя", + patterns : { + 3:"а1аа1еа1ёа1іа1оа1уа1ыа1эа1юа1яе1ае1ее1ёе1іе1ое1уе1ые1эе1юе1яё1аё1её1ёё1іё1оё1уё1ыё1эё1юё1яі1аі1еі1ёі1іі1оі1уі1ыі1эі1юі1яо1ао1ео1ёо1іо1оо1уо1ыо1эо1юо1яу1ау1еу1ёу1іу1оу1уу1ыу1эу1юу1яы1аы1еы1ёы1іы1оы1уы1ыы1эы1юы1яэ1аэ1еэ1ёэ1іэ1оэ1уэ1ыэ1ээ1юэ1яю1аю1ею1ёю1ію1ою1ую1ыю1эю1юю1яя1ая1ея1ёя1ія1оя1уя1ыя1эя1юя1я_б88б__в88в__г88г__ґ88ґ__д88д__ж88ж__з88з__й88й__к88к__л88л__м88м__н88н__п88п__р88р__с88с__т88т__ў88ў__ф88ф__х88х__ц88ц__ч88ч__ш88ш__ь88ь__а88а__е88е__ё88ё__і88і__о88о__у88у__ы88ы__э88э__ю88ю__я88я_б1бв1вг1гґ1ґд1дж1жз1зй1йк1кл1лм1мн1нп1пр1рс1ст1тў1ўф1фх1хц1цч1чш1шь1ьб8ьв8ьг8ьґ8ьд8ьж8ьз8ьй8ьк8ьл8ьм8ьн8ьп8ьр8ьс8ьт8ьў8ьф8ьх8ьц8ьч8ьш8ьь8ьд8зд8ж", + 4:"1б8а1б8е1б8ё1б8і1б8о1б8у1б8ы1б8э1б8ю1б8я1в8а1в8е1в8ё1в8і1в8о1в8у1в8ы1в8э1в8ю1в8я1г8а1г8е1г8ё1г8і1г8о1г8у1г8ы1г8э1г8ю1г8я1ґ8а1ґ8е1ґ8ё1ґ8і1ґ8о1ґ8у1ґ8ы1ґ8э1ґ8ю1ґ8я1д8а1д8е1д8ё1д8і1д8о1д8у1д8ы1д8э1д8ю1д8я1ж8а1ж8е1ж8ё1ж8і1ж8о1ж8у1ж8ы1ж8э1ж8ю1ж8я1з8а1з8е1з8ё1з8і1з8о1з8у1з8ы1з8э1з8ю1з8я1й8а1й8е1й8ё1й8і1й8о1й8у1й8ы1й8э1й8ю1й8я1к8а1к8е1к8ё1к8і1к8о1к8у1к8ы1к8э1к8ю1к8я1л8а1л8е1л8ё1л8і1л8о1л8у1л8ы1л8э1л8ю1л8я1м8а1м8е1м8ё1м8і1м8о1м8у1м8ы1м8э1м8ю1м8я1н8а1н8е1н8ё1н8і1н8о1н8у1н8ы1н8э1н8ю1н8я1п8а1п8е1п8ё1п8і1п8о1п8у1п8ы1п8э1п8ю1п8я1р8а1р8е1р8ё1р8і1р8о1р8у1р8ы1р8э1р8ю1р8я1с8а1с8е1с8ё1с8і1с8о1с8у1с8ы1с8э1с8ю1с8я1т8а1т8е1т8ё1т8і1т8о1т8у1т8ы1т8э1т8ю1т8я1ў8а1ў8е1ў8ё1ў8і1ў8о1ў8у1ў8ы1ў8э1ў8ю1ў8я1ф8а1ф8е1ф8ё1ф8і1ф8о1ф8у1ф8ы1ф8э1ф8ю1ф8я1х8а1х8е1х8ё1х8і1х8о1х8у1х8ы1х8э1х8ю1х8я1ц8а1ц8е1ц8ё1ц8і1ц8о1ц8у1ц8ы1ц8э1ц8ю1ц8я1ч8а1ч8е1ч8ё1ч8і1ч8о1ч8у1ч8ы1ч8э1ч8ю1ч8я1ш8а1ш8е1ш8ё1ш8і1ш8о1ш8у1ш8ы1ш8э1ш8ю1ш8я1ь8а1ь8е1ь8ё1ь8і1ь8о1ь8у1ь8ы1ь8э1ь8ю1ь8я_бб88бб__бв88бв__бг88бг__бґ88бґ__бд88бд__бж88бж__бз88бз__бй88бй__бк88бк__бл88бл__бм88бм__бн88бн__бп88бп__бр88бр__бс88бс__бт88бт__бў88бў__бф88бф__бх88бх__бц88бц__бч88бч__бш88бш__бь88бь__б'8_б’8_вб88вб__вв88вв__вг88вг__вґ88вґ__вд88вд__вж88вж__вз88вз__вй88вй__вк88вк__вл88вл__вм88вм__вн88вн__вп88вп__вр88вр__вс88вс__вт88вт__вў88вў__вф88вф__вх88вх__вц88вц__вч88вч__вш88вш__вь88вь__в'8_в’8_гб88гб__гв88гв__гг88гг__гґ88гґ__гд88гд__гж88гж__гз88гз__гй88гй__гк88гк__гл88гл__гм88гм__гн88гн__гп88гп__гр88гр__гс88гс__гт88гт__гў88гў__гф88гф__гх88гх__гц88гц__гч88гч__гш88гш__гь88гь__г'8_г’8_ґб88ґб__ґв88ґв__ґг88ґг__ґґ88ґґ__ґд88ґд__ґж88ґж__ґз88ґз__ґй88ґй__ґк88ґк__ґл88ґл__ґм88ґм__ґн88ґн__ґп88ґп__ґр88ґр__ґс88ґс__ґт88ґт__ґў88ґў__ґф88ґф__ґх88ґх__ґц88ґц__ґч88ґч__ґш88ґш__ґь88ґь__ґ'8_ґ’8_дб88дб__дв88дв__дг88дг__дґ88дґ__дд88дд__дж88дж__дз88дз__дй88дй__дк88дк__дл88дл__дм88дм__дн88дн__дп88дп__др88др__дс88дс__дт88дт__дў88дў__дф88дф__дх88дх__дц88дц__дч88дч__дш88дш__дь88дь__д'8_д’8_жб88жб__жв88жв__жг88жг__жґ88жґ__жд88жд__жж88жж__жз88жз__жй88жй__жк88жк__жл88жл__жм88жм__жн88жн__жп88жп__жр88жр__жс88жс__жт88жт__жў88жў__жф88жф__жх88жх__жц88жц__жч88жч__жш88жш__жь88жь__ж'8_ж’8_зб88зб__зв88зв__зг88зг__зґ88зґ__зд88зд__зж88зж__зз88зз__зй88зй__зк88зк__зл88зл__зм88зм__зн88зн__зп88зп__зр88зр__зс88зс__зт88зт__зў88зў__зф88зф__зх88зх__зц88зц__зч88зч__зш88зш__зь88зь__з'8_з’8_йб88йб__йв88йв__йг88йг__йґ88йґ__йд88йд__йж88йж__йз88йз__йй88йй__йк88йк__йл88йл__йм88йм__йн88йн__йп88йп__йр88йр__йс88йс__йт88йт__йў88йў__йф88йф__йх88йх__йц88йц__йч88йч__йш88йш__йь88йь__й'8_й’8_кб88кб__кв88кв__кг88кг__кґ88кґ__кд88кд__кж88кж__кз88кз__кй88кй__кк88кк__кл88кл__км88км__кн88кн__кп88кп__кр88кр__кс88кс__кт88кт__кў88кў__кф88кф__кх88кх__кц88кц__кч88кч__кш88кш__кь88кь__к'8_к’8_лб88лб__лв88лв__лг88лг__лґ88лґ__лд88лд__лж88лж__лз88лз__лй88лй__лк88лк__лл88лл__лм88лм__лн88лн__лп88лп__лр88лр__лс88лс__лт88лт__лў88лў__лф88лф__лх88лх__лц88лц__лч88лч__лш88лш__ль88ль__л'8_л’8_мб88мб__мв88мв__мг88мг__мґ88мґ__мд88мд__мж88мж__мз88мз__мй88мй__мк88мк__мл88мл__мм88мм__мн88мн__мп88мп__мр88мр__мс88мс__мт88мт__мў88мў__мф88мф__мх88мх__мц88мц__мч88мч__мш88мш__мь88мь__м'8_м’8_нб88нб__нв88нв__нг88нг__нґ88нґ__нд88нд__нж88нж__нз88нз__нй88нй__нк88нк__нл88нл__нм88нм__нн88нн__нп88нп__нр88нр__нс88нс__нт88нт__нў88нў__нф88нф__нх88нх__нц88нц__нч88нч__нш88нш__нь88нь__н'8_н’8_пб88пб__пв88пв__пг88пг__пґ88пґ__пд88пд__пж88пж__пз88пз__пй88пй__пк88пк__пл88пл__пм88пм__пн88пн__пп88пп__пр88пр__пс88пс__пт88пт__пў88пў__пф88пф__пх88пх__пц88пц__пч88пч__пш88пш__пь88пь__п'8_п’8_рб88рб__рв88рв__рг88рг__рґ88рґ__рд88рд__рж88рж__рз88рз__рй88рй__рк88рк__рл88рл__рм88рм__рн88рн__рп88рп__рр88рр__рс88рс__рт88рт__рў88рў__рф88рф__рх88рх__рц88рц__рч88рч__рш88рш__рь88рь__р'8_р’8_сб88сб__св88св__сг88сг__сґ88сґ__сд88сд__сж88сж__сз88сз__сй88сй__ск88ск__сл88сл__см88см__сн88сн__сп88сп__ср88ср__сс88сс__ст88ст__сў88сў__сф88сф__сх88сх__сц88сц__сч88сч__сш88сш__сь88сь__с'8_с’8_тб88тб__тв88тв__тг88тг__тґ88тґ__тд88тд__тж88тж__тз88тз__тй88тй__тк88тк__тл88тл__тм88тм__тн88тн__тп88тп__тр88тр__тс88тс__тт88тт__тў88тў__тф88тф__тх88тх__тц88тц__тч88тч__тш88тш__ть88ть__т'8_т’8_ўб88ўб__ўв88ўв__ўг88ўг__ўґ88ўґ__ўд88ўд__ўж88ўж__ўз88ўз__ўй88ўй__ўк88ўк__ўл88ўл__ўм88ўм__ўн88ўн__ўп88ўп__ўр88ўр__ўс88ўс__ўт88ўт__ўў88ўў__ўф88ўф__ўх88ўх__ўц88ўц__ўч88ўч__ўш88ўш__ўь88ўь__ў'8_ў’8_фб88фб__фв88фв__фг88фг__фґ88фґ__фд88фд__фж88фж__фз88фз__фй88фй__фк88фк__фл88фл__фм88фм__фн88фн__фп88фп__фр88фр__фс88фс__фт88фт__фў88фў__фф88фф__фх88фх__фц88фц__фч88фч__фш88фш__фь88фь__ф'8_ф’8_хб88хб__хв88хв__хг88хг__хґ88хґ__хд88хд__хж88хж__хз88хз__хй88хй__хк88хк__хл88хл__хм88хм__хн88хн__хп88хп__хр88хр__хс88хс__хт88хт__хў88хў__хф88хф__хх88хх__хц88хц__хч88хч__хш88хш__хь88хь__х'8_х’8_цб88цб__цв88цв__цг88цг__цґ88цґ__цд88цд__цж88цж__цз88цз__цй88цй__цк88цк__цл88цл__цм88цм__цн88цн__цп88цп__цр88цр__цс88цс__цт88цт__цў88цў__цф88цф__цх88цх__цц88цц__цч88цч__цш88цш__ць88ць__ц'8_ц’8_чб88чб__чв88чв__чг88чг__чґ88чґ__чд88чд__чж88чж__чз88чз__чй88чй__чк88чк__чл88чл__чм88чм__чн88чн__чп88чп__чр88чр__чс88чс__чт88чт__чў88чў__чф88чф__чх88чх__чц88чц__чч88чч__чш88чш__чь88чь__ч'8_ч’8_шб88шб__шв88шв__шг88шг__шґ88шґ__шд88шд__шж88шж__шз88шз__шй88шй__шк88шк__шл88шл__шм88шм__шн88шн__шп88шп__шр88шр__шс88шс__шт88шт__шў88шў__шф88шф__шх88шх__шц88шц__шч88шч__шш88шш__шь88шь__ш'8_ш’8_ьб88ьб__ьв88ьв__ьг88ьг__ьґ88ьґ__ьд88ьд__ьж88ьж__ьз88ьз__ьй88ьй__ьк88ьк__ьл88ьл__ьм88ьм__ьн88ьн__ьп88ьп__ьр88ьр__ьс88ьс__ьт88ьт__ьў88ьў__ьф88ьф__ьх88ьх__ьц88ьц__ьч88ьч__ьш88ьш__ьь88ьь__ь'8_ь’8б8'1б8’1в8'1в8’1г8'1г8’1ґ8'1ґ8’1д8'1д8’1ж8'1ж8’1з8'1з8’1й8'1й8’1к8'1к8’1л8'1л8’1м8'1м8’1н8'1н8’1п8'1п8’1р8'1р8’1с8'1с8’1т8'1т8’1ў8'1ў8’1ф8'1ф8’1х8'1х8’1ц8'1ц8’1ч8'1ч8’1ш8'1ш8’1ь8'1ь8’1б8а3б8у3б8о3б8е3б8ё3б8ы3б8э3б8і3в8а3в8у3в8о3в8е3в8ё3в8ы3в8э3в8і3г8а3г8у3г8о3г8е3г8ё3г8ы3г8э3г8і3ґ8а3ґ8у3ґ8о3ґ8е3ґ8ё3ґ8ы3ґ8э3ґ8і3д8а3д8у3д8о3д8е3д8ё3д8ы3д8э3д8і3ж8а3ж8у3ж8о3ж8е3ж8ё3ж8ы3ж8э3ж8і3з8а3з8у3з8о3з8е3з8ё3з8ы3з8э3з8і3к8а3к8у3к8о3к8е3к8ё3к8ы3к8э3к8і3л8а3л8у3л8о3л8е3л8ё3л8ы3л8э3л8і3м8а3м8у3м8о3м8е3м8ё3м8ы3м8э3м8і3н8а3н8у3н8о3н8е3н8ё3н8ы3н8э3н8і3п8а3п8у3п8о3п8е3п8ё3п8ы3п8э3п8і3р8а3р8у3р8о3р8е3р8ё3р8ы3р8э3р8і3с8а3с8у3с8о3с8е3с8ё3с8ы3с8э3с8і3т8а3т8у3т8о3т8е3т8ё3т8ы3т8э3т8і3ф8а3ф8у3ф8о3ф8е3ф8ё3ф8ы3ф8э3ф8і3х8а3х8у3х8о3х8е3х8ё3х8ы3х8э3х8і3ц8а3ц8у3ц8о3ц8е3ц8ё3ц8ы3ц8э3ц8і3ч8а3ч8у3ч8о3ч8е3ч8ё3ч8ы3ч8э3ч8і3ш8а3ш8у3ш8о3ш8е3ш8ё3ш8ы3ш8э3ш8і3а8й1о8й1е8й1і8й1э8й1ю8й1я8й1ё8й1ы8й1а8ў1о8ў1е8ў1і8ў1э8ў1ю8ў1я8ў1ё8ў1ы8ў1б8'1б8’1в8'1в8’1г8'1г8’1ґ8'1ґ8’1д8'1д8’1ж8'1ж8’1з8'1з8’1к8'1к8’1л8'1л8’1м8'1м8’1н8'1н8’1п8'1п8’1р8'1р8’1с8'1с8’1т8'1т8’1ф8'1ф8’1х8'1х8’1ц8'1ц8’1ч8'1ч8’1ш8'1ш8’1б8ь1в8ь1г8ь1ґ8ь1д8ь1ж8ь1з8ь1к8ь1л8ь1м8ь1н8ь1п8ь1р8ь1с8ь1т8ь1ф8ь1х8ь1ц8ь1ч8ь1ш8ь1", + 5:"_ад1б_ад1в_ад1г_ад1ґ_ад1д_ад1ж_ад1з_ад1к_ад1л_ад1м_ад1н_ад1п_ад1р_ад1с_ад1т_ад1ф_ад1х_ад1ц_ад1ч_ад1ш_аб1б_аб1в_аб1г_аб1ґ_аб1д_аб1ж_аб1з_аб1к_аб1л_аб1м_аб1н_аб1п_аб1р_аб1с_аб1т_аб1ф_аб1х_аб1ц_аб1ч_аб1ш_уз1б_уз1в_уз1г_уз1ґ_уз1д_уз1ж_уз1з_уз1к_уз1л_уз1м_уз1н_уз1п_уз1р_уз1с_уз1т_уз1ф_уз1х_уз1ц_уз1ч_уз1ш_ус1б_ус1в_ус1г_ус1ґ_ус1д_ус1ж_ус1з_ус1к_ус1л_ус1м_ус1н_ус1п_ус1р_ус1с_ус1т_ус1ф_ус1х_ус1ц_ус1ч_ус1ш8льш_8сць_8дзь_", + 6:"_над1б_над1в_над1г_над1ґ_над1д_над1ж_над1з_над1к_над1л_над1м_над1н_над1п_над1р_над1с_над1т_над1ф_над1х_над1ц_над1ч_над1ш_пад1б_пад1в_пад1г_пад1ґ_пад1д_пад1ж_пад1з_пад1к_пад1л_пад1м_пад1н_пад1п_пад1р_пад1с_пад1т_пад1ф_пад1х_пад1ц_пад1ч_пад1ш_раз1б_раз1в_раз1г_раз1ґ_раз1д_раз1ж_раз1з_раз1к_раз1л_раз1м_раз1н_раз1п_раз1р_раз1с_раз1т_раз1ф_раз1х_раз1ц_раз1ч_раз1ш_рас1б_рас1в_рас1г_рас1ґ_рас1д_рас1ж_рас1з_рас1к_рас1л_рас1м_рас1н_рас1п_рас1р_рас1с_рас1т_рас1ф_рас1х_рас1ц_рас1ч_рас1ш_роз1б_роз1в_роз1г_роз1ґ_роз1д_роз1ж_роз1з_роз1к_роз1л_роз1м_роз1н_роз1п_роз1р_роз1с_роз1т_роз1ф_роз1х_роз1ц_роз1ч_роз1ш_бяз1б_бяз1в_бяз1г_бяз1ґ_бяз1д_бяз1ж_бяз1з_бяз1к_бяз1л_бяз1м_бяз1н_бяз1п_бяз1р_бяз1с_бяз1т_бяз1ф_бяз1х_бяз1ц_бяз1ч_бяз1ш_без1б_без1в_без1г_без1ґ_без1д_без1ж_без1з_без1к_без1л_без1м_без1н_без1п_без1р_без1с_без1т_без1ф_без1х_без1ц_без1ч_без1ш_бяс1б_бяс1в_бяс1г_бяс1ґ_бяс1д_бяс1ж_бяс1з_бяс1к_бяс1л_бяс1м_бяс1н_бяс1п_бяс1р_бяс1с_бяс1т_бяс1ф_бяс1х_бяс1ц_бяс1ч_бяс1ш_бес1б_бес1в_бес1г_бес1ґ_бес1д_бес1ж_бес1з_бес1к_бес1л_бес1м_бес1н_бес1п_бес1р_бес1с_бес1т_бес1ф_бес1х_бес1ц_бес1ч_бес1ш_рос1б_рос1в_рос1г_рос1ґ_рос1д_рос1ж_рос1з_рос1к_рос1л_рос1м_рос1н_рос1п_рос1р_рос1с_рос1т_рос1ф_рос1х_рос1ц_рос1ч_рос1швё8рст", + 7:"_праз1б_праз1в_праз1г_праз1ґ_праз1д_праз1ж_праз1з_праз1к_праз1л_праз1м_праз1н_праз1п_праз1р_праз1с_праз1т_праз1ф_праз1х_праз1ц_праз1ч_праз1ш_ад8зінтэ8мбр__дву8х3_шма8т1", + 8:"_перад1б_перад1в_перад1г_перад1ґ_перад1д_перад1ж_перад1з_перад1к_перад1л_перад1м_перад1н_перад1п_перад1р_перад1с_перад1т_перад1ф_перад1х_перад1ц_перад1ч_перад1ш_цераз1б_цераз1в_цераз1г_цераз1ґ_цераз1д_цераз1ж_цераз1з_цераз1к_цераз1л_цераз1м_цераз1н_цераз1п_цераз1р_цераз1с_цераз1т_цераз1ф_цераз1х_цераз1ц_цераз1ч_цераз1ш_церас1б_церас1в_церас1г_церас1ґ_церас1д_церас1ж_церас1з_церас1к_церас1л_церас1м_церас1н_церас1п_церас1р_церас1с_церас1т_церас1ф_церас1х_церас1ц_церас1ч_церас1шна1д8вор", + 9:"за1п8люшч_па1д8зял_па1д8зелраз1г8лядраз1г8ледзло1ў8жыв_па1д8зяк_вы1к8люч", + 10:"віда1з8мянвіда1з8менза3ц8вярдз_па3г8лядз", + 12:"слова1ў8тваркрова3ў8твар" + } +}; \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/patterns/bn.js b/alt-implementations/readifry-master/hyphenator/patterns/bn.js new file mode 100644 index 0000000..6c1f368 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/patterns/bn.js @@ -0,0 +1,11 @@ +// For questions about the Bengali hyphenation patterns +// ask Santhosh Thottingal (santhosh dot thottingal at gmail dot com) +Hyphenator.languages['bn'] = { + leftmin : 2, + rightmin : 2, + specialChars : unescape("আঅইঈউঊঋএঐঔকগখঘঙচছজঝঞটঠডঢণতথদধনপফবভমযরলশষসহিীাুূৃোোৈৌৗ্ঃং%u200D"), + patterns : { + 2 : "অ1আ1ই1ঈ1উ1ঊ1ঋ1এ1ঐ1ঔ1ি1া1ী1ু1ৃ1ে1ো1ৌ1ৗ1্2ঃ1ং11ক1গ1খ1ঘ1ঙ1চ1ছ1জ1ঝ1ঞ1ট1ঠ1ড1ঢ1ণ1ত1থ1দ1ধ1ন1প1ফ1ব1ভ1ম1য1র1ল1শ1ষ1স1হ", + 3 : "2ঃ12ং1" + } +}; diff --git a/alt-implementations/readifry-master/hyphenator/patterns/ca.js b/alt-implementations/readifry-master/hyphenator/patterns/ca.js new file mode 100644 index 0000000..8c6f35f --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/patterns/ca.js @@ -0,0 +1,18 @@ +// For questions about the Catalan hyphenation patterns +// ask Jordi Rosell (jroselln at gmail dot com) +Hyphenator.languages['ca'] = { + leftmin : 3, + rightmin : 3, + specialChars : "éíóúàèòçüï", + patterns : { + 3 : "u1í1ba1bi1bo1bu1ca1ce1ci1co1cu1da1de1di1do3du1fa1fe1fi1fo1fu1ga1ge1gi1go1gu1ha1he1hi1ho1hu1ja1je1ji1jo1ju1la1le1li1lo1lu1ma1me1mi1mo1mu1na1ne3ni1no1nu1pa3pe3pi3po1pu1qu1ra1re1ri1ro1ru1sa1se1si1so1su1ta1te1ti1to1tu1va1ve1vi1vo1vu1xa1xe1xi1xo1xu1za1ze1zi1zo1zu1bé1bí1bó1bú1bà1bè1bò1cé1cí1có1cú1cà1cè1cò1ço1ça1çu1çó1çú1çà1çò1dé1dí1dó1dú1dà1dè1dò1fé1fí1fó1fú1fà1fè1fò1gé1gí1gó1gú1gà1gè1gò1gü1hé1hí1hó1hú1hà1hè1hò1jé1jí1jó1jú1jà1jè1jò1lé1lí1ló1lú1là1lè1lò1mé1mí1mó1mú1mà1mè1mò1né1ní1nó1nú1nà1nè1nò1pé1pí1pó1pú1pà1pè1pò1qü1ré1rí1ró1rú1rà1rè1rò1sé1sí1só1sú1sà1sè1sò1té1tí1tó1tú1tà1tè1tò1vé1ví1vó1vú1và1vè1vò1xé1xí1xó1xú1xà1xè1xò1zé1zí1zó1zú1zà1zè1zò3prü1òü1èü1àü1úü1óü1íü1éü1oü1eü1aï1iï1òï1èï1àï1úï1óï1íï1éï1oï1eï1aò1üò1ïò1oò1eò1aè1üè1ïè1oè1eè1aà1üà1ïà1oà1eà1aú1üú1ïú1oú1eú1aó1üó1ïó1oó1eó1aí1üí1ïí1oí1eí1aé1üé1ïé1oé1eé1au1üu1ïu1òu1èu1àu1úu1ó1beu1éo1üo1ïo1òo1èo1ào1úo1óo1ío1éi1üi1ïi1òi1èi1ài1úi1ói1íi1ée1üe1ïe1òe1èe1àe1úe1óe1íe1éa1üa1ïa1òa1èa1àa1úa1óa1ía1éu1ou1eu1ao1oo1eo1ai1oi1ei1ae1oe1ee1aa1oa1ea1a", + 4 : "gü2ép2se_i2ò_u2è_u2ògu2agu2egu2igu2oqu2aqu2equ2iqu2ogu2égu2ígu2ógu2àgu2ègu2òqu2équ2íqu2óqu2àqu2èqu2ògü2e_i2ègü2ígü2ègü2iqü2eqü2éqü2íqü2èqü2io3ron3siig3ne3lea3ria3ne3ser3nei3nef3exp_th2_ch2p2síg2nòg2nop2si", + 5 : "u1i2í1f2lú1f2ló1f2lí1f2lé1d2rò1d2rè1d2rà1d2rú1d2ró1d2rí1d2ré1c2rò1c2rè1c2rà1c2rú1c2ró1c2rí1c2ré1c2lò1c2lè1c2là1c2lú1c2ló1c2lí1c2lé1b2rò1b2rè1b2rà1b2rú1b2ró1b2rí1b2ré1b2lò1b2lè1b2là1b2lú1b2ló1b2lí1b2lé1l2lò1l2lè1l2là1l2lú1l2ló1l2lí1l2lé1n2yu1n2yo1n2yi1n2ye1n2ya1t2ru1t2ro1t2ri1t2re1t2ra1p2ru1p2ro1p2ri1p2re1p2ra1p2lu1p2lo1p2li1p2le1p2la1g2ru1g2ro1g2ri1g2re1g2ra1g2lu1g2lo1g2li1g2le1g2la1f2ru1f2ro1f2ri1f2re1f2ra1f2lu1f2lo1f2li1f2le1f2la1d2ru1d2ro1d2ri1d2re1d2ra1c2ru1c2ro1c2ri1c2re1c2ra1c2lu1c2lo1c2li1c2le1c2la1b2ru1b2ro1b2ri1b2re1b2ra1b2lu1b2lo1b2li1b2le1b2la1l2lu3l2lo1l2li1l2lea1i2aa1i2ea1i2oa1i2ua1u2aa1u2ea1u2ia1u2oa1u2ue1i2ae1i2ee1i2oe1i2ue1u2ae1u2ee1u2ie1u2oe1u2ui1i2ai1i2ei1i2oi1i2ui1u2ai1u2ei1u2ii1u2oi1u2uo1i2ao1i2eo1i2oo1i2uo1u2ao1u2eo1u2oo1u2io1u2uu1i2au1i2eu1i2ou1i2uu1u2au1u2eu1u2iu1u2ou1u2ua1i2éa1i2ía1i2óa1i2úa1i2àa1i2èa1i2òa1u2éa1u2ía1u2óa1u2úa1u2àa1u2èa1u2òe1i2ée1i2íe1i2óe1i2úe1i2àe1i2èe1i2òe1u2ée1u2íe1u2óe1u2úe1u2àe1u2èe1u2òi1i2éi1i2íi1i2ói1i2úi1i2ài1i2èi1i2òi1u2éi1u2íi1u2ói1u2úi1u2ài1u2èi1u2òo1i2éo1i2ío1i2óo1i2úo1i2ào1i2èo1i2òo1u2éo1u2ío1u2óo1u2úo1u2ào1u2èo1u2òu1i2é1f2lòu1i2óu1i2úu1i2àu1i2èu1i2òu1u2éu1u2íu1u2óu1u2úu1u2àu1u2èu1u2òé1i2aé1i2eé1i2oé1i2ué1u2aé1u2eé1u2oé1u2ié1u2uí1i2aí1i2eí1i2oí1i2uí1u2aí1u2eí1u2oí1u2ií1u2uó1i2aó1i2eó1i2oó1i2uó1u2aó1u2eó1u2oó1u2ió1u2uú1i2aú1i2eú1i2oú1i2uú1u2aú1u2eú1u2oú1u2iú1u2uà1i2aà1i2eà1i2oà1i2uà1u2aà1u2eà1u2oà1u2ià1u2uè1i2aè1i2eè1i2oè1i2uè1u2aè1u2eè1u2oè1u2iè1u2uò1i2aò1i2eò1i2oò1i2uò1u2aò1u2eò1u2oò1u2iò1u2uï1i2aï1i2eï1i2oï1i2éï1i2íï1i2óï1i2úï1i2àï1i2èï1i2òï1i2uï1u2aï1u2eï1u2oï1u2éï1u2íï1u2óï1u2úï1u2àï1u2èï1u2òï1u2iï1u2uü1i2aü1i2eü1i2oü1i2éü1i2íü1i2óü1i2úü1i2àü1i2èü1i2òü1i2uü1u2aü1u2eü1u2oü1u2éü1u2íü1u2óü1u2úü1u2àü1u2èü1u2òü1u2iü1u2u_hi2a_hi2e_hi2o_hi2u_hu2a_hu2e_hu2i_hu2o1f2lè1f2ré1f2rí1f2ró_hi2é_hi2ó_hi2ú_hi2à_hi2è_hi2ò_hu2é_hu2í_hu2ó_hu2à_hu2è_hu2ò1f2rú1f2rà1f2rè1f2rò1g2lé1g2lí1g2ló1g2lú1g2là1g2lè1g2lò1g2ré1g2rí1g2ró1g2rú1g2rà1g2rè1g2rò1p2lé1p2lí1p2ló1p2lú1p2là1p2lè1p2lò1p2ré1p2rí1p2ró1p2rú1p2ràui3etsub3as3esps3empqui3e1p2rè1p2ròin3ex1t2rées3asa1um_e1um_i1um_o1um_u1um_es3ap_be2n_be2s_bi2s_ca2p_ce2les3afe3ris_co2n_co2r_de2s_di2s_en3ae3rio1t2ríe3ismbi3se1t2ró1t2rú_in3o1t2rà_ma2l3l2la_pa2n_pe2r1t2rè1t2rò1n2yé1n2yí_re2d_su2b1n2yó1n2yú1n2yàp2neu1n2yè1n2yò1f2lào3gnò", + 6 : "_in3aces3int_sub3oes3arr_cla2res3aco_co2ll_psa2l_pos2t_pe3rides3avdes3ar_in3es_in3ap_in3addes3ag", + 7 : "u1ista__inte2rdes3enc_supe2ra1isme__hipe2re1isme_i1isme_o1isme_u1isme__rebe2sa1ista_e1ista_o1ista_i1ista__tran2s", + 8 : "_subde2s_antihi2", + 9 : "_hiperm2n", + 10 : "_mal1t2husein1s2tein", + 12 : "ru1t2herfordni2etz1sc2he" + } +}; diff --git a/alt-implementations/readifry-master/hyphenator/patterns/cs.js b/alt-implementations/readifry-master/hyphenator/patterns/cs.js new file mode 100644 index 0000000..ef591e8 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/patterns/cs.js @@ -0,0 +1,15 @@ +// For questions about the Czech hyphenation patterns +// ask Martin Hasoň (martin dot hason at gmail dot com) +Hyphenator.languages['cs'] = { + leftmin : 2, + rightmin : 2, + specialChars : "ěščřžýáíéúůťď", + patterns : { + 2 : "a11f1g1k1n1pu11vy11zé11ňó11š1ť1ú1ž", + 3 : "_a2_b2_c2_d2_e2_g2_h2_i2_j2_k2_l2_m2_o2_p2_r2_s2_t2_u2_v2_z2_č2_é2_í2_ó2_š2_ú2_ž22a_a2da2ga2ia2ka2ra2sa2ta2u2av2aya2ča2ňa2ť2b_b1db1h1bib1j2bkb1m2bn1bob2z1bá1bí2bň2c_1ca2cc1ce1ci2cl2cn1coc2p2ctcy21cá1cí2cň1ců2d_1dad1bd1d1de1did1j2dkd1m2dn1dod1t1dud2v1dy1dá1dé1dě1dí2dň1dů1dý2e_e1ae1be1ee1ie2ke1o2ere1se1te1ue1áe2ňe1ře2šeú12f_f2l2fn2fr2fs2ft2féf2ú2g_2gngo12h_h2bh2c2hd2hkh2mh2rh1č2hňhř2h2ž2i_i1ai1bi1di1hi1ji1li1mi2ni1oi1ri1ti1xi1ái2ďi1éi1ói1ři2ši2ž2j_j2d1jij1j2jkj2m2jn2jp2jz2jď1jí2jž2k_k2dk2e2kf2kkk2l2kn2ks2kčk2ň2l_2lf2lg2lh1li2lj2lk2ll2ln2lp2lv2lz2lň1lů1lý2m_1ma1me2mf1mim2l2mn1mo2mp1mu2mv2mz2mčm2ž2n_2nb2nf2ngn1j2nk2nn2nz2nď2nónů22nž2o_o1ao1cog2o1ho1io1jo1lo1mo2no1oo1to2uo1xo2zo1čo2ňo1ř2p_2pkp2l2pn2pp2ptpá12pč2pš2pťqu22r_r1br1cr1d2rkr1l2rn2rrr1x2rzr1č2ró2rš2s_s2cs2d1se2sf1sis2js2k2sn1sos2p1sr2ss1sus2v1sé1sí2sň2sť1sůs2ž2t_1te2tf2tg1ti2tl2tm2tn1to2tpt2vt2č1té1tě2tř2tš1tů2u_u2b2ufu2ku2mu2nu2pu2ru2su2vu2zu2ču2ďu2ňu2šu2ž2v_2vkv2l2vm2vnv2p2vňwe22x_2xf2xnx1ty2ay2ey2sy2ňy2šyž22z_2zbz2ez2j2zl2ztz2v2zzzá12zč2zňz2řá1bá1dá1já1sá2ňá1řá2š2č_1ča2čb1če1či2čk2čn1čoč2p2čs1ču1čá1čí1čů2ď_1ďa1ďoé2dé2fé2lé2mé2sé2té2šé2žě1cě1lě2vě2zě1řě2šě2ťě2ží1bí1hí1jí1lí1rí1tí2ňí1ří2š2ň_2ňa2ňk2ňmň1só2z2ř_2řc2řdři12řk2řn1řoř2v2řz2řš2š_2šl2šnš2p2štš2vš2ň2ť_2ťk2ťm2ťtú2dú2kú2lú2nú2pú2tú2vú2zú2čú2žů1bů1cůt2ů2vů2zů2žý1bý1dý1hý1jý1lý2ný1rý1tý1uý1ř2ž_2žk2žl2žnž2v2žď2žň2žš", + 4 : "_ch2_ná1_st2_us2_ut2_vy3_vý1_za3_zd2a3daa3dea3dia3doa3dua3dya3dáa3déa3děa3día3důa3dýa3gaa3goa3gua3gáah3va3ina3iva2jda2jmaj2oa3kea3kia3kla3koa3kra3kua3kya3káa3kéa3kóa3kůa3kýap3ta3raa3rea3ria3roa3rua3rya3ráa3róa3růa3rýa3saa3sea3sha3soa3sua3sva3sya3sáa3séa3sía3sůa3taa3tea3tia3toa3tra3tua3tva3tya3táa3téa3těa3tía3tóat1řa3tůa3týa3uja3učav3dav3taz3ka3zpa3čaa3čea3čia3čla3čoa3čua3čáa3čía3čůa3ňoa3ňua3říaú3t3ba_2b1cbe3pbis33bl_3blk2brib2ru2b1tbu2c3by_bys32b1č1bě_3bínb3řab1ří2bš2ce2u2ch_1cha3che2chl2cht1chu1chy1chá2chř2ck2c3lac3léc2tict2nc3tvc2těcuk11c2vda3dd2bad2bá2d1cde1xde2z2d1hd3kv3dl_d1lad3li1dlnd2lud1léd2lů1dmddo1ddo3hdo3pdo1sdo3tdo3čd1red3réd3rýd3tld3třdu3p2durd3ved3vld3vrd3vyd3vád3věd3víd3zbd3zdd3zn2d1č3dějd1řad1ří2dš2d3škd3št3dů_dů3sd2ž2e2are2břed1led3ve1hae1hee1hoe1hre1hue1hye1háe1hýe1jeej1mej1oej1uej3ve3kae3kee3koe3kre3kue3kye3káe3kée3kóe3kře3kůe1lae1lee1loe1lue1lye1láe1lée1líe1mle1mre1mye3máe1měe1míe3mře3můe1mýeo1seo3ze2plepy3e1rae1ree1rie1roer3se1rue1rye1ráe1rée1růe1rýe2ske2sles2me2stet1řeu3beu3deu3keu3meu3neu3peu3reu3teu3veu3zeu3že3vdevy3e3xue3zeez2te3zíe3zře1čte3ňoe3ňue3ňáe3óne3říe3šee3šie3šle3šoe3šíeú3neú3peú3teú3čf3líf1rige2s3gic3gin2g1mgu3mgu3vhe2she2uhe3x2hli2hlý2h2nh3ne2h1th2tě2h2vhyd1hys3ia3dib2li1chid2li1emi1eni1etif1ri2hlih3ni3imi2klik3milu3i3nai3nei3nii3noi3nui3nyi3nái3néi3něi3níi3nůi3nýi2psi1sais3cis1ti1syi3sáit1ri2tvi1umiv3di3zpiz1ri1člič3ti1íci1ími3šei3šiiš3ki3šoi3šui3šái3šíi3žai3žei3žii3žoi3žui3žája3dja3gj1b22j1cj3drj3dáj3důj3efj3ex2j1hj3kv2j1lj3maj3mi2jmíjne3j1obj1odj1ohj1opj1osj2ov2j1rj3sn2j1tj3tlju3pj1usju3tju3vju3zj1už2jv2j3vdj3vnj3zbj3zdj3zkj3znj3zp2j1čj3štj3šť2jú1jú3njú3čjú3ž3kaj3kat3kav3kač3kař2k1c3ket3kl_k3lék3lók3lý2k2mk3mě3kof3kovkr2s2k1tkt2r3kujku3v2k2v3kyn3kác3kár3kářk2ř23ků_1la_2l1b2l1c2l1dle2i1lej1lel3lio2ližl2kl2l1m1loslo3zl2pěls3n2l1t1lá_2l1č1lé_1lík1líř2lš2l3štlý2t2l2ž2m1b2m1cm2dl3me_me3x2mk22mleml3h2mlim3nam3nám3ném3nýmo2kmo2smoú3m2psmp2tmr2s2m1tmu3n2muš3má_má2sm2čemí1c2m2šmš3ť3mů_3mý_3na_na3hnat2na3zna3š2n1c2n1dne1dne1hne2jne3pne3zn3frng1l3nio2n1lno3z2nožn2sa2n1t2nub3ny_3nák2n1č2nív2níž2nš2n3što1bao1beob1lob1ro1buob3zo3béocy3od3bod1lod3vod1řo1e2oe3go2flo3gnoj2o2okaom2no3nao3neo3nio3noo3nuo3nyo3náo3něo3nío3nůo3nýo2pso1rao1reo1rio1roo1ruo1ryo1ráo3réo1růo3rýo1sao1sko1slo1syo3tío3třou3mou3vo3zaoz1bo3zeoz1ho3zioz3joz3koz1loz3mo3zooz3poz3to3zuo3zío3zůoč2ko3ňao3ňoo3ško3šlo3žl2p1c3pečp2kl3pl_pl3hp2nu3podpo3hpo3ppoč2pr2cpro1pr2sprů3p3tupá2c2př_při31ra_2rakr2blrca3r1harh3nr1hor3hur1há1ricr2kl2r1mro3h2r1sr2st2r1tr2thrtu31ru_1ry_ryd2rz3drz3l1rák1rářrč3t3ré_3rý_s2b2s3casch2s3cis3císe3h3sel3semset2se3zs3fo3sfés3fú3sic3sif3sik3sits3jus3ků3sl_3slns2lys1lís2mas2mos2nas2nes2ná2st_2stns2tvs2tás1tísy3csá2d3sáh2s2čs3čis3ťo1ta_1tajt1ao2t1b2t1c3te_2tihtiú32tiž2tk2t2klt2ká3tl_t1le3tlmtlu3t1lyt1lét2mat3níto3b2toj2trč2trý2t1sts2t2t1t1tu_1tuj2tup2tve1ty_3tá_t3či2tčí3tém2těh2těp1tíc1tím2tín2tírt1řut2řát3št1tý_1tým1týř3týšu2atu3bau3beu3biu3bou3buu3báu3bů2u2du3deu3diu3dou3duu3dyu3díu2hlu2inu2jmu3keu3kou3kuu3kyu3kůul1hu3mau3meu3miu3muu3má3umřu3neu3nou3nuu3něu3níu3nůu3pau3peu3piu3puu3pyu3páu3pěu3píu3půu3rau3reu3riu3ruu3rá1urču3růus1lu3sou3syu3sáu3síu3sůu3viu3vuu3zeu3ziuz1lu3zou3zuu3zíu3čau3čeu3čiu3čouč3tu3čuu3čáu3číu3šeu3šiu3šou3šuu3šáu3šíu3žeu3žou3žuu3žáu3ží2v1b2v1cv2ch2v2dv3di3venve2pv2kr2vlovo3bvo2svou3vr2cv1ro2vs2v1sk2v2tvy3cvyp2vy3tvy3čvyš2v2z22v2čv3čáv3čí3vín2vřív2š23výsvý3tv2ž23war3xovy2bly2chy2dry2gry3hny2kly3niy2přyr2vy3say3sey3siy3smy3soy3spys2ty3suy3svy3syy3sáy3séy3síyu3žy3vsy3zby3zdy3zky3zny3zpyč2kyř3by3říy3šey3šiy3škyš1ly3šoy3špy3šuy3šíy3ždza3hza3iza3jza3kzat2za3zza3šz2by2z1c2z2dz3dize3hzet2zev2ze3z2z2fz1ház3jí2z2kz3kyz3kéz3kůz3ký3zl_z2m22zmez3mnz3my2z2nz3noz3nuz3nyz3néz3něz3níz3ný2z2pz3ptz3tř3zu_zu3šz3vi3zy_záh23zápzá3zzáš2z3čl2zš2z3škz3štzú3čzú3žzů3sá2blá2dlád1řá1haá3heáh1láh3ná1hoá1hrá1háá1laá1leá1loá1luá1lyá3léá1líá3myá3méá1měá3míá3mýá1raá1reár2má1roá1ruá3růá2scá2smá2stát3kát1rá1tuá1tyá1tíá3týáz3ká3šeá3ší2č1c3če_če1cč3koč3kuč3ky2č1mč2neč1sk2č2t3čtvč3tí2ď1t3ďujé3dié3doé3foéf1ré2klé3maé3meé3mié3moé3mué3můé3taé3toé3táěd3rě3haě3heěh3ně1hoě3huě3hůě3jaě1jeě1joě3jůě1raě1reě1roěr3sě1ruě1ryě1růěs3kěs3nět1lě1trět3vě1tíě3vaě3veě3vlě3voě3vuě3váěv3čě3zeě3ziěz3ně3zoě3zíě3šeě3šiě3šoě3šuě3šáě3šíěš3ťě3ťoě3žeě3žiě3žoě3žuě3žííb3říd1lí2hlíh3ní2krí1máí3méí1měí1saít3kíz3kí3šeí3šií3šoí3šíňa3d3ňov2ň1tó3zaó3zió3zoó3zy2ř2bře1h2řesřia3ři3hřis2ři3zři3řř2kl2ř1l2ř1m2řou2ř2p2ř1s2ř1t2ř1č2řídří1sř3štšab32š1c2š2kš3kaš3ke3škrš3kyš2laš2liš2lošlá2š2léš2lý2š1m2š1sší3dš3ší2š2ťš3ťoš3ťuš3ťá3ťalú2c2úz3k3účeů1hlů3jdů1leů1myů1měů1raů1s2ů2stů3vaů3voů3věů3zoů3žeů3žiů3žoý1mlý1měý3noý1s2ý2ský3zký3znýš3lža3d3žač2ž1b2ž1c2ž1d3žil3žlo2ž1mžon22ž1t", + 5 : "_a4da_a4de_a4di_a4do_a4dé_a4kl_a4ko_a4kr_a4ku_a4ra_a4re_a4ri_a4ro_a4ry_a4rá_a4sa_a4se_a4so_a4sy_a4ta_a4te_at3l_a4to_a4tr_a4ty_a4ve_cyk3_dez3_d4na_dne4_d4ny_dos4_d4ve_d4vě_d4ví_e4ch_e4ko_es3k_es3t_e4ve_f4ri_h4le_h4ne_i4na_i4ni_i4no_is3l_j4ak_j4se_j4zd_jád4_k4li_k4ly_ne3c_neč4_ne3š_ni2t_n4vp_o4bé_ode3_od3l_o4ka_o4ko_o4na_o4ne_o4ni_o4no_o4nu_o4ny_o4ně_o4ní_o4pe_o4po_o4se_o4sl_ot3v_o4tí_o4tř_o4za_o4zi_o4zo_o4zu_o4šk_o4šl_o4ži_p4ro_p4rý_p4se_pu3b_rej4_re3s_ro4k_s4ch_s4ci_sem4_s4ke_sk4l_s4ká_s4le_s4na_s4ny_s4pe_s4po_s4tá_s4ži_u4ba_u4be_u4bi_u4bo_u4de_u4di_u4do_u4du_u4dí_uh4n_uj4m_u4ko_u4ku_ul4h_u4ma_u4me_u4mi_u4mu_u4ne_u4ni_u4pa_u4pe_u4pi_up4n_u4po_u4pu_u4pá_u4pě_u4pí_u4ra_u4ro_u4rá_u4so_u4st_u4sy_u4sí_u4vi_u4ze_u4če_u4či_u4čí_u4še_u4ši_u4šk_uš4t_u4ší_u4ži_už4n_u4žo_u4ží_v4po_v4zá_v4ži_y4or_y4ve_zar2_zač2_z4di_z4dr_z4ky_z4mn_z4no_z4nu_z4ně_z4ní_z4pe_z4po_z4tř_z4ve_z4vi_č4te_še3t_š4ka_š4ke_š4ky_š4ťo_š4ťá_ú4důaa3t2ab4lýab3riab4sbab2stac4ciad2laa4dlia4dláa4dléad4mead4muado4sad3ria3drža4dužad3voad4úzad4úřae4viafi2aag4faag3roah4liai4reaj4meak4nial4fbal4klal4tzal3žíam4bdam4klam4nuamo3sam4žia4naean4dtaneu4an4scan4sgan4slan4sman2span4svan4tčan4žhao4edao4hmao4tčap4r_a4psoa4př_ar4dwa4rerar4glar4kha4roxar3star2vaar3š2ar4šrarůs3a3sinas3náas3pia4stkas4tmas3tvat4cha4tioat4klat3loat3rea4truat4ráat4thau4gsauj4maus3tav4d_av3loa4vlua4vlíav4tiay4onaz3laaz4léaz3niač4máaře4ka4špla4špyba4brba3kaba4sebe4efbe4etbej4mbeu4rbe2z3beze3bi2b3bist4bi4trbl4blb2lemb2lesb4lánb2lémbo4etbo4jmbo4okbo4trbou3sbo4škb2ralb2ranb4roubroz4b3ru_b3rubb2rán2b1s2bs3trbtáh4bu4enby4smby4tčby4znbé4rcbě3tabí4rcb3ře_bře4scad4lca4escech4ced4lcelo3ce4nsce4ovce4pscer4v4che_ch4lych4mb2ch3n4chtech4u_cik4lc4ketco4atco4mmco4žpctis4ct4lací4plda4jšda4klda4trdch4ldd4hade3hnde3jdde3klde3kvde2nade2ozde3slde4smde4sode2spdes4tde4xtde3zndez3ode3čtde4žpdi4gg4dinddis3kdi4sodj4usd4labd4lakd2loud3lučd4láž2d1lídmýš44dobldo3bydo3bědo3býdod4ndoj4m4dokn4dolydo3mndo4pcdop4ndor2vdos4pdo3ukdo3učdo3z2doz4ndoč4tdo4žp4drand4rapd4rend3rosd3roud3rošdr4scd3rušd4rýv2d1s2ds4kůds4podum3řdu3nadu4pndu3sidu4í_d4vacdy4sudře4kd4řepd4řevd2řítea3dreb4erebez2eb4lie4ch_e4chme3choe2chre3chve4chťed4beed4kved2mae3dmned4říee4thee3xieg4giehno4eh4něej3age3jase3jede3jezej3ine3jisej3moe3jmue4klye4lauel4dvel4zee4mlíemo3kem3žeen4dven4scen4sient3reo3byeod3leo4due4oleeo2steo4třeo4zbeo4zdeoše3epa3te4pniep2noe4pnýep4tlep4tmep4tne4ptuer4a_er4s_er4sne4sage2scee4sinesi4ses4k_es3kyes3kée4slye4sp_es4pee4st_e4stee4tkie4tkre4tlie4tlyet3riet3roet3růet4úneu3cteu4m_eu4r_e4uraeu4rgeu3s2eu4tseve4še3v2ke4vskex4taey4orey4ovez4apez4boez3deez3duez4děez4ejez4elez4erez4esez4ezez4ešezis4ez4itez4leez4náez4něez4pyez4ácez4áhez4čeez4řeeč4tee4čtie4čtíeře4keř4kue4škaeš4láeš4toeúmy4ežíš4fe4infene4fe4uefi4emfi4flfló4rfm4nof4ranf4ras3frekfs4tefu4chga4učghou4gi4ímg4lomg4noig4nosgo4hm3grafgu4elgu4itgu4m_gus4tha4agha4arha4blha4brha3dlha4kehas3tha4ydhe4brhe4idhej4shi4anhi3erhi4ghhi4re4hla_h4ledh3lenh3lobh3loph3lovh3luj2h1ly4hlá_h4lásh3lí_4hlíkh4nedh3nivh4noj3hněd4hovehra4ph4tinh4títhu4chhu3mohu4tňhy4dohy4pshy4zdhř4byhý4blia3g2i4al_ias4tia4tri2b1ri4chžid4gei4dlýig4nei3hl_i4hliih4naijed4ij4meij4miik3leik4ryi4kveik4úřil4bai4lnui4mlai4mlyi4munina3din4cmin4dl3infein4ghin4gpin4gsin4gtin4špio4skiro4sis4chis4k_is3kais3keis3kris3kuis3kvis3kyis3lois3léis3plis3pois4thist3vis3tíit4rhit4rpit4seit4suix4tdič4tlič4toiř4kliř4čeiš4kriš4kviš4toja2b2jac4kja4cqj3aktj3dobj3dokj3dosjd4říjech4jg4raji4chjih3lji4mžj4inajis3kji2zvjod2řj4orajo3svj3ovljpor42j1s2j4semj4si_j4sk_js4kojs4kájs4poju4anju3naju3spju4t_ju4xtju3žijád2rjš4tika4blka4chka3dlka3ka3kami3kaněka2pska4pvka2přkas3tka4učkaš3lka4špke4blke3joke4prke4psk3lejk4libk3lic4klo_k3los2k3lyk3lá_kna4sko3byko4jmko2přko4skko3zá4kroak3robk3rofkr4ú_kuch4ku4fřku4hrku3seku3siku3suku4thk4vrňky2prkyp3řky4znká4plk3řejkš4tila4brlab4sla3kala4nqla4psla4všla4y_la2zmld4nele4adle4auleh3nle3jole4prle4psle4scle4smle4svlet3mle2trle4tčle4ukle4vhle4vkle3xilez3n3lhanli4azli4blli4bvli4dmlind4li4tňli4vrl4katlk4nul4nullo3brlo4idlo4islo3splo3svlo2trlo4třlo4u_loz4dlo4šk2l1s2l4slalst4nl4stílt4ralt4rult4rylu4idlu4j_lu4k_lu4lklu4m_lu4mnlu3prlu3valu3vllu3vylu3vílá4jšlá4všlí4pllí4znl4štýmaj4sma4klma4kr4maldmas3kmat3rma4všmaz3l2m1d2me4gome4ismh4lemid3lmik3rmi4xt3m2klmk4lamk4li4mla_ml4h_ml4scml4sk4mlu_mna4sm4nohm3nosm4noz3množm4nézm3nějmod3rmo2hlmo4s_mot3ř4moutmoza4mo3zřm4plompo4smp4se2m1s2m4stlmu4flmu4n_mu4ndmu4nnmu4nsmu4nšmy4škmálo3mí4rňmš4čina3chna4dona4emna4h_na3jdna3kana3p2na3s2na4s_na3tlna3třnaz4kna4zšna4č_naž4nn4chcnd4hindo4tnd2rend4rind4říne4glnej3tnej3une3klne3kvne4m_ne3s2ne4s_ne4ssne3tlnet4rne3udne3v2ne4v_nez4nne3škne3šťng4lang4leng4lín4grong4vinik4tni4mrni4mž3nisk2nitřno3b2no4bsno3hnno4hsno4irno4mžno3smnot4rno4zdno4šk2n1s2ns3akns4kon4socns3pont4r_nt3runt3ránu4ggná3s2ná4s_nš4ťooang4obe3jobe3sobe3zob4rňobys4o4chlo2chroc4keoc4koo4ct_oct3noc4únode3pode3so4docodos4od3raod3růo3držoe3tioh4neoi4ceo4into4jaro4jmio4jmuo4jmůo4juzok2teol4glol4toom4klona4soo4hřoote2o4ptuopá4to4př_o4raeor4dmor3stor4váorůs3o4saiose4sosi4do4skuosk3vo4skáo4skýos4laos4lios4lýos3moos4muo4st_o4stgo4stmo4stéo4stšo4stýot4klo4tlýoto3sot3root3víot3řiou3běou3děou4flou4ilou4isou4k_ou3kao4uklou3krou3káoup3noupo4ou4s_ou3saou3seou4skou3smou4tvou4vlou4vnouz3do4učkou3žio4vskovy2po2vštoz4d_oz3dáoz3děoz3díozer4oz4koo4zn_oz4pyoz4pěoz4píoz3rooz3ruoz3růo4zutoz3vroz3váozů4soč4kaoři2so4škuo4škyoš4láoš4mooš4tioš4ťuož4mopa4edpa4espa4klpa3sipa4t_pe4alpede4pe4igpe4npperi3pi4krpi4plpl4h_4plo_po1b2po3c2poly3po3m2po4mppo4olpo4p_po4pmpo1s2pos4ppo3t2po4t_po4tnpo3ukpo3učpo3už3po3vpo3z2po4zdpo3čkpo3řípo4šv4pra_prob2pro3ppro3z4pránpse4s2p1skp4sutp4tejp4terp4tevpt4rip4tá_pu4dlpu4trpyt3lpád3lpá4nvpá4slpé4rhpře3hpře3jpře3zpřih4pš4tira4brra4emra4esra4ffra4hlra4hmra4jgra4jšra4nhra3sira4vvra4wlra4y_ra4yora4ďm4ražir3char3chorc4kir4dlardo2sre4adre4aured4rre4etre3klre4mrre2sbres3lret4rre4umr3hl_ri4bbri4dgri4drri4flri4ghri4zmr4miorn4drro4adro3byrod2l3rofyro4h_ro4jbro4kšrom3nro2sbro3svro3tiro3tlro4tčro3vd3rovýroz3droz3nro4zoroz3vro3záro4čprpa3drr4harr4hor4stur4trárt4smr2t3vrt4zuru3seru3sirus3kru3žirych3rys3try4zkry4znry4í_ry4škrád4lrá4džrá3rirš4nírů4m_rů4v_rý4znsa4pfsa4prsas3ks3ce_sch4lsch4nsci4ese4ause4igse4ilsej4mse4kuse3lhse3s2ses4kse4ssse3tkse3třse4urse3čtsi4fl4skacs4kak4skams4kok2skonskos44skotsk4rask4rusk4ry4skvesk4vos3káns4lavs3le_s4leds3lems3lens3lets4libs3ly_s4meks3nats3ne_sn4tls3ná_s4nídsob4lso3brso4skso4tvsou3hsou3ssouz4so4šks4polss4sr4sta_s3tajs2tanst4at4stecs4tepst4er2stil4stičst3lo4sto_4str_4strnst4ve3ství4sty_s4tyl3styš4stá_s3tář4stě_s4těd3stěhs2těrs2těž2stí_su4basu4bosuma4su3vesá2klta2blt2a3dta4jfta4jg4talt4tand3taně2tarktast4ta4čkte4akte4flte4inteob4tep3lters4te4trte4ucte4urte4utti4grti3kltin4gti4plti3slti4tr2titutiz4r4tizít4kalt4kattk4latk4li4tkně4tla_tles3t3lo_t4loutlu4sto4astob4lto3drto4hmto4irtol4sto4ol4top_4topt4topu2torn2toupt4reat4reftre4ttrip4t4ritt4rogt3rolt4rou4trunt4rus4trášt3růmt3růvts4kott4chtt4ritu4fftu4lktu4r_tu3rytu4s_tu4ť_tu3ži2t3vit4višt4výcty4gřty2laty4řety4řhty4řjty4řoty4řrty4řútá4flté2bl2těnn4tíc_4tícet4řebt2řelt2řict3řiltř4ti3třábtří4stš4tiubs4tu3bí_uc4tíu3druue4fauh3láuh3nou3ka_uk4ajuk4aluk4atuk3lauk3leuk4á_ul4faul4píum4plum4ruun4dlun4žru3pln2u3rou3ry_us3kyus3káus3kéus3kýus2lou4steu4styu4stéu4stěu3střu4stšu4stýu3su_u4trou4tráuš4kluš3tíva3dlva4jťva4klv4dalv4děkv4děčve3jdve3psvep3řves3lve4smves4pvi4chvide2vi4drvi4etvi4krvi2tr4vle_4vlemv4nadvo4icvo4javo4jbvo4jdvo4jjvo4jmvo4jřvo4třvous2vr2dl4vrnyvr4stv3stvvy3d2vy3s2vy4snvys4tvyč4kvy4š_vy4šmvy4ššvy4žlvz4novz4névz4něvz4nívá3riv4čírvě4cmvíce3v3řínvše3s3vý3zwa4fdwa4rexand4xisk4xt4raxy4smyb3riy4chry2d1lyd4láyd4y_yh4neyj4mayj4meyk3layk4lyym4klyna4sype4ryp4siyp4táys3luys3teyst4ryt4meyvě4tyz4něyz4níyz4poyřk4nyř4čezab2lza4bsza4dkza3dlza4dnza4jkza4ktzal4kzam4nza3p2za3s2za3tlzat4rza4utzaz4nza4zšza4č_zaš4kza4šszban4zbys4zd4rezd4víze3p2ze3s2zes4pze3vnze4z_z4inez3ka_zlik3z3ly_z4měn3znakz4nalz3ne_z3nicz4nělz4nítz4nívzo4trzo4škz4pát3zrak2z1s2z4trázu3mozu3mězu3mízva4dz3vařzvik4zv4něz3vodz3vojz4vonzv4roz4vánz4věsz3víjzá3s2zřej3z3řezz3řešzš4ka2z2ú1áb4ryá4bř_á3choádo4sá3hl_á4jmuáj4můá4kliák4niáne4vá2s3kás4k_ás4klás4kná2slaás4lyás4poáv4siáv4síáz3niáz4viář4keář4kůča4brčes3kč3ka_čs4lačs4srčt4la4čtěnčís3lďs4te4ére_ě3hl_ěh3loě4kléě3k2těra3děrs4tět1a3ět4acět3raět3říěš4ťsí3choích4tíjed4íj4můí2s3kís4klís4knís4l_ís3leís4lnísáh2íz3daíz3deí3znařa4plřa4ďmře3chře3jdře3klře3kvřeo4rře3p2ře4p_ře4pkře4pčřer4vře2spře4srře3tlřet4řře3zdře3zk4řezlře3čtři4h_ři4hnři4jďři4l_ři4lbřil2n4řineři4v_ři4vkři4vnřič4tři4š_řk4lařk4liřk4lyřk4nořs4tořá4plřá2slří4křřš4tiša4vlšej4dšep3tši4mr4škovšk4roš3ku_š3livšmi4dš4tipšt4kašt4klš4těkš2těsš4těvš4típťáč4kúj4maút4koúře4zúš4tiůr4vaůr4vyůs3teů3tklý3choýd4laýt4kuýt4kyý4vliý4zvuýč4něža4tvže2b3žeh3nže4mlže4zgži4dlži4jmži2vlžk4niž4lic2ž1s2žá4bržá4nrží4znžš4tižš4tě", + 6 : "_ale3x_as3t3_je4dl_kří3d_le4gr_li3kv_moud3_na3č4_nář4k_od3rá_os4to_os4tě_ot3rá_ově4t_oz3do_pa4re_pa3tř_po3č4_roze3_roz3r_ru4dl_se3pn_va4dl_zao3sab3lona3d3ra3a3dvaa4nameane4skao4střas4tatat3ronat3rova4tří_ba4chr4chalgcien4c4dbat_3dch4nde4bredej4mode3strd3lou_4doboj4do4dd4do4djdomoh44do4čn3drobndře4pne3chl_eilus3ej3eleeju3steoch3repoč3te4s4knes3ku_e4s3lies3tižes4toles3táneu4rase4u4t_eu4traevy4čkevě4trezaos3ez3dovez4ed2eč4kateštíh4ha4dlahatos44h3lo_3hodinho3strhos4tě4hovna4hovny4hovná4hovněhy2t3rid4lo_ik3lo_ilič4nis3ko_i3slavis4talis4tatié4re_jbyst3jez3díjit4rojmou3dj1o3z2jpo4zvjpříz4j4s4kůj4s4mej4sou_j4soucj4s4teka2p3lka2p3rkast3r4k3la_4k3li_ko2t3vkous3k4la3silech3t4lejšk4lenchlepa3dlepo4slet4lilo3střma4tramet3remezi3smys3lonam4nene3h4nne4krones4le4nestino4skyno3strnst4rant4lemob3řezodej4modo4tkod4ranofrek4oje4dlo4jmovont4raopoč3topro4sopřej4o4s3keos4toros3trůoze3d2pat4ripes3t3pe4tra4p3la_4p3li_po3drupo3drápost4rpoč3tepra3stpro3t4pře3t4pře3č2rast4rre3kviretis4ric4kurna4všro3d4rromy4sropát4ro4skvro4skyrově4trs3tvěrs3tvý3rvanírys3kyrůs3ta3schopser4vase4střsig4nosi3ste4s3la_s4liči4s3lo_spro4ss4teros4tichs4tink4stit_s4tona4stou_4strams4trik4strács3třejsych3rsy4nesta3str4tenémtes3tatis4tr4t2kant3rant4tric_tro4sk4trouh4troň_4t4ružt3rálnt4vinntě3d4ltřeh3nupe2r3ve3dleve3stave3t4řve2z3m2v3la_vrst3vvy4dravě3t4aví4hatv3ští_y3klopymané4z4doba4zerotzlhos4ztros3zá4kl_ác3ti3ázni4cč4tenýě4trají3t3řeí3z3nií3zněnře4dobře4kříře3skaře3skořes3poře3staře3stuře3stáře3stř3ři4t_š3k3li4š3kouůs3tánýpo3č4", + 7 : "_dneš4k_mi3st4_no4s3t_os3t3r_polk4la4stru_b4roditckte4rýdob4ratdos4tivenitos4epro4zře4strouevyjad4evypá4t4kličkamš4ťan_nte4r3aonář4kaopře4jmovi4dlapodbě4hpod4nes4rčitý_se4strase4stru4stupnitac4tvovrs4tvězdně4níz4dobnýádos4tič4tené_č4tový_ů4jmový" + } +}; diff --git a/alt-implementations/readifry-master/hyphenator/patterns/da.js b/alt-implementations/readifry-master/hyphenator/patterns/da.js new file mode 100644 index 0000000..46864c6 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/patterns/da.js @@ -0,0 +1,14 @@ +Hyphenator.languages['da'] = { + leftmin : 2, + rightmin : 2, + specialChars : "æøå", + patterns : { + 3 : "a3ca1ea3ha3ja5oa5z1ba4bd1be1bib1j1bo4bsb5t3bub5w1by1ce3chck35cy3dad1b1ded1fd1gd3h1did3jd1kd1ld1m3dod1p1dud1v3dye3ee1he5x1faf1bf1d1fef1ff1gf1h1fif1k3fl1fof1p4ft1fuf1v3fy1gag1bg1d1geg3fg1gg1h1gi5gjg3kg1lg1m3gog3p1grg3v1gyi1ai3bi1ci3hi5ii5ji1uj5kj3rk5bk3hk1kk1tl1bl1fl3hl3jl1ll3r4ls1mam1bm3d1mem3fm1gm3h1mim3km1lm1mm1n3mom1r3my3nan1bn1c4nd1nen1f1nin1mn1n1non5pn3r4ns3nyn3zo3ao1co1eo5ho1jo3t3pap3dp3fp3mp3np1t1pup5vqu4r1br1fr1hr1lr1nr3pr1rs1d1ses1fs1msp44tbt1ht1mt1n4tsu1au1eu3iu5qv5hv5jv5kvl41vov5pv5t3vuy3ay3ey5o5bæ3dæ3døe3æe5å3fæ3fø3gæ3gåi3ø3kø3kå1mæ3mø3må3næ5nøo5åpå31sæ1sø5våæ3cæ3eæ5iæ5oø3eå1då1eå5hå3lå3t", + 4 : "_ae3_om1_po15adg5afgaf3r5afsa4gia4gya5kaa3kea5kraku5a3laa1lea1lial3ka1loa3lua1lya3nu3anva5pea3pia5poa1ra1arba1re5arga1ria3roa3saa3sca1sia3ska3soa1tea1tia1toa5tra1tua5vaa1vebe1k4b1n1br4bs5kb3sob1stby5s4c1c4ch_ci4oda4sd1d4de5ddi1edi5l4d1n4dopd5ovd5rud4smd4sud3tad1tedt5od5trdt5udub5e5ade3afe5age3ake1ale3ane5ape3ate3blebs3e1cie4do3effe3fr3efte3gue3inei5se3jee1kae3kee3kle5kre3kue1kve5kye3lee1lie3loe5lue3lyem1s4enne4noe5nue5ole3ope1ore3ovepi3e1pre3rae1ree1rier1ker3se5rye1tae1tee1tie3tje1toe3tre3tue1tye3ume3un3eure1vae3vee1vifej4f1s4f3taf1tef1tif5toge3sgi4bg5ovgs1ag4segs1pgs1vg3tag1teg1tig5tog3trgt4sg3udgun5g5yd4ha_he5s4hethi4ehi3s4h3thun4hvo4i3dri1eli1eni3erif3ri3gui1kai1keik1li5koi3kuik3vi3liil3ki1loil5ui3mu5infin3si3nui3odi3ogi5oki3olion4i3oti5pii5pri3rei3riir5ti3sci3sii4smis3pi1tai1tei1tii3toi3tri1tui3tyi1vai1vei1vij3agjds1j3lej3lijre5ju3s5kapk5au5kavki3ek1le3kluk4ny5kod1konko3v1kra5kryk1siks3kks1pks5vkt5s3kur1kus3kutk4vok4vu5lab5lam1latl3dr1le_5led3len1ler1les4leuli5ol1kel1kol3kyl5mul3op3lov4l3pl4psl5sjl1tal1tel3tilt3ol3trl3tulu5ll3vel3vimi3kmi4o4mopm1pem3pim3plm1pom3prm5skms3pms5vm3tam3tem3tim3trm1ud1mul4nak1naln3drne5aneo4n4go4n1h4nimni5on1ken1kon3krn3kun5kv4n1ln3sin1tan1ten1tin3ton1trn3tun3ty4n1vo4asod5sof5ro5ino3kao1keo3kuo3lao3leo1lio1loo3luo5ly1omron3kook5o3oro5ovo3piop3lop3rop3s4or_o3rior3kor5oo3sio3soo1teo5unov4s4pec3pen1perpe5spe3u4p5h1pla5pok3potp4rop3skp5sops4pp3stpu5b5py34rafr3dr1relr1guri1er3kar1ker1kir3kurmo4r5muro1bro3pr3orr1sar1sirs4nr3spr5sur3svr1ter1tir3tort3sr5tyr3ud5rutr3var1ver3viry4ss3af1sams3aps1ar1sat4s1bsdy4s4ed4s3h1sig5sis5sit5sius5ju4sk_1skes3kl5skys1les1lislo35slus5lys4myso5k5sol3sons1pls5r4s1s44st_5stj3sto1strs1ud3suls3un3surs3ve3s4y5ta_1tag3tegteo14t1f6t3g3tid4t3k4t1l4t3pt4ra1tryt3sit3st4t1t5turt5ve1typ5udlud5rud3s3udvugs3u5guu5klu1lau1leu5lyu5peup5lu3rau3reu3rous5au3siu5sous5vu1teu1tiu1tout5r5u5vva5d1vedve3s5vet1visv3lev5livls1v5rev3stv5suy5dry3key5kiy3koy3kvy5liy5loy5muyns5y1pey3piy3rey3riy3siy3tiy5vezi5o_så3a3tøa5væe3læe3løe3røe5tæe5tøe1vægiø4g4søg5så3gø1i5tæl3væ5løsm5tån3kæn5tæo5læor3ø5præ5pædr5kær5tær5tør3vær5æl4røn5rør3rådr5års4kå3slås4næ5stø1stås5økti4øt4søt5såt3væu3læy5vææb3læg5aægs5æ5kvæ1reæ3riær5sæ5siæ3soæ3veøde5ø1jeø3keø3leøms5ø1reø3riør5oø1veå3reå5sk", + 5 : "_an3k_an1s_be1t_her3_ove4_til3_yd5rab5le3abstaf4ria4gefag5inag5si3agtiais5t4alkval5siam4paar5af3a3spa3stea3stia1ta1ato5vba4tibe3robe5rube1s4be1trbi5skbo4grbo3rabo5rece5ro4d3afde5sk3drif3drivd5rosds5ands5ind1skidsu5lds5viea4laed5aredde4ed5raed3re4e1koek5sa3ekspe3ladel3akel3are1lase4lek3elem5elimel5sae4maden5ake4nanen3soer3afe4rage4rake4ref5erhve4ribero5der5over5tre3rumer5unfa4cefags3fejl1fo4rif5tvig3artgi3st4g5omgsha4g5slags3org4strheds3hi4n5ho5koho5vehund3i4bleids5ki3et_ik3reik5riiks5tik4tui3lagil3egil5ejil5elind3tings1in4svions1i5o5ri3plii3stii5suakel5ske3skke5stki3stk5lakko3ra3kortks3ank3stek5stuk4tarkti4ekt5relad3r5lagdld3st4lelele4molfin4l1go1li4galo4du4l5orlses1ls5inl4taf4m5ejm5ingmmen5mo4da4m5ovmse5sms5inm3stemu1lind5sind5sknd5spne4dan3erkn5erlne5slne5stni3stn3ordn1skuns3pon1stan5stint4suob3lio4dinod5riod5uno4geko4gelo4g5oog5reog5sk3optaor1an3ordnord5so3re_o3rego3reko3rero3retor5imor3slor3stpa5ghp5anlpe1rap4lan4ple_4pler4ples4p5p41procp5ulera5is4rarbrd4s34reksre5la5rese4ressre3st5rettri5la4rimor4ing4rinp4rintrk3sorre5sr5skrr5stur5talrt3rer5trir5trosa4ma5s4erse4se4s1g4si4bls5int1skabsk5s44snins4nit5som_3somms5oms5somt4s1op3spec4sper3s4pi1stanst5as3stat1stav1ste_1sted3stel1sten5step3stes5stetst5om1sy1s4tanvteds55tekn5termte5roti4enti3stto5rato1reto1ritor4m4trestro5vts4pats5prts5ult5udsue4t5uk4tauk4tru1reru5skaut5s43varm4v5omyk3liyk4s5yr3eky5t3r_ær5i_øv3rbrød35drøvdstå4er5øn4n5æb4s5ænså4r53værd1værkæ4gekæ4g5rælle4æn1drær4maær4moæ3steøn3støn4t3ørne3års5t", + 6 : "_be5la_bi4tr_der3i_ne4t5ade5la5a4f1l3analyan4k5ra4t5ind5antade4rig4dretteddel5ed3rined4stre4j5el3eksemer5egeetek4sfor1enger3ini4l5idinter1i1sterit5re_jek4to4j5en_ke4t5ak4terhla4g3rlfind54l5ins4l3intmi5stynemen4nta4lent4s5toi6s5eo3re3so4r5in4po3rer4d5arr5enssre5spore5s4urro4n5r4sk5vr4telir4t5orrt5ratrun4da5s4tam5stemo3ster_tands3tede4ltli4s5uge4riu4r3egve4l5eve4reg3træk_ær4g5r", + 7 : "_hoved3bu4s5tr4de4lemder5eri5d4reveem4p5lee4v3erfjde4rerjlmeld5l4t5erfntiali43orientringse43sprog_vi4l3infø4r5en", + 8 : "_diagno54g5endengsde4leng5s4tidejlmel4dinement5eringso4rtialis5t", + 9 : "ldiagnos5lingeniø4" + } +}; \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/patterns/de.js b/alt-implementations/readifry-master/hyphenator/patterns/de.js new file mode 100644 index 0000000..7faeede --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/patterns/de.js @@ -0,0 +1,21 @@ +Hyphenator.languages['de'] = { + leftmin : 2, + rightmin : 2, + specialChars : "äüößſ", + patterns : { + 3 : "2aaa1äa1ba1da1ga1j2aoa1öa1p2aqa1ßa2ua1xä1aä1bä1dä1gä1jä1k1äqä1ß1äxä1z1bibl21cacä3c1dc4h1cic1jc4k3co2cp2cs3cu1cy1de1did1ö1due1be1d4eee1fe1ge1ke1m2eoe1pe1qe1ße1te3üe1wey1e1z1fa1fä1fe1fi1fo1fö1fu1fü1fy2gd1geg1n1guh1j2hl2hnh1q2hr4hsh2ü2hwh1zi1a2iä2ici1d2ifi1ji1ßi1üj2u1ka1käkl21ko1kök1q2ks1kü1le1li4ln1lo1lö1ly1ma3mä1me1mi1mo1mö1mu1mü1my1na1nä1ne1nin1j1noo1b2oco1d2oi2ol2omo1qo2uo1vo1xö1bö1dö1e1öf2önöo1ö1ßö1vö1wö1zp2a1päp2e1php1j1puqu42rc1re1ri4rnr1q1ru1rü1ry1sa1sä1sc1se1si1so1sös1t1su1sü1ße1ßiß1j1ßu1ta1tä1tet1h1ti1to2tö2ts1tu2tü2ua2ucu1h2uiu1ju1lun12uou1q2usu1w1üb2üc2üdü1gü1k2ünü1ß2ütü1vü1zve2v2r2vsw2aw2ä2wnw2rw2ux1a1xe1xix1jx1q1xu2xyx1zy1by1ey1gy1hy1jy1ly1py1ry1vy1wy1yzä2zu1zw2", + 4 : "_ax4_äm3_ch2_en1_eu1_fs4_gd2_gs4_he2_ia4_in1_ks2_oa3_öd2_pf4_ph4_ps2_st4_th4_ts2_um3_ur1_xe3a1abaa1ca3au2abaab1ä1abd1abf1abg1abh2abi1abkab1l1abnab3r1abs2abu2abü1abw2aby1abz2aca2acc2acu1add2adf2adh5adj2ado2adp2adq2adu2a1eae2bae2cae2da2ekae2pa2eta2ewae2xaf1a2afe2afia2fö2agaag2n2agt2ah_2ahsa1huah1wa1hyaif2a2il2aisaje22ak_2akb2akc2akd4ako2aks1akza1laa1lä2ale2ali2aloa1lu4aly2am_2amä2amf2amk2amla2mö2amu1anb2ane1anf1anh2anj1anl2anna1nö1anra1nü1anwao1ia1opa1or2ap_2apa2apea2pfap2n2apr2ar_a1raa1rä1arb2are2arf2arh2ari2arr2arua2rü2arv2ary4asha2söa2süaße22a1tata1at2cat2eat2h3atmat1ö4atra3tü2au_2aub4auc2aue2aug2auj4aum4aunau1o2auu2auw2aux2auz2a1ü2a1v4avia2vr2a1wax2eays4ay3t2a1zaz2aaz2oaz2uäb2sä1ckä2daä2dräd2s2ä1eäf3läf3räf2säg2näh1aä3hi2ähm2ähsä1huäh1wä1imä1la2äleä1lu2ämläm2s2än_2äne2änsä1onä1paär1äär1c4äreä1röä2rü1ärzä3suä3teät2häu1cä2uf1äug4äul2äumä2un2äur1äuß4ä1v3bah3basb2ärb2äs4b1bb3bebb2sbbu12b1c3be_3bea3beb3bek3bel1bembe1o3bet1bezbge3bib23bilbiz24b1j2bl_b2leb2lo3blü2b1mbni2bo4abo2cboe1b1op2böfb1öl2b1qb2r42br_3brä3brü4b1sb3säb3scb4slb2söbss2bs2t4b3tb5teb4thbt4rbtü1bu2fbü1c2b1v2b1w3by1by3pbys2ca1h3camc4an3carcäs22c1ccch22cec2cefce1i2cek1cen1cer1cetce1u2c1f4ch_2chb2chc2chd2chf2chg2chh2chj2chk2chp4chs2cht4chü2chv4chw1chy2chzci1cci2s4ck_ck1ack1ä2ckb2ckc2ckd1cke2ckf2ckg2ckh1cki2ckk2ckm2ckp4cks2ckt1cku2ckv2ckw1cky2ckzclo1co2ccoi22c1qcre2cry2cs2ac2si4c1tcti22c1z3da_da1ad1afd1agda1sdä2u2d1cd3dhd5dodeg2d1eides1det2dga2d3gl3di_3dicdi2edi1p2d1j4d1ld3ladni2d1obdo2o2d1qd2r4d3rid3rö2d1s4dsb4dsld2södss4dst42d1td2thdto2d3tödt3rd3tüdu2fdu1idu1odur22düb3düf3dün2d1wdwa2dy2s2d1z2e1aea2ceak1eam3e2ase1ä22eba2ebl2ebre3bue1ce2ecle3cr2ected2eed2öee1eeeg2e1eie1en2ef_2efa2efe2efi2eflefs22efu2efüegd4e3gee2gn2egue1hee1hi2ehme1hoehs22ehte1hue1hüeh1we1hy4eibe2idei1ee4ilei1p2eire2it2eiu2e1jek2a1ekdek4nek2oek4r2ektek2ue1la2eli2eln2eloe1lü2elz2ema2emm2emüen3fe4nre4nten1ue1nüe1nye1ofe1ohe4ole1ore1ove1ö2e3pae3puer1ae1räer1cer3h2erie1roer1ö2eru2esbes2c2esf4eshes3l2esmes2ö2esp2esres3we3syes3ze3teet2he3tie3tö2etre3tü2etz2euf1euke1um2euneu1p2eut2eux2e1ve3vo2ewae3wä2eweew2s2ex_3exp2exuey4neys4e3ziez2wfab43facf4ahf2alf2arf3atfä1cf1äu2f1cfe2c3fewf1ex3fez2f1fff2efff4ff3lff2s3fi_fid2fi2ofi2r3fis3fiz2f1jf2l22fl_1fläf3löf4lü2föf2f1qf2r2f3ruf3rü4f1sf3scf3sifs2tf2süf3sy4f1tf2thf3töf3tü3fugf1umf2ur3fut2fübfü2r2f1v2f1w2f1zfz2afz2öfzu33ga_ga1c5gaiga1kgäs5gä4ugbi22g1cg1dag1dog1dögdt4gd1uge1cged4gef4g2el4g1gg3gegg4r2g1h4gh_gh2egh1lg2hugh1w2g1j4gl_2gls3glüg2ly2gn_gn2e2gng2gnp2gns2gnt2gnug2nüg2ny2gnzgo4a2goggo1igo1y2g1qg2r4gse2g4slgso2gsp4g4swg3sy2g1tg3tegt2sg3tügu1cgu2egu2t2gübgür1güs32g1v2g1w3haah1ahh1aph2as2h1c2heahe3x2hi_2hiahi2ehi2n2hio2hiuhlb4hld4hlg4hll2hlm2h2lo2h1mh2moh3möhm2sh2muh2nah2nähn2eh1nu2hodhoe42hoih2on2hoo2hop3hov1h2öhö2ch4örhr1chr3dhrf2hrg2h2rihrr4h3rüh2ryhrz2hss24h1th2thhto2h4tshtt4h3tühu1chu2n2hurhüs32h1vhvi23hyg3hyphz2o2ia_i4aai2ab2iaci2afi2ahi3aii2aji2ak2iali2am2iani2apia1q2iasi3au2iavi1ämiär22i1bib2oi2böice1idt4i2dyie1ci1eii1exif3lif3rif2s2i1gi2gli3go4i1hi3heih3mih3nih3rihs2ih1wi3i2ii4s2i1k4ikei2kni1la6ilbil2cilf22iloilv42im_2ime2imo2imt2imu2inein3f2inoi1nö2inp2inrin1ui1ny2i1oio1cio2dion2i2ori2oui2ovio2xi3ön2ip_i1pai1peiph2ip4li1pr2ips2ipu2i1qi1räir1cir2eir2i2irki1roi1rö2isb2iseis3ti2sü4itäi6tli3töi3tü2itzium12i1v2i1w2i1xi2xai3xi2i1zi2zöja1c2jatje2aje1cje2gje2pje3wji2ajit3ji2vjoa3jo2iju2kjus32j1v3ka_ka1ck2adk2agka2o3kask1ähk1änkär2kby42k3cki1c3kir2kiz2k3j4kl_k2lek1lu2kly2k1mk2n2k3nek3nu3knü3komk2onk2os3kowkö2fk1ölk2r4kst44k1tk2thktt2k3tükt3zku1ckuh12kübkü1c2k1v2k1w3la_1lad2laf1lai3lao1lawlay1lä1c1läd2läf4lät2l1blb2slb2u2l1c4l1dld3rldt43le_2lec3ledle2e3lehl2ek2leple2u3levl2ey2l1flf4u2l1glgd4l3go3li_3liali1cl2ie3ligli3l2limli2o3liu4l1j2l1klk2l4l1lllb4llg4llk4ll5mlln22l1mlm3plm3tlnd2l3nil1nul1nü3loklo2o2lox2löd4lög4löß2l1plp2fl3pu2l1q4l1s4l1tl2thl6tsltt2l3tü1luf4luo2lur3lux2lüb5lüd2l1v2l3wly3c3lynly1oly3u2l1zl2zölz1wm1abmae2ma1f3mas3maßm4aymb4lmby42m3c2m1dmd1ameb43mehme1o2meö3mesmeu13mi_mi1c3mig3mil3mit2m1jm3ka4m1lm3li4m1mmmd2mmm2mm3pmm2smoa33moh3mom3mos3motmo1ymö2c4mökm1öl2m1pm2pfm3pim3pu2m1q4m1sm3säm3scm3sem2süm3sy4m1tm2thm3tömtt2m3tümt3zmu1a3munm4us2müb3mün3müt2m1vmwa2my4s2m1z3na_n1af3nain1ar3nas3natn1au3näe3näs2näunby42n1cn2ck2n1dn2döndy33ne_2nec3nedn1efneg4ne2l3nenne2un2ew3nez2n1fnf2änff4n3finf4lnf2onf4rnf3s4n1gng3mn2gnn3hän3hen3hu3nian1idn4ie3niknin1n2ip2nitni3v3nix2n1k4n1nnn3fnng4n3ni3no_no1cn1of3nov3now3noz2nödn2ör2n1q6n1snsp4n3sy2n1tn3ton3tön4tsn3tun3tü1nu_1nud3nuenuf21nug1nuinu2n1nuo2nup2nur1nut1nuu1nux1nuz3nü_3nüs1nüt4n1w1ny_1nyhn1yo1nyr1nys1nyw2n1znz3so4aco4ado4aho2aro2aso4ato5au2obbob2e1objob1lo3cao1ceo1ck2odrodt4o2ecoen12ofa2ofiof3l2ofo2oft2o1go3ghogs2o1hao1häo1heo1hio1hooh1soh3to1huoh1wo3ieo1imo1inoi2r2o1j2o1kok4n4okrokt4o1lao1läol2io3loo1lu3olyoms2omy12ona2onä2onc2oneono1o1nuon3v1onyon3zoof2o1opo1oro1pao1pi2or_or1ao3räor1c4ore2orf2orh2orm2orq2orro3ru2osh2osio3sk2oso2o1to3tüoub4oug2o3uho3um2our2ouv2o1ü2ovi2ovo2o1wo3wiox2aox2eo2xu1oxyo1yo2o1zoz2eo3ziöb2l2ö1cödi3öf3lög3lög3rö1heö1huö1keök3r3öl_öls2öm2sön2eö3niön2sö1nuö1peör1cöru4ö2saö2spö2stö3su2ö1töt2höts2öze31pa_1paa1pacpag41pak1pap2paß1pat1pau3päd3pär3päs2p1b2p3cpda41pe_pe2a1pedpef4pei13pel1pem1pep3pet4pf_1pfäpff4pf3r2p1g4ph_ph2a2phä2phb4phd2phf4phg4phkph2l2phm2phn2phöph4r2phs2phz3pik1pilpi2o3pip3pispku22pl_3pläp4lo2p1n1p2opo1c3podpo2i3pokpo2wpo3xpö2c2p1ppp3lppt2p2r2p4rä2p1s4ps_p3sep2söp2st2p1tpt1ap3tep2thptt2ptü4pt3zpu1apub42puc2pur3put1püf2pülpün22p1v2p1w3py1pys4py3t2p1z1ra_r1abr2ad1raer2afr2air2alr2apr1arr2as2raß1rat1raür2ax4räf4räg2räh2rämrä2u2r1brbb2rb2orb2srb2ur1ce2r1dr2dördt43re_2reä3reg3rekre2u2reür1ew3rez2r1frf2u4r1gr1h42rh_2rha2rhä2rhö2rhsrid2r2ie3rigr2isr2itrix12r1j2r1krk4n4r1lrl2erl3t4r1mrm2urnd4r3nern3frng2r3nirn1ör1nur1nür1nyro1c2rof3roir2onr1or4roß2rox2röf4rögr1ök4röpr1örrp4erpf4r3porp3tr3pu2r1rrrb2rr1crr2or3ru4r1sr3sirs3lr3sor3sy4r1tr3tör4tsrtt4r3türt3zru1a3ruf4rug2rum3rut4ruz2rüb2r1v2r1w4r1xry2c2r1zrz2ö3sa_3saa3sams1an3sat3säl2sc_s2ci2scj4scl2scos2cr2scs2scusd4r3see3seh3seq3set2s1hsh2as3häsh3ns3hösh4rsib43sio2s1j4sk_4skbsk4lsk4n4skö4skss3läsl3bs3les3li4sna4snö3so_so4aso1c3sog3sol3somso3o3sos3sov3sow3sozsö2csö2fs1ös1sp22sp_s2pä2spls3pn4spy2s1q6s1sss3l6st_s2ta2stb2stdst2e2stf2stg4sth2stj2stk4stl4stm2stns2to1stö2stp2stqs2trst2u1stü2stv2stwsu2n3suv3süc3sün4s3v2s1ws3was3we1s4ysyl12s1zsz2os3zü2ß1c2ß1d2ß1f2ß1h2ß1l2ß1mß1o2ßos2ßst22ß1t2ß1ü2ß1v2ß1w2ß1z3ta_4taatah2t2ai2tam3tas3tav3tax4täbtä1c4täd3täe3täg2täh4tämt1äptä2st2ät2täx4t1ct4ckt3cr3te_2teh3ten3tes4th_th2e1thi2thk2thp2ths2thü2thvt2hy3tig3tik3tio3tip3tis3tiv2t1j4t3ltl4e3to_to1c3tod3tok3ton3too4toß3tow4töftö4l3tön4töß3töttpf42t1q2tr_3tritry14ts_ts1ot2söt3sy4t1tt3tit3tot3töttt4t3tut3tü2tub3tuc2tud3tue4tuf2tuh2tuk4tüb3tüf3tüm4t3v4t3wtwa21ty13typtys44t1ztz1ätz2öu1amu3auu1ayu1ämu1äu2u1bub2lub1ru1ce2u1d2u1eu2edu2eguen1u2ep2uffuf3luf3r2u1gugo3u2göu2gü2uh_uh1wu1ieu3iguk2au1keu1kiuk4nuk2öu1kuulb4ulg4u2lü1umf1umg1umk1uml4umm1umr1umz4un_u3ne2unk1unruns21unt1unw2unzu3ofuos2u1pau3piu1pr2ur_u1raurd22ure2urfu1röur3purt2u3ruurü2u2sü2u1ß2u1tu3teuto1u3töu3tüu1ü22u1xux2eux2oux3tu1ya2u1z2übc2übdübe2üb3lüb3rüd3rüf3lü2gnüg3süh1aü1heüh1iüh1süh3tü1huüh1wül1aül2cül4eü1luün2sünt2ü1nuü1peü1piür1aürr2ür2süs2aü2stva1cva1sv4at2v1b2v1dve3bve3cve3dve3gve3hve4ive3over1ves12veüve3v2v1g2v1hvi2cvig22v1k2v1m2v1n3vol3voyvö2c2v1pv3revs2e2v3t2v1v2v1w2v1z1waa1wag1wah1walwa2p1was1wäh1wäl1wäswbu22w1c2w1dwe2a1weg1wehwe2i1wet2w1g2w3h1widwi2ewik21wil2w1k2w1l2w1mwn3s1wohwot21wöc2w1pw3ro2w1sws2t2w1twti21wucwul2wus21wühwül2wün32w1w1xa_1xae2x1b2x1c4x1d2xekxe2lx1emx2en3xes2x1f2x1g2x1hxib4xi1cxi3gxil12x1l2x1m2x1nx1or4x1p2x1r4x1txt1äxt1uxu1axu2s2x1v2x1w3xy_3xys1yacy1äty1c2y1d4y2efy1f2ygi2yg2lyhr2y1i4y1k2yl3cynt2y1nuy1ofyom2y1osy1ouypa2ype2y2pfy3phypo3y3riyrr2yse1y1t2yu2ry1z2za1c3zahz1anz1as2z3czdä1ze1e2z1h2z1j3zolzo2oz1orz1öl2zön2z1qz3saz3shz3skz3sz2z1tz3töz3tüzu3azub4zud4zu3kzuz22züb2z1v4z1zzz2ö", + 5 : "_ab1a_abi4_ab3l_abo2_ack2_ag4n_ag4r_ag2u_ai2s_ang2_an3s_apo1_aps2_as3t_at4h_au3d_ät2s_by4t_dab4_de1i_de1s_dü1b_dys1_ei3k_eke2_enn2_er1e_erf4_er1i_es1p_et2s_eu3t_ext4_fe2i_fi2s_ga4t_ge3u_hi2s_im2a_im5m_in3e_ink4_inu1_ire3_is2a_jor3_ka2i_ki4e_kus2_li2f_ma3d_ma2i_me2e_ne4s_ni4e_nob4_nus2_ob1a_obe2_or2a_ort2_ozo4_pro1_ro4a_ro3m_rü1b_sch4_sha2_te2e_te2f_te2s_ti2a_tid1_ti2s_to2w_umo2_un3d_un3e_un3g_un3s_ur2i_ut2a_ut3r_übe4_vo4r_wa2s_wi4e_wor2_ya4l_za2s_zi2e_zwe2aa2beaa2gr4a2araart2aas5tab2äuab1ebabe1eabei12abela3ber2abet2abew3abfiab1irab1it2ableab3liab4loa2blua2bo_ab2of2abora3braa4brä2abrü2abs_abs2aab5scab3spabst4ab3szab1uraby4ta1cem2ach_ach1a2achba1che4achfa1chiach3lach3mach3na1choach3öach3ra4chta1chuach3ü2achvac1in2ada_ad2agada2m4adav1a2dä2ade_2aden4a3diad2obad3ru2ads2ad3stad3szad2t1ad4tead4tra2elaa2eleae2o3aes5ta2faka2fana3faraf4ata2faua2fexaf2fl2af3lafo1saf3raaf3räaf3reaf3röaf2spag1abag1arag1auag2diag2drag2duage1iag2er2agesag3gl1aggr2a2glag4laa4glöag4nuag4roagsa2ags3pag2th2a1haah4at2a1heahe1sa1h2iahin3ah2löahnt21ahorah1osa2h3öahr1aah3riaht3saian3aid2sai1e2aien3ai3g4a3ik_ai3keai3kuai2loa1indain4ea1ingai2saaiso2a3iv_aive3a3ivla3ivs2akal2akarak4at4a1kea2kefa2keu2a1ki2ak3lak4li2a1kr4akra3akroak3sh2akta2aktb2a1kua2kun4a3kü2ala_al1abal1afala2ga3lalal1ama2larala4s2alatal1aual1ämal2bralb3sal2däal2dral3dualen1ale2pale4talf4r3algi3almba2l1öal3öfal2ös1alphal2ufa2lumal1ural2zw2am2aamab4amad2ama3g2am4e4ame_a2meba3meta2mewa3miea3mis2ammlammu2am3pr2am2sam3sa1amt_am4töam2tu2ana_2anabana3ca3nak2anam2ananan1äs2anbuan3ch2and_2andua3nee2anfi4ang_2angf2anghang1l2angoang1r2a3ni2ank_an3klank1rankt42anmu3annäan1oda3nola3nos2anpr1ansä1ansc2ansk2ant_2anto1antr1antw2a1nuanu3s2anzb2anzg2anzs1anzü2anzwa1os3ao3t2a3ot_a2pefap2faa3pfla3phäa2pht2ap3la2pot3applap3pu2a3pua3ra_ar2ab2arb_4arba2arbiar2bl2arbr2arbt2arbu1ar1ca2reaa4rega2reha4reka3renare3uar2ewarf1rar2glar2gnar2iaar1ima3riuarm2äarn2e2a1roar1oba2rorar2rh2arsaarse32arsiar2st2arto2artsar1ufar1uhar1umarwa2ar2zä2arze1arztas3aua2s1äa2sca4as2ea2seba3ses2asisas1ora2s1pas2phas2pias2poa3spuas2stas3teas3tias3to2astraßen3at1abat2afat4agata3la3tama2tatat1aua2t1ä4ate_a2teb4atena2tep4atesat3ha3athl4a3ti4atorat3räat3reat2saat2seat2siat2soat3taatt3sa3tubatu2nat2zoau2draue2baue2sau2faauff43aufn4au1iau2isau3lüaun2eau1nua4unz2aup22ausc1ausd3ausf1ausg1auslau2so1ausr1ausü1ausz2aut_2aute1autoauz2wa3v4aawi3eax4am2a1yaa1yeuaysi1ä2b3lä1cheä1chiäch3lä2chrä1chuäck2eäf2fläge1iäge3sä2g3lä2g3räg4ra1ä2gy2ä3heähl1aähl2eäh3neäh3riä1is_ä1iskä2k3lä2k3rälbe2äl2bläl2p3ämt2eän5deän2dräne1sän2f52ängeän2glän2gr2ä3niänk2eän2kränk2säp2pläp2präp4stär4afäre2när2grärk2särm2sär1o2ärse2är4siär2stärt4eär2thär2zwä5s4eäse3tä2s1päss2eäs2stäs4träte2nät1obä2t3rät2saät2sääts3lät4trät2zwäu2bräude3äu3eläuf2eäug3läu2maäun2eäu1nuäu3seä3usgä3uskä3usnäu2späu2trba2bl2babs2b1afbais2ba2kabak1lbak1rbal2a2b1amban2ab1ang2banlban3tb1anzbar3bbar3nba2scba2stbau3gbau1sba1yobben3bbe4pbb2lö2b3d4bde1sbe3anbe3arbe3asb2ebe1be1cbedi4be1eh3bef4be3g2beil2b2einbe3li1ben_ben3nbe1ra3be1sbes2abe1ur3b2ew2b1ex2b5f4bfal22b1g2bges42b5h2bhut2bi3akbibe2bie2sbik2abil2abi2lubin2ebi2o1bio3dbi3onbiri1bi3seb1isobi2spb2it_b2itebi2tu2b1k4b3lad3blatb3leb3blemb4letb3leub2lie2bligb4lisb2litb4locb3los2blun3blut4b3n2bnis1bo5asb1ob3bo2blbo2brbo3d22b1ofbo3febo1is3bon_bond1bo2ne3bonsbo4räbor2sb1ortbo2scbo3thbo2xibö2b32b1p2bpa2gb4ra_b4rahbrä4u2bre_3brea2breg3bremb4rer2brigb4riob3rohb4ronb4rucbru4sbs3arbsat2b4särbs2äubs2cabs4cub3se_bse2bbsi4tbs2kubso2rbs2plb3stob3stöb3stübtal3btil4b4ts2bu2e3bu3libung4b2urgbu2sa2b3z22c1abca2chca2e3ca3g4cal3tca2pecar3ncas3tca1y2ceco4ce2drcen3gcere3ce3sh2ceta2chab2chaf1chaoch1äs1chef4chei2chic2chl2ch2lech2lu4ch2m2chn42chobcho2fch1ohch2r44chrech3rh2chuf2chuh2chum1cka_2ckac1ckag2ckalcka4r2ckau2ckeh2ckexck1imck1in3ckis2ck3l2ck3nck1o22ck3rckt2e3c4l2clet4co3chco2d2co3dicoff4co1itco2keco2lecol2oco2peco1racor3dco3recos3tco4te1c4r2cte3ecti4octur6cu2p32d1ab2d1acd2ac_dagi2dah3lda1ho3d4aida1inda1isdal2ada3löd1altdamo3d4ampd2an_d1ang2danw2d1apd2aph4dapp3darlda2rod3arrdar3sd1artda2rudas4tdat2a4datmdau3e2dauk2d1äh2d1äp2därzdä3us2d1b4dbu2cdco4r2d1d2ddar2de2adde3asde3b43de1cde1e4de3gldehe2de3hod2eicde2löd2en_dend2den3gd2enhde2nide1nude1ondepi2d4er_de3rude2sade2spde2sude1unde3us2dexp2d1f42d1g2dga3gd2ge_2d1h2d2hisdi4abdi2addi4amdi1cediet3dik2adin2adi2obdi2spdist2di2tadi2thdit3sdi2tu3di5vdi3z22d1k4d3l2edli2f2d3m24d5n2dnis1d2obadob4ld2obrdole4doll22doped2opp2dorc2dordd2orp2dortd2os_dos3sdost1dot6hdo3undö2l13d2ör2d3p2drag4d3rai2drädd4räh4dre_2dreg4drem2d3rhd4ri_d4ridd4ried4rifd4rikd4rild3robd3rocd4roid3roud5rubdrü1bd2sands1änd3seidse4td3shodso2rd2späds2pods2pud2steds2tids2tud2sundta2dd5teadt3hodt5s2du1ardub3l2d1uh2dumd2dumf2dumg2dumld2ump2dumrd1umsdung42dunrdun2s2duntdus3t2d1v2e3a2beab3lea2drea2g4ea3gaea3gleakt2ea2laeam1oea2nae2anoe3ar_ea2rae3arre3arveas3se3athea5tre3aug2ebedebe2i2ebeleb2en2ebeteb3loeb2lö2eb2oebot2ebö2seb4rueb2s1ebse22e3caech1äe1chiech3lech3mech3ne1chuech1weci6a2eckteco3dec1s4e3d2aed2dre3deiede2re3d2oeds2äed2suedu2se3dy3ee3a2eeb2lee2ceee1chee2ckeede3e1effeef4leef3see1imeel2ee1empeena2e2enäe2encee3nie2enoeen3see1rae1erde1erkee1röeert2e1erzee3s2ees3kee3taee2thee1u2e1e2xef1are2fate2fäue3fe_ef1emef2er2eff_1effief2flefi2s1efkue3fraef4rüef3soef3spe2fumege1ue2gloeg3nieg2thegus32e1ha2e1häeh2eceh2ele3hereh1läehle2eh3loeh3mue3holehr1äeh3rieh3sheh3übei2blei3de2eidn1eifrei3gl2eigt2eigu2eil_2eilbeil3d2eilne1impei4näein3kei3o2eip2fei3ree1irre2is_2eitäei3teei2theitt4e3ke_e3kene3kese3keye3k2lekt2oe3k2wela2cel1afela2h2elaoela4s2e1läel2da2ele_elea2ele2c2eleh2elei1eleke3lepel2ete3leu2elevele2x1elf_el3feelf4l1elfm1elfte3lieel3klel3leelm2ael5nae2lofe2lolelon2elö2selto22e1luel1ure2lyaelz2eema2keme2se2mop3empfem2saem2stem3t21emule2n1a4ena_2enace3nade4naf4enahe4nak4enam4enaten1äu2ene_2enem2enen2enesenf2aenf2uen3geen2gl1engpe3ni_e3nice2nide3niee3nio2enise3nit2enive2nofen1ohe3nolen1one3noteno2w2e1nöen3sp1entd1entn2entü1entw1entz2enut4enwüeo2fee1on_e1onde1onfe1onhe1onle1onre1onse1opee1opfeop4te3or_e3orbe3orse3orweo1s2e3os_eo3ulepa2gep3leep2paep4plep2prept2aepu2se3ra_era2ge1raie2rake1rale1rape2rare1rasera2ße1rawe1razer1äher1ämerb2eer3brer3da1erdber3de4ere_er1ebere2l2erer2ereserf2eerf4rerg3s2erhüe3ribe3rio2erk_erk3te3ro_er3oaer1ofer1ohe3rone3rose3rowerö2d2eröker3p4er3rä2errüers2aer3seers2ier3sker3sner3sper3sz4ertier3uzerü4bes3abes3ake3sceesch2es2eles2hues2ide2siles2ire4skees3kles3kue4skye3sote3spies3sces3se2essoe1stre1stues4tüeße2setab4et1am3etapet4atet1ähet2enete2oet3hüeti2m2e3toeto2bets2pet3suett1aet2thet2zäet2zweu1a2eu2gaeugs4euil4eu1ineu2käe3um_e3umbe3umleun2eeu1o2eur2eeu3speust4eut2heu2zw4everewä2se2we_e3wirewi2se3witex3atex1er1exis2ext_ex2tu2e3xye3z2aezi2sf1abefab5sfa2drfaib4fa2ke2fanb2fanf2fanlf1anp2fanrfan3s2fanw2f1ap3farifa3shf3aug3f4avfa2xa2f1b22f3d4fdie2f2echfe2drfe2eife1emfef4lf4eief1eisfel3tf2em_fem4m2fempfe2näfen3gfe2nof1entf2er_fe1raf2eref2ertf1erwfe2st3fete2fexpff3arff1auffe2eff3eiffe2mff4enf2fexff4laff4läff4lof3fluf3flüff3roff3röffs3t4f3g2fge3s2f1h2fi3atfien3fi3klfi2krfil3dfilg4fi3lif2inafi3nifin2sfi3olfi3rafis2afis2pfi3tu4f1k4f3ladf3lapf3länf4leef3lerflo2wf4luc2f3m2fma2d2f3n2fni2sfob2l2f1offoli3fo2nafon2efo2nu2f1opfo1ra3form2f1ök2f1ölför2s4f1p2f4racf5radfra4mf5rap2fre_f3recf3red2fregf3repf4reufri3dfri2e2frig1frisf3rocfro2sf3rotf2sanfs3arf4scefs4cofse4tf2sphfs1prfs3s4fs3thf4ta_f2tabft1afft1anft1arf3tatft3hoft1opft2s1ftsa2ftse4ft3stf2tumftwa4ft3z23f2uhfung42funt2gabfgab4r2gabz2gadlga1flga2kagal2ag4amo2ganbgan3d2ganh2ganl2ganwga1ny2garb2garc3gardg2arsga3ruga2saga2siga3spgas3sgat2a2gatmgat4rgau1cg2aukg1aus2g1äp2gärz2g1b2gber2gby4tgd1ing1d3rgd3s2ge3a2geb2ageb4rge1e2ge3ecge2esge1imge1irge2isge3lege3lügelz2ge3migem2uge3nagen3ggen3ngeo2rge1ouge3p4ge1ragerm4ge3sigest2ge5trge1ulge1ur2g1ex2g1f4gga4tg2g3lgg4log2g3n3gh2rgie3ggi2elgi2gugi3negi3tugi4us4g3k2g1labg1lac3glad3glätg2l4e2gle_3gleag3lecg3leg2glehg3len2glesg4lia2glib2glif2gligg2lik4gling2lio2glisg2lizglo3gg2lom2g1luglu2t2g1m2g2n2ag4na_2gnacg4nat3g2näg3neh2gneug2nieg2nifg4nin3g2nogno1r2g1of2g1ohgol2a2gord2gorggo2s1go3stgo3th2g1p2g4rebg4remg4rerg3retg3revgri2e3grif2grig2groc2grohgron4g4rosgro4ug4ruf2grut4g2s1gsa2gg3salgs3angs3arg3s2cg4scagsch4g4scogs2ehgsen1gs3ergse4tgsi2dg3silg3spigs3plgsrü2gs5s4gs3tag3stog3stögs3trg3stugs3tügti2mg5t4rgu3amgu1as2guedguet42g1uhgu1is3gummgu4stgut1agut3h2g3z2hab2ahab2eh2absha1kl2haleh1alph1amth2an_h2andh4ann2hanr2hantha2plha2pr2harbh2ardhasi1h1äff2h3b22h3d4hdan2he2adhe3behe2blhe3brhed2ghee4she2fä2heffhe2frhe2fuhe3guh1eieh1eifh1eighe2im4heioh1eiwhe3lihe3lohe2lö3hemdhe3mi3hemmh2en_he2näheng22henihe2nohen3z4he2ohe3onhe3ophe3phherg22hermhe3roh1eröhert2he3thhet2ih2e2uheu3ghe1y22h3f4hfi2s2h3g2hget42h1h2hi2achi1ce2hi3dh2idehi2krh1infh1inhhi3nohi4onhi3or2hip1hi2phhi2pih2i2rhi3rahi3rihirn1hi3rohir2shis2ahi2sehi2sthi1thhi3ti2h1k4h4lachla2nh1lash1lath3lädh1läsh1läuh3lebhle3eh3lerh3lesh3lexh2lieh2lifh2liph2lish2lith3lochl1ofhl1oph4lorh3löch2löshl3t2h3lufh3lukh1lüfh2mabh3magh3manh3marh4mäch4mähh4mälh4mäuh3me_hme1eh3menh4monhm3p4hm3sahms1phn1adh3namhn1anhn3d4h2nelhn3exh2nich2nidh2niehn1imhn1inh2niphn3k4h2norhnts2h2nuch2nulho2blho2efho4fa3hole4holo3holzhom2ehono3ho1rahor3dh1orgho3slho2spho4st2hot_ho3thh1o2xho1y2hö3ckhö2s1h3öst2h3p2hr1achr3adh1raih3räuh2rech3redh3refh3relh3rephre2th3revh3richri4eh3rinh2robh3rohh3rolh4ronh2rorh3rouhrs3khr2suhr4swhr2thh3ruhh4rübh2sanh2sauh2späh2sphh1stah1stoh2s1uh2t1ahta4nht2ash2tärht1ehhte2sh4thohtod1h3töpht4riht3röht2soht2sphtti2ht3z2hu2buhuko3hu2lähu2loh1umsh1unah1up_h1upshurg2hu3sahu2sohu2tihut2th4übsh3übuhvil4hwe1c2hy2thzug4iab4liaf4li3ak_i3akti5al_ia2läial3bial3dialk2i3allia2lui3am_i4amoian2ei3anni2anoi3anti3anzi3ar_ia2rai2ascia3shi2asiias3siast4i3at_i4ate1iatri3atsia3uni1är_i1ärsi1ät_i1ätaib1eiibe4nibi2ki3blai3blei4bräich1aich1äi1chei1chiich3lich3mi1choi1chuich1wi3damid2ani2deiidni3i2dol2i2drie3a2ie2bäie2blie2ckie2drie1e2iel3di1ell2i1eni3en_i3enai3endi2enei3enfi3enhi3enji3enki3enmi3enni3enöi3enpi3enrien2sie1nui3envi3enwi3enzie1o2i2erei4erii1ernie2röie3sui1ettieu2eie1unif1arif4atif1aui2fecife2iif2enif2flif4läi1flüif4rai1freif3seif3spif2taiga3iig1läig4nai4gnäig4noig4raig3säig4seig3soi2harihe1eihe4ni4is_i4i3ti2käri3ki_ik1ini2k3lik3noiko3si2kölik3räik3reik1s2ik3soik3szikt2eikt3ri2kuni3kusi1lä1il2daild1oil2drile2hil1el2ill_2illsil3öfi1lu2i2lumi3lusim4ati2megi2meji2meki2mew1immo1impoimp4s1impuim2stin2afin3ami3napina4sin1äsin3do2indrin3eii3nelin1euine2x2ingain2gl4inhei3nie2inigin2ir2inis2inn_2innlin1odin1orino3tin3suint2hin3zwi2odaio3e4iof4li2o3hio3k4i3ol_i3om_i3omsi3on_ion3di2onyi2o1pio4pfi3opsi3opti3or_i3orci3orpi3orsi3ortio3s2i2osti3ot_i3otsi3oz_i1ö2ki1ös_ipen3i3perip3fa2i1piipi2sip2plip3pui1r2ai3radirat2ir2bli3ree2irekir2glirg4sir2he2irigir4mäir2no1ironiro2sirr2hir3seir3shir2sti3sacis2api2saui2scaise3eisi2ais1opis1pais1peis3sais2stis4töis4tüit1amit1ani3tatit1auit2ärität22itelite4ni2texi5thr1itiii5tocit3rei3truit2sait2soit1uhitut4it2zä2i3u2i2vebive4niwur2ix2emiz1apiz1auize2niz4erizo2bi2z1wja3nejani1ja1stje3najet3tjo2b1job3rjoni1jo1rajord2jo2scjou4lju2blju3nijur2ok3a2aka3ar2kabh2kabska1frka1inka3kak1allkalo5k3amakand4kan2ekank42kanlk1anska3nu2kanw3kara2karbk2ardk2argk2arkk2arskar3tkaru2k2arwka3sekasi1kas3s2kattk1auskäse32k3b4kbo4nkbu2s2k3d2k1effkefi4kege2ke2glk1einkei1skeit2ke2lake2läkel1ek4eltk2en_ke2no2keo2ke2plk2er_k2erck2erlkerz2k6es_ket3ske1up2k3f42k1g22k1h4kho3mki3a4ki3drki2elki3k4ki3liki3lok2imik2in_k2ing2kinhk2inik2innkin3ski3orkio4skis2pkist2ki3zi2k1k44kla_k4lar4kle_4kleh2klic2kligk2link3lipk2lir4klizk4lopklö2sk2lötkluf23knabk4neiko2al2kobjkoff4ko1i2kol4ako3leko4muko3nu2kop_ko1pe2kops2kopzko3riko2spko2stko3ta2k1ouko2wek1o2x2k1p2k4rawk4raz2kre_2kreg2k3rh2krib2krip3kris2krufkrü1bk2sanks3ark2sauks2änksch4ks3hak3sofks1pak3speks2puks3s2k1stak1stek1stok1strk1stuk2s1uk3talkt1amkt1anktä3skte3ekt1eik2texkt3hokt1imk3topkt4rokt3s4kul2a4kulpkung42kuntku2roku2spkus3tku2sukür4s2k3z2kze3lla3ba2labb2labf2labg2labhlab2ol2abrl1abt3labu2labwla1celad2il1adl2ladm3ladul1advla2falaf3slaf3tla2gala2gnlago2l2akk2l1al4lall4lalpl2amil2amp2lanb2lanf2lanll1anp2lanslar3sla2ru4lasdla3se2lash2lasila2so2laspla2stlat2ala3telat2s1lauglawa41länd2läub2läuc2läue1läufl3bacl3blälb3lel2blil3blolb3salb3selb4sklb3splbs6tl3chel3chilch3llch3rlch3ülch1wlda2gld1all3daml3dasl3datld1auld1ärl2deil2dexldo2rld2osld2ö2l2dreld4rüld3sald3stld3thle2adle2bl4leddle3dele3eilef2ale2gäle2glleg4r4lehs4lehtl2eicl2eidl2eitlel3s4lemplem3sl2en_le2näl2enfle3nil2enkle1os3lepa3lepf3leprl2er_lerb4lerk2ler3tl1erzles2ele3shlesi1le3skles2t4lesw2lesy2leto4leud3leut2lexe2lexzl3fahlfe1elf3lolf2trlfur1lga3tlg3rel3gro2l1h23lhi_li3acli3akli3amli3arlia1sli3b4libi34lickli4ds3lie_lig4nli3keli2krlil2a3limol1inv2linzli4om3lis_li2spliss2lit2ali3telit2hli3tu2lixili2zalk3lolk4nelk4ralk2s1lk3sälks3tl3k2ülla2nl3lapll1aullch4ll3d4ll2emll2esl2lexll3l2ll1obl3lowll3shll5t4llu2fll1urll3z2lme2el2möllmpf4lms2tlna4rl3n4e2lobjl2obrlo1fllof4rloi4rlol2a2lopf2loptlo1ralo4rä2lorcl1ordlo3ro3lorq3los_lo4sa3loselo2talot4h2l1ovlo2velö2b3l2ö2fl1öhrlpi4plp3t42l3r2lre1slrut4lrü1bl3sacl2saul3sexl4shalsho2ls2pols3s2lst2al2stels4trls2tuls1uml2sunlsu3sl2tabltag4lt1aklt1ehlt2enlt3hol3thul2toblt1oplto2wlt1öll3törlt1ösl3trält3relt3sclt2solt1uhlu1anluba2lubs2lu2drlu2es2lufflu2golu2gu2l1uhlume22lumf2lumll2umpl1umsl1umw1lu2n2lunt2lunwl1urnl1urt2luselu2splu4stlu2tälüh1lly1ar2lymply3nolzo2flz3t2m2abe2mabk2mabs2mabtma2cima3damal3dmalu4mam3m2manbm2anfm2anh2manlm4ann2manzma2orm2app2marb4marrm1arzmat4cma3unma1yom1ähnmä1i2m1ärg2m1b2mbe2em3b4rm2d1äm2deimds2em2e1cmedi32medyme1efmega1m2eil3meldmell2m2en_m2ens2meou3mer_me1rame2ro3mersmes1ame4sä4mesume3th2m1ex2m1f4mfi4l4m1g22m1h4mi2admi3akmibi1mi3damie3lmi2ermi4etmi2kimi2ku4milzmi3nimi1nu3mir_mi3ra3miri3mirs3mirwmi2samise1mi2tami2th4mitz4m1k4m2mabmm1eimm3simm3spm2mummm2unmmül22m3n22mobj3m2odmo2dr4mog_mo2i32mol_mom2e3m2onmo3ne3mo2o2moptmo1ramork4m1o2xmp2flm3ponmp3ta2m3r2m2sanm4sapms1asm2saumsch2m4scom4sexmso2rm2späms2poms2pums3s2m3stoms4trms4tüms1ummt1abmt1akm3tammt1armt3homti2smt1ösm4ts1mt2samt2semt1um2m3uhmu3la2mulsmu3nim4unkmunt24munzmu3ra3musimu2spmus3tmu2sumuts32m1w2mwa4rmwel42n1abna2bä4nabg4nabhna2bln2abona2br4nabt3n2ac4naddn2ade3n2ag3n2ahn3ahnnai2en1aig2n1akna2ka3nakon2al_na2län4alena2lu2nalyn4am_3name3namon1an_4nanb2nanh2nani4nank2nanl3nannna3non1anp2nanr2nanw5nar_2narcn2ard4narg3narin2ark2narmn2arpn2as_4naspn4ata4natmnats14natt4naufn3aug5naui3n2äcn1ähn2n1ännä2scn2äss2n3b4nbe3nnbes4nbu2snch3mnd2agndat2nd1aun2dein2dobndo1cnd1opnd1orn2drönd3thndt4rn2dü4ne2apne3asne3atne2bl3necane1ckne2de2nee33nehm2n1ein2eid4neifne2ke3nelanel3bne3lin2em_n4en_n2enbn2encn2enhne2nin2enjnen3kne2non2ensn2envn2enwne2obne1os2nepfn2er_ne1ranere2n1erfn1erh3nerin1erkne2ron2erpn2erv3n2esn4es_nes4cnes1one2thneu1cneu3gneur22n1exnf1aknfo1snft2on2f1ung1adng3d4n3gefn3gerng3g4ng3hun2glon2glöng3neng1orngs3cng3tsn2gum2n1h4n3hann3harn3haunhe2rnib4lni2deni3drnie3bni1elnig2anig3rni3klni2kr3n2ilnim2o2ninfni2obni3okni3olni3ra3n2isni2tinit4sni3tunk2amn2kähnke2cnk2lonk2lunk4nan2knenk2öfn2köl2n3l22n1m4n2naunne2snn2exn2nofnn3scnn3senn2thnn1ur3nobl2no2dno3drn3olen2on_3nor_nor2a2norc3norh3norm3norsn1ortno3shno2täno2tr2nö2f2n3p4npa2gnpro1npsy32n3r2n3savns2cans1ebnse2tn3sexn3siln4sphn2sponsrü2ns3s2ns2tins2tunst2ün2styns2umnta3mnt4atnt1ämnte2bnte1ent1ehnt2enn3ternteu3nte3vn3thrnti3cntmo2nt3sants2onts2pnts2tntum4nt3z21nu1anu3arnubi11nu1cnu2esnu2fe2n1uhnu3k4n2um_2numf2numg3numm2numr2nuna2nunt3nu2snu3scnu3senu3slnu2ta2nü4bnür1c2n1v2n3ver2nymun2zadn2zann2zärnz1ecn2zornz2öln2zwö2o3a2o4abioa3deo4a3ioa3ke2obano3bar2obe_2obea2obewobi4t2o3boo3briob3skobs2pob3sz2o3buobu2s2o3bü2oby4och1ao1cheoch3loch3moch1ooch3roch1socht2o1chuoch1wo3ckeo3ckio2ckoo3d2aod2dro3debo3dexo3diro2donodo4so2dre2o3du2o1e2o4e3so2e3to3et_o3etsof1amof1auof2eno3feroffs2of2fuof1laof4läof4löof3raof3räof4rüofs1aof3thoga3dog2loo3g4nog3spohl1aoh3looh2lu3ohngoh2ni1ohnmo2h3öohr1aoh1ro2o1hyo1i2do2isco1ismoiss2oi1thoki2ook1läo2labol2arol4drole3eoler2ole3sol1exol2faol2flolf1rol2glol2grol2klolk3rol2of1olymol2zwo2mabo2mebome3co2melo2mepom2esom3maom3pfomtu3ona2bo2naeo3nalon1apon2auonbe3one2ion3f2ong4rong3s4o3nion3k2onli4o3nodono3sons1aonsi2ons3lons1pont2hont3s2onukoor3foo4skoo2tr2o1ö2opab4o3panopa5so1peco1pei2opf_op2fäo2pfeopf1l4oph2o3pheopin2op3li2o3poop4plop2pr2o1pr1opsiop3szo1rad2orak2oral3oramo1rasor1ätorb2l2orcaor2ce4orda1ordnor2do2ordr2ords2ordwore2hor1eror3gaor2glor2gn4oril2oritork2aork2s2o1ro2o1röorr4aor3rh2ors2or3shor3szor4töor2ufo2r3üo2ryaos3ados4anosa1sos4co2o3seose3eose2no3shoo4skaos3keo4skios2lo2os1pos2peos2saos4säos3to2osu42o3syo2tebote2s4ot2hot4heo2throt2inotli2ot4olot2oroto1so3traot2saot3scots1pot2thou2ceou2geou3glouri4outu4ove3so3wecoy1s4o3z2aozon1ö2bleö2b3röb2s3öch1lö2chröch2söcht4öd2stöf2flöh3riö3ig_ö2ko3öl1a2öl1eiöl1emöl4enöl1imöl1inöl3laöl1o2öl3saöl3szö2l1uölz2wönn2eön3scön3spöpf3lör3a2ör2drör2glör2klör1o2örs2eört2eör2trös2stös3teös2thös3trö2t3aöt2scöt2trözes4pa3dapa2drpa3ghpa1ho3pala1paläpa3li2paltpank42panl2pannpant2panz4papi23para1parc2parg1paro2parppa4stpat4cp3auf3pä2cpä2to2p1d2pea4rpech1pe2en2peicpe1im2pekupel3dpena41pennpe1rapere21perl3pero5perspe3sape2stp2fabp2fadp2fafpf1aip2feipf3lopf3lup2forpf1ra2pfs2pf3slpf3sz2pf3tpgra2p3hopph3t2phu4s2p1hüpi2a3pias4p4id2pi2el3pierpi3lepin2epi3oipi2pepi3ri4pisopi1thpit2s2pitz2p1k2pkur11p2l43p4lap5la_p5lad2ple_ple1cp4legp4lem2pligp4likp4liz2p3lu2p1m2po3b42p3ohpo3id3poin3p4olpo3li2pondpo1pepo2plpo3pt2pornpor3spos2epo3ta3potepö2blp2p1hpp1läp2plep2pripp3sa1prak1prax1präd1präg3präm3präs2pre_2prec1pred1preipri4e2prig1p4ro3prob2proc3prod3prog3proj3prot1prüf2prünps4anp3s2hps1idps2pop3staps2tup3stü3p2syps2zept2abpt3atpte4lp4tospto2wp2t3rpt3s2pt1um3p2typu2dr2p1uh2pundpun2s2puntput2spwa4r1queura2abr3aalra3ar2rabd2rabf2rabgra2br2rabs2rabt1rabyra1cer2ackr4ad_3radf3radlrad5tra2gn4raht2raic1rake3rakür4al_ral3bra3le2ralgr4aliralk2r4alsra2lu3ralyr2ammr2an_4ranc2ranf2ranl2ranr2rapfr2ara2rarbr2arkr2arpr4as_ras2ar4at_r3atlrat4r4rau_4raud2rauf2raug3raum3r2äd3rän_3räni3räns2r1ärr2är_rä3raräu2s4räutr2bakr3blärb2lörb4rirb3serbs1orb3sprby4tr1chirch3lrch3mrch3rrch1wr2ck1r2dafrd2amr4dapr2deir3denrd1itr2dobr3donrd1osrd4rird3tard3thrdwa4re2amre3asreb1rre2bür2ech3red_4reddre1elre1er3refe4reff3refl3refo5reg_rehl4r2ei_r2eie2reigr1einre3larel2ere3lorelu2r4em_r2emi4remur4en_r2enare2näre2nir2enzre3or3repe3repo4reppr1erfr1ergr1erkr1erlrer2nr2eror1erör1ertre2sa3rese3reso2ress3rest3resu2reulre2wi4rezirf2äurf2esrf4lör3flür3forrf4rurf4rürf2sarf2targ2abrg2anr2gnorg3spr2ha_r3herr2hoe2rholrhu2sri3amria1sri3atri1ceri1elri1euri2frrif3s5rig_5rigjrig1l4rigrrik1lr2imb2rimprim2s2rink3rinn2rint4r1irris2ari3so3rissri2strit4r5riturk2amr2kährk4lork2lur3krirk2sprk1strk2tark1uhrk2umrku2nr3l2arle2ar3lecrle2ir3letr3l2irli2sr3l2orm2ärrm3d2r3me_r2meorm2esrmo1srm3sarmt2arna2brna4nr2naurn3drr4nefrn2eirne2nr5nesrn2etr4nexr3nodr1nötrn1ur2robj2robsro3e4roh1lro1irro3lerol3s2roly4rom_4romm4romt3ronnrons2ro1pero3phr2oraro3shro2ßu3routrö2du1r2öh1r2öl3römir2ös_r2öse2r1p2r3p4ar2plirpro1rps3trr2abrr2arrr1ämr3r2er4rewrr2herrik2rro3mrr2strr2thr3r2ürrü1brs3abrs2anrs3arr3shors2klr4skor4skrr4skurs4nor4sobrs2p4rs3s2rs2thrs2tir3stor3störs2tur3swirtal2rt1amrt1ärrten1r2thirto1prt1orr5trirt2sorube2ru2drru2fa3ruinru1is4rumfru2mi4ruml4rumz2rund4runn2runwru3pr4r3urru2ra5ruroru2siru2strut3hru2zwrü1ch4rümmrz2anr2zarr2zasrz1idrz1oprz3terz2thr3zwä2s1absa2besa2blsa2br4sabss1adm3safasa2fe3safi3sagasag4nsa2gr3s2aisail22s1aksa2ka3saki3sakr4sakt3salo5samms1amps2an_s3anbs2and3sani2s1apsa2po3sapr2s1ar3saris3arrs1aspsat2a4satmsa2trsa3tss1a4u3sau_3sauc3saue3saum3saur2s3avsa2vos3ähns1ält2s1äm2s1är3s2ät3säul2säuß4s3b4sba4n2scams2cans2cap2scar2s1ce4sch_s4chä4schb4schc2schd2schf2schg2schh2schks4chls4chö2schp2schq4schss4chu3schü2schv2schz4s3d2sde1sseb4rse1ecse2glseg4rse3heseh1lseh1sseh3ts1ein3s2eks2el_s2elsse2nä3senkse2noseo2rs4er_3seraser3gs1erh3seriseru25ses_se3su2s1exse2xe4sexpsex3t4s3f4sflo44s3g2sha2k1shass3h2e3shi_3shidshi4rs3hoc4shof3shop3showsi2ad2siat5si1cs2ido3s4iesien3sie2ssi1f43s4igsig4nsi2kisik1lsi2krsik3ssi2ku3silosin1ision43s2issi2sasis3s3s2itsit3rsi3tusiv1asive3si2vr2s1k24skams3kar4skasskel1s4keps2kifs2kig4skirski1s3skiz4skom4skor4skow4sk3t2s1l23slal4slans2laws3lo_s3loe2s3m22s3n4snab4so3baso3et3softso3la3s2onsone22sopf3sor_s1orc3sorsso4rus4os_2s1ox2s1ök2spaa4spak4spap3spaß4spaus2paz3späh2spärs3pe_2spel4spet4s3pf2sphas4phäs3phespi2k4spil3spio4spis4spla4splä4sple2spod2spogs2poi2spok4spol4spr_3spru2s3ps2s4pt2spun2spup3spur4sput4s3r4sret3srü2ds5safs3sagss1ajs3sals3s2äs4sces4scoss1ecssoi4ss2poss3s4sst2ass2thss2tis3stü4sta_3staast2ac2stag3stah2stak2stax3s2tä4stäg2st3c2steas2ted4stee2stem4stens2tep2ster4stes2stetst3ev4stexs4thäs4this2thu2stia2stibs2ticsti2e2stig2stiks2til2stio2stis2stiv2sto_s3tob1stof4ston4stoo1stoß4stou2stow2stoz2stöt1stru1stub4stuc2stue3stuf3stuhstu2n3stüt4st3zsu1ansuba24subi3su1c2s1uhsu1issul2asul2isult23summ3sun_su4nes1unf4sunt3s2upsup3psu2ras1urtsu2s1su3sasu3shsu3sisus3s2sü4bsü2d1sweh24swie4swilsy4n34s3zas2zess2zis4s3zu4s3zw2ß1a22ß1b22ß1ec2ß1eißen3gße2niße2noße2roßer3t2ß3g2ßig4s2ß1in2ß1k4ßler32ß1n22ß1p22ß3r22ß1s22ß1um5taan4tab_2tabf2tabg2tabh2tabkta2br4tabsta2bü2tabw2tabz2t1ac3tacut1adatadi33taf_4tafft1afg3t2agt3agotai2ltai4r2takzta2latal3d3talo2talt3tameta2mit1amt3tan_2tanbta3ne4tanf2tang3tanit2ank4tanlt2anot1ansta2nuta3or2tapfta2pl2tarb4tark2taro2tartta2ruta3sata2tht3atlt4atmt1auk3taum4tägyt1ämt3tänzt2är_tä2ru4tätt2täuß4t3b2t3chat3chetch2itch3lt2chutch1w4t3d4tdun2te2a22teakte3alte3an3tebat2ech2teckte1emte2es2teff3teha3tehä3tei_teik43teiltekt25tel_3telatelb43telg3telk5teln3telp5tels3tem_tem3st6en_ten3ate2nät4enbten3gt4enhte2nit4enjt4enmten3n3terct4erit4erot3erötert2teru2t2estte2su3tet2t2et_4teth4tetl3teuf3teumte1unte2vite1xa4texp3text4t1f4tfi2l4t1g2tger22th4at2hagt3hait2hak2t3hä3thea2thebt2hect2hekt2hem1then3theot2hest2heut2hik4th3l4th3m2th3n1t2hot3hoft3horthou24t3hö2thub4thunti2ad3tib4ti1cetieg42tiehti1elti1etti1eu3tif_ti1fr4tift3tilgti2lötil3stilt4ti2lut2imiti3nat1inbt1infti1nuti3orti3plti1rhti2sptium2tive3ti2za4t3k45tlem6t5li4t3m24t5n4tnes2to4asto5at4tobjtob2ltode2toi4rto3la3tole4tolz2tomg3topo2topt3tor_to1ra4torct1ord3toret1orgto2rö3torsto2rut2orwto3sc3toseto4sktos2p4toss3totrtots23t4outo3un3töch4t1ökt1öst4t3p21t2r45tra_3trac3trag3trak3tral4traß5träc3träg4träs4träß4treb4trec3tref4treg2trekt4remt4rert4rett4reut3rev2trez2t3rh4trict4riptri2x3tro_3troe3tront4rop3troyt3röc2tröh3trös3trua4truktrum2t4rübt4rügts1adts1alt2sants1ast2sauts1emts3krtso2rt3sout2spät2spht2spots3s4t1st4ts2tut2s1u1tsubtt1abtt2actt1aktt2altta1st3telttes1tto1st3trott3rutt3rütts1ptt2untu3antuf2etuff3tu2istul2at2um_3tun_3tune3tungt1up_tu2rätur1c3turntu2rotu4rutu2satu2sotu3ta3tüch3tür_tür1c3türe3türg4tütztwi4ety2pat2za2tz1agtz1altz1artz1aut3ze_t2zortz2thtz1wätz1witz1wuu1a2bu1a2cuad4ru1al_u1albu1alfu1alru1alsu1altua2luu1ansu3ar_u1arsua3saua2thuat2iubau1u3b4iu2bopub3räu2bübuch1auch1äu1cheu1chiuch3luch3much3nu1chuuch3üuch1wu2ckiu3d2au2donud3rau3druue2ckue2enu2elaue2leueli4ue2miue2näue2niue2nou2ereu3errue2tau3fahuf1akuf3aru3fasuf1au2ufe_uff4luffs4u2fobufo2ruf3säuf4sou2fumug1afug1akuga4sug1auug3d2ug3huu2g1lug3lou4gluu2g3nug1orug3roug3seug3siuh1lauh1läuh2liuhme4uhr1auh3riuhrt4uh2ruuh4rüui2chui1emu4igeu1in_u1is_u3käuu1k2lu1k4ruk2tauku2sul1abul1amula2sul1ämul2drule4nule2tu2lexul3f4uli2kul3kaul2knull2aull3sulo2iul1orul2sauls3z2ultaul3thult3sul2vrulz2wuma4rum2enum1irumm2aum2suum3t2um2un2una_1unabun3acun4alun3at1unda1undd1undf2undg1undn1undv1undzune2bune2hung5hun2idunik4un2imuni2r2unisunks23unkuunna2uno4run2os2uns_un3se1unsiun3skun3spun3taun3trunt3s2untuu1o2bu3or_u3orsu1os_uote2u1pe2uper1up2faup2plup2prupt1oup4tru2rabu2rar2u1räur1änurch1ur3diure4nurf3turi2cur1imurk2s4u1rou3roluro1sur4swur2zaur2zäur2ziur2zou4safu3sepus3klu4skous3ocu3sohus1ouus1peu2spou2spuus2thus3tru1stuus2uru2tärut1egute2lut2esut2etu4tevutfi4ut2heu2thiu2thuuto3cut4orutos4ut3rüut3teutts2ut2zo2u1u2uufe22u1v4u2ve_uz1weuz3z4übe3cüber3ü1cheüch3lüd3a4üd1o4üd3s2üdsa1üd3t4ü2f1aüfer2üf2flü2f1iüf2toü2g3lüg4stühla2ühl2eüh3moüh3neühn2süh1roühs2püh4thül2laül2loül2löü2n1aün2daün2dründ3sünen3ün2faün2frünn2sün3scün3seün3spün2zaüp2plür2flür2frür3scür3seür3spürt2hüse3hüse3lüse1süss2eüs2stü2t3rüt2s1üt2tr2v1abval2s2vang2varb2v1auve3arveit4ve3lave3leve3live3love3maven2cve3neve3nive3növer3averd2vere2verf4verg4ve3river3kvert2ver3uve3tavete1ve3trve3x22v1f4vi3arvi2elvi2ervima2vi4navin2svi3savise4vi2spvis2u2v1l22v1obvo3gavo2gu2v1opvo2r1vor3avor3dvor3evor3gvo3ri2v3rav4ree2v3rov1stav3s2zvu2et2vumfwa5gewa3gowai2b2walb2walmwa3nawa3sawa3sewa3sh2wängwäs2c2w1b2we2bawe2blweb3swe2e4weed3we2fl2weiewe3niwerd2we2röwer2s1wesewe4stwet2s2w1eywie3lwin2e2wing1wi4rwi2sp1wisswi3th1wo1c1wolfwor3aw3s2kwun2s4wur_wur2s2xa2b1x2adxa1fl1x2agx3a2mx2anz1x2asx1e4gx2er_x2erexers22x3euxich2xide2xie3lxil2axi2loxi2lux2is1xis2cxi2sexis3sxi2su2x1k22x3s2x2t1axt2asx2tänxtfi4xt3s2x3turx1u2n2y1aby1al_y1a2myan2gy1anky2chiych3nyen4ny2erey2es_yes2pye2thygie5yke3nyk3s2y4le_yli4nyl3s2y2l1uyma4tym3p4ympi1y2n1oyno4dyon4iy1ontyp3any4p3sy3r2eyri2ayri1ey3r4oys2any3s2cy3s2hy4s3lysme3ys2poys1prys3t4y3s2zy2te_y2tesy3to1yure3zab3lz1a2dza3de2z1afza3grzale32z1amza2na3zani2zarb2zarcz1arm3zaubz3aug3zaun2z1äc3z2äh2z1ämz1ärgz1ärm4z3b4zbü1b2z3d2zdan2zeik4zelu25zen_zen3nze2no3zentz2er_zerk2z2ernzers2ze2säze3sczes1ezes1ize2spze2tr2z1ex2z1f42z1g2z2henzhir3zi3arzid3rzil2ezin2ezi2o3zi3opzirk22z3k42z1l22z1m2zme2e2z3n42z1ob2z1ofzo2gl2z1oh2zopezo2ri2z3ot2zö2f2z3p42z3r24z1s2zt3hozt3s2zu4chzudi4zu2elzu3f4zu3gl2zumf2zumg2zumlzun2ezung42zuntz1urkzu3s4zu5t2zür1cz1wac4zwahz1war2zwas4zwäl2zweg2zwet4zwirz2wit2z1woz1wörz1wur2z1wüz3z4az3z2o", + 6 : "_ab3ol_ab1or_akt2a_al3br_alt3s_ampe4_an3d2_angs4_ans2p_ans2t_an3th_ari1e_ark2a_ar2sc_as4ta_au2f3_au4s3_be3ra_boge2_da2r1_darm1_de2al_de1o2_des2e_de3sk_des2t_do2mo_do1pe_dorf1_ehe1i_ei3e2_ei4na_ei2sp_ei4st_ei4tr_el2bi_elb3s_em3m2_end3s_enns3_en2t3_en4tr_er2da_ere3c_es3ta_est2h_es3to_es5tr_eu3g4_eve4r_flug1_for2t_fu2sc_ge3ne_guss1_he3fe_he3ri_inn2e_kamp2_kle2i_kni4e_kopf1_le4ar_li4tu_ma3la_ma2st_mel2a_mi4t1_näs1c_no4th_oper4_oste2_ost3r_poka2_ram3s_reli1_ri2as_rom2a_rö2s1_se3ck_sen3s_ser2u_se2t1_si4te_ski1e_tal2e_ta2to_te3no_te4st_ti5ta_tite4_to4pl_tro2s_tu3ri_uf2e2_ufer1_un3a2_uni4t_uns4t_uro2p_ur3s2_wah4l4a1a2naa2r1aaar3f4aat4s3ab1aufab1eilabe2laab1erkab1erzab1ins1a2blaab5lag1a2bläab4le_3a2blö1a2bon2absarab3s2i2abst_ab3ste1abteia1chalach3auach1eia3cho_ach1orach3su4ach1wa1ckarack2ena2ckinack2seack3slacon4na3d2abad3amaa2d1an3a4dapade2aladefi4a2deina2deri4ade1sades4sadi3enad4resa2f1eca2fentaf1erlaf4fluaf3s2aaf3s2haf2t1aaf2teiaf2t3raf2tura2f3urag1a2da3gen_age4naage2saage4si3a2gitag4ne_a2g3rea2g3riag4samag4setag4spoag3staag3stea2gundahl3a2ahl3szah4n1aah3r2eahrta2ain3spai3s2e2a3kam1a2kazaken2nak3rauak5tan2aktikak2t3r2aktstal1ageal3amealami5al3ampal1anaal1ansal1anza3lar_a3lareal2armal3arral1asial1assal3augal2b1lalb3lial2bohalb3rualds2ta4l1eha2l1eia2l1ela2lengal1epoal1erl3alermal1etaal1etha2l1eua4leur3a2lexal2glial1insa2linvalk1ar1alkohalk3s2alks4tal2labal2laual3les1allgäal2lobalo2gaal1opeal1orc3alpe_al3sklal3sunal4takal3tamal2treal2trial2troalt2seal1umbame2n1amer2aa2meriame3rua4mesh2a3mirami3taami3ti2ammalam2meiam2minam3stram2t1aam2t1äam4tel2amtemam2t3ram4treanadi3an1algan3dacande2san2dexand2suand1uran3e2can2ei_an3eifan1e4kan1ethanft5san3f2uang1ar3angeb2angiean2gla4angs_an2i3d3a4nima4ninsan2keian4klöank3ra3an3naann2aban3n2ea2n1orans2enan2seuan3skrans1pa1anspran3s2z1antei1anthran2tro2anwet1anzeian2zwiar3abtara3d2a2r3al2a2rara2r1auar2bauar2bec2arbenar2bre2arbs2ar2droar1effar1ehra2reinar2erfa2reria2rerlar1intar2kalar2knear2korar4kriark1s4ark3saark3shar2lesar2nana2r1oparr3hear3s2har3staar3t2ear2thear3t2iartin2art3rear2z1was1alaa3schea3schia2schma3schua3s2hiasin2gaska3sa3skopas3s2aas3s2eas3s2ias2s1pass3tias3stras3stu2as3taas4tauas4tofast3räaswa2s3a2sylat1apfa2tausat3eiga2teliate2ru4athe1atil4sati2st4atmusatra4tat3romat4setat2s1pat4takat4tauat2teiatz1eratz3t2at2z1w2au1a2au2bliau2bloauf1an2aufe_2aufehauf1er2aufs_2auft_4augehaule2sau2malau2m1oaum3p2aum3s6au3n4aau2nio2au3r2au2sauau2spraus3s22auts4ava3t4äche1eäch2späch4stä2d1iaäft4s3äg3str2äh3t4äl2l1aämi3enäne2n1äng3seän2k3län2s1cänse3häp2s1cä2r3a2ä2r1eiär1intär2k3lärt2s3äse3g2äser2iäskop2ä3s2kräs6s1cä4s3t2äß1erkä4t1a2ät2e1iätein2ät2s1iät2s1pät2s3täum4s52ä3us_backs4b1a2drbah2nuba2k1iba2krabal3th3b2andban2drba3n2eban4klban2kr2b1ansbar3deba2reibar2enbar3zwba3s2abau3sp3b2ä1cbbens2bb3lerbbru2cbe2delbe2erkbe1erlbe1etabei1f4bei3k4bei3labe1indbei3scbeis2ebei1stbeit2sbe3lasbe3lecbe3leibe2letbel3label3szbel3t4ben3arbe3nei3ben3gbe3n2iben2sebenst4ben2su2bentbb2entib1ents2bentwben3unben3z2ber3ambe2ranbere4sber3nab1erntbe2robbe3ropbe3rumbe3slobes2pobess4ebes3szbe2tapbe3thabien3sbi2ke_bi2kes2b1inb2b1infbin3gl2b1intbi2solbi2s5tb2it2abla3b4b2lancb2latt2b3law3ble2a2b3legb3lein3ble4nb3leseble3sz2blich3blickbling43blitzbo3ch2bo2e3ibon2debo1r2abo2reibo4rigbo4s3pbot2st2b3radb4ra3k2b3refb3reif2b3repbri2er2b3rolbrust3bru2thb2s1adb3sandb3sel_bse2n1b3s2esb2s1ofb3s2pubst3acbst1akbs3tätbst3erb2stipb4stodbs4trib4stübb2s1unbu2chibul2la2b3umkbu3r4ibus1erbu2sinbu2s1pbu2s1ubzeit1carri1ca3t4hcha2ck2ch1akch2anb3chancch1ang4chanz4char_1characha2sc3chato4chatuch1ärm3chef_3chefi3chefsch1eimcher3ach1ess2cheta1ch1iachi3na4chind2chinf2chinhch1insch1int1chiruch1offch1orcchre3s1chron2chunt2ck3an4ckeffck1ehe4ck1eick1entcke2rack2ereck1erhck2ern2ckero2ck1id2ckunt2ck1upcon2nec1s4trcussi43d2abäda2ben3d2ablda2bredab4rüdach3ada2chodach1sdal3b2d1amma2d1amt2d1ana2dangedan4kldan2kr2d1ans2dantwd2anz_4danzida2r3a2darb2dar2mada3s2hdat4e2da3teidate4n4d3atl4daush2d1ämt2d1änd2d1ängde3a2tde4ca_de2cka2d1eff2d1ehrdein2ddein2sdel1ändel1ec2delek2delem2delfmdelle2de2lopde3lordel5scdel2sodel3t4dem2ar2d1empden3th2dentwdera2bde1radde2rapder2bl2derdbderer33derieder3m2de4ruhde4rumde3sacdesa2gde4samdes2äcde2sebde4sehde2seide4setde2sinde2sordes3s2de2sto2d1etwde1urlde2xisdha1s4di3e2ddi3enidie2thdige4sdil2s52d1imb2d1ind2d1inf2d1inh2d1ins2d1intdion3sdi4re_di2rendi2ris2d1irl2d1isrdi4t3rdle2ra2d1o2fdo2mardo5n4adoni1e2d1opfdor2fädor2fldor2fr2d1orgdo2riedor2tadö2s1c3d4ra_2d3rad2drahm3d4ramd3rand2d3rät2d3räud4rea_d4reas3d4rehd4reiv4d3ren2d3rep4d3rer4dres_d4resc3d4ria2d5ricd5riegd4rin_3d4rit4dritu2d3rod2d3rot2d3rovdrö2s13d4ruc2d3ruh2d5rutd2sau2d2s1efds2eigd2serhds1errd3s2had2s1imds2infd3skuld2s1opds1orids1pasd2sprods3tabd4stagd4stead3steid4stemds4tilds4tipds1umsds2zend4theidtran2du1alvdu2bli2d1ufe2d1umb2d3umkd2ums_2d1umvdund2a2d1unfdun3kedun2kl2d1url2dursadwest3ea3dereadli4e3aleiealti2eat4e2eater1eat3s2e3au2feau1ste3b2akebert4eb3lereb4leue3blieeb3reiebs3paeb3staeb3strebu2t12e3cheech1eie2cho_e2ch3rech3taech1uheck3seede2aledens1edi4aled2s1oed2s1pee2choeed3s2ee2lekee3lenee4nage1e2pie1erbtee3r2eeere2see4reteer2öse1ertree3r2uee4tateewa4re2f1adef1anae2fente3f4lu2e3f2oef3reaef3rolef3romef2tanege2raeg4saleg4stoegung4eh1ache3h2aleh2auseh1eff1e2hepehe1raeh1inteh1lameh2linehl2seehr1a2eh2reiehre3seh1ro2ehr1obehr1ofeh1stee2hunt2ei3a2ei2bareibu4tei2choei2d1aei3danei3dra4eien33eifrüeig2er2eigew2eigrueik2arei3kauei2lareilen1eil3f41eilzuei2moreim2plei2n1aei4nasein3dr2einduei4nelei2neu2einfoein3g2e1initein4szei2sa4eis2peeis4thei1stoei2sumei2tabei2tanei2tarei2troeit3umek1s4tek5triel3abiel2abte2l1akel4amiel4ampel1ansel1anze2l1apel3ariel1asiel1aspel2ast3elbiseld3s22e3lebe2l1el1e2leme3lem_el1empel1erdel1erfel1erkel1erl2eles2el1esse2l1ideli2neel1itael3lanel5le_el3linell3spel1opee2l1orelo2riel2sumelte2kel2t3re2l1umel3useel2zwae2m1ad3emanze3m2ene2m1imemi5naem1intemi3tiemma3uem2meiem3pflem2spren4amee4nanden3angen3areen2ascen3atte3nauee2n1ären4ce_en2dalend3siend3szend2umen1e2ce2neffe4neine2n1elene4lee2nerfe4nerhe4nerk4enerne4nerz1engad3engagen3g2ien3gloeng3see2n1inen3k2üeno2mae2n1openost3en1ö2den3sacen2sauen2sebens2el1ensemensen1en3skaens2po2enstoent4agen2teb1entfa3entgaen2thi3entlaenü1ste1o2b1e3p2f41episo1e2pocep2tale3rad_er3admeraf4aera1frer3aicer3alleran3de3raneer3anfe2ranher3anmer3apfe3rarie2rathe3ratie2ratme1rauber3aueerau2fer3augerb4sper3chl2erdece3recher1effer1eige2reiner1ele2e3reme3renae3renz4erer_e4rerl4ererne3reroer1errer1erse2rerter1erwer1esser1eul4erfür1ergolergs4t1erhabe2riat4e3ric4e3rieer1inber1inker1inter1ita1erklä2erkreern1oser1o2ber3onye4ro2rer3smoert2aker2thoerts2eeruf4ser1u4mer1underung4er1unses2aches3anze3s2ases3cape3schaes3evaes2haresi1eres3intes2kates4loges2ortes2sau4essemessi2aes2sofes2spues3stres3stuest1ake1stare1state3stele1stile2stipes4trie2s1umes3umse4teinet3haleti2tae4t1ofetons4e2treset4riget2tabet2teiet2t3ret4troett3szetwa4retze4seu2esceu4glae3um2seum4sceums1peum3steu4neie3un2geu2nioeun3ka3eu3roeu1staeu1stoeu1stre2velae2vent1e2xeme2x1inex2tinfa2benfa2chof1aderfa3l2afal2klfal3tefalt2sfan2gr2f1ankf1an3zfar2br2f3arcfarr3s3f4art2f3arzfa3s4afa2to32f1auff1ausb2f1ärmfä2ßerfeatu42f1eckfe1inifek2tafe2l1afel2drfe2lesfe2l1ofen3safer2anfe2rauferde3fer2erf1erfaf2erl_f4erpaf2ers_fest1afest3r2f1etafe4tagfeu4ruf2f3efffe1inf3f4räff3shoffs4trfi2kinfik1o2fi2kobfi2lesfi4linfil2ipfin3sp2f1intfi2s5tfit1o2fi2tor3f4läc2f5läd2f3läu2f3leb3f6limfli4ne2f5lon1f4lop1f4lot1f4lug4f3orgfo3rinfor4stfor2thfor3tu2f1o2xf3rand1f4ränfreik2frein42f3ricf4risc1f4ronfro2nafs1allfs4ammf2s1asf2sauff2sausf2sautfs1e2bf2s1emf2s1erf2si2df2s1o2f3spanfs1penf3s2plf2sprefs2prif2sprofs2pruf2stasf3steif2stipf3st4rf2s1unf2t1alft1e2hft1eigft1eisf4theif2t3rof2t3röf3t4ruft4samft3s2cft4sehfts3elfts2tift1url2f1unffun2klfun2ko2f1unmfu4re_fus2safus2stfzu4gaga2b5l2ga2dr2g1amtgan2gagan2grg3anla3g2ano2g1armga3r2og1arti2g1arzgas3eiga2sorga4spega4sprgas4taga4ste2g1auf2g1autg2d1aug2d1erge3g2l2g1eifge2in_gein2sge2intgein2vgei3shgelb1rge5lehgell2age3lorgels2tgel3szge3lumge4namge4nargen1ebge3necgen3szgen3th2gentwge2rabger2erger3noge1r2öge3r2ug1erwag2e1s23ge3scges4pige3steges3thge3t2a2getapge3t4ugge2ne3g2het3g2hiegi3alogi2e1igie1stgi2me_gi4mesgi2met2g1indgin2ga2g1insgi3t2ag2lade2g1lag3glanz2gläuf2g3leb4g5lerg3lese3g2lid3g2lie3g2lit3g2loa3g2lobg3loch3g4lok3g2lop3g2lotgne2tr4g3notgoa3li2gonis2g1ope2g1opfg2o1ragra2bigra2bl2gradl2g3rah2g3rak2g3räu2g5re_2g3recg4re2eg3reit2g3ric2g3röh2g3rui2g3rum3g4rup2g3rüc3g4rüng3s2ahg4saltgs3amags3augg4s3cegs4chig4s3crg3sel_gs3elig3selngs5erkg4setags4pieg4spingsrat4g3stang3starg4s3täg5stämg3stelg1steugst2heg3stirgs3tocg4stolgs3topgst4rig4sturgs4tücgu1an_gu1antgu4d3r2g1u2fgu1ins2g1unfg2ung_gunge2g2un4s2gunt22g1urlgurt3sgu2s3agus2spgus2stha2choha2delha4dinh1adle2h2al_ha2lauhal2bahalb3rhal2lahal2sthand3shan2krh4a3rah1arm_h2armehar2thh1arti2ha3sahat5t2h1aukthau2sahau2sc2hautohau2trhä3usphe1choh1echthe3ckehe2e3lhe2fanhe2f3lhe3friheim3phei4muheine2h1einkhe1ismhe1isthel1eche3lenhe4lof4h1emphend2she2nethenst2hen5trh1entshe2ral2heraphe3rasherb4she2relh1erfüh1erkeher3thher2zwhe1stahe2tapheter2he3t4she1x4ahfell1hi2angh1i4dihi3enshier1ihiers2hil2frh1induhin2enhi3n2ihin3n2hin3s22hi3rehl1anzh1lauth5len_hlen3ghl2ennhle2rahl1erghl1erwh4lerzh4lesihl1indh3listhlo2reh3losihl2sanhl2serhl3skuhl3slohme1inhmen2shme2rahn3eighn3einhne4n1hne4pfh3nerlh3nerzhn3s2khn1unfho2ch3ho2ckahock3tho2f3rhol1au4holdyhol3g4ho4lor3hol3sh1o2lyho2mecho2medho4seihotli42ho2w1h1raneh3rechh4rei_h3reich3r2enhr2erghr2erkhr2ermhr2erzh4rickh4rineh4rinhh4risth4romeh4romihr2sauhr2serhr4sethr2tabhr2tanhr2torhrt3rihr2trohrt2sahrt2sehr1umsh2s1ech3s2exh2s1ofhs2porh2spräh2sprohst2anh1stechst2heh1s2tih2storh1s4trhst3rih1stunhs2ungh3t2alht3aneh3tankh4tasyht3a2tht1e2ch2t1efhte2heh2teifh2temph2t1euh2t1exh4theihthe3uh2t1inh2tolyh2torgh4trefh2t3ruh2t3rühts2tihu2b1ahu2b3lhu4b3rhu2h1ahu2h1ihuk3t4hu2l3ahu2lerhu2lethu3m2ahung4shu3ni1hus4sahus2sphu2tabhu3t2hhühne4h2wallh1weibhy2pe_i4a3g2ia2l1ai3aleiial3laia2lorial3t4ial3z2ia2nali3and2ia3p2fi2a3spi3a4tai3at4hib2blii2beigi2beisibela2iben3aib3renib4stei2bunki2buntibu2s1ich1eii2chini3chloi2ch3ri3ck2eid2ab4i2d1au1i2deeidel2äide3soide3sp1i2dio1idol_i3d2scid2s1pie2breie2choie2fauief3f4ie2f3lie2froie4g5lie3g4nie2g3riegs3cie3lasiel3auiel1ecielo4biel3sziel3taiena2bi3e2näien1ebie3neri3en3gi3e2noien3scien3siiens2kien3szier3a2ie2rapie3resi3ereuierin3ier3k2i3ern_iers2tier3teies2spie1staie2t1aie4t1oie2triiet2seiet3zwifens2if1ergif1erhi1f4lai1frauif4reii1f4rüif2topift3szig2absig1artiga1s4ige4naig1erzi2g1imig3reiig4salig3sprig4stoig4stöig3strig3stüigung4i2h1ami2h1umi4i3a4ik1amtik1anzik1artik3atti2k1aui2k1eiike2l1ik1erfi2kindi3k4läi2k3raik2trei2l3abi2l1acil1a2di2l1akil1ansil1aspi2l1auil3ausild2eril2doril1e2cil1eheil1einil2f3lilf4s3ilie4ni2l1ipi3lip_i3lipsil3l2ail3l2iil2makil2mauil2mini2l1oril3t2hilung4i2manwima2tri2melei2melfi4meshi2metiim2meiim1orgim3pseim3staimt3s2in3a2ci4nacki2n1adin2arain2arsin4arti2n3auin2dalin2dan1indexind4riin3drü1indusin1ehein2erhi4neskine3un1info_1infosing1af1inhab2inhar2inhauin2i3dini3krini3sei3nitzin2nor1inntain3olsino1s4in1ö2dins2aminsch2in2seb2insenin3skr1insta1insufin3s2z1integin3t4rin5trii3n2umin3unzinvil4io2i3dio2naui3ons3ion4stiore4nipi3elipi3en1i2rakir2k3lirli4nir2makir2mauir2mumir2narirpla4irt2stiru2s1isage2is3arei2s1äni2schmi2s3crise3haise3hiise2n1is2endisen3si2serhiser2uis2hasi2s1idi2s1of3i2soti2sparis1picis2pitis2pori2sprois4sauis3stais3stoiss3tris3stuis2sumis4tabis4tamist2anis4teliste4nistes3is4tocis5törist4raist3reisum3piß1ersit1ab_ital1ait1altit2an_it1arti3tauci4t1axi2t1äsi2t1eii4teigit2eili4teinite2lai4tepoi2t1idit2innitmen2i2t1ofit3rafit3rasit3rauit3räuit3ricit3romit4ronit3runit2stoit2tebit4triitt2spi2t1umi2tunsit1urgitzes4it2z1wi2v1akiv1angi2v1eiiv1elti2v1urizei3ci2z1irjahr4sja3l2ajean2sjek2trje4s3tje2t1aje2t3hje2t3rjet3s2jugen2jut2e1kab2blka2ben2kabla2kabläka3b4r2k1abt2k3adaka1f4lkaf3t2kaken42kala_ka2lanka3leikal2kakal2krkal4trkan2alka2nau2kanda2k1angk2ans_k2anz_2k1apfka3r2i2k1armk2arp3kar2pfk2artaka2s3tka3tanka3t4hka4t3r4kaufrkau3t22kautok1ä2mikä2s1ckdamp22k1e1cke2he_kehr2s2k1eic2k1eig2keinhkel1acke3lagkel3b4ke2lenke2lerkell4e2k1empken3au2kenläkens2kken3szk2enteken3thk2entrk2entu2kentwke1radk2erkok1e2rok2ers_ke2selke4t1ake2t3h2k1e2xki1f4lki1f4r2k1intkis4to4k1lack4leidk3lem_2k3lerkle2ra2k3leukle3usk2lisc2klistklit2s2k3locklo2i3klost4klung42k1lüc2k5nerkno4bl2k5norkoh3lukol2k5ko3n2ekon3s4ko1r2a2k1orckot3s22k3radk3rats2kraum2k3rät2k3rec2kred_2k3refk3reick3reih2k3rick3ries3k4ronks1e2bk2s1emk2sentks1erlk2s1idk2s1ink2s1o2ks2pork1s2tik2stork2sträk2stumks2zenk2t1adkt1aktkta4rek2t1auk2tempk2tentkte3ruk2t1idkt1insk2t1ofkt1opekt4rankt3rask4trefktro1skt3runk2tuns2k1uhrku3l2eku3l2i2k3umlkum2s1kun4s4kunst32k1up_kur2blku2reikuri2ekur2spkur2stlab4ralab4ri2l3absla2ce_la2gio2la1hola2kesla2k1ila1k4lla3min1lammf2l1amtlamt4sla4munl1analla2nau3l2andlan2gl2lanhäl2anhe4lanli2l3ann4lansä2lantrlan2zwlap4pll3artila2saulast1ola4tel2l3athl2auf_lau2fol2aufz2lausl2lausr2lauto2l1ähnlä2s1cl4betal2b1idlb2latl4bre_lb3ritlbst3elb4stol2b3uflbzei2l3d2acl2d1akld1amml2da2rld3arild1arml2delel3der_ld1erpl2d1idl2d1iml2dranl3d4rul2d1umle2chile2gau3l2ei_lei2br4l1eigl2ein_l2eindl2eine2leinkl2eintl4eistlei2talekt2a2lektr3l2ela3lemesle4nad2lendul2e2nolen3szl1ents4lentzlen2zil2e1rale2ragle2raul1erfol2erfrl2erfül2erkal2erkol2erlel4ers_lers2klers2tl2ert_l2ertel2erzales2amle3serleste3le1stole2tat2le3thlet4tule3u2f2leurole2xislfang3l2f1ecl4feisl3f4läl3f4lulf3ramlgen2alge3ral2getilian2gli3chili2ckali3d2ali2deo2l1idolid3scli3enelien3slie2stli2grelik2spli3m2ali3n2alin3alli2nefli2nehli2nepli2nes2l1inflings52l1inh2l1injlink2sli2noll2ins_l2insal2insc2linsp2linst2l1intli3os_li2p3ali3s2a2l1islli2tallit1s2lit3szlizei3lk1alpl3k2anl3kar_lken3tl3k4lul2k3rol2k3rulk4ställ1abbl2labtll1affll1aktl3l2alll3amall2anwll1anzll1armll3augl2lausl2l1ämll1echlle3enl2l1efll1eiml3len_llen3gl3ler_lle2ral2lerzll1imbll1impll1insl2lobel2l1ofll1opfl3lor_l3lorel2l1oul2l3öfll3s2kll2sprllti2mllt5s2l2marclm1auslm1indlm1inslm3stelm3s2zln3are3l2ob_lo2berlob4ril1o2felo2gaulo3h2e2l1ohrlo2k3rl1o2lylo2minlo2n1olo3renlo4skelo2speloss2elo4stelo3thalo3thiloti4o2l3öfelpe2n3l2p1holrat4sl3s2all2sannl3sarel2s1ecl2s1emls1erels1ergl2serhls1erlls2logl3s2pil2sprol3s2pulstab6ls4tafl3stecl3steil3stell4stemls2tiel2stitls2zenlt1a2mlt3andlt1angl3tarblt1artl2t1aultbau1lt3elil5ten_lter3alt2erglt4erölte2thl2t1eul4theiltimo4l2t1ofl4t3ötltra3llt3räult4rielt3roclt3rosl2t3röl2t1umltu2ri4lu4b32l1ufelu2g1alu4g3llu2g3rlug3salug3splu1id_2l1una2l1unf2l1unilu2s1ulu2t1alu4teglu2toplu4t3rl2z3acl3z2anlz2erklz1indlz2wecm2ab4rma2d4rma4d2sma2ge_ma2gebma2gefma2gegma2gekma2gepma2getma2gevma2gew2m1aggma3g4n2m1agomai4se2m1aktmal1akma2lanma2lauma3lermali1emal3lo2malltma2nauman3d2ma2net2mansa2mansä2mansc2mantwmar3g2maro3dma3r2uma2tanma2telma5trimat3semat3sp2mausg4m1ändmä3t4rm2d1ummedie4mee2n12m1eif2m1eig3meistme3lamme2laume2lekme2lermelet42melf_mel2semel5t4mena2bme3nalmen3armen3aumen3glme3normen4skmen2somen3ta2mentnmer2er3merinme2sal4meser2me3shmes2stmeste2me1stome3t2amie3drmi2e1imien3smie2romie4timi2karmi3l2amilch1mild4s2m1impmin2enmin2eumin2ga3min2omi2t1rmit3s2mit5sami5tsumi2t1umk5re_m2m1akm2m1almm1angmm1anzm2m1aumme4namme2samm1inbmm1infmm1inhmm1insmm1intmmi3scmm3stamm3strmmüll1m4nesimode3smo2galmo2k1lmon2s3mon3su2m1opemo2rar2m1orcmor2drmo2rermos4tampf3limpf1ormp3strms3andm4s1efms1erwms1inims1orim2spedm2spotm2sprom4stagm3stelm3s2tims5träm3s2tumt3aremt1eltm2t1eum2t1immtmen2m2t3romt2sprmt1urtmu3cke4m3unfmu4s1amu2s1omut1aumut2stmvoll14n3absna2ch1nach3s4na2drna1f4rna2gemna2h1a3n2aldna2letnal3lanalmo2na2lopnal2phn2als_nal3t4n4amenna3m4n2n1amtnamt4sn1and24n1ang2n1ans2nantrnap2sina2r1an2arle4n3artna3r2unasyl2na3t4hnat4sanat4sc3n2aul4nausb4nausgn2auso4nauss4nausw2n1ä2mnär4s53nä1umnbe2inn2d1akn2danlnd1annnde2sendi2a3ndo2ben2d3ren2drobnd3rolnd3rosn2druind2sornd2spr2n1ebnne3ein4n1ehr3neigtnek3t42n1ele5neleb4nelek4nelemne3lennel4la3ne3lu2n1embn1e2mi2n3emp2n1emsnen3a2n1endgnen3einenen14nengb4nengs4nengtnens4enen3skn1entb4nentn5nentrn1ents4nentzne2n3u2n1epone2posne2ranne2rapne2raun1erbine2reb2nerfü3nergrn2erlin1ermän2ern_ne1rösn2ert_n1ertrne2rup2n1erzne3sanne3skane2s1pne1stanes3tine2tadne2tapn1etatne2taunet3han1e2tunet2zi2n1eupnfalt4nf5linnft4s3ng2absn2g1acn2g1akng2anfng1anzn2g1äln3g2enngen2an3gläsn2glicngrab6ng3ratng3rocngs3panich1s3n2id_nie4n3ni3eneni1eronifes3ni2grenig4spni2kalni2karni3ker4n1imp3n2in_n2in4a4n3ind4n1inhni2nor2n1insn2ins_4ninse4n1int2n1invni2s1eni3se_ni2s1pni3spinis3s4ni2s1uni3t4rni3tscnitts1n2k3adn2k1akn3k2aln2kansn2kausn2k1ärnk4ergnk1inhnk3lennk3lesn2klienk3lunn2k3ronks2eink3s2znk2taknk2tannkt1itnk4topnk2trunmen2snna2ben2nadan2n1annnen3gnn2erhnn2erknne2rönner2znnes1enne4stnn1o2rnn3s2pn2n1ufno2blano2leu3n2opano2radno1rakno3ral3n2os_no2s3pn2ostenost1r2nostvno3tabno2telno3t3hno4thano4thi2n1o2x4n1ö4lnräu3snre3sznrö2s1n2sangn2santn2sausn2s1änns1e2dns1entn2s1epns1erfns1ergn2serhns1ersnsfi4lnsho2fn2simpnsi4tensi2trns2kaln2s1opn4spatn3s2pins4piens3ponn4sprän4spronst1akn3starn3statns4tornstü1bn2s1unns2ungns4unrns4unsn4s3zint3absn3t2alnt1angnt2arbnt1arknt2armn2t1äunte3aunt1ebente3g6n2teignt4enent4ernnt4ersnt4ertnt2hern2t3hon3t4hunti3kln2tinfntini1nt2insn3ti1tnt4lemntmen2nto3ment3recn5trepnt4rign5tropn2t3rünt4saunt2sto3n4tu_ntu2ra2n3umb2n1ums2n3umz3nung_n3ungl2n1uninu4t3rn2z1aun2z1ännzdi1snzi2ganzig4snz1inin2zurkn2z1wan2z1wän2z1wuoa3cheoa3chioa4k1lo4a3lao4a3mi3oa3seo3b2al2o3b2äob3ein2o3b2iob3iteo2b3li2o3bloo2b3reob3s2hob2staocha2boche4boch1eioch3ö2och3teochu2fo2ckarock2erock3szodein3ode2n1odene4ode3sp2o3diaof1a2co2f1eiof2f1a1offizof2f5lof2f3r2o1f1rof4samof2speof2sprof2s1uof2teio2g1abog1alaog1ango2g1eiogi2erog1steohen3sohl3auoh3lecohl1eioh3lemoh3lenoh3lepohls2eoh2n1ooho2laoh1o2poh4rinoimmu4oka2laokale43o2kelok2s1po2l1akolars2ol1aufol4damol1eieol1eisol2fraoli3k4ol2kreol2lakol2lelolo3p2ol1ortol2strol2z1aol2zinom2anwom1arto2m1auo2m1eio3men_o2meruom1erzomiet1om1ingom1orgo4munto2narbon3ausone2n3onens2on1erbon1ergon1eröo3netton3g2lon2i3do4nikro4n1imon3ingonlo2con3n2eo2nokeon1orconsa2gon4samon2sebonse2lonst2hon3t2aoo2k3lo2p3adop3aktopa2leo1pe4nop2f3aop3fahopf3laop1flüopi5a4op5lago2p3le1op3t4or3a2bor4altor2ando2ranhor3arbor3attor1ändor2baror2dauor2deuor2ditor2dumore4aso2r1efor1eigo2reino2rerfor1ethor2fleorf3s42orgetor3g2h2orgiaorgi1eor3gle2o3ric4orie_o3rier4orin1or5ne_or3s4aor2täror2tefor2theor2torort3reo4r3un2o3s2ao3scheo2s1eio3s2hi2os2kl2os2koos3peco3s2poos2seios2s3oos4sonos2s3pos2s3tost1auos4teios2t3hos3tilost3räost3reost3ufo3s2zeo2ß1elota2goo5tarko3tarto2t1auot3augotei4not4em3otemp2ot5helo2t3hiot3hosot1opfoto2rao2t3reot3rinot4spaots2peot2sprot2t3rot4triou1f4lou4le_o3undsou3s2ioviso3owe2r11o2xidöbe2laöbe4liöh3l2eöl2k3löl2naröl2ungönizi1öp4s3tö2r3ecö2r1eiör2ergö2rerlör2f3lö2r1imörner2ör3s2kö2schaö2schlö2schwö2s1eiös2s1cöte4n3pa1f4rpa1k4lpak2topala3tpa2narpa3neipa2neu1pa2nopan3slpa5regpa5rek1park_par2klpar2kr1partn1partypar3z2pa3s2ppat4e2pa5t4rpa3unipä3ckepä2t3hpät3s4pekt4spe2letpe2lexpell2apell4epen3dape4nenpe2n1o3pensi1pensupen3z2per2anper4nape2robperwa4pes3s2p2f1akpf1ansp2fa4rpf3arepf3armp2f1au4p3fe_pf1eimpf1einp3fen_p2fentp3fer_pf2erwp3f2esp2f3läpf3leipf3lie2p1heiphen3dphen3sphi2ka2phthepi3as_pi3chlpiela2ping3s3pinsepi3onupi4pel3pirinpi3t2aplan3gpo2laupo4lorpo1o2bpo1ralpo1raupo4stapo4stäpo2stopos6trpo2t1upp3anlppe2n1p2p1f4p3p2hopp5lanp2p3rap2p3repre2e13preis2p3rer3p4res1prinz2prosspro1stp3steap3stelp3s2tipt3albp4t3ecp4t1eip4telept1in1pto3mept1urspul2sppu2s3t2r3aacra2barrab2blr2aber1r4abi2r3abwra2chura2dam2radapraf3arra2ferra3gle3r2ahmrail4l2r3airra2krera2kro2raktira2la2ral3abr3alar3r4aldral3larall2e2rallgr3alp_2ralper3al3trama3srambi2ra2mer1r2ami2r1amtramt4sr4andar4anderand3sr4aner1rangirani1eran2kr2r1anm2r1anpr2ans_r2ansp2rantr2r3anw3rareirar3f42r3arz2rato_rat2st3raub_rau2mi3rausc2rausgrau2spraut5srä2s1c3rätser2b1abrbal3arba3rerb1artrb1aufrb1echr4belärb1entr3b2larbla2dr2ble_rb3lerrb2linrb4seirb3skarb4stärb3strr1che_r1chenrch1s2rch3sprch3tar3d2acr2d1akr2d1alrdani1rd1antrd1anzrd2ei_rden3drde3rerde3sprdi3a2rdia4lrdo2berd3ratre2altre3at_re3atsre2b1are2b1lreb3ra4rechs2reck_2recki2reditre2hacre2h1ire2h1orei4bl4reifrrei3gareim2p4reingr3eink4reinr4re2ke2r1elbre3lei2r1elf2r1elt4rempfrena2bre3nal3rendiren3drren4gl2rengp2rengsr1ense2rentw3r4er_2r1erbr2erbr2r1erdr2erenr2erki2rerlö2r1ermre2robr2erse2rerspr2erte2rertr2r1erzrer5zer2erzy3r4es_ress2ere1stare2thyreu3g2re3uni2r1eurrewa4rrf1ältr2fentrf3licrf3linrf2s1ärf2s3trf3t4rr2g1ahr2g1akrge4anrge2blr2getor2glanr2gleur2g1obr2gregr2gresr2gretrg3rinrgs4tr3r4he_3r4henrho2i3rib2blri1cha2ridolrie2frriene4rien3srie2nuri1er_ri4ereri2f1ari2ferri2f1orim4scr2i3na2r1indri3n4erine1i2r1infrin2foring3lrin2gr2r1inh2rinitr1innu2r1insrin4sorin2sp2r1inv3risikri4s1pri3t2irit2trr3klaur2klisrk5nebr2k5nurk3räurk3rinrk2s1erk3shirk2tinrk2t3rrk3trark4trirk1unirlös3srl2s1prl3ster3m2agrma2larm1ansrm1anzrm1a2pr2maphr2m1efr2mider2m1imrm3starm3umsrn2andrn3anirn2a2rrn3arern3arirn3eifr4nerfr4nerkr4n1inr2n1opr2n1orrn3s2ärn3s2prn3s2zrn3t2ero2bei3rock_r2o3deroh3na3r2ohrro2madro2mer4ro1nyror3alro2ratro2reiro2r1oror3thro3s2iro3smoro3starost1rro4tagrote3iro2thoro4trirots2orot2taro3t2uro3untrö2b3lrpe2rerrer4srre2strr2n3ar2r3obrr3stur4samprs3anprs3antrsch2lr3schur3schwr2seinrse2n1rs2endrse4ners1erers1erörs1ersrs1erzrs1etars2kalrs2kanrs2kiers2kisr4s1opr4sordr2s3phrs2tecr3stier2stinr2stiprs4tobr4stotr3s4trr3s4türtals1rt1angrt1annrt1antrt1anzr2t1arrte1e2rt4eifr2telfr2temort1ersrt3holrt2humr2t1idr2tinfrto2rirt3recrt3rosrtrü2crt2spart2sprru2ckurude2aruf2s32r1uhrru1insru2m3ar2ums_2r1unar2unde2r1unf2runglrun2kr2r1unl2r1unm4r3untru2r1erus4stru3staru4teiru2t3rrü1benrwun3srz1a2cr5zenerz1engr3z2ofrzug2u3sabetsa3blesach3t2s1ada2s3affsa1f4r3s2al_sal2se2s1alt3s2alz4s1amnsam2tos2an2cs4and_3sang_2s3anh2s3anl2s3anssan4sk2s3anw3s4ar_3s2ara4s3arb3s2ard3s2ars4sartisa4ru24s3ath4s3atlsauri1s3ausw2s1änd3sänge2schak2schao3sche_2schefsch2en3sches4schexschi4es4chim3schis2schmö2schn_2schoxschs2e4sch3tscht2ascht4rsch2up3s4cop3sco4rsda3mese3at_s1echtsee3igseein2se1er_se1erö2s1effse2galse4helse2hinseh3rese2hüb2s1ei_2s1eie2s1eig2seinb4seing2seinh4seink2seinl2seinn4seinr2seinw4s1eis3s2eitse2l1ase3ladsela2gse3lamsel1ec4selem2self_s3elixse2l3ösel3szsel3trs4e3ma2s1emp3s2en_se4nagsen3gl3s2enise4nob3s2enss2ent_s2enti2sentw2sentzse2n3use5refser2ers2erfrs3erfüs2ergr2serhöse2robs2ers_2sersas4ert_s2ertase3rum3s4ervse2selse1stase2tatse1u2n3s2ha_4s3hansho4resi2achsi3enesi1errsi3gnusi2g3rsig4stsi2k1äsik3t42s1immsi3n4a2s1ind2s1infsing1asin3ghsin2gr4s1inhsini1e2s1inq2s1ins2s1int4s1invsi2s1esi2s1osi2s1psi2tausi2tra3skala4skanz3s2ki_3s2kik3skulpsla2vesler3s3s4lipsli4tuslo3be4s5not2s1o2bs1o2he4sohng2s1ohr4so2lyson3auson3säso1ral2s3ordso2rei4s1ostso3unt2s1ö2l2spala2spara4sparo3sparuspe3p4s1peri2sperl2speros2perr4spers3s2pez4spi4p3s2plis3p4lu4s3poss2potts2pracs2pran4sprax2spräm4spräs2spred2spres2sprob4sprüfsrat2ssrö2s1ssa3bos2sanos4sansss2antss3attsse3hass1erös3s2essse3tass1offs2s1opss1oris2spros3stelss4tipss2turss1ums2stabb3s4tad3staff2stale2stalkst1almst1alpst1ami4stan_sta4na3stand2stani2stans2stanws4tar_4staris4tarsst1asis3tat_2stauf2staum3staur2staus4stälts4tänd5stätts3täus4s5te_3s2tegste2gr3s4tehs2te2i3steig4steil1s2tel2stel_2steln2stels4stem_s5ten_st4ens4stermste4sts4teti3s2teu1steue4steufs2t3ho2stie_s2tiegs2tiel2stien3s2tif3s4tims4tinfs3tinnst1ins1stitu2sto3d4stod_s4toffs4t3om2stopo2stor_2store2storg2storis3tort2stose4stote2stöch2strad2strag4strai4strak2stral5straß2strua2strug3struk2strup2st3t43s4tud2stumt2stun_4stunn2stuntstu3rest3url2sturn2s3tus2stüch2stür_2stüre2stürg2stürs3s2tyl3su2b3su2cha2s1u2fsu1it_su2marsu2mau3s2umesu2mels3umfesum1o2su2mors3umsas3umst2s1uni2s1urlsüden24s3zeis2zena4szent4s3zet2ß1e2gße2l1aß2ers_2ßerseßge2bl2t1abb3tabel2taben3table2t3abn2t3abtta3d2s3taf2et1af4rta2ga24ta3gltag4sttah3leta3i2kta1insta1ir_t1a2kata2krotak6ta3taktb3t2al_ta3lagta3lakt1alb_t1albk3t4aletal2löta2mert1amplt1a2na4t2andt3ankl2tanwa2tanwät2anz_t1anzat1anzuta2pe_ta2pes2t1armt1artitar2to2t1arz4t1aspta2tanta2tautat3eita2temtat3heta2tom4tatue2t1auf4taufg4taufnt1ausb3tausct2auset1ausk4tausltaxi1s2t1ältt1ängs3t4ebbte3cha3technteck2ete2ckite2en3te1erwteg3ret3eifr2t1ein4teinf4teinnt3eis_t3eisb3te3letel1eb2telemtel1ente4leute2littell2ete2l1ö3telt4tel3tatel3thte2min2temme2tempfte4m1utena2bte4naste4nauten3dat6endit6endote2nefte2nettens2et4entat3entb4tentdt4ente4tentnten3zwt3e2pi3t4er_tera2bte1rafter3am4terbs4terbtte2relt4erfrte3ria3termi2ternct4ers_terst4ter3zatesa2cte2santesä2cte2selte2sprtes3s2te2tat3teur_2t1exz3t4ha_3thal_4t3hau1t2he_2t3heit4heint4henet4heni2therr3these2t3hil2t3himth4mag2t3hoc2t3hoht4hol_2t3hot1th2r2ti3a2mtiden2ti2deo3tief_3ti2erti2kamti2karti2kinti2kräti2larti2leiti2lel4t1imp3t2in_4t1indti3n2eting3lting3s2t1inj2t1int4t1invti2seiti1sta2ti3tuti2vanti2velti2v1oti2v3rtlung4tnes4s3tochtto4d1utom1e2to2mento2nauto2nehto2pakto2patto2rauto4ränto2relt3orga3torint1ort_3tost4to1sta3to3teto2thotouil44tractt3rad_6trahm5t4rai2trand3trankt3rann3transt3raset3rasi3träne4t5re_tre2brt3recht4reck6t3red5t4ree4trefe4trefot4rei_4treic2treift3reigt3reint3reis6treitt3reiz6t3relt4ren_3trendt3rent2trepe2trepot4reprt4res_3treuh5trieb2triegtri4er5triggt3rind4tringtri3ni4trinn4tripttrizi13t4roitro2ke4trom_tro2mi4troml2t3roo3tropf2t3röttrums15t4ruptru2thtrü1betrü1bu2t3rüct4sa4bt3s2act2s1aht4s3art2s1änts4cort3seiltse2n1t2s1erts1init2s1irt1slalt3spalts1parts2pedt3spekt3s2pit4stagts3takts4talt2stipt4stitts3tocts3tort2strits3türtta2bet2t1adtt2anttt1arttt1ebett1eiftt1eistte2lattel1otte2satte2sätt2häut2t3hott4roctt2sentt2sortt2spett2sprtt2stitu1almtu2chitu3fent3u2kr3t2ume2t3umf2t3umg2t3umk2t3umrtum2situm2so2t3umt2t3umz2t1una2t1und2t3unft3unga2tunif2t3unttu2re_tu2reitu2resturin1tück2s3tür3s3tütentze4n1tz2enetz1erltze2rotz2erst3ze2stzgel2tz1indtz1inttz2tinua2lauu3aletual2mau3a2louara2bu2be2cub3licu2b3luub2sanub2s1oub2spau1cha_uch1eiu3chesuch1iluch1inu2ch3ruch2souchst4u2ckemuder2eudert4udi3enuditi4ue2neruenge4uen2zuue2r3aue2r1äu3erehu3ereru3erexuer3g2uer2neue2r3ouer3scuer3t2u3erumue4teku2f1äsu2f1eiu2f1emu3fen_u2fentuf2ernuf2frouf1oriuf4sinuf2spouft3s2u2g1apu2g1eiug3ladu3g2löug4serug3spaug4sprug4spuug5stäug3strug3stüuhe3s6uh2reruh4rinuisi4nui4s5tukle1iuk2t3ruld2seu2l1elul1erful1erhul1erwule2saul1etaul1insul2lesul2p1hul4samuls2thul4trium1allum1anzu2maut1um3d2umer2aum1ins3umsatum4serum2simu2m1uru3n2amu2n3an2un2asun4dabun4deiun2didun2dorun2d3r4unds_und3spund3stun2ei_un3einunen2tun4es41unget1ungew1unglüun2g1rung3raung3riung4saun3ide1u2nifun3islu3n2it3u2nivun2keiun3n2eunvol2u1or3cu2pf2eu2pf1iu3rabaura2beur2anbur2anhu2r1auur3b2aur1effu2releu4r1epur1erhur1erwur2griurg3s4ur1iniur3insur1int1urlauur3sacur2sanur2sauur2serur4sinurst4rur2z1wus4annu2s1ecu2s1eiu3seiduse1rau2serpu2s1opu2spatus1picus2porus4sezus2sofu1stalus3tauust2inu2stunu2sturut1altut3a2mu2t1apu2t1arute4geut1ei_ut1eieutel1eute2n1u2tentu4t1exu2t3hout1opfu2topsut3reaut3s2aut2s1äut2spaut5t4lutu4reutu5ruut2z1wuve3räüb2s3tücht4eü3ckenück1erü3den_üden4güdwes2ü2f1eiü2h1eiühl1acüh3r2eühr3taü2mentün2fliün2g3lün3strü2r1eiü3r2o1ü2schlüs2s1cü2t1alva2teiva2t3hvatik2va2t3rvat3s4va2t1uveits32ve3muve3nalve3radve3rasver3b2ve4rekve4rinver3stver5te2ve3scves3tivi4a3tvie2w1vi2l1avi4leh2v1i2m2v1intvi3s2ovoll1avol2livo5rigv1steuwab2blwa3chewaffe2wa2g3nwah2liwal4dawal2tawal2towang4s1war2eware1iwart4ewass4e4webebwe2g1awe2g3lwe2g3rweg3s4wei4blwei2gawei3k4wei4trwel2t1wel4trwen3a4we2r3awer2bl1werbu1werduwerer2wer2fl1werk_wer2ka1werkewer2klwer2kuwer2tawer2to1wertswe2s1pwest1awes2thwest3rwes4tuwett3swi3ckawien2ewie2stwim2mawin2drwi3s2e1witzlwo2chawoche4woh2lewo2r3iwo4r3uwört2hwul3sewur2fa1wurstwus3te1wu4t1xe3lei3x2em_xen3s2x1i2doxin3s2xi2so2xis4täx1i2tuxtblo4x2t1eix4tentx2t3evy3chisyloni1y2p1iny1s4tyy2s1u22z3a2b2z3a2k2z1all2z3anf2z3anlz1artizar2tr2z1arzza1st42z3at3z1au2fzbübe32zecho2z1eck2z1effzei3lazeile42z1einzei3s4zeist4zei2trze2lenzell2azel3sz2z1empzens2ezent3sze2r3a2zerhöz2erl_2zerlö2z1erq2z1erzze3skuzes2spzes2stze2s3tze3sta2zettszger2azi3alozi1erhziers1zi1es_2z1impzin4er2z1inf2z1inhzin1itzin2sa2z1invzirk6szi3s2zzi1t2hzor4ne2z1oszz2t1auz4tehezt1inszt3reczu3ckezug1un2z1uhr2z1um_zumen22z1umszup2fizu3r2a2z1url2z1urs2z1urtz2wangz2weigz1weis2z1wel2z1wen2z1werz2werg2z1weszzi1s4", + 7 : "_al4tei_amt4s3_and4ri_an3gli_angst3_an4si__an4tag_ausch3_be3erb_be3r2e_berg3a_bo4s3k_bu4ser_da4rin_da4te__da4tes_de4in__dien4e_ebe2r1_en2d3r_en4tei_er4dan_er4dar_er4dei_er4der_es5t4e_fer4no_fi3est_fi4le__fi4len_ge5nar_ge3r2a_ge3r2e_ger4in_hau2t1_her3an_ho4met_ima4ge_ka2b5l_li4ve__lo3ver_lus4tr_men3t4_orts3e_pa4r1e_reb3s2_re3cha_rein4t_reli3e_res6tr_sali3e_sim3p4_sto4re_tage4s_ti4me__ti4mes_to4nin_tri3es_ul4mei_urin4s_ur3o2m_ve5n2e_wei4ta_wor4tu_zin4stab1er2raber4ziaber4zoab3essea4cherfa4cherka4cheröach1o2bach2t1oach1u2fa3d2ar3ade1r2aade3s2pade5str2ad3recaf4t5reage4neba4gentuage4ralage4selage2s3pag3esseags4toca2h1erhah4l1eiahner4eahre4s3ahr6tria3isch_ajekt4o1a2k4adak5t4riala5ch2a2l1angalb3einalb3eisal4berh3a2l1efa4l3einal3endsa2l1erfa2l1erha2l1ert3a2lerza2l1eskali4eneali4nalal3lenda2l1o2balt3eigalt3ricalt4stüalzer4zamen4seamp2fa2am4schlana4lin2ana1s4and4artandel4san2d3rüand4sasand3stean2f5laan2g1eian4gerwan2g3raan2k1anan2k3noan2k3rä3antennan3t4heant3rina3ra3lia2r1anga2r1ansa2r1anza2r3appar2b3unaren4seare3r2aa2r1erhar2f3raari3e4nari3erdari3ergarin3itark3amtar2k1arark3aueark3lagark4trear4merkar3m2ora2r1o2dar2r3adarre4n3ar4schla4schecasch3laa2s3e2ma2s1o2fas4s3eia1s4tasas6t3rea2t1aktater3s2ato4mana2t1ortat4schnatt3angat3t4häat2t3räat4zerkat4zerwat2z1inau2b1alauch3taau4ferkaup4terau2s1ahau4schmau4schoaus3erp3aussagaus4se_aus5triau2t1äuä3isch_äl4schlän3n4e2ä2r1eneär4mentäser4eiäse4renäskopf3ät4schlät4schräu4schmäus2s1cba2k1erban2k1aba2r1ambau3s2k2b1eierbei4ge_2b1eimebe1in2hbe2l1enben3dorben4spaben4sprben5t4rber4ei_be4rerkber4in_ber3issbe2s1erb3esst_be3s4ze4b1illubis2s1cb2i3tusbjek4to2b3leidbo2l1anbor2d1ibor2d3rbor2t3rbra1st42b3rat_2b3riemb4schanb6schefb4s1erfb4s1ersbst1a2bb2s3träbs3treubtast3rbu4schlbu4schmbu4schwbügel3eca3s2a3ch3a2bich3anst3chartache4fer4chelemche4ler4chents4chentwche3rei2ch1e4x3chines2ch1invch3leinch4sper2ch1unf4ckense4ckentw4ckerhö4ckerke2ck1err4ckerze2ck1eseck4stro2ck1um3com4te_comtes4cre4mes2d1alar2d1ammädan4ce_dan5kladan2k1odar2m1i2d1au2f2d1aus3delei4gde3leindel4lebdel4leide2l1obdel4sandel2s5edel2s1p4denergden4sende2re2bde4reckder3ediderer4tderin4f4derklä4derneuder3taudert4rades3eltde2sen1de4stredes4tumdeten4tdge4t1edie4nebdi3ens_die2s3cdi2s5tedi4tengd2o3r4ador2f1a2d3rast2d3rauc3d4reck2d3reic3d4riscdrunge3drü5cked4s1amtds3assid4schind2s1e2bd4seinsd2s1engd2s1entd2s1erfd2s1erkd2s1erzd4s1etad3s2kand2s1pard3stell2d1un3ddu4schndu4schrdu4schwe4aler_e3at5t4ebens3eebet2s3eb4scheeb4stätebs3temebs3t2hech1o2bede3n2eeden4seeden4speder3t2ed2s1esed2s3treein4see2f1e2be2f1i2de2f1insege4strehen6t3ehe3strehl3eineh4lenteh5l2erehr1e2cehr3erleienge44eigeno1ei2g3nei3k4laei4leineil3inseim3allei4nengein4fo_ein4fosein4hab3einkomei2n1o23einsate4inverekt4antekt3erfekt3ergela4bene2l3a2me2l1a2re2l1eine3leinee4leing2e3len_e4lensee2l1ente2l1erge2l1errell3ebeell3eiseller4nelt3eng3elternelt3s2kelt3s2pe2m3anfe2m1ansem2d3a2e2m1erw1e2metiem2p3leena3l2ien3d2acend4ortend3romend3s2pene4bene4n1enten4entr4e3ner_e2n1erd1e2nerge2n1erle2n1erre2n1erse2n1erte2n3erue2n1erwe4n3essenge3raeni3er_e2n1i4me2n1o2benob4lee2n1o2ren4terb3entspr4entwetenz3erte4ratemerd3erwer3echser1e2ckere4dite2r1e2h4e3rei_4e3ren_e4rensee4rentne2r3erfe2r1erher3e4tiere4vid3ergebn4ergehäe3ri3k44e3rin_e2r1ini3erlebnermen4serm3erse2r1o2pers4toder4tersert3ins3erweck6erweise4s3atoe2s3einese4lere3s2peke3s2pore3s4praess3erges2s1paestab4be4starb1e2stase1s2tecest3ories3tropeße3r2eeten3d2eter4höeter4tre4traume6t3recetsch3wet2t3auette4n1et4t1umeu3ereieu3g2ereve5r2iewinde3e2z1ennfa4chebfa2ch1ifäh2r1ufeh4lei2f1eing4f1einh2f1einw2fe2lekfe2l1erfel4sohfe4rangfer3erz4ferneufest3eifet2t3afeuer3effel2d1f2f3emifi1er2ffi2l1anfisch3o2f3leinflu4gerfor4teifor2t3r2f5raucf4schanf4scheff4s1ehrf2s1entf4s1etaf3s2kief2s1pasf3s2porf4stechf3s4telf3sternft1a2bef4t1entft4scheft4s3täft4stri2f1u2nifun2k3rfus2s1pfu2ß1er4gangeb2g3ankugas5tangebe4amge4lanzge4lessgel3stegel3t2agen4auggen2d1rgen3eidgen3erngen4samgen4ta_2g1entfge4renggerin4fgerin4tger4satger4stoges3aufges3eltge2s3erges3s2tgien2e12g3isel3g2laub2g1lauf4g3lein4g3lisc2gni2s13g2num_2g3rede2g3reic2g3rein2g3renng3riese2g3ringg4s3a2kg4schefg3s2eilg3s2pekg3s2porgst3entgst3errg4s3torgs4trat4gungew2g1unglguschi5gus4serhaf3f4lhalan4chal4beihal4t3rhar4mes2h1aufmhau4spahäu2s1chba2r3ahe4b1eihe5ch2ehe2f1eihef3ermheiler4heit4s3he2l3auh3e2lekhel3ershel4meihe4n3a2hen3endhen3erg2h3entwher3a2bhe4reck4hereighe4rerwh1er2foherin4fherin4sh3erlauhe2s5trhie4rinhif3f4rhi2l3a4hin4t1ahir4nerhlags4ohle3runhner3eih3nungeho2l1ei2hot3s2hrei4bah4r3eigh3re2s1h2r1etah3rieslhr2s1achr2s3anhr3schlhr2s1enhr4s1inhr4s1ofh2s1achh4schanhse4lerh2s1erlh2s1ingh2s1parhst3alth2s3tauh3steinh5stellhst3ranh3taktsh4t3alth4t3a2mh4t3assh2t1eimh2t1eish4tentfht3erfoht3erfüh2t1erhh4terklht3erscht3ersth2t1erzh4t1eseh4t1esshte3stah4t3rakht3randh2t3rath4t5rinh2t3rolh2t3rosh4t1rösht3spriht4stabhts4tieht4stürh2t1urshu2b3eihu2b1enhu2l3eihu4lenthu2l1inhut4zeni3alenti3alerfi3alerhi3a2leti3a4liai1ät3s4i2b1aufich4speich2t3rieb4stoieb4strie2f1akie2f1anie3g4rai2e2l1aien4erfienge4fien3s2eie3r2erie4rerfi2er5niier4sehier3staier3steies2s3tie2t3hoie4t1ö4i2f3armift3erkif4t3riift3s2pi2g1angi4gefari3g4neuig3steiig4strei2k1a4ki2k1anoi4kanzei2k1erhi2ker2li2k1etaik4leriik2o3p4ikt3erki2l3a2mi4lentsi2l1erfi2l1ergi2l1erril2f3reilig1a2ili4gabi2l1indil3l2eril4mangil2m3atil2z1arilz3erki2m1armimat5scima4turi2m1erfi2m1erzi2m1infi2m1insindes4ii2n1engin3erbei4nerbiiner4löing4sam3inkarninma4leinn4stains3ertin3skanin3stelin4s3umional3aion4spiir2m1eii4s1amtisch3ari3s2chei4schefi4schini2sch1lisch3leisch3obisch3reisch3rui4schwai4schwoisch3wuise3infi4seinti2s1ermi2s1essis4s1aci1s4tati1s4teui1s4tilit3a4reiten3s2iti4kaniti3k2ei2t1in1i2t3ranits1a2git2s1e4its3er1it2s1peit4stafi2v1enei2v1enti2z1enejek4terjektor4je2t1u2jugend3jung3s42k1a2bo2k3a2drka3len_ka4lenskal3eri2k1annakari3es2k1artikau2f1okauf4spke1in2d2k1eiseke4leim2ke2lek2ke3letkel3s2kk3enten2k1ents4kerfahk4erfamk3ergebk3er4hökerin4tker4kenker4neuker4zeu2k1i2dekie2l3o2ki3l2aki3n4o32k1inse4k1lastkle3ari4k3leit2k1o2fekop4fenkot4tak2k3räum2k3redekreier4k4s1amtk2s1ersk2s1erwk3stat4k2t3a2rk2t1erhk2t1ingkti4terk4torgakt3oriek2u3n2akuri4erku4schl4l3aben4l1a2bl2l1a2drla2g1oblan2d3rlang3s4l1a2po2la2r1anla2r1eila4rene3l2ar3glar3ini2l1ar3t3lasserla2t3ralat4tanlat2t3rlau2b3rlaub4se2l1ausslär2m1al2b1edel2b1insld3a2b1ld3a2ckl2d1a2dl2d3a2nld4arm_lecht4ele2g1asleh3r2elein4dulei4ßerleit3s22le2lekle2m1o24lendet4lenerg2l1ennilen4sem2l3entwlent4wäle2r3asler3engle4rers3lergehl3ergen2l1ergilerin4s2l1er2ö3l2erra2l1esellgeräu33lichem3licherliebe4slie2s3clik4ter2l1indulingst4lin2k1ali4schu2l1i4solkor2b1ll1a2bel2l1a2mlle4n3all3endul4lentsl4lerfol4lergoll3erntll3ertrl2l1indl2l1o2rll1ö4sellus5t6l2m3a2blm3einsl2m1e2pl2m1erz2l1o2bllos3t4r2l1ö4l3l2s1a2dl4s1ambl4schinl4schmül2s1e2bl2s1ersl2s1erwl2s1impls3ohnel4t3amel2t3atol2t1eislt4stablt4stocltu4ranluf2t1aluf2t1eluf2t5rlung4sclus4s3alus2s1cluss3erlus2s1olus2s1plus2s3tlus4stälus4t1alust3relut1o2fmach4trma4ges_ma4laktma4l3atma2l3ut2m1analman4ce_man3ers2m1angr4ma3r2oma3s2pa4m1aspemassen3mas4telma1s4trma2ta2b2m1au2fmäu2s1cmbast3emedien3mein4dame1i4so2m1e2miment4spme2r3apme4rensmerin4dmerin4tmerz4en4m1essames2s1omes2s1pme4t3römierer4mil4cheminde4sming3s4mi4schami4schnmi4schwmis2s1cmi2s5tem2m1ansmme4linm4mentwmme2ra2mme4recmmi1s4tmo4n1ermor2d3amoster4mpf3erpmpf3errms5trenm2t1erfm4t1ergm2t1erlm2t1ersm2t1ertm4t1etam2t1insmt3s2kamun2d1amül4lenmütter3na3chenna2l1a2na4lent4n1a2nana4schw4n1a2synauf4frn4austenbe3r2en3ce2n3n2d1anznde4al_nde4lännde4robn2d3ratn4d3runnd4stabnds3taune2e2i22ne2he_2nehen44n3eing4n3eink3ne3l2o4n1endb4n1endd4n1endf4n1endh4n1endk4n1endp4n1endt4n1endwne4nenenen4ge_nen4gen4n1entl4n3entwne2ra2bne3r4alne2r3am4nerbe_4nerben4n5erfonerfor42n3erhö2n1erlöner4mit4n1ernt3n2ers_2n3ersa4n3essine2t1akne2t1annett4scnfi4le_n2g3a2mn2g1andn2g1einnge4ramnge4zänn2g1i2dn3g2locngs5trinie3l2a3n2ing4ni4schwnitt4san4k3algn2k1insn2k1ortnk2s1aln4n1alln4nentsn2n1unfn2o3ble2n1ob2s2n3o2fenor2d5rno4t3eino2t3inno2t1opn2s1a2dn2s1alln2s1äusn6schefn4schronsen4spn2s1erkn2s1erön2s1erwn2s1erzn4s1etan2s1inin4sperin4stat_nst3eifn3stemmns4tentnst4erön4stracn4strien3t2a3cn4tanzan2t1eisn4t1essn2t1inhnton2s1nt3reifnt3riegntu4re_ntu4res1n2ung4n2z1a2gn4zensen4zentwn4zentznz3erwe2o3b4enoben3d4oben3seobe4riso2ch1ecocher4ko3d2e1iof2f1inoge2l1io2h1eiso2h1erto2h1erzoh4lergoh4lerwo3isch_ol2l3auoll1e2col2l1eiol4lerkoma4nero3m2eiso2m1indo2m1into2n1erdon3n2anont3antont3erwon4t3riop4ferdopi3er_o2r3almor2d3amor2d1irord3s2to4rientor2k3aror4mansor4mentor3n2o1oro3n2aor2t1akor4t1anor2t1auort3eigort3erfor2t3evort3insor4trauort3ricor2t1umo4sentsoss3andost1a2bos4t3amost3angos3tarros4ta4soster3eos4t1obost3ranost3roto2ß1enzo2ß1ereo2ß1erfo3t2e1iote2l1aote4leio2t1erwo2t1i2mot4terkoun4ge_our4ne_ozen4taöchs4tuögen2s1öl2f1eiö2r1e2lö3r2erzö2r1uneö2sch3mpa2r3afpar3akt2par2erpar4kampar4kaupe2l1a2pe3li4npe3n2alper2r1a2ph1erspil4zerpingen4pi2z1in3ple5n4po2p3akpo2p3arpor4tinpor4trepor6tripo2s3tepost3eipost3rap2p3a2bppe4lerp4t1entpt3ereip4t1erwp4t1erz2r1acetra4chebra4chinracht3rr3a2d3r3ra1k4l2r3alm_r4alt2hram4manram4m3uram2p3lran4dep4r3aneiran4spara2r1inra4schl2r3asph2r3attarau3e2nrau4man2raus5srbe3r2erchst4rr2d1elbrden4glrder4err2d1innre3alerrech3ar3reigewrei3l2arei3l2irei3necre1in2v2re2lek2r1entl2r1ents4r3entzr4ergen2r1ernä4r3erns4r3ernt3r2ers_2r1ersare2s2tu2r3evid2r3e2x1rfi4le_rfolg4srf4s1idrf2s3prr2g1a2drge4ralrge4taprgi4selr2g3ralrg5s2turi2d3anri3ers_ri3estiri2f1eirif4terri4generin4dexrin4diz4rinnta3r4ins_r4inspirin4tegrin4t5rri4schori4schwr3i2talr2k3reark4stecrkt3ersrk2t1o2rl2s3tor2m1aldr2n1anzr4n3eisr4n1enern3enser4n1ergrn4erhir4n1ertrol4lanro4nerbron4tanros2s1crre4aler2s1a2dr4s1amtr2s3angr3sch2er4stantrs4temprs4terbrst3ingrst3ranr2t1almrt3a4rer2t3attrtei3lartei1s4rten3s2rt3ereir4terfar4terfor4t3erhr2t1erkrter4rerte3s2kr2t1imar4t3rakr4treisrt4s1ehr2t1urtru3a2r3ruch3strun2d1arund3er2r1u2ni4r3uniorus2s1pru2t1o2rve4n1er2z1erfr2z1ergr2z1erkr2z1erwrz2t3ror3z2wecsa2cho22s1a2drsa4gentsa3i2k1sa2l1ids3ameri6s1amma2s3a2nasan4dri4s3antr4s3a2sy2s3aufb2s3ausb3s2ausesbe3r2es4ch2al4schanc4schangsch3ei_4schemp4schess4schiru4schle_sch6lit4schre_4schrinsch3rom4schrousch3s2k4schunt4schwetsch4wilsdien4e2s1echo2s1e2ckse2e1i4se2h1a2se4h1eise4herk5s4ein_sein4dusei3n2esein4fos4eins_4seinsp4seinstsel3ers2s1endl4s1entf2s3entg2s1entsser3a2dse2r3als3erbe_s3ereig2s1erfo4serfül4serken2s3ernt4s3eröf4sersehse4r1ufse3rund4se4tap4s1e2thsi3ach_siege4ssi2g1a2si2k1absik3erlsin3g4lsing3sasi4schuska4te_4skategska4tes4s3klassni3er_sni3ersso4l3eisol4lerson2s1o2s1orga5s2orgeso2r1o24s1o2ve4spensi3s2pi4e4spier43s4prec3sprosssrat4scss1a2cks4s1alas4s1albs4s3amts4s3angs4s3anzs3sa1s2s2s1egasse3infss3ersessquet4s3ta3li4s3tann3staus_st3a2ve4stechn3steilhstei4naste4mar6s5ter_3sterncs4t3ese3s4tett1s2ti2rst1i4sosto3s2t1s4trah4strans3s4tras4straum4s5träg4sträne4s5tref4streibst3renn2s4trig2s5trisst3rollstro4ma4st3run2s4t3s42stum2sstum4sc3s4tunds2t3uni2s3tuns2st3urtsuch4st3s4zene2ß1estrßi2g1a2ta2b1anta4bend2t1a2drta2g1eitahl3sk3t2aktuta4lensta2l1optan4gar2t1anme4t1anna3t2ans_4t3ansi4t3anspta4rens3t4a3rita2ta2bta2t3erta2t1um4t3ausg4t3auss4t1auswtbauer4tbe3r2e4teilhet3einget3einlate2l3abte2l1acte2l1autele4bete4l1ecte4l1ehte4leinte4lerd4t3elf_te2l1inte4losttel3s2kte2m1ei3temperte4na2dte4na2g4t3endf4t1endl4t3endpten3d4rten3eidten3ens4tenerg4t1eng_ten4glate4n3in4tensem4t3entw4t3entzte3ran_te2re2bter3endte4rengte4rerkterer4z4terfol4terfül3ter3g2t6ergru4terklä2t1erlöter4mert3erneuter4re_ter4sert4erst_t4erstit4erstute4r1ufter4wäh2t3erzbtes3tantest3eitestes4teu3ereteu3eriteu2r3a2t3e2xe2t1e2xi4thrin_4thrinsti4dendti3e4n3tie4recti4gerzti2ma2gtim2m1atin2g1at1in1ittin2k1l3t2ins_4t1inseti4que_ti4schatisch3w3ti3t2etle2r3atmen6t3tmo4desto2d1ertor3inttra3chatra4demtra4far2t3rams3t4ran_tre4ale3t4reib2t3reih4trenditre2t3r2t3rund3t4runkt3s2chat4schart3sch2et4schefts4chemtsch4lit4schrot2s1e2bt4seindt2s1engt2s1entt2s1i2dts4paret3s2pont3s2port4spreits3tätit2s3tepts3tradt4strants3traut2s3trät4streut4stropt2s3trütte4lebtte4lent3u2fertums5trtung4s5tu2r1ertu4schlt2z1e2ct2z1eiet2z1eistz3entsubal3l2ubi3os_u2b3rituch4spruch4toruch2t3ru4ckentu3ck2eruden3s2ue3reigue4rergue4rerku4erinnuer4neru3erunfu3eruntu2f1ä2ßu2f1erhu4ferleufs3temuf2t1ebu4gabteu2g1erfu2g1erlugge4stu2g3rüsu3isch_u3ischsuk2t1inulm3einu2m3a2ku2m1artu2m1ausument4su2m1ergu2m1erlu2m1erwumpf4lium2p3leum2s1peun2d1umun2k1a2unk4titunk2t3run2n3aduns4t1runte4riunvoll3up4t3a2upt3ergu2r3a2mu2r1anau2r1angurgros4ur3s2zeu2s1eseusi3er_us3partu2s1pasu3s2peku5s4pizust3abeu5strasus6trisute4leiuter4eruto4berut4schlut4schmut4schöutz3engut2z1inüch2s1cück3eriü4ckersück4speü3d2ensü2f1ergü2h1engü2h1erkü2h1erzühr3ei_ül2l1eiün2f1eiü2r1entüste3neva2t3a4va4t1inve4l1auvenen4dve3rand2ve3s2evid3s2tvie2h3avie4recvi2l1invollen4vormen4waffel3wah4lerwalt4stwar3stewa4schawä3schewe3cke_we3ckeswei3strwer4gelwe4r3iowest3eiwest1o2wim4m3uwolf4s3wol4lerwor2t3rxi2d1emx2t1e2dxtra3b4x2t3rany2l3a2myl4antezei2t1aze2l1a2ze2l1erze2l1inzel3t2hze4n3aczen4semzen4zerze2re2b2z1ergäz3erhalzerin4tzer4neb2z1ersazert1a2zert4anzer4tin4zerwei3z2erzazessen4zger4s1zin4ser4zinsufzon4terz3t2herzu2g1arzu4gentzwan2d1", + 8 : "_al1e2r1_al5l4en_anden6k_ar4m3ac_ar4t3ei_ber6gab_ber4g3r_de3r4en_einen6g_en4d3er_en5der__er4zen4_ka4t3io_lo4g3in_mode6ra_ost5end_oste6re_par3t4h_richt6e_sucher6_tan4k3la2ch1e2ca4ch3erwacht5ergach6tritack3sta43a2er2o1af4t3erlage4s3tiah4l3erhal4b3erw3a2l1e2bal2l3a4rall5erfaalli5er_al4t3erfam4t3ernand6spas3a4n1erban4g3erfan4g3erlan4g3erzang4s3poani5ers_an2t3a4ran2z1i4nar4t3ramau5ereinau4s3erwauster6mau4ten4gau4t3erhäs4s3erkbach7t4ebal4l3ehbe4r3eiwber6gan_ber3st4abe6steinbe4s3tolbote3n4ebst5einbbu4s3chach3e4ben6chergebcher6zie6ckergeb4d3achse2d1an3d22d1e4ben3d2e1i2mde2l1a2gde4l3augdel5sterde4n3endden4k3li4den4semde4r3eisde3r4erbde3r4erfde4r3ero4d3erhöh4d3ersatdest5altdest5ratdienst5r2d1in1it4d3innerdi4t3erldi4t3ermdi4t3ersd4s3tätid3s4tern2d1u2m1edu4sch3le3a4reneech3t4eiege4n3a2eg4se4r1ehr6erleei4b3uteei4d3errei2m1a2gein6karnein6stalei6schwuei4s3erwek4t3erzeld5erstel4d3erwe4ler4fae4ler4lae4l3ernäe4l3e4taelgi5er_elgi5ersel4l3einemen4t3he6mentspen4d3esse4n3ermoeni5ers_en5sch4eenst5alten4s3täten4t3rolen4z3erfen4z3ergen4z3erke2r3a4sie4r3eis_e4r3entferi3e4n3er6tereier4t3erfess4e3rees4t3enges4t3erhes4t3essestmo6deet4z3enteue6reifeut6schnfacher5ffal6schafal6schmfe4r3anzfrach6trf4s3tätif4s3tresf4s3tütef4t1e4tift4s3tanfzeiten6gas4t3el2g1eise2gel4b3ragel4b3rogel6dersge4l3ers4g3ereigge4ren4sge4r3entge4s3terglei4t5rgrammen6gros6selg3s4tatigs4t3rosgu4t3erhhaft4s3phal6lerfhau3f4lihau5steihau6terkhe4f3inghel4l3auhe2n1e2bhe4r3eishe4r3o4bhfel6lerhich6terho6ckerlhol6zeneh6rerlebh3s4terbh3t4akt_h4teil4zh4t3elith4t3entsht5erkenh6terneuh4t3erreh6terstaht6ersteht6raumeht4s3turhu4l3enghut4z3eria4l3ermie4n3a2gie4n3ergienst5räie4r3erziesen3s4ie4t3erhie4t3ertiker6fahi3l4aufbim4m3enti2n1e2bei4ner4trin2g1a2gin4n3ermin4s3tätir4m3untir4sch3wi4sch3eii5schingi6schwiri4s3etatiso6nendis4s3cheit4z3ergjah4r3eika4n1a4s6kantennkehr4s3o4ken4gagken5steiker6gebnkerin6stk3er4lauk3er4lebk6erlebe2k1er2zikeu6schlkor6dergkre1i2e4k4s3tanzk4t3erfolan2d3a22lat2t1alat4t3inl2d1e2seleben4s3lei6nerble4n3end5lentwet4l3ereigle4r3eim3l4ergew6lerwerbli4g3ers2l1in1itl6lergebl6lergen2l1or3g2l4s3ort_l4s3tätils6ternels6ternsl4te4leml4t1e4skl2t1o2rilu2g1e2blus6serflus6serklus6serslu4t3ergl2z1u4femagi5er_magi5ersmar6schmmar6schrma4t3erdmen6tanz4m3entwi4m3ergänmes6sergmp4f3ergmp4f3erz4m3ungebmu4r1u2fnacht6ra4n3a2mernavi5er_navi5ersn4d3entsnder5stene2n1e2bn4g3erseng4s3e4h2n3i2gelni4k3ingn4k3erfanseh5eren4s3ort_n4s3prien4s3tatens6terbenst5opfenten6te_nt4s3parober3in4ode6rat_ode6rateoh4l3erholl5endsoll5erweol4z3ernonderer5on4t3endopf5erdeopi5ers_or4d3engo2r1e2ckorsch5lior4t3entor4t3ereor4t3offor4t3räuos4s3enzo2ß1en2kö4sch3eipargel6dpä4t1e2hpä4t3entpe4l3inkp2f1in3spos4t3agrach6trärali5er_rali5ersran4d3errau4m3agräu5scher2b1a2der4b3lastrch6terwrderin6sr4d3erntrege4l3äre4h3entreister6re4n3end4r3erken4r3erlaurge4l3errgen4z3w4r3innerrkstati6rk4t3engrk4t3erfrk6terscrk4t3erwr2m1o2rirn3e4benrol3l4enrpe4r3inr6scherlr4s3ort_r6strangr4t3erler4t3ernäru6ckerlrun6derlrun6dersrun6derwr4z3entssa4l3erbsat4z3en6schlein2s1e2bense4l3erl4s1e2pos6sereignse4r3eimse4r3enk2s1i2deoson5ende2s1o2riesrücker6sse3in4tstel4l3äs4t3endss4t3engls4t3entfste6rersstes6se_5st4reif1s4tri2ksun6derhtan6zerhta4r3eretau3f4litau6schrtau6schwtblock5e4t1e2bentein3e4cte2m1o2rte2n1e2bte3n4ei_ten4t3riten6zerh4t3erde_te4r3eif6tergreiter4n3art6erscha6terwerbtes6terkti4v3erlto6ckenttrücker6t4s1amt4t4s3esset3s4terotta6gess2t1u2niotu2r1a2gtu2r1e4tu2ch1e4cu3erin4tuern3s4tu4g3reisun4d3erfund5erhau2r1an5sur3a4renu6schentusch5werusi5ers_u4t3ersaüge6leiswach6stuwach4t4rwahl5entwandels6we5cken_wein4s3aweis4s3pwel6schlwel6schrwel4t3a2wen4k3ri5werdensxpor6terx2t1er2fx2t1il2l2z1e2benzeit5endzei4t3er4z3ergebzer4n3ei4z3erstezer4t3agzer6terezer6trau", + 9 : "_char8me__er8stein_he6r5inn_men8schl_men8schw_os5t6alg_rü6cker6_wort5en6_wor8tendach8traumalli7ers_allkon8tral5s6terbausan8ne_äh4l3e4be6b5rechtebs3e4r3inchner8ei_dampf8erfden6s5taue6ch5erziee4r3en4ge6l5eier_erg3el4s3fal6l5erk6fel6ternfor4m3a4gforni7er_fzei8tendgot6t5erggrab8schegren6z5eihä6s5chenhe6rin6nuherin8terh6l3er4näh6t5erspaieler8gebi2k1e2r2eil4d3en4ti4sch3e4hkamp8ferfke6rin6nulan6d5erwlan6d5erzleis6s5erlepositi86mel6ternmorgen5s65n2en3t2aner8schlenich8tersn4n3er4wano6t5entrnsch7werdn5s6ternen5s6ternsos4s3en4kpapieren8ram6m5ersr8blasserres6s5erw6r5innenmris6t5ersr6st5eingrs4t3er4wr4t3er4lasfal6l5erspani7er_sse6r5atts4s3e4strsu6m5ents4t3a4genttblocken8tes6ter6gür4g3en4gvati8ons_vol6l5endwer6t5ermwin4d3e4czes6s5end", + 10 : "_er8brecht_os8ten8deder6t5en6deren8z7endgram8m7endhrei6b5e6cos6t5er6werein8s7trewel6t5en6dwin8n7ersczge8rin8nu", + 11 : "_er8stritt__spiege8leiach8träume_lei8t7er8scpapie8r7endpiegelei8en", + 12 : "ach8träumen_7sprechende_", + 13 : "_er8stritten_" + }, + charSubstitution : { + 'ſ' : 's' + } +}; \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/patterns/el-monoton.js b/alt-implementations/readifry-master/hyphenator/patterns/el-monoton.js new file mode 100644 index 0000000..a48e98f --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/patterns/el-monoton.js @@ -0,0 +1,18 @@ +// Hyphenation patterns for Modern Monotonic Greek. +// Created by Dimitrios Filippou with some ideas borrowed from +// Yannis Haralambous, Kostis Dryllerakis and Claudio Beccari. +// From http://tug.org/svn/texhyphen/branches/ptex/hyph-utf8/tex/generic/hyph-utf8/patterns/tex/hyph-el-monoton.tex +// Converted by Pablo Rodríguez (hyphenator at pragmata dot tk) +Hyphenator.languages['el-monoton'] = Hyphenator.languages['el'] = { + leftmin : 2, + rightmin : 2, + specialChars : "αεηιουωϊϋάέήίόύώΐΰίάύέήόώβγκδζθλμπντξρσϲςφχψ'ʼ᾿’᾽", + patterns : { + 2 : "α1ε1η1ι1ο1υ1ω1ϊ1ϋ1ά1έ1ή1ί1ό1ύ1ώ1ΐ1ΰ14'4ʼ4᾿", + 3 : "α2ια2ία2ίά2ιά2ιά2ϊά2ϊα2υα2ύα2ύά3υά3υε2ιε2ίε2ίέ2ιέ2ιέ2ϊέ2ϊε2υε2ύε2ύέ3υέ3υη2υη2ύη2ύή3υή3υο2ιο2ίο2ίό2ιό2ιό2ϊό2ϊο2υο2ύο2ύό3υό3υυ2ιυ2ίυ2ίύ3ιύ3ια2ηα2ϊα2ϋε2ϊε2ϋο2ηο2ϊι2αι2άι2άι2ει2έι2έι2οι2όι2όι2ωι2ώι2ώ_ι3_ί3_ί3η2αη2άη2άη2εη2έη2έη2οη2όη2όη2ωη2ώη2ώ_η3_ή3_ή3υ2αυ2άυ2άυ2ου2όυ2όυ2ωυ2ώυ2ώ_υ3_ύ3_ύ34β_4γ_4δ_4ζ_4θ_4κ_4λ_4μ_4ν_4ξ_4π_4ρ_4σ_4ϲ_4ς_4τ_4φ_4χ_4ψ_4β'4βʼ4β᾿4γ'4γʼ4γ᾿4δ'4δʼ4δ᾿4ζ'4ζʼ4ζ᾿4θ'4θʼ4θ᾿4κ'4κʼ4κ᾿4λ'4λʼ4λ᾿4μ'4μʼ4μ᾿4ν'4νʼ4ν᾿4ξ'4ξʼ4ξ᾿4π'4πʼ4π᾿4ρ'4ρʼ4ρ᾿4σ'4σʼ4σ᾿4ϲ'4ϲʼ4ϲ᾿4τ'4τʼ4τ᾿4φ'4φʼ4φ᾿4χ'4χʼ4χ᾿4ψ'4ψʼ4ψ᾿_β4_γ4_δ4_ζ4_θ4_κ4_λ4_μ4_ν4_ξ4_π4_ρ4_σ4_ϲ4_τ4_φ4_χ4_ψ4", + 4 : "ά3η_ά3η_ά3ι_ά3ι_ο2ειό3η_ό3η_ό3ι_ό3ι_4γκ_4μπ_4ντ_4τζ_4τσ_4τϲ_4τς_4μπ'4μπʼ4μπ᾿4ντ'4ντ’4ντ᾿4τζ'4τζʼ4τζ᾿4τσ'4τσʼ4τσ᾽4τϲ'4τϲʼ4τϲ᾿4β1β4γ1γ4δ1δ4ζ1ζ4θ1θ4κ1κ4λ1λ4μ1μ4ν1ν4π1π4ρ1ρ4σ1σ4ϲ1ϲ4τ1τ4φ1φ4χ1χ4ψ1ψ4β1ζ4β1θ4β1κ4β1μ4β1ν4β1ξ4β1π4β1σ4β1ϲ4β1τ4β1φ4β1χ4β1ψ4γ1β4γ1ζ4γ1θ4γ1μ4γ1ξ4γ1π4γ1σ4γ1ϲ4γ1τ4γ1φ4γ1χ4γ1ψ4δ1β4δ1γ4δ1ζ4δ1θ4δ1κ4δ1λ4δ1ξ4δ1π4δ1σ4δ1ϲ4δ1τ4δ1φ4δ1χ4δ1ψ4ζ1β4ζ1γ4ζ1δ4ζ1θ4ζ1κ4ζ1λ4ζ1μτζ2μ4ζ1ν4ζ1ξ4ζ1π4ζ1ρ4ζ1σ4ζ1ϲ4ζ1τ4ζ1φ4ζ1χ4ζ1ψ4θ1β4θ1γ4θ1δ4θ1ζ4θ1κ4θ1μσθ2μϲθ2μ4θ1ξ4θ1π4θ1σ4θ1ϲ4θ1τ4θ1φ4θ1χ4θ1ψ4κ1β4κ1γ4κ1δ4κ1ζ4κ1θ4κ1μ4κ1ξ4κ1π4κ1σ4κ1ϲ4κ1φ4κ1χ4κ1ψ4λ1β4λ1γ4λ1δ4λ1ζ4λ1θ4λ1κ4λ1μ4λ1ν4λ1ξ4λ1π4λ1ρ4λ1σ4λ1ϲ4λ1τ4λ1φ4λ1χ4λ1ψ4μ1β4μ1γ4μ1δ4μ1ζ4μ1θ4μ1κ4μ1λ4μ1ξ4μ1ρ4μ1σ4μ1ϲ4μ1τ4μ1φ4μ1χ4μ1ψ4ν1β4ν1γ4ν1δ4ν1ζ4ν1θ4ν1κ4ν1λ4ν1μ4ν1ξ4ν1π4ν1ρ4ν1σ4ν1ϲ4ν1φ4ν1χ4ν1ψ4ξ1β4ξ1γ4ξ1δ4ξ1ζ4ξ1θ4ξ1κ4ξ1λ4ξ1μ4ξ1ν4ξ1π4ξ1ρ4ξ1σ4ξ1ϲ4ξ1τ4ξ1φ4ξ1χ4ξ1ψ4π1β4π1γ4π1δ4π1ζ4π1θ4π1κ4π1μ4π1ξ4π1σ4π1ϲ4π1φ4π1χ4π1ψ4ρ1β4ρ1γ4ρ1δ4ρ1ζ4ρ1θ4ρ1κ4ρ1λ4ρ1μ4ρ1ν4ρ1ξ4ρ1π4ρ1σ4ρ1ϲ4ρ1τ4ρ1φ4ρ1χ4ρ1ψ4σ1δ4ϲ1δ4σ1ζ4ϲ1ζ4σ1ν4ϲ1ν4σ1ξ4ϲ1ξ4σ1ρ4ϲ1ρ4σ1ψ4ϲ1ψ4τ1β4τ1γ4τ1δ4τ1θ4τ1κ4τ1ν4τ1ξ4τ1π4τ1φστ2φϲτ2φ4τ1χ4τ1ψ4φ1β4φ1γ4φ1δ4φ1ζ4φ1κ4φ1μ4φ1ν4φ1ξ4φ1π4φ1σ4φ1ϲ4φ1χ4φ1ψ4χ1β4χ1γ4χ1δ4χ1ζ4χ1κ4χ1μ4χ1ξ4χ1π4χ1σ4χ1ϲ4χ1φ4χ1ψ4ψ1β4ψ1γ4ψ1δ4ψ1ζ4ψ1θ4ψ1κ4ψ1λ4ψ1μ4ψ1ν4ψ1ξ4ψ1π4ψ1ρ4ψ1σ4ψ1ϲ4ψ1τ4ψ1φ4ψ1χ4βρ_4γλ_4κλ_4κτ_6κς_6κϲ_4κσ_4λς_4λϲ_4λσ_4μς_4μϲ_4μσ_4νς_4νϲ_4νσ_4ρς_4ρϲ_4ρσ_4σκ_4ϲκ_4στ_4ϲτ_4τλ_4τρ_4φτ_", + 5 : "ο3ϊ3όο3ϊ3ό4γ1κτ4μ1πτ4ν1τζ4ν1τσ4ν1τϲ4γκς_4γκϲ_4γκσ_4μπλ_4μπν_4μπρ_4ντς_4ντϲ_4ντσ_", + 6 : "4ρ5γ2μ4ρ5θ2μ4λ5κ2μ4ρ5κ2μ4ν5κ2φ4γ5ξ2τ4ρ5ξ2τ4ρ5φ2ν4ρ5χ2μ4μ5ψ2τ4γ5κ2φ4γκ1ντ4γκ1τζ4γκ1τσ4γκ1τϲ4μπ1ντ4μπ1τζ4μπ1τσ4μπ1τϲ4ντ1μπ4τσ1γκ4τϲ1γκ4τσ1μπ4τϲ1μπ4τσ1ντ4τϲ1ντ", + 10 : "4χτ_4γκ1μπ" + } +}; diff --git a/alt-implementations/readifry-master/hyphenator/patterns/el-polyton.js b/alt-implementations/readifry-master/hyphenator/patterns/el-polyton.js new file mode 100644 index 0000000..8ce649c --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/patterns/el-polyton.js @@ -0,0 +1,24 @@ +// Hyphenation patterns for Modern Polytonic Greek. +// Created by Dimitrios Filippou with some ideas borrowed from +// Yannis Haralambous, Kostis Dryllerakis and Claudio Beccari. +// From http://tug.org/svn/texhyphen/branches/ptex/hyph-utf8/tex/generic/hyph-utf8/patterns/tex/hyph-el-polyton.tex +// Converted by Pablo Rodríguez (hyphenator at pragmata dot tk) +Hyphenator.languages['el-polyton'] = { + leftmin : 2, + rightmin : 2, + specialChars : "αεηιουωϊϋἀἁἂἃἄἅἆἇἐἑἒἓἔἕἠἡἢἣἤἥἦἧἰἱἲἳἴἵἶἷὀὁὂὃὄὅὐὑὒὓὔὕὖὗὠὡὢὣὤὥὦὧὰὲὴὶὸὺὼᾀᾁᾂᾃᾄᾅᾆᾇᾐᾑᾒᾓᾔᾕᾖᾗᾠᾡᾢᾣᾤᾥᾦᾧᾲᾳᾴᾶᾷῂῃῄῆῇῒῖῗῢῦῧῲῳῴῶῷάέήίόύώΐΰάέήίόύώΐΰβγκδζθλμπντξρσϲςφχψ'ʼ᾿’᾽ῤῥ", + patterns : { + 2 : "α1ε1η1ι1ο1υ1ω1ϊ1ϋ1ἀ1ἁ1ἂ1ἃ1ἄ1ἅ1ἆ1ἇ1ἐ1ἑ1ἒ1ἓ1ἔ1ἕ1ἠ1ἡ1ἢ1ἣ1ἤ1ἥ1ἦ1ἧ1ἰ1ἱ1ἲ1ἳ1ἴ1ἵ1ἶ1ἷ1ὀ1ὁ1ὂ1ὃ1ὄ1ὅ1ὐ1ὑ1ὒ1ὓ1ὔ1ὕ1ὖ1ὗ1ὠ1ὡ1ὢ1ὣ1ὤ1ὥ1ὦ1ὧ1ὰ1ὲ1ὴ1ὶ1ὸ1ὺ1ὼ1ᾀ1ᾁ1ᾂ1ᾃ1ᾄ1ᾅ1ᾆ1ᾇ1ᾐ1ᾑ1ᾒ1ᾓ1ᾔ1ᾕ1ᾖ1ᾗ1ᾠ1ᾡ1ᾢ1ᾣ1ᾤ1ᾥ1ᾦ1ᾧ1ᾲ1ᾳ1ᾴ1ᾶ1ᾷ1ῂ1ῃ1ῄ1ῆ1ῇ1ῒ1ῖ1ῗ1ῢ1ῦ1ῧ1ῲ1ῳ1ῴ1ῶ1ῷ1ά1έ1ή1ί1ό1ύ1ώ1ΐ1ΰ1ά1έ1ή1ί1ό1ύ1ώ1ΐ1ΰ16'6ʼ6᾿", + 3 : "α2ια2ία2ία2ὶα2ῖα2ἰα2ἴα2ἲα2ἶα2ἱα2ἵα2ἳα2ἷά2ιά2ιά2ϊά2ϊα2υα2ύα2ύα2ὺα2ῦα2ὐα2ὔα2ὒα2ὖα2ὑα2ὕα2ὓα2ὗά3υά3υε2ιε2ίε2ίε2ὶε2ῖε2ἰε2ἴε2ἲε2ἶε2ἱε2ἵε2ἳε2ἷέ2ιέ2ιέ2ϊέ2ϊε2υε2ύε2ύε2ὺε2ῦε2ὐε2ὔε2ὒε2ὖε2ὑε2ὕε2ὓε2ὗέ3υέ3υη2υη2ύη2ύη2ὺη2ῦη2ὐη2ὔη2ὒη2ὖη2ὑη2ὕη2ὓη2ὗο2ιο2ίο2ίο2ὶο2ῖο2ἰο2ἴο2ἲο2ἶο2ἱο2ἵο2ἳο2ἷό2ιό2ιό2ϊό2ϊο2υο2ύο2ύο2ὺο2ῦο2ὐο2ὔο2ὒο2ὖο2ὑο2ὕο2ὓο2ὗό3υό3υυ2ιυ2ίυ2ίυ2ὶυ2ῖυ2ἰυ2ἴυ2ἲυ2ἶυ2ἱυ2ἵυ2ἳυ2ἷα2ηα2ϊα2ϋά3ϋά3ϋε2ηέ2ηέ2ηε2ϊε2ϋό2ηό2ηο2ϊω2ιὠ2ιι2αι2άι2άι2ὰι2ᾶι2ει2έι2έι2ὲι2οι2όι2όι2ὸι2ωι2ώι2ώι2ὼι2ῶ_ί3_ί3_ῖ3_ἰ3_ἱ3η2αῃ2αη2άη2άη2ὰη2ᾶῃ2άῃ2άῃ2ὰῃ2ᾶη2εῃ2εη2έη2έη2ὲῃ2έῃ2έῃ2ὲη2οῃ2οη2όη2όη2ὸῃ2όῃ2όῃ2ὸη2ωῃ2ωη2ώη2ώη2ὼη2ῶῃ2ώῃ2ώῃ2ὼῃ2ῶ_ή3_ή3_ῆ3_ἠ3_ἡ3υ2αυ2άυ2άυ2ὰυ2ᾶυ2ευ2έυ2έυ2ὲυ2ου2όυ2όυ2ὸυ2ωυ2ώυ2ώυ2ὼυ2ῶ_ύ3_ύ3_ῦ3_ὑ36β_6γ_6δ_6ζ_6θ_6κ_6λ_6μ_6ν_6ξ_6π_6ρ_6σ_6ϲ_6ς_6τ_6φ_6χ_6ψ_6β'6βʼ6β᾿6γ'6γʼ6γ᾿6δ'6δʼ6δ᾿6ζ'6ζʼ6ζ᾿6θ'6θʼ6θ᾿6κ'6κʼ6κ᾿6λ'6λʼ6λ᾿6μ'6μʼ6μ᾿6ν'6νʼ6ν᾿6ξ'6ξʼ6ξ᾿6π'6πʼ6π᾿6ρ'6ρʼ6ρ᾿6σ'6σʼ6σ᾿6ϲ'6ϲʼ6ϲ᾿6τ'6τʼ6τ᾿6φ'6φʼ6φ᾿6χ'6χʼ6χ᾿6ψ'6ψʼ6ψ᾿_β6_γ6_δ6_ζ6_θ6_κ6_λ6_μ6_ν6_ξ6_π6_ρ6_σ6_ϲ6_τ6_φ6_χ6_ψ6", + 4 : "ά3η_ά3η_ά3ι_ά3ι_ά3ϊ_ά3ϊ_ό2ειό2ειό3η_ό3η_ό3ι_ό3ι_ό3ϊ_ό3ϊ_6γκ_6μπ_6ντ_6τζ_6τσ_6τϲ_6τς_6μπ'6μπʼ6μπ᾿6ντ'6ντ’6ντ᾿6τζ'6τζʼ6τζ᾿6τσ'6τσʼ6τσ᾽6τϲ'6τϲʼ6τϲ᾿4β1β4γ1γ4δ1δ4ζ1ζ4θ1θ4κ1κ4λ1λ4μ1μ4ν1ν4π1π4ρ1ρ4ῤ1ῥ4σ1σ4ϲ1ϲ4τ1τ4φ1φ4χ1χ4ψ1ψ4β1ζ4β1θ4β1κ4β1μ4β1ν4β1ξ4β1π4β1σ4β1ϲ4β1τ4β1φ4β1χ4β1ψ4γ1β4γ1ζ4γ1θ4γ1κ4γ1μ4γ1ξ4γ1π4γ1σ4γ1ϲ4γ1τ4γ1φ4γ1χ4γ1ψ4δ1β4δ1γ4δ1ζ4δ1θ4δ1κ4δ1λ4δ1ξ4δ1π4δ1σ4δ1ϲ4δ1τ4δ1φ4δ1χ4δ1ψ4ζ1β4ζ1γ4ζ1δ4ζ1θ4ζ1κ4ζ1λ4ζ1μτζ2μ4ζ1ν4ζ1ξ4ζ1π4ζ1ρ4ζ1σ4ζ1ϲ4ζ1τ4ζ1φ4ζ1χ4ζ1ψ4θ1β4θ1γ4θ1δ4θ1ζ4θ1κ4θ1μσθ2μϲθ2μ4θ1ξ4θ1π4θ1σ4θ1ϲ4θ1τ4θ1φ4θ1χ4θ1ψ4κ1β4κ1γ4κ1δ4κ1ζ4κ1θ4κ1ξ4κ1π4κ1σ4κ1ϲ4κ1φ4κ1χ4κ1ψ4λ1β4λ1γ4λ1δ4λ1ζ4λ1θ4λ1κ4λ1μ4λ1ν4λ1ξ4λ1π4λ1ρ4λ1σ4λ1ϲ4λ1τ4λ1φ4λ1χ4λ1ψ4μ1β4μ1γ4μ1δ4μ1ζ4μ1θ4μ1κ4μ1λ4μ1ξ4μ1π4μ1ρ4μ1σ4μ1ϲ4μ1τ4μ1φ4μ1χ4μ1ψ4ν1β4ν1γ4ν1δ4ν1ζ4ν1θ4ν1κ4ν1λ4ν1μ4ν1ξ4ν1π4ν1ρ4ν1σ4ν1ϲ4ν1τ4ν1φ4ν1χ4ν1ψ4ξ1β4ξ1γ4ξ1δ4ξ1ζ4ξ1θ4ξ1κ4ξ1λ4ξ1μ4ξ1ν4ξ1π4ξ1ρ4ξ1σ4ξ1ϲ4ξ1τ4ξ1φ4ξ1χ4ξ1ψ4π1β4π1γ4π1δ4π1ζ4π1θ4π1κ4π1μ4π1ξ4π1σ4π1ϲ4π1φ4π1χ4π1ψ4ρ1β4ρ1γ4ρ1δ4ρ1ζ4ρ1θ4ρ1κ4ρ1λ4ρ1μ4ρ1ν4ρ1ξ4ρ1π4ρ1σ4ρ1ϲ4ρ1τ4ρ1φ4ρ1χ4ρ1ψ4σ1δ4ϲ1δ4σ1ζ4ϲ1ζ4σ1ν4ϲ1ν4σ1ξ4ϲ1ξ4σ1ρ4ϲ1ρ4σ1ψ4ϲ1ψ4τ1β4τ1γ4τ1δ4τ1θ4τ1ν4τ1ξ4τ1π4τ1φστ2φϲτ2φ4τ1χ4τ1ψ4φ1β4φ1γ4φ1δ4φ1ζ4φ1κ4φ1ν4φ1ξ4φ1π4φ1σ4φ1ϲ4φ1χ4φ1ψ4χ1β4χ1γ4χ1δ4χ1ζ4χ1κ4χ1μ4χ1ξ4χ1π4χ1σ4χ1ϲ4χ1φ4χ1ψ4ψ1β4ψ1γ4ψ1δ4ψ1ζ4ψ1θ4ψ1κ4ψ1λ4ψ1μ4ψ1ν4ψ1ξ4ψ1π4ψ1ρ4ψ1σ4ψ1ϲ4ψ1τ4ψ1φ4ψ1χβγ2κσγ2κϲγ2κσμ2πϲμ2πμν2τσν2τϲν2τ6βρ_6γλ_6κλ_6κτ_6κς_6κϲ_6κσ_6λς_6λϲ_6λσ_6μς_6μϲ_6μσ_6νς_6νϲ_6νσ_6ρς_6ρϲ_6ρσ_6σκ_6ϲκ_6στ_6ϲτ_6τλ_6τρ_6φτ_6χτ_", + 5 : "ο3ϊ3όο3ϊ3όο3ϊ3ὸβ5ν2τζ5ν2τλ5ν2τρ5ν2τ", + 6 : "4ρ5γ2μ4ρ5θ2μ4λ5κ2μ4ρ5κ2μ4γ5κ2φ4ν5κ2φ4γ5ξ2τ4ρ5ξ2τ4ρ5φ2ν4ρ5χ2μ4μ5ψ2τ4λ5γ2κ4ν5γ2κ4ρ5γ2κ4τ5γ2κ4ζ5μ2π4λ5μ2π4ν5μ2π4ρ5μ2πἄ5μ2ακἀ5μ2πρὄ5μ2ποὀ5μ2ποὀ5ν2τάὀ5ν2τάὀ5ν2τὰὀ5ν2τᾶ6μ2πλ_6μ2πν_6μ2πρ_", + 7 : "ἰ5γ2κου_ξε5γ2κ_ξέ5γ2κ_ξέ5γ2κ_σι5γ2κ_ϲι5γ2κἀ5μ2πάκἀ5μ2πάκἀ5μ2πανἀ5μ2πάρἀ5μ2πάρἀ5μ2πᾶρἀ5μ2παρἀρα5μ2πἰ5μ2πρα_κε5μ2π_λό5μ2π_λό5μ2π5μ2πέη_5μ2πέη_5μ2πεη_5μ2πογι_ξε5μ2π_ξέ5μ2π_ξέ5μ2π_ρε5μ2π_ρέ5μ2π_ρέ5μ2π_ρο5μ2πρό5μ2παρό5μ2παρό5μ2περό5μ2περό5μ2πωρό5μ2πωρο5μ2πῶρο5μ2παρο5μ2περο5μ2πωσό5μ2πασό5μ2παϲό5μ2παϲό5μ2πασό5μ2πεσό5μ2πεϲό5μ2πεϲό5μ2πεσο5μ2πῶϲο5μ2πῶσό5μ2πωσό5μ2πωϲό5μ2πωϲό5μ2πωσο5μ2παϲο5μ2πασο5μ2πεϲο5μ2πεσο5μ2πωϲο5μ2πω_τα5μ2π_χα5μ2π_χό5μ2π_χό5μ2π_ξε5ν2τ_ξέ5ν2τ_ξέ5ν2τ6γ2κ1τζ6γ2κ1τσ6γ2κ1τϲ6μ2π1τζ6μ2π1τσ6μ2π1τϲ6τσ5γ2κ6τϲ5γ2κ6τσ5μ2π6τϲ5μ2π6τσ5ν2τ6τϲ5ν2τ", + 8 : "ἐμι5γ2κρ_μπα5γ2κ_μπι5γ2κ_σπά5γ2κ_σπά5γ2κ_ϲπά5γ2κ_ϲπά5γ2κ_σπα5γ2κ_ϲπα5γ2κ_φιό5γ2κ_φιό5γ2κ_φιο5γ2κἀ6μ3πάριἀ6μ3πάριἀ6μ3παρι_γά5μ2πι_γά5μ2πι_γα5μ2πι_ζεϊ5μ2π_κό5μ2πρ_κό5μ2πρ_κο5μ2πρ_λι5μ2πρ5μ2πέης_5μ2πέης_5μ2πέηϲ_5μ2πέηϲ_5μ2πεης_5μ2πεηϲ_5μ2πέησ_5μ2πέησ_5μ2πεησ__μπι5μ2π_τρο6μ3π_τρό6μ3π_τρό6μ3π_ρου5μ2π_σέ5μ2πρ_σέ5μ2πρ_ϲέ5μ2πρ_ϲέ5μ2πρ_σνο5μ2π_ϲνο5μ2π_σού5μ2π_σού5μ2π_ϲού5μ2π_ϲού5μ2π_σου5μ2π_ϲου5μ2π_τζά5μ2π_τζά5μ2π_τζα5μ2π_τζι5μ2π_τό5μ2πρ_τό5μ2πρ_το5μ2πρ_φρα5μ2πἀ5ν2τάτζἀ5ν2τάτζ_βί5ν2τε_βί5ν2τε_βι5ν2τε_κα5ν2τρ_μαϊ5ν2τ_μπε5ν2τ_μπι5ν2τ_ντα5ν2τ5ν2τίβαν5ν2τίβαν_ρε5ν2τί_ρε5ν2τί_ρε5ν2τι_ροῦ5ν2τ_ρού5ν2τ_ρού5ν2τ_χα5ν2το_χα5ν2τρ_χά5ν2τρ_χά5ν2τρ6γ2κ5μ2π6γ2κ5ν2τ6μ2π5ν2τ6ν2τ5μ2π", + 9 : "5γ2κραντ_ἴντρι5γ2κἰντρι5γ2κ_μα5γ2κιό_μα5γ2κιό_ντά5γ2κλ_ντά5γ2κλ_ντα5γ2κλἀλα5μ2πουἀρλού5μ2πἀρλού5μ2πἀρλοῦ5μ2πἀρλου5μ2π_βό5μ2πιρ_βό5μ2πιρ_βο5μ2πιρ_κα5μ2πάδ_κα5μ2πάδ_κα5μ2πίν_κα5μ2πίν_κα5μ2πῖν_κα5μ2πιν_κά5μ2ποτ_κά5μ2ποτ_κα5μ2πότ_κα5μ2πότ_κα5μ2ποτ_καου5μ2π_καρα5μ2π5μ2πα5μ2π5μ2πά5μ2π5μ2πά5μ2π5μ2πέ5μ2π5μ2πέ5μ2π5μ2πε5μ2π_νό5μ2πελ_νό5μ2πελ_νο5μ2πελ_ντό5μ2πρ_ντό5μ2πρ_ντο5μ2πρ_σα2μ5ποτ_ϲα2μ5ποτ_τε5μ2πεσ_τε5μ2πεϲ_τζου5μ2π_τσά5μ2πα_τσά5μ2πα_τϲά5μ2πα_τϲά5μ2πα_τσα5μ2πα_τϲα5μ2παἀτρα5ν2τέἀτρα5ν2τέἀτρα5ν2τὲ_γιβε5ν2τ_γκάι5ν2τ_γκάι5ν2τ_γκάϊ5ν2τ_γκάϊ5ν2τ_γκαϊ5ν2τ_κα5ν2ταΐ_κα5ν2ταΐ_κα5ν2ταϊ_μα5ν2τάμ_μα5ν2τάμ_μα5ν2τὰμ_μα5ν2ταμ_μα5ν2τέμ_μα5ν2τέμ_μα5ν2τεμ_μεϊ5ν2τά_μεϊ5ν2τά_μεϊ5ν2τα_μο5ν2τέλ_μο5ν2τέλ_μο5ν2τελμο5ν2τέρνμο5ν2τέρνμο5ν2τερν_νισα5ν2τ_νιϲα5ν2τ_ρεζε5ν2τ_σε5ν2τέφ_σε5ν2τέφ_ϲε5ν2τέφ_ϲε5ν2τέφ_σε5ν2τεφ_ϲε5ν2τεφ_σε5ν2τοῦ_ϲε5ν2τοῦ_σε5ν2τού_σε5ν2τού_ϲε5ν2τού_ϲε5ν2τού_σε5ν2του_ϲε5ν2του_τσα5ν2τί_τσα5ν2τί_τϲα5ν2τί_τϲα5ν2τί_τσα5ν2τι_τϲα5ν2τι", + 10 : "_γιου5γ2κο_καρα5γ2κι_χούλι5γ2κ_χούλι5γ2κ_χουλι5γ2κ_γιαρα5μ2π_καλα5μ2πα_καλί5μ2πρ_καλί5μ2πρ_καλι5μ2πρ_κα5μ2παρέ_κα5μ2παρέ_κα5μ2παρὲ_κα5μ2παρε_καρνα5μ2π_κολι5μ2πρ_κου5μ2πού_κου5μ2πού_κου5μ2ποῦ_κου5μ2που5μ2πέηδες_5μ2πέηδες_5μ2πέηδεϲ_5μ2πέηδεϲ_5μ2πέηδεσ_5μ2πέηδεσ_5μ2πέηδων_5μ2πέηδων__μπό5μ2πιρ_μπό5μ2πιρ_μπο5μ2πιρ_μπο5μ2πότ_μπο5μ2πότ_μπο5μ2ποτ_σκα5μ2παβ_ϲκα5μ2παβ_ταβλα5μ2π_τζανα5μ2π_τρα5μ2πάλ_τρα5μ2πάλ_τρα5μ2παλ_φά5μ2πρικ_φά5μ2πρικ_φα5μ2πρικ_μπαλά5ν2τ_μπαλά5ν2τ_μπαλα5ν2τ_μπα5ν2ταν_μπου5ν2τα_μπου5ν2τρ", + 11 : "_καρα6μ3πόλ_καρα6μ3πόλ_καρα6μ3πολ_κολού5μ2πρ_κολού5μ2πρ_κολοῦ5μ2πρ_κολου5μ2πρ_κο6μ3πρέσσ_κο6μ3πρέσσ_κο6μ3πρέϲϲ_κο6μ3πρέϲϲ_κο6μ3πρεσσ_κο6μ3πρεϲϲ_κοντρα5μ2π_κωλού5μ2πρ_κωλού5μ2πρ_κωλοῦ5μ2πρ_κωλου5μ2πρ_μανιτό5μ2π_μανιτό5μ2π_μπα6μ3πάκι_μπα6μ3πάκι_μπα6μ3πακι_ρεπού5μ2πλ_ρεπού5μ2πλ_ρεπου5μ2πλ_τα6μ3περαμ_τα6μ3ποῦρλ_τα6μ3πούρλ_τα6μ3πούρλ_τρα5μ2ποῦκ_τρα5μ2πούκ_τρα5μ2πούκ_τρα5μ2πουκ_τσι5μ2πούκ_τσι5μ2πούκ_τϲι5μ2πούκ_τϲι5μ2πούκ_τσι5μ2πουκ_τϲι5μ2πουκ_τσι5μ2πούσ_τσι5μ2πούσ_τϲι5μ2πούϲ_τϲι5μ2πούϲ_τσι5μ2πουσ_τϲι5μ2πουϲ_γιαχου5ν2τ", + 12 : "_σαλτιπά5γ2κ_σαλτιπά5γ2κ_ϲαλτιπά5γ2κ_ϲαλτιπά5γ2κ_κουλού5μ2πρ_κουλού5μ2πρ_κουλοῦ5μ2πρ_κουλου5μ2πρ_μπου5μ2πούν_μπου5μ2πούν_μπου5μ2ποῦν_μπου5μ2πουν_χοντρο5μ2πα_λικβι5ν2ταρ_ντερμπε5ν2τ_ντου5ν2τούκ_ντου5ν2τούκ_ντου5ν2τοῦκ_ντου5ν2τουκ_φαστφου5ν2τ_φαϲτφου5ν2τ", + 13 : "_μπασκε2τ5μ2π_μπαϲκε2τ5μ2π_μπασι5μ2πουζ_μπαϲι5μ2πουζ" + } +}; diff --git a/alt-implementations/readifry-master/hyphenator/patterns/en-gb.js b/alt-implementations/readifry-master/hyphenator/patterns/en-gb.js new file mode 100644 index 0000000..835477b --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/patterns/en-gb.js @@ -0,0 +1,16 @@ +// The en-GB hyphenation patterns are retrieved from +// http://tug_org/svn/texhyphen/trunk/collaboration/repository/hyphenator/ +Hyphenator.languages['en-gb'] = { + leftmin : 2, + rightmin : 3, + specialChars : "", + patterns : { + 3 : "sw2s2ym1p2chck1cl2cn2st24sss1rzz21moc1qcr2m5q2ct2byb1vcz2z5sd3bs1jbr4m3rs2hd2gbo2t3gd1jb1j1dosc2d1pdr2dt4m1v1dum3w2myd1vea2r2zr1we1bb2e2edn1az1irt2e1fe1j4aya4xr1q2av2tlzd4r2kr1jer1m1frh2r1fr2er1bqu44qft3ptr22ffy3wyv4y3ufl21fo1po2pn2ft3fut1wg1ba2ra4q2gh4ucm2ep5gp1fm5d2ap2aom1cg3p2gyuf2ha2h1bh1ch1d4nda2nhe22oz2oyo4xh1fh5h4hl2ot2hrun1h1wh2y2yp2aki2d2upie22ah2oo2igu4r2ii2omo1j2oiyn1lz42ip2iq2ir1aba4a2ocn3fuu4uv22ix1iz1jay1iy1h2lylx4l3wn5w2ji4jr4ng4jsy1gk1ck1fkk4y5fk1mkn21vok1pvr44vsk1t4vyk5vk1wl2aw5cn2ul3bw5fwh2wi2w1m1wowt4wy2wz4x1an1in1rn1ql3hxe4x1hx1ill24lsn3mlm2n1jx1ox3plr4x5wxx4", + 4 : "d3gr_fi2xy3ty1a2x5usy5acx1urxu4on2ielph2xti4ni2gx4thn2ilx1t2x1s25niql3rix4osxo4n1logn2ivx5om1locl3ro2lo_l3nel1n4_hi2l5rul1mexi4pl1max3io_ex1l1lu_ig3ll5tll3sll3p_in14n2kl1loll3mn3le_ew4n1n4nne4l1lixi4cll3fn3nil1lal5skls4p_eu14no_l4ivx3erx3enl1itx1eml1isx5eg3lirli1qxe2d3lik5lihx1ec1lig4y1bn1oun4ow4li_x3c4yb2il1g2l2fox2as1leyn3p42lev1letx2ag4ni_l1te_es1nhy2yc1l4n1sw3tow5tenho4ns2cwra42lerle5qn2si3womwol4l1try1d4lek42ledwl1in3suw3la4le_l3don1teldi2nth2lce4yda4l1c2l1tu4lu_l4by_od4lbe4lu1a4laz_oi4l4awnt2iwes4l4aul4asn2tjla4p_or1n1tr5wein1tun2tyn1h2w4ednu1awe4b5nuc_os13nudl4all4af_ov4w3drl4aey3eenu3iw1b45nukl4ac5laa4la_4lue3kyllu1in1gu4wabn1go_ph2v5vikur5_en12vv2ks4ty3enk3slv5rov5ri4k1sk3rung1n2vowy1erkol4ko5a4vonk2novo2l2vo_5lupn2gingh4k3lok3lik3lak2l2ng2aki4wvi2tkis4k1inki2l5kihk3holu1vke4g3kee4kedkdo4_sa2k5d2_eg4k1b4kav4kap4vim4ka3ovi4lk4ann3v2nve2vic2ka4lju1v4vi_ju5ljui4_sh2ygi2nfo4_st44jo_3jo2jil43jigl4vi2vel3veive3gjew3jeu42ve_4jesjeo2y3gljal43jac2ja__th44ly_2izz_ti22izo_do2i5yeix3oy3in2i1wn2x4i2vov4ad2ny25nyc5vacn1z24va_nzy4uy4aux2o2oa2o3ag2ivauve2u4vayle2i3um2ittly1c4obau3tu2itrob2i4obo_up12ithob5tuts2lym2ut2o_ve2oc2ait1a2isyo1clo1crut2ioct2is1pis1lo1cy4usto2doo2du4isblyp2n4ew2ab_2abai4saoe3a2abbus1pir2sir4qoe4do5eeir1ioep5o5eqo3er2usco1etir1a3lyr3lywipy43oeuo3evi3poab1ro3ex4ofo2o1gur1uo2ga2abyac2a3lyzi5oxo3gii3oti1orioe4ur2so2gui1od2io22acio1h2ur1o2inuo3hao3heohy44ma_oi4cins24inqoig4ac1r2ino2inn4inl4inkur1ioi4our2f4oisoi4t2iniynd4ok3lok5u2ind2inco1loyn2eo1mai2moom1iur2ca2doim1iil3v4iluon1co2nead1ril3f4onh2ik24iju4adyae5aija4i5in4aed2mahae5gihy4ae5pur1aae4s2i1h4igions2i1geyng42ont4af_4afe5maka4fui3fyu2pri3foon2zn1eru4po4agli2fe2i1foo1iu1ph4ieua2groo4moo2pyn4yi1er4iemie5ia1heah4n4iec2ai24ai_ai3aa1icne2p4idraig2oo2tu1peo1paop1iy1o2u1ouu3os4oplid1ayo3d2icuop1uor1a2ick4ich2a1ja4ju2mam4iceak5u4ibuunu44iboib1i2oreiav4i3aui3atun5ror1iun5o2alei5aii3ah2unniaf4i5ae2ormhy4thyr4hy3ohyn4hy2m2orthy2l1man2nedhuz4un2ihu4gh1th4alko1sch4skhsi42mapu1mu2h1shry4hri4hre41mar4h1pum2ph2ou4osp4osuy2ph4oth4ho_u1mi2h1mh1leh3la2ne_h4irhi2pu1mao4u2oub2h1in2a2mhi4l4oueu1lu2ulsoug4h1ic2hi_u1loul3mnde24ulln2daheu2ul2iou3mam1ihet12ounhep1ow1iows4ow5yyp1nox3ih4eiox5oypo1oy5aoys4u1la4ul_am2pu2izmav4h2ea4he_y2prhdu42m1ban2ao1zo_ch4mb4dy5pu4pa_ha4m1paru2ic5pau2ui2h4ac4ha_u4gon1cug5z2uft43gynu4fou3fl3ufa5gymmb2iue4tgy2b4anhnc1t2g1w5paw3gun2p1bu4edueb4p1c42guep5d2an1og5to2pe_gs4tgs4c2g1san2s2ped3grug4rou2dog4reud4g1gr2n1crgov12gou3gosud4e3goop4ee3goe5god3goc5goa2go_pe2fg2nog1niuc3lg1na2gn2an2y2pes3gluyr4r3pet5aowyr4s4ap_4apa3glo4pexyr5uu4ch2gl24y2s5gip2me_3gioap1i2ph_gi4g3gib4gi_uba41g2igh2tg3hoa2prphe44aps2medg2gegg4ame2g2g1gy3shu1alua5hu2ag2g1f3get2ua2ph2lge4o1pho2tz23gen4phs1gel1typ4gef2ge_g5d4me2m1phug1at4pi_p2iety4a4ty_p2ilt3wopim23gait2wi3gagn3b44ga_5piqar3har1i1tutfu4c4fu_1menp2l23tunna2vfs4p2f3s1pla1fr2tu1ifo3v4tufp4ly2p1myso53foo2arrme4par2stu1afo2n4tu_4po_t2tytt5s3pod2aru4poffo2e3foc4fo_ar5zas1ays1t3flu2asc3flo3flan2asas2et3ti2fin5poypph44f5hf3fr1pr2f1fif1fena5o3feufe4t4pry2ps22asotta4p3sh5fei3fecass2p1sits2its4ht2sc2fe_4t1s2f5d4f5b5faw5farp1st2pt2as1u2fa_1f2aeyl44ey_1expe1wre3whe1waevu4p4trp1tupub1puc4p4uneus44eumeuk5eue4p4uset5zyzy4z1a14p1wet2t2p4y4tovpy3e3pyg3pylpy5t2za__av44ra_r2adras2et2ae1su1namr2bat1orr2berb2ir1c2r2clrct4nak24re_rea4e2sc4es_2erza2to5tok2erurei4erk44erj1tog3toere1qre1vza2irf4lr1g2r2gez4as4ri_2ereto1b2erd2to_2erc4m3hri3ori5reph14mi_2au24au_m1ic4auc4t3me1paeo3mt1lieo2leof2eo3b4enur1lar1leaun2r1loen2sen1ot1laen3kzeb4r1mur2n24ene2end3tiurn5nrnt4ze4d4ro_r2od4roiroo4r2opelv4e1lur4owti4q1tip4roxrpe2r2ph1tior3puaw1i5nahaw5y4mijr3ri_as12eleay3mayn4ays2r5rurry5ek4l2az2m2ilaze4e2ize2iv4eis2ba_t1ineig24eifeid45bahba4ir2seehy21timeh5se5hoe1h2e2gr2efuef4lna2ceep1ee2mee1iee5gee2fr3su2na_rt3ced4g1basede23mytr1turu3ar2udr4ufe1clru2le1ceru2pb1c2ec2a2b1deb2te2bre4bl3myi4be_3beaeb2iebe4eb2b2bedzib5r1v2r2veeau3t1icmy3e5bee3bef2r2yry2tz2ie1bel2sa_2sabeap25saebe3meak1ea4gsa4g3sai4ti_5sak4beobe3q4eabmy4dd3zo3dyndyl25dyksa2l2d2y2d1wsa4mbe3w2b1fbfa44b1hb4ha2bi_1biazi5mdu3udu2ps3apb4ie3ducbif42ths2du_z4isb1ilmi3od4swds3m4bimd5sl1saumi3pz3li3dox4s3bd4osd2or3doosby3bip4bi5qbir44zo_s1cab2iss1cedo4jd4ob4do_5zoa2d1mmtu4d5lu2bl2d1losch2d1la2dl4tha42th_m5si4m1ss2co2t3f1diu2se_se2a4bly2b1m3texbmi44b1nm4ry4bo_3boa2sed5bobdil4bo5h3sei1didse2p1dia4di_d4hu3bon4d1hxys4dg4ami2t2d5f1boo3dexs2es1set3sev3sex3sey2s1fsfi4_an1d3eqde1ps4idsif4bow2si4g2sin5boyzo5p3sipde3gs1it3dec2de_d3di2tep3miute2od1d4d3c4zot23davs2k24sk_d1atske2d3ap4sksd1agb3sc2sl44da_5zumb5sicy4tbso2te2ltei4cys4cy4m2b1tcyl34bu_5bubte2g1cyc2cy_bun2cu5v5cuu1cuss2le1curt4edc4ufc1tyc1tu4te_c1trs1n2s2na2so_t1ca5mix4b3w4zy_4by_3byibys45byt2ca_2tc23soes2olc1te5cafsos45cai5cakc1al3sou4t3bt4axc2ta4m1lcry2sph2s1plc2res2pos4pym3pum3pocoz4cov14mo_sre22moc5cao1caps1sa3cooss3mcon11cars4sns1sos1su1takss3wmod13coe4st_1tai3tah3coc3coa4co_taf4c3nim2pist3cc1atste2mo1mc4kem4ons1th2cim3cau2tab2ta_3cayc1c44stl3cilc3ch3syn4cigci3f4ce_4ci_3chrs1tu1cho2ced4chm1sylch5k4stw4cefce5gs4tysy4d4su_sug3sy1c3sui4ch_m3pa2cem4sy_cew4ce2t1cepsu5zm4op2swo2s3vzzo3", + 5 : "n5tau2cenn3centsves45swee5cencsu5sus4urg1cen2sur3csu5pe3cerasun4a3cerdsum3i5cern5cesss4u2m1s2ulce4mo3cemi4celysy4bi4chab3chae3chaisui5ccelo45cellchec44ched3chee3chemsuf3fch1ersu3etsud4asuct44chessubt2ch5eusu4b13chewch5ex5chi_3chiasu5ansy4ce1styl3ceiv3chio5chip3cedi3cedestu4m5cedace4cicho3a5choc4chois4tud3chor3ceas2st3sstre43chots2tou3stonchow5cean3chur43chut5chyd3chyl3chym1c2i24ceab4ciaccia4mci3ca4cids4cie_ci3ers4toeci5etccle3cifi4ccip4ci3gast3lisyn5esyr5icat4ucim3aci3mes5tizs4thu4cinds4thac4atss4tec4cintci3olci5omci4pocisi4cit3rt2abockar5cka5tt5adeck5ifck4scc2atcs4teb3clasc2le22cle_c5lecc4at_clev3cli1mtad4icli2qclo4q4stakclue4clyp55clystad2rtae5n1c2o2case5car4vco5ba3tagrco3cico5custab23tail4cody2tairco5etco3grcar5mt4ais4col_col3atal2css5poco5lyta3lyco4met4anecomp4cap3uta4pass5liss1ins1sifs1siccon3scon3ts3siacapt4coop4co3orcop4eco3phco5plco3pocop4t2corassev3s5seus1sel1tard3corn4corotar3n5cort3cos_sre4ssreg5co5ta3tarr5cotytas3it3asmco3vacow5a5tassco5zic4anotas4t5craftat4rc4ran5spomcam4is4plysple2ca3maca3lys2pins2pids3phacal4m4speocri3lcron4so3vi4crousov5et5awacrym3cryo34c5s4csim5tawn43calcc3tacc4alaso5thct1an4soseca3gos3orycad4rc4teasor3os2o2ps4onect5esct5etct2ics2onaso3mo1so2mc3timsol3acaco3c4acesody4sod3oc5tio2s3odc3tittcas4tch5u4t1d4smo4dsmi3gc1tomc3tons3mensmas4b3utec2tres3man3bustc2tumte3cr2s1m4buss2s5lucslov5c2ulislo3cs3lits5leycu4mi5cunacun4e5cuni5cuolcu5pacu3pic3upl4tedds3lets5leabur3ebunt4cus5a3slauc3utr4tedobun4a4teeicy4bib4ulit3egoteg1rcy5noteg3us1latbsin41tellbsen4d4abr1d2acdach43tels3dact4b1s2sky3ld4aled4alg4bry_dam5a3damed3amida5mu3dangs5keybrum4d3ard5darms3ketbros4tem3as5kardat4ub4roa4teme4tenet5enm4tenob2ridteo5l4bre_5sivad3dlid3dyite3pe4s1ivde5awde4bisi4teb2ranbram44sismde1cr4dectded3i4sishs1is24bralde4gude3iosi4prtep5i4sio_1sio45sinkde5lo1d4emsin3is2ine4boxy1silibow3ssif5f4demybous4den4d4dened3enh4sidssi4de4sid_3bourde3oddeo3ldeon2si4cu5terd3sicc4s1ibde2pu5botishys44shu4d4eres3hon5shipsh3io1derider3k3dermsh5etsh1er4shab1teri2s1g4der3s5deru4des_de3sa5descbor4nter5k3terrdes4isexo23borides1psewo4de3sq2t2es5seum1de1t4tes_de5thde2tise5sh4ses_bor3d3septsep3atesi4t3esqdfol4tes4tteti4dgel4d4genbon4ebon4cdhot4bol4tbol3itet1rdi2ad3diarbol4e4d1ibd1ic_3sensdi4cedi3chd5iclsen5g1dictsem4osem2i5self4sele4boke5selasei3gd4ifo2boid3seedbod5i5dilldilo4di3luse4dabo5amdi1mi2d1indin4ese2cosec4a3di1odio4csea3wdip5t3diredi3riseas4di4s1d4iscs4eamb3lis3dissbli2q2s1d22s1cud3itos4coi2ditybli3oscof44blikscid5dix4i3bler4the_b3lan5dlefblag43dlewdlin45blac4b5k4bi5ve4d1n24bity4thea4thed4sceidog4abis4od4ol_s4ced5bismscav3sca2pd4ols5dom_1thei3theobi3ousbe4sdo5mos4bei4donybio5mbio3l4dor_dor4mdort41bi2ot4hersavi2dot1asaur52dousd4own4thi_th5lo2thm25binad3ral3dramdran4d4rassat1u3dreldres4sa2tedri4ed4rifs2a1td4romsas3s3sas_4d1s2th4mi3thotds4mi1th2rb2iledt5hobigu3bi5gadu1at5thurduch5sar5sdu4cosap3rbid5idu5en2santdu5indul3cd3uledul4lsan3adun4asamp43b2iddu3pl5durod5usesam5o5thymbi4b1dver2be3trsa3lube3sl3sale2bes_be1s2dy5ar5dy4e3thyrber5sdyll35dymi5berrdys3pberl4thys42beree1actbe5nuea5cue5addbe1neead1i1ti2ati3abben4deal3abel4tsad5osad5is3actean5i2t3ibsac4qe3appear3a5sacks3abl2belebe3labe3gube5grryp5arym4bry4goeas4t5rygmry5erbe3gobe4durvi4tr3veyr3vetr3vene4atube4doeav5ibed2it3ic_eaz5ibe3daebar43becube3caru3tirus4pe2beneb5et4bease5bile4bine4bisbdi4ve4bosrur4ibde4beb1rat2icie4bucru3putic1ut3id_run4trun4ge5camrun2eec3atr4umib3blir4umeech3ie4cibeci4ft4ida2b1b2ru3in3tidirue4lt5idsru4cerub3rr4ube1tif2ec1ror4tusti3fert5sirto5lr1t4oec1ulrt3li4tiffr2tize2dat3tigie4dede5dehrt3ivr2tinrth2ir5teue3deve5dew5barsr5tetr1ted4tigmr3tarrta4grt3abed1itedi2v5tigued3liedor4e4doxed1ror4suse2dulbar4nrs5liee4cers3ivee4doti4kabar4d5barbr4sitba4p1r3sioeem3ib4ansee4par4sileesi4ee3tot4illr5sieefal4rs3ibr3shir3sha5bangr3setb4anee4fugrsel4egel3egi5ae4gibe3glaeg3leeg4mir3secr3seat4ilte5gurban4abam4abal5utim1abal3abag4a5eidobaen43backr4sare4in_e3ince2inee1ingein5ir2sanei4p4eir3oazz4leis3ir2saleith4azyg4r4sagaz5eeaz3ar2r1s2ek3enek5isayth4e4lace5ladr3rymelam4r3ryi3tinnay5sirro4trrog5rrob3ay5larric4ax2idrrhe3rre2lele3orrap4el1ere1lesrra4h4r1r44tinst4intrpre4el5exrp5ise1lierph5ee3limav1isti3ocrp3atav3ige3livavas3r4oute3loae3locroul35rouero3tue2logro1te4rossr4osa4roreel3soror5dav5arelu4melus42t1ise5lyi3elytr4opr4rop_emar4tis4c5root1roomem5bie1me4e4meee4mele3mem3tissro1noro3murom4pe4miee2migro3lyro3laroid3e3mioro3ictis2te4miuro3gnro1fero3doava4ge2moge4moiro3cuem5om4emon5roccro5bre2morro4beav4abr5nute5mozrnuc4au3thr5nogr3noc3titlem3ume5muten3ace4nalrn3izrni5vr1nisrn3inr3nicrn5ibr5niaenct42t1ivr3neyr3netr3nelaus5pene5den3eern5are5nepe2nerr5nadr3nacrn3abt3iveen1et4aus_rmol4e3newen3gien3icr3mocrmil5en5inr5migaur4o5tleben3oieno2mrm4ieenov3aun3dr2micen3sprme2arm4asr2malr5madr3mac3tlefen2tor4litau3marlat33tlem5tlenen3uaen3ufen3uren5ut5enwa5tlewe4oche4odaaul4taul3ir3keyr3ketrk1ere5olutlin4eon4ae3onteop4te1or1r5kaseor3eeor5oeo1s2eo4toauc3oep4alaub5iepa4t4a2tyr2i4vr2ispris4cep5extmet2eph4ie2pige5pla2t3n2ri5orri4oprio4gatu4mrin4sr4inorin4e4rimse1p4u4rimmr4imbri2ma4rim_at1ulr4ileri2esera4gera4lri3erri5elrid4e2ricur4icl2riceri3boer3be2r2ib2a2tuer3cher3cltoas4ri5apri3am4toccat1ri4ered3r2hyrhos4tod4irgu5frg5lier3enr3gerr3geor5geee3reqer3erere4sa4trergal4r4gagat3rarfu4meret42a2tra5tozatos4ere4ver3exreur4er3glre3unre3tur3esq2res_er2ider3ierere4rer4aer3into5dore5phre1pe3reos3reogre3oce3river5iza3too4atoner3mer4enirene2rena4r3empr5em_re1le4ero_re1lam5ordreit3re3isre1inre3if2atolre2fe3reerree3mre1drre1de2r4ed4atogeru4beru5dre3cure3ce3reavr5eautol4ltolu5es5ames5an4atiure3agre3afr4ea_to5lye3seatom4be5seeat1itese4lr4dolrd3lie1shie5shurdi3ord2inr5digr4dier4desr2dares3imes3inr5dame4sitrc5titon4er5clor4clees4od3tonnrcis2rcil4eso3pe1sorr2cesrca4ston3ses4plr4bumr2bosrbit1r2binrbic4top4er4beses2sor3belrbe5ca4timrbar3e2stirb1anr4baga2tif4toreest4rrawn4tor5pra3sor4asktor4qr2aseras3cati2crare2eta3p4rarcran2tet4asra3mur5amnet5ayra3lyra3grra4de3tos_eter2r2acurac4aetex4e2th1r2abo2etia5rabera3bae5timet3inath5re3tir5quireti4u1quet2que_e2ton4quar5quaktos4ttot5uath3ipyr3etou4fet1ri5tourt3ousath3aet1ro4a2that5etetud4pu3tre4tumet4wetra5q3tray4ater4tre_4trede3urgeur5itren4pur3cpur5beut3ipu3pipun2tpun3i3puncev3atpun4aeve4n4trewpum4op4u4mpu5ere4vese1viapuch4e2vict2rieevid3ev5igpu5be2trilt2rit4trixe4viuevoc3p5tomp3tilata3st4rode4wage5wayew1erata3pew5ieew1inp5tiee3witatam4ex5icpt4ictro5ft2rotey4as2a2taey3s2p5tetp1tedez5ieas5uras4unfab4ip2tarfact2p4tan2f3agp4tad5falopt3abtro1v3psyc3troypso3mt4rucfar3itru3i2t4rytrys42asta3feast4silfeb5ras3ph2fed1as5orfe1lifem3i2t1t4p3sacf5enias4loas4la3feropro1l4pro_3ferrfer3v2fes_priv24priopren3aski43prempre1dfet4ot3tabpreb3as5iva3sit4pre_f5feta5siof5fiaf3ficf5fieffil3prar4ff4lepra5dffoc3prac1as3int5tanppi4ct5tast3tedfib5u4fic_ppet33fici4ficsppar34p1p2fiel4asep4p5oxi1fi2l4asedfin2apo1tefind3fin2ef1ing3p4os3portpor3pf3itapo4paas2crt3tlifle2s2ponyflin4t5toip4o2nasan2pom4eas4afa5ryta3ryot5torar3umt3tospo3caar2thar3soar2rhar4pupnos4tu5bufor5bar3oxtu5en5formplu2m2plesaro4ntu4is3plen3plegfrar44ple_fre4sar3odfruc42tum_3tumi4tumsf1tedtun4aft5es2p3k2p2itutu4netur4dtur4npis2sfug4ap4iscfun2gp4is_fur3npir4tfus5oar3guar5ghpi4pegadi4pip4at3wa4ar3en3gale3pi1op4innpin4e3galot3wit5pilo3piletwon4pig3n5tychpict4g5arcg4arepi4crpi3co4picagar5p5garr1ga4sgas5igas3o3piarar4bl3phyltyl5ig4at_2phy_phu5ity5mig4attgat5ugaud5ga5zaar3baara3va3rau5geal3gean2ge4d3gedi5gednar1at3type4gelege4li1tyr13phrage4lu2gelygem3i5gemoara3mph3ou3phorgen3oa3rajt5ziat5zie4gereph1is2ges_5gessphi4nua3ciget3aara2ga5quia5punua5lu1philg3ger4phic3phibg3gligglu3g5glyph3etg4grouan4og5haiuar3auar2dg4hosuar3iap5lia5pirph2angi4atu1b2igi5coap3in4phaeub5loub3ragi4orgi4otaph3igi5pag4i4s5gis_gi2t15gituu1c2aa5peug3laru5chrglec43glerap3alpe4wag4leypet3rpe2tia1pacaol3iglom34glopa5nyian5yap4ery3glyp2g1m4a5nuta3nurg4nabper3vp4eri4pere5percpe5ongn5eegn3eru4comg4niapen5upel5v4pelean3uluco5tgno4suc2trant4ruc3ubuc5ulu5cumgo4etgo4geu5dacg5oidgo3isgo2me5gonnpe2duud1algoph44gor_5gorg4gorsg4oryud5epgos4t1anth3pedsg1ousan2teu4derudev4grab43gram3pedigra2pudi3ogril43pedeu5doigro4gg5rongrop4ud5onan3scgru5ipe4coan5otan2osanor3g4stiu5doran2oeg4u2agu5ab5guan4annyg5uatan5no5gueu4aniuuen4ogu2magu4mi4anigpawk4uer3agur4ngur4u4gurypau3pani3fan3icues4san3euan4eagyn5ouga4cug2niug3uluhem3ui3alp5atohae3opas1t1p4ashag5uha5ichais4par3luid5ouil4apa3pypap3uhan2gpa3pepa4pahan4tpan3iha4pehap3lhar1ahar5bhar4dpan1ep4alspa3lohar3opain2paes4pad4rhat5ouil4to3zygozo5ihav5oana5kuin4san3aeuint4amyl5am3ului5pruis4t1head3hearui3vou4laba3mon4ulacu5lathe3doheek4ul4bohe3isul3caul4ch4uleaow5slow5shu5leehem1aow5in3amidow5hahem4pow1elhe3orulet4h1er_owd3lher2bowd4io5wayow3anow3ago1vish5erho5varouv5ah1erlouss42ouseh1ersoun2dul4evami2cul2fahet3ioul4tul4iaheum3ou5gihe4v4hev5ihex5oa3men3ambuu5lomhi4aram1atou5gaul4poh4iclh5ie_h1ierou3eth1iesama4gh3ifyhig4ohi5kaa5madoud5iou5coou5caa5lynhin4dou5brul1v45ou3aalv5uh2ins4o1trh4ioral1vahip3lum3amhir4ro4touhit4ahiv5aumar4u5masalu3bh3leth1l2ihli4aum2bio1t2oot4iv2h1n2o5tiaal3phho3anho4cou4micho5duho5epo4tedhold1o3taxo3tapot3ama5lowh2o4nos1uru4mos4ostaos4saos1pihon1o1hoodhoo5rh4opea4louo5sono5skeh4orno4sisos1inos5ifhosi4o3siaalos4os5eual1ora3looo2seta3lomoser4hr5erhres4um4paos5eohrim4h5rith3rodose5ga5loeo3secumpt4un5abun4aeht5aght5eeo4scio2schos4ceos4caht5eoht5esun2ce4aliuosar5un3doos3alosa5iory5phun4chunk4hun4thur3ior4unu1nicun4ie4or1uun3inal1in5aligal3ifal1iduni5por4schy1pehy3phuni1vor1ouun3iz2i1a2ia4blo5rooorm1ii2achiac3oa2letork5a5origa1leoun3kni2ag4ia3gnor3ifia3graleg4a3lec4ori_al3chor5gn4ialnor4fria5lyi5ambia3me5orexi3anti5apeia3phi2ardore4va5lavor3eiore3giat4uore3fal3atun3s4un5shun2tiibio4or4duib5lia1laei4bonibor4or4chi5bouib1riun3usoram4ic3acor5ali4calic1an2icariccu4akel4i5ceoa5ismich4io5raiora4g4icini5cioais1iic4lo2i2coico3cair3sair5pi5copop2ta2i1cri4crii4crui4cry1op1top5soopre4air5aop2plic3umopon4i5cut2i1cyuo3deain5oi5dayide4mo4poiain3iu1pato1phyid3ifi5digi5dili3dimo4pheo1phaidir4op1ero5peco4pabidi4vid3liid3olail3oai5guid3owu5peeid5riid3ulaid4aa5hoo2ieg2ie3gauper3i5ellahar22i1enien2da1h2aoo4sei2erio3opt4iernier2oi4erti3escagru5oon3iag3ri2i1eti4et_oo4leag5otook3iiev3au5pidiev3o4ag1nagli4if4fau5pola5giao5nuson5urifi4difi4n4i2fla5gheifoc5ont4rupre4af5tai3gadaev3a3igaraeth4i3geraet4aono3saes3ton5oionk4si3gonig1orig3oto1nioo5nigon3ifig1urae5siae3on4ura_aeco34uraead3umura2gik5anike4bi2l3aila4gon4id4a2duil4axil5dril4dui3lenon4guuras5on1eto3neoon1ee4oned4oneaad1owon5dyon3dril1ina3dos4onauon3aiil5iqona4do2mouil4moi5lonil3ouilth4il2trad3olil5uli5lumo4moi4adoi4ilymima4cim2agomni3im1alim5amom2naomme4om2itomil44adoeomi2co3mia3adjuome4gurc3ai5mogi3monim5ooome4dom4beo3mato2malo2macim5primpu4im1ulim5umin3abo4mabur4duadi4p4olytina4lol1ouin5amin3anin3apo3losol1or4olocur3eain3auin4aw4adilol3mia5difolle2ol2itolis4o5lifoli2eo1lia4inea4inedin5eeo3leuol1erine4so3lepo3leo4ineuinev5ol5chol4an4infu4ingaola4c4ingeur5ee4ingiad4haur1er4ingo4inguoith44adeeada3v4inico3isma5daiur3faac2too3inguril4ur1m4ac3ry4ino_in3oioil5i4inos4acou4oideo2i4d4acosurn5soi5chinse2o3ic_aco3din3si5insk4aco_ac3lio3ho4ack5aohab34acitacif4in5ulin5umin3unin3ura4cicuro4do5gyrur5oturph4iod5our3shio3gr4i1olio3maog4shio3moi5opeio3phi5opoiop4sa5cato4gro4ioreo2grio4got4iorlior4nio3sci3osei3osii4osoog2naur5taiot4aio5tho4gioio5tri4otyur1teo5geyac3alurth2ip3alipap4ogen1o3gasip1ato3gamurti4ur4vaofun4iphi4i4phuip3idi5pilip3ino4fulipir4ip5isab1uloflu42abs_ip3lou3sadi4pogus3agi4pomipon3i4powip2plab3omip4reoet4rip1uli5putus3alabli4i3quaab3laus4apoet3iira4co4et_ir4agus3atoes3t4abio2abiniray4ird3iire3air3ecir5eeirel4a3bieires4oelo4ab1icoe5icir4ima3bet5irizush5aoe5cuir5olir3omusil52abe4ir5taoe4biabay4us4pais5ado5dytis1alis3amis1anis3aris5av_za5ri2s3cod3ul_xy3lod5ruo3drouss4eod3liis2er5odizod5it4iseuod4ilodes4o5degode4co5cyt2isiais5icis3ie4isim_vo1c4isisis4keus1troc5uo2ismais1onocum4iso5pu5teooc1to5ispr2is1soc2te_vi2socre3u3tieiss4o4istao2cleu3tioo5chuoch4e4istho4cea4istloc5ago3cadis1tro4cab4istyi5sulis3urut3leutli4it5abita4c4itaiit3am_vec5it4asit3at_ur4oit3eeo3busob3ul_ura4_up3lo3braith5io5botith3rithy52itiao5bolob3ocit1ieit3ig4itim_un5uob1lio3blaob3iti5tiqut5smit3ivit4liit5lo4ito_it5ol2itonit1ou_un5sobe4lu4tul_un3goat5aoap5ioan4t4itueit1ulit1urit3us2i1u2_un3eiur5euven3oal4iiv1ati4vedu5vinoad5io3acto5ace_ul4luy5er2v3abives4iv3eti4vieiv3ifnyth4va1cavacu1iv1itva4geivoc3vag5rv1al_1vale_tor1vali25valu4izahiz3i2_til4iz5oivam4i_tho4va5mo5vannnwom4jac3ujag5u_te4mja5lonwin44vasev4at_jeop34vatuvect4_ta4m4velev1ellve1nejill55jis_4venu5ve3ojoc5ojoc5ujol4e_sis35verbju1di4ves__ses1ju3ninvi4tjut3a_se1qk4abinvel3kach4k3a4gkais5vi1b4vi4ca5vicuvign3vil3i5vimekar4i1kas_kaur42v1invin2evint4kcom43vi1oviol3kdol5vi5omke5dak5ede_rit2_rin4ken4dkeno4kep5tker5ak4erenu1trker4jker5okes4iket5anu4to5vi3pkfur4_re3w_re5uvire4kilo3vir3uk2in_3kind3nunc5numik3ingkin4ik2inskir3mkir4rv3ism3kis_k1ishkit5cvit2avit1rk5kervi3tu_re5ok5leak3lerk3let_re1mv3ity_re1ivi5zovolv41know3vorc4voreko5miko5pe3vorok5ro4_po2pv5ra4vrot4ks2miv3ure_pi2ev5verwag3owais4w3al_w3alswar4fwass4nu1men3ult5labrwas4tla2can4ulowa1tela4chla2conu4isw4bonla3cula4del5admw5die_out1nug4anu3enlag3r5lah4nud5i_oth54lale_osi4_or2o_or4ilam1ol5amu_ore4lan2d_or3dn5turntub5n3tua3weedweir4n5topwel3ilapi4n3tomn1t2o_op2i_on4ent3izla4tenti3pn3tign1tient4ibwent45laur_ome2_ol4d_of5twest3_oed5l4bit_ob3lw5hidl2catwid4elcen4n1thelch4el3darl3dedl3dehwi5ern4teol5dew_no4cl3dien3teln4tecwim2pld5li_ni4cwin2ecen3int1atnt1aln3swale3cawl1ernsta4_na5kle5drleg1an3s2t3leggn5sonleg3ons3ivwl4iensi2tlel5olelu5n3sion3sien3sid5lemml3emnle2mon4sicns3ibwon2tn3sh2n5seule1nen2seslen3on5seclen5ule3onleo4swoun4wp5inn4scun2sco_mis1_mi4enre3mnre4ix4ach4les_x4adenpri4x3aggnpos4npla4npil4leur5x3amil3eva5levexan5dle4wil5exaxano4lf5id_lyo3lf3on_lub3l4gall4gemlgi4al4gidl4goixas5pxcav3now3llias4lib1rl1ic_5lich_lo2pnove2nou5v2nousli4cul3ida3nounn4oug3lieul4ifel4ifoxcor5_li4p3notenot1a_li3oxec3r1l4illil4ilim2bno3splim4pnos4on4os_lin4dl4inenor4tn4oronop5i5nood4noneno2mo1nomi3linqnol4i3liogli4ollio3mliot4li3ou5liphlipt5x5edlx5edn_le2pl4iskno3la_le4ml2it_n5ol_no4fa3lithnoe4c3litrlit4uxer4gn4odyno4dinob4ln5obilk5atxer3on5nyi_ki4ex3ia_nnov3x4iasl5lasl4lawl5lebl1lecl1legl3leil1lellle5ml1lenl3lepl3leul3lev_is4o_is4c_ir3rx5ige_in3tllic4nlet4_in3ol5lie4n1l2l2linnk5ilnk5ifn3keyl5liolli5v_in2ixim3ank5ar_in3dllo2ql4lovnjam2_im5b_il4i_ig1n_idi2llun4l5lyal3lycl3lygl3lyhl3lyil5lymx4ime_hov3_ho2ll4mer_hi3bl5mipni3vox4it__he4ilneo4x4its5loadniv4ax4ode_hab2ni4ten5iss2locynis4onis4l_gos3n4isk4loi_lo5milom4mn4is_lon4expel43nipuni1ou5nioln4inu5ninnnin4jn4imelop4en3im1l3opm1lo1qnil4ax4tednik5e3nignn3igml4os_lo1soloss4_ga4mnift4nif4flo5tu5louplp1atlp3erxtre4l5phe_fo3cl2phol3piel3pitxur4b1y2ar_eye3_ex3a3yardl5samls5an4nicllsi4mls4isyas4i_eur4l1s2tni3ba3niac_es3tl5tar_es3pl4teiyca5mlth3inhyd5y3choltin4lti3tycom4lt4ory2cosnhab3_er2al4tusyder4_epi1luch4_eos5n2gumlu4cu_ent2lu1enlu5er_en3slu4ityel5olu4mo5lumpn4gry_en5c5lune_emp4n5gic_em3by5ettlusk5luss4_el2in5geen4gae_ei5rlut5r_ei3dygi5a_ec3t_eco3l4vorygo4i_dys3_du4c_do4eyl3osly4calyc4lyl5ouy1me4news3_de4wly4pay3meny5metnet1ry5miaym5inymot4yn4cim4acanet3an1est1nessn1escmact44mad_4mada4madsma4ge5magn2nes_yn3erma5ho3ma4i4mai_maid3_der2ner2vner5oyni4c_de1mneon4m3algneo3ln3end4n1enne2moyoun4n4ely2neleyp5alneis4man3a5negune3goneg3a3nedi_dav5m4ansne2coyper3m3aphy4petne4cl5neckn3earyph4en3dyind2wemar3vn4dunndu4bn2doundor4n5docnd1lin3diem4at_n1dicnd4hin5deznde4snde4ln1dedn3deayph3in3damm4atsn3daly4p1iy4poxyp5riyp4siypt3am5becn4cuny3ragm4besyr3atm2bicnct2oyr3icm4bisy5rigncoc4n1c2lm3blimbru4mbu3lmbur4yr3is_can1ys5agys5atmea5gn4cifme4bame4biy3s2c4med_n4cicn3chun3chon3chan5ceyme4dom5edy_bre2n5cetn3cer4melen1c2anbit4nbet4mel4tnbe4n_bov4ys1icys3in3men_2menaysi4o3nautnaus3me1nenat4rnati45meogys4sonas3s4merenas5p2me2snas5iys4tomes5qyz5er1me2tnam4nmet1e3nameza4bina3lyn5algmet3o_aus5_au3b_at3t_at3rza4tena5ivmi3co5nailm4ictzen4an5agom4idina4ginag4ami5fimig5an2ae_mi2gr_as4qmi5kaz5engm3ilanadi4nach4zer5a3millmi5lomil4t3m2immim5iz3et4_ari4_ar4e_ar5d5zic4_ap4i5my3c_any5z3ing3zlemz3ler_an3smu4sem5uncm2is_m4iscmi4semuff4zo3anmsol43zoo2_and2zo3olzo3onzo5op4mity_am2i_al1k_air3_ag5nmlun42m1m2_ag4amp5trmp3tompov5mpo2tmmig3_af3tmmis3mmob3m5mocmmor3mp3is4m1n2mnif4m4ninmni5omnis4mno5l_af3f_ae5d_ad3o_ad3em3pirmp1inmo4gom5pigm5oirmok4imol3amp5idz3zarm4phlmo3lyz5zasm4phe_ach4mona4z3ziemon1gmo4no_ace45most_ab4imo3spmop4t3morpz5zot", + 6 : "reit4i_ab3olmo5rel3moriam5orizmor5onm3orab3morse_acet3_aer3i_al5immo3sta2m1ous_al3le4monedm4pancm4pantmpath3_am5ar_am3pemper3izo5oti_am3phmo4mis_ana3b_ana3s_an5damog5rimp3ily_an4el_an4enmmut3ammin3u_an4glmmet4e_ant3am3medizing5imman4d_ar5abm5itanm3ists_ar5apmsel5fm3ist_5missimis3hamuck4e4misemmul1t2_ar4cimu5niomun3ismus5comirab4mus5kemu3til_at5ar1m4intmin3olm4initmin5ie_bas4i_be3di5myst4_be3lo_be5sm5min4d_bi4er_bo3lo_ca3de_cam5inac4te_cam3oyr5olona4d4amil4adnad4opyr3i4t_car4imid5onn4agen_ca4timid4inmi4cus_cer4imi3cul3micromi4cinmet3ri4naledyp5syfn4aliameti4cmeth4i4metedmeta3tna5nas_cit4anan4ta_co5itnan4to_co3pa4n4ard_co3ru_co3simes5enmer4iam5erannas5tenat5alna5tatn4ateena3thenath4l5mentsn4ati_nat5icn4ato_na3tomna4tosy4peroy4periy5peremend5oyoung5naut3imen4agna5vel4m5emeyo4gisnbeau4_de3linbene4mel3on_de3nomel5een4cal_yn4golncel4i_de3ra_de3rimega5tncer4en4ces_yn5ast3medityn5ap4nch4ie4medieynand5ynago43mediaym4phame5and_de3vem5blern4cles_dia3s_di4atmb5ist_din4anc4tin_dio5cm5bil5m4beryncu4lo_east5_ed5emncus4tmbat4t_elu5sn3da4c3m4attn4dalema3topnd3ancmat5omma3tognde3ciyes5tey3est__em5innd3enc_em5pyn3derlm4atit_en5tay4drouma3term4atenndic5undid5aydro5snd5ilynd4inend3ise_epi3d_er4i4nd5itynd3ler_er4o2_eros43mas1ty4collnd5ourndrag5ndram4n5dronmassi4y4colima3sonyclam4mar5rima3roone3aloma5ronne2b3umar5ol5maran_erot3_er4rima5nilych5isne4du4manic4man3dr_eth3e3m4an__eval3ne5lianeli4g_far4imal4limal3le_fen4dm3alismal3efmal5ed5male24nered_fin3gxtra3vner4r5mal3apxtra5d2mago4ma4cisne3sia5machy_fu5ganes3trmac3adnet3icne4toglys5erxtern3neut5rnev5erlypt5olymph5n4eys_lyc5osl5vet4xter3ixpoun4nfran3lv5atelu5tocxpo5n2_ge3ron3gerin5gerolut5an3lur3olu3oringio4gn5glemn3glien5gliol3unta_go3nolu2m5uxo4matluc5ralu2c5o_hama5l3t4ivltim4alti4ciltern3lt5antl4tangltan3en4icabni4cen_hem5anict5a_hy3loni4diol3phinni4ersximet4lot5atnif5ti_ico3s_in3e2loros4lo5rof_is4li_iso5ml4ored_ka5ro_kin3e5nimetn4inesl3onizl3onisloni4e3lonia_lab4olo5neyl5onellon4allo5gan3lo3drl3odis_la4me_lan5ixen4opnitch4loc5ulni3thon4itosni5tra_lep5rni3trinit4urloc3al5lob3al2m3odnivoc4niz5enlm3ing_lig3anjur5illoc5ulloc3an5kerol3linel3linal5lin__loc3anland5lli5col4liclllib4e_loph3_mac5ulli4anlli5amxa5met_math5llact4nni3killa4balk3erslk3er_lkal5ono5billiv5id_ment4_mi3gr_mirk4liv3erl5ivat5litia5liternois5il3it5a5lisselint5inom3al3lingu5lingtling3i3nonicw5sterws5ingnora4tnor5dinor4ianor4isnor3ma_mi5to_mo3bil4inasl4ina_wotch4word5ili5ger_mon3a5lidifl4idarlict4o_mu3ninova4l5licionov3el_mu3sili4cienow5erli4ani_myth3_nari4le5trenpoin4npo5lale5tra3les4sle3scon4quefler3otleros4ler3om_nast4le5rigl4eric3w4isens3cotle5recwin4tr_nec3tle5nielen4dolend4e_nom3ol5endalem5onn5sickl5emizlem3isns5ifins3ing_nos3tn3s2is4leledle3gransolu4le4ginn4soren4soryn3spirl3egan_obed5nstil4le5chansur4e_ob3elntab4unt3agew5est__oe5sont5and_om5el_on4cewel4liweliz4nt3ast_opt5ant5athnt3ati_or3eo3leaguld3ish_pal5in4tee_n4teesld4ine_pa5tald3estn4ter_n3terin5tern_pecu3war4tel5deral4cerenther5_ped3elav5atlat5usn4tic_ward5r_pend4n4tics_pep3tn3tid4_pi3la_plic4_plos4_po3lan5tillnt3ing_pop5lvo3tar_pur4rn4tis_nt3ismnt3istvo5raclat5al4laredlar5delar5anntoni4lan4tr_re3cantra3dnt3ralviv5orn3tratviv5alnt3rilv5itien5trymlan3etlan4er3landsvi5telland3i3land_lan3atlam4ievi3tal2v5istla4ic_la4gisla3gerlac5on5visiola5cerla5ceolabel4vi5ridlab5ar_re3ta5numerkin5et_rib5anu3tatn5utivkey4wok5erelkal4iska5limk2a5bunven4enven5o_ros3ajuscu4_sac5rjel5laja5panja2c5oi5vorevin5ta_sal4inym5itv5iniz5vinit3vinciiv3erii4ver_iv5elsoad5ervin4aciv5el_oak5ero3alesiv5ancoal5ino5alitit5uar_sanc5oar5eroar4se_sap5ait4titoat5eeoat5eri4tric_sa3vo4i5titob3ing2obi3o_sci3e4itio_it4insit4in_it5icuiti4coi5tholitha5lobrom4it3erait3entit3enci3tectit4ana3istry_sea3si4s1to5vider_sect4oc5ato4o3ce25vict2ocen5ovice3r_se3groch5ino3chon_sen3tvi4atroci3aboci4al5verseis4taliss4ivis5sanis4saliss5adi3s2phocu4luver4neislun4ocuss4ver3m4ocut5ris3incis5horocyt5ood3al_ish3op4ishioode4gao5dendo3dentish5eeod3icao4d1ieod3igais3harod1is2v5eriei2s3etis5ere4is3enis3ellod5olood5ousise5cr4i1secisci5cver3eiver5eaven4tris5chiis3agevent5oir5teeir5ochve5niair4is_ir2i4do3elecoelli4ir5essoe3o4pire5liven4doi5rasoven4alvel3liir4ae_ir4abiv4ellaip3plii4poliip3linip4itiip1i4tip4ine_su5daiphen3i1ph2ei3pendog5ar5v3eleripar3oi4oursi4our_iot5icio5staogoni45ioriz4ioritiora4mvel3atiod3i4ioact4_sul3tintu5m_tar5oin3til_tect45vateein4tee_tel5avast3av5a4sovar4isin3osiin5osei3nos_oi5ki5oil3eri5noleoin3de4vantlvanta4oin4tr_ter4pin3ionin4iciin5ia_oit4aling3um4ingliok4ine4ingleing5hain5galo4lacko5laliinfol4olan5dol5ast_thol45val4vole2c4ol5eciol5efiine5teole4onin3esi4in5eoo3lestin5egain5drool3icao3lice_ti5niol5ickol3icsol5id_va5lieo3lier_tri3dinde3tvager4oli5goo5linaol3ingoli5osol5ip4indes5inde5pin5darollim34vagedol4lyi3vag3ava5ceo4inataol3oido4lona_tro4vi3nas_in4ars_turb44ol1ubo3lumi_turi4ol3us_oly3phin3airin5aglin4ado4inaceimpot5im5pieo4maneomast4_tu5te_tu3toi3mos_im5mesomeg5aome3liom3enaomen4to3meriim5inoim4inei3m2ieomic5rom4ie_imat5uom4inyomiss4uv5eri_un5cei5m2asim3ageil5ureomoli3o2mo4nom5onyo4mos__un5chilit5uom5pil_un3d2il4iteil5ippo5nas__uni3c_uni3o4iliou_un3k4oncat3on4cho_un3t4u4t1raon3deru4to5sili4feili4eri5lienonec4ri3lici_ve5loon5ellil3iaron3essil3ia_ong3atilesi45u5tiz4o1niaon5iar2oni4conic5aut3istut5ismon3iesigu5iti4g5roi5gretigno5m4onneson5odiign5izono4miu5tiniut3ingo5nota_ver3nig3andu4tereon4ter_vis3ionton5if5teeon4treif5icsut5eniutch4eif3ic_u3taneoof3eriev3erook3eri5eutiiet3ieool5iei3est_i1es2ties3eloop4ieieri4ni3eresus5uri4idomioot3erooz5eridol3ausur4eo5paliopa5raopath5id4istopens4id1is43operaus4treidios4_vi5sooph4ieo5philop5holi3dicuus1to4iderm5op3iesop5ingo3p2itid3eraust3ilid3encopol3ii5cun4op5onyop5oriopoun4o2p5ovicu4luop5plioprac4op3ranict5icopro4lop5ropic4terust5igust4icicon3ous5tanic5olaor5adoich5olus3tacic5ado4oralsib3utaoran3eab5areorb3ini4boseorch3iibios4ib3eraor5eadore5arore5caab5beri5atomia5theoreo5lor3escore3shor3essusk5eru4s1inor5ett4iaritianch5i2a3loial5lii3alitab3erdor3ia_4orianori4cius5ianorien4ab3erria5demori5gaori4no4orio_or5ion4oriosia5crii2ac2rus4canor3n4a5ornisor3nitor3oneabi5onor5oseor5osohys3teorrel3orres3hyol5ior4seyor4stihyl5enort3anort3atort3erab3itaor3thior4thror4titort3izor4toror5traort3reh4warthu3siahu4minhu5merhu4matht4ineht4fooht3ensht3eniab4ituht3en_ab3otah3rym3osec3uhrom4ios5encosens43abouthre5maabu4loab3useho4tonosi4alosi4anos5ideo3sierhort5hho5roghorn5ihor5etab3usio3sophos3opoho2p5ro3specho5niohong3ioss5aros4sithon3eyur3theos4taros5teeos5tenac5ablur5tesos3tilac5ardost3orho5neuhon5emhom5inot3a4gurs3orho4magach5alho5lysurs5ero5ta5vurs5alhol3aroter4muroti4ho3donachro4ur5o4mach5urac5onro5thorurn3ero5tillurn3alh5micao3tivao5tiviur5lieo5toneo4tornhirr5ihio5looturi4oty3lehi5noph5inizhi5nieh2in2ehimos4hi5merhi5ma4h3ifi4url5erhi4cinur5ionur4iliur4ie_ac2t5roult5ih4et3ahes3trh5erwaound5aac5uatur3ettoun3troup5liour3erou5sanh4eron5ousiaher5omur1e2tur3ersova3lead5eni4ovatiad3icao4ver_over3bover3sov4eteadi4opadis4iovis5oo2v5oshere3ohere3aherb3iherb3aher4ashende5ur5diehe5mopa3ditihemis4he3menowi5neh3el3ohel4lihe5liuhe3lioh5elinhe5lat5admithe5delhec3t4adram4heast5ad3ulahdeac5ae4cithavel4ura4cipac4tepa5douhas4tehar4tipa3gan4pagataed5isu5quet4pairmpa5lanpal3inag4ariharge4pan5ac4agerihant3ah5anizh1ani4agi4asham5an4aginopara5sup3ingpa3rocpa3rolpar5onhagi3oag3onihaged5agor4apa3terpati4naha5raaid5erail3erhadi4epaul5egust5apa5vilg4uredg4uraspaw5kigui5ta5guit43guardaim5erai5neagrum4bpec4tugru3en5ped3agrim3a4grameped3isgour4igo5noma3ing_5gnorig4ni2ope5leogn4in_pen4at5p4encu5orospen5drpen4ic3p4ennal5ablg2n3ingn5edlalact4until4g5natial5ais5gnathala3map3eronalc3atald5riun4nagg5nateglu5tiglu5tepes4s3ale5ma4g5lodun5ketpet3eng5lis4gli5ong4letrg4letoal3ibrali4cigin5gigi5ganun3istph5al_gi4alluni3sogh5eniph5esiggrav3ggi4a5al5icsg5gedlun4ine3germ4phi5thgeo3logen5ti4phobla5linigen5italin5ophos3pgen4dugel5ligel4ing4atosg4ato_gat5ivgast3ral5ipegasol5ga5rotp5icalu3n2ergar3eeg5antsgan4trp4iestpi5etip5ifieg5ant_un4dus4ganed4alis_gan5atpi3lotgam4blun4diepin5et3pingegali4a5p4insga5lenga4dosga4ciefu5tilpir5acfu3sil4furedfu4minundi4cpiss5aunde4tpis4trft4inefti4etf4ter_un3dedpla5noun4dalalk5ieun4as_al4lab4pled_frant4frag5aunabu44plism4plistal4lagu4n3a4umu4lofore3tfor4difor5ayfo5ramfon4deallig4fo4liefo1l4ifoeti42p5oidpois5iump5tepo4ly1poly3spoman5flum4iump5lipon4acpon4ceump3er3ponifpon5taf3licaf5iteepo5pleal3ogrpor3ea4poredpori4ffir2m1fin4nial3ous5fininpos1s2fi3nalu4moraumi4fyu2m5iffight5fier4cfid3enfi5delal5penp4pene4ficalumen4tal3tiep4pledp5plerp5pletal5uedal3uesffor3effoni4ff3linf2f3isal5ver2a1ly4fet4inaman5dul3siffet4ala3mas_fest5ipres3aulph3op3reseulph3i5pricipri4es4pri4mam5atuam4binfest3ap5riolpri4osul4litfess3o4privafer5ompro3boul4lispro4chfe5rocpron4aul4latam5elopro3r2pros4iu5litypro3thfer3ee4feredu5litipsal5tfemin5fea3tup5sin_fant3iul5ishpsul3i4fan3aul3ingfa5lonu3linefa2c3ufa3cetpt5arcez5ersp5tenapt5enn5pteryez5er_ex4on_ew5ishamen4dp2t3inpt4inep3tisep5tisievol5eevis5oam3eraev5ishev4ileam5erle4viabpudi4ce4veriam5icapu4laramic5rpu5lisu5lentu1len4a3miliev5eliev3astpun5gieva2p3eval5eev4abieu3tereu5teneudio5am5ilypu3tat5ulcheet3udeet3tere4trima5mis_et4riaul5ardet4ranetra5mamor5aetra5getor3iet3onaamort3am5ose3quera4quere4ques_et5olo5quinauit5er3quito4quitueti4naeti4gie3ticuuisti4ethyl3ra3bolamp3liuis3erampo5luin4taet5enia5nadian3agerag5ouuinc5u3raillra5ist4raliaet3eeret3atiet3ater4andian3aliran4dura5neeui3libra3niara3noiet5aryan3arca5nastan4conrant5orapol5rap5toet3arieta5merar3efand5auug3uraan5delet3al_es4ur5e2s3ulrass5aan5difug5lifra5tapra5tatrat5eurath4erat3ifan5ditra5tocan5eeran3ellra4tosra5tuirat5umrat3urrav5aian3ganrav3itestud4ra3ziees5tooe3stocangov4rb3alian4gures5taue5starest3anesta4brbel5orb3entes4siless5eeessar5rbic5uan5ifor5binee5s2pres5potan5ionrbu5t4es5pitrcant54anityr4celean3omaan4scoans3ilrcha3irch3alan4suran2t2ar3cheor4cherud3iedr4chinrch3isr3chites3onaan3talan5tamrciz4ies3olae3s4mie3skinrcolo4rcrit5an4thies4itses4it_e5sion3anthrrd4an_es5iesr5de4lr3dens4anticrd5essrd5ianan4tiee5sickes5ic_rd3ingesi4anrd1is2rd5lere3sh4aes5encrd5ouse5seg5e3sectescut5esci5eant4ives5chees5canre5altre5ambre3anire5antre5ascreas3oeryth35erwauan4tusreb5ucre3calrec4ceer4vilan5tymre3chaan3um_an5umsap5aroerund5ert5izer4thire3disre4dolape5lireed5iu4cender4terer5tedre3finuccen5re5grare3grereg3rire3groreg3ulaph5emer4repaph5olaphyl3ero5stero5iser3oidern3it4reledre3liarel3icre5ligreli4qrel3liern3isrem5acap5icuub3linern3errem5ulu4bicuren5atr4endiap4ineren4eser4moirenic5ren4itub5blyre5num4eri2ta3planre5olare3olier4iscer3ioure4pereri4onrep5idre3pinre3plere4preeri4nauari4ner3iffre5reare3r2uapo3thre3scrre3selre3semre3serap5ronre5sitre3speapt5at4arabiara5bore5stu3retarre3tenar3agear5agire1t2ore5tonre3trare3trere5trier4ianer3ia_ergi3ver3ettrev3elrevi4ter3etser3et_ar3agoar3allaran4ger3esier5eseere5olr4geneeren4e5erende4remeer5elser5ellr5hel4rhe5oler5el_er3egrer3ealerdi4eerd5arerb5oser3batar5apaer5atuarb5etar4bidty4letri5cliri3colri5corri4craarb3lirid4aler3apyer3apier3aphera4doar4bularch5otwi5liri5gamaren5dri5l4aar5ettar3ev5ar5iff5tur5oequin4rima4gar4illrim3ate4putarimen4e3pur5ept3or5turitr4inetturf5iturb3aep5rimt4uranrins5itu5racep3rehtun5it5rioneepol3iepol3ari5p2ari5piear5iniep3licarm3erris4ise4peteris4paris4pear5mit4ristiri3tonr5it5rep5ertriv4alar3nalar3nisriv3enriv3il5ri5zoar5oidep5arceor4derk5atir5kellrk5enia5rotieol5ata5roucr3kiertud5ier5kin_r5kinsrks4meen4tusent5uptu5denr3l4icr3liner5linsen4tritu4binen5tiarma5cetuari4ent3arr4mancr4manor4marir4maryen4susars5alart5atarth4een4sumens5alrm4icar5m2iden3otyenit5ut4tupermin4erm3ingarth3rar5tizen5iere2n3euen4ettrmu3lie3nessen5esiener5var5un4as5conrn3ateas5cotrn5edlt3tlerr3nessrn5esttti3tuas3ectt5test3encept4tereen3as_rn4inee2n3arrn3isten4annash5ayem4preash5ilem5pesas5ilyempa5rask5erem3orras5ochrob3letstay4e3moniem3oloemod4uemo3birody4n4emnitem4maee4mitaem3ismem5ingem3inar4oledas4silassit5as4tatro5melro3mitas4tiaas3tisemet4eron4ac4ronalas4titron5chron4dorong5ir5onmeem5ero4asto2as3traas4trit5roto4atabiem3anaro3peltro3spem3agor5opteel5tieelp5inel5opsrosi4aro5solel5op_5troopros4tiatar3aro3tatata3t4ro4terelo4dieloc3uelo5caat3eautri3me4roussell5izel4labrow3erelit4ttri3lie4li4seli3onr3pentrp5er_el3ingat3echr3pholrp3ingat5eerrpol3ar2p5ouele3vi3tricuelev3at5ricla5tel_e5lesstres4sele5phel3enor4reo4el5eni4e4ledelea5grricu4tre5prate5lerri4oseld3ertre4moat3entat3eraelast3el5ancel5age4traddeiv3ereit5ertra4co4atesse4ins_to3warehyd5re5g4oneg5nabefut5arsell5rs3er_rs3ersa3thene4fiteath3odr4shier5si2ato3temto5stra5thonrs3ingeem5eree2l1ieed3ere4d5urrstor4to3s4ped3ulo4a3tiator5oitor5ered3imeed5igrrt3ageto5radr4tareed5icsto4posr4tedlr3tel4r5tendrt3enito5piaa2t3in4atinaat5ingede3teton5earth3rir1t4icr4ticlr5tietr5tilar5tilltom5osrt5ilyedes3tr3tinart3ingr3titirti5tue4delee5dansrt5lete5culito4mogec4titrt5ridecti4cec4teratit3urtwis4e4cremtoma4nec3ratec5oroec3oratom3acat4iviec3lipruis5iecip5i4toledec5ath5at5odrun4clruncu42t3oidrun2d4e4caporu5netecal5ea4topsec3adea4toryebus5iebot3oe4belstode5cat3ronat5rouat4tagru3tale4bel_eav5our4vanceavi4ervel4ie3atrirven4erv5er_t4nerer3vestat3uraeatit4e3atifeat5ieeat3ertmo4t5east5iat3urge1as1s3ryngoau5ceraud5ereas5erryth4iaudic4ear4tee5ar2rear4liear3ereap5eream3ersac4teeam4blea3logeal3eread3liead3ersain4teac4tedy4ad_sa5lacdwell3sa3lies4al4t5tletrdvert3sa5minault5id5un4cdum4be5tledrs4an4etlant4san5ifdu5ettau5reodu5elldu5eliau5rordrunk3tiv3isaus5erdri4g3aut3ars5ativti3tradrast4d5railsau5ciaut3erdossi4sa3voudo5simdon4atdom5itt3itisdomin5doman4tit5ildo4lonscar4cdol5ittith4edol3endo4c3u4s4ces5dlestt4istrdi4val1di1v2ditor3av3ageava5latish5idithe4av5alr3tisand4iterd4itas3disiadisen34d5irodi4oladi5nossec5andin5gisecon4dimet4di5mersed4itdi3gamdig3al3di3evdi4ersd5icurse3lecselen55dicul2s4emedic4tesemi5dav5antdic5oldic5amt3iristi5quaav3end5sentmti3pliav3ernti5omosep4side4voisep3tiser4antiol3aser4to4servode3vitde3visdev3ils5estade3tesdes3tid3est_sev3enaviol4aw5er_de3sidde3sectin3uetin4tedes4casfor5esfran5der5os3dero45dernesh4abiaw5ersder4miaw5nieay5sta3dererde5reg4deredde3raiderac4si4allsiast5tin3ets3icatdepen42s5icldeont5si5cul4tinedba5birdens5aside5lsid3enbalm5ideni4eba5lonsi4ersde1n2ade4mosde3morba5nan5tilindemo4nti4letsin5etbardi44demiedel5lisi5nolsi3nusba5romdeli4esi5o5sde3lat5de3isde4fy_bar3onde4cilsist3asist3otigi5odeb5itsit5omdeac3td3dlerd4derebas4tedaugh3dativ4dast5a3d4as2d1an4ts3kierba4th4sk5ily3baticba5tiod4a4gid5ache3ti2encys5toc3utivbat5on4cur4oti3diecur4er1c2ultb4batab4bonecul5abcu5itycub3atctro5tbcord4ti3colct5olo3smithbdeac5tic5asct5ivec4tityc4tituc3t2isbed5elc3tinict5ing4s3oid4te3loct4in_so5lansol4erso3lic3solvebe5dra5ti5bube3lit3some_bend5ac4ticsbe5nigson5atbicen5son5orc4tentbi4ers5soriosor4its5orizc2t5eec3tato5bilesct5antc5ta5gctac5u5c4ruscrost4spast45thoug3b2ill3sperms5pero4thoptcre4to5creti3spher4t5hoocre4p3sp5id_s5pierspil4lcre3atsp3ingspi5nith3oli4creancra4tecras3tbimet55crani5bin4d3spons3spoonspru5dbind3ecous5t3co3trth4is_srep5ucost3aco5rolco3rels5sam24coreds5sengs3sent5th4ioss3er_s5seriss3ers3thinkt5hillbin5etcon4iecon4eyth3eryss4in_s4siness4is_s3s2itss4ivicon4chth3ernco3mo4co5masssol3ut5herds4soreth5erc5colouco3logco3inc4c3oidco3difco3dicsta3bic4lotrs4talebin5i4s3tas_theo3lc3lingbi3re4ste5arste5atbi5rusbisul54s1teds4tedls4tedn4stereth5eas3bituas3terost5est5blastcine5a4cinabs3ti3a3sticks3ticuthal3ms4tilyst3ing5s4tir5cimenth5al_st3lercigar5ci3estch5ousstone3bla5tu5blespblim3as4tose4chotis4tray4chosostrep33strucstru5dbment4tew3arch5oid5chlorstur4echizz4ch3innch4in_ch3ily3chicoche5va3chetech4erltetr5och4eriche3olcha3pa4boledbon4iesu5ingces5trcest5oce3remcer4bites5tusu3pinsupra3sur4ascept3a5testesur3pltest3aboni4ft3ess_bon4spcent4ab3oratbor5eebor5etbor5icter5nobor5iocen5cice4metce5lomter3itt4erinsy4chrcel3aice3darcci3d4ter5ifsy5photer5idcav3ilter3iabot3an3tablica3t2rta3bolta4bout4a3cete3reota3chyta4cidc4atom3casu35t2adjta5dor5terel3cas3scashi4tage5ota5gogca3roucar5oocar5oncar3olcar3nicar3ifter5ecca3reeter3ebta5lept4aliat4alin2tere45tallut2alo43ter3bt4eragtera4c3brachtan5atbran4db4reas5taneltan5iet5aniz4b2rescap3tica5piltent4atark5ican4trte5nog5brief5tennaca3noec2an4eta3stabring5t4ateu3tatist4ato_tat4ouca5nartat3uttau3tobri4osca5lefcal5ar4tenarcab5inb5ut5obut4ivten4ag3butiob5utinbu5tarte5cha5technbus5sibusi4ete5d2abur4rite5monb4ulosb5rist5tegicb5tletbro4mab4stacbso3lubsol3e4teledtel5izbscon4ct4ina", + 7 : "mor4atobstupe5buf5ferb5u5nattch5ettm3orat4call5inmor5talcan5tarcan5tedcan4tictar5ia_brev5ettant5anca3ra5ctand5er_ad4din5ta3mettam5arit4eratocar5ameboun5tital4l3atal5entmonolo4cas5tigta5chom3teres4ta5blemcaulk4iccent5rcces4sacel5ib5mpel5licel5lincen5ded5ternit4sweredswell5icend5encend5ersvest5isvers5acen5tedt5esses_ama5tem5perercen5testest5ertest5intest5orcep5ticmpet5itchan5gi5cherin4choredchor5olmphal5os5toratblem5atston4iecil5lin4mologu4mologss4tern_ster4iaci5nesscla5rifclemat45static4molog_5therapmogast4ssolu4b4theredcon4aticond5erconta5dcor5dedcord5ermpol5itcost5ercraft5ispon5gicra5niuspital5spic5ulspers5a4thorescret5orspens5ac5tariabi4fid_4sor3iecter4iab5ertinberga5mc5ticiabend5erso5metesoma5toctifi4esolv5erc5tin5o_an4on_ct4ivittici5ar3ti3cint4icityc5torisc5toriz4ticulecull5ercull5inbattle5cur5ialmmel5lislang5idal5lersk5iness5kiest4tific_daun5tede5cantdefor5edel5ler_an3ti34dem4issim4plyb4aniti_ant4icde4mons_an4t5osid5eri5timet4dens5er5ti5nadden5titdeposi4zin4c3i_aph5orshil5lider5minsfact5otin5tedtint5erde5scalmis4tindes5ponse5renedevol5u4tionemdiat5omti5plexseo5logsent5eemi5racu_ar4isedic5tat4scuras4scura__ar4isi5scopic3s4cope5t4istedi5vineti5t4ando5linesca5lendom5inodot4tins5atorydress5oaus4tedtiv5allsassem4dropho4duci5ansant5risan5garaun4dresan4ded_ar5sendust5erault5erdvoc5ataul5tedearth5iea4soni4ryngoleassem4eat5enieat4iturv5ers_rus4t5urus5ticrust5eeatric5urust5at_as5sibrup5licminth5oecad5enruncul5ru4moreecent5oa5tivizecon4sc_ateli4_au3g4uec5rean_aur4e5ect5atiec4t5usrtil5le4at4is__av5erar4theneedeter5edi4alsr5terered5icala4t1i4lediges4at5icizediv5idtori4asrswear4ati5citat5icisedu5cerrstrat4eer4ineefact5oming5li_ba5sicef5ereemin4ersath5eteath5eromin4er__be5r4ae5ignitr5salizmind5err5salisejudic44traistmil5iestrarch4tra5ven_blaz5o4m5iliee4lates_bos5omat5enatelch5errrin5getrend5irri4fy_rran5gie4lesteel3et3o_boun4d_bra5chtri5fli_burn5ieli4ers_ca4ginrou5sel_can5tamigh5tiros5tita5talisro5stattro4pharop4ineemarc5aem5atizemat5ole4m3eraron4tonro5nateem4icisnaffil4romant4emig5rarol5iteass5iblassa5giemon5ola4sonedem5orise4moticempara54empli_en3am3o_cen5sot5tereren4cileen4d5alen4dedlttitud45n4a3grend5ritrn5atine5nellee5nereor4mite_r4ming_en3ig3rmet5icirma5tocr4m3atinannot4en4tersen4tifyarp5ersent5rinr5kiesteol5ar_eologi4aro4mas_clem5eriv5eliri5vallris5ternan5teda5rishi3mesti4epolit5tup5lettup5lic_cop5roepres5erink5erme5si4aring5ie_co5terrim5an4equi5noment5or4tut4ivna5turiera4cierig5ant5rifugaar4donear5dinarif5tiear5chetrift5er4erati_4eratimrick4enrich5omrica5tuaran5teer5esteer5estieres5trre5termar4aged_dea5coaract4irest5erre5stalapu5lareri4ciduant5isuant5itres5ist5er5ickapo5strer4imet_de5lecuar4t5iua5terneri5staren4ter5ernaclmend5errem5atoreman4d_del5egerre5laer5sinere5galiert5er_ert5ersrec4t3rr4e1c2rreci5simelt5er_deli5ran4tone_de5nitan4tinges5idenesi5diur4d1an4rcriti4es3ol3urci5nogant5abludi4cinrch4ieru5dinisrch5ateu5ditiorch5ardes3per3mel5lerrcen5eres5piraanis5teesplen5uen4teres4s3anest5ifi_de5resues5trin4cept_rav5elianel5li4r4atom5ra5tolan4donirat4in_r4as5teand5istrass5in5meg2a1et3al5oand5eerrar5ia_an3d4atrant5inuicent55rantelran5teduild5erran4gennch5oloetell5irad4inencid5enra5culorac5ulaet3er3aet5eria3ra3binet5itivui5val5amphi5gam5peri_de5sirqua5tio4e4trala4mium_et5ressetrib5aaminos4am5inizamini4fp5u5tis5ulchrepush4ieev5eratev5eren4ulenciever4erpu5lar_puff5erevictu4evis5in_de5sisfall5inncip5ie_di4al_fend5erpros5trpropyl5proph5eul4l5ibp3roc3apris5inpring5imbival5nco5pat5pressiyllab5iulp5ingpre5matylin5dem4b3ingnct4ivife5veriffec4te_du4al_pprob5am5bererum4bar__echin5fi5anceal5tatipparat5pout5ern4curviumi5liaumin4aru4minedu4m3ingpoult5epor5tieal4orim4poratopon4i4eflo5rical4lish_ed4it_foment4_ed4itialli5anplum4befor4m3a_el3ev3fratch4pla5t4oma5turem4atizafrost5ipis5tilmat4itifuel5ligal5lerpill5ingang5ergariz4aunho5lial5ipotgass5inph5oriz4phonedgest5atg5gererphant5ipha5gedgiv5en_5glass_unk5eripet5allal5endepes5tilpert5isper5tinper4os_al5ance5p4er3nperem5indeleg4gna5turndepre4aint5eruodent4pend5er4gogram_en4dedpearl5indes5crgth5enimas4tinpat4richad4inepas4tinnd5is4ihak4inehal5anthan4crohar5dieha5rismhar4tedaet4or_aerody5pag4atihaught5_er5em5hearch44urantiheav5enurb5ingoxic5olowhith4ur5den_ur5deniowel5lih5erettovid5ennd5ism_her5ialh5erineout5ishoun5ginound5elhet4tedact5oryu5ri5cuheumat5ur5ifieact5ileought5ihi3c4anuri4os_h4i4ersh4manicurl5ingact5atemast4ichnocen5_men5taaci4erso5thermmar4shimantel5ot5estaurpen5tach5isma5chinihol4is_ot4atioot4anico5talito5stome5acanthost5icaosten5tost5ageh4op4te3house3hras5eoy4chosen5ectom4abolicht5eneror5tes_man4icay5chedei5a4g5oori5cidialect4or5este_escal5iatur4aorator5_wine5s_vo5lutich5ingo5quial_etern5us5ticiic4tedloplast4ophy5laid4ines4operag2i4d1itoost5eriff5leronvo5lui4ficaconti5fiman5dar_vic5to_fal4lemament4mal4is__ver4ieila5telonical4i5later_feoff5ili4arl_va5ledil4ificond5ent_ur5eth5ond5arut4toneil5ine_on5ativonast5i_under5ompt5eromot5ivi4matedi4matin_fi5liaimpar5a_fil5tro5lunte4inalit_tular5olon5el5neringinator5_tro4ph_fis4c5inc4tua_trin4aol4lopeoli4f3eol5ies_mal5ari_tran4c_tit4isnerv5inval4iseol5icizinfilt5olat5erin4itud_gam5etxter4m3ink4inein4sch5_tell5evas5el5insect5insec5uinsolv5int5essvat4inaoher4erint5res_tamar5xtens5o_tact4iinvol5ui4omani_gen4et_gen5iave5linei5pheriip5torivel5lerir4alinvel5opiir4alliirassi4nfortu5irl5ingirwo4meo4ducts4lut5arv5en5ue_stat4o_si5gnoverde5v4v4ere4o4duct_odu5cerodis5iaocus5siis5onerist5encxotrop4_ser4ie5vialitist5entochro4n_gnost4_sec5tovi5cariocess4iis4t3iclum4brio5calli4is4tom4itioneit5ress3vili4av5ilisev5ilizevil5linoast5eritu4als_han4de_hast5ii4vers__sa5linlsi4fiai5vilit5ivist_5ivistsnvoc5at_ho5rol_rol4lakinema4ni4cul4nultim5_re5strloth4ie5la5collos5sienight5ilor4ife_re5spolor5iatntup5li5lo5pen_re5sen_res5ci_re5linnt5ressn4trant_re5garloom5erxhort4a_ran5gilong5invol4ubi_ra5cem_put4ten5tition4tiparlo4cus__pos5si_lash4e_len5tint5ing_nit5res_le5vanxecut5o_plica4n4tify__plast45latini_phon4illow5er_li4onslligat4_peri5nntic4u4_pen5dewall5ern5ticizwan5gliwank5erwar5dedward5ern5ticisnth5ine_lo4giawar5thinmater4_pec3t4_pa4tiowav4ine_lous5i_para5t_par5af_lov5ernmor5ti_orner4nt5ativ_or5che_ma5lin_mar5ti_or4at4le5ation5tasiswel4izint4ariun4t3antntan5eon4t3ancleav5erl3eb5rannel5li_nucle5_no5ticlem5enclen5darwill5in_ni5tronsec4tewing5er4lentio5l4eriannerv5a_nas5tinres5tr5le5tu5lev5itano5blemnovel5el3ic3onwol5ver_mor5tilift5erlight5ilimet4e_mo5lec5lin3ealin4er_lin4erslin4gern5ocula_min5uenobser4_met4er_me5rin_me5ridmas4ted", + 8 : "_musi5cobserv5anwith5erilect5icaweight5ica5laman_mal5ad5l5di5nestast5i4cntend5enntern5alnter5nat_perse5c_pe5titi_phe5nomxe5cutio5latiliz_librar5nt5ilati_les5son_po5lite_ac5tiva5latilisnis5tersnis5ter_tamorph5_pro5batvo5litiolan5tine_ref5eremophil5ila5melli_re5statca3r4i3c5lamandrcen5ter_5visecti5numentanvers5aniver5saliv5eling_salt5ercen5ters_ha5bilio4c5ativlunch5eois5terer_sev5era_glor5io_stra5tocham5perstor5ianstil5ler_ge5neti_sulph5a_tac5ticnform5eroin4t5erneuma5to_te5ra5tma5chinecine5mat_tri5bal_fran5ch_tri5sti_fi5n4it_troph5o_fin5essimparad5stant5iv_vent5il4o5nomicssor5ialight5ersight5er__evol5utm5ament_ont5ane_icotyle5orest5atiab5oliziab5olismod5ifiehrill5inothalam5oth5erinnduct5ivrth5ing_otherm5a5ot5inizov5elinghav5ersipass5ivessent5ermater5n4ain5dersuo5tatiopens5atipercent5slav5eriplant5er5sing5erfortu5naplumb5erpo5lemicpound5erffranch5ppress5oa5lumnia_domest5pref5ereprel5atea5marinepre5scina5m4aticpring5ertil4l5agmmand5er5sid5u4a_de5spoievol5utee5tometeetend5erting5ingmed5icatran5dishm5ed5ieset5allis_de5servsh5inessmlo5cutiuest5ratncent5rincarn5atdes5ignareact5ivr5ebratereced5ennbarric5sen5sorier5nalisuar5tersre4t4er3_custom5naugh5tirill5er_sen5sati5scripti_cotyle5e4p5rob5a5ri5netaun5chierin4t5errip5lica_art5icl5at5ressepend5entu4al5lir5ma5tolttitu5di_cent5ria5torianena5ture5na5geri_cas5ualromolec5elom5ateatitud5i_ca5pituround5ernac5tiva_at5omizrpass5intomat5oltrifu5gae4l3ica4rpret5erel5ativetrav5esttra5versat5ernisat5ernizefor5estath5erinef5initeto5talizto5talis_barri5c_authen5mass5ing", + 9 : "_bap5tismna5cious_econstit5na5ciousl_at5omisena5culari_cen5tena_clima5toepe5titionar5tisti_cri5ticirill5ingserpent5inrcen5tenaest5igati_de5scrib_de5signe_determ5ifals5ifiefan5tasizplas5ticiundeter5msmu5tatiopa5triciaosclero5s_fec5unda_ulti5matindeterm5ipart5ite_string5i5lutionizltramont5_re5storeter5iorit_invest5imonolog5introl5ler_lam5enta_po5sitio_para5dis_ora5tori_me5lodio" + } +}; \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/patterns/en-us.js b/alt-implementations/readifry-master/hyphenator/patterns/en-us.js new file mode 100644 index 0000000..714a7e1 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/patterns/en-us.js @@ -0,0 +1,19 @@ +// The en-US hyphenation patterns are retrieved from +// http://tug_org/svn/texhyphen/trunk/collaboration/repository/hyphenator/ +Hyphenator.languages['en-us'] = Hyphenator.languages['en'] = { + leftmin : 2, + rightmin : 3, + specialChars : "", + patterns : { + 3 : "x1qei2e1je1f1to2tlou2w3c1tue1q4tvtw41tyo1q4tz4tcd2yd1wd1v1du1ta4eu1pas4y1droo2d1psw24sv1dod1m1fad1j1su4fdo2n4fh1fi4fm4fn1fopd42ft3fu1fy1ga2sss1ru5jd5cd1bg3bgd44uk2ok1cyo5jgl2g1m4pf4pg1gog3p1gr1soc1qgs2oi2g3w1gysk21coc5nh1bck1h1fh1h4hk1zo1ci4zms2hh1w2ch5zl2idc3c2us2igi3hi3j4ik1cab1vsa22btr1w4bp2io2ipu3u4irbk4b1j1va2ze2bf4oar1p4nz4zbi1u2iv4iy5ja1jeza1y1wk1bk3fkh4k1ikk4k1lk1mk5tk1w2ldr1mn1t2lfr1lr3j4ljl1l2lm2lp4ltn1rrh4v4yn1q1ly1maw1brg2r1fwi24ao2mhw4kr1cw5p4mkm1m1mo4wtwy4x1ar1ba2nn5mx1ex1h4mtx3i1muqu2p3wx3o4mwa1jx3p1naai2x1ua2fxx4y1ba2dn1jy1cn3fpr2y1dy1i", + 4 : "4dryn2itni4on1inn1im_up3nik4ni4dy5giye4tyes4_ye44ab_nhe4nha4abe2n2gyn1guy1ery5eep2pe4abry3lay3lone4wne4v1nesy3chn1erne2q3neo1nenp2seps4hy2cey5lu2nedne2cyme44nk2y5at2adine2b2ne_y5ac2p1tp2ten1den1cun1cryn5dp2th4adup4twpub3ae4rxu3ayn5gaff4pue4n2au4p1ppuf4n2atag1ipu4mag1na2gon4asx3tix1t2pu2na4gya3haa3heah4la3ho_ti2a5ian2an5puspu2tnak4_th2n1kl_te4_ta4mu4u4mupmun23mum2alex4ob_sy25ynxal1i_st4y1o4xi5cxi5a4alm_si2_sh2m5sixhu4m4sh4m3r4amam2py2rabm2pixhi2yo5dr2ai4m1pmo2vmos2x2edmo2r4n1la2mor2asx3c2xas5yom4x4apxam3nme44mokrbi2nne44andy4osp4ot3noemn4omn4a4m1n4nog4m1l2angws4l1posw3shwri4wra4yp3iwom11wo2m2izrb4ow4nopo4pr2cem2isrd2iano4mig4y3pomi3awiz55mi_no4n4m1fme4v2re_wir42mes1menme2mme2gre1o2med4me_4nop4m5c4m1bwil21noureu2whi4w3ev4maprev2w1era2plpo4crfu4r4fyy5pu2maha3pu2mab2a2rn1p4npi44lyb4lya2p3nwam42l1w1lut4luplu3or1glluf4lu5a2wacltu2y3rol1tr4vv4r3guyr4rl1te4rh_nru4ar1il2sel4sc4l1rl5prl4plys4c4lovri3ar4ib4lof3lo_ar2par3q_os3ll4oll2i4as_ri1o3vokl2levoi44p1mlka35vo_ns4cas4ll1izr4iqr2is3vivl1it3lika2tan2sen2slrle42l3hlgo3l5gal5frns3mvi4p3ley_od2r2meles24athr4myle2al3drv1inldi4l2de2vilnt2il3civik4lce42l1b4lavv3ifrno4r3nua1trr2ocnt4sy4sok4syks4la2tuk4sck3ouko5ryss4a2tyau4b4klyys1tnu1akis4au3rki4pro4ek4ima2va5ki_nu4dn4umn3uokes4k1erav1irok2ke4g1keek2ed_me2aw3ikal4aws4k5agk3ab3ka_aye4ays4veg3jo4p5ba_4vedjew3n1v24ve_ja4pzar23vatizi4n1w41batba4z2b1bb2beix4o4i5w4b1d4be_rox5nym4nyp4n3za4ittr3por1r4i1ti1bel2ith2itei2su4rs2r1sars4cr2seis1p3betvag4i2sor1shbe3wr1sioad34b3hbi2bbi4d3bie3isf4ise2is_1bilr1sp5va_r5sw_le2uz4eir1ibi2tuxu3r1tiu1v2i1raze4nze4pb2l2uu4mo1biip3iz1eripe4b4louts44b1m4b3no3br3bodi4osbo4eru3aio4mi1ol4io_3booo1ce4inyin1u2insru2n2inn4inl4inkrv4e2inioch42iner3vo4indpi2np4idbt4lb4tob3trry4cry3t2in_o4elbu4ni2muim1i5saiil3v4ilnil1iil5fs1apo3er4b5w5by_bys4_in1sau4i1lazet4u2suo3ev2z1ii2go4igius1p5saw4s5bo2fi4ifti3fl4if_i3etsch2usc22ie4i2dui4dri2diid5dpi3au3ruz4ils1cuz4is4s5d4se_se4a2ce_2ici4ich3ceii1bri5bo1ceni1blse2g5seiibe43cepi2aniam4ur2li2al2i1acet4hy2scew41phy4ch_5phuhu4thu4gche2h4tyh4shur1durc44hr44h5p5sev5sexu1ra4s3fup3p2s3gph3t2sh_ho4g2h1n_he23ciau3pl4h1mci5ch2lozo4m4ciihi2vhi4p2cim2cin4phsu1peu1ouo1geu5osheu4sho4he4th1es4shwun5zun5ysi1bunu45cizo4glck3ihep5he2nh4ed1sioph2l5hazsi2rcly4zte4_ge21siscoe22cog5siu1siv5siz_ga24skes1l2s2leha4m2s1ms3ma1ogyo1h2u1ni3gus3gun2guegu4acov1gth3_eu3g4ros1n4_es3u2nez4zyum2pu1mi3som_ev2oig4cri2gov15goos4opgon2ul5v5goeu3lugob53go_2c1t4ph_g1nog1nic2te4sov4ulsgn4ag4myc4twcud5c4ufc4uipe2t3glo1gleul2igla4_eg23giz3cun5givgi4u3gir5gio1cusul4e2spagil4g1ic5gi__eb4cze41d2a5da_u1laggo44daf2dagg2gege4v1geo1gen2ged3dato1la2ge_ol2dol2i5daypek4p4eed1d42de_4gazol2tuiv3ol2vo2lys1sa2gamgaf4o2meui4n2ui2pe2cd4em4fugi4jku3fl3ufaf2tyf4to1denu4du4pe_2f3sfri2de1ps1si4f5pfos5d3eqs4sls4snfo2rss2tdes25fon4p1b_ci23payss5w2st_de1tf4l2de1v2fin4dey4d1fd4gast2idg1id2gyd1h25di_ud5dfi3au4cy_ch4pav43didu3cud1iff2fyu3crd1inst4r4f1ffev4fer11dio2fedfe4bdir2s2ty4fe_dis1on1au3ca4f5bon1c2ondd5k25far4fagpa1peys45eyc1exps4ul2dlyp4ale3whon3s3do_e1wa5doee5vud4oge1visu2msu2nub4euav4su2rp4ai6rk_d4or3dosu1atdo4v3doxp4adoo4k4swoo2padre4eus4e3upe5un2ophet5z4syc3syl4y3hoy1ads4pd4swd4syd2tho4wo3ta_du2c4etn2tabta2luac4es4wdu4g2ess4uabdu4n4duptav4st5bow1io1pr5dyn2tawe1sp2t1bop1uead1tz4et4chopy5ea4l4t1d4te_2tyle1si4esh1tee4tyat1cr4twoteg4es2c4eru1teoer1s2eroea2tte4po1rat1wh3tusea2v3teu3texer1i2e1ber1h4tey2t1f4t1ge3br2th_th2e4thle1ce3tumec2i2ths2erb1tia4tueer1aou5vtud2tif22tige1potu1aou4lttu41timt5toos4le1cre2pat4swe5owe1cue4ottsh4eos4e1ort4sce3ol4edieo2ge5of1tio4eno4enn5tiq4edoti4u1tive3my1tiz4othee2ct5laee2ft5lo4t1mee2mtme4e1meem5bcoi4to3be5exo1ry2tof1effel2iel2ftos24t1pe1la1traos2ceig2ei5de5ico2soe1h45egyeg5n", + 5 : "_ach4e4go_e4goseg1ule5gurtre5feg4iceher4eg5ibeger44egaltre4mei5gle3imbe3infe1ingtra3beir4deit3eei3the5ity5triae4jud3efiteki4nek4la2trime4la_e4lactri4v4toute4law5toure3leaefil45elece4ledto2rae5len4tonye1lestro3ve4fic4tonoto3mytom4bto2mato5ice5limto2gre3lioe2listru5i4todo4ellaee4tyello4e5locel5ogeest4el2shel4tae5ludel5uge4mace4mage5man2t1n2ee2s4ee4p1e2mele4metee4naemi4eee4lyeel3i3tled3tle_e4mistlan4eed3iem3iztrus4emo4gti3zaem3pie4mule4dulemu3ne4dritiv4aedon2e4dolti3tle5neae5neeen3emtis4pti5sotis4m3tisee3newti3sae5niee5nile3nioedi5zen3ite5niu5enized1ited3imeno4ge4nosen3oven4swti5oc4t1s2en3uaen5ufe3ny_4en3zed3ibe3diae4oi4ede4s3tini4ed3deo3ret2ina2e2dae4culeo4toe5outec4te4t3t2t4tes2t1ine5pel4timpe2corephe4e4plie2col5tigutu3arti5fytu4bie3pro3tienep4sh5tidie4putt4icoeci4t4tick2ti2bec3imera4bti4aber3ar4tuf45tu3ier4bler3che4cib2ere_4thooecca54thil3thet4thea3turethan4e4cade4bitere4qe4ben5turieret4tur5oeav5oeav5itu5ry4tess4tes_ter5ve1rio4eriter4iueri4v1terier3m4ter3cte5pe4t1waer3noeast3er5obe5rocero4rer1oue3assea5sp1tent4ertler3twtwis4eru4t3tende1s4a3tenc5telsear2te2scateli4e3scres5cue1s2ee2sec3tel_te5giear5kear4cte5diear3ae3sha2t1ede5ande2sice2sid5tecttece44teattype3ty5phesi4uea4gees4mie2sole3acte2sone1a4bdys5pdy4sedu4petaun4d3uleta5sytas4e4tare4tarctar4ata5pl2estrta5mo4talke2surtal3idu5eleta4bta5lae3teoua5naet1ic4taf4etin4ta5doe5tir4taciuan4id1ucad1u1ae3trae3tre2d1s2syn5ouar2d4drowet3uaet5ymdro4pdril4dri4b5dreneu3rouar3ieute44draieu5truar3te2vasdop4pe5veadoo3ddoni4u4belsum3iev1erdoli4do4laev3idevi4le4vinevi4ve5voc2d5ofdo5dee4wage5wee4d1n4ewil54d5lue3wit2d3lou3ber5eye_u1b4i3dledfa3blfab3rfa4ce3dle_fain4suit3su5issu2g34d5lasu4b3fa3tasu1al4fato1di1vd2iti5disiuci4bfeas4di1redi4pl4feca5fectdio5gfe3life4mofen2d4st3wuc4it5ferr5diniucle3f4fesf4fie4stry1dinaf4flydi3ge3dictd4icedia5bs4tops1tle5stirs3tifs4ties1ticfic4is5tias4ti_4ficsfi3cuud3ers3thefil5iste2w4filyudev45finas4tedfi2nes2talfin4ns2tagde2tode4suflin4u1dicf2ly5ud5isu5ditde1scd2es_der5sfon4tu4don5dermss4lid4erhfor4is4siede2pudepi4fra4tf5reade3pade3nufril4frol5ud4side3nou4eneuens4ug5infu5el5dem_s5setfu5nefu3rifusi4fus4s4futade5lode5if4dee_5gal_3galiga3lo2d1eds3selg5amos2s5cssas3u1ing4ganouir4mgass4gath3uita4deaf5dav5e5dav44dato4darygeez44spotspor4s4pon4gelydark5s4ply4spio4geno4genydard5ge3omg4ery5gesigeth54getoge4tydan3g4g1g2da2m2g3gergglu5dach4gh3inspil4gh4to4cutr1gi4agia5rula5bspho5g4icogien5s2pheulch42sperspa4n5spai3c4utu1lenul4gigir4lg3islcu5pycu3picu4mic3umecu2maso5vi5glasu5liagli4bg3lig5culiglo3r4ul3mctu4ru1l4og4na_c3terul1tig2ning4nio4ultug4noncta4b4c3s2cru4dul5ulsor5dgo3isum5absor5ccris4go3nic4rinson4gsona45gos_cri5fcre4vum4bi5credg4raigran25solvsoft3so4ceunat44graygre4nco5zi4gritcoz5egruf4cow5ag5stecove4cos4es5menun4ersmel44corbco4pl4gu4tco3pacon5tsman3gy5racon3ghach4hae4mhae4th5aguha3lac4onecon4aun4ims3latu2ninhan4gs3ket5colocol5ihan4kuni3vhap3lhap5ttras4co4grhar2dco5agsir5aclim45sionhas5shaun44clichaz3acle4m1head3hearun3s4s3ingun4sws2ina2s1in4silysil4eh5elohem4p4clarhena45sidiheo5r1c4l4h4eras5icc2c1itu4orsh3ernshor4h3eryci3phshon34cipecion45cinoc1ingc4inahi5anhi4cohigh5h4il2shiv5h4ina3ship3cilihir4lhi3rohir4phir4rsh3iohis4ssh1inci4lau5pia4h1l4hlan44cier5shevcia5rhmet4ch4tish1erh5ods3cho2hoge4chi2z3chitho4mahome3hon4aho5ny3hoodhoon45chiouptu44ura_ho5ruhos4esew4ihos1p1housu4ragses5tu4rasur4behree5se5shs1e4s4h1s24chedh4tarht1enht5esur4fru3rifser4os4erlhun4tsen5gur1inu3riosen4dhy3pehy3phu1ritces5tur3iz4cesa4sencur4no4iancian3i4semeia5peiass45selv5selfi4atu3centse1le4ceniib5iaib3inseg3ruros43cencib3li3cell5cel_s5edli5bun4icam5icap4icar4s4ed3secticas5i4cayiccu44iceour4pe4ced_i5cidsea5wi2cipseas4i4clyur4pi4i1cr5icrai4cryic4teictu2ccon4urti4ic4umic5uoi3curcci4ai4daiccha5ca4thscof4ide4s4casys4cliscle5i5dieid3ios4choid1itid5iui3dlei4domid3owu5sadu5sanid5uous4apied4ecany4ield3s4cesien4ei5enn4sceii1er_i3esci1estus3ciuse5as4cedscav5if4frsca4pi3fieu5siau3siccan4eiga5bcan5d4calous5sli3gibig3ilig3inig3iti4g4lus1trig3orig5oti5greigu5iig1ur2c5ah4i5i44cag4cach4ca1blusur4sat3usa5tab5utoi3legil1erilev4uta4b4butail3iail2ibil3io3sanc2ilitil2izsal4t5bustil3oqil4tyil5uru3tati4magsa5losal4m4ute_4imetbu3res3act5sack2s1ab4imitim4nii3mon4utelbumi4bu3libu4ga4inav4utenbsor42b5s2u4tis4briti3neervi4vr3vic4inga4inger3vey4ingir3ven4ingo4inguu4t1li5ni_i4niain3ioin1isbo4tor5uscrunk5both5b5ota5bos42i1no5boriino4si4not5borein3seru3in2int_ru4glbor5di5nusut5of5bor_uto5gioge4io2grbon4au5tonru3enu4touion3iio5phior3ibod3iio5thi5otiio4toi4ourbne5gb3lisrt4shblen4ip4icr3triip3uli3quar4tivr3tigrti4db4le_b5itzira4bi4racird5ert5ibi4refbi3tri4resir5gibi5ourte5oir4isr3tebr4tagbin4diro4gvac3uir5ul2b3ifis5agis3arisas52is1cis3chbi4eris3erbi5enrson3be5yor5shais3ibisi4di5sisbe3tw4is4krs3es4ismsbe5trr3secva4geis2piis4py4is1sbe3sp4bes4be5nuval5ois1teis1tirrys4rros44be5mis5us4ita_rron4i4tagrri4vi3tani3tatbe3lorri4or4reoit4esbe1libe5gu4itiarre4frre4cbe3giit3igbe3dii2tim2itio4itisrp4h4r3pet4itonr4peait5rybe3debe3dai5tudit3ul4itz_4be2dbeat3beak4ro4varo4tyros4sro5roiv5ioiv1itror3i5root1roomval1ub3berva5mo4izarva5piron4eban3ijac4qban4ebal1ajer5srom4prom4iba4geazz5i5judgay5alax4idax4ickais4aw4ly3awaya1vorav5ocav3igke5liv3el_ve4lov4elyro1feke4tyv4erdv4e2sa5vanav3ag5k2ick4illkilo5au1thk4in_4ves_ro3crkin4gve4teaun5dk5ishau4l2au3gu4kleyaugh3ve4tyk5nes1k2noat3ulkosh4at5uekro5n4k1s2at5uaat4that5te5vianat4sk5vidil4abolaci4l4adela3dylag4nlam3o3landrob3la4tosr4noular4glar3ilas4ea4topr3nivr3nita2tomr5nica4toglbin44l1c2vi5gnat3ifat1ica5tiar3neyr5net4ati_ld5isat4hol4driv2incle4bileft55leg_5leggr4nerr3nel4len_3lencr4nar1lentle3phle4prvin5dler4e3lergr3mitl4eroat5evr4mio5lesq3lessr3menl3eva4vingrma5cvio3lvi1ou4leyevi5rovi3so4l1g4vi3sulgar3l4gesate5cat5apli4agli2amr3lo4li4asr4lisli5bir4ligr2led4lics4vitil4icul3icyl3idaat5ac3lidirk4lel4iffli4flr3ket3lighvit3r4vityriv3iri2tulim3ili4moris4pl4inar3ishris4clin3ir4is_li5og4l4iqlis4pas1trl2it_as4shas5phri2pla4socask3ia3sicl3kallka4ta3sibl4lawashi4l5leal3lecl3legl3lel5riphas4abar2shrin4grin4ear4sarin4dr2inal5lowarre4l5met3rimol4modlmon42l1n2a3roorim5ilo4civo4la5rigil5ogo3loguri5et5longlon4iri1erlood5r4icolop3il3opmlora44ricir4icerib3a5los_v5oleri4agria4blos4tlo4taar2mi2loutar2izar3iolpa5bl3phal5phi4rhall3pit5voltar4im3volv2l1s2vom5ivori4l4siear4fllt5agar4fivo4rylten4vo4talth3ia3reeltis4ar4drw5ablrgo4naraw4lu3brluch4lu3cilu3enwag5olu5idlu4ma5lumia5raur5gitwait5luo3rw5al_luss4r5gisar4atl5venrgi4nara3pwar4tar3alwas4tly5mely3no2lys4l5ysewa1teaque5ma2car3gicma4clr3get5magnwed4nmaid54maldrg3erweet3wee5vwel4lapoc5re4whwest3ap3in4aphires2tr4es_mar3vre5rumas4emas1t5matemath3rero4r4eriap5atr1er4m5bilre1pumbi4vapar4a5nuran3ul4med_an3uare5lure1lian4twre5itmel4tan2trre4fy4antomen4are3fire2fe4menemen4imens4re1de3ment2r2edme5onre4awwin4g5reavme4tare3anme1tere1alm4etr3wiserdin4rdi4aan4stwith3an2span4snan2samid4amid4gan5otwl4esr4dalm4illmin4a3mindrcum3rc4itr3charcen4min4tm4inumiot4wl3ina3niumis5lan3ita3nip4mithan3ioan1gla3neuws4per2bina3nena5neem4ninw5s4tan1dl4mocrrbi4fmo2d1mo4gomois2xac5ex4agor4bagmo3mer4baba3narrau4ta5monrare4rar5cra5nor4aniam1inr2amiam5ifra4lomo3spmoth3m5ouf3mousam3icxer4ixe5roraf4tr5aclm3petra3bixhil5mpi4aam3ag3quetm5pirmp5is3quer2que_qua5vmpov5mp4tram5ab3alyz4m1s25alyt4alysa4ly_ali4exi5di5multx4ime4aldia4laral3adal5abak1enain5opu3trn4abu4nac_na4can5act5putexpe3dna4lia4i4n4naltai5lya3ic_pur4rag5ulnank4nar3c4narenar3inar4ln5arm3agognas4c4ag4l4ageupul3cage4oaga4na4gab3nautnav4e4n1b4ncar5ad5umn3chaa3ducptu4rpti3mnc1innc4itad4suad3owad4len4dain5dana5diua3ditndi4ba3dion1ditn3dizn5ducndu4rnd2we3yar4n3eara3dianeb3uac4um5neckac3ulp4siba3cio5negene4laac1inne5mine4moa3cie4nene4a2cine4poyc5erac1er2p1s2pro1tn2erepro3lner4rych4e2nes_4nesp2nest4neswpri4sycom4n5evea4carab3uln4gabn3gelpre3vpre3rycot4ng5han3gibng1inn5gitn4glangov4ng5shabi5an4gumy4erf4n1h4a5bannhab3a5bal3n4iani3anni4apni3bani4bl_us5ani5dini4erni2fip3petn5igr_ure3_un3up3per_un5op3pennin4g_un5k5nis_p5pel_un1en4ithp4ped_un1ani3tr_to4pympa3_til4n3ketnk3inyn5ic_se2ny4o5gy4onsnmet44n1n2_ru4d5pounnni4vnob4lpo4tan5ocly4ped_ro4qyper5noge4pos1s_ri4gpo4ry1p4or_res2no4mono3my_ree2po4ninon5ipoin2y4poc5po4gpo5em5pod_4noscnos4enos5tno5tayp2ta3noun_ra4cnowl3_pi2tyra5m_pi4eyr5ia_out3_oth32n1s2ns5ab_or3t_or1d_or3cplu4mnsid1nsig4y3s2eys3ion4socns4pen5spiploi4_odd5nta4bpli4n_ni4cn5tib4plignti2fpli3a3plannti4p1p2l23ysis2p3k2ys3ta_mis1nu5enpi2tun3uinp3ithysur4nu1men5umi3nu4nyt3icnu3trz5a2b_li4t_li3o_li2n_li4g_lev1_lep5_len4pion4oard3oas4e3pi1ooat5ip4inoo5barobe4l_la4mo2binpind4_ju3rob3ul_is4i_ir5rp4in_ocif3o4cil_in3so4codpi3lopi3enocre33piec5pidipi3dep5ida_in2kod3icodi3oo2do4odor3pi4cypian4_ine2o5engze3rooe4ta_im3m_id4l_hov5_hi3b_het3_hes3_go4r_gi4bpho4ro5geoo4gero3gie3phobog3it_gi5azo5ol3phizo4groogu5i4z1z22ogyn_fes3ohab5_eye55phieph1icoiff4_en3sph4ero3ing_en3go5ism_to2qans3v_el5d_eer4bbi4to3kenok5iebio5mo4lanper1v4chs_old1eol3erpe5ruo3letol4fi_du4co3liaper3op4ernp4erio5lilpe5ono5liop4encpe4la_do4tpee4do5livcin2q3pediolo4rol5pld3tabol3ub3pedeol3uno5lusedg1le1loaom5ahoma5l2p2edom2beom4bl_de3o3fich3pe4ao4met_co4ro3mia_co3ek3shao5midom1inll1fll3teapa2teo4monom3pi3pare_ca4tlue1pon4aco3nanm2an_pa4pum2en_on5doo3nenng1hoon4guon1ico3nioon1iso5niupa3nypan4ao3nou_bri2pain4ra1oronsu4rk1hopac4tpa4ceon5umonva5_ber4ood5eood5i6rks_oop3io3ordoost5rz1scope5dop1erpa4ca_ba4g_awn4_av4i_au1down5io3pito5pon1sync_as1s_as1p_as3ctch1c_ar5so5ra_ow3elo3visov4enore5auea1mor3eioun2d_ant4orew4or4guou5etou3blo5rilor1ino1rio_ang4o3riuor2miorn2eo5rofoto5sor5pe3orrhor4seo3tisorst4o3tif_an5cor4tyo5rum_al3tos3al_af1tos4ceo4teso4tano5scros2taos4poos4paz2z3wosi4ue3pai", + 6 : "os3ityos3itoz3ian_os4i4ey1stroos5tilos5titxquis3_am5atot3er_ot5erso3scopor3thyweek1noth3i4ot3ic_ot5icao3ticeor3thiors5enor3ougor3ityor3icaouch5i4o5ria_ani5mv1ativore5sho5realus2er__an3teover3sov4erttot3icoviti4o5v4olow3dero4r3agow5esto4posiop3ingo5phero5phanthy3sc3operaontif5on3t4ionten45paganp3agattele2gonspi4on3omyon4odipan3elpan4tyon3keyon5est3oncil_ar4tyswimm6par5diompro5par5elp4a4ripar4isomo4gepa5terst5scrpa5thy_atom5sta1tio5miniom3icaom3ic_ss3hatsky1scpear4lom3ena_ba5naol3umer1veilpedia4ped4icolli4er1treuo5liteol3ishpeli4epe4nano5lis_pen4thol3ingp4era_r1thoup4erago3li4f_bas4er1krauperme5ol5id_o3liceper3tio3lescolass4oi3terpe5tenpe5tiz_be5raoi5son_be3smphar5iphe3nooi5letph4es_oi3deroic3esph5ingr3ial_3ognizo5g2ly1o1gis3phone5phonio5geneo4gatora3mour2amenofit4tof5itera3chupi4ciepoly1eod5dedo5cureoc3ula1pole_5ocritpee2v1param4oc3raco4clamo3chetob5ingob3a3boast5eoke1st3nu3itpi5thanuf4fentu3meoerst2o3chasplas5tn3tinepli5ernti4ernter3sntre1pn4s3esplum4bnsati4npre4cns4moonon1eqnor5abpo3et5n5lessn5oniz5pointpoly5tnon4agnk3rup3nomicng1sprno5l4inois5i4n3o2dno3blenni3aln5keroppa5ran3itor3nitionis4ta5nine_ni3miznd3thrmu2dron3geripray4e5precipre5copre3emm3ma1bpre4lan5gerep3rese3press_can5cmedi2c5pri4e_ce4la3neticpris3op3rocal3chain4er5ipros3en4erarnera5bnel5iz_cit5rne4gatn5d2ifpt5a4bjanu3aign4itn3chisn5chiln5cheon4ces_nau3seid4iosna3talnas5tinan4itnanci4na5mitna5liahnau3zput3er2n1a2bhex2a3hatch1multi3hair1sm4pousg1utanmpo3rim4p1inmp5iesmphas4rach4empar5iraf5figriev1mpara5mo5seyram3et4mora_rane5oran4gemo3ny_monol4rap3er3raphymo3nizgno5morar5ef4raril1g2nacg1leadmoni3ara5vairav3elra5ziemon5gemon5etght1wemoi5sege3o1dmma5ryr5bine3fluoren1dixmis4ti_de3ra_de3rie3chasrch4err4ci4bm4inglm5ineedu2al_3miliame3tryrdi4er_des4crd3ingdi2rerme5thimet3alre5arr3mestim5ersadi2rende2ticdes3icre4cremen4temensu5re3disred5itre4facmen4dede2mosmen5acmem1o3reg3ismel5onm5e5dyme3died2d5ibren4te5mediare5pindd5a5bdata1bmba4t5cle4arma3tisma5scemar4lyre4spichs3huma5riz_dumb5re3strre4terbrus4qre3tribio1rhre5utiman3izre4valrev3elbi1orbbe2vie_eas3ire5vilba1thyman5is5maniamal4tymal4lima5linma3ligmag5inav3ioul5vet4rg3inglus3teanti1dl5umn_ltur3a_el3emltera4ltane5lp5ingloun5dans5gra2cabllos5etlor5ouric5aslo5rie_enam35ricidri4cie5lope_rid5erri3encri3ent_semi5lom3errig5an3logicril3iz5rimanlob5allm3ingrim4pell5out5rina__er4ril5linal2lin4l3le4tl3le4nriph5eliv3er_ge5og_han5k_hi3er_hon3olin3ea1l4inel4im4p_idol3_in3ci_la4cy_lath5rit3iclim4blrit5urriv5elriv3et4l4i4lli4gra_leg5elif3errk4linlid5er4lict_li4cor5licioli4atorl5ish_lig5a_mal5o_man5a_mer3c5less_rm5ersrm3ingy3thinle5sco3l4erilera5b5lene__mon3ele4matld4erild4erela4v4ar1nis44lativ_mo3rola5tanlan4telan5etlan4dllab3ic_mu5takin4dek3est_ro5filk3en4dro5ker5role__of5te4jestyys3icaron4al5izont_os4tlron4tai4v3ot_pe5tero3pelrop3ici5voreiv5il__pio5n_pre3mro4the_ran4tiv3en_rov5eliv3ellit3uati4tramr5pentrp5er__rit5ui4tismrp3ingit5ill_ros5tit3ica4i2tici5terirre4stit3era4ita5mita4bi_row5dist4lyis4ta_is4sesrsa5tiissen4is4sal_sci3erse4crrs5er_islan4rse5v2yo5netish5opis3honr4si4bis5han5iron_ir4minrtach4_self5iri3turten4diri5dei4rel4ire4de_sell5r4tieriq3uidrtil3irtil4lr4tilyr4tistiq5uefip4re4_sing4_ting4yn3chrru3e4lion3at2in4th_tin5krum3pli4no4cin3ityrun4ty_ton4aruti5nymbol5rvel4i_top5irv5er_r5vestin5geni5ness_tou5s_un3cein3cerincel45ryngei4n3auim3ulai5miniimi5lesac3riim5ida_ve5rasalar4ima5ryim3ageill5abil4istsan4deila5rai2l5am_wil5ii4ladeil3a4bsa5voright3iig3eraab5erd4ific_iff5enif5eroi3entiien5a45ie5gaidi5ou3s4cieab5latidi4arid5ianide3al4scopyab5rogid5ancic3ulaac5ardi2c5ocic3ipaic5inase2c3oi4carai4car_se4d4ei2b5riib5iteib5it_ib5ertib3eraac5aroi4ativ4ian4tse4molsen5ata5ceouh4warts5enedhus3t4s5enin4sentd4sentlsep3a34s1er_hun5kehu4min4servohro3poa5chethov5el5se5umhouse3sev3enho5senhort3eho5rishor5at3hol4ehol5arh5odizhlo3riac5robhis3elhion4ehimer4het4edsh5oldhe2s5ph5eroushort5here5aher4bahera3p3side_5sideshen5atsi5diz4signahel4lyact5ifhe3l4ihe5do55sine_h5ecathe4canad4dinsion5aad5er_har4lehard3e3sitioha5rasha3ranhan4tead3icahang5oadi4ersk5inesk5ing5hand_han4cyhan4cislith5hala3mh3ab4lsmall32g5y3n5gui5t3guard5smithad5ranaeri4eag5ellag3onia5guerso4labsol3d2so3licain5in4grada3s4on_gor5ougo5rizgondo5xpan4dait5ens5ophyal3end3g4o4ggnet4tglad5i5g4insgin5ge3g4in_spen4d2s5peog3imen5gies_3spher5giciagh5outsp5ingge5nizge4natge5lizge5lisgel4inxi5miz4gativgar5n4a5le5oga3nizgan5isga5mets5sengs4ses_fu4minfres5cfort5assi4erss5ilyfore5tfor5ayfo5ratal4ia_fon4dessur5aflo3ref5lessfis4tif1in3gstam4i5stands4ta4p5stat_fin2d5al5levs5tero4allicstew5afight5fi5del5ficie5ficiafi3cer5stickf3icena5log_st3ingf3icanama5ra5stockstom3a5stone2f3ic_3storef2f5iss4tradam5ascs4trays4tridf5fin_fend5efeath3fault5fa3thefar5thfam5is4fa4mafall5eew3inge5verbeven4ie5vengevel3oev3ellev5asteva2p5euti5let5roset3roget5rifsy5rinet3ricet5onaam5eraam5ilyami4noamor5ieti4noe5tidetai5loethod3eten4dtal5enes5urramp5enan3ageta5loge5strotan4detanta3ta5pere3ston4es2toes5times3tigta3rizestan43analy4taticta4tures4prean3arces3pertax4ises5onaes3olue5skintch5etanar4ies4i4ntead4ie2s5ima3natiande4sesh5enan3disan4dowang5iete5geres5ences5ecres5cana4n1icte2ma2tem3at3tenanwrita45erwau4tenesert3era3nieser3set5erniz4erniter4nis5ter3de4rivaan3i3fter3isan4imewo5vener3ineeri4ere3rient3ess_teth5e5ericke1ria4er3ester5esser3ent4erenea5nimier5enaer3emoth3easthe5atthe3iser5el_th5ic_th5icaere3in5thinkere5coth5odea5ninee3realan3ishan4klier4che5anniz4erandti4atoanoth5equi3lep5utat4ic1uan4scoe4probep3rehe4predans3poe4precan4surantal4e3penttim5ulep5anceo5rol3tine_eop3aran4tiewin4deap5eroen3ishen5icsen3etren5esten5esien5eroa3pheren3dicap3itae4nanten5amoem5ulaa3pituti3zen5emnize5missem5ishap5olaem5ine3tles_t5let_em1in2apor5iem3icaem5anael3op_el4labapos3te3liv3el5ishaps5esweath3e3lierel3icaar3actwa5verto3nate3libee4l1erel3egato3rietor5iza5radeelaxa4aran4gto3warelan4dej5udie5insttra5chtraci4ar5av4wa5gere5git5arbal4ar5easeg5ing4voteetrem5iar3enta5ressar5ial4tricsvor5abe3finetro5mitron5i4tronyar3iantro3sp5eficia3rieted5uloed3icae4d1erec3ulaec4tane4cremeco5roec3orae4concar5o5de4comme4cluse4clame5citeec5ifya5ronias3anta5sia_tu4nis2t3up_ecan5ce4belstur3ise4bel_eav3ene4a3tue5atifeath3ieat5eneart3eear4ilear4icear5eseam3ereal3oueal5erea5geread5iedum4be4ducts4duct_duc5eras3tenasur5adrea5rat3abl4d5outdo3natdom5izdo5lor4dlessu4bero3dles_at3alou3ble_d4is3tdirt5idi5niz3dine_at5ech5di3endi4cam1d4i3ad3ge4tud5estdev3ilde3strud3iedud3iesdes3tide2s5oat3egovis3itde4nardemor5at3en_uen4teuer4ilde5milat3eraugh3en3demicater5nuil5izdeli4ede5comde4cildecan4de4bonv3io4rdeb5it4dativ2d3a4bat3estu5laticu4tie5ulcheul3dercuss4icu5riaath5em3cultua5thenul3ingul5ishul4lar4vi4naul4liscu5ityctim3ic4ticuuls5esc5tantultra3ct5angcros4ecrop5ocro4pl5critiath5omum4blycre3at5vilitumor5oat5i5b5crat_cras5tcoro3ncop3iccom5ercol3orun5ishco3inc5clareat3ituunt3abat5ropun4tescit3iz4cisti4cista4cipicc5ing_cin3em3cinatuper5s5videsup3ingci2a5b5chini5videdupt5ib5vide_at4tag4ch1inch3ersch3er_ch5ene3chemiche5loure5atur4fercheap3vi5aliat3uravet3er4ch3abc5e4taau5sib3cessives4tece5ram2cen4e4cedenccou3turs5erur5tesur3theaut5enur4tiecav5al4cativave4nover3thcar5omca5percan4tycan3izcan5iscan4icus4lin3versecal4laver3ieca3latca5dencab3in3butiobuss4ebus5iebunt4iv4eresuten4i4u1t2iv3erenu3tineut3ingv4erelbroth35u5tizbound34b1orabon5at5vere_bom4bibol3icblun4t5blespblath5av3erav5enuebi3ogrbi5netven3om2v1a4bvac5ilbi3lizbet5izbe5strva5liebe5nigbbi4nabas4siva5nizbari4aav5ernbarbi5av5eryvel3liazi4eravi4er", + 7 : "_dri5v4ban5dagvar5iedbina5r43bi3tio3bit5ua_ad4derution5auti5lizver5encbuf4ferus5terevermi4ncall5incast5ercas5tigccompa5z3o1phros5itiv5chanicuri4fico5stati5chine_y5che3dupport54v3iden5cific_un4ter_at5omiz4oscopiotele4g5craticu4m3ingv3i3liz4c3retaul4li4bcul4tiscur5a4b4c5utiva5ternauiv4er_del5i5qdem5ic_de4monsdenti5fdern5izdi4latou4b5ingdrag5on5drupliuar5ant5a5si4tec5essawo4k1enec5ifiee4compear5inate4f3eretro5phewide5sp5triciatri5cesefor5ese4fuse_oth5esiar5dinear4chantra5ventrac4tetrac4itar5ativa5ratioel5ativor5est_ar5adisel5ebraton4alie4l5ic_wea5rieel5igibe4l3ingto5cratem5igraem3i3niemoni5oench4erwave1g4a4pillavoice1ption5eewill5inent5age4enthesvaude3vtill5inep5recaep5ti5bva6guer4erati_tho5rizthor5it5thodicer5ence5ternitteri5zater5iesten4tage4sage_e4sagese4sert_an5est_e4sertse4servaes5idenes5ignaesis4tees5piraes4si4btal4lisestruc5e5titioounc5erxe4cutota5bleset5itiva4m5atoa4matis5stratu4f3ical5a5lyst4ficatefill5instern5isspend4gani5zasqual4la4lenti4g3o3nas5ophiz5sophicxpecto55graph_or5angeuri4al_4graphy4gress_smol5d4hang5erh5a5nizharp5enhar5terhel4lishith5erhro5niziam5eteia4tricic4t3uascour5au2r1al_5scin4dover4nescan4t55sa3tiou5do3ny_ven4de_under5ty2p5al_anti5sylla5bliner4arturn3ari5nite_5initioinsur5aion4eryiphras4_tim5o5_ten5an_sta5blrtroph4_se5rieiq3ui3t5i5r2izis5itiviso5mer4istral5i5ticki2t5o5mtsch3ie_re5mittro3fiti4v3er_i4vers_ros5per_pe5titiv3o3ro_ped5alro5n4is_or5ato4jestierom5ete_muta5bk5iness4latelitr4ial__mist5i_me5terr4ming_lev4er__mar5tilev4eralev4ers_mag5a5liar5iz5ligaterit5ers_lat5errit5er_r5ited__im5pinri3ta3blink5er_hon5ey5litica_hero5ior5aliz_hand5irip5lic_gen3t4tolo2gylloqui5_con5grt1li2erbad5ger4operag_eu4lertho3donter2ic__ar4tie_ge4ome_ge5ot1_he3mo1_he3p6a_he3roe_in5u2tpara5bl5tar2rht1a1mintalk1a5ta3gon_par5age_aster5_ne6o3f_noe1thstyl1is_poly1s5pathic_pre1ampa4tricl3o3niz_sem4ic_semid6_semip4_semir45ommend_semiv4lea4s1a_spin1oom5etryspher1o_to6poglo4ratospe3cio3s2paceso2lute_we2b1l_re1e4ca5bolicom5erseaf6fishside5swanal6ysano5a2cside5stl5ties_5lumniasid2ed_anti1reshoe1stscy4th1s4chitzsales5wsales3cat6tes_augh4tlau5li5fom5atizol5ogizo5litiorev5olure5vertre5versbi5d2ifbil2lab_earth5pera5blro1tronro3meshblan2d1blin2d1blon2d2bor1no5ro1bot1re4ti4zr5le5quperi5stper4malbut2ed_but4tedcad5e1moist5enre5stalress5ibchie5vocig3a3roint5er4matizariv1o1lcous2ticri3tie5phisti_be5stoog5ativo2g5a5rr3a3digm4b3ingre4posir4en4tade4als_od5uctsquasis6quasir6re5fer_p5trol3rec5olldic1aiddif5fra3pseu2dr5ebrat5metric2d1lead2d1li2epro2g1epre1neuod5uct_octor5apoin3came5triem5i5liepli5narpara3memin5glim5inglypi4grappal6matmis4er_m5istryeo3graporth1riop1ism__but4tio3normaonom1icfeb1ruafermi1o_de4moio5a5lesodit1icodel3lirb5ing_gen2cy_n4t3ingmo5lestration4get2ic_4g1lishobli2g1mon4ismnsta5blmon4istg2n1or_nov3el3ns5ceivno1vembmpa5rabno4rarymula5r4nom1a6lput4tinput4tedn5o5miz_cam4penag5er_nge5nesh2t1eoun1dieck2ne1skiifac1etncour5ane3backmono1s6mono3chmol1e5cpref5ac3militapre5tenith5i2lnge4n4end5est__capa5bje1re1mma1la1ply5styr1kovian_car5olprin4t3lo2ges_l2l3ishprof5it1s2tamp", + 8 : "lead6er_url5ing_ces5si5bch5a5nis1le1noidlith1o5g_chill5ilar5ce1nym5e5trych5inessation5arload4ed_load6er_la4c3i5elth5i2lyneg5ativ1lunk3erwrit6er_wrap3arotrav5es51ke6linga5rameteman3u1scmar1gin1ap5illar5tisticamedio6c1me3gran3i1tesima3mi3da5bves1titemil2l1agv1er1eigmi6n3is_1verely_e4q3ui3s5tabolizg5rapher5graphicmo5e2lasinfra1s2mon4ey1lim3ped3amo4no1enab5o5liz_cor5nermoth4et2m1ou3sinm5shack2ppo5sitemul2ti5uab5it5abimenta5rignit1ernato5mizhypo1thani5ficatuad1ratu4n5i4an_ho6r1ic_ua3drati5nologishite3sidin5dling_trib5utin5glingnom5e1non1o1mistmpos5itenon1i4so_re5stattro1p2istrof4ic_g2norespgnet1ism5glo5binlem5aticflow2er_fla1g6elntrol5lifit5ted_treach1etra1versl5i5ticso3mecha6_for5mer_de5rivati2n3o1me3spac6i2t3i4an_thy4l1antho1k2er_eq5ui5to4s3phertha4l1amt3ess2es3ter1geiou3ba3dotele1r6ooxi6d1iceli2t1isonspir5apar4a1leed1ulingea4n3iesoc5ratiztch3i1er_kil2n3ipi2c1a3dpli2c1abt6ap6athdrom3e5d_le6icesdrif2t1a_me4ga1l1prema3cdren1a5lpres2plipro2cess_met4ala3do5word1syth3i2_non1e2m_post1ampto3mat4rec5ompepu5bes5cstrib5utqu6a3si31stor1ab_sem6is4star3tliqui3v4arr1abolic_sph6in1de5clar12d3aloneradi1o6gs3qui3tosports3wsports3cra5n2hascro5e2cor3bin1gespokes5wspi2c1il_te3legrcroc1o1d_un3at5t_dictio5cat1a1s2buss4ingbus6i2esbus6i2erbo2t1u1lro5e2las1s2pacinb1i3tivema5rine_r3pau5li_un5err5r5ev5er__vi2c3arback2er_ma5chinesi5resid5losophyan3ti1n2sca6p1ersca2t1olar2rangesep3temb1sci2uttse3mes1tar3che5tsem1a1ph", + 9 : "re4t1ribuuto5maticl3chil6d1a4pe5able1lec3ta6bas5ymptotyes5ter1yl5mo3nell5losophizlo1bot1o1c5laratioba6r1onierse1rad1iro5epide1co6ph1o3nscrap4er_rec5t6angre2c3i1prlai6n3ess1lum5bia_3lyg1a1miec5ificatef5i5nites2s3i4an_1ki5neticjapan1e2smed3i3cinirre6v3ocde2c5linao3les3termil5li5listrat1a1gquain2t1eep5etitiostu1pi4d1v1oir5du1su2per1e6_mi1s4ers3di1methy_mim5i2c1i5nitely_5maph1ro15moc1ra1tmoro6n5isdu1op1o1l_ko6r1te1n3ar4chs_phi2l3ant_ga4s1om1teach4er_parag6ra4o6v3i4an_oth3e1o1sn3ch2es1to5tes3toro5test1eror5tively5nop5o5liha2p3ar5rttrib1ut1_eth1y6l1e2r3i4an_5nop1oly_graph5er_5eu2clid1o1lo3n4omtrai3tor1_ratio5na5mocratiz_rav5en1o", + 10 : "se1mi6t5ic3tro1le1um5sa3par5iloli3gop1o1am1en3ta5bath3er1o1s3slova1kia3s2og1a1myo3no2t1o3nc2tro3me6c1cu2r1ance5noc3er1osth1o5gen1ih3i5pel1a4nfi6n3ites_ever5si5bs2s1a3chu1d1ri3pleg5_ta5pes1trproc3i3ty_s5sign5a3b3rab1o1loiitin5er5arwaste3w6a2mi1n2ut1erde3fin3itiquin5tes5svi1vip3a3r", + 11 : "pseu3d6o3f2s2t1ant5shimi1n2ut1estpseu3d6o3d25tab1o1lismpo3lyph1onophi5lat1e3ltravers3a3bschro1ding12g1o4n3i1zat1ro1pol3it3trop1o5lis3trop1o5lesle3g6en2dreeth1y6l1eneor4tho3ni4t", + 12 : "3ra4m5e1triz1e6p3i3neph1" + } +}; \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/patterns/eo.js b/alt-implementations/readifry-master/hyphenator/patterns/eo.js new file mode 100644 index 0000000..ccf27a0 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/patterns/eo.js @@ -0,0 +1,23 @@ +// The eo hyphenation patterns +// ask sergio.pokrovskij (ĉe) gmail.com +Hyphenator.languages['eo'] = { + leftmin : 2, + rightmin : 2, + specialChars : "ĝĉŭĥĵŝ", + patterns : { + 2 : "a1e1i1o1u1", + 3 : "4ŭ1a3aa3ea3ia3oa3ue3ae3ee3ie3oe3uen_f1tg1dg1mg1ng1vi3ai3ei3ii3oi3uis_k1vn1mo3ao3eo3io3oo3up1fp1kp1mp1np1sp1tp1ŝs1bs1cs1fs1gs1ks1ps1rs1ts1vu3au3eu3iu3ou3uŝ1mŝ1nŝ1pŝ1tŝ1v", + 4 : "_bl4_br4_dl4_dr4_fl4_fr4_gl4_gn4_gr4_kl4_kn4_kr4_kv4_pl4_pr4_ps4_pt4_sf4_sk4_sl4_sm4_sn4_sp4_st4_sv4_tr4_vr4_ŝl4_ŝm4_ŝn4_ŝp4_ŝr4_ŝt4_ŝv42aj_2an_2as_2fik2jn_2lp_2lt_2nk_2ns_2nt_2oj_2on_2os_2st_2us_4b1c4b1d4b1f4b1g4b1k4b1m4b1n4b1p4b1s4b1t4b1v4b1z4b1ĉ4b1ĝ4b1ĵ4b1ŝ4c1b4c1d4c1f4c1g4c1k4c1l4c1m4c1n4c1p4c1r4c1s4c1t4c1v4c1z4c1ĉ4c1ĝ4c1ĵ4c1ŝ4d1b4d1c4d1f4d1g4d1k4d1l4d1m4d1n4d1p4d1s4d1t4d1v4d1z4d1ĉ4d1ĝ4d1ĵ4d1ŝ4f1b4f1c4f1d4f1g4f1k4f1m4f1n4f1p4f1s4f1v4f1z4f1ĉ4f1ĝ4f1ĵ4f1ŝ4g1b4g1c4g1f4g1k4g1p4g1s4g1t4g1z4g1ĉ4g1ĝ4g1ĵ4g1ŝ4h1ĉ4h1ĝ4h1ĵ4h1ŝ4j1b4j1c4j1d4j1f4j1g4j1k4j1l4j1m4j1n4j1p4j1r4j1s4j1t4j1v4j1z4j1ĉ4j1ĝ4j1ĵ4j1ŝ4k1b4k1c4k1d4k1f4k1g4k1m4k1n4k1p4k1s4k1t4k1z4k1ĉ4k1ĝ4k1ĵ4k1ŝ4l1b4l1c4l1d4l1f4l1g4l1k4l1m4l1n4l1p4l1r4l1t4l1v4l1z4l1ĉ4l1ĝ4l1ĵ4m1b4m1c4m1d4m1f4m1g4m1k4m1l4m1n4m1p4m1r4m1s4m1t4m1v4m1z4m1ĉ4m1ĝ4m1ĵ4m1ŝ4n1b4n1c4n1d4n1f4n1g4n1j4n1k4n1l4n1n4n1p4n1r4n1s4n1t4n1z4n1ĉ4n1ĝ4n1ĵ4n1ŝ4p1b4p1c4p1d4p1g4p1v4p1z4p1ĉ4p1ĝ4p1ĵ4r1b4r1c4r1d4r1f4r1g4r1k4r1l4r1m4r1n4r1p4r1s4r1t4r1v4r1z4r1ĉ4r1ĝ4r1ĵ4r1ŝ4s1d4s1l4s1m4s1n4s1s4s1z4s1ĉ4s1ĝ4s1ĵ4s1ŝ4t1b4t1c4t1d4t1f4t1g4t1k4t1m4t1n4t1p4t1s4t1t4t1v4t1z4t1ĉ4t1ĝ4t1ĵ4t1ŝ4v1b4v1c4v1d4v1f4v1g4v1k4v1l4v1m4v1n4v1p4v1s4v1t4v1v4v1z4v1ĉ4v1ĝ4v1ĵ4v1ŝ4z1b4z1c4z1d4z1f4z1g4z1k4z1l4z1m4z1n4z1p4z1r4z1s4z1t4z1v4z1ĉ4z1ĝ4z1ĵ4z1ŝ4ĉ1b4ĉ1c4ĉ1d4ĉ1f4ĉ1g4ĉ1k4ĉ1l4ĉ1m4ĉ1n4ĉ1p4ĉ1s4ĉ1t4ĉ1v4ĉ1z4ĉ1ĉ4ĉ1ĝ4ĉ1ĵ4ĉ1ŝ4ĝ1b4ĝ1c4ĝ1d4ĝ1f4ĝ1g4ĝ1k4ĝ1l4ĝ1m4ĝ1n4ĝ1p4ĝ1s4ĝ1t4ĝ1v4ĝ1z4ĝ1ĉ4ĝ1ĝ4ĝ1ĵ4ĝ1ŝ4ĥ1b4ĥ1c4ĥ1d4ĥ1f4ĥ1g4ĥ1k4ĥ1m4ĥ1n4ĥ1p4ĥ1s4ĥ1t4ĥ1v4ĥ1z4ĥ1ĉ4ĥ1ĝ4ĥ1ĵ4ĥ1ŝ4ĵ1b4ĵ1c4ĵ1d4ĵ1f4ĵ1g4ĵ1k4ĵ1l4ĵ1m4ĵ1n4ĵ1p4ĵ1s4ĵ1t4ĵ1v4ĵ1z4ĵ1ĉ4ĵ1ĝ4ĵ1ĵ4ĵ1ŝ4ŝ1b4ŝ1c4ŝ1d4ŝ1f4ŝ1g4ŝ1k4ŝ1s4ŝ1z4ŝ1ĉ4ŝ1ĝ4ŝ1ĵ4ŝ1ŝn2kvp1j2", + 5 : "_al2t_ba3t_be3j_be3t_bi3d_bi3l_bi3t_bo3t_bu3l_bu3m_ci3t_de3c_di3g_do3t_fi3d_fi3g_fi3l_fo3t_fu3l_fu3m_go3t_gu3m_hu3m_ji3d_jo3t_ju3l_ka3n_ki3l_ko3t_ku3l_le3m_li3d_li3g_li3t_li4a_lo3t_lu3l_lu3m_ma3n_me3t_mi3l_mi3t_mi4a_mo3t_mu3l_ne3t_ni4a_no2v_no3t_nu3l_pa3n_pe3c_pi3g_po2r_po3t_pu3l_pu3m_ra3n_ri3d_ri3g_ri3t_ro3t_ru3l_ru3m_sa2m_sa3n_si3d_si4a_skl4_skr4_skv4_spl4_spr4_str4_su3m_te3m_ti3g_tu3l_va3n_ve3t_vi3d_vi3l_vi3t_vi4a_vo3t_zu3m_ĉi3l_ĉi4a_ĉi4e_ĉi4o_ĉi4u_ĥa3n_ĥe3t_ĵu3l_ŝi4a_ŝo3t_ŝpr4_ŝtr41a2kr1o2be2ajn_2ojn_3nja_3nje_3njo_3ĉ2jo4b1b24b1h44b1j24c1c24c1h44c1j24d1d24d1h44d1j24f1f24f1h44f1j24g1g24g1h44g1j24j1h44k1h44k1j24l1h44l1j24l1l24l1s24l5ŝ24m1h44m1j24m1m24n1h44n1v24p1h44r1h44r1j24s1h44s1j24t1h44t1j24v1h44v1j24z1h44z1j24ĉ1h44ĉ1j24ĝ1h44ĝ1j24ĥ1h44ĥ1j24ĵ1h44ĵ1j24ŝ1h44ŝ1j2kla3rli5anli5asmi5aŭn1s2cn1s2tn2k1cn2s1fz2lotĵ2e3tŭ2s1k", + 6 : "_ban3t_bin3d_bru3l_di2s1_din3g_du2m1_ek2s1_el1uz_f2a3r_fin3t_fo2r1_fon3t_gla3t_gru3m_ha3r2_hin3d_hon3t_kan3t_kel2k_kon3t_ku2n1_lin3d_ma2l1_me2m1_me2z1_men3d_mez2o_mi2s1_mon3t_no3bl_pen3d_pin3d_pin3t_pl2ej_plu3m_pon3t_rin3g_ris3m_se2n1_sen3d_sis3m_su2b1_ten3d_tin3t_tru3l_tru3m_tu2t1_ven3d_vi2c1_vi2r1_vin3d_vo3bl_ĉe2f1_ĉie4s_ĉio4m_ĝi2s1_ŝin3d1a2da_1a2de_1a2di_1a2do_1a2du_1a2gra1a2na_1a2ne_1a2ni_1a2no_1a2nu_1a2per1a2ra_1a2re_1a2rig1a2riĝ1a2ro_1a2ta_1a2te_1a2to_1a2ĉa_1a2ĉe_1a2ĉo_1a2ĵa_1a2ĵe_1a2ĵo_1e2ben1e2ca_1e2ce_1e2co_1e2d2z1e2ga_1e2gal1e2ge_1e2gi_1e2go_1e2gu_1e2ja_1e2je_1e2jo_1e2ma_1e2me_1e2mi_1e2mo_1e2mu_1e2ta_1e2te_1e2to_1es2tr1i2da_1i2de_1i2do_1i2ga_1i2gat1i2ge_1i2gi_1i2git1i2go_1i2got1i2gu_1i2la_1i2le_1i2lo_1i2ta_1i2te_1i2to_1i2ĝa_1i2ĝe_1i2ĝi_1i2ĝo_1i2ĝu_1o2kup1o2ta_1o2te_1o2to_1u2ja_1u2je_1u2jo_1u2la_1u2le_1u2lo_1u2ma_1u2me_1u2mi_1u2mo_1u2mu_1ŝ2tel3njaj_3njan_3njoj_3njon_3s2lab3s2lav3s2led3s2lip3s2lup3s2mut3s2nob3s2nuf4b1s2k4ologial3teram2a3re2sperel2a3ner2a3rir2a3nkrom2omi5asmmul2t1mul3tamul3tomult2enaŭo4pof2i3lol2i3tom2a3rsam2arsen2atsen2ilsp2e3cvi5andvir2usvrin3gĉi3el1", + 7 : "_ab2a3t_ac2i3d_ag2a3t_ag2i3t_apu2d1_ar2i3d_av2i3d_az2i3l_az2o3t_bl2a3t_br2i3d_br2i3g_br2i3l_br2i3t_br2i3ĝ_ci3s3t_di3s3t_dr2i3l_du2on1_ed2e3m_ed2i3l_eg2i3d_ek1i2r_ek1rid_el1i2r_el2i3t_en1ir2_er2o3t_et2a3t_et2i3l_ev2i3t_fe3b1l_fl2e3g_fl2o3t_fr2a3t_fr2i3d_fr2i3t_fr2o3t_gi3s3t_gl2i3t_gr2i3l_gr2o3t_gv2i3d_hi3s3t_im2i3t_ki3s3t_klin3g_krin3g_kro2m1_kv2i3t_kv2o3t_kvin3t_li3s3t_me3b1l_naŭo4n_ok2u3l_om2e3g_on2a3n_pi3s3t_pl2e3t_pl2o3t_plan3t_po2e3m_po2e3t_pos2t1_pr2e3m_ps2i3l_re2tro_sk2e3m_sk2i3t_sk2o3t_sp2a3t_sp2i3t_sp2o3t_st2a3r_st2i3l_stru3m_svin3g_tr2e3m_tr2o3t_tran2s_trio2n_trio2p_tu3ta__tu3te__tu3to__ul2u3l_ut2i3l_uv2u3l_vi3ca__vi3ce__vi3co__vi3s3t_ĉia4m1_ŝv2i3t1a2daj_1a2dan_1a2das_1a2dis_1a2doj_1a2don_1a2dos_1a2dus_1a2fabl1a2naj_1a2nan_1a2nas_1a2nis_1a2nism1a2noj_1a2non_1a2nos_1a2nus_1a2raj_1a2ran_1a2roj_1a2ron_1a2t1ec1a2taj_1a2tan_1a2toj_1a2ton_1a2va1r1a2ĉaj_1a2ĉan_1a2ĉoj_1a2ĉon_1a2ĵaj_1a2ĵan_1a2ĵoj_1a2ĵon_1an2ta_1an2te_1an2to_1e2bla_1e2ble_1e2bli_1e2blo_1e2blu_1e2caj_1e2can_1e2coj_1e2con_1e2gaj_1e2gan_1e2gas_1e2gis_1e2goj_1e2gon_1e2gos_1e2gus_1e2j1ig1e2j1iĝ1e2jaj_1e2jan_1e2joj_1e2jon_1e2kzem1e2m1ec1e2maj_1e2man_1e2mas_1e2mis_1e2moj_1e2mon_1e2mos_1e2mus_1e2tai_1e2taj_1e2tan_1e2tau_1e2toj_1e2ton_1en2da_1en2de_1en2di_1en2do_1en2du_1i2d1ar1i2daj_1i2dan_1i2dent1i2doj_1i2don_1i2gaj_1i2gan_1i2gant1i2gas_1i2gebl1i2gint1i2gis_1i2goj_1i2gon_1i2gont1i2gos_1i2gus_1i2l1ar1i2laj_1i2lan_1i2loj_1i2lon_1i2t3ec1i2taj_1i2tan_1i2toj_1i2ton_1i2ĝaj_1i2ĝan_1i2ĝant1i2ĝas_1i2ĝint1i2ĝis_1i2ĝoj_1i2ĝon_1i2ĝont1i2ĝos_1i2ĝus_1in2da_1in2de_1in2di_1in2do_1in2du_1in2ga_1in2ge_1in2gig1in2go_1in2ta_1in2te_1in2to_1is2ma_1is2me_1is2mo_1o2bla_1o2ble_1o2blo_1o2taj_1o2tan_1o2toj_1o2ton_1on2ta_1on2te_1on2to_1s2tu1d1u2j1ig1u2j1iĝ1u2jaj_1u2jan_1u2joj_1u2jon_1u2l1ar1u2l3ec1u2l3ej1u2laj_1u2lan_1u2loj_1u2lon_1u2m3ec1u2maj_1u2man_1u2mas_1u2mis_1u2moj_1u2mon_1u2mos_1u2mus_3njajn_3njojn_3s2lang3s2lojd3s2malt3s2mirg4ografia2ĉ2e3tafg2a3nal3tablal3truiarg2a3nark2a3nban2a3nbaz2a3rbil2e3tbiz2a3rboj2a3rbut2a3ncig2a3ncig2a3rdek2a3ndin2a3rdog2a3ndol2a3rdu3ona_du3one_du3ono_duo2pa_duo2pe_duo2po_faz2a3ngit2a3rhum2i3dinf2a3njap2a3nk1s2t2rkol2e3gkor2a3nma3l2icme3m2orme3z2urmet2a3nmi3s2ilmil2i3tmob2i3lmul3te_org2a3nrad2a3rrap2i3drez2i3drig2i3drip2a3rrum2a3nsc2en3dsep3o2pses3o2psim2i3ltal2a3rtat2a3rtir2a3nvi5atikvol2u3mĉik2a3nĵab2o3tŝam2a3n", + 8 : "_abs2i3d_akr2i3d_alb2u3m_am2en3d_and2u3j_ang2i3l_ang2u3l_apr2e3c_apr2i3l_aps2i3d_arg2i3l_ask2e3t_asp2i3d_at2en3d_at2in3g_atl2e3t_bab2i3l_bac2i3l_bal2a3d_bal2o3t_baz2i3l_ber2i3l_bet2u3l_bit2u3m_bl4in3d_boh2e3m_bol2e3t_bol2i3d_buĝ2e3t_ced2i3l_civ2i3l_civ2i3t_dav2i3d_deb2a3t_deb2e3t_deb2i3l_deb2i3t_dec2i3d_def2i3l_del2e3g_dem2e3t_dep2o3t_dev2o3t_di3s2a__di3s2e__di3s2ip_dil2e3m_duk2a3t_efr2i3t_ek3s2ci_ek3s2id_ekz2e3m_ekz2i3l_ekz2o3t_el1aĉet_enk2e3t_eps2i3l_erg2o3t_erm2i3t_et2en3d_fac2i3l_fag2o3t_fas2a3d_fo3r2a__fo3r2e__fo3r2en_fo3r2i__fo3r2o__fo3r2u__fr2in3g_fr2on3t_fus2i3l_gav2o3t_gaz2e3t_gor2i3l_har2e3m_hep2a3t_hez2i3t_hum2i3l_inc2i3d_inc2i3t_ins2i3d_ins2u3l_inte2r1_inv2a3d_inv2i3t_jub2i3l_kab2u3l_kad2e3t_kan2a3d_kan2o3t_kap2o3t_kar2a3t_kar2o3t_kin2e3t_koj2o3t_kom2a3t_kom2e3t_kop2u3l_kro3ma__kro3me__kuk2u3m_kul2o3t_kum2u3l_kv2an3t_lib2i3d_lit2o3t_liv2i3d_luc2i3d_luk2u3m_mak2u3l_malno2v_mar2o3t_med2i3t_mer2i3t_met2i3l_mi3s2al_mi3s2ia_mi3s2ie_mi3s2ii_mi3s2io_mi3s2iu_mod2u3l_mol2a3r_mon2a3t_mot2e3t_muc2i3d_mul2a3t_mut2i3l_nav2i3g_neb2u3l_of2en3d_oml2e3t_orb2i3t_osc2i3l_pal2a3t_paĉ2u3l_pil2o3t_pir2a3t_pir2i3t_piv2o3t_pl2en3d_pl2in3t_pol2a3r_pom2a3d_pr2is3m_pup2i3l_rab2a3t_rab2o3t_rak2e3t_reg2u3l_rem2e3t_ren2a3t_res2u3m_ril2a3t_rip2e3t_rob2o3t_ruk2u3l_sab2a3t_sab2o3t_sal2a3t_se3n2aa_se3n2ao_sen2a3t_sep3o2n_ser2u3m_ses3o2n_sim2u3l_sk2is3m_skr2o3t_sol2i3d_son2a3t_son2e3t_sov2e3t_sp2on3t_spl2i3t_spr2i3t_str2i3d_str2i3g_su2d1af_su2d1am_supe2r1_tab2u3l_tib2e3t_tim2i3d_tok2a3t_tom2a3t_tot2e3m_tu3taj__tu3tan__tu3toj__tu3ton__val2i3d_van2i3l_veg2e3t_vel2a3r_vi3c2ia_vi3c2io_vi3caj__vi3can__vi3coj__vi3con__vig2i3l_viz2i3t_zel2o3t_zen2i3t_ĵak2e3t1a2dajn_1a2dojn_1a2n1i2n1a2najn_1a2nojn_1a2rajn_1a2rojn_1a2tajn_1a2tojn_1a2ĉajn_1a2ĉojn_1a2ĵajn_1a2ĵojn_1an2t1ec1an2t1ig1an2t3ar1an2taj_1an2tan_1an2toj_1an2ton_1e2bl1aĵ1e2bl1ec1e2blaj_1e2blan_1e2blas_1e2blis_1e2bloj_1e2blon_1e2blos_1e2blus_1e2cajn_1e2cojn_1e2gajn_1e2gojn_1e2jajn_1e2jojn_1e2m1u2l1e2majn_1e2mojn_1e2taas_1e2tais_1e2tajn_1e2taos_1e2taus_1e2tojn_1en2daj_1en2dan_1en2das_1en2dis_1en2don_1en2dos_1en2dus_1i2d1i2n1i2dajn_1i2dojn_1i2g1a2d1i2g1e2m1i2g1i2l1i2gajn_1i2gojn_1i2lajn_1i2lojn_1i2s2ta_1i2s2te_1i2s2to_1i2tajn_1i2tojn_1i2ĝ1a2d1i2ĝ1e2m1i2ĝajn_1i2ĝojn_1in2d3ec1in2d3ig1in2d3iĝ1in2daj_1in2dan_1in2das_1in2dis_1in2don_1in2dos_1in2dus_1in2gaj_1in2gan_1in2goj_1in2gon_1in2t3ar1in2t3ec1in2t3us1in2taj_1in2tan_1in2toj_1in2ton_1is2maj_1is2man_1is2moj_1is2mon_1o2bl1ec1o2blaj_1o2blan_1o2bloj_1o2blon_1o2tajn_1o2tojn_1on2taj_1on2tan_1on2toj_1on2ton_1u2jajn_1u2jojn_1u2lajn_1u2lojn_1u2majn_1u2mojn_2u3l2ard2u3l2ari3s2lalom3s2lovak3s2loven3s2milakabut2i3lacet2i3lal3t2a3ralop2a3talum2e3tamul2e3tarom2a3tbarb2a3rbojk2o3tbrev2e3tbulg2a3rdiab2e3tdiad2e3mdom2in3gdorl2o3tdu3onaj_du3onan_du3onoj_du3onon_duo2paj_duo2pan_duo2poj_duo2pon_e3m2u3lsek4s3citek4s3cizembl2e3mepit2e3tfanf2a3rfont2a3nform2u3lfrig2i3dgalv2a3ngarg2a3rgerm2a3nhibr2i3dhipn2o3thisp2a3nhung2a3rizob2a3rkalk2a3nkalk2u3lkank2a3nkaps2u3lkard2a3nkloz2e3tkoag2u3lkomp2a3rkons2u3mkors2e3tkorv2e3tkotl2e3tku3n2iklkvar3o2pkvin3o2plikv2i3dmagn2e3tmalno3blmalpl2ejmarm2o3tmen2in3gmom2an3tmorb2i3dmul2t3egnajb4a1rnark2o3tnaŭt2i3lnirv2a3nnor2d1afnor2d1amnor2d1aznor2d1eŭopos2u3mpalp2i3tparf2u3mparg2e3tperf2i3dpfen2i3gprep2a3rprim2a3rprof2a3nprof2i3tremp2a3rsekr2e3tsist2e3mskal2a3rskel2e3tsopr2a3nspag2e3tspeg2u3lspin2e3tstaf2e3tstef2a3nstr2in3gsubt2i3lsult2a3nsvah2i3ltal2an3ttran3sittual2e3tturb2a3nturb2u3lvinj2e3tvol2on3tvulg2a3rvulk2a3nĉamp2a3nĉinĉ2i3lĥlam2i3dŝevj2o3tŝil2in3g", + 9 : "_abs2in3t_akum2u3l_akur2a3t_alpr2e3m_anat2e3m_apar2a3t_apet2i3t_ar2i3s3t_atl2an3t_avok2a3d_band2i3t_bi3g2o3t_bisk2o3t_braz2i3l_brok2a3t_ci3d2a3r_dakt2i3l_def2en3d_desp2o3t_di3g2i3t_di3s2aj__di3s2an__di3s2en__di3s2ert_di3s2erv_di3s2oci_dist2i3l_ejak2u3l_ekpr2e3m_eksc2i3t_ekste2r1_ektr2e3m_emer2i3t_erud2i3t_est2in3g_eŭkl2i3d_fakt2o3t_far2in3g_fist2u3l_flor2i3d_fo3r2aj__fo3r2an__fo3r2as__fo3r2is__fo3r2oj__fo3r2on__fo3r2os__fo3r2u3m_fo3r2us__form2e3t_gal2an3t_gamb2i3t_gefr2a3t_gig2an3t_golg2o3t_graf2i3t_gran2a3t_gran2i3t_gran2u3l_grat2u3l_grav2i3t_har2in3g_herk2u3l_herm2e3t_in3d2i3g_in3d2ign_inok2u3l_inst2i3g_inte3ra__inte3re__inte3ri__inte3ro__inte3ru__intr2i3g_jac2in3t_ka3n2i3n_kal2en3d_kaml2o3t_klim2a3t_komp2a3t_komp2i3l_komp2o3t_konf2e3t_konf2i3d_konf2i3t_kons2i3l_kons2u3l_kost2u3m_kr2i3s3t_krav2a3t_kred2i3t_krik2e3t_kro3maj__kro3man__krok2e3t_kval2i3t_kvar3o2n_kvin3o2n_kviv2i3t_kvor2u3m_lar2in3g_madr2i3d_magn2a3t_mals2a3t_mand2a3t_mant2i3l_mark2o3t_marm2i3t_me3z2ere_mer2in3g_mioz2o3t_mit2in3g_mosk2i3t_musk2a3t_negl2i3ĝ_neof2i3t_norv2e3g_ok3o2na__ok3o2ne__ok3o2no__ok3o2pa__ok3o2pe__ok3o2po__okt2an3t_opid2u3m_ped2an3t_pier2o3t_prel2a3t_prel2e3g_prete2r1_prez2i3d_prim2a3t_priv2a3t_prod2i3g_prof2e3t_prol2e3t_pud2in3g_pust2u3l_rak2on3t_re2spond_rem2on3t_rodr2i3g_sa3m2u3m_sir2in3g_sk2i3s3t_sold2a3t_spek2u3l_spir2i3t_stab2i3l_stil2e3t_stil2i3t_stim2u3l_su2d1azi_su2d1eŭr_su2d1rus_su3b2i3t_su3b2ute_supe3ra__supe3re__supe3ri__supe3ro__supe3ru__ta3n2i3n_tand2e3m_teor2e3m_term2i3t_trik2o3t_tu3tajn__tu3tojn__vend2e3t_vert2i3ĝ_vest2i3ĝ_vi3cajn__vi3cojn__vik2in3g_vist2u3l_vulg2a3t_ĝent2i3l1an2tajn_1an2tojn_1e2blajn_1e2blojn_1en2dajn_1i2s2m3ec1i2s2t3ar1i2s2t3ec1i2s2taj_1i2s2tan_1i2s2toj_1i2s2ton_1in2dajn_1in2gajn_1in2gojn_1in2tajn_1in2tojn_1is2majn_1is2mojn_1o2blajn_1o2blojn_1on2tajn_1on2tojn_3s2lofoks3s2meraldabrik2o3tadiab2a3tadvok2a3tafrik2a3tagreg2a3takomp2a3nakred2i3takrob2a3talfab2e3tan3t2arktanekd2o3tantid2o3taor2i3s3tapost2a3taŭtom2a3tbajon2e3tbankr2o3tbiskv2i3tblasf2e3mdefic2i3tdek3o2na_dek3o2ne_dek3o2no_dek3o2pa_dek3o2pe_dek3o2po_delik2a3tdinam2i3tdisk2an3tdisk2on3tdu3onajn_du3onojn_dump2in3gduo2pajn_duo2pojn_ekstr2e3mekz2i3s3telef2an3temfiz2e3mfre2m2d3lgalin2u3lgenoc2i3dgren2o3blhiac2in3tin3d2iĝeninf2a4n3tinfin2i3tins2i3s3tinst2an3tinval2i3dkabin2e3tkalik2o3tkamar2a3dkamom2i3lkapac2i3tkapit2a3nkapit2u3lkarav2a3nklarn2e3tkoinc2i3dkompl2e3tkompl2o3tkreoz2o3tkro3m2a3tkulin2a3rlimon2a3dmalak2i3tmalgl2a3tmanip2u3lmegal2i3tmembr2a3nmil3o2na_mil3o2ne_mil3o2no_mil3o2pa_mil3o2pe_mil3o2po_molek2u3lmul4t3oblnor2d1rusokcip2i3tordin2a3rordin2a3tp2i3t4ecipamfl2e3tpaskv2i3lpelik2a3npersv2a3dpiram2i3dpos3t2u3lpret2en3dretik2u3lsa3m2urajsalp2in3gsanit2a3rsen2eskalseren2a3dsibar2i3tskrup2u3lstenc2i3lstigm2a3tstrob2i3lsurog2a3tteher2a3ntelev2i3dtran3septvatik2a3nveter2a3nvodev2i3lvolat2i3lĉokol2a3dŝibol2e3t", + 10 : "_adekv2a3t_alikv2o3t_arog2an3t_askar2i3d_bal2i3s3t_bat2i3s3t_behem2o3t_brok2an3t_cenob2i3t_cirkv2i3t_di3s2ajn__diam2an3t_dist2in3g_domic2i3l_ekste3ra__ekste3re__ekste3ri__ekste3ro__ekste3ru__fo3r2ajn__fo3r2in3t_fo3r2ojn__gen2i3s3t_halel2u3j_herod2o3t_inte3r2es_inte3r2ez_inte3raj__inte3ran__inte3ras__inte3ren__inte3ris__inte3roj__inte3ron__inte3ros__inte3rus__kamar2i3l_kazem2a3t_kaĉal2o3t_komit2a3t_konst2a3t_kro3majn__kvadr2a3t_kvadr2i3g_mecen2a3t_ok3o2naj__ok3o2nan__ok3o2noj__ok3o2non__ok3o2paj__ok3o2pan__ok3o2poj__ok3o2pon__paraz2i3t_prest2i3ĝ_probl2e3m_re2f3l2ig_renk2on3t_rez2i3s3t_satel2i3t_skarl2a3t_skler2o3t_stern2u3m_strat2e3g_supe3raj__supe3ran__supe3ras__supe3ris__supe3roj__supe3ron__supe3ros__supe3rus__terak2o3t_trans2i3t_ultim2a3t1i2s2tajn_1i2s2tojn_1o2por1tun1u2l1i2na_1u2l1i2ne_1u2l1i2no_3s2log2a3nadjut2an3tantrac2i3tasimil3i4tasimpt2o3tb2i3l2a3rdbatal3an4tbergam2o3tbr2i3g2a3dbracel2e3tcent3o2na_cent3o2ne_cent3o2no_cent3o2pa_cent3o2pe_cent3o2po_dek3o2naj_dek3o2nan_dek3o2noj_dek3o2non_dek3o2paj_dek3o2pan_dek3o2poj_dek3o2pon_dilet2an3tdiplom2a3telizab2e3tf2i3l2a3rbf2i3l2a3rifakult2a3tfokstr2o3tformul2a3rhierod2u3lhipokr2i3thomunk2u3lhoriz2on3thotent2o3tinkogn2i3tins2ul2i3ninterm2i3tinvent2a3rkalend2a3rkalend2u3lkan3t2arelkandid2a3tkonfr2on3tkons2i3s3tkonst2an3tkresĉ2en3dkrizal2i3dkrokod2i3lkvadr2an3tlabir2in3tmarcip2a3nmarion2e3tmatrik2u3lme3z2embrime3z2entermez2aliancmil3o2naj_mil3o2nan_mil3o2noj_mil3o2non_mil3o2paj_mil3o2pan_mil3o2poj_mil3o2pon_nor2d1germpartik2u3lpartiz2a3nperlam2o3tpers2i3s3tpoligl2o3tporcel2a3nprecip2i3tpreter2i3tprozel2i3treding2o3trekom2en3drozal4in3dsacerd2o3tsanskr2i3tsek2u3l2arsekund2a3rsindik2a3tsterl2in3gsubstr2a3tsufrag2a3ntamar4in3dtarant2u3ltereb2in3ttran3s2pirtran3scendtrankv2i3ltuberk2u3lvi1r2ulentĉambel2a3nĉarlat2a3n", + 11 : "_amet2i3s3t_ekste3raj__ekste3ran__ekste3ras__ekste3ris__ekste3roj__ekste3ron__ekste3ros__ekste3rus__inte3r2upt_inte3rajn__inte3rojn__liverp2u3l_margar2i3t_melol2on3t_ok3o2najn__ok3o2nojn__ok3o2pajn__ok3o2pojn__pir2i3d2in_re2spublik_re2storaci_rekviz2i3t_supe3rajn__supe3rojn_1an2t1i2na_1an2t1i2ne_1an2t1i2no_1u2l1i2naj_1u2l1i2nan_1u2l1i2noj_1u2l1i2non_3s2mok2in3ga4n3t2i3nomaŭtorit2a3tcent3o2naj_cent3o2nan_cent3o2noj_cent3o2non_cent3o2paj_cent3o2pan_cent3o2poj_cent3o2pon_cirkumc2i3dd2is3t2ingodek3o2najn_dek3o2nojn_dek3o2pajn_dek3o2pojn_eksplic2i3tjerusal2e3mjug2u3l2a3rkap2i3l2a3rkastanj2e3tkomprom2i3tkonkord2a3tkonson2an3tkorpusk2u3lkrizant2e3mkvatern2a3rkvodlib2e3tlap2i3d2a3rleŭten2an3tmagistr2a3tmajorit2a3tmastod2on3tmil3o2najn_mil3o2nojn_mil3o2pajn_mil3o2pojn_minorit2a3tpl2i3l2a3rĝplebisc2i3tpop2u3l2a3rpos3t2amentpos3t2iljonpriorit2a3trehabil2i3tsa3m2ov2a3rsing2u3l2arsol2i3d2a3rsomnamb2u3lstalagm2i3tstalakt2i3ttran3sistortroglod2i3tĝentlem2a3n", + 12 : "_ekste3rajn__ekste3rojn__instanb2u3l_k2a4n3t2i3n1an2t1i2naj_1an2t1i2nan_1an2t1i2noj_1an2t1i2non_1e2le1g2an3t1e2str1i2na_1e2str1i2ne_1e2str1i2no_1i2s2t1i2na_1i2s2t1i2ne_1i2s2t1i2no_1u2l1i2najn_1u2l1i2nojn_al2i3g2a3torantikr2i3s3tcent3o2najn_cent3o2nojn_cent3o2pajn_cent3o2pojn_kan3t2ar2i3dl2i3g2a3turoreferend2u3msafr2a3n2i3n", + 13 : "_pedik2u3l2ar1an2t1i2najn_1an2t1i2nojn_1e2str1i2naj_1e2str1i2nan_1e2str1i2noj_1e2str1i2non_1i2s2t1i2naj_1i2s2t1i2nan_1i2s2t1i2noj_1i2s2t1i2non_dakt2i3l2a3rbfrit2i3l2a3rigal2a4n3t2i3nhermafrod2i3tpterodakt2i3luniversit2a3t", + 14 : "1e2str1i2najn_1e2str1i2nojn_1i2s2t1i2najn_1i2s2t1i2nojn_adam2a4n3t2i3nbrig2a4n3t2i3npartik2u3l2a3r", + 15 : "prestid2i3g2i3tstrof2a4n3t2i3n" + } +}; diff --git a/alt-implementations/readifry-master/hyphenator/patterns/es.js b/alt-implementations/readifry-master/hyphenator/patterns/es.js new file mode 100644 index 0000000..bee99d5 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/patterns/es.js @@ -0,0 +1,25 @@ +// For questions about the spanish hyphenation patterns +// ask Luis Pabon (lpabon at metagrama dot es) +Hyphenator.languages['es'] = { + leftmin : 2, + rightmin : 2, + specialChars : "áéíóúñ", + patterns : { + 2 : "1b1c1d1f1g1j1k1l1m1n1ñ1p1q1r1s1t1v1w1x1y1z", + 3 : "_a22bb2bc2bd2bf2bg2bj2bkb2l2bm2bn2bp2bqb2r2bs2bt2bv2bw2bx2by2bz2cb2cc2cd2cf2cgc4h2cjc2kc2l2cm2cn2cp2cqc2r2cs2ct2cv2cw2cx2cy2cz2db2dc2dd2df2dg2dj2dk2dl2dm2dn2dp2dqd2r2ds2dt2dv2dw2dx2dy2dz4e_4é_4és2fb2fc2fd2ff2fg2fj2fkf2l2fm2fn2fp2fqf2r2fs2ft2fv2fw2fx2fy2fz2gb2gc2gd2gf2gg2gj2gkg2l2gm2gn2gp2gqg2r2gs2gt2gv2gw2gx2gy2gz2hb2hc2hd2hf2hg2hj2hk2hl2hm2hn2hp2hq2hr2hs2ht2hv2hw2hx2hy2hz4í_2jb2jc2jd2jf2jg2jj2jk2jl2jm2jn2jp2jq2jr2js2jt2jv2jw2jx2jy2jz2kb2kc2kd2kf2kg2kj2kkk2l2km2kn2kp2kqk2r2ks2kt2kv2kw2kx2ky2kz2lb2lc2ld2lf2lg2lj2lkl4l2lm2ln2lp2lq2lr2ls2lt2lv2lw2lx2ly2lz2mb2mc2md2mf2mg2mj2mk2ml2mm2mn2mp2mq2mr2ms2mt2mv2mw2mx2my2mz2nb2nc2nd2nf2ng2nj2nk2nl2nm2nn2np2nq2nr2ns2nt2nv2nw2nx2ny2nz2o_2pb2pc2pd2pf2pg2pj2pkp2l2pm2pn2pp2pqp2r2ps2pt2pv2pw2px2py2pz2qb2qc2qd2qf2qg2qj2qk2ql2qm2qn2qp2qq2qr2qs2qt2qv2qw2qx2qy2qz2rb2rc2rd2rf2rg2rj2rk2rl2rm2rn2rp2rqr2r2rs2rt2rv2rw2rx2ry2rz2sb2sc2sd2sf2sg2sj2sk2sl2sm2sn2sp2sq2sr2ss2st2sv2sw2sx2sy2sz2tb2tc2td2tf2tg2tj2tk2tm2tn2tp2tqt2r2ts2tt2tv2twt2x2ty2tz2vb2vc2vd2vf2vg2vj2vkv2l2vm2vn2vp2vqv2r2vs2vt2vv2vw2vx2vy2vz2wb2wc2wd2wf2wg2wj2wkw2l2wm2wn2wp2wqw2r2ws2wt2wv2ww2wx2wy2wz2xb2xc2xd2xf2xg2xj2xk2xl2xm2xn2xp2xq2xr2xs2xt2xv2xw2xx2xy2xz2yb2yc2yd2yf2yg2yj2yk2yl2ym2yn2yp2yq2yr2ys2yt2yv2yw2yx2yy2yz2zb2zc2zd2zf2zg2zj2zk2zl2zm2zn2zp2zq2zr2zs2zt2zv2zw2zx2zy2zz", + 4 : "4ad_2al_4an_4ar_4as_4ás_2b1h2bl_2br_2ch_2cl_4cn_2cr_4ct_4cz_2d1h2dr_4ed_4en_4er_4es_2f1h2fl_2fr_4ft_2g2h2gl_4gn_2gr_2h1hi2a_4ía_i2o_2j1h2k2h2kl_2kr_2l1h2ll_mal22m1h4mn_2n1h2no_4ón_2os_4pc_2p1h2pl_4pn_2pr_4pt_2q1h2r1h2rr_3sa_2s1h2t1h2t2l2tr_4ts_4tz_2v1h2vl_2vr_2w1h2wl_2wr_2x1h2y1h2z1h", + 5 : "_an3h4áis_4ando4aos_bien2bio1heco1h4éis_4eos_geo1h4ían_i2as_4ías_i2os_iso1hmal3bmal3cmal3dmal3fmal3gmal3mmal3pmal3qmal3smal3tmal3v4meo_neo1ho2os_2ótic3sas_s3te_", + 6 : "_an2a2_an2á2_an2e2_an2é2_an2i2_an2í2_ani3m_aniña_ani3q_an2o2_an2ó2_an2u2_anu3l_bi1ox_bi1un_co2a2_co2á2_co2e2_co2é2_co2i2_co2í2_co3o4_co2ó2_co2u2_co2ú2_en2a2_en2á2_en2e2_en2é2_en1ej_en2i2_en2í2_en2o2_en2ó2_en2u2_en2ú2_in2a2_in2á2_in2e2_in2é2_in2i2_in2í2_in2o2_in2ó2_in2u2_in2ú2_re2a2_re2á2_re3e4_re2é2_re2i2_re2í2_re2o2_re2ó2_re1oc_re1oj_re2u2_re2ú24a3ba_acto1h4a3da_4adle_4adlo_4adme_4a3do_4adte_aero1hafro1haí5so_2ales_ana3líanfi1hante1h4a3ra_4a3rá_4a3re_4a3ré_a3rio_4a3se_4aste_asu3b24ates_auto1h2b3c2n2b3c2t2b3c2z2b3f2t2b3g2nbien3hbien3mbien3qbien3tbien3vbio1a2bio1á2bio1e2bio1é2bio1i2bio1í2bio1o2bio1ó2bio1u2bio1ú22b3m2n2b3p2n2b3p2s2b3p2t2b3t2s2b3t2z4caca44caga44cago42c3c2n2c3c2t2c3c2z2c3f2t2c3g2ncito1h2c3m2nco4artco4ártco4ercco4erzco4optco4ord2c3p2n2c3p2s2c3p2t2c3t2s2c3t2z4culo42d3c2n2d3c2t2d3c2zdeca1hde3seo2d3f2t2d3g2n2d3m2n2d3p2n2d3p2s2d3p2t2d3t2s2d3t2zeco1a2eco1á2eco1e2eco1é2eco1i2eco1í2eco1o2eco1ó2eco1u2eco1ú24edle_4edlo_4edme_4edte_emi2o2endo1hento1h4e3rá_4e3ré_4erla_4erle_4erlo_4erme_4erse_4erte_euco1heuro1hfono1hfoto1hgeo1a2geo1á2geo1e2geo1é2geo1i2geo1í2geo1o2geo1ó2geo1u2geo1ú2hemi1hhemo1hhexa1hhomo1h4íais_2i3ca_2i3co_4í3da_4í3do_4i4er_4i3ga_4i3go_4ísmo_iso1a2iso1á2iso1e2iso1é2iso1i2iso1í2iso1o2iso1ó2iso1u2iso1ú24ísta_kilo1h2l3c2n2l3c2t2l3c2z2l3f2t2l3g2n2l3m2n2l3p2n2l3p2s2l3p2t2l3t2s2l3t2zma4l3hmaxi1h2m3c2n2m3c2t2m3c2zmega1h2m3f2t2m3g2nmili1hmini1h2m3m2nmono1h2m3p2n2m3p2s2m3p2t2m3t2s2m3t2znamo1h2n3c2n2n3c2t2n3c2zneo1a2neo1á2neo1e2neo1é2neo1i2neo1í2neo1o2neo1ó2neo1u2neo1ú2neto1h2n3f2t2n3g2n2n3m2n2n3p2n2n3p2s2n3p2t2n3t2s2n3t2zocta1hocto1homni1h4ones_2o3sa_2o3so_para1h4pedo4poli1h3p2sic3p2siq4puta44puto42r3c2n2r3c2t2r3c2z2r3f2t2r3g2n2r3m2nromo1h2r3p2n2r3p2s2r3p2t2r3t2s2r3t2z2s3c2n2s3c2t2s3c2zsemi1h2s3f2t2s3g2n2s3m2n2s3p2n2s3p2s2s3p2ts3tal_s3tes_s3tor_2s3t2s2s3t2zsup6ra2t3c2n2t3c2t2t3c2ztele1h4teta_2t3f2t2t3g2n2t3m2ntopo1h2t3p2n2t3p2s2t3p2t2t3t2s2t3t2zu4teriwa3s4h2x3c2n2x3c2t2x3c2zxeno1h2x3f2t2x3g2n2x3m2n2x3p2n2x3p2s2x3p2t2x3t2s2x3t2z2y3c2n2y3c2t2y3c2z2y3f2t2y3g2n2y3m2n2y3p2n2y3p2s2y3p2t2y3t2s2y3t2z", + 7 : "_ana3li_aná3li_ane3xa_ane3xá_ane3xe_ane3xé_ani3ll_ano5ta_ano3tá_anti1h_an2ú2__anua3l_anu3bl_anu3da_bi1aur_bi1ó2x_en1apa_en1arb_en1art_he4mee_hu4mea_hu4meo_mala1e_pre2a2_pre2á2_pre2e2_pre2é2_pre2h2_pre2i2_pre2í2_pre2o2_pre2ó2_pre2u2_pre2ú2_pro2a2_pro2á2_pro2e2_pro2é2_pro2h2_pro2i2_pro2í2_pro2o2_pro2ó2_pro2u2_pro2ú2_re3abr_re3ábr_re3a2q_re3a2z_re3i2m_re3inc_re3ing_re3ins_re3int_re3o2b_re1unt_so3a4s4a3ban_4a3bas_acante2acto1a2acto1á2acto1e2acto1é2acto1i2acto1í2acto1o2acto1ó2acto1u2acto1ú24a3das_4adlas_4adles_4adlos_4adnos_4a3dor_4a3dos_aero1a2aero1á2aero1e2aero1é2aero1i2aero1í2aero1o2aero1ó2aero1u2aero1ú2afro1a2afro1á2afro1e2afro1é2afro1i2afro1í2afro1o2afro1ó2afro1u2afro1ú2aí5sos_4a3mos_anfi1a2anfi1á2anfi1e2anfi1é2anfi1i2anfi1í2anfi1o2anfi1ó2anfi1u2anfi1ú2anglo1hante1a2ante1á2ante1e2ante1é2ante1i2ante1í2ante1o2ante1ó2ante1u2ante1ú24áosla_4áosle_4áoslo_4a3ran_4a3rán_4a3ras_4a3rás_archi1h4a3ren_4a3res_4a3rés_4a3ría_a3rios_4a3rís_4a4rme_4a3ron_4a3ros_4a3sen_4a3ses_4astes_auto1a2auto1á2auto1e2auto1é2auto1i2auto1í2auto1o2auto1ó2auto1u2auto1ú2bi1u2ní4cagas_centi1hciclo1hcito1a2cito1á2cito1e2cito1é2cito1i2cito1í2cito1o2cito1ó2cito1u2cito1ú23c2neorcnico1hco4accico4actico4adjuco4adyuco3agenco4e3táco3exisco4imbrco4incico4i3tocon1urbcrono1hdeca1a2deca1á2deca1e2deca1é2deca1i2deca1í2deca1o2deca1ó2deca1u2deca1ú2decimo1desa3fidesa3fídesa3güde4s3eqde3signde3sollea3cia_ea3cio_4eadla_ecano1hectro1h4edlas_4edles_4edlos_4ednos_4e3dro_4eedla_4emboca4e3mos_endo1a2endo1á2endo1e2endo1é2endo1i2endo1í2endo1o2endo1ó2endo1u2endo1ú2ento1a2ento1á2ento1e2ento1é2ento1i2ento1í2ento1o2ento1ó2ento1u2ento1ú2entre1h4éosla_4éosle_4éoslo_e5r4ad_e5r4an_4e3rán_e5r4as_4e3rás_4e3rés_4e3ría_4e3rís_4erlas_4erles_4erlos_4ernos_4e3ros_euco1a2euco1á2euco1e2euco1é2euco1i2euco1í2euco1o2euco1ó2euco1u2euco1ú2euro1a2euro1á2euro1e2euro1é2euro1i2euro1í2euro1o2euro1ó2euro1u2euro1ú2expoli4extra1hfono1a2fono1á2fono1e2fono1é2fono1i2fono1í2fono1o2fono1ó2fono1u2fono1ú2foto1a2foto1á2foto1e2foto1é2foto1i2foto1í2foto1o2foto1ó2foto1u2foto1ú2gluco1hhecto1hhelio1hhemi1a2hemi1á2hemi1e2hemi1é2hemi1i2hemi1í2hemi1o2hemi1ó2hemi1u2hemi1ú2hemo1a2hemo1á2hemo1e2hemo1é2hemo1i2hemo1í2hemo1o2hemo1ó2hemo1u2hemo1ú2hexa1a2hexa1á2hexa1e2hexa1é2hexa1i2hexa1í2hexa1o2hexa1ó2hexa1u2hexa1ú2hidro1hhisto1hhomo1a2homo1á2homo1e2homo1é2homo1i2homo1í2homo1o2homo1ó2homo1u2homo1ú2ia5res_2i3cas_icono1h2i3cos_4i2dal_4í3das_4i3deo_4í3dos_4i3gas_4i3gás_4í3mos_infra1hintra1h4ísmos_4ístas_4í3tes_kilo1a2kilo1á2kilo1e2kilo1é2kilo1i2kilo1í2kilo1o2kilo1ó2kilo1u2kilo1ú2li5áreamacro1hmante4amaxi1a2maxi1á2maxi1e2maxi1é2maxi1i2maxi1í2maxi1o2maxi1ó2maxi1u2maxi1ú2mega1a2mega1á2mega1e2mega1é2mega1i2mega1í2mega1o2mega1ó2mega1u2mega1ú23mente_micro1hmili1a2mili1á2mili4armili1e2mili1é2mili1i2mili1í2mili1o2mili1ó2mili1u2mili1ú2mini1a2mini1á2mini1e2mini1é2mini1i2mini1í2mini1o2mini1ó2mini1u2mini1ú2miria1hmono1a2mono1á2mono1e2mono1é2mono1i2mono1í2mono1o2mono1ó2mono1u2mono1ú2multi1hnamo1a2namo1á2namo1e2namo1é2namo1i2namo1í2namo1o2namo1ó2namo1u2namo1ú2necro1hneto1a2neto1á2neto1e2neto1é2neto1i2neto1í2neto1o2neto1ó2neto1u2neto1ú2norte1hocta1a2octa1á2octa1e2octa1é2octa1i2octa1í2octa1o2octa1ó2octa1u2octa1ú2octo1a2octo1á2octo1e2octo1é2octo1i2octo1í2octo1o2octo1ó2octo1u2octo1ú24o2ica_4o2ico_oligo1homni1a2omni1á2omni1e2omni1é2omni1i2omni1í2omni1o2omni1ó2omni1u2omni1ú22o3sas_2o3sos_4ósteo_paleo1hpara1a2para1á2para1e2para1é2para1i2para1í2para1o2para1ó2para1u2para1ú2penta1hpiezo1hpluri1hpoi3de_poli1a2poli1á2poli1e2poli1é2poli1i2poli1í2poli1o2poli1ó2poli1u2poli1ú2pos3ta_pre3olíproto1hradio1hranco1hretro1hrmano1hromo1a2romo1á2romo1e2romo1é2romo1i2romo1í2romo1o2romo1ó2romo1u2romo1ú2san4c5tsemi1a2semi1á2semi1e2semi1é2semi1i2semi1í2semi1o2semi1ó2semi1u2semi1ú2seudo1hsobre1hsocio1hs3tora_supra1htalmo1htele1a2tele1á2tele1e2tele1é2tele1i2tele1í2tele1o2tele1ó2tele1u2tele1ú2termo1h4tetas_tetra1hti2o3coti2o3qutopo1a2topo1á2topo1e2topo1é2topo1i2topo1í2topo1o2topo1ó2topo1u2topo1ú2tropo1hultra1hxeno1a2xeno1á2xeno1e2xeno1é2xeno1i2xeno1í2xeno1o2xeno1ó2xeno1u2xeno1ú2", + 8 : "_an3aero_ane3xio_ane3xió_ani3dar_ani3mad_ani3mád_an3i2so_an3i2só_ani3vel_ano5che_ano5din_ano5mal_anó5mal_ano5nad_ano5nim_anó3nim_anti1a2_anti1á2_anti1e2_anti1é2_anti1i2_anti1í2_anti1o2_anti1ó2_anti1u2_anti1ú2_anua4lm_de2s2a2_de2s2á2_de2s2e2_de2s2é2_de2s2i2_de2s2í2_de2s2o2_de2s2ó2_de2s2u2_de2s2ú2_en1aciy_en1anch_en2artr_eno3jar_hepta1e_ina3nic_in3anim_iná3nim_in3apel_iné3dit_in3efic_ini3cia_ini3ciá_ini3cie_ino3cua_ino3cuo_intra1o_intra1u_inú3til_mal1est_mal1int_pos3tin_pos3tín_re3a2eg_re3alim_re3anim_re3aním_re3orga_retro1a_re3unir_re3unír_re3usar_re3usár_su2b2a2_su2b2á2_sub3arr_su2b2e2_su2b2é2_su2b2i2_su2b2í2_sub3ími_sub3índ_su2b2o2_su2b2ó2_su2b2u2_su2b2ú2_sur1est_sur1oes_tra2s1a_tra2s1o_tri1ó2x4a3bais_4a3ción_4ádmele_4ádmelo_4a3dora_4ádsela_4ádsele_4ádselo_4ádtele_4ádtelo_4ándola_4ándole_4ándolo_4ándome_4ándoos_4ándose_4ándote_anglo1a2anglo1á2anglo1e2anglo1é2anglo1i2anglo1í2anglo1o2anglo1ó2anglo1u2anglo1ú24áoslas_4áosles_4áoslos_4a3rais_archi1a2archi1á2archi1e2archi1é2archi1i2archi1í2archi1o2archi1ó2archi1u2archi1ú24a3reis_4a3réis_4a3ríais4a3rían_4a3rías_4a4r3la_4a4r3le_4a4r3lo_4árosla_4árosle_4ároslo_4a4r3se_4a4r3te_4a3seis_4asteis_biblio1hcardio1hcefalo1hcenti1a2centi1á2centi1e2centi1é2centi1i2centi1í2centi1o2centi1ó2centi1u2centi1ú2ciclo1a2ciclo1á2ciclo1e2ciclo1é2ciclo1i2ciclo1í2ciclo1o2ciclo1ó2ciclo1u2ciclo1ú2cnico1a2cnico1á2cnico1e2cnico1é2cnico1i2cnico1í2cnico1o2cnico1ó2cnico1u2cnico1ú2co4a3dunco4a3gulco4á3gulco4a3licco4aptacco4e3ficcon1imbrcontra1hco4o3perco4o3pércripto1hcrono1a2crono1á2crono1e2crono1é2crono1i2crono1í2crono1o2crono1ó2crono1u2crono1ú2de4s3abrde4s3agudesa3lindesa3livde4s3almdesa3lojde4s3anddesa3pañdesa3pegde4s3armdes4armede4s3asndesa3tindesa3yundesa3zondesa3zónde3semejde4s3endde4s3enjde4s3enmde4s3enrde4s3ensde3s4ertde3s4értde3siderde3sidiade3sidiode3siertde3socupde3solacde3soladde3soncede4s3ovade4s3ovide4s3oxide4s3oyede4s3oyéde3suelldodeca1hea3cias_ea3cios_ecano1a2ecano1á2ecano1e2ecano1é2ecano1i2ecano1í2ecano1o2ecano1ó2ecano1u2ecano1ú2ectro1a2ectro1á2ectro1e2ectro1é2ectro1i2ectro1í2ectro1o2ectro1ó2ectro1u2ectro1ú24édmele_4édmelo_4e3dros_4édsela_4édsele_4édselo_4édtele_4édtelo_entre1a2entre1á2entre1e2entre1é2entre1i2entre1í2entre1o2entre1ó2entre1u2entre1ú24éoslas_4éosles_4éoslos_e5r4áis_4e3réis_4e3rían_4e3rías_4e3rior_4érmele_4érmelo_4érsela_4érsele_4érselo_4értele_4értelo_extra1a2extra1á2extra1e2extra1é2extra1i2extra1í2extra1o2extra1ó2extra1u2extra1ú2gastro1hgluco1a2gluco1á2gluco1e2gluco1é2gluco1i2gluco1í2gluco1o2gluco1ó2gluco1u2gluco1ú2hecto1a2hecto1á2hecto1e2hecto1é2hecto1i2hecto1í2hecto1o2hecto1ó2hecto1u2hecto1ú2helio1a2helio1á2helio1e2helio1é2helio1i2helio1í2helio1o2helio1ó2helio1u2helio1ú2hemato1hhidro1a2hidro1á2hidro1e2hidro1é2hidro1i2hidro1í2hidro1o2hidro1ó2hidro1u2hidro1ú2hipe2r3rhisto1a2histo1á2histo1e2histo1é2histo1i2histo1í2histo1o2histo1ó2histo1u2histo1ú24ía3mos_icono1a2icono1á2icono1e2icono1é2icono1i2icono1í2icono1o2icono1ó2icono1u2icono1ú24i3deos_4i3gáis_infra1a2infra1á2infra1e2infra1é2infra1i2infra1í2infra1o2infra1ó2infra1u2infra1ú2inter4ésinter4inintra1a2intra1á2intra1e2intra1é2intra1i2intra1í2intra1o2intra1ó2intra1u2intra1ú24í4s3te_4ística_4ístico_macro1a2macro1á2macro1e2macro1é2macro1i2macro1í2macro1o2macro1ó2macro1u2macro1ú24meable_megalo1hmelano1hmicro1a2micro1á2micro1e2micro1é2micro1i2micro1í2micro1o2micro1ó2micro1u2micro1ú2miria1a2miria1á2miria1e2miria1é2miria1i2miria1í2miria1o2miria1ó2miria1u2miria1ú2multi1a2multi1á2multi1e2multi1é2multi1i2multi1í2multi1o2multi1ó2multi1u2multi1ú2necro1a2necro1á2necro1e2necro1é2necro1i2necro1í2necro1o2necro1ó2necro1u2necro1ú2norte1a2norte1á2norte1e2norte1é2norte1i2norte1í2norte1o2norte1ó2norte1u2norte1ú24o2icas_4o2icos_o4i3dal_4o2i3de_o4i3dea_oligo1a2oligo1á2oligo1e2oligo1é2oligo1i2oligo1í2oligo1o2oligo1ó2oligo1u2oligo1ú24ó3loga_4ó3logo_4ósteos_paleo1a2paleo1á2paleo1e2paleo1é2paleo1i2paleo1í2paleo1o2paleo1ó2paleo1u2paleo1ú2para2is_para4ísopenta1a2penta1á2penta1e2penta1é2penta1i2penta1í2penta1o2penta1ó2penta1u2penta1ú2piezo1a2piezo1á2piezo1e2piezo1é2piezo1i2piezo1í2piezo1o2piezo1ó2piezo1u2piezo1ú2plan4c5tpluri1a2pluri1á2pluri1e2pluri1é2pluri1i2pluri1í2pluri1o2pluri1ó2pluri1u2pluri1ú2poi3des_poli4arqpoli4árqpoli4u3rpos3tas_pre3eligpre3elijpre3eminpre3exispreo3cuppreo2cúppre3opinproto1a2proto1á2proto1e2proto1é2proto1i2proto1í2proto1o2proto1ó2proto1u2proto1ú2radio1a2radio1á2radio1e2radio1é2radio1i2radio1í2radio1o2radio1ó2radio1u2radio1ú2ranco1a2ranco1á2ranco1e2ranco1é2ranco1i2ranco1í2ranco1o2ranco1ó2ranco1u2ranco1ú2retro1a2retro1á2retro1e2retro1é2retro1i2retro1í2retro1o2retro1ó2retro1u2retro1ú2rmano1a2rmano1á2rmano1e2rmano1é2rmano1i2rmano1í2rmano1o2rmano1ó2rmano1u2rmano1ú2seudo1a2seudo1á2seudo1e2seudo1é2seudo1i2seudo1í2seudo1o2seudo1ó2seudo1u2seudo1ú2sobre1a2sobre1á2sobre1e2sobre1é2sobre1i2sobre1í2sobre1o2sobre1ó2sobre1u2sobre1ú2socio1a2socio1á2socio1e2socio1é2socio1i2socio1í2socio1o2socio1ó2socio1u2socio1ú2s3toras_s3tores_su4d3oessupe2r3rsupra1a2supra1á2supra1e2supra1é2supra1i2supra1í2supra1o2supra1ó2supra1u2supra1ú2talmo1a2talmo1á2talmo1e2talmo1é2talmo1i2talmo1í2talmo1o2talmo1ó2talmo1u2talmo1ú23te3ri3ntermo1a2termo1á2termo1e2termo1é2termo1i2termo1í2termo1o2termo1ó2termo1u2termo1ú2tetra1a2tetra1á2tetra1e2tetra1é2tetra1i2tetra1í2tetra1o2tetra1ó2tetra1u2tetra1ú2trans4artrans4ittropo1a2tropo1á2tropo1e2tropo1é2tropo1i2tropo1í2tropo1o2tropo1ó2tropo1u2tropo1ú2ultra1a2ultra1á2ultra1e2ultra1é2ultra1i2ultra1í2ultra1o2ultra1ó2ultra1u2ultra1ú2", + 9 : "_bi1anual_bien1and_bien1apa_bien1ave_bien1est_bien1int_dieci1o2_en1aceit_en1aguaz_enu3mera_enu3merá_enu3mere_in3abarc_in3abord_in3acent_in3adapt_in3aplic_in3arrug_in3asist_in3efici_in3eludi_ine3narr_ino3cula_ino3culá_ino3cule_inte2r3r_mal1acon_mal1acos_pos2t2a2_pos2t2á2_pos2t2e2_pos2t2é2_pos3terg_pos2t2i2_pos2t2í2_post3ind_pos2t2o2_pos2t2ó2_post3ope_post3rev_pos2t2u2_pos2t2ú2_re3afirm_re3afírm_re3ajust_rea3júst_rea3lism_rea3list_rea3liza_rea3lizá_rea3líza_re3ubica_re3ubíca_reu3mati_reu3máti_su3b4ien_sub2i3ll_su4b3ray_sub3urba_su2d1est_sur1a2me_tele1imp_tele1obj_tra2s2oñ4á3bamos_4ád3mela_4ádmeles_4ádmelos_4ádnosla_4ádnosle_4ádnoslo_4a3doras_4a3dores_4ádselas_4ádseles_4ádselos_4ád3tela_4ádteles_4ádtelos_4a4i3gan_4ándolas_4ándoles_4ándolos_4ándonos_4á3ramos_4a3remos_4á3remos_4a4r3las_4a4r3les_4a4r3los_4á4rmele_4á4rmelo_4a4r3nos_4ároslas_4árosles_4ároslos_4á3semos_biblio1a2biblio1á2biblio1e2biblio1é2biblio1i2biblio1í2biblio1o2biblio1ó2biblio1u2biblio1ú2b4ien3do_cardio1a2cardio1á2cardio1e2cardio1é2cardio1i2cardio1í2cardio1o2cardio1ó2cardio1u2cardio1ú2cefalo1a2cefalo1á2cefalo1e2cefalo1é2cefalo1i2cefalo1í2cefalo1o2cefalo1ó2cefalo1u2cefalo1ú2contra1a2contra1á2contra1e2contra1é2contra1i2contra1í2contra1o2contra1ó2contra1u2contra1ú2cripto1a2cripto1á2cripto1e2cripto1é2cripto1i2cripto1í2cripto1o2cripto1ó2cripto1u2cripto1ú2desa3briddesa3certde4s3acotde4s3aficde4s3afilde4s3afinde4s3afordesa3garrde4s3ahijde4s3aliñdesa3marrdesa3moblde4s3anidde4s3animde4s3anímde4s3anudde4s3apoyde4s3arende4s3avisde4s3empéde4s3enamde4s3enchde4s3enclde4s3encode4s3encrde4s3encude3senfadde3senfádde4s3enfide4s3enfode4s3enfóde3sengañde3sengáñde4s3enlode4s3entade4s3entode4s3entrde4s3entude3s4ercide4s3espade3sesperde3sigualde3siluside4s3imande3sinencde3sinfecde4s3inflde3sistende4s3odorde4s3ordede4s3órdede4s3orejde3s4osegde3su3dande3su3darde3su3dasde4s3unimde4s3unirdodeca1a2dodeca1á2dodeca1e2dodeca1é2dodeca1i2dodeca1í2dodeca1o2dodeca1ó2dodeca1u2dodeca1ú24éd3mela_4édmeles_4édmelos_4édnosla_4édnosle_4édnoslo_4é3drica_4é3drico_4édselas_4édseles_4édselos_4éd3tela_4édteles_4édtelos_e5r4a3ba_e5r4a3da_e5r4a3do_e5r4a3ra_e5r4a3rá_e5r4a3re_e5r4a3ré_e5r4a3se_e5r4aste_e5r4ates_4e3ríais_4e3riora_4ér3mela_4érmeles_4érmelos_4érnosla_4érnosle_4érnoslo_4é3rosla_4é3rosle_4é3roslo_4érselas_4érseles_4érselos_4ér3tela_4érteles_4értelos_gastro1a2gastro1á2gastro1e2gastro1é2gastro1i2gastro1í2gastro1o2gastro1ó2gastro1u2gastro1ú2hemato1a2hemato1á2hemato1e2hemato1é2hemato1i2hemato1í2hemato1o2hemato1ó2hemato1u2hemato1ú2hipe2r1a2hipe2r1á2hipe2r1e2hipe2r1é2hipe2r1i2hipe2r1í2hipe2r1o2hipe2r1ó2hipe2r1u2hipe2r1ú24i2dales_4i3gamos_inter4inointer4ior4ís3teis_4í4s3tes_4ísticas_4ísticos_4meables_megalo1a2megalo1á2megalo1e2megalo1é2megalo1i2megalo1í2megalo1o2megalo1ó2megalo1u2megalo1ú2melano1a2melano1á2melano1e2melano1é2melano1i2melano1í2melano1o2melano1ó2melano1u2melano1ú2mili4arioo4i3deas_4o2i3des_4ó3logas_4o3logía_4ó3logos_pe5r4antepoli4andrpoli4éstes3ta3les_s3ti3lla_supe2r1a2supe2r1á2supe2r1e2supe2r1é2supe2r1i2supe2r1í2super4iorsupe2r1o2supe2r1ó2supe2r1u2supe2r1ú2t4eo3nes_tran4sacctrans4ido", + 10 : "_an3e2pigr_ante2o3je_en1aguach_in3aguant_ina3movib_in3analiz_in3apreci_in3aprens_inte2r1a2_inte2r1á2_inte2r1e2_inte2r1é2_inte2r1i2_inte2r1í2_inte2r1o2_inte2r1ó2_inte2r1u2_inte2r1ú2_inu3tiliz_ma4l3e4du_pa4n1afri_pa4n1ópti_post3elec_pos3te3ri_pos3ti3go_pos3ti3la_post3impr_pos3ti3ne_pos3ti3za_pos3ti3zo_pos3tó3ni_pos3tu3la_pos3tu3lá_pos3tu3le_pos3tu3lé_pos3tu3ra_re3a2grup_re3aparec_re3utiliz_re3utilíz_sub3aflue_sub3enten_sub3estim_sub3estím_sub3ofici_su2d1a2fr_su2d1a2me_tran2s1ur4a3ciones_4ád3melas_4ádnoslas_4ádnosles_4ádnoslos_4ád3telas_4ándomela_4ándomele_4ándomelo_4ándosela_4ándosele_4ándoselo_4ándoseme_4ándotela_4ándotele_4ándotelo_4ándoteme_4a3ríamos_4á4r3mela_4á4r3sela_4á4r3sele_4á4r3selo_4á4r3tela_4á4r3tele_4á4r3telo_b4ien3das_centi5áreaco3n4imbride4s3abastde4s3abollde4s3abotode4s3aceitdesa3ciertde4s3acompde4s3aconsde4s3acoplde4s3acorrde4s3activde4s3adeudde4s3adornde4s3aferrde4s3agradde4s3agregde4s3agrupde4s3aherrde4s3ajustde4s3alentde4s3alfomde4s3alforde4s3aliende4s3alinede4s3almidde4s3alterde4s3amoldde4s3amortde4s3angeldesa3pacibde4s3apadrde4s3aparedesa3parecdesa3paricde4s3aplicde4s3apretde4s3aprobde4s3arbolde4s3arrimdesa3rrollde4s3arropde4s3arrugde4s3asentde4s3asistdesa3sosegde4s3atencde4s3atendde4s3atentde4s3atornde4s3autorde4s3embalde4s3embálde4s3embarde4s3embárde4s3embotde4s3empacde4s3empañde4s3empáñde4s3empatde4s3empegde4s3emplede4s3empozde4s3encabde4s3encadde4s3encajde4s3encájde4s3encamde3sencantde4s3encapde4s3encarde4s3encárde3senfrende4s3enfurde4s3engarde4s3engasde4s3engomde4s3engozde4s3engrade4s3enladde4s3enlazde3sentendde4s3enterde3sentiende3sentiénde4s3estimde4s3imponde4s3inhibde3s4interde4s3intoxde4s3inverde4s3obligde4s3obstrde4s3ub4icde4s3unierde3s4ustane4a3miento4éd3melas_4édnoslas_4édnosles_4édnoslos_4é3dricas_4é3dricos_4éd3telas_e5r4a3ban_e5r4a3bas_4e3ra3ble_e5r4a3das_e5r4a3dor_e5r4a3dos_e5r4a3mos_e5r4a3ran_e5r4a3rán_e5r4a3ras_e5r4a3rás_e5r4a3ren_e5r4a3res_e5r4a3rés_e5r4a3ría_e5r4a3rís_e5r4a3ron_e5r4a3sen_e5r4a3ses_e5r4astes_4e3re3mos_4e3ríamos_4e3rioras_4e3riores_4ér3melas_4érnoslas_4érnosles_4érnoslos_4é3roslas_4é3rosles_4é3roslos_4ér3telas_familia3riinter4esarmini4a5turo4i3dales_4o3logías_4o3lógica_4o3lógico_para4ulatape3r4e3miaperpon5d6rpoli4anteapoli4o5mies3ti3llas_s3ti3llón_super4ablesupe4r4a3rsupe4r4á3rtrans4ibertrans4igentrans4igirtrans4itabultra4ísmo", + 11 : "_mal1andant_mal1andanz_pa4n1europ_sub2i3mien_tran2s1alp_tran2s1and_tran2s1atl_tran2s1oce4ándomelas_4ándomeles_4ándomelos_4ándoselas_4ándoseles_4ándoselos_4ándosenos_4ándotelas_4ándoteles_4ándotelos_4ándotenos_4á4r3melas_4á4r3meles_4á4r3melos_4á4r3nosla_4á4r3nosle_4á4r3noslo_4á4r3selas_4á4r3seles_4á4r3selos_4á4r3telas_4á4r3teles_4á4r3telos_de4s3abrochde4s3acelerde4s3acobarde4s3acomoddesa3cralizde4s3acuartde4s3aderezde4s3adorarde4s3advertde4s3agracide4s3agravide4s3alagarde4s3alquilde4s3alumbrde4s3amuebldesa3percibde4s3aprenddesa3prenside4s3aprietde4s3apropide4s3arraigde4s3arreglde4s3arrenddesa3sosiegde4s3atiendde4s3atrancde4s3embargde4s3embolsde4s3emborrde4s3emboscde4s3embragde4s3embrágde4s3embrujde4s3embrújde4s3empedrde4s3empeorde4s3empernde4s3empolvde4s3empotrde4s3encallde4s3encállde4s3enfundde4s3enhebrde4s3entierde4s3entiérde4s3envainde3sesperacde4s3imaginde4s3impresde4s3incentde4s3inclinde4s3incorpde4s3inflamde4s3informde4s3insectde4s3instalde3s4integrde4s3obedecde3s4ubstane5r4a3bais_4e3ra3bles_e5r4a3dora_e5r4a3rais_e5r4a3reis_e5r4a3réis_e5r4a3ríaise5r4a3rían_e5r4a3rías_e5r4a3seis_e5r4asteis_4i3gá3moos_4o3lógicas_4o3lógicos_2o3samente_super4ación4te4r5i4nsutrans4eúntetrans4icióntrans4istortrans4ubsta", + 12 : "_in3ter2e3sa_in3ter2e3sá_in3ter2e3se_in3ter2e3sé_in3ter2e3so_in3ter2e3só_in3te3r4rog_pa4n1a4meri4á4r3noslas_4á4r3nosles_4á4r3noslos_deca2i3mientde4s3acostumde4s3acreditde4s3adormecdesa3guisadode4s3apolillde4s3articulde4s3embravede4s3embrávede4s3embrollde4s3embróllde4s3emparejde4s3emparéjde4s3emperezde4s3enganchde3senvolvimde4s3estabilde4s3impresXde4s3incruste5r4á3bamos_e5r4a3doras_e5r4a3dores_e5r4á3ramos_e5r4a3remos_e5r4á3remos_e5r4á3semos_4e3rioridad_4i3gá3monos_4i3gá3mosla_4i3gá3mosle_4i3gá3moslo_4i3gá3mosme_4i3gá3moste_s3ti3llones_trans4itorio", + 13 : "_in3te3r4rump_in3te3r4rupc_in3te3r4ruptde4s3aprovechde4s3empaquetde4s3empaquétde4s3emparentde4s3esperanze5r4a3ríamos_4e3riormente_4i3gá3moosla_4i3gá3moosle_4i3gá3mooslo_4i3gá3mosela_4i3gá3mosele_4i3gá3moselo_4i3gá3moslas_4i3gá3mosles_4i3gá3moslos_supe3r4á3vit_", + 14 : "4e3rioridades_4i3gá3monosla_4i3gá3monosle_4i3gá3monoslo_4i3gá3mooslas_4i3gá3moosles_4i3gá3mooslos_4i3gá3moselas_4i3gá3moseles_4i3gá3moselos_4i3gá3mosmele_4i3gá3mosmelo_4i3gá3mostele_4i3gá3mostelo_supe3r4á3vits_", + 15 : "4e3ra3blemente_4i3gá3monoslas_4i3gá3monosles_4i3gá3monoslos_4i3gá3mos3mela_4i3gá3mosmeles_4i3gá3mosmelos_4i3gá3mos3tela_4i3gá3mosteles_4i3gá3mostelos_4o3lógicamente_", + 16 : "4i3gá3mos3melas_4i3gá3mos3telas_", + 17 : "_de3s4in3ter2e3sa_de3s4in3ter2e3sá_de3s4in3ter2e3se_de3s4in3ter2e3sé_de3s4in3ter2e3so_de3s4in3ter2e3só" + } +}; \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/patterns/et.js b/alt-implementations/readifry-master/hyphenator/patterns/et.js new file mode 100644 index 0000000..5b2eac0 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/patterns/et.js @@ -0,0 +1,23 @@ +// For questions about the Estonian hyphenation patterns +// ask Peeter Marvet (pets at tehnokratt dot net) +// v 1.0 01.02.2012 / Licence: LGPL v3 +// +// Based on the file: hyph-et.pat.txt +// Copyright 2003 Een Saar (saar at aai dot ee) +// +// The patterns were generated long ago by applying patgen to an Estonian dictionary; +// a few patterns were added later manually to prohibit aa-bits type cases. +Hyphenator.languages['et'] = { + leftmin : 3, + rightmin : 3, + specialChars : "õüäöšž", + patterns : { + 3 : "o1v1ma5šo4šk1še3ša2žž5žü5žö4žt4žp3žo4žn4žm4žl4žk4žj1ži4žf1že4žb1žaü4üü1vü1jü2hü1gü1bä1vä3jä1gä1dä1bäa4öü4ö3õö1vöo2ö1mö1lö1kö1jö1hö1dö1böa24õsõ2põ1jõ1gõ1dõ1b3zo3vä3võ3vi2vf3ve4vbuä2u1va1bu1ta1du1pu1ku1ju1gu1fu1ba1fa1g1tü1tä1tö1tõ3tua1ja1k3ti1ta4sž1sü1sä1söa1m1sõ1su1so1sia1p1se1sa4rš4rž1rü1rä3rö1rõ1ru2rt2rs1ro1ri1re1ra4pš4pž3pü1päa1t5pö3põ3pu1pia1v2phpg41pe4pd4pb1paoü24št4bb2bd4bf4bho1jo1go1f2bm2bn2bpo1b2bsoa24nš4nž1da1nü1nä1nö1nõ1nu2nt2ns1no2dd1de2nk1ni1ne2df1di1na4mž3mü3mä3mö1do1mu2mp1mo1du1mi2dõ4dä4dž1me1lü1lä1lö1lõe1be1d1lu2lt1lo1lie1fe1gl1g1le1la4kš1kü1kä1kö1kõe3j1ku2kt1ko1ki4kg1ka5jä5jõ3joj4ai1že1mi1v2iti1pi1ni1mi1ki1ji1gi1fie2i1di1be1pe1r4ia3hü1hä3hö1hõ1hu4ht1hoh1nh1l4hkh1je1t1hi1he3ha4gä3gue1ve1š2ff1fi4fj4fk1fo4gg4gf2fs3fu", + 4 : "3ter3tee1t2e4aks2td23tav3tamt2al3ta__ää4_õõ43süü3süs2sük2süh5süga3li5süd4süa_öö44säm4säkü2le2sönals44altsö2k4södök4v5sõr3sõn_ür24am_sõ2l_üü42s1vsu5eam4osua2ül2d4amü2an_stä4stt42s1tss2tss2p2anessk4a3ni2s1s4anj2s1r2s1p3soo4ano3son3soi3soeük3l2s1nao4d4s1m2s1lao4jsk2l4skaao2m2s1k2s1jsie43sia4aabao2r2s1h3sep3sei2sehöi4s5segöi4g3sats4ada3piöi4aa3poa1ae5žer4rüm4rükö1g4öep4a3pä4ara4rökaa2h4rõr5žee2r1v2arir4ujrud44arkaa1irt2r3š4irs4ors4l_oa3r3ri2r1r2r1p4rožroa4õõ5prnk42r1nrms4rmp42r1m2r1lrkt42r1k2r1j4riö5riv5riu3rip3rim2rig5rid3riaaa2j2r1h2r1grf4r2r1f5regreb25rea5re_õ1v4r4dü4r1d2r1bõs4a_oo4õ3pa_aa44päsõl2düaa4a3taõi4bp4õiõi4a2p1vpua4ääo42p1tps4a2p1s2prap2r44atuau2ap4püp4põ4audpps4a3uipp3l4p1p3poo3pon1p4o2p1n2p1m4plõp3lup3li2p1k2p1jõeu4õet2av4aõea4_ee42pf4a1õ2a1ö2a1ä2a1ü2p4em4a1š5baape4fpe2aõbe3bab4bae4bag4äu4däs4ppa4eä4rõ4võmo3õ44aanou4nou4b4osõ4oss4osoä4ro2v1v4oslbeb2bef4beg44osf4oseo2sa1orgo3paoo1a2o2oo4läolõ4v3tr2v1sbha44oljo3laok3r2v1r2v5pof5r2v1no4eooe2l2b1j2b1k2b1lbl4eod4š4o1d2v1m2v1l1obj2v1k2b1r2v1jo1aevip4b3so2bt4oa4avid43bumvia2äok44nül2b3v2v1hdaa22vg4ä4kõä2kedae4daf4nõ4l2v1d2n1v_sk45damntt4n4trdao4vav4n3sons4ev4ar2n1rn4ornod44nobvag4nnk4už4l4aatdea22n1n2n1mded4nk3ru1ü22n1jnig4u3är2n1hn2güng3r2n1g2n1fn4esnea25ne_4šaun4dü4n1du1õ22d5g2d1häi2s4nb4did4dig4n4asnad4n4aa4uuta1au4müh4uud4mäk_sp44mök_st44mõpmõ4d2d1j2m1v5mus2d1lmup4mue42d1mmud4mua42d1na5bedo4hu2sü2dosm5tsms4pms4o2m1s2m1rmp3rmp3lu2sõ4moh5absmm4e2m1m2m1l4šakdu4bdue42m1jmi2smip4u2so2m1h2d1vus5gdõ4läe1o2dül4mg42m1f5düüa3di2d2šm4eteaa23meeu2orea2b2md4e1ae2m1be1aiea2j3mal3maalü3huo4h4läna4dö4löeu1o2lõ4leao44lõde1arae2dea2s2l1v3luu2lune3auea2vlue4umf42aeeed4alud43lua4u1meei4ae4fls4o2l1s2l1r2l1p5loilof4u3lu2l1nlmp42l1ml3lullt4lls4llp42l1ll3krlkk42l1k2l1j3lidul4a2l1hl2goüs4ou5jaürd4lf4t4l1f4eha3lete2hile2sleo23lej3lee4aei4ehäl4düei4e4l1d2l1b3lau4aekui4h2kž42ael4käm2käku4gü4köd_ts44kõp2kõiüp3rue4re3ka2k1ve3ke4kužek2l3kusueo44aen4k1s2k2rk4olüp3l2k1n2k1mk2lok2lakks4e3kü4k1k2k1jkio4kie4ae2sua2v2kf4keo21k2e2kd42k3be3likag4u1auöö3oua2sjue4öö5ijag4jad4e2lujab43jaau1anua2li1ü2i1ä4i1õ2i4vüa3gou1aei3uuiu2jiu4bua2bi3sui2souaa4io2pio4jio4h2inet2že2t1žil4ai3ku4ai_eo5aai2aiie3ii4aöö3a4tämiei4üot44tök4töei1auia2sia2hü5nee3plia2gi1ae4tõpiaa2tõ4l2tõi5tõb_uu42t1vh4vo2h1vhup4hue4hu3aerp4ö4räh4täh4töh4trh4toh2ta2t1thrs44hp4tsp42t1sh4mü4h1mt2reh4käh4kõhkt4hks4hk3rhk3l2t1rör4ehio25him4est5hile3suhia2to4otog64h1h3t2o5har2t1ngü4l2t1m2g1vgup4gu3ogu5igue4gub44etu4ajog3trg2ru2g1r4goh2g1neu4peu4s2g1me3uutlu42g1le1õ2e3ö4e1ä2e1ü4ült45faa2g1k2g1jt3krt3klgi3k2t1jti3e2f1lf2lo2g1h2f1na3kitia2ülp42f1rf2regek42t1h2f1tgea42t1f3gaa2gd42g3b4gabgau4gag42gahg4asga3pga3o5gam3šu4", + 5 : "ga3k4gai4g4gart4garvga2hi_al4a5gatagat4r4gaedšis4k_ap3l_ap3rgaa4rftat4_au3a_eba3ge5kl_ek3l_ek5r_gu4a_hie5ge3luge4lä_idi4geok4ge4or4geos4gerg_is4ofo4rofolk5_ja4egi2ajgii4sfii4t4ginf4gintgio4rgi3pl_ja4t_ka4egi4sögit4r_ka2o4fa4dfaa4ne3v4ag4lüte5uske5u2nüü4peüü4loe3u2lgo4lego4mago4po2g1p4e3u2jg2ranüü4leüt4rueu4de3grup4g1s42g1t2e4tümü4t3ret4tüet4täüta4rüs4pr1ette_le4eürik4gu4säguu4jet4sü2g3õ4üpsu4üp5p4et2raüni4shaa4s_ma4a_ma5jhasa4hat4rülo4rhee4mhee4shei4shek4v2hel_hels4het4re2tenhhe4le3t4aesup4hii4ses4tüül5laül5klü4liõülii4ü4lih1üleshi4sü5hitses2pohjaa4es4orh4kalh4kash4kisü5lelh4ko43ülek_mo4eesk3r_nek3ükan4esk3l_ni4peske4hle4nü3hith4mo41ühene5sil_noa3e5senhom4oe5sekävee4es1ane4rudhta2jh5takhta4lht5ar_re4ah4teghte4nhte4rh4tid_re2oät4riht5s4äs4soers4ker2präs4koär2vahui4dhuk4lär4tahu3saerih4hvad4ärii4hve4läret4ä4rarhvu4serek4erei2e4raoänet4ä4nahe3raaiaa4l5ämbläl4koäli2sia4boep4lue4pliä5ker3äke_i1a2jia4kri3akt_se4ai5albäi4sõäisa4ia2meäi4luia2naäi4loäike3ia4neähe5aia2p4äe3a4ia5pria2rei3armia4rui1arveos4fäbut4äbus5i3asu_toa3iat4rööt4riau4l_tus2öö3e4_um2bi4badi4bauö4tü4ö4to4idii4idlu4ö4rülö4ro4i1eeleo5pli1eksör4dai1elui3eosie4riiers4i3esiie5soi5essie4stö4rauö4raaeoo4peo2maöp4lui5garöli2si4gavö2konih4leih4teaaa5leo2lua1aasa4aeraa4feii4esöet4r3öeldii4haiika4ödi4kaai4gaa4isiikt4õõ4taõõre4a5aitaa2laõude3õ4tü4õr4goõr4daii4lüõra4s4õp3rõp2paõpi5e3õmblõ4liti5infii3niõ4limõk4kõiink4iino4õise4õi4koii4nõii4pr3õigu3õieliirs4ii4rüõie5kaalg4õh4vuaal3kii2taõe3luiito4aa4lüzoos4zook4ii4tõii4tüaa4mö4võigii2voeo4jaen4tüvu4sa2v1t2aa5niaant4vir4kvi3plaa4röaa4rüves4pveot4ikop4ikos4i4kovi3kreik3rove4oliks4k4vehivee3kvee3aiku3aaa4soila4svau4dilia4vat4rvas4kil4kõ2vartillo4var4p4varmvap4rvane2ilp3lil4tii5lunva4lüvak4vilü4henk4r4vaiaimi4gva5hevae4r4vabienk5lva4asaa4süu4vauaa4tõuu3sauu4püi4nehaaši5uu5ali2nimutü4hutu4sutt4rut4sout4ruutot4utos2ut4kl1insp1inst4a3baio4deus3ühi3ohti5ohv3abiea4bijio2leusui4io2luus3p4io4lüio2mauso4ra4dadus3krusi4ge5nema4deoi5orki1osaios4fios4pios4tus4fäio4suu5sevuseg4io4tüu3seai3plaip4luip4rou4saeipse4usad4u5sa_u2sa2uro4rurea4ir4nõi2ruiiruu4urde33urb_u4rapu4raguppe4up3lei3semu3plaisi4ga2deru3orgadu4ru4ni_iso4ri3sotun4dois3plunaa4is3spumit4umia43aed_umet4u4mauumaf4a3eesuluo4i4sõm1aeg_isü4remp4ritaa2ul4kruldi4uk4viu5kroits3kit4soitte1itt4semos4iu2daiu4giemne3i3ujuiu4laukop4ukki5iu2moiu4niiu4puiu5saae4giiu2suiuti4e5matu4jumi4vadu4juj3aegnui4voi4vaui4vehive4lui4toel4ühui4siuina25uim_u3ilmu3ihae5lubja1ajjaa4ljaa4rjaa4s1elu_el4tüja5eljae4relt2rja3i2a3eks5jama5jamejao4hja3p4ui2gauidu5jat4rug2rajau4bjau4lje3luels4tjoo4kelo4p5jumaae2leae4lo4ae2mue2mau3eksu3eelu5ealka5ajka4aludo4rudeo4u4dehae4pi4kaed4kaega3esie4liduau4d4kaia2kain4aettu3asta4feku5artua2reka4plka2pr4karmua4nuk5asjkat4ru3allagia4u3aktke4elua2ja2kehi4keksu3ainuai4kua4he4kemb2ken_5keneu5abikes2kagud43tžem5tžek5ahnutü3hi2k1h4el4an5aiankik4r4kinfe2lamki4prkis4aai4hutä5keai4kekit4rkiu4dtöö3ptöö5kai4klk3kraa3ilmai4lu2k1l44tõ4nk3la_aimp4k3lai4ain_k3lana5inf4ainsk3lat4tuudkle4ak4leek2leitusü4k3lemk4libtu5suklig4k2liitus3stu2sik3likk3lintus1a4tuimttes2ttee2k2lubt4tadai4prai2sak4lutt4sort2sooknaa4k4niptsig42koksts4aat3s2a4trüü3t2rüt3rig3trepko4va2k3p44eks_t4reit2rant2raf3krabt4radk3raiai4va4krank3rau2t3p4tost44kregtos4pk5ret4kripa3ja_k4rohtoen4tmis3k3rut3kruuajut44k3rü2t1l4k5saek4saiksek4ksi2k2t1k2ksit4ksk4lks5kõak4asks2prkst3rks4tüek3rekt2rae3k4okui4s4tinf5tima4tilm4kukskul2d2kulptik4otii2kek4loak4krkut4rthõl44t1g4tes4ktes4ak4vanters44tergterd45ter_ei4tõk5õis2tepptep4ltek4vtek4rkäi5ste3klte3hiei2lu2kühe4külete4ete3ilmei4heei4ha5laagla4ajlaa2rte5aste3an2laavtea4h4ladj5ladulae4r3laev4lahvtea4gte4aaak3ro2t1b4a2ku_lak4v2taut4laldta4sü4lals2tart3lama3lamp4lams4tarm2lanilap4lta4pr4larüta4ot4lasb5tamata3lu4taisl2asi2tabial4et5laudlau4nsü4ra4lavhei2gal4baulb4lo4sülosü4las3üksl4dons3ühial2lüle1a2a4lob4alu_a4lud1alunle3hi2s3õu5lehtsõsa44lekkalü4h2s1õpa4lüt4lele3sõlma5ma_3sõit4sõie3sõidle3oh4s3õhle4ple3hinsõ4dele3sõe2he_5sõdae4goilfoo44suugegaa4l4gael4gaisut4üsut4r5sus_4surbsu4prsupe4ee4tä5sulg4suksee4süamit4li5amlia4vsu4dusud4rs4tüh4liialiie45liigs4tär5lik_stu2sst4sos4tot4lilms4tops4toh4linfstet44lins4stam4linvlio4ks2taasst5rss4tiss4kea4nehssin4li4sölit4rli5tu2ližess2fälja1aan4krs5per3ankul4klilk4lu2s1os3sortl5lers3orjl2lor5sor_so4prsoo5oanos4so2mal4lää5solo2so2llmat4l4maus1ohteent4ee4no4anstlod4r3sobisne4p4loha4lohvao4helok4r2lo2ll1olea3oht3loloskuk45loogao2le4lord4lorn2losaski4gs5kenao2lulp4lel4puka3omalrih4ao4nuls4kalske4ee2lalste4eek4rl4taulti4ll4tok5sisusis2pl4tukl4tõml4tääl4tütee4fee3eeslu3alsi3se5siru3lug44luhk4luim4sirr4luk_3lukk4sinssikt4sii4gluo3r5signaoo4psia4hao2pelu4sö3lutalut4r2s1g2e4asslvel4ea4reea2pa4lõie5lõik4lõis4lõitea4nulõ3pelõp2pe5ann2s1f2ea2me3sestses4ka1osaseo4rea2lalü4maseo4peak4vse5omseo4kse5ohmaa3pma4bima1e2mag4l5mahl4mahv4sens2seluma3klmak4veak4s3selt5selima4omma3pl4mart4marvma5sese3klma4st3sekama4sä4mautea2himbat4sei4dmblu4mbo4jao4sue3abie1aasme1a4me4anea3aj5sehämee4sme3hi4mekvmers4mert45sehu3dšem4met_4metl2metn3seho4mettme5u44dü4rdü4lidusk43sehamia4mmia4r4midea1otsa2par4minfmi3ni3seerd4u2s3seadmi3si2s3d22s3b24satlsase4sa2prs4anus4ant4sank4samp3s4am2m3k42d3t2dsar45salvmma4s2d1s4mme4r3salt5saksm4mor2m1n4s1aind2renmo4ham3oks4morg4mornmo3sad4relmpa4lm4pap4saiadrao43sai_mruu42d1r42d3p45dosk2m1t2d3osadoi4rdmi4kmu5ahdmee44sahvmui4m4mulsdle4vdkop4sa4gu2d3k4dit4r4mõigs4agesae4l2s1ae4sade5sada4sabodi2os4dini4dilm3sabasa4anna5ahsaa5j3s2aaa3plana5einag4l4rü4rnai4dap3ri4rä4ra4prur5õli2rõ2lr4vokr4vohna3o4nap4l4ruur4narvdii4g4nasbnass4rut4rnau4bdia4vderu45rus_n4dabn4dae4rumpnda4ln4daundif4ndip42rummn4duj4rumb5dero3rumaru3krdere42rua4r4trirt4ranei4vr4tosr4tah1arstneo4dne4pl2nerg3arua1arvu4rosade4pr2romin4gai4rombrok4kn4gaung4lüro3e2r4nehngud4r4nada4sau5del_dek4sni3apnia4vdek3lnii4grmo4sr4mig4nilm5nimar4kekr4kad3nimias4fä4niml4nintrio4r4rilm4nisl4dehe5riie2riib2dee_nk4senkst42n1l4de5av2deaanna3enna5irig4r3rigennio42d5b2asip4ri3amaskõ44noksr4geh2darv2n3p44darurg3ahr4gaea4soknsk5r4darbnso4rnste4aso4pret5sre4trnst3rns4tunsu4sret4kre3ten4tehnte4lntig4re2pr4repp5relvnt3rant3re4reksrek3l2rehi3reetnt5sü4dannn4tühn4tük3reernu4danui4gnur2knus4pas3plas2pod5ain4nõlida4doass5tda5abr4dujrd4rebuse5bu4lõ4buksbros4o5akurde3ao5apaoau4b3brigoba4s4bortb2lonodaa4r2daro4dehr4daeblet4oe5a4oe4febis4ko3eleoe4mioe4mubi4si4astioe4rõoe4sioet4rbis4ar4bae4binõog4laog4li5ravioh5to4rauroi2taoiu5abi4enoju2s4raumokku5ok3la2raukrau2d2bi1eok4reok4riraua3ok4rubia4vo4laeolag42rarv4rarsol4do4rarb4raptra4plolig4o3lii4rapara3omo3lis3rameral4t2rainol4lüraie34o3lo5raaš4raav1olu_a4sudpü3hebet4rasui4a5suua4tažpõli4o4mokona4ao4najpõi4so4nehpõhi3pus4p4purtoniu4puk4kpui4to4nuube4stbe4sipuha4ook4rpu4dap4tak3p2süp4sorats4p5pruuoo4lõoo4lü4prump4roop4rog2priioonk4oono44priboons4p4repp5rau3prag3praaoo3saat4süoo4tõatt4saua3lop4luop3raop3rip4pudp2p3r4au2jppee45oravppe3abero4org4roria43orjup4pas3ornappa4kau4keort3roru4sor4võberk4aulu35po4ep4neua5urgaus4oau2suo2si_4osinp3lombe3a4bat4ro4sokos1olos4pa3plok1autoos4süplek2p3lam4ostop4lakp4laa4pla_oto5aotok4ga5is2p2l43otsao5tsöot4tapiu4gpip3rotü4lpin2dba4rõbap4rpik5rovio4ovol4pii4vbap4lbak4vbak4saut4ra3vara4veh5perdpe4olpans4pa4praž4ni3parkpel4tpa4sppela4ba4hebaa4sbaa4kpea5jpeas4pe4aupea3vbaa4got2ra", + 6 : "4pektrga4va_4partape4lü45paraspa4lusba3k4rpe4tappeti4kga4vanpa3a2ma4vanspaa4kao4vu4novaa4lbasa4s4gaast_art5rpis5taot4teoauto5sautoo4o3tranbas4ko5osutige4du_3plaatost4ruos4tem3frees3plasm_eela44gekse3plekk4p3lemos4saj5pliiapliig4bas4pe3oskusa3usul3pluusbe4lü4o4seksbe2ra24o3sauau4pü43osakoaulus4o4sakepoo4lage4lahpordi5or4talor4nelgela4s3ordero4ranage4leho4ralgau4de_o2r3aiau4ba_ge4nanbe4rõ4oo4seloo4reeoo4rat3prakto5optioon5t4p4resioo4noh_ise5ep5riitoo4nauoo4nar4p4ros3p4rotoo4nahoo4logge4rusat4soooo4ligoo4leeat4rusoo4lauat4ros5atroooo4kääoo4kalont4reonsoo4pul4tionit4ron4gosatmi4katii4vo4nelegi4sanona4koom4banom4baj3omadupär4gua4sussgi4silo4luksgi4vaja4su4b_ke5hiraal3a4raale_kip5rraa4lu_ku4pl_ku5sa4raattraa4tuol4tarol4tamol4maiollis4r3ainerai4signe4taol4laera4lusbi4ala_la4pl3g2ravolii4go4lend3olek_ole4anra4renola4sue4tõ4dra4sal4rasenra4sisrast4rra4sukra4sulra4sut5ratas5ütlevütee4lo5krisokoos4raud5oet4truokast4üs4tasrau4te3ohaka5astmebi4plaoe4rahodu4sõodaal3o3analbu4si4bus4krdaala4as4sana3sporda4lehda4lumree4leüs4talgu4nelda4lusnt4saras4petnt4sanrei4sent4salnt4sabre4laiet4tajda4numre4mään4totsn4tisorep3rere4sinntaa4rdarat4nstis4ns4temns4teeas3oledar4den4salp4da4rerga4renoo4nargi4mer5g2ragu4senas4kõld3arv_4dasenri5ast5asjanda4sumri4ga_n4ne4fnnak4rn4ka4ndee4le4riinuri4kisri3k4rnis4kea4sindri5oksni4sidasi3anrip4li4rip2p_le5hiri4sahri4sarri4ses4risolri4tolri3t2ret4soo1a2si_ni4miget4sina4sett5nimetrk5ainrka4senima4sa4sesea4seos1a2senr4mald_le5se_lõpp3rmo4ranii4tuhaa4riase4made4laungus4tümi4koa4sameüma4ruar4vään4go4rn4gaserol4larol4len4gall4deluvro4noproo4gane4tõmros4po_maa5arost4rne4tanetii4srp5ret3arvamül4meie3sporrsaa4lne4leka4ro4lr5s2pors4takhi4san4nelasne4lah3ülikonee3lunee4lert5roort4saiar4kelnee3laari4apari4alde4relde4repndu4sõn4do4rnda4kon4daasru4setru4sinru4sulnat4raruum5ana4ret3arhitrva4larva4lur4vannrvas5krvis4khi4sarhise4l3aretuna4miiül4geerõn4gu5arenga4rasearak4kröö4perööp5l2nal4üna4kruap3ronnai4siap4pisnah4keap4pinap4paldiina4ül4gavnaa4lusaa4ludii4sa4s3aasdii4susa4bi_ülesä4a3parvdi4plodis4ais5aderdi4sardi4sas5sa5gadis4prmut4radlust4hi4st43dreen3drenas4ajansa4ju_sak4roes3ole4saku_sa4kääes4laa4salass4alat_mi5sasa4lev4salla4sallummika4sa4lumm4maat2d5uksmitte3mis3ts4s5annmist4r4santiüld5a2sa4nummis3k4sa4riss4arv_sar4vami4sil3sasties2k5ösa4suksa4suma5parth4kuskük4kasmi4sihmi4siges5kelmis1a2se3alas5ealieska4sse4du_4seelasee4les5eelnsee4ma4seepidu4s1asee4si3ühik_4se4femi4nahsega5ami4kajdu4seemet4seme5s4omee5lamb5usambe2r3sei4sieska4jma5sinühe5i4se4laj4selekmal4ma4selluma4la__nisu54majammaa3lama3abimaa2b4hnika5e3ala_lääne5sepat44serem4sese_se4si_üdame5s5esitlän4gie1a4lu_pap4pse3t2r4settee5amete5astea5oras_pea3alu4sumää4kinlu4seelu4rausig4ra1e2se_lu4niosii4sasii4se4siitssii4tusi4ketsiko4dsiks4plu4ninsik4vi4sinimhta4sue5asutsio4lesi4prolu4juke3ava_er4tese3ealier4taklt4sississe3er4taalt4sel3eelarsja5aräs4sanl3plaa_rep3rska4noäs4nais4kelae4ro4reel5uul3osa__re5sos5klas5sklerlo4man3skulpsku4sil3olijee4naisma4saer4naulo4gal3antenee4nalee4naml4meks3ansams5oks_lmaa4vs3oleks3olijee4paiso3luteri4uu5eeposan4nahee4ral4so4peeer5apl4lotslli3tree4rosee4rot4sotsuee4sin5ärritlja5osa4nisossel4l_rü5hili4sõls4sinfli4suj4lisolan4dogs5sporan4deos5statli4sikli4sahs4sussan4dasli3p4l3staad5staašs4tainlin4teär4kar3starts4tatiäri4kls4teno5stepp4linimlimi4shvast4lik4roärge4l5strekh4vinili3kla5ergutlikai4ära3o43stuud3analülii4nali4ga_ä4ra5aam4palsu4barli4dan_sak5rli4alasu4julee4tõms5uks_l4gu4jsul4gaän4to4su4nisl4gi4dsupe5s5eraldlgas4kl4gasesus4aasu4sess5uss_sus4tisu4sunl4gannl4gallegas4tsuu4rasuusa33ametnsvus4ta4maad4lette4lese_le5olu5ehistlenaa42s1õig2s5õisle4mor5lema_2s3õlile4lekän4deo4lektr5leks_1e4hit4lehitleep5rlee4leleek5l5ehitieh4ta4al4luji3aasti5a4bi_sap3re3ots_al4ged5algatei4dulalet4tl5distl4dalasül5disü3lemeie5rilau5sue3iga_ale4lea4laühi3aine3alald3taat_i1a2la4t3aedt3aine4lasen4ta4ko_skaa5äi4tarta4levi3allila4semta4lusi1a2lula4sei4tandala4sasta4pla4l1arv_so5lila4nesla4lusi5andjta4sesta4setta4sisla4lesla4la_la3k4rta4vajla4javi5andmla4japlai4gaäidi4s5laavalaa4salaar5aa3kriitee5lu4küll_ei4memtehi4s5eine_ei4rooi5anneba4ju_te4lokte3lu_4tepiväga4riei4taua5kliikõ4de_te5r4aei4va__teoo43kvarte4kahite4sinek4kapak4laukuuse5a3klaskuu4niku4sivak4kis3aken_kummi5tii4matii4satii4ve_tet3rti3k4rtik4vikuk3la4kujum4kujujtin4gati4saitisa4vti4siktitee4ksp5loksika4a4kaatakaa4se3krii3kruvi1a2jamtmika4k4rooka4jalu5ajalo4to4da3krohva4jale4toks_i3aparto4lekto4lu_to4lumtonis4_tina5too4notoo4peto4rau5k4resias4keia4tel3kramp3k4rae3kraav3trafot4rahh5trall_tsi4s3transt4rate5traumaist4r3treenk4raan5treimk5osa_4korpi5triib5triipe5osavtri4plt4ross3trumm5t4rup3t2ruu3öölankoo4sa_tu3sako4len_ul4gatsa5ist4saju_ulu4k3tsehhtse3lae3osak5ideaa4tsenaös4tii3ekseme3osa_t4sink_vaa3lts4laaeksi3k3ekskaklu4sõt4sussklu4sak3lus_3klotsk3loomt5tsema3inseeksp3rtu4rajk4linki3ealiö4ri4l3kliim_vask3tus3t25klibutu4sä43kleit4tutopi3etentuule5ietu4si4ga4g3klappö2p3au3klaas5ekstrai4me_2t5õunkku4roek4tülelaa4ve4lagrkiu3su4kiste_vere3ki4sikki4san3elamutü5he__õppe5eleis4ah4karölis5aket5ra1a2hi_u3aast_ühi4se4leks5agregke4lokke4lakke4lajkee3lu_üle3e3eleme3ökonou3ametig4ram4kasetu5aparih4tinua5reeka4ju_ka4javii4deoka5istkahe5ikae3luaa4bi_4kaderu4dalukaa4taii4du_kaa4rakaa3dekaa4daelii4tel4kuse4l4obae4lu_juse4lju4seiu4gi4djat4suu5graae3o4leuh4temuh4teruh4tinuh4tisii4gaajas4keja5kraelu5i41e4lune3lus_e4lussuinas5aa4gan3uisutuite4hiviil5ii4kisui4veli4vant2a1e2h5ö2deei4vaktaa4has3ujumii5uss_ukaa4sukii4giu4me4iu4maru3kraait2ru4uku4sait4rasiik4roul4dehit4rakitee4lul4lenul4luiultra5i2sü4l5emulsiiks4tii4labist4seõõ4relist4ru5istmeii4ladii4laeum5p4rii4lehunaal5un4dakun4danun4dasii4lelis5omaa5ealiadu3sei5soli3isolaendus3iset4si4seloi4sarhup4pisuraa4lisa4reura4juu4ralai4sanaur5aukura4vaisa4jaisaa4vir4disu4reosures4ku4retturgas45urge_aa4laeu4riniuris4kurka4vi4raseu4rului4ra4bip4susip4sepip4sasu4saluaala4rii4lesi3otsiõr4garu4settu3setui3ots_iost4ri3operu4si4diooni3u4si4hus5indusi4vaioo4neioo4daus5o2hus3olei5omani5olukõr4gaai3olek3usuliu4sussi5oks_3energe4nese3inven3insenii2lõ4inna5ai4nini5inimlii4maii4nimeiimat4ini4küi4neksuu4du_uu4kakuuk5riuu4maluu4misinee4suu4ranuu4rasuu4rauuu4rave4nesluusa3kuus4keu3uss_uu4sulaa4tühuu4tasuu4tisuu4tühu5uuriind4reinde4r5aatomaa4tehaa4tasaa4taaii4metii4naiind3al5imperi4mo4laa4sutimisu4i4melu4v3ainaa4lasva4la_va4lai4valdiaa4lehilu3savana5iilo5g24vankuvan4tavan4te3ilmutõnet4sil4mot5ilme_ille5s4varuh4varveva4sasil4kanvast4ri4lisi4vatudi4lasiii4nauen4salaa2se4aa4saren4tosik3t2rvee5lavee3spiks4povei4saik4sari5klubve4rahik4leraa4saiaa4sabi3klasi3klaaaa2r3õõl4mad4videaaara4like4sii5indevi4sakaa4lekaa4rajaa4rafiinit4aa4penaa4pekvoo5lui4kauti4karkaa4lelõi4su4a5andmi4kaluvu4su4aa4nataa4namii4vet4võ4liii4vesvõr4k5ii4nolii4nosvää4ruaa4meeiit5reii4tosaa4manaa4madii4tomaa2l3õõe4lanii4tehaal3t4ii4ranii4rauii4sevii4saniise4ltel4ke", + 7 : "aali4kea5allikvää4re4a5ameeri4ka4reaan4duuaa4ra4b_ahe4li4ga4suki4k5elua5arter3aas5taa5a4sulval4ga45ilustuvaa4re45indeksini4masõranda5_al4gasinni4siu3s4porus5elek5enelasus5aste4pe4levi3s4peki3s4porii4last5istandpaa4tel5umbrohi5stsee5istutuae4ga4j5emand_pin4gisui4valaii4ga4sel5uss_jas4tiia5elanikaa4sisaadio5a5aadel_u5avaldkaitse5k5a4lus3a4gentotus4tap5laasikesk3a45igatsuket4te45elaniktäh4t3a3k4lamba5inime5klassi5klaveri5elaniör4dell4t5uss_p5lane_tu4s5ee5tsisteos5taas5tsensu5tsemen5tsellue5osalitsa4lan5eksam_i5avald5aistin4ko4riei5a4vajpoola4v_turba55kraana5krediii5aste_3k4reemora4miitoksi5k_inim5a5kviituei4siste5i4sa_lai5ek5ak4te4lta4se4ri5amet_4ta4retaku4maptal4las4ta4laja5kvali4la4sutala4masali4sana4liste5allee_al4le4hoon4dee5erakonlektri5l4ge4lesun4de45eeskir5amper_stu4s5aoo4listii4sik_5floora5streik4li4lus5statisäri4selä4ristebes4tis5olukore5esinee5e4pit5antiloloo4ram5skelet5skeem_ast4rake5elekts5istujs5i4sik4si4sa_s5inimes5i4ha_lus4tii5raalneää4rase5ääris_a5opera4s5eten4se4sin_aasta54ma4ju_4s5eksp4ma4sulsee4ta4se5aval5aparaah4ku4sus5avald4mi4siksas4tiimis4tii5salat_raa4ta4mmi4kalüle4masr5a4la_mär4gelnaa4r5a4na4mern5amiidnants5a5armast5armee_5artikkes4sistgne4te45granaaüü2l3a2_kusee4üma4rakasa4las4de4lekhal4laias5ema_nikkel5r4me4le3a4seturan4demasi4ala4ri4sa_a5slaavre4liitree4manree4ma_5ohvitsok5liinrat4seno4li4luola4lasäre4lis", + 8 : "ratiiv5avis4ko4di5inimen5inimeneu4ri4met5draama_4s3a4la_raamatu5_raadio55skaa5laee4s5ist_antiik55ateljee5struktu5anatoomia5alane_lemmik5op5last_5kristal5orkeste5trikoo_5tsiitsi5plastik5kliiste5elektroi5s4tiili4va4luskumi4su4", + 9 : "5elevaato5standarddep5ressi5etendus_5arvestusro5staati" + } +}; \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/patterns/fi.js b/alt-implementations/readifry-master/hyphenator/patterns/fi.js new file mode 100644 index 0000000..b3348d4 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/patterns/fi.js @@ -0,0 +1,15 @@ +Hyphenator.languages['fi'] = { + leftmin : 2, + rightmin : 2, + specialChars : "öäå", + patterns : { + 3 : "1ba1be1bi1bo1bu1by1da1de1di1do1du1dy1dä1dö1fa1fe1fi1fo1fu1fy1ga1ge1gi1go1gu1gy1gä1gö1ha1he1hi1ho1hu1hy1hä1hö1ja1je1ji1jo1ju1jy1jä1jö1ka1ke1ki1ko1ku1ky1kä1kö1la1le1li1lo1lu1ly1lä1lö1ma1me1mi1mo1mu1my1mä1mö1na1ne1ni1no1nu1ny1nä1nö1pa1pe1pi1po1pu1py1pä1pö1ra1re1ri1ro1ru1ry1rä1rö1sa1se1si1so1su1sy1sä1sö1ta1te1ti1to1tu1ty1tä1tö1va1ve1vi1vo1vu1vy1vä1vöä2yo1yö2ya1äa1öo1äo1öä2äö2öä2öö2ä_ä2u2sb2lb2rd2rf2lf2rg2lg2rk2lp2lp2rc2lq2v", + 4 : "y1a2y1o2u1y2y1u2ö3a2ö3o2ä3a2ä3o2ä1u2ö1u2u1ä2u1ö2e1aai1aao1aau1aau1eea1uui1uue1uuo1uuää1iää1eää3yi1ääe1ääy1ääi1ööa1eia1oie1aii1auy1eiai1aai1eai1oai1uau1aau1eeu1aie1aie1oie1yiu1aiu1eiu1ooi1aoi1eoi1ooi1uo1uiou1eou1oue1aui1euo1auo1ue1ö2ö1e2r2asl2as1k2vsc2hts2h", + 5 : "1st2raa1i2aa1e2aa1o2aa1u2ee1a2ee1i2ee1u2ee1y2ii1a2ii1e2ii1o2uu1a2uu1e2uu1o2uu1i2io1a2io1e2keus11b2lo1b2ri1b2ro1b2ru1d2ra1f2la1f2ra1f2re1g2lo1g2ra1k2ra1k2re1k2ri1k2va1p2ro1q2vich2r", + 6 : "1sp2lialous1rtaus1perus12s1ase2s1apuulo2s1bib3li", + 7 : "yli1o2pali1a2v2s1ohje1a2sian1a2siat1a2sioi2s1o2sa2n1o2sa_ydi2n12n1otto2n1oton2n1anto2n1anno2n1aika2n1a2jo2s1a2jo", + 8 : "2s1a2sia2n1o2pet2s1a2loialkei2s12n1e2dus2s1ajatu2s1y2rit2s1y2hti2n1a2jan2n1o2mai2n1y2lit2s1a2len2n1a2len", + 9 : "2s1o2pisk2n1o2pist2s1o2pist2s1i2dea_2s1i2dean2s1e2sity_suu2r1a2", + 11 : "1a2siaka2s1" + } +}; \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/patterns/fr.js b/alt-implementations/readifry-master/hyphenator/patterns/fr.js new file mode 100644 index 0000000..69c1308 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/patterns/fr.js @@ -0,0 +1,24 @@ +// The french hyphenation patterns are retrieved from +// http://tug_org/svn/texhyphen/trunk/collaboration/repository/hyphenator/ +Hyphenator.languages['fr'] = { + leftmin : 2, + rightmin : 3, + specialChars : "àâçèéêîïôûœ’'", + patterns : { + 2 : "1ç1j1q", + 3 : "1gè’â41zu1zo1zi1zè1zé1ze1za’y4_y41wu1wo1wi1we1wa1vy1vû1vu1vô1vo1vî1vi1vê1vè1vé1ve1vâ1va’û4_û4’u4_u41ba1bâ1ty1be1bé1bè1bê1tû1tu1tô1bi1bî1to1tî1ti1tê1tè1té1te1tà1tâ1ta1bo1bô1sy1sû1su1sœ1bu1bû1by2’21ca1câ1sô1ce1cé1cè1cê1so1sî1si1sê1sè1sé1se1sâ1sa1ry1rû1ru1rô1ro1rî1ri1rê1rè1ré1re1râ1ra’a41py1pû1pu1pô1po1pî1pi1pê1pè1pé1pe1pâ1pa_ô41ci1cî’ô4’o4_o41nyn1x1nû1nu1nœ1nô1no1nî1ni1nê1nè1né1ne1nâ1co1cô1na1my1mû1mu1mœ1mô1mo1mî1mi1cœ1mê1mè1mé1me1mâ1ma1ly1lû1lu1lô1lo1lî1li1lê1lè1cu1cû1cy1lé1d’1da1dâ1le1là1de1dé1dè1dê1lâ1la1ky1kû1ku1kô1ko1kî1ki1kê1kè1ké1ke1kâ1ka2jk_a4’î4_î4’i4_i41hy1hû1hu1hô1ho1hî1hi1hê1hè1hé1he1hâ1ha1gy1gû1gu1gô1go1gî1gi1gê_â41gé1ge1gâ1ga1fy1di1dî1fû1fu1fô1fo’e41fî1fi1fê1fè1do1dô1fé1fe1fâ1fa’è41du1dû1dy_è4’é4_é4’ê4_ê4_e41zy", + 4 : "1f2lab2h2ckg2ckp2cksd1s22ckb4ck_1c2k2chw4ze_4ne_2ckt1c2lad2hm1s22cht2chsch2r2chp4pe_1t2r1p2h_ph44ph_ph2l2phnph2r2phs1d2r2pht2chn4fe_2chm1p2l1p2r4me_1w2rch2l2chg1c2r2chb4ch_1f2r4le_4re_4de_f1s21k2r4we_1r2h_kh44kh_1k2h4ke_1c2h_ch44ge_4je_4se_1v2r_sh41s2h4ve_4sh_2shm2shr2shs4ce_il2l1b2r4be_1b2l4he_4te__th41t2h4th_g1s21g2r2thl1g2l2thm2thnth2r1g2n2ths2ckf", + 5 : "2ck3h4rhe_4kes_4wes_4res_4cke_éd2hi4vre_4jes_4tre_4zes_4ges_4des_i1oxy4gle_d1d2h_cul44gne_4fre_o1d2l_sch44nes_4les_4gre_1s2ch_réu24sch_4the_1g2hy4gue_2schs4cle_1g2ho1g2hi1g2he4ses_4tes_1g2ha4ves_4she_4che_4cre_4ces_t1t2l4hes_l1s2t4bes_4ble__con4xil3lco1ap4que_vil3l4fle_co1arco1exco1enco1auco1axco1ef4pes_co1é2per3h4mes__pe4r4bre_4pre_4phe_1p2né4ple__dé2smil3llil3lhil3l4dre_cil3lgil3l4fes_", + 6 : "’in1o2rcil4l4phre_4dres_l3lioni1algi2fent_émil4l4phle_rmil4l4ples_4phes_1p2neuextra14pres_y1asthpé2nul2xent__mé2sa2pent_y1algi4chre_1m2nès4bres_1p2tèr1p2tér4chle_’en1o24fles_oxy1a2avil4l_en1o24ques_uvil4lco1a2d4bles__in1a2’in1a21s2por_cons4_bi1u2’as2ta_in1e2’in1e2_in1é2’in1é21s2lov1s2lavco1acq2cent__as2ta_co1o24ches_hémi1é_in2er’in2er2s3homo1ioni_in1i2’in1i22went_4shes__ré1a2_ré1é2_ré1e2_ré2el_in1o2ucil4lco1accu2s3tr_ré2er_ré2èr4cles_2vent__ré1i22sent_2tent_2gent__ré1o24gues__re1s24sche_4thes_’en1a2e2s3ch4gres_1s2cop2lent__en1a22nent__in1u2’in1u24gnes_4cres_wa2g3n4fres_4tres_4gles_1octet_dé1o2_dé1io4thre__bi1au2jent__dé1a22zent_4vres_2dent_4ckes_4rhes__dy2s3sub1s22kent_2rent_2bent_3d2hal", + 7 : "a2g3nos3d2houdé3rent__dé3s2t_dé3s2pé3dent_2r3heur2r3hydri1s2tat2frent_io1a2ctla2w3re’in2u3l_in2u3l2crent_’in2uit_in2uit1s2caph1s2clér_ré2ussi2s3ché_re2s3t_re2s3s4sches_é3cent__seu2le’in2ond_in2ond’in2i3t_in2i3t’in2i3q_ré2aux_in2i3q2shent__di1alduni1a2x’in2ept2flent__in2eptuni1o2v2brent_co2nurb2chent_2quent_1s2perm1s2phèr_ma2c3kuevil4l1s2phér1s2piel1s2tein1s2tigm4chles_1s2tock1s2tyle1p2sych_pro1é2_ma2r1x_stil3lpusil3libril3lcyril3l_pré1s2thril3l_mé3san_pré1u2_mé2s1i_pré1o2_pré1i2piril3lpupil3lâ2ment__pré1e2_pré1é2_pré2au_pré1a22prent_2vrent_supero2_di1e2npoly1u2è2ment_poly1s2poly1o2poly1i2poly1è2poly1é2poly1e2poly1a2supe4r1capil3l2plent_armil5lsemil4lmil4letvacil4l_di2s3h3ph2tis2dlent_a2s3tro4phres_l2ment_i1è2drei1arthr2drent_4phles_supers2ô2ment_extra2i2phent_su3r2ah_su2r3hextra2chypo1u21alcool_per1u2_per1o2_per1i2_per1é2hypo1s2_per1a2hypo1o2hypo1i2hypo1é2_pen2tahypo1e2hypo1a2y1s2tome2s3cophyperu2hype4r1hypers2hypero21m2némohyperi21m2nési4chres_a1è2drehyperé2hypere2hypera2’oua1ou_oua1ouo1s2tomo1s2timo1s2tato1s2tasomni1s2tung2s3_dé3s2c2blent__bio1a2télé1e2télé1i22clent_télé1s22guent_1é2nerg2grent_2trent__dé2s1œ2t3heuro1è2dre2gnent_2glent_4thres__bi1a2t1é2drie_bi1a2c_i2g3nin3s2at_’i2g3ni2ckent__i2g3né’ab3réa’i2g3né_ab3réa_per1e2", + 8 : "_ma2l1ap_dy2s1u2_dy2s1o2_dy2s1i2n3s2ats__dy2s1a2distil3l1é2lectrinstil3l1s2trophe2n1i2vro2b3long1s2tomos_ae3s4ch’ae3s4ch_eu2r1a2ombud2s3’eu2r1a2_mono1s2_mono1u2o1s2téro_mono1o2eu1s2tato1s2tradfritil3la2l1algi_mono1i2_mono1é2_ovi1s2c’ovi1s2c_mono1e2_mono1a2co1assocpaléo1é2boutil3l1s2piros_ré2i3fi_pa2n1ischevil4l1s2patiaca3ou3t2_di1a2cé_para1s2_pa2r3héco1assur_su2b1é2tu2ment_su2ment__su2b1in_su2b3lupapil3lire3pent_’inte4r3_su2b1urab3sent__su2b1a2di2s3cophu2ment_fu2ment__intera2au2ment_as2ment_or2ment_’intera2_intere2pé1r2é2q_péri1os_péri1s2ja3cent__anti1a2_péri1u2’anti1a2er2ment__anti1e2ac3cent_ar2ment_to2ment_’intere2ré3gent_papil3leom2ment_’anti1e2photo1s2_anti1é2_interé2’anti1é2_anti1s2’anti1s23ph2talé’interé2ri2ment__interi2’interi2mi2ment_apo2s3tri2s3chio_pluri1ai2s3chia_intero2’intero2_inte4r3po1astre_interu2’interu2_inters2ai2ment_’inters2papil3la_tri1o2n_su2r1a2_pon2tet_pos2t3h_dés2a3mes3cent__pos2t3r_post1s2_tri1a2tta2ment__tri1a2nra2ment_is3cent__su2r1e2_tri1a2cfa2ment_da2ment__su3r2et_su2r1é2_mé2s1es_mé2g1oh_su2r1of_su2r1ox_re3s4ty_re3s4tu_ma2l1oc’a2g3nat_dé2s1é2_ma2l1entachy1a2_pud1d2ltchin3t2_re3s4trtran2s3p_bi2s1a2tran2s3hhémo1p2té3quent__a2g3nat_dé2s1i2télé1o2bo2g3nosiradio1a2télé1o2ppu2g3nacru3lent__sta2g3nre3lent__ré2a3le_di1a2mi", + 9 : "_ré2a3lit_dé3s2o3lthermo1s2_dé3s2ist_dé3s2i3rmit3tent_éni3tent__do3lent__ré2a3lisopu3lent__pa3tent__re2s3cap_la3tent__co2o3lie_re2s3cou_re2s3cri_ma2g3num_re2s3pir_dé3s2i3dco2g3nititran2s1a2tran2s1o2_dé3s2exu_re3s4tab_re3s4tag_dé3s2ert_re3s4tat_re3s4tén_re3s4tér_re3s4tim_re3s4tip_re3s4toc_re3s4toptran2s1u2_no2n1obs_ma2l1a2v_ma2l1int_prou3d2hpro2s3tativa3lent__ta3lent__rétro1a2_pro1s2cé_ma2l1o2dcci3dent__pa3rent__su2r1int_su2r1inf_su2r1i2mtor3rent_cur3rent__mé2s1u2stri3dent__dé3s2orm_su3r2ell_ar3dent__su3r2eaupru3dent__pré2a3lacla2ment__su3r2a3t_pos2t1o2_pos2t1inqua2ment_ter3gent_ser3gent_rai3ment_abî2ment_éci2ment_’ar3gent__ar3gent_rin3gent_tan3gent_éli2ment_ani2ment_’apo2s3ta_apo2s3tavélo1s2kivol2t1amp_dé3s2orp_dé2s1u2n_péri2s3ssesqui1a2’ana3s4trfir2ment_écu2ment_ser3pent_pré3sent_’ar3pent__ar3pent_’in1s2tab_in1s2tab’in2o3cul_in2o3culplu2ment_bou2ment_’in2exora_in2exora_su2b3linbru2ment__su3b2é3r_milli1am’in2effab_in2effab’in2augur_di1a2cid_in2augur_pa2n1opt’in2a3nit_in2a3nit1informat_ana3s4trvanil3lis_di1a2tom_su3b2altvanil3linstéréo1s2_pa2n1a2fo1s2tratuépi2s3cop_ci2s1alp1s2tructu1é2lément1é2driquepapil3lomllu2ment_", + 10 : "1s2tandardimmi3nent__émi3nent_imma3nent_réma3nent_épi3s4cope_in2i3miti’in2i3miti_res3sent_moye2n1â2gréti3cent__dé3s2a3crmon2t3réalinno3cent__mono1ï2dé_pa2n1a2méimpu3dent__pa2n1a2ra_amino1a2c’amino1a2c_pa2n1o2phinci3dent__ser3ment_appa3rent_déca3dent__dacryo1a2_dé3s2astr_re4s5trin_dé3s2é3gr_péri2s3ta_sar3ment__dé3s2oufr_re3s4tandchro2ment__com3ment__re2s3quil_re2s3pons_gem2ment__re2s3pect_re2s3ciso_dé3s2i3gn_dé3s2i3ligram2ment__dé3s2invo_re2s3cisitran3s2act’anti2enneindo3lent__sou3vent_indi3gent_dili3gent_flam2ment_impo3tent_inso3lent_esti2ment_’on3guent__on3guent_inti2ment__dé3s2o3défécu3lent_veni2ment_reli2ment_vidi2ment_chlo2r3é2tpu2g3nablechlo2r3a2cryth2ment_o2g3nomonicarê2ment__méta1s2ta_ma2l1aisé_macro1s2célo3quent_tran3s2ats_anti2enne", + 11 : "_contre1s2cperti3nent_conti3nent__ma2l1a2dro_in2é3lucta_psycho1a2n_dé3s2o3pil’in2é3luctaperma3nent__in2é3narratesta3ment__su2b3liminrésur3gent_’in2é3narraimmis4cent__pro2g3nathchien3dent_sporu4lent_dissi3dent_corpu3lent_archi1é2pissubli2ment_indul3gent_confi3dent__syn2g3nathtrucu3lent_détri3ment_nutri3ment_succu3lent_turbu3lent__pa2r1a2che_pa2r1a2chèfichu3ment_entre3gent_conni3vent_mécon3tent_compé3tent__re4s5trict_dé3s2i3nen_re2s3plend1a2nesthésislalo2ment__dé3s2ensib_re4s5trein_phalan3s2tabsti3nent_", + 12 : "polyva3lent_équiva4lent_monova3lent_amalga2ment_omnipo3tent__ma2l1a2dreséquipo3tent__dé3s2a3tellproémi3nent_contin3gent_munifi3cent__ma2g3nicideo1s2trictionsurémi3nent_préémi3nent__bai2se3main", + 13 : "acquies4cent_intelli3gent_tempéra3ment_transpa3rent__ma2g3nificatantifer3ment_", + 14 : "privatdo3cent_diaphrag2ment_privatdo3zent_ventripo3tent__contre3maître", + 15 : "grandilo3quent_", + 16 : "_chè2vre3feuille" + } +}; \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/patterns/grc.js b/alt-implementations/readifry-master/hyphenator/patterns/grc.js new file mode 100644 index 0000000..985a3b6 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/patterns/grc.js @@ -0,0 +1,26 @@ +// Hyphenation patterns for Ancient Greek. +// Created by Dimitrios Filippou with some ideas borrowed from +// Yannis Haralambous, Kostis Dryllerakis and Claudio Beccari. +// From http://tug.org/svn/texhyphen/branches/ptex/hyph-utf8/tex/generic/hyph-utf8/patterns/tex/hyph-grc.tex +// Converted by Pablo Rodríguez (hyphenator at pragmata dot tk) +Hyphenator.languages['grc'] = { + leftmin : 2, + rightmin : 2, + specialChars : "αεηιουωϊϋἀἁἂἃἄἅἆἇἐἑἒἓἔἕἠἡἢἣἤἥἦἧἰἱἲἳἴἵἶἷὀὁὂὃὄὅὐὑὒὓὔὕὖὗὠὡὢὣὤὥὦὧὰὲὴὶὸὺὼᾀᾁᾂᾃᾄᾅᾆᾇᾐᾑᾒᾓᾔᾕᾖᾗᾠᾡᾢᾣᾤᾥᾦᾧᾲᾳᾴᾶᾷῂῃῄῆῇῒῖῗῢῦῧῲῳῴῶῷάέήίόύώΐΰάέήίόύώΐΰβγδζθκλμνξπρσϲςτφχψ'ʼ᾿ῤῥ’᾽", + patterns : { + 2 : "α1ε1η1ι1ο1υ1ω1ϊ1ϋ1ἀ1ἁ1ἂ1ἃ1ἄ1ἅ1ἆ1ἇ1ἐ1ἑ1ἒ1ἓ1ἔ1ἕ1ἠ1ἡ1ἢ1ἣ1ἤ1ἥ1ἦ1ἧ1ἰ1ἱ1ἲ1ἳ1ἴ1ἵ1ἶ1ἷ1ὀ1ὁ1ὂ1ὃ1ὄ1ὅ1ὐ1ὑ1ὒ1ὓ1ὔ1ὕ1ὖ1ὗ1ὠ1ὡ1ὢ1ὣ1ὤ1ὥ1ὦ1ὧ1ὰ1ὲ1ὴ1ὶ1ὸ1ὺ1ὼ1ᾀ1ᾁ1ᾂ1ᾃ1ᾄ1ᾅ1ᾆ1ᾇ1ᾐ1ᾑ1ᾒ1ᾓ1ᾔ1ᾕ1ᾖ1ᾗ1ᾠ1ᾡ1ᾢ1ᾣ1ᾤ1ᾥ1ᾦ1ᾧ1ᾲ1ᾳ1ᾴ1ᾶ1ᾷ1ῂ1ῃ1ῄ1ῆ1ῇ1ῒ1ῖ1ῗ1ῢ1ῦ1ῧ1ῲ1ῳ1ῴ1ῶ1ῷ1ά1έ1ή1ί1ό1ύ1ώ1ΐ1ΰ1ά1έ1ή1ί1ό1ύ1ώ1ΐ1ΰ14'4ʼ4᾿", + 3 : "α2ια2ία2ία2ὶα2ῖα2ἰα2ἴα2ἲα2ἶα2ἱα2ἵα2ἳα2ἷά3ιά3ιᾶ3ιἀ3ιἁ3ια2υα2ύα2ύα2ὺα2ῦα2ὐα2ὔα2ὒα2ὖα2ὑα2ὕα2ὓα2ὗά3υά3υᾶ3υἀ3υἁ3υε2ιε2ίε2ίε2ὶε2ῖε2ἰε2ἴε2ἲε2ἶε2ἱε2ἵε2ἳε2ἷέ3ιέ3ιἐ3ιἑ3ιε2υε2ύε2ύε2ὺε2ῦε2ὐε2ὔε2ὒε2ὖε2ὑε2ὕε2ὓε2ὗέ3υέ3υἑ3υἐ3υη2υη2ύη2ύη2ὺη2ῦη2ὐη2ὔη2ὒη2ὖη2ὑη2ὕη2ὓη2ὗή3υή3υῆ3υἠ3υἡ3υο2ιο2ίο2ίο2ὶο2ῖο2ἰο2ἴο2ἲο2ἶο2ἱο2ἵο2ἳο2ἷό3ιό3ιὀ3ιὁ3ιο2υο2ύο2ύο2ὺο2ῦο2ὐο2ὔο2ὒο2ὖο2ὑο2ὕο2ὓο2ὗό3υό3υὀ3υὁ3υυ2ιυ2ίυ2ίυ2ὶυ2ῖυ2ἰυ2ἴυ2ἲυ2ἶυ2ἱυ2ἵυ2ἳυ2ἷύ3ιύ3ιῦ3ιὐ3ιὑ3ι4β_4γ_4δ_4ζ_4θ_4κ_4λ_4μ_4ν_4ξ_4π_4ρ_4σ_4ϲ_4ς_4τ_4φ_4χ_4ψ_4β'4βʼ4β᾿4γ'4γʼ4γ᾿4δ'4δʼ4δ᾿4ζ'4ζʼ4ζ᾿4θ'4θʼ4θ᾿4κ'4κʼ4κ᾿4λ'4λʼ4λ᾿4μ'4μʼ4μ᾿4ν'4νʼ4ν᾿4ξ'4ξʼ4ξ᾿4π'4πʼ4π᾿4ρ'4ρʼ4ρ᾿4σ'4σʼ4σ᾿4ϲ'4ϲʼ4ϲ᾿4τ'4τʼ4τ᾿4φ'4φʼ4φ᾿4χ'4χʼ4χ᾿4ψ'4ψʼ4ψ᾿_β4_γ4_δ4_ζ4_θ4_κ4_λ4_μ4_ν4_ξ4_π4_ρ4_σ4_ϲ4_τ4_φ4_χ4_ψ4", + 4 : "ου3ιόυ4ιόυ4ιὀυ4ιὁυ4ιο3υίο3υίο3υῖ2β1β2γ1γ2δ1δ2ζ1ζ2θ1θ2κ1κ2λ1λ2μ1μ2ν1ν2π1π2ρ1ρ2ῤ1ῥ2σ1σ2ϲ1ϲ2τ1τ2φ1φ2χ1χ2ψ1ψ2β1γ2β1ζ2β1θ2β1κ2β1ξ2β1π2β1σ2β1ϲ2β1τ2β1φ2β1χ2β1ψ2γ1β2γ1ζ2γ1θ2γ1κ2γ1ξ2γ1π2γ1σ2γ1ϲ2γ1τ2γ1φ2γ1χ2γ1ψ2δ1β2δ1γ2δ1ζ2δ1θ2δ1κ2δ1λ2δ1ξ2δ1π2δ1σ2δ1ϲ2δ1τ2δ1φ2δ1χ2δ1ψ2ζ1β2ζ1γ2ζ1δ2ζ1θ2ζ1κ2ζ1λ2ζ1μ2ζ1ν2ζ1ξ2ζ1π2ζ1ρ2ζ1σ2ζ1ϲ2ζ1τ2ζ1φ2ζ1χ2ζ1ψ2θ1β2θ1γ2θ1δ2θ1ζ2θ1κ2θ1ξ2θ1π2θ1σ2θ1ϲ2θ1τ2θ1φ2θ1χ2θ1ψ2κ1β2κ1γ2κ1δ2κ1ζ2κ1θ2κ1ξ2κ1π2κ1σ2κ1ϲ2κ1φ2κ1χ2κ1ψ2λ1β2λ1γ2λ1δ2λ1ζ2λ1θ2λ1κ2λ1μ2λ1ν2λ1ξ2λ1π2λ1ρ2λ1σ2λ1ϲ2λ1τ2λ1φ2λ1χ2λ1ψ2μ1β2μ1γ2μ1δ2μ1ζ2μ1θ2μ1κ2μ1λ2μ1ξ2μ1π2μ1ρ2μ1σ2μ1ϲ2μ1τ2μ1φ2μ1χ2μ1ψ2ν1β2ν1γ2ν1δ2ν1ζ2ν1θ2ν1κ2ν1λ2ν1μ2ν1ξ2ν1π2ν1ρ2ν1σ2ν1ϲ2νς_2νϲ_2ν1τ2ν1φ2ν1χ2ν1ψ2ξ1β2ξ1γ2ξ1δ2ξ1ζ2ξ1θ2ξ1κ2ξ1λ2ξ1μ2ξ1ν2ξ1π2ξ1ρ2ξ1σ2ξ1ϲ2ξ1τ2ξ1φ2ξ1χ2ξ1ψ2π1β2π1γ2π1δ2π1ζ2π1θ2π1κ2π1ξ2π1σ2π1ϲ2π1φ2π1χ2π1ψ2ρ1β2ρ1γ2ρ1δ2ρ1ζ2ρ1θ2ρ1κ2ρ1λ2ρ1μ2ρ1ν2ρ1ξ2ρ1π2ρ1σ2ρ1ϲ2ρ1τ2ρ1φ2ρ1χ2ρ1ψ2σ1δ2ϲ1δ2σ1ζ2ϲ1ζ2σ1λ2ϲ1λ2σ1ν2ϲ1ν2σ1ξ2ϲ1ξ2σ1ρ2ϲ1ρ2σ1ψ2ϲ1ψ2τ1β2τ1γ2τ1δ2τ1ζ2τ1θ2τ1κ2τ1ξ2τ1π2τ1σ2τ1ϲ2τ1φ2τ1χ2τ1ψ2φ1β2φ1γ2φ1δ2φ1ζ2φ1κ2φ1ξ2φ1π2φ1σ2φ1ϲ2φ1τ2φ1χ2φ1ψ2χ1β2χ1γ2χ1δ2χ1ζ2χ1κ2χ1ξ2χ1π2χ1σ2χ1ϲ2χ1τ2χ1φ2χ1ψ2ψ1β2ψ1γ2ψ1δ2ψ1ζ2ψ1θ2ψ1κ2ψ1λ2ψ1μ2ψ1ν2ψ1ξ2ψ1π2ψ1ρ2ψ1σ2ψ1ϲ2ψ1τ2ψ1φ2ψ1χ4βδ'4βδ’4βδʼ4βδ᾽4βδ᾿4βλ'4βλ’4βλʼ4βλ᾽4βλ᾿4βμ'4βμ’4βμʼ4βμ᾽4βμ᾿4βν'4βν’4βνʼ4βν᾽4βν᾿4βρ'4βρ’4βρʼ4βρ᾽4βρ᾿4γδ'4γδ’4γδʼ4γδ᾽4γδ᾿4γλ'4γλ’4γλʼ4γλ᾽4γλ᾿4γμ'4γμ’4γμʼ4γμ᾽4γμ᾿4γν'4γν’4γνʼ4γν᾽4γν᾿4γρ'4γρ’4γρʼ4γρ᾽4γρ᾿4δμ'4δμ’4δμʼ4δμ᾽4δμ᾿4δν'4δν’4δνʼ4δν᾽4δν᾿4δρ'4δρ’4δρʼ4δρ᾽4δρ᾿4ζβ'4ζβ’4ζβʼ4ζβ᾽4ζβ᾿4θλ'4θλ’4θλʼ4θλ᾽4θλ᾿4λμ'4λμ’4λμʼ4λμ᾽4λμ᾿4θν'4θν’4θνʼ4θν᾽4θν᾿4θρ'4θρ’4θρʼ4θρ᾽4θρ᾿4κλ'4κλ’4κλʼ4κλ᾽4κλ᾿4κμ'4κμ’4κμʼ4κμ᾽4κμ᾿4κν'4κν’4κνʼ4κν᾽4κν᾿4κρ'4κρ’4κρʼ4κρ᾽4κρ᾿4κτ'4κτ’4κτʼ4κτ᾽4κτ᾿4μν'4μν’4μνʼ4μν᾽4μν᾿4πλ'4πλ’4πλʼ4πλ᾽4πλ᾿4πμ'4πμ’4πμʼ4πμ᾽4πμ᾿4πν'4πν’4πνʼ4πν᾽4πν᾿4πρ'4πρ’4πρʼ4πρ᾽4πρ᾿4πτ'4πτ’4πτʼ4πτ᾽4πτ᾿4σβ'4σβ’4σβʼ4σβ᾽4σβ᾿4ϲβ'4ϲβ’4ϲβʼ4ϲβ᾽4ϲβ᾿4σγ'4σγ’4σγʼ4σγ᾽4σγ᾿4ϲγ'4ϲγ’4ϲγʼ4ϲγ᾽4ϲγ᾿4σδ'4σδ’4σδʼ4σδ᾽4σδ᾿4ϲδ'4ϲδ’4ϲδʼ4ϲδ᾽4ϲδ᾿4σθ'4σθ’4σθʼ4σθ᾽4σθ᾿4ϲθ'4ϲθ’4ϲθʼ4ϲθ᾽4ϲθ᾿4σκ'4σκ’4σκʼ4σκ᾽4σκ᾿4ϲκ'4ϲκ’4ϲκʼ4ϲκ᾽4ϲκ᾿4σμ'4σμ’4σμʼ4σμ᾽4σμ᾿4ϲμ'4ϲμ’4ϲμʼ4ϲμ᾽4ϲμ᾿4σπ'4σπ’4σπʼ4σπ᾽4σπ᾿4ϲπ'4ϲπ’4ϲπʼ4ϲπ᾽4ϲπ᾿4στ'4στ’4στʼ4στ᾽4στ᾿4ϲτ'4ϲτ’4ϲτʼ4ϲτ᾽4ϲτ᾿4σφ'4σφ’4σφʼ4σφ᾽4σφ᾿4ϲφ'4ϲφ’4ϲφʼ4ϲφ᾽4ϲφ᾿4σχ'4σχ’4σχʼ4σχ᾽4σχ᾿4ϲχ'4ϲχ’4ϲχʼ4ϲχ᾽4ϲχ᾿4φθ'4φθ’4φθʼ4φθ᾽4φθ᾿4φλ'4φλ’4φλʼ4φλ᾽4φλ᾿4φμ'4φμ’4φμʼ4φμ᾽4φμ᾿4φν'4φν’4φνʼ4φν᾽4φν᾿4φρ'4φρ’4φρʼ4φρ᾽4φρ᾿4χθ'4χθ’4χθʼ4χθ᾽4χθ᾿4χλ'4χλ’4χλʼ4χλ᾽4χλ᾿4χμ'4χμ’4χμʼ4χμ᾽4χμ᾿4χν'4χν’4χνʼ4χν᾽4χν᾿4χρ'4χρ’4χρʼ4χρ᾽4χρ᾿ἐ2ν1ἔ2ν1ἐ2ξ1ἔ2ξ1ἐ2σ1ἐ2ϲ1", + 5 : "ἀ2ν1ύἀ2ν1ύἀ2ν1υεἰ2σ1εἰ2ϲ1εἴ2σ1εἴ2ϲ1ἐ2κ1λἐ2κ1μἔ2κ1μἐ2κ1νἔ2κ1νἐ2κ1ρἔ2κ1ρἐ3νηέἐ3νηέἐ3ν2ίἐ3ν2ίἐ3ν2ιἔ3ν2ιἔ3ν2ωἐ3σ2θἐ3ϲ2θἐ3σ2κἐ3ϲ2κἐ3σ2τἐ3ϲ2τἐ3σ2υἐ3ϲ2υἐ3σ2ύἐ3σ2ύἐ3ϲ2ύἐ3ϲ2ύἐ3σ2χἐ3ϲ2χἐ3σ2ώἐ3σ2ώἐ3ϲ2ώἐ3ϲ2ώἐ3σ2ωἐ3ϲ2ω", + 6 : "ἁλό2σ1ἁλό2σ1ἁλό2ϲ1ἁλό2ϲ1ἁλο2σ1ἁλο2ϲ1ἀ2ν1άρἀ2ν1άρἀ2ν1αρἄ2ν1αρἀ2ν1έκἀ2ν1έκἀ2ν1εκἀ2ν1ένἀ2ν1ένἀ2ν1ενἀ2ν1επἀ2ν1έφἀ2ν1έφἀ2ν1εφἀ2ν1ήδἀ2ν1ήδἀ2ν1ηδἀ2ν1ήμἀ2ν1ήμἀ2ν1ημἀ2ν1ίκἀ2ν1ίκἀ2ν1ικἄ2ν1ικἀ2ν1ίλἀ2ν1ίλἀ2ν1ιλἀ2ν1ισἀ2ν1ιϲἄ2ν1ισἄ2ν1ιϲἀ2ν1ίσἀ2ν1ίσἀ2ν1ίϲἀ2ν1ίϲἄ2ν1ιχἀ2ν1ίχἀ2ν1ίχἀ2ν1ίψἀ2ν1ίψἀ2ν1ιψἄ2ν1οζἀ2ν1όζἀ2ν1όζἀ2ν1όλἀ2ν1όλἀ2ν1ολἄ2ν1ολἀ2ν1όνἀ2ν1όνἀ2ν1ονἄ2ν1οπἀ2ν1όπἀ2ν1όπἀ2ν1όρἀ2ν1όρἀ2ν1ορἄ2ν1ορἀ2ν1οψἄ2ν1οψἀ2ν1όψἀ2ν1όψἀ3ν2υμἀ3ν2ύσἀ3ν2ύσἀ3ν2ύϲἀ3ν2ύϲἀ3ν2υσἀ3ν2υϲἄ2ν1ῳδἀ2ν1ῴδἀ2ν1ώιἀ2ν1ώιἀ2ν1ωίἀ2ν1ωίἀ2ν1ώλἀ2ν1ώλἀ2ν1ωλἀ2ν1ώμἀ2ν1ώμἀ2ν1ωμἀ2ν1ώνἀ2ν1ώνἀ2ν1ωνἀ2ν1ωρἄ2ν1ωρἀ2ν1ώρἀ2ν1ώρἁπα2ξ1ἁπε2ρ1ἀσύ2ν1ἀσύ2ν1ἀϲύ2ν1ἀϲύ2ν1ἀσυ2ν1ἀϲυ2ν1ἀξύ2ν1ἀξύ2ν1ἀξυ2ν1ἀω2σ1φἀω2ϲ1φ_δύ2σ1_δύ2σ1_δύ2ϲ1_δύ2ϲ1_δυ2σ1_δυ2ϲ1δύ3σ2ῃδύ3σ2ῃδύ3ϲ2ῃδύ3ϲ2ῃεἴσει_εἴϲει_εἴ3σ2ωεἴ3ϲ2ωἐ3κ2λῄἐ3κ2λύἐ3κ2λύἐ3κ2νυἐ2κ1τεἐ2κ1τέἐ2κ1τέἐ2κ1τιἔ2κ1τιἐ2κ1τίἐ2κ1τίἐ2κ1τόἐ2κ1τόἐ2κ1τοἔ2κ1τοἐ2κ1τρἐ2κ1τυἔ3ν2ατἐ3ν2άτἐ3ν2άτἐ3ν2εόἐ3ν2εόἐ3ν2εὸἐ3ν2εοἐ3ν2εῶἐ3ν2εάἐ3ν2εάἐ3ν2εὰἐ3ν2εᾶἔ3ν2ησἔ3ν2ηϲἐ3ν2ήσἐ3ν2ήσἐ3ν2ήϲἐ3ν2ήϲἐ3ν2ηήἐ3ν2ηήἐ3ν2ηὴἐ3ν2ηοἐ3ν2ηῶἐ4ν3ίζἐ4ν3ίζἐ4ν3ίηἐ4ν3ίηἐ4ν3ίψἐ4ν3ίψἔ3ν2ῃ_ἔ3ν2η_ἔ3ν2υξἐ3ν2υξἐ3ν2ύξἐ3ν2ύξἐ3ν2ύσἐ3ν2ύσἐ3ν2ύϲἐ3ν2ύϲἐ3ν2υσἐ3ν2υϲἐ3ν2υώἐ3ν2υώἐ3ν2υὼἐ3ξ2ήρἐ3ξ2ήρἐ3ξ2ηρἐ3ξ2υρἐ3ξ2ύρἐ3ξ2ύρἔ3ξ2υσἔ3ξ2υϲἔ3ξ2ω_ἐπε2ξ1ἐ3σ2άωἐ3σ2άωἐ3ϲ2άωἐ3ϲ2άωἐ3σ2ημἐ3ϲ2ημἐ3σ2ιγἐ3ϲ2ιγἐ4σ3κάἐ4σ3κάἐ4ϲ3κάἐ4ϲ3κάἐ4σ3καἐ4ϲ3καἐ3σ2όμἐ3σ2όμἐ3ϲ2όμἐ3ϲ2όμἐ3σ2ομἐ3ϲ2ομἐ3σ2οῦἐ3ϲ2οῦἐ3σ2ούἐ3σ2ούἐ3ϲ2ούἐ3ϲ2ούἐ3σ2ουἐ3ϲ2ουἐσύ2ν1ἐσύ2ν1ἐϲύ2ν1ἐϲύ2ν1ἐσυ2ν1ἐϲυ2ν1ἐ4σ3χέἐ4σ3χέἐ4ϲ3χέἐ4ϲ3χέἔ2σ1οπἔ2ϲ1οπεὐε2ξ1ἐω2σ1φἐω2ϲ1φἤ2ν1οπἠ2ν1όπἠ2ν1όποἱό2σ1οἱό2σ1οἱό2ϲ1οἱό2ϲ1ὁπω2σ1ὁπω2ϲ1_πα2ν1_πά2ν1_πά2ν1_πάνα__πάνα__συ2ν1_ϲυ2ν1_σύ2ν1_σύ2ν1_ϲύ2ν1_ϲύ2ν1ὑο2σ1κὑο2ϲ1κὑπε2ν1ὑπε2ξ1ὑπε2ρ1ὑπέ2ρ1ὑπέ2ρ1ὕ2σ1τρὕ2ϲ1τρὑ2σ1τρὑ2ϲ1τρὥ2σ1τεὥ2ϲ1τε", + 7 : "ἀδιέ2ξ1ἀδιέ2ξ1ἀδιε2ξ1ἀδυ2σ1ώἀδυ2σ1ώἀδυ2ϲ1ώἀδυ2ϲ1ώἀδυ2σ1ωἀδυ2ϲ1ωἀ2ν1αγοἀ2ν1αγῆἄ2ν1αγνἀ2ν1άγνἀ2ν1άγνἀ2ν1αγνἄ2ν1αθλἀ2ν1άθλἀ2ν1άθλἀ2ν1αίδἀ2ν1αίδἀ2ν1αιδἄ2ν1αιμἀ2ν1αίμἀ2ν1αίμἀ2ν1αιμἀ2ν1αίτἀ2ν1αίτἀ2ν1αιτἀ2ν1αλγἀ2ν1αλδἀ2ν1άλθἀ2ν1άλθἀ2ν1αλθἀ2ν1αλκἄ2ν1αλκἀ2ν1άλκἀ2ν1άλκἀ2ν1άλλἀ2ν1άλλἀ2ν1αλλἄ2ν1αλμἀ2ν1άλμἀ2ν1άλμἀ2ν1αλμἄ2ν1αλοἄ2ν1αλτἀ2ν1άλτἀ2ν1άλτἀ2ν1αμπἀ2ν1άμπἀ2ν1άμπἀ2ν1αμφἄ2ν1ανδἀ2ν1άνδἀ2ν1άνδἀ2ν1ανθἀ2ν1αράἀ2ν1αράἀ2ν1αραἀ3ν2αρπἀ3ν2άρρἀ3ν2άρρἀ3ν2αρρἀ3ν2αρτἀ2ν1άτωἀ2ν1άτωἄ2ν1ατεἀ2ν1άττἀ2ν1άττἀ2ν1αττἀ2ν1αύγἀ2ν1αύγἀ2ν1αυγἀ2ν1αύδἀ2ν1αύδἀ2ν1αυδἄ2ν1αυδἄ2ν1αυλἀ2ν1αύλἀ2ν1αύλἀ2ν1αύξἀ2ν1αύξἀ2ν1αυξἀ2ν1αύχἀ2ν1αύχἀ2ν1αυχἀ2ν1αφήἀ2ν1αφήἀ2ν1αφὴἀ2ν1αφῆἀ2ν1αφέἀ2ν1αφέἀ2ν1αφὲἄ2ν1αφρἀ2ν1άφρἀ2ν1άφρἀ2ν1έγγἀ2ν1έγγἀ2ν1εγγἀ2ν1εγκἀ2ν1έγκἀ2ν1έγκἀ2ν1εγχἀ2ν1εδάἀ2ν1εδάἀ2ν1εδαἀ2ν1εέρἀ2ν1εέρἀ2ν1εερἀ2ν1έθιἀ2ν1έθιἀ2ν1εθίἀ2ν1εθίἀ3ν2έκαἀ3ν2έκαἀ3ν2εκτἀ2ν1έλλἀ2ν1έλλἀ2ν1έμβἀ2ν1έμβἀ2ν1εμβἀ2ν1έμπἀ2ν1έμπἀ2ν1εμπἀ2ν1έμφἀ2ν1έμφἀ2ν1εμφἀ3ν2ενήἀ3ν2ενήἀ2ν1έορἀ2ν1έορἀ2ν1εόρἀ2ν1εόρἀ3ν2επνἀ3ν2επτἀ2ν1εργἄ2ν1εργἀ2ν1έργἀ2ν1έργἀ2ν1ερίἀ2ν1ερίἀ2ν1εριἀ2ν1ετυἀ2ν1έτυἀ2ν1έτυἀ2ν1ετύἀ2ν1ετύἀ2ν1εύθἀ2ν1εύθἀ2ν1ευθἄ2ν1ευκἀ2ν1εύκἀ2ν1εύκἀ2ν1ευλἀ2ν1εύχἀ2ν1εύχἀ2ν1ευχἀ2ν1εύξἀ2ν1εύξἀ2ν1ευξἀ2ν1ηυξἀ2ν1ηῦγἀ2ν1ηυγἀ2ν1εχέἀ2ν1εχέἀ2ν1εχεἀ2ν1έψαἀ2ν1έψαἀ2ν1εψάἀ2ν1εψάἀ2ν1ήκοἀ2ν1ήκοἀ2ν1ηκόἀ2ν1ηκόἀ2ν1ηκοἀ2ν1ηλήἀ2ν1ηλήἀ2ν1ηλὴἀ2ν1ηλῆἀ2ν1ηλέἀ2ν1ηλέἀ2ν1ηλὲἀ2ν1ηλῶἀ2ν1ήνυἀ2ν1ήνυἀ2ν1ηνύἀ2ν1ηνύἀ2ν1ήριἀ2ν1ήριἀ2ν1ηρίἀ2ν1ηρίἀ2ν1ήσσἀ2ν1ήσσἀ2ν1ήϲϲἀ2ν1ήϲϲἀ2ν1ησσἀ2ν1ηϲϲἀ2ν1ήττἀ2ν1ήττἀ2ν1ηττἀ2ν1ήφαἀ2ν1ήφαἀ2ν1ηφαἀ2ν1ίατἀ2ν1ίατἀ2ν1ιάτἀ2ν1ιάτἀ2ν1ίερἀ2ν1ίερἀ2ν1ιέρἀ2ν1ιέρἀ3ν2ίκηἀ3ν2ίκηἀ3ν2ικήἀ3ν2ικήἀ2ν1ίουἀ2ν1ίουἀ2ν1ιούἀ2ν1ιούἄ2ν1ιππἀ2ν1ίππἀ2ν1ίππἀ3ν2ίστἀ3ν2ίστἀ3ν2ίϲτἀ3ν2ίϲτἀ3ν2ιστἀ3ν2ιϲτἀ3ν2ίσχἀ3ν2ίσχἀ3ν2ίϲχἀ3ν2ίϲχἀ2ν1όδεἀ2ν1όδεἀ2ν1οδέἀ2ν1οδέἄ2ν1οικἀ2ν1οίκἀ2ν1οίκἀ2ν1οινἄ2ν1οινἀ2ν1οίνἀ2ν1οίνἀ3ν2ολκἀ3ν2ολοἀ2ν1όμοἀ2ν1όμοἀ2ν1ομόἀ2ν1ομόἀ2ν1ομοἄ3ν2ορθἀ3ν2όρθἀ3ν2όρθἀ3ν2ορτἀ3ν2ορύἀ3ν2ορύἀ2ν1όσιἀ2ν1όσιἀ2ν1όϲιἀ2ν1όϲιἀ2ν1οσίἀ2ν1οσίἀ2ν1οϲίἀ2ν1οϲίἀ2ν1οσιἀ2ν1οϲιἄ2ν1οσμἄ2ν1οϲμἀ2ν1όσμἀ2ν1όσμἀ2ν1όϲμἀ2ν1όϲμἀ2ν1ούαἀ2ν1ούαἀ2ν1ουάἀ2ν1ουάἀ2ν1ούτἀ2ν1ούτἀ2ν1ουτἀ2ν1οφθἄ2ν1οχλἀ2ν1όχλἀ2ν1όχλἀντε2κ1ἀντε2ν1ἀντε2ξ1ἀ2ν1ώδυἀ2ν1ώδυἀ2ν1ωδύἀ2ν1ωδύἄ2ν1ωτοἀ2ν1ώτοἀ2ν1ώτοἀ2ν1ώχυἀ2ν1ώχυἀ2ν1ωχύἀ2ν1ωχύἀπε2κ1λἀπρό2σ1ἀπρό2σ1ἀπρό2ϲ1ἀπρό2ϲ1ἀπρο2σ1ἀπρο2ϲ1ἁρπα2ξ1αὐτε2ξ1_δα2σ1π_δα2ϲ1π_διέ2ξ1_διέ2ξ1_διε2ξ1_δί2σ1α_δί2σ1α_δί2ϲ1α_δί2ϲ1α_δι2σ1ά_δι2σ1ά_δι2ϲ1ά_δι2ϲ1ά_δί2σ1η_δί2σ1η_δί2ϲ1η_δί2ϲ1η_δι2σ1ή_δι2σ1ή_δι2ϲ1ή_δι2ϲ1ή_δί2σ1ε_δί2σ1ε_δί2ϲ1ε_δί2ϲ1ε_δι2σ1ε_δι2ϲ1ε_δι2σ1θ_δι2ϲ1θδύ3σ2ω_δύ3σ2ω_δύ3ϲ2ω_δύ3ϲ2ω_δύ3σ2ονδύ3σ2ονδύ3ϲ2ονδύ3ϲ2ονδυ3σ2όνδυ3σ2όνδυ3ϲ2όνδυ3ϲ2όνδύ3σ2ασδύ3σ2ασδύ3ϲ2αϲδύ3ϲ2αϲδυ3σ2άσδυ3σ2άσδυ3ϲ2άϲδυ3ϲ2άϲδύ3σ2εωδύ3σ2εωδύ3ϲ2εωδύ3ϲ2εωδύ3σ2ι_δύ3σ2ι_δύ3ϲ2ι_δύ3ϲ2ι_ἐδυ2σ1τἐδυ2ϲ1τεἰ2ν1όδεἰ2ν1όδεἰ2ν1οδεἰ3σ2ί_εἰ3σ2ί_εἰ3ϲ2ί_εἰ3ϲ2ί_εἰ3σ2ὶ_εἰ3ϲ2ὶ_εἰ3σ2ι_εἰ3ϲ2ι_εἴ3σ2ομεἴ3ϲ2ομεἴ3σ2ῃ_εἴ3ϲ2ῃ_εἰ3σ2όμεἰ3σ2όμεἰ3ϲ2όμεἰ3ϲ2όμἐ3κ2λάζἐ3κ2λάζἐ3κ2λάγἐ3κ2λάγἐ3κ2λάοἐ3κ2λάοἐ3κ2λάσἐ3κ2λάσἐ3κ2λάϲἐ3κ2λάϲἐ3κ2λαίἐ3κ2λαίἐ3κ2λαύἐ3κ2λαύἐ3κ2λείἐ3κ2λείἐ3κ2λάπἐ3κ2λάπἐ3κ2λαπἐ3κ2λέφἐ3κ2λέφἐ3κ2λεφἐ3κ2λήρἐ3κ2λήρἐ3κ2ληρἐ3κ2λίνἐ3κ2λίνἐ3κ2λινἐ3κ2λόμἐ3κ2λόμἔ2κ1λειἔ2κ1λυσἔ2κ1λυϲἔ3κ2ναιἐ3κ2ναίἐ3κ2ναίἔ3κ2νησἔ3κ2νηϲἐ3κ2νήσἐ3κ2νήσἐ3κ2νήϲἐ3κ2νήϲἐ3κ2ράδἐ3κ2ράδἐ3κ2ραδἔ3κ2ραζἐ3κ2ράζἐ3κ2ράζἔ3κ2ραγἐ3κ2ράγἐ3κ2ράγἐ3κ2ράτἐ3κ2ράτἐ3κ2ρατἔ3κ2ραιἐ3κ2ραίἐ3κ2ραίἔ3κ2ρανἐ3κ2ράνἐ3κ2ράνἐ3κ2ρήηἐ3κ2ρήηἐ3κ2ράαἐ3κ2ράαἐ3κ2ραάἐ3κ2ραάἐ3κ2ράθἐ3κ2ράθἐ3κ2ραθἔ3κ2ρεκἐ3κ2ρέκἐ3κ2ρέκἔ3κ2ρεξἐ3κ2ρέξἐ3κ2ρέξἐ3κ2ρέμἐ3κ2ρέμἐ3κ2ρεμἐ3κ2ρήμἐ3κ2ρήμἐ3κ2ρημἔ3κ2ρινἐ3κ2ρίνἐ3κ2ρίνἐ3κ2ρίθἐ3κ2ρίθἐ3κ2ρότἐ3κ2ρότἐ3κ2ροτἔ3κ2ρουἐ3κ2ρούἐ3κ2ρούἔ3κ2ρυπἐ3κ2ρύπἐ3κ2ρύπἔ3κ2ρυψἐ3κ2ρύψἐ3κ2ρύψἐ3κ2ρύβἐ3κ2ρύβἐ3κ2ρύφἐ3κ2ρύφἐ3κ2ρυσἐ3κ2ρυϲἔ3κ2ρωζἐ3κ2ρώζἐ3κ2ρώζἔ3κ2ρωξἐ3κ2ρώξἐ3κ2ρώξἐ2κ1ταθἐ2κ1τανἐ2κ1ταρἐ2κ1τάσἐ2κ1τάσἐ2κ1τάϲἐ2κ1τάϲἐ2κ1τήκἐ2κ1τήκἔ3κ2τιζἐ3κ2τίζἐ3κ2τίζἔ3ν2ασσἔ3ν2αϲϲἐ3ν2άσσἐ3ν2άσσἐ3ν2άϲϲἐ3ν2άϲϲἐ3ν2άσθἐ3ν2άσθἐ3ν2άϲθἐ3ν2άϲθἐ3ν2ασθἐ3ν2αϲθἐ3ν2έγκἐ3ν2έγκἐ3ν2εγκἔ3ν2εικἐ3ν2εῖκἐ3ν2εικἐ3ν2είκἐ3ν2είκἔ3ν2ειμἐ3ν2είμἐ3ν2είμἐ3ν2ενήἐ3ν2ενήἔ3ν2ευσἔ3ν2ευϲἐ3ν2εύσἐ3ν2εύσἐ3ν2εύϲἐ3ν2εύϲἐ3ν2έχθἐ3ν2έχθἐ3ν2εχθἔ3ν2ην_ἐ3ν2ηείἐ3ν2ηείἐ3ν2ήνοἐ3ν2ήνοἐ4ν3ιαύἐ4ν3ιαύἐ4ν3ιδρἐ4ν3ίδρἐ4ν3ίδρἐ4ν3ίω_ἐ4ν3ίω_ἐ4ν3ιππἐ4ν3ίππἐ4ν3ίππἐ4ν3ίπτἐ4ν3ίπτἐ4ν3ίσσἐ4ν3ίσσἐ4ν3ίϲϲἐ4ν3ίϲϲἐ4ν3ίστἐ4ν3ίστἐ4ν3ίϲτἐ4ν3ίϲτἐ4ν3ιστἐ4ν3ιϲτἐ4ν3ισχἐ4ν3ιϲχἐ4ν3ίσχἐ4ν3ίσχἐ4ν3ίϲχἐ4ν3ίϲχἔ3ν2ος_ἔ3ν2οϲ_ἔ3ν2οσ_ἔ3ν2ου_ἔ3ν2ον_ἔ3ν2οι_ἔ3ν2ης_ἔ3ν2ηϲ_ἔ3ν2ησ_ἔ3ν2οσιἔ3ν2οϲιἐ3ν2όσεἐ3ν2όσεἐ3ν2όϲεἐ3ν2όϲεἐ3ν2υάλἐ3ν2υάλἐ3ν2υαλἐ3ν2υόοἐ3ν2υόοἐπεί2σ1ἐπεί2σ1ἐπεί2ϲ1ἐπεί2ϲ1ἐπει2σ1ἐπει2ϲ1ἐπε2σ1βἐπε2ϲ1βἐ4σ3θέσἐ4σ3θέσἐ4ϲ3θέϲἐ4ϲ3θέϲεὐε3ξ2ίεὐε3ξ2ίεὐε3ξ2ιεὐσύ2ν1εὐσύ2ν1εὐϲύ2ν1εὐϲύ2ν1εὐσυ2ν1εὐϲυ2ν1εὐξύ2ν1εὐξύ2ν1εὐξυ2ν1ἤ2ν1οψ__μυ2σ1π_μυ2ϲ1π_ξυ2ν1ε_ξυ2ν1έ_ξυ2ν1έ_ξύ2ν1ε_ξύ2ν1ε_ξύ2ν1ι_ξύ2ν1ι_ξυ2ν1ί_ξυ2ν1ίὅ2σ1γε_ὅ2ϲ1γε_ὅ2σ1τιςὅ2ϲ1τιϲ_προ2σ1_προ2ϲ1_τρι2σ1_τρι2ϲ1ὑπεί2σ1ὑπεί2σ1ὑπεί2ϲ1ὑπεί2ϲ1ὑπει2σ1ὑπει2ϲ1ὑπε2κ1τὑπε3ρ2ῶὑπε3ρ2ώὑπε3ρ2ώὑπε3ρ2ω_φω2σ1φ_φω2ϲ1φὡ2σ1εί_ὡ2σ1εί_ὡ2ϲ1εί_ὡ2ϲ1εί_ὡ2σ1εὶ_ὡ2ϲ1εὶ_", + 8 : "ἀγω2ν1άρἀγω2ν1άρἀγω2ν1αρἀμφί2σ1βἀμφί2σ1βἀμφί2ϲ1βἀμφί2ϲ1βἀμφι2σ1βἀμφι2ϲ1βἀμφί2σ1ωἀμφί2σ1ωἀμφί2ϲ1ωἀμφί2ϲ1ωἀμφι2σ1ώἀμφι2σ1ώἀμφι2ϲ1ώἀμφι2ϲ1ώἀ2ν1αγῆ_ἀ2ν1άγκυἀ2ν1άγκυἀ2ν1αγκύἀ2ν1αγκύἀ3ν2αγνάἀ3ν2αγνάἀ3ν2αγνωἀ3ν2άγνωἀ3ν2άγνωἀ3ν2αγνώἀ3ν2αγνώἀ2ν1αγρίἀ2ν1αγρίἀ2ν1αγρῖἀ2ν1αγριἀ2ν1άγωγἀ2ν1άγωγἀ2ν1αγώγἀ2ν1αγώγἀ2ν1άδελἀ2ν1άδελἀ2ν1αδέλἀ2ν1αδέλἀ2ν1άελπἀ2ν1άελπἀ2ν1αέλπἀ2ν1αέλπἀ2ν1αίσθἀ2ν1αίσθἀ2ν1αίϲθἀ2ν1αίϲθἀ2ν1αισθἀ2ν1αιϲθἀ2ν1αισιἀ2ν1αιϲιἀ2ν1αισίἀ2ν1αισίἀ2ν1αιϲίἀ2ν1αιϲίἀ2ν1αίσχἀ2ν1αίσχἀ2ν1αίϲχἀ2ν1αίϲχἀ2ν1αισχἀ2ν1αιϲχἀ2ν1άκανἀ2ν1άκανἀ2ν1ακάνἀ2ν1ακάνἀ3ν2αλδαἀ2ν1αλήθἀ2ν1αλήθἀ2ν1αληθἀ2ν1άλιπἀ2ν1άλιπἀ2ν1αλίπἀ2ν1αλίπἀ3ν2άλλοἀ3ν2άλλοἀ3ν2άλλεἀ3ν2άλλεἀ2ν1άλουἀ2ν1άλουἀ2ν1άλῳ_ἀ2ν1άλῳ_ἄ2ν1αλε_ἀ2ν1άλοιἀ2ν1άλοιἀ2ν1αμάξἀ2ν1αμάξἀ2ν1αμαξἀ3ν2ανθέἀ3ν2ανθέἀ2ν1άνιοἀ2ν1άνιοἀ2ν1ανίοἀ2ν1ανίοἀ2ν1ανίωἀ2ν1ανίωἀ2ν1αντίἀ2ν1αντίἀ2ν1αντιἀνα2ξ1αγἀνά2ξ1ανἀνά2ξ1ανἀνα2ξ1άνἀνα2ξ1άνἀνα2ξ1ανἀνά2ξ1αρἀνά2ξ1αρἀνα2ξ1άρἀνα2ξ1άρἀνά2ξ1ιπἀνά2ξ1ιπἀνα2ξ1ίπἀνα2ξ1ίπἀ2ν1άξιοἀ2ν1άξιοἀ2ν1αξίοἀ2ν1αξίοἀ2ν1αξίωἀ2ν1αξίωἀ2ν1αξίαἀ2ν1αξίαἀ2ν1αξῖαἀ2ν1απόβἀ2ν1απόβἀ2ν1αποβἀ2ν1απόγἀ2ν1απόγἀ2ν1απογἀ2ν1απόνἀ2ν1απόνἀ2ν1απονἀ2ν1απόπἀ2ν1απόπἀ2ν1αποπἀ2ν1απόσἀ2ν1απόσἀ2ν1απόϲἀ2ν1απόϲἀ2ν1αποσἀ2ν1αποϲἀ3ν2αρίτἀ3ν2αρίτἀ3ν2αρῖτἀ3ν2αριτἀ3ν2αρύτἀ3ν2αρύτἀ2ν1άσκηἀ2ν1άσκηἀ2ν1άϲκηἀ2ν1άϲκηἀ2ν1ασκήἀ2ν1ασκήἀ2ν1αϲκήἀ2ν1αϲκήἄ2ν1ασπιἄ2ν1αϲπιἀ2ν1ασπίἀ2ν1ασπίἀ2ν1αϲπίἀ2ν1αϲπίἀ2ν1ατὶ_ἀ2ν1ατί_ἀ2ν1ατί_ἀ3ν2αυδίἀ3ν2αυδίἀ3ν2αυδιἀ2ν1αφοῦἀ2ν1αφεῖἀ2ν1αφοῖἀ3ν2αφῆνἀ2ν1αχύρἀ2ν1αχύρἀ2ν1αχυρἀ2ν1έδεσἀ2ν1έδεσἀ2ν1έδεϲἀ2ν1έδεϲἀ2ν1εδέσἀ2ν1εδέσἀ2ν1εδέϲἀ2ν1εδέϲἀ2ν1εθέλἀ2ν1εθέλἀ2ν1εθελἀ2ν1είδεἀ2ν1είδεἀ2ν1ειδέἀ2ν1ειδέἀ2ν1είδωἀ2ν1είδωἀ2ν1ειδώἀ2ν1ειδώἀ2ν1είκαἀ2ν1είκαἀ2ν1εικάἀ2ν1εικάἀ2ν1εικόἀ2ν1εικόἀ2ν1εικοἀ2ν1είμαἀ2ν1είμαἀνε2κ1λόἀνε2κ1λόἀνε2κ1λοἀ2ν1έλαιἀ2ν1έλαιἀ2ν1ελαιἀ2ν1ελάτἀ2ν1ελάτἀ2ν1ελατἀ2ν1ελέηἀ2ν1ελέηἀ2ν1ελεήἀ2ν1ελεήἀ2ν1έλεοἀ2ν1έλεοἀ2ν1ελέοἀ2ν1ελέοἀ2ν1ελέωἀ2ν1ελέωἀ2ν1έλεεἀ2ν1έλεεἀ2ν1ελκήἀ2ν1ελκήἀ2ν1ελκὴἀ2ν1ελκοἀ2ν1ελκῆἀ2ν1ελκεἀ2ν1ελκῶἄ2ν1ελκτἀ2ν1έλκτἀ2ν1έλκτἀ2ν1έλκωἀ2ν1έλκωἀ2ν1ελκώἀ2ν1ελκώἀ2ν1έλπιἀ2ν1έλπιἀ2ν1ελπίἀ2ν1ελπίἀ2ν1έμετἀ2ν1έμετἀ2ν1εμέτἀ2ν1εμέτἀ3ν2ένειἀ3ν2ένειἀ2ν1ε2ξ1ἀ2ν1έστιἀ2ν1έστιἀ2ν1έϲτιἀ2ν1έϲτιἀ2ν1εστίἀ2ν1εστίἀ2ν1εϲτίἀ2ν1εϲτίἀ2ν1έταιἀ2ν1έταιἀ2ν1εταίἀ2ν1εταίἀ2ν1έτοιἀ2ν1έτοιἀ2ν1ετοίἀ2ν1ετοίἀ2ν1ευκτἀ3ν2εφάλἀ3ν2εφάλἀ3ν2έφελἀ3ν2έφελἀ3ν2εφέλἀ3ν2εφέλἀ2ν1ηγεμἀ2ν1ήκεσἀ2ν1ήκεσἀ2ν1ήκεϲἀ2ν1ήκεϲἀ2ν1ηκέσἀ2ν1ηκέσἀ2ν1ηκέϲἀ2ν1ηκέϲἀ2ν1ηλάκἀ2ν1ηλάκἀ2ν1ηλακἀ2ν1ηλεγἀ2ν1ηλεήἀ2ν1ηλεήἀ2ν1ηλεὴἀ2ν1ηλεοἀ2ν1ηλεεἀ2ν1ηλεῶἀ2ν1ηλεέἀ2ν1ηλεέἀ2ν1ηλεὲἀ2ν1ηλεῆἀ2ν1ηλέηἀ2ν1ηλέηἀ2ν1ηλοῦἀ2ν1ηλεῖἀ2ν1ηλοῖἀ2ν1ήλικἀ2ν1ήλικἀ2ν1ηλίκἀ2ν1ηλίκἀ2ν1ήλιοἀ2ν1ήλιοἀ2ν1ηλίοἀ2ν1ηλίοἀ2ν1ηλίωἀ2ν1ηλίωἀ2ν1ήλιαἀ2ν1ήλιαἀ2ν1ήλιπἀ2ν1ήλιπἀ2ν1ηλίπἀ2ν1ηλίπἀ2ν1ηλιφἀ2ν1ήρειἀ2ν1ήρειἀ2ν1ηρείἀ2ν1ηρείἀ2ν1ηρέμἀ2ν1ηρέμἀ2ν1ηρεμἀ2ν1ηρεφἀ2ν1ήροτἀ2ν1ήροτἀ2ν1ηρότἀ2ν1ηρότἀ2ν1ίδιοἀ2ν1ίδιοἀ2ν1ιδίοἀ2ν1ιδίοἀ2ν1ιδίωἀ2ν1ιδίωἀ2ν1ίδιαἀ2ν1ίδιαἀ2ν1ιδιτἀ2ν1ίδρωἀ2ν1ίδρωἄ2ν1ιδρεἀ3ν2ιέρωἀ3ν2ιέρωἀ3ν2ισᾶτἀ3ν2ιϲᾶτἀ3ν2ισάτἀ3ν2ισάτἀ3ν2ιϲάτἀ3ν2ιϲάτἀ4ν3ίσχυἀ4ν3ίσχυἀ4ν3ίϲχυἀ4ν3ίϲχυἀ2ν1οικεἄ2ν1οικτἀ2ν1οίκτἀ2ν1οίκτἀ2ν1ομήλἀ2ν1ομήλἀ2ν1ομηλἀ2ν1ομίλἀ2ν1ομίλἀ2ν1ομιλἀ2ν1όμιχἀ2ν1όμιχἀ2ν1ομιχἀ3ν2ομοθἀ3ν2όμῳ_ἀ3ν2όμῳ_ἀ3ν2όμω_ἀ3ν2όμω_ἀ3ν2ορμάἀ3ν2ορμάἀ2ν1όσφρἀ2ν1όσφρἀ2ν1όϲφρἀ2ν1όϲφρἀ2ν1οσφρἀ2ν1οϲφρἀ2ν1ούσιἀ2ν1ούσιἀ2ν1ούϲιἀ2ν1ούϲιἀ2ν1ουσίἀ2ν1ουσίἀ2ν1ουϲίἀ2ν1ουϲίἀντει2σ1ἀντει2ϲ1ἀ2ν1ωφέλἀ2ν1ωφέλἀ2ν1ωφελἀπα2ν1αιἀπά2ν1ουἀπά2ν1ουἀποσυ2ν1ἀποϲυ2ν1ἀπρο3σ2τἀπρο3ϲ2τἀρρε2ν1ωἀστε2ρ1ωἀϲτε2ρ1ωαὐτέ2κ1μαὐτέ2κ1μαὐτε2κ1μ_διό2σ1κ_διό2σ1κ_διό2ϲ1κ_διό2ϲ1κ_διο2σ1κ_διο2ϲ1κ_διό2σ1π_διό2σ1π_διό2ϲ1π_διό2ϲ1π_διο2σ1π_διο2ϲ1πδύ3σ2ει_δύ3σ2ει_δύ3ϲ2ει_δύ3ϲ2ει__δύ3σ2ετ_δύ3σ2ετ_δύ3ϲ2ετ_δύ3ϲ2ετδύ3σ2οι_δύ3σ2οι_δύ3ϲ2οι_δύ3ϲ2οι_δύ3σ2ων_δύ3σ2ων_δύ3ϲ2ων_δύ3ϲ2ων_δύ3σ2ουσδύ3σ2ουσδύ3ϲ2ουϲδύ3ϲ2ουϲδυ3σ2ούσδυ3σ2ούσδυ3ϲ2ούϲδυ3ϲ2ούϲδύ3σ2αι_δύ3σ2αι_δύ3ϲ2αι_δύ3ϲ2αι_δύ3σ2ον_δύ3σ2ον_δύ3ϲ2ον_δύ3ϲ2ον_δύ3σ2ας_δύ3σ2ας_δύ3ϲ2αϲ_δύ3ϲ2αϲ_δύ3σ2αν_δύ3σ2αν_δύ3ϲ2αν_δύ3ϲ2αν_δύ3σ2αντδύ3σ2αντδύ3ϲ2αντδύ3ϲ2αντδυ3σ2άντδυ3σ2άντδυ3ϲ2άντδυ3ϲ2άντ_δύ3σ2εσ_δύ3σ2εσ_δύ3ϲ2εϲ_δύ3ϲ2εϲδύ3σ2εο_δύ3σ2εο_δύ3ϲ2εο_δύ3ϲ2εο__δυσέ2κ1_δυσέ2κ1_δυϲέ2κ1_δυϲέ2κ1_δυσε2κ1_δυϲε2κ1_δυσέ2ξ1_δυσέ2ξ1_δυϲέ2ξ1_δυϲέ2ξ1_δυσε2ξ1_δυϲε2ξ1_δυ3σ2ιθ_δυ3ϲ2ιθδύ3σ2ις_δύ3σ2ις_δύ3ϲ2ιϲ_δύ3ϲ2ιϲ_δύ3σ2ισ_δύ3σ2ισ_δύ3σ2ιν_δύ3σ2ιν_δύ3ϲ2ιν_δύ3ϲ2ιν__δύ3σ2κε_δύ3σ2κε_δύ3ϲ2κε_δύ3ϲ2κε_δυ3σ2μῇ_δυ3ϲ2μῇ_δυ3σ2μᾶ_δυ3ϲ2μᾶ_δυ3σ2μα_δυ3ϲ2μα_δυ3σ2μῶ_δυ3ϲ2μῶεἰ3σ2ίν_εἰ3σ2ίν_εἰ3ϲ2ίν_εἰ3ϲ2ίν_εἰ3σ2ὶν_εἰ3ϲ2ὶν_εἰ3σ2ιν_εἰ3ϲ2ιν_εἴ3σ2οιοεἴ3ϲ2οιοεἴ3σ2ατοεἴ3ϲ2ατοεἴ3σ2αιοεἴ3ϲ2αιοἐ3κ2λήθηἐ3κ2λήθηἐ4κ3λείπἐ4κ3λείπἐ4κ3λείψἐ4κ3λείψἐ3κ2κλέπἐ3κ2κλέπἐ3κ2κλέψἐ3κ2κλέψἐ4κ3λάπτἐ4κ3λάπτἐ4κ3λαπτἐ3κ2κλώσἐ3κ2κλώσἐ3κ2κλώϲἐ3κ2κλώϲἔ3κ2λεισἔ3κ2λειϲἐ3κ2ραύγἐ3κ2ραύγἐ3κ2ραυγἐ2κ1τάμνἐ2κ1τάμνἐ3κ2τείνἐ3κ2τείνἔ3κ2τισαἔ3κ2τιϲαἐ3κ2τίσαἐ3κ2τίσαἐ3κ2τίϲαἐ3κ2τίϲαἐ3κ2τός_ἐ3κ2τός_ἐ3κ2τόϲ_ἐ3κ2τόϲ_ἐ3κ2τὸς_ἐ3κ2τὸϲ_ἐ3κ2τόσ_ἐ3κ2τόσ_ἐ3κ2τὸσ_ἔ2κ1τυποἑλλή2σ1πἑλλή2σ1πἑλλή2ϲ1πἑλλή2ϲ1πἑλλη2σ1πἑλλη2ϲ1πἐ3ν2άκιςἐ3ν2άκιςἐ3ν2άκιϲἐ3ν2άκιϲἐ3ν2ακισἐ3ν2ακιϲἐ3ν2ακόσἐ3ν2ακόσἐ3ν2ακόϲἐ3ν2ακόϲἐ3ν2ακοσἐ3ν2ακοϲἔ3ν2αρα_ἐ3ν2αρηφἐ4ν3αραρἐ3ν2άρεεἐ3ν2άρεεἐ3ν2αρέωἐ3ν2αρέωἐ3ν2αρέαἐ3ν2αρέαἐ3ν2αρεάἐ3ν2αρεάἐ3ν2άριεἐ3ν2άριεἐ3ν2αρίωἐ3ν2αρίωἐ3ν2αρίαἐ3ν2αρίαἐ3ν2αριάἐ3ν2αριάἐνδυ2σ1τἐνδυ2ϲ1τἐ3ν2εμήθἐ3ν2εμήθἐ3ν2έπειἐ3ν2έπειἔ3ν2ερθεἐ5ν4ιαύσἐ5ν4ιαύσἐ5ν4ιαύϲἐ5ν4ιαύϲἐ5ν4ιαυσἐ5ν4ιαυϲἔ3ν2οις_ἔ3ν2οιϲ_ἔ3ν2οισ_ἐ3ν2υοῦςἐ3ν2υοῦϲἐ3ξ2υ2ν1ἐπεί3σ2θἐπεί3σ2θἐπεί3ϲ2θἐπεί3ϲ2θἐπει3σ2θἐπει3ϲ2θἐπε2κ1τρἐπέ2κ1τρἐπέ2κ1τρἐπισυ2ν1ἐπιϲυ2ν1ἐ3σ2μὲν_ἐ3ϲ2μὲν_ἐ3σ2μέν_ἐ3σ2μέν_ἐ3ϲ2μέν_ἐ3ϲ2μέν_εὐπρό2σ1εὐπρό2σ1εὐπρό2ϲ1εὐπρό2ϲ1εὐπρο2σ1εὐπρο2ϲ1_θεό2σ1δ_θεό2σ1δ_θεό2ϲ1δ_θεό2ϲ1δ_θεο2σ1δ_θεο2ϲ1δ_θυο2σ1κ_θυο2ϲ1κ_κα2ν1εν_κα2ν1έν_κα2ν1έν_κρά2σ1π_κρά2σ1π_κρά2ϲ1π_κρά2ϲ1π_κρα2σ1π_κρα2ϲ1π_μογι2σ1_μογι2ϲ1_μυ2σ1επ_μυ2ϲ1επ_νου2ν1ε_ξυ2ν1αγ_ξυ3ν2εώ_ξυ3ν2εώ_ξυ3ν2εῶ_ξυ2ν1ῆκοἰ2σ1πώτοἰ2σ1πώτοἰ2ϲ1πώτοἰ2ϲ1πώτοἰ2σ1πωτοἰ2ϲ1πωτὅ2σ1περ_ὅ2ϲ1περ__παλι2ν1_παλί2ν1_παλί2ν1_πα3ν2ί__πα3ν2ί__πα3ν2ὶ__πα3ν2ικ_πα3ν2ῷ__πα3ν2ό__πα3ν2ό__πα3ν2ὸ__πα3ν2έ__πα3ν2έ__πα3ν2ὲ__παρε2ξ1_παρέ2ξ1_παρέ2ξ1παρέ3ξ2ῃπαρέ3ξ2ῃ_προε2κ1_προε2ν1_προε2ξ1_προέ2ξ1_προέ2ξ1_πυ2ρ1άγ_πυ2ρ1άγ_πυ2ρ1αγ_πυ2ρ1ῆθ_πυ2ρ1ηθ_πυ2ρ1ήθ_πυ2ρ1ήθ_πυ2ρ1ακ_πύ2ρ1αυ_πύ2ρ1αυ_πυ2ρ1αύ_πυ2ρ1αύ_πυ2ρ1αυ_πυ2ρ1ωπ_συνε2ξ1_ϲυνε2ξ1_τρι3σ2π_τρι3ϲ2π_τρί3σ2τ_τρί3σ2τ_τρί3ϲ2τ_τρί3ϲ2τ_τρι3σ2τ_τρι3ϲ2τ_τρι3σ2ώ_τρι3σ2ώ_τρι3ϲ2ώ_τρι3ϲ2ώ_τρι3σ2ω_τρι3ϲ2ωὑπέ3ρ2α_ὑπέ3ρ2α_ὑπέ3ρ2ᾳ_ὑπέ3ρ2ᾳ_ὑπε3ρ2εθὑπε3ρ2έθὑπε3ρ2έθὑπε3ρ2είὑπε3ρ2είὑπέ3ρ2υθὑπέ3ρ2υθὑπε3ρ2ύθὑπε3ρ2ύθὑπε3ρ2υθὑπε3ρ2έψὑπε3ρ2έψὑπε3ρ2εψὑπε3ρ2έωὑπε3ρ2έωὑπε3ρ2έεὑπε3ρ2έεὑπε3ρ2έοὑπε3ρ2έοὑπε3ρ2οῦ_φαε2σ1φ_φαε2ϲ1φὥ2σ1περ_ὥ2ϲ1περ_", + 9 : "ἀμπαλί2ν1ἀμπαλί2ν1ἀμπαλι2ν1ἀ2ν1αγής_ἀ2ν1αγής_ἀ2ν1αγήϲ_ἀ2ν1αγήϲ_ἀ2ν1αγὴς_ἀ2ν1αγὴϲ_ἀ2ν1αγήσ_ἀ2ν1αγήσ_ἀ2ν1αγὴσ_ἀ2ν1αγεῖ_ἀ2ν1αγές_ἀ2ν1αγές_ἀ2ν1αγέϲ_ἀ2ν1αγέϲ_ἀ2ν1αγὲς_ἀ2ν1αγὲϲ_ἀ2ν1αγέσ_ἀ2ν1αγέσ_ἀ2ν1αγὲσ_ἀ2ν1αγῶν_ἀ2ν1αγέσιἀ2ν1αγέσιἀ2ν1αγέϲιἀ2ν1αγέϲιἀ3ν2αγώγιἀ3ν2αγώγιἀ3ν2αγωγίἀ3ν2αγωγίἀ2ν1ακόλοἀ2ν1ακόλοἀ2ν1ακολοἀ2ν1άλειπἀ2ν1άλειπἀ2ν1αλείπἀ2ν1αλείπἀ2ν1αλειφἀ2ν1άλειφἀ2ν1άλειφἀ2ν1αλείφἀ2ν1αλείφἀ2ν1άλιστἀ2ν1άλιστἀ2ν1άλιϲτἀ2ν1άλιϲτἀ2ν1αλίστἀ2ν1αλίστἀ2ν1αλίϲτἀ2ν1αλίϲτἀ2ν1άλων_ἀ2ν1άλων_ἀ2ν1αμάρτἀ2ν1αμάρτἀ2ν1αμαρτἀ2ν1αμέλγἀ2ν1αμέλγἀ2ν1αμελγἀναμφι2σ1ἀναμφι2ϲ1ἀ2ν1ανάγκἀ2ν1ανάγκἀ2ν1αναγκἀ2ν1ανταγἀ2ν1ανταπἀ2ν1αξιόλἀ2ν1αξιόλἀ2ν1αξιολἀ2ν1αξιόπἀ2ν1αξιόπἀ2ν1αξιοπἀ2ν1απάρτἀ2ν1απάρτἀ2ν1απαρτἀ2ν1απαύδἀ2ν1απαύδἀ2ν1απαυδἀ2ν1αποδήἀ2ν1αποδήἀ2ν1αποδηἀ2ν1απόδοἀ2ν1απόδοἀ2ν1αποδόἀ2ν1αποδόἀ2ν1απόδρἀ2ν1απόδρἀ2ν1αποδρἀ2ν1απολόἀ2ν1απολόἀ2ν1απολοἀ2ν1απόλυἀ2ν1απόλυἀ2ν1απολύἀ2ν1απολύἀ2ν1απότεἀ2ν1απότεἀ2ν1αποτεἀ2ν1απότμἀ2ν1απότμἀ2ν1αποτμἀ2ν1απότρἀ2ν1απότρἀ2ν1αποτρἀ4ν3αρραγἀ2ν1άσσατἀ2ν1άσσατἀ2ν1άϲϲατἀ2ν1άϲϲατἀ2ν1ασσάτἀ2ν1ασσάτἀ2ν1αϲϲάτἀ2ν1αϲϲάτἀ2ν1άστειἀ2ν1άστειἀ2ν1άϲτειἀ2ν1άϲτειἀ2ν1αστείἀ2ν1αστείἀ2ν1αϲτείἀ2ν1αϲτείἀ2ν1ατεὶ_ἀ2ν1ατεί_ἀ2ν1ατεί_ἄ2ν1ατος_ἄ2ν1ατοϲ_ἄ2ν1ατοσ_ἀ2ν1άτου_ἀ2ν1άτου_ἄ2ν1ατον_ἄ2ν1ατοι_ἀ2ν1αφαίρἀ2ν1αφαίρἀ2ν1αφαιρἀ2ν1εφῶν_ἀ2ν1αφρόδἀ2ν1αφρόδἀ2ν1αφροδἀνδρό2σ1αἀνδρό2σ1αἀνδρό2ϲ1αἀνδρό2ϲ1αἀνδρο2σ1αἀνδρο2ϲ1αἀ2ν1έγερτἀ2ν1έγερτἀ2ν1εγέρτἀ2ν1εγέρτἀ2ν1έδρασἀ2ν1έδρασἀ2ν1έδραϲἀ2ν1έδραϲἀ2ν1εδράσἀ2ν1εδράσἀ2ν1εδράϲἀ2ν1εδράϲἀ2ν1ειλείἀ2ν1ειλείἀ2ν1ειλειἀ3ν2εκάς_ἀ3ν2εκάς_ἀ3ν2εκάϲ_ἀ3ν2εκάϲ_ἀ3ν2εκὰς_ἀ3ν2εκὰϲ_ἀ3ν2εκάσ_ἀ3ν2εκάσ_ἀ3ν2εκὰσ_ἀνε2κ1λιπἀ2ν1έλεγκἀ2ν1έλεγκἀ2ν1ελέγκἀ2ν1ελέγκἀ2ν1ελεγξἀ2ν1ελκέσἀ2ν1ελκέσἀ2ν1ελκέϲἀ2ν1ελκέϲἀ2ν1έλυτρἀ2ν1έλυτρἀ2ν1ελύτρἀ2ν1ελύτρἀ2ν1εραστἀ2ν1εραϲτἀ2ν1έραστἀ2ν1έραστἀ2ν1έραϲτἀ2ν1έραϲτἀ2ν1εράστἀ2ν1εράστἀ2ν1εράϲτἀ2ν1εράϲτἀ2ν1έρεικἀ2ν1έρεικἀ2ν1ερείκἀ2ν1ερείκἀ2ν1έρεισἀ2ν1έρεισἀ2ν1έρειϲἀ2ν1έρειϲἀ2ν1ερείσἀ2ν1ερείσἀ2ν1ερείϲἀ2ν1ερείϲἀ2ν1εύρετἀ2ν1εύρετἀ2ν1ευρέτἀ2ν1ευρέτἀ2ν1ηλάτωἀ2ν1ηλάτωἀ2ν1ήλαταἀ2ν1ήλαταἀ2ν1ήλειπἀ2ν1ήλειπἀ2ν1ηλείπἀ2ν1ηλείπἄ2ν1ιδροςἄ2ν1ιδροϲἄ2ν1ιδροσἀ2ν1ίδρουἀ2ν1ίδρουἄ2ν1ιδρονἀ2ν1ίδροιἀ2ν1ίδροιἄ2ν1ιδροιἀ2ν1ίδρυτἀ2ν1ίδρυτἀ2ν1ιδρύτἀ2ν1ιδρύτἀ2ν1ιδρωτἀ2ν1ιδρώτἀ2ν1ιδρώτἀ2ν1ιεράτἀ2ν1ιεράτἀ2ν1ίμαστἀ2ν1ίμαστἀ2ν1ίμαϲτἀ2ν1ίμαϲτἀ2ν1ιμάστἀ2ν1ιμάστἀ2ν1ιμάϲτἀ2ν1ιμάϲτἀ2ν1οικονἀ2ν1οικτίἀ2ν1οικτίἀ2ν1οίμωκἀ2ν1οίμωκἀ2ν1οιμώκἀ2ν1οιμώκἀ2ν1οιμωκἄ2ν1οιστρἄ2ν1οιϲτρἀ2ν1οίστρἀ2ν1οίστρἀ2ν1οίϲτρἀ2ν1οίϲτρἀ2ν1ομβρίἀ2ν1ομβρίἀ2ν1ομβρῖἄ2ν1ομβροἀ2ν1όμβροἀ2ν1όμβροἀ2ν1όμβρωἀ2ν1όμβρωἄ2ν1ομβραἀ3ν2όμου_ἀ3ν2όμου_ἀ3ν2όμων_ἀ3ν2όμων_ἀ3ν2οργάζἀ3ν2οργάζἀ2ν1όχευτἀ2ν1όχευτἀ2ν1οχεύτἀ2ν1οχεύτἀντα2ν1ισἀντα2ν1ιϲἀντα2ν1ίσἀντα2ν1ίσἀντα2ν1ίϲἀντα2ν1ίϲἀντιδυ2σ1ἀντιδυ2ϲ1ἀντισύ2ν1ἀντισύ2ν1ἀντιϲύ2ν1ἀντιϲύ2ν1ἀντισυ2ν1ἀντιϲυ2ν1ἀπα2ν1ούρἀπα2ν1ούρἀπρό3σ2κεἀπρό3σ2κεἀπρό3ϲ2κεἀπρό3ϲ2κεἀπρο3σ2κέἀπρο3σ2κέἀπρο3ϲ2κέἀπρο3ϲ2κέἀπρό3σ2κοἀπρό3σ2κοἀπρό3ϲ2κοἀπρό3ϲ2κοἀπρο3σ2κόἀπρο3σ2κόἀπρο3ϲ2κόἀπρο3ϲ2κόἀρχισυ2ν1ἀρχιϲυ2ν1_γερα2σ1φ_γερα2ϲ1φ_διέ2κ1ρο_διέ2κ1ρο_διε2κ1ρό_διε2κ1ρό_δικα2σ1π_δικα2ϲ1πδύ3σ2εις_δύ3σ2εις_δύ3ϲ2ειϲ_δύ3ϲ2ειϲ_δύ3σ2εισ_δύ3σ2εισ_δύ3σ2οις_δύ3σ2οις_δύ3ϲ2οιϲ_δύ3ϲ2οιϲ_δύ3σ2οισ_δύ3σ2οισ_δύ3σ2ειν_δύ3σ2ειν_δύ3ϲ2ειν_δύ3ϲ2ειν_δύ3σ2ωσι_δύ3σ2ωσι_δύ3ϲ2ωϲι_δύ3ϲ2ωϲι_δύ3σ2αις_δύ3σ2αις_δύ3ϲ2αιϲ_δύ3ϲ2αιϲ_δύ3σ2αισ_δύ3σ2αισ_δύ3σ2ειε_δύ3σ2ειε_δύ3ϲ2ειε_δύ3ϲ2ειε_δύ3σ2αιενδύ3σ2αιενδύ3ϲ2αιενδύ3ϲ2αιενδυ3σ2άτω_δυ3σ2άτω_δυ3ϲ2άτω_δυ3ϲ2άτω_δύ3σ2ατε_δύ3σ2ατε_δύ3ϲ2ατε_δύ3ϲ2ατε_δύ3σ2οιο_δύ3σ2οιο_δύ3ϲ2οιο_δύ3ϲ2οιο_δύ3σ2αιο_δύ3σ2αιο_δύ3ϲ2αιο_δύ3ϲ2αιο_δυ3σ2άμενδυ3σ2άμενδυ3ϲ2άμενδυ3ϲ2άμενδύ3σ2ατο_δύ3σ2ατο_δύ3ϲ2ατο_δύ3ϲ2ατο_δύ3σ2ετο_δύ3σ2ετο_δύ3ϲ2ετο_δύ3ϲ2ετο_δύ3σ2εσι_δύ3σ2εσι_δύ3ϲ2εϲι_δύ3ϲ2εϲι__δυ3σ2μή__δυ3σ2μή__δυ3ϲ2μή__δυ3ϲ2μή__δυ3σ2μὴ__δυ3ϲ2μὴ__δυ3σ2μῆ__δυ3ϲ2μῆ__δυσξύ2ν1_δυσξύ2ν1_δυϲξύ2ν1_δυϲξύ2ν1_δυσξυ2ν1_δυϲξυ2ν1_δύ3σ2ταν_δύ3σ2ταν_δύ3ϲ2ταν_δύ3ϲ2ταν_δυ3σ2τάν_δυ3σ2τάν_δυ3ϲ2τάν_δυ3ϲ2τάν_δυ3σ2την_δυ3ϲ2την_δυ3σ2τήν_δυ3σ2τήν_δυ3ϲ2τήν_δυ3ϲ2τήνεἴ3σ2οιτοεἴ3ϲ2οιτοεἰ3σ2όμενεἰ3σ2όμενεἰ3ϲ2όμενεἰ3ϲ2όμενεἰ3σ2ομένεἰ3σ2ομένεἰ3ϲ2ομένεἰ3ϲ2ομένεἴ3σ2ασθεεἴ3ϲ2αϲθεεἴ3σ2αντοεἴ3ϲ2αντοεἴ3σ2ωμαιεἴ3ϲ2ωμαιεἴ3σ2ησθεεἴ3ϲ2ηϲθεεἴ3σ2αιτοεἴ3ϲ2αιτοεἰ3σ2άσθωεἰ3σ2άσθωεἰ3ϲ2άϲθωεἰ3ϲ2άϲθωεἰ3σ2άμενεἰ3σ2άμενεἰ3ϲ2άμενεἰ3ϲ2άμενεἰ3σ2αμένεἰ3σ2αμένεἰ3ϲ2αμένεἰ3ϲ2αμένἐ4κ3λύσεωἐ4κ3λύσεωἐ4κ3λύϲεωἐ4κ3λύϲεωἐ4κ3λύσειἐ4κ3λύσειἐ4κ3λύϲειἐ4κ3λύϲειἔ2κ1ταμε_ἐ2κ1τύπῳ_ἐ2κ1τύπῳ_ἔ2κ1τυπε_ἐ2κ1τύπω_ἐ2κ1τύπω_ἐ2κτύποι_ἐ2κτύποι_ἔ2κ1τυπα_ἐ3ν2άρων_ἐ3ν2άρων_ἐ3ν2εμέσσἐ3ν2εμέσσἐ3ν2εμέϲϲἐ3ν2εμέϲϲἑ2ξ1ήρετμἑ2ξ1ήρετμἑ2ξ1ηρέτμἑ2ξ1ηρέτμἐπεί3σ2ω_ἐπεί3σ2ω_ἐπεί3ϲ2ω_ἐπεί3ϲ2ω_ἐπε2κ1τείἐπε2κ1τείἐπέ2κ1τειἐπέ2κ1τειἐ3σ2όμεθαἐ3σ2όμεθαἐ3ϲ2όμεθαἐ3ϲ2όμεθαἐ3σ2οίμηνἐ3σ2οίμηνἐ3ϲ2οίμηνἐ3ϲ2οίμην_θη2ρ1αγρ_κατει2σ1_κατει2ϲ1_κατε2ν1ή_κατε2ν1ή_κερα2σ1φ_κερα2ϲ1φ_κυνό2σ1α_κυνό2σ1α_κυνό2ϲ1α_κυνό2ϲ1α_κυνό2σ1β_κυνό2σ1β_κυνό2ϲ1β_κυνό2ϲ1β_κυνο2σ1β_κυνο2ϲ1β_κυνό2σ1ο_κυνό2σ1ο_κυνό2ϲ1ο_κυνό2ϲ1ο_κυνο2σ1ο_κυνο2ϲ1ο_κυνο2σ1φ_κυνο2ϲ1φ_μελά2ν1υ_μελά2ν1υ_μελα2ν1ύ_μελα2ν1ύ_μετε2ξ1α_μετε2ξ1έ_μετε2ξ1έ_μετε2ξ1ε_μογο2σ1τ_μογο2ϲ1τοἱο2ν1εί_οἱο2ν1εί_οἱο2ν1εὶ_ὁλο2ν1έν_ὁλο2ν1έν_ὁλο2ν1ὲν_ὁσο2ν1ῶν_ὁϲο2ν1ῶν_οἷ2σ1τισιοἷ2ϲ1τιϲιἧ2σ1τινοςἧ2ϲ1τινοϲαἷ2σ1τισιαἷ2ϲ1τιϲιἅ2σ1τιναςἅ2ϲ1τιναϲ_πα3ν2ός__πα3ν2ός__πα3ν2όϲ__πα3ν2όϲ__πα3ν2ὸς__πα3ν2ὸϲ__πα3ν2όσ__πα3ν2όσ__πα3ν2ὸσ__πα3ν2ῶν__πα3ν2ίσδ_πα3ν2ίσδ_πα3ν2ίϲδ_πα3ν2ίϲδ_πα3ν2ισδ_πα3ν2ιϲδ_πα3ν2οῦ__πα3ν2όν__πα3ν2όν__πα3ν2ὸν__πα3ν2οί__πα3ν2οί__πα3ν2οὶ__παρεί2σ1_παρεί2σ1_παρεί2ϲ1_παρεί2ϲ1_παρει2σ1_παρει2ϲ1_παρε2κ1λ_παρε2ν1οπαρέ3ξ2ω_παρέ3ξ2ω__πλεο2ν1έ_πλεο2ν1έ_πλεο2ν1ε_προει2σ1_προει2ϲ1_προ3σ2άβ_προ3σ2άβ_προ3ϲ2άβ_προ3ϲ2άβ_προ3σ2αβ_προ3ϲ2αβ_προ3σ2εί_προ3σ2εί_προ3ϲ2εί_προ3ϲ2εί_προσε2ν1_προϲε2ν1_προσε2ξ1_προϲε2ξ1_πρό3σ2θι_πρό3σ2θι_πρό3ϲ2θι_πρό3ϲ2θι_προ3σ2θί_προ3σ2θί_προ3ϲ2θί_προ3ϲ2θί_πρό3σ2τῳ_πρό3σ2τῳ_πρό3ϲ2τῳ_πρό3ϲ2τῳ_προ3σ2τῴ_προ3ϲ2τῴ_προ3σ2υγ_προ3ϲ2υγ_προ3σ2υμ_προ3ϲ2υμ_πρό3σ2ω__πρό3σ2ω__πρό3ϲ2ω__πρό3ϲ2ω__προ3σ2ώτ_προ3σ2ώτ_προ3ϲ2ώτ_προ3ϲ2ώτ_προ3σ2ωτ_προ3ϲ2ωτ_πυ2ρ1αίθ_πυ2ρ1αίθ_πυ2ρ1αιθ_συνδυ2σ1_ϲυνδυ2ϲ1_τρει2σ1κ_τρει2ϲ1κ_τρι3σ2μό_τρι3σ2μό_τρι3ϲ2μό_τρι3ϲ2μό_τρι3σ2μο_τρι3ϲ2μο_τρι3σ2μῶ_τρι3ϲ2μῶὑπεί3σ2αςὑπεί3σ2αςὑπεί3ϲ2αϲὑπεί3ϲ2αϲὑπεί3σ2ασὑπεί3σ2ασὑπεί3σ2ανὑπεί3σ2ανὑπεί3ϲ2ανὑπεί3ϲ2ανὑπει3σ2άνὑπει3σ2άνὑπει3ϲ2άνὑπει3ϲ2άνὑπει3σ2άσὑπει3σ2άσὑπει3ϲ2άϲὑπει3ϲ2άϲὑπε2κ1λαμὑπε2κ1λήψὑπε2κ1λήψὑπέ3ρ2ης_ὑπέ3ρ2ης_ὑπέ3ρ2ηϲ_ὑπέ3ρ2ηϲ_ὑπέ3ρ2ησ_ὑπέ3ρ2ησ_ὑπέ3ρ2αν_ὑπέ3ρ2αν_ὑπέ3ρ2αι_ὑπέ3ρ2αι_ὑπε3ρ2ῶν_ὑπέ3ρ2ας_ὑπέ3ρ2ας_ὑπέ3ρ2αϲ_ὑπέ3ρ2αϲ_ὑπέ3ρ2ασ_ὑπέ3ρ2ασ_ὑπε3ρ2έπτὑπε3ρ2έπτὑπε3ρ2επτὑπε3ρ2εῖ_ὑπε3ρ2εῖτ_χει2ρ1άγ_χει2ρ1άγ_χει2ρ1αγ_χει2ρ1απ_χει2ρ1αψ_χει2ρ1ου_χει2ρ1ῶν_χει2ρ1άν_χει2ρ1άν_χει2ρ1αν_χη2ν1ναλ", + 10 : "ἀ2ν1αγεῖς_ἀ2ν1αγεῖϲ_ἀ2ν1αγεῖσ_ἀ4ν3αγωγίαἀ4ν3αγωγίαἀ3ν2αλδήσκἀ3ν2αλδήσκἀ3ν2αλδήϲκἀ3ν2αλδήϲκἀ4ν3ανθές_ἀ4ν3ανθές_ἀ4ν3ανθέϲ_ἀ4ν3ανθέϲ_ἀ4ν3ανθὲς_ἀ4ν3ανθὲϲ_ἀ4ν3ανθέσ_ἀ4ν3ανθέσ_ἀ4ν3ανθὲσ_ἀ4ν3ανθέσιἀ4ν3ανθέσιἀ4ν3ανθέϲιἀ4ν3ανθέϲιἀ2ν1απάλλαἀ2ν1απάλλαἀ2ν1απαλλάἀ2ν1απαλλάἀ2ν1απόλαυἀ2ν1απόλαυἀ2ν1απολαύἀ2ν1απολαύἀ3ν2αστείβἀ3ν2αστείβἀ3ν2αϲτείβἀ3ν2αϲτείβἀ3ν2άστειρἀ3ν2άστειρἀ3ν2άϲτειρἀ3ν2άϲτειρἀ3ν2αστείρἀ3ν2αστείρἀ3ν2αϲτείρἀ3ν2αϲτείρἀ3ν2άστειχἀ3ν2άστειχἀ3ν2άϲτειχἀ3ν2άϲτειχἀ3ν2αστείχἀ3ν2αστείχἀ3ν2αϲτείχἀ3ν2αϲτείχἀ2ν1άτοις_ἀ2ν1άτοις_ἀ2ν1άτοιϲ_ἀ2ν1άτοιϲ_ἀ2ν1άτοισ_ἀ2ν1άτοισ_ἀ2ν1εί2σ1οἀ2ν1εί2σ1οἀ2ν1εί2ϲ1οἀ2ν1εί2ϲ1οἀ2ν1ει2σ1όἀ2ν1ει2σ1όἀ2ν1ει2ϲ1όἀ2ν1ει2ϲ1όἀ2ν1ελκές_ἀ2ν1ελκές_ἀ2ν1ελκέϲ_ἀ2ν1ελκέϲ_ἀ2ν1ελκὲς_ἀ2ν1ελκὲϲ_ἀ2ν1ελκέσ_ἀ2ν1ελκέσ_ἀ2ν1ελκὲσ_ἀ3ν2έντες_ἀ3ν2έντες_ἀ3ν2έντεϲ_ἀ3ν2έντεϲ_ἀ3ν2έντεσ_ἀ3ν2έντεσ_ἀ2ν1ηλάτουἀ2ν1ηλάτουἀ2ν1ήλατε_ἀ2ν1ήλατε_ἀ2ν1ηλάτοιἀ2ν1ηλάτοιἀ2ν1ήλατοιἀ2ν1ήλατοιἀ4ν3ιστορηἀ4ν3ιϲτορηἀ4ν3ιστόρηἀ4ν3ιστόρηἀ4ν3ιϲτόρηἀ4ν3ιϲτόρηἀ4ν3ιστορήἀ4ν3ιστορήἀ4ν3ιϲτορήἀ4ν3ιϲτορήἀ2ν1ιχνεύτἀ2ν1ιχνεύτἀ2ν2όμοιν_ἀ2ν2όμοιν_ἀ3ν2όμοις_ἀ3ν2όμοις_ἀ3ν2όμοιϲ_ἀ3ν2όμοιϲ_ἀ3ν2όμοισ_ἀ3ν2όμοισ_ἀ3ν2όμους_ἀ3ν2όμους_ἀ3ν2όμουϲ_ἀ3ν2όμουϲ_ἀ3ν2όμουσ_ἀ3ν2όμουσ_ἀντιπρο2σ1ἀντιπρο2ϲ1ἀ2ν1υπέ2ρ1ἀ2ν1υπέ2ρ1ἀ2ν1υπε2ρ1δύ3σ2ομεν_δύ3σ2ομεν_δύ3ϲ2ομεν_δύ3ϲ2ομεν_δύ3σ2οιμι_δύ3σ2οιμι_δύ3ϲ2οιμι_δύ3ϲ2οιμι_δύ3σ2οιτε_δύ3σ2οιτε_δύ3ϲ2οιτε_δύ3ϲ2οιτε_δύ3σ2οιεν_δύ3σ2οιεν_δύ3ϲ2οιεν_δύ3ϲ2οιεν_δύ3σ2ητον_δύ3σ2ητον_δύ3ϲ2ητον_δύ3ϲ2ητον_δύ3σ2ωμεν_δύ3σ2ωμεν_δύ3ϲ2ωμεν_δύ3ϲ2ωμεν_δύ3σ2αιμι_δύ3σ2αιμι_δύ3ϲ2αιμι_δύ3ϲ2αιμι_δύ3σ2ειας_δύ3σ2ειας_δύ3ϲ2ειαϲ_δύ3ϲ2ειαϲ_δύ3σ2ειασ_δύ3σ2ειασ_δύ3σ2αιτε_δύ3σ2αιτε_δύ3ϲ2αιτε_δύ3ϲ2αιτε_δύ3σ2ειαν_δύ3σ2ειαν_δύ3ϲ2ειαν_δύ3ϲ2ειαν_δύ3σ2ατον_δύ3σ2ατον_δύ3ϲ2ατον_δύ3ϲ2ατον_δυ3σ2άτων_δυ3σ2άτων_δυ3ϲ2άτων_δυ3ϲ2άτων_δύ3σ2ομαι_δύ3σ2ομαι_δύ3ϲ2ομαι_δύ3ϲ2ομαι_δύ3σ2οιτο_δύ3σ2οιτο_δύ3ϲ2οιτο_δύ3ϲ2οιτο__δυ3σ2όμεν_δυ3σ2όμεν_δυ3ϲ2όμεν_δυ3ϲ2όμεν_δυ3σ2ομέν_δυ3σ2ομέν_δυ3ϲ2ομέν_δυ3ϲ2ομένδύ3σ2ωμαι_δύ3σ2ωμαι_δύ3ϲ2ωμαι_δύ3ϲ2ωμαι_δύ3σ2ηται_δύ3σ2ηται_δύ3ϲ2ηται_δύ3ϲ2ηται_δυ3σ2ώμεθαδυ3σ2ώμεθαδυ3ϲ2ώμεθαδυ3ϲ2ώμεθαδύ3σ2ησθε_δύ3σ2ησθε_δύ3ϲ2ηϲθε_δύ3ϲ2ηϲθε_δύ3σ2αιτο_δύ3σ2αιτο_δύ3ϲ2αιτο_δύ3ϲ2αιτο_δυ3σ2άσθω_δυ3σ2άσθω_δυ3ϲ2άϲθω_δυ3ϲ2άϲθω_δύ3σ2ασθε_δύ3σ2ασθε_δύ3ϲ2αϲθε_δύ3ϲ2αϲθε_δυσ3σ2αμένδυσ3σ2αμένδυϲ3ϲ2αμένδυϲ3ϲ2αμένδύ3σ2αντο_δύ3σ2αντο_δύ3ϲ2αντο_δύ3ϲ2αντο__δυσεί2σ1β_δυσεί2σ1β_δυϲεί2ϲ1β_δυϲεί2ϲ1β_δυσει2σ1β_δυϲει2ϲ1βδυ3σ2έοιν_δυ3σ2έοιν_δυ3ϲ2έοιν_δυ3ϲ2έοιν_δύ3σ2εσιν_δύ3σ2εσιν_δύ3ϲ2εϲιν_δύ3ϲ2εϲιν__δυ3σ2μῆς__δυ3ϲ2μῆϲ__δυ3σ2μῆσ_εἴ3σ2εται_εἴ3ϲ2εται_εἴ3σ2εσθε_εἴ3ϲ2εϲθε_εἴ3σ2ονταιεἴ3ϲ2ονταιεἰ3σ2οίμηνεἰ3σ2οίμηνεἰ3ϲ2οίμηνεἰ3ϲ2οίμηνεἴ3σ2οισθεεἴ3ϲ2οιϲθεεἴ3σ2οιντοεἴ3ϲ2οιντοεἴ3σ2εσθαιεἴ3ϲ2εϲθαιεἴ3σ2άμην_εἴ3σ2άμην_εἴ3ϲ2άμην_εἴ3ϲ2άμην_εἴ3σ2ασθονεἴ3ϲ2αϲθονεἰ3σ2άσθηνεἰ3σ2άσθηνεἰ3ϲ2άϲθηνεἰ3ϲ2άϲθηνεἰ3σ2άμεθαεἰ3σ2άμεθαεἰ3ϲ2άμεθαεἰ3ϲ2άμεθαεἴ3σ2ησθονεἴ3ϲ2ηϲθονεἰ3σ2ώμεθαεἰ3σ2ώμεθαεἰ3ϲ2ώμεθαεἰ3ϲ2ώμεθαεἴ3σ2ωνταιεἴ3ϲ2ωνταιεἰ3σ2αίμηνεἰ3σ2αίμηνεἰ3ϲ2αίμηνεἰ3ϲ2αίμηνεἴ3σ2αισθεεἴ3ϲ2αιϲθεεἴ3σ2αιντοεἴ3ϲ2αιντοεἰ3σ2άσθωνεἰ3σ2άσθωνεἰ3ϲ2άϲθωνεἰ3ϲ2άϲθωνεἴ3σ2ασθαιεἴ3ϲ2αϲθαιἐ4κ3λύσεοιἐ4κ3λύσεοιἐ4κ3λύϲεοιἐ4κ3λύϲεοιἐ4κ3λύσεσιἐ4κ3λύσεσιἐ4κ3λύϲεϲιἐ4κ3λύϲεϲιἐ2κ1τύπου_ἐ2κ1τύπου_ἐ2κ1τύπων_ἐ2κ1τύπων_ἐ3ν2άροις_ἐ3ν2άροις_ἐ3ν2άροιϲ_ἐ3ν2άροιϲ_ἐ3ν2άροισ_ἐ3ν2άροισ_ἐ4ν3ιέτον_ἐ4ν3ιέτον_ἐ4ν3ίεμεν_ἐ4ν3ίεμεν_ἐπεί3σ2ατεἐπεί3σ2ατεἐπεί3ϲ2ατεἐπεί3ϲ2ατεἐπεί3σ2ατοἐπεί3σ2ατοἐπεί3ϲ2ατοἐπεί3ϲ2ατοἐπιπρό2σ1θἐπιπρό2σ1θἐπιπρό2ϲ1θἐπιπρό2ϲ1θἐπιπρο2σ1θἐπιπρο2ϲ1θ_θεμι2σ1κρ_θεμι2ϲ1κρ_καθυπε2ρ1_καλω2σ1ορ_καλω2ϲ1ορ_καλω2σ1όρ_καλω2σ1όρ_καλω2ϲ1όρ_καλω2ϲ1όρ_κα2ν1είς__κα2ν1είς__κα2ν1είϲ__κα2ν1είϲ__κα2ν1εὶς__κα2ν1εὶϲ__κα2ν1είσ__κα2ν1είσ__κα2ν1εὶσ__κατε2ν1αί_κατε2ν1αί_μελα2ν1άγ_μελα2ν1άγ_μελα2ν1αγ_μελα2ν1άε_μελα2ν1άε_μελα2ν1αέ_μελα2ν1αέ_μελα2ν1αθ_νεώ2σ1οικ_νεώ2σ1οικ_νεώ2ϲ1οικ_νεώ2ϲ1οικ_νεω2σ1οίκ_νεω2σ1οίκ_νεω2ϲ1οίκ_νεω2ϲ1οίκοὕ2σ1τιναςοὕ2ϲ1τιναϲἡτι2σ1οῦν_ἡτι2ϲ1οῦν_οὐδενό2σ1ωοὐδενό2σ1ωοὐδενό2ϲ1ωοὐδενό2ϲ1ωοὐδενο2σ1ώοὐδενο2σ1ώοὐδενο2ϲ1ώοὐδενο2ϲ1ώ_πα3ν2οῖς__πα3ν2οῖϲ__πα3ν2οῖσ__πα3ν2ούς__πα3ν2ούς__πα3ν2ούϲ__πα3ν2ούϲ__πα3ν2οὺς__πα3ν2οὺϲ__πα3ν2ούσ__πα3ν2ούσ__πα3ν2οὺσ__παρε2κ1τρ_παρε2ν1εῖπαρέ3ξ2ει_παρέ3ξ2ει__προσει2σ1_προϲει2ϲ1_προ4σ3θιγ_προ4ϲ3θιγ_πρό3σ2κοπ_πρό3σ2κοπ_πρό3ϲ2κοπ_πρό3ϲ2κοπ_προ3σ2κόπ_προ3σ2κόπ_προ3ϲ2κόπ_προ3ϲ2κόπ_προ3σ2τασ_προ3ϲ2ταϲ_προ3σ2τάτ_προ3σ2τάτ_προ3ϲ2τάτ_προ3ϲ2τάτ_προ3σ2τατ_προ3ϲ2τατ_προ3σ2ταυ_προ3ϲ2ταυ_προ3σ2τεί_προ3σ2τεί_προ3ϲ2τεί_προ3ϲ2τεί_προ3σ2τεν_προ3ϲ2τεν_προ3σ2τέν_προ3σ2τέν_προ3ϲ2τέν_προ3ϲ2τέν_προ3σ2τήσ_προ3σ2τήσ_προ3ϲ2τήϲ_προ3ϲ2τήϲ_προ3σ2τόμ_προ3σ2τόμ_προ3ϲ2τόμ_προ3ϲ2τόμ_προ3σ2τομ_προ3ϲ2τομ_προ3σ2φάζ_προ3σ2φάζ_προ3ϲ2φάζ_προ3ϲ2φάζ_πρό3σ2χημ_πρό3σ2χημ_πρό3ϲ2χημ_πρό3ϲ2χημ_προ3σ2χήμ_προ3σ2χήμ_προ3ϲ2χήμ_προ3ϲ2χήμ_προϋπε2ξ1_πυ2ρ1ήνεμ_πυ2ρ1ήνεμ_πυ2ρ1ηνέμ_πυ2ρ1ηνέμ_σελα2σ1φό_σελα2σ1φό_ϲελα2ϲ1φό_ϲελα2ϲ1φό_σελα2σ1φο_ϲελα2ϲ1φο_συνδιέ2ξ1_συνδιέ2ξ1_ϲυνδιέ2ξ1_ϲυνδιέ2ξ1_συνδιε2ξ1_ϲυνδιε2ξ1ὑπέ3ρ2αις_ὑπέ3ρ2αις_ὑπέ3ρ2αιϲ_ὑπέ3ρ2αιϲ_ὑπέ3ρ2αισ_ὑπέ3ρ2αισ_ὑπερε2κ1τεὑπερε2κ1τίὑπερε2κ1τίὑπε3ρ2εῖς_ὑπε3ρ2εῖϲ_ὑπε3ρ2εῖσ_ὡ2σ1αύτως_ὡ2σ1αύτως_ὡ2ϲ1αύτωϲ_ὡ2ϲ1αύτωϲ_ὡ2σ1αύτωσ_ὡ2σ1αύτωσ_ι2σ1χίλια_ι2σ1χίλια_ι2ϲ1χίλια_ι2ϲ1χίλια_ι2σ1μύρια_ι2σ1μύρια_ι2ϲ1μύρια_ι2ϲ1μύρια_", + 11 : "ἀ2ν1εί2σ1ακἀ2ν1εί2σ1ακἀ2ν1εί2ϲ1ακἀ2ν1εί2ϲ1ακἀ2ν1ει2σ1άκἀ2ν1ει2σ1άκἀ2ν1ει2ϲ1άκἀ2ν1ει2ϲ1άκἀ4ν3έ2κ1τιτἀ4ν3έ2κ1τιτἀ4ν3ε2κ1τίτἀ4ν3ε2κ1τίτἀ3ν2ε3ξ2ίκαἀ3ν2ε3ξ2ίκαἀ3ν2ε3ξ2ικάἀ3ν2ε3ξ2ικάἀ2ν1ερεύνητἀ2ν1ερεύνητἀ2ν1ερευνήτἀ2ν1ερευνήτἀ2ν1ευφήμητἀ2ν1ευφήμητἀ2ν1ευφημήτἀ2ν1ευφημήτἀ2ν1ήλατος_ἀ2ν1ήλατος_ἀ2ν1ήλατοϲ_ἀ2ν1ήλατοϲ_ἀ2ν1ήλατοσ_ἀ2ν1ήλατοσ_ἀ2ν1ήλατον_ἀ2ν1ήλατον_ἀντιπαρε2κ1ἀντιπαρε2ξ1_διαμφι2σ1β_διαμφι2ϲ1βδύ3σ2ουσιν_δύ3σ2ουσιν_δύ3ϲ2ουϲιν_δύ3ϲ2ουϲιν_δύ3σ2οιτον_δύ3σ2οιτον_δύ3ϲ2οιτον_δύ3ϲ2οιτον_δυ3σ2οίτην_δυ3σ2οίτην_δυ3ϲ2οίτην_δυ3ϲ2οίτην_δύ3σ2οιμεν_δύ3σ2οιμεν_δύ3ϲ2οιμεν_δύ3ϲ2οιμεν_δύ3σ2αιτον_δύ3σ2αιτον_δύ3ϲ2αιτον_δύ3ϲ2αιτον_δυ3σ2αίτην_δυ3σ2αίτην_δυ3ϲ2αίτην_δυ3ϲ2αίτην_δύ3σ2αιμεν_δύ3σ2αιμεν_δύ3ϲ2αιμεν_δύ3ϲ2αιμεν_δυ3σ2άντων_δυ3σ2άντων_δυ3ϲ2άντων_δυ3ϲ2άντων_δυ3σ2όμεθα_δυ3σ2όμεθα_δυ3ϲ2όμεθα_δυ3ϲ2όμεθα_δύ3σ2ονται_δύ3σ2ονται_δύ3ϲ2ονται_δύ3ϲ2ονται_δυ3σ2οίμην_δυ3σ2οίμην_δυ3ϲ2οίμην_δυ3ϲ2οίμην_δύ3σ2οισθε_δύ3σ2οισθε_δύ3ϲ2οιϲθε_δύ3ϲ2οιϲθε_δύ3σ2οιντο_δύ3σ2οιντο_δύ3ϲ2οιντο_δύ3ϲ2οιντο_δύ3σ2εσθαι_δύ3σ2εσθαι_δύ3ϲ2εϲθαι_δύ3ϲ2εϲθαι_δυ3σ2αίμην_δυ3σ2αίμην_δυ3ϲ2αίμην_δυ3ϲ2αίμην_δύ3σ2αιντο_δύ3σ2αιντο_δύ3ϲ2αιντο_δύ3ϲ2αιντο_δύ3σ2ασθον_δύ3σ2ασθον_δύ3ϲ2αϲθον_δύ3ϲ2αϲθον_δυ3σ2άσθων_δυ3σ2άσθων_δυ3ϲ2άϲθων_δυ3ϲ2άϲθων_δύ3σ2ασθαι_δύ3σ2ασθαι_δύ3ϲ2αϲθαι_δύ3ϲ2αϲθαι_εἴ3σ2εσθον_εἴ3ϲ2εϲθον_εἴ3σ2οισθονεἴ3ϲ2οιϲθονεἰ3σ2οίσθηνεἰ3σ2οίσθηνεἰ3ϲ2οίϲθηνεἰ3ϲ2οίϲθηνεἰ3σ2οίμεθαεἰ3σ2οίμεθαεἰ3ϲ2οίμεθαεἰ3ϲ2οίμεθαεἴ3σ2αισθονεἴ3ϲ2αιϲθονεἴ3σ2αίσθηνεἴ3σ2αίσθηνεἴ3ϲ2αίϲθηνεἴ3ϲ2αίϲθηνεἰ3σ2αίμεθαεἰ3σ2αίμεθαεἰ3ϲ2αίμεθαεἰ3ϲ2αίμεθαἐ2κ1τύποις_ἐ2κ1τύποις_ἐ2κ1τύποιϲ_ἐ2κ1τύποιϲ_ἐ2κ1τύποισ_ἐ2κ1τύποισ_ἐ2κ1τύπους_ἐ2κ1τύπους_ἐ2κ1τύπουϲ_ἐ2κ1τύπουϲ_ἐ2κ1τύπουσ_ἐ2κ1τύπουσ__μελα2ν1αιγ_μελα2ν1αυγ_μελα2ν1είμ_μελα2ν1είμ_μελα2ν1εῖμ_μελά2ν1ιππ_μελά2ν1ιππ_μελα2ν1ίππ_μελα2ν1ίππ_μελα2ν1όμμ_μελα2ν1όμμ_μελα2ν1ομμ_μελά2ν1οσσ_μελά2ν1οσσ_μελά2ν1οϲϲ_μελά2ν1οϲϲ_μελα2ν1όσσ_μελα2ν1όσσ_μελα2ν1όϲϲ_μελα2ν1όϲϲ_μελά2ν1οστ_μελά2ν1οστ_μελά2ν1οϲτ_μελά2ν1οϲτ_μελα2ν1όστ_μελα2ν1όστ_μελα2ν1όϲτ_μελα2ν1όϲτ_μελά2ν1ουρ_μελά2ν1ουρ_μελα2ν1ούρ_μελα2ν1ούρ_μελα2ν1ουρ_παρα2ν1ίσχ_παρα2ν1ίσχ_παρα2ν1ίϲχ_παρα2ν1ίϲχπαρέ3ξ2εις_παρέ3ξ2εις_παρέ3ξ2ειϲ_παρέ3ξ2ειϲ_παρέ3ξ2εισ_παρέ3ξ2εισ_παρέ3ξ2ετε_παρέ3ξ2ετε_παρέ3ξ2ομαιπαρέ3ξ2ομαι_προ3σ2έσει_προ3σ2έσει_προ3ϲ2έϲει_προ3ϲ2έϲει_προ3σ2εσεί_προ3σ2εσεί_προ3ϲ2εϲεί_προ3ϲ2εϲεί_προ3σ2τερν_προ3ϲ2τερν_πρό3σ2τερν_πρό3σ2τερν_πρό3ϲ2τερν_πρό3ϲ2τερν_προ3σ2τέρν_προ3σ2τέρν_προ3ϲ2τέρν_προ3ϲ2τέρν_προ3σ2υ2ν1_προ3ϲ2υ2ν1_πρό3σ2φαγμ_πρό3σ2φαγμ_πρό3ϲ2φαγμ_πρό3ϲ2φαγμ_προ3σ2φάγμ_προ3σ2φάγμ_προ3ϲ2φάγμ_προ3ϲ2φάγμ_προ3σ2φάττ_προ3σ2φάττ_προ3ϲ2φάττ_προ3ϲ2φάττὡ2σ1α2ν1εί_ὡ2σ1α2ν1εί_ὡ2ϲ1α2ν1εί_ὡ2ϲ1α2ν1εί_ὡ2σ1α2ν1εὶ_ὡ2ϲ1α2ν1εὶ_ι2σ1χίλιοι_ι2σ1χίλιοι_ι2ϲ1χίλιοι_ι2ϲ1χίλιοι_ι2σ1χιλίων_ι2σ1χιλίων_ι2ϲ1χιλίων_ι2ϲ1χιλίων_ι2σ1χίλιαι_ι2σ1χίλιαι_ι2ϲ1χίλιαι_ι2ϲ1χίλιαι_ι2σ1χιλίας_ι2σ1χιλίας_ι2ϲ1χιλίαϲ_ι2ϲ1χιλίαϲ_ι2σ1χιλίασ_ι2σ1χιλίασ_ι2σ1μύριοι_ι2σ1μύριοι_ι2ϲ1μύριοι_ι2ϲ1μύριοι_ι2σ1μυρίων_ι2σ1μυρίων_ι2ϲ1μυρίων_ι2ϲ1μυρίων_ι2σ1μύριαι_ι2σ1μύριαι_ι2ϲ1μύριαι_ι2ϲ1μύριαι_ι2σ1μυρίας_ι2σ1μυρίας_ι2ϲ1μυρίαϲ_ι2ϲ1μυρίαϲ_ι2σ1μυρίασ_ι2σ1μυρίασ_ι2σ1χιλιοστι2ϲ1χιλιοϲτι2σ1μυριοστι2ϲ1μυριοϲτ", + 12 : "ἀ2ν1ει2σ1φορἀ2ν1ει2ϲ1φορἀ2ν1εί2σ1φορἀ2ν1εί2σ1φορἀ2ν1εί2ϲ1φορἀ2ν1εί2ϲ1φορἀ2ν1ει2σ1φόρἀ2ν1ει2σ1φόρἀ2ν1ει2ϲ1φόρἀ2ν1ει2ϲ1φόρἀντιπροσ3κ2υἀντιπροϲ3κ2υδύ3σ2οισθον_δύ3σ2οισθον_δύ3ϲ2οιϲθον_δύ3ϲ2οιϲθον_δυ3σ2οίσθην_δυ3σ2οίσθην_δυ3ϲ2οίϲθην_δυ3ϲ2οίϲθην_δυ3σ2οίμεθα_δυ3σ2οίμεθα_δυ3ϲ2οίμεθα_δυ3ϲ2οίμεθα_δύ3σ2αισθον_δύ3σ2αισθον_δύ3ϲ2αιϲθον_δύ3ϲ2αιϲθον_δυ3σ2αίσθην_δυ3σ2αίσθην_δυ3ϲ2αίϲθην_δυ3ϲ2αίϲθην_δυ3σ2αίμεθα_δυ3σ2αίμεθα_δυ3ϲ2αίμεθα_δυ3ϲ2αίμεθα_δύ3σ2αισθαι_δύ3σ2αισθαι_δύ3ϲ2αιϲθαι_δύ3ϲ2αιϲθαι_ἐπεί3σ2ατον_ἐπεί3σ2ατον_ἐπεί3ϲ2ατον_ἐπεί3ϲ2ατον_ἐπει3σ2άτην_ἐπει3σ2άτην_ἐπει3ϲ2άτην_ἐπει3ϲ2άτην_ἐπεί3σ2αμεν_ἐπεί3σ2αμεν_ἐπεί3ϲ2αμεν_ἐπεί3ϲ2αμεν_ἐπει3σ2άμην_ἐπει3σ2άμην_ἐπει3ϲ2άμην_ἐπει3ϲ2άμην_ἐπεί3σ2ασθε_ἐπεί3σ2ασθε_ἐπεί3ϲ2αϲθε_ἐπεί3ϲ2αϲθε_ἐπεί3σ2αντο_ἐπεί3σ2αντο_ἐπεί3ϲ2αντο_ἐπεί3ϲ2αντο__θεοι2σ1εχθρ_θεοι2ϲ1εχθρ_καταδυ2σ1ωπ_καταδυ2ϲ1ωπ_κατεδυ2σ1ώπ_κατεδυ2σ1ώπ_κατεδυ2ϲ1ώπ_κατεδυ2ϲ1ώππαρέ3ξ2ετον_παρέ3ξ2ετον_παρε3ξ2έτην_παρε3ξ2έτην_παρέ3ξ2ομεν_παρέ3ξ2ομεν_παρέ3ξ2ουσι_παρέ3ξ2ουσι_παρέ3ξ2ουϲι_παρέ3ξ2ουϲι_παρέ3ξ2εται_παρέ3ξ2εται_παρέ3ξ2εσθε_παρέ3ξ2εσθε_παρέ3ξ2εϲθε_παρέ3ξ2εϲθε__πρό3σ2ωθεν__πρό3σ2ωθεν__πρό3ϲ2ωθεν__πρό3ϲ2ωθεν__συμπαρει2σ1_ϲυμπαρει2ϲ1_τεσσαρε2σ1κ_τεϲϲαρε2ϲ1κ_χαρι2σ1ανδρ_χαρι2ϲ1ανδρ_χαρι2σ1άνδρ_χαρι2σ1άνδρ_χαρι2ϲ1άνδρ_χαρι2ϲ1άνδρὡ2σ1πε2ρ1εί_ὡ2σ1πε2ρ1εί_ὡ2ϲ1πε2ρ1εί_ὡ2ϲ1πε2ρ1εί_ὡ2σ1πε2ρ1εὶ_ὡ2ϲ1πε2ρ1εὶ_ι2σ1χιλίοις_ι2σ1χιλίοις_ι2ϲ1χιλίοιϲ_ι2ϲ1χιλίοιϲ_ι2σ1χιλίοισ_ι2σ1χιλίοισ_ι2σ1χιλίους_ι2σ1χιλίους_ι2ϲ1χιλίουϲ_ι2ϲ1χιλίουϲ_ι2σ1χιλίουσ_ι2σ1χιλίουσ_ι2σ1χιλίαις_ι2σ1χιλίαις_ι2ϲ1χιλίαιϲ_ι2ϲ1χιλίαιϲ_ι2σ1χιλίαισ_ι2σ1χιλίαισ_ι2σ1μυρίοις_ι2σ1μυρίοις_ι2ϲ1μυρίοιϲ_ι2ϲ1μυρίοιϲ_ι2σ1μυρίοισ_ι2σ1μυρίοισ_ι2σ1μυρίους_ι2σ1μυρίους_ι2ϲ1μυρίουϲ_ι2ϲ1μυρίουϲ_ι2σ1μυρίουσ_ι2σ1μυρίουσ_ι2σ1μυρίαις_ι2σ1μυρίαις_ι2ϲ1μυρίαιϲ_ι2ϲ1μυρίαιϲ_ι2σ1μυρίαισ_ι2σ1μυρίαισ_", + 13 : "ἀ2ν1ερυθρίαστἀ2ν1ερυθρίαστἀ2ν1ερυθρίαϲτἀ2ν1ερυθρίαϲτἀ2ν1ερυθριάστἀ2ν1ερυθριάστἀ2ν1ερυθριάϲτἀ2ν1ερυθριάϲτἐπεί3σ2ασθον_ἐπεί3σ2ασθον_ἐπεί3ϲ2αϲθον_ἐπεί3ϲ2αϲθον_ἐπει3σ2άμεθα_ἐπει3σ2άμεθα_ἐπει3ϲ2άμεθα_ἐπει3ϲ2άμεθα__κατε2ξ1α2ν1ί_κατε2ξ1α2ν1ίὁ2σ1τι2σ1οῦν_ὁ2ϲ1τι2ϲ1οῦν_παρέ3ξ2εσθον_παρέ3ξ2εσθον_παρέ3ξ2εϲθον_παρέ3ξ2εϲθον_παρε3ξ2όμεθα_παρε3ξ2όμεθα_παρέ3ξ2ονται_παρέ3ξ2ονται_ι2σ1χιλιάκις_ι2σ1χιλιάκις_ι2ϲ1χιλιάκιϲ_ι2ϲ1χιλιάκιϲ_ι2σ1χιλιάκισ_ι2σ1χιλιάκισ_ι2σ1μυριάκις_ι2σ1μυριάκις_ι2ϲ1μυριάκιϲ_ι2ϲ1μυριάκιϲ_ι2σ1μυριάκισ_ι2σ1μυριάκισ_", + 14 : "_κατε2ξ1α2ν1έσ_κατε2ξ1α2ν1έσ_κατε2ξ1α2ν1έϲ_κατε2ξ1α2ν1έϲ", + 20 : "ὁποιου2σ1τινα2σ1οῦν_ὁποιου2ϲ1τινα2ϲ1οῦν_" + } +}; diff --git a/alt-implementations/readifry-master/hyphenator/patterns/gu.js b/alt-implementations/readifry-master/hyphenator/patterns/gu.js new file mode 100644 index 0000000..f09279c --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/patterns/gu.js @@ -0,0 +1,10 @@ +// For questions about the Gujarati hyphenation patterns +// ask Santhosh Thottingal (santhosh dot thottingal at gmail dot com) +Hyphenator.languages['gu'] = { + leftmin : 2, + rightmin : 2, + specialChars : unescape("આઅઇઈઉઊઋએઐઔકગખઘઙચછજઝઞટઠડઢણતથદધનપફબભમયરલવશષસહળિીાુૂૃેાોૈૌ્ઃં%u200D"), + patterns : { + 2 : "અ1આ1ઇ1ઈ1ઉ1ઊ1ઋ1એ1ઐ1ઔ1િ1ા1ી1ુ1ૂ1ૃ1ે1ો1ૌ1્2ઃ1ં11ક1ગ1ખ1ઘ1ઙ1ચ1છ1જ1ઝ1ઞ1ટ1ઠ1ડ1ઢ1ણ1ત1થ1દ1ધ1ન1પ1ફ1બ1ભ1મ1ય1ર1લ1વ1શ1ષ1સ1હ1ળ" + } +}; diff --git a/alt-implementations/readifry-master/hyphenator/patterns/hi.js b/alt-implementations/readifry-master/hyphenator/patterns/hi.js new file mode 100644 index 0000000..1d2464e --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/patterns/hi.js @@ -0,0 +1,10 @@ +// For questions about the Hindi hyphenation patterns +// ask Santhosh Thottingal (santhosh dot thottingal at gmail dot com) +Hyphenator.languages['hi'] = { + leftmin : 2, + rightmin : 2, + specialChars : unescape("आअइईउऊऋऎएऐऒऔकगखघङचछजझञटठडढणतथदधनपफबभमयरलवशषसहळऴऱिीाुूृॆेॊाोैौ्ःं%u200D"), + patterns : { + 2 : "अ1आ1इ1ई1उ1ऊ1ऋ1ऎ1ए1ऐ1ऒ1औ1ि1ा1ी1ु1ू1ृ1ॆ1े1ॊ1ो1ौ1्2ः1ं11क1ग1ख1घ1ङ1च1छ1ज1झ1ञ1ट1ठ1ड1ढ1ण1त1थ1द1ध1न1प1फ1ब1भ1म1य1र1ल1व1श1ष1स1ह1ळ1ऴ1ऱ" + } +}; diff --git a/alt-implementations/readifry-master/hyphenator/patterns/hu.js b/alt-implementations/readifry-master/hyphenator/patterns/hu.js new file mode 100644 index 0000000..ba1d0e6 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/patterns/hu.js @@ -0,0 +1,21 @@ +// For questions about the hungarian hyphenation patterns +// ask Nagy Péter (nagy dot pite at gmail dot com) +Hyphenator.languages['hu'] = { + leftmin : 2, + rightmin : 2, + specialChars : "áéíóöőúüű", + patterns : { + 3 : "_a2_á2_b2_c2_d2_e2_é2_f2_g2_h2_i2_í2_j2_k2_l2_m2_n2_o2_ó2_ö2_ő2_p2_q2_r2_s2_t2_u2_ú2_ü2_ű2_v2_w2_x2_y2_z22a_a1aa1áa1ea1éa1ia1ía1oa1óa1öa1őa1ua1úa1üa1ű2á_á1aá1áá1eá1éá1iá1íá1oá1óá1öá1őá1uá1úá1üá1ű2b_1ba1bá1be1bé1bi1bí1bo1bó1bö1bő1bu1bú1bü1bű2c_1ca1cá1ce1céc2h1ci1cí1co1có1cö1cőc2s1cu1cú1cü1cűc2z2d_1da1dá1de1dé1di1dí1do1dó1dö1dő1du1dú1dü1dűd2z2e_e1ae1áe1ee1ée1ie1íe1oe1óe1öe1őe1ue1úe1üe1ű2é_é1aé1áé1eé1éé1ié1íé1oé1óé1öé1őé1ué1úé1üé1ű2f_1fa1fá1fe1fé1fi1fí1fo1fó1fö1fő1fu1fú1fü1fű1fy2g_1ga1gá1ge1gé1gi1gí1go1gó1gö1gő1gu1gú1gü1gűg2y2h_1ha1há1he1hé1hi1hí1ho1hó1hö1hő1hu1hú1hü1hű2i_i1ai1ái1ei1éi1ii1íi1oi1ói1öi1ői1ui1úi1üi1ű2í_í1aí1áí1eí1éí1ií1íí1oí1óí1öí1őí1uí1úí1üí1ű2j_1ja1já1je1jé1ji1jí1jo1jó1jö1jő1ju1jú1jü1jű2k_1ka1ká1ke1ké1ki1kí1ko1kó1kö1kő1ku1kú1kü1kű1ky2l_1la1lá1le1lé1li1lí1lo1ló1lö1lő1lu1lú1lü1lűl2y2m_1ma1má1me1mé1mi1mí1mo1mó1mö1mő1mu1mú1mü1mű2n_1na1ná1ne1né1ni1ní1no1nó1nö1nő1nu1nú1nü1nűn2y2o_o1ao1áo1eo1éo1io1ío1oo1óo1öo1őo1uo1úo1üo1ű2ó_ó1aó1áó1eó1éó1ió1íó1oó1óó1öó1őó1uó1úó1üó1ű2ö_ö1aö1áö1eö1éö1iö1íö1oö1óö1öö1őö1uö1úö1üö1ű2ő_ő1aő1áő1eő1éő1iő1íő1oő1óő1öő1őő1uő1úő1üő1ű2p_1pa1pá1pe1pé1pi1pí1po1pó1pö1pő1pu1pú1pü1pű2q_1qa1qá1qe1qé1qi1qí1qo1qó1qö1qő1qu1qú1qü1qű2r_1ra1rá1re1ré1ri1rí1ro1ró1rö1rő1ru1rú1rü1rű2s_1sa1sá1se1sé1si1sí1so1só1sö1ső1su1sú1sü1sűs2z2t_1ta1tá1te1té1ti1tí1to1tó1tö1tő1tu1tú1tü1tűt2y2u_u1au1áu1eu1éu1iu1íu1ou1óu1öu1őu1uu1úu1üu1ű2ú_ú1aú1áú1eú1éú1iú1íú1oú1óú1öú1őú1uú1úú1üú1ű2ü_ü1aü1áü1eü1éü1iü1íü1oü1óü1öü1őü1uü1úü1üü1ű2ű_ű1aű1áű1eű1éű1iű1íű1oű1óű1öű1őű1uű1úű1üű1ű2v_1va1vá1ve1vé1vi1ví1vo1vó1vö1vő1vu1vú1vü1vű2w_1wa1wá1we1wé1wi1wí1wo1wó1wö1wő1wu1wú1wü1wű2x_1xa1xá1xe1xé1xi1xí1xo1xó1xö1xő1xu1xú1xü1xű2y_2z_1za1zá1ze1zé1zi1zí1zo1zó1zö1zőz2s1zu1zú1zü1zű", + 4 : "_cs2_kr2_sc2_sk2_sp2_st2_sz2_zs2c2cs1cha1chá1che1ché1chi1chí1cho1chó1chö1chő1chu1chú1chü1chű1csa1csá1cse1csé1csi1csí1cso1csó1csö1cső1csu1csú1csü1csű1cza1czá1cze1czé1czi1czí1czo1czó1czö1cző1czu1czú1czü1czű1czyd2dz1dza1dzá1dze1dzé1dzi1dzí1dzo1dzó1dzö1dző1dzu1dzú1dzü1dzűg2gy1ghy1gya1gyá1gye1gyé1gyi1gyí1gyo1gyó1gyö1győ1gyu1gyú1gyü1gyűl2ly1lya1lyá1lye1lyé1lyi1lyí1lyo1lyó1lyö1lyő1lyu1lyú1lyü1lyűn2ny1nya1nyá1nye1nyé1nyi1nyí1nyo1nyó1nyö1nyő1nyu1nyú1nyü1nyűs2sz1sza1szá1sze1szé1szi1szí1szo1szó1szö1sző1szu1szú1szü1szű1thyt2ty1tya1tyá1tye1tyé1tyi1tyí1tyo1tyó1työ1tyő1tyu1tyú1tyü1tyű1zsa1zsá1zse1zsé1zsi1zsí1zso1zsó1zsö1zső1zsu1zsú1zsü1zsűz2zs", + 5 : "_ak2h_ako2_at2h_aze2_ál1é_ál1ú_áre2_áré2_átó2_át1u_át1ű_ba2u_bei2_da2i_da2u_eb1í_eg2é_el1í_elo2_elö2_el1u_elü2_et2h_ez1á_éj1u_ék1á_ék1o_érü2_fas2_fat2_gu2i_he2i_ín1e_íz1a_kás2_kiá2_kió2_kiű2_leü2_ly1o_ma2e_me2i_műi2_mű1s_oda1_öni2_ön1í_ön3n_ön1o_ön1ő_ön1s_ön1ü_öte2_őa3l_ői3r_őr1o_ős1o_ős1p_ős1ú_őz1ő_őz3s_őz1u_pa2i_pe2s_rái2_rát2_s3gr_szk2_szt2_tbc1_té3k_tőa2_tőe2_uto2_új1e_úr1e_út1ő_űri2_űr1s_űrt2_zai2_ze2iaa2beaa2céaa2chaa2daaa2dóaa2duaa2foaa2gaaa2giaa2góaa2gyaa2jáaa2kaaa2káaa2koaa2kua2al_aa2laaa2láaa2léaa2loaa2luaa2maaa2naaa2neaa2niaa2noa2ansaa2nyaa2paaa2páaa2poaa2puaa2raaa2ráaa2réaa2ria2arlaa2roaa2szaa2toaa2tyaa2uraa2utaa2vaa2avoaa2zoaá2béaá2csaá2fáaá2gaaá2gáaá2géaá2giaá2goaá2guaá2gyaá2híaá2jua2ál_aá2laaá2loaá2poaá2raaá2ráaá2réaá2riaá2roaá2ruaá2rúaá2saaá2sáaá2soaá2sóaá2taaá2téaá2tíaá2toaá2tuaá2túaá2tüaá2záaá2zó2abab2abal2aban2abar2abáb2abád2abán2abázabb2a2abeaabeá22abec2abeé2abef2abeh2abei2abej2abem2abev2abék2abél2abén2abérab1flab1fr2abic2abie2abir2abit2abizab1kr2ablo2abog2aboh2abok2abom2abotabö2lab1pr2abri2abróab1stab1üsab1üvac2cöa2ce_ace2l2acenac1fra2cháac3híac3hóac1ívac2kűac2luac1ösac1őrac1plac1pr2acsi2acsíacs1sac1trac1újac1ügac1ürac1üzac3zaac3záac3zeac3zsac3zu2adarade2gade2ia2deuadé2sad1flad1gr1adhé2adia2adid2adin2adip2adis2adivad2jiad1kr2adob2adoc2adolad1plad1pr2adrá2adroad1spad1st2adug2adum2adupadú2tad1üzad1űzae2béae2ceae2csae2déae2dzae2geae2géae2gyae2heae2keae2kéae2laae2leae2loae2lőae2luae2meae2méae2miae2muae2neae2peae2péae2piae2poae2réae2róae2rőae2seae2séae2siae2sőae2süae2szae2taae2táae2teae2tiae2tűae2vaae2veae2véae2viae2voae2vőae2xeae2züaé2geaé2géaé2gőaé2heaé2jeaé2keaé2kíaé2leaé2léaé2liaé2lőaé2lüaé2lűaé2neaé2píaé2püaé2riaé2teaé2vaaé2veaé2véaé2viaé2vü2afa_2afak2afal2afam2afao2afar2afas2afék2afén2afér2afés1afféaf2le2afoc2afog2afok2afol2afon2afos2afotaf2rí2afroaf3tá2agala2gap2agazagá2cag1bla2ge_age2lage2sag1flag1fr1agg_1agglagi3aagi2óag1ínag1ívag1klag1kr2agomag1plag1pr2agráag1skag1spag1srag1stagsz2ag1trag1űrag1űz2agyűai2boa2iékai2gaai2gáai2geai2géai2gyai2iaai2ibai2ihai2ijai2inai2irai2itai2jeaika2aiki2ai2kőai2küa2ilba2ile2aill2aimi2aimpainá22aindai2ne2ainf2aing2ainp2ains2aintai2nüai2paa2ir_ai2réai2ri2airoai2si2aisk2aism2aist2aiszai2zéaí2géaí2jaaí2jáaí2juaí2raaí2ráaí2roaí2róaí2ruaí2téaí2váaí2veaí2véaí2viaí2vóaí2vüaí2vűaí2zeaí2zéaí2züaí2zűajá2c2ajárajá2zaj1blaj1brajé2raj1flaj1fraj1íraj1ízaj1klaj1öbaj1őraj1plaj1praj1shaj1skaj1spaj1ügaj1ülaj1üsaj1üzaj1űzaj2zíaj2zü2akab2akal2akam2akan2akao2akap2akau2akav2akazak1bla2ke_2akém2akés2akézak1flak1frak1gr2akia2akib2akic2akid2akié2akif2akih2akií2akij2akil2akim2akin2akir2akis2akit2akiv2akiz2akoa2akoc2akof2akom2akoo2akop2akosak1plak1prak1ps2akre2akré2akri2akríak1sp2akunak1yaal1blal1bra2le_2alea2aleb2alec2aleh2alej2alem2alen2alep2alesaleü22alev2alex2aléc2alég2alén2alétal1gr2alic2alik2alimal1íj1aljb1aljc1aljd1aljf1aljg1aljhal2jí1aljj1aljk1aljl1aljm1aljn1aljr1aljs1aljt1aljú1aljv1aljzal2líal2lü1allű2alob2alop2alovalóó2al1shal1skal1slal1smal1spalsz2al1tyalu1pal1ügal1ülal1ünal1üral1üsal1ütal1üval1űral1űz1alvóa2lyö2amad2amag2amajamaó22amap2amasam1dra2me_2amegamé2kam1fram1grami2gamió2a2mígam1klam1kr2amod2amos2amot2amozam1ösam1ötam1ősam1skam1spam1sram1st2amunam1ügam1ütam1üz2anad2anai2anap2anav2anátan1brance2an2dűan1dy2anem2aneu2anevane2zan1flan2gían2güan2gűani2g2anip2anív2anor2anosan1plan1pran2sö2anukanü2lan1űran1űzany1d2anye2anyi2anyí2anyoany1sanyt22anyú2anyüao2ázao2beao2csao2daao2dúao2kaao2káao2laao2moao2páao2peao2raao2roao2soao2utao2veao2viao2xiaóá2ra2óbáa2óbia2óboaó2ceaó2dáa2ódia2ófáa2ófea2ófoa2ófőa2ófüa2óhéa2óhia2óhüa2óila2óisa2ókáa2ókea2ókuaó2laa2ólea2óléa2óliaó2loaó2lua2ómea2ómia2ómoa2ónéa2ónöa2ónőaó2ráa2óréaó2ria2ósía2ósűa2ótaa2ótea2ótéaó2voaó2vóaö2böaö2csaö2déaö2koaö2köaö2leaö2léaö2lőaö2náaö2röaö2veaö2viaö2vöaö2zöaő2reaő2réaő2riaő2röaő2rüaő2seaő2söaő2sz2apal2apap2apavap1blap1dra2pe_ape2mape2sap1flap1grap1ívap1klap1krap1kvapmű1ap1ölap1önap1övap1phap1py2aproapuá2ap1űrap1wh2arad2arag2araj2arak2arác2arámar2cóar2cőar2cüar2cűar2döar2düare2ia2rewaréé22arémaré1p2ari_2aria2arip2arizar2müaró1par1őrar1ősar1plar1prar1ry2art_ar1üzasag22asaj2asal2asap2asar2asav2asám2asávas1blase2kase2t2asém2aséras1fras1glas1gr2asiv2asík2asín2asír2askáas1kl2asoras1őrasp2r2asta2astá2asti2astí2asto2astr2astú2asugasu2ras1űz2aszí2asző2aszü2aszűasz1z2atab2atag2atak2atan2atap2atar2atáb2atág2atáj2atál2atám2atár2atás2atávat1blat1brat1clat1dr2atég2atél2atém2atér2atétat1fjat1flat1frat1glat1gr2ati_ati2g2atin2atip2atir2atis2atit2atíp2atír2atki2atko2atkö2atkuat1kv2atoratö2lat1plat1prat1ps2atréat1shat1skat1slat1spat1stattó22atud2atul2atur2atúl2atük2atün2atüz2atűza2udáau2deau2gaau2goaul2lau1phau2röa2ut_2autáa2utia2utóa2utra2uttau2tuau2zíau2zsa2uzúaú2jíaú2joaú2réaú2szaú2tiaú2toaü2díaü2düaü2geaü2gyaü2leaü2léaü2liaü2löaü2lőaü2lüaü2nőaü2reaü2ríaü2röaü2rüaü2szaü2teaü2téaü2tiaü2veaü2vöaü2zéaű2riaű2röaű2zeaű2zéaű2ziaű2zöaű2ző2avad2avak2avád2avárav1bl2aves2avet2avezav1kravo1sav1ősav1őzav1prav1spav1stav1üra2wagaw2hiax1blax1egax1elax1írax1ösax1özax1prax1újax1üzax1űra1ye_a1yeda1yeia1yeka1yena1yesayet2ay1fla1yi_ay1ila1yitayma2az2du2azolazót2az4séaz3spaz3szaz1utaz1üzáa2daáa2dááa2doáa2dóáa2duáa2jááa2kaáa2laáa2luáa2raáa2száa2utáa2vaáá2csáá2gaáá2gyáá2juáá2muáá2raáá2ruáá2sááá2síáá2soáá2sóáá2suáá2zoáá2zuába1páb2bűáb1dráb1frábi2gáb1kláb1kráb1öbáb1öláb1önáb1ösáb1öváb1őráb1práb1spáb1stáb1tráb1ügáb1üsáb1ütáb1üvác1enác1erác3heác1ívác1órácsí2ács1sá1csyác1úrác1ülác1üráda1pád1drád3dzádéd2ád1ívád1klád1krádós2ádö2bád1övád1prád1psád1stád1trád3zaád3zúáe2csáe2dzáe2geáe2géáe2gyáe2leáe2lőáe2meáe2reáe2rőáe2seáe2séáe2siáe2sőáe2süáe2teáe2veáe2véáe2vőáé2deáé2geáé2géáé2gőáé2heáé2keáé2leáé2neáé2píáé2püáé2reáé2réáé2riáé2rőáé2rüáé2teá2fábá2fátáf1drága2cá2gadága2nág1blág1brág1efág1flág1frág1grági2dági2gág1klág1krág1kvágö2rág1plág1prág1pság1shág1skág1slág1spág1stágsz2ág1trágu2nág1üdág1ünág1üvág1üzág1űzái2dőái2gaái2géái2gyái2haái2jeái2máái2ráái2szái2taái2váái2voái2zéáí2géáí2rááí2veáí2voáj1bláj1bráj2cháj1exájé2ráj1fláj1fráj1íjáj1íráj1íváj1ízáj2küáj2nüáj1ökáj1öláj1őráj1ősáj1pláj1práj1snáj1spáj1ügáj1üláj1üráj1üváj1üzáj1űrák1blák1flák1fráki2gáki2ták1írákö2lák1prák1spák1srák1stáku2rák1újákú2ták1üdákü2lák1ünák1ürák1űr2ála_2álalál1blál1brál1dyál1ezál1flál1frál1gráli2dáli2gál1ínál1ítál2lüálóa2álóá2álóó2álót2ál1öbál1özál1skál1slál1stálu2nálú2tál1ügál1ünál1ürál1ütál1üvál1üzál1űrál1űzá2lyíá2lyőály1sámaó2ámá2cám1áfám1blám1dráme2tám1frám1grám1ígám1ízám1klám1krám1kvám1ölám1önám1örám1ösám1ötám1övám1őzám1skám1smám1snám1spám1stám1üdám1ügám1ürám1ütám1üvám1üzá3műtánae2ána2pán1blán1brán2cőán2cüán2czáne2dán1esán1ezáng3gán2gíán2güán1ígán1íván1ízá3nomán1ökán1ömán1plán1pránst2án1úránú2tán1űzáo2csáo2kááo2koáo2moáo2peáo2soáó2haáó2vaáö2leáö2möáö2reáö2röáő2száp1dráp1egápe2nápi2táp1őráp2roáp1ügáp1üzárá2cárá2gár1blár1bráre2áár1ejáre2nár1flár1glári2gá2rioár1ívár1öcár1ökár1örár1övár1plárs3sáruá2á2rudá2rujá2rurá2rutár1ünár1ürár1ütár1üzár1űrása2bása2nás1blás1brás1exás1ezás1flás1frás1glás1grási2gás1ígásí2rás1klás1kv1ásnuá2sórá2sósá2sóvás1önásp2rás1psás1srássz2ásu2tás1üdás1űrászt2ász1zátá2cát1álátá2pát1blát1br1átbuát1drát1eját1exátée2áté2gáté2pát1frát1gráti2dáti2gát1ígát1klát1oját1opát1öbátö2lát1önát1ötát1plát1prát1psát1skát1slát1smát1spát1srát1státu2nát1úját1ülát1űráu2gaáu2goáu2nááu2noáu2nóáu2nuáu2száu2taáu2tááú2száü2geáü2gyáü2leáü2léáü2löáü2lőáü2lüáü2ríáü2téáü2tiáü2töáü2tőáü2tüáü2vöáv1fráv1íráv1öráv1ösáv1öváv1őráv1práv1skáv1spáv1stáv1trávú2táv1ügáza2náz1bláz1efáz1epáz1exáz1fláz1frázi2záz1íjáz1öbáz1ödáz1ömáz1önáz1ösáz1özáz1plá2zseá2zsöázs1sá2zsüázü2láz1ürázy1ibaa2dba2bübae2rbaé2rba1flbai2zba2jüba2jű2bakcbak1kba2kybao2kbao2lbaó2rba2udbau2rba1yibá2böbá2jübálé22bálmbá2löbá2lübá2pobá2rí2bárúbá2rübá2sebá2töbá2tübba2tbb1drbbe2gbb1frbb1klbb1krbbö2rbb1plbb1prbb1skbb1spbbu2rbb2víbc3szbdé2nbd2rábd2robd2róbe2acbea2dbea2jbea2kbea2lbea2nbea2rbea2sbea2vbeá2jbeá2sbeá2zbe1blbe2dzbee2lbee2sbeé2rbe1flbe1frbei2gbei2sbeí2r2bejtbe2líbeo2kbeo2lbeo2mbeó2vbeö2rbe2rőbeu2gbeu2tbeü2t2bédé2bédh2bédj2bédlbé2dö2bédr2bédü2bédvbé2gőbé2lí2béljbé2lóbé2löbélt2bé2lúbé2píbé2pübé2rábé2ríbé2röbér1sbért2bé2rúbfé2nbf2labf2rábf2rebf2ribf2robg2rabg2rábia2dbi2aebi2agbia2vbi1brbi1bybida2bi2edbie2lbi1frbik1sbi2lübin3nbi2nübi1nybi2oabi2oábi2obbi2ocbi2odbi2oebi2oébi2ofbi2okbi2olbi2ombi2orbió2rbi1pr2bismbi2söbis3sbiú2sbí2jabí2vebí2vébí2vűbk2libk2lubk2rabk2rábk2rebk2rébk2ribk2ríbk2robk2róbl2bebles2bleü2bl2hebl2nebl2rebl2rőbl2tőbo2aábo2abbo2adbo2aebo2afbo2ahbo2ajbo2ambo2arbo2atbo2avbo2cebo2cébo1dybo2eibo1flbona12bondbo2nübo2ogbo2okbo2ombo2otbo2pebo2rebo2röbo2rőbo2rübo2tíbo2töbotú2bo2tübo2tűbo2uibo2ulbo2urbo1yabo1yábo1yébo1yibo1yobo1yubo2zíbo2zübo2zűbóa2dbóá2gbóá2rbó2bébó2chbó2cübó1flb1ólm2bórábóró2bó2röbórt2bó2rübó1szbö2chbö2lá2bölb2bölk2bölrbö2lúb1ömlbö2nábö2rabö2robö2ve2bőrlbő2rőbő2rú2bősibp2labp2lábp2lebp2rebp2rébp2ríbp2robp2rób2ricbs2lábs2pebs2pibs2pobs2tabs2tábs2tibs2tíbs2túbsz2fbt2rábt2rébu2chbué2rbu2ilb1urb2burnbu2sebú2jí2búr_2búrt2búszb1útmbü2dübü2gebü2gybü2kubü2ne2bürübü2zebű2nabű2nábűn1nbű2nobű2nóbű2nubű2nűbű2ribű2zoby2teca2chca2escal1pcal1sca2lüca1lycaó2rca2pócast2cau2ncá2gacá2gúcá2gycá2lacá2ne2cárkc1áthcb2locb2racc1blcc1efcc3hecc3hícc3hőcc3húcc1írcc1klcc1oácc1öncc1öscc1özcc1plcc1prccs1sc3csúc3csűcc1újcc1ürcc3zácc3zecc3zscd2racd2rácea2lce2atce2auceá2rce1blce2chce2guce2gúce1klceo2lceo2r2ceth2cetnceü2tce2vőcég1gcégo2cé2gócé2göcé2gúcéha2cé2hucé2húcé2lacé2lícé2lócélt2célu2cé2lücé2pícé2pücér1scé2rúcés3scf2lócf2racf2ricf2rocg2racg2ric3had2chamc3házch1bl2chevc3hiúch1prch1scch1spchu2rci2aaci2aáci2acci2aeci2aécia1fci2ahci2aíci2ajci2amci2aoci2aóci2aöci2aőci2arci2aúci2aüci2aűci2avci2azci2áócie2r2cinfci2nöci2nüci2odci2ofci2ogci2oici2olci2opcio2vci2óaci2óáci2ócci2óeci2ógci2óíci2ólci2óoci2óóci2óöci2óőci2óúci2óüciő2rci1tyciu2tcí2jací2jécí2mící2mocí2möcí2mőcí2mucí2rácí2rócí2vácí2vecí2vécí2zscí2zücke1pck1flck1frck1klck2luck1spck1űrck2vacli2sco2atco2ázco2beco2euco2káco2keco2leco2olco1py2corvcos3sco2ulco2unco2uvco2vicó2vóc1ösvc1öszc1ötbc1ötfc1öthc1ötkc1ötmc1ötnc1ötrc1ötsc1öttc1öv_cö2zöcő2rücp2lacp2racp2recp2récp2ricp2rocp2ró2csáf2cságcs1blcs1br2cségcs1frcs1glcs1grcsiá2cs1klcs1kv3cső_3csőb3csővcsp2rcs1pscs1slcst2r2csug2csüdc3széc3szic3szíc3szőcs3zscsz2tcs3zúc3szüc3szűct2ract2rect2réct2rict2roct2rücu2lücú2jíc1úr_c1úrrcú2tocü2gecü2gycü2lőc1ünncü2recü2rícü2rücü2tecü2técü2tőcü2vecü2zecű2zőc3zéhdaa2ddaát1da2czdae2rdaé2ddaé2rdag3gda1kldal3lda2lüdao2kdaó2rdaó2v2daptda2updau2sdaü2tdaü2zda1yeda1yédá2fádá2gadá2gádá2gúdá2lüdámu2dá2podá2rádá2rídá2rödá2rődárt2dá2rüdá2rűdá2södá2sődást23dátudb2lodb2lúdb2rodb2ródc2luddí2sdd2rádd2ród3dzsde2aade2aáde2acdea2dde2aede2aéde2ahde2aíde2amdea2nde2aode2apde2atde2epdee2sdeé2rde1frdeg3g2degodegö22degzde2ifdei2gdeí2rdek1s2delödem1pde2odde2ofde2ojde2omde2otde2rőderu22desgdesú2de2xadexi2de2xíde2xö2dezadé2dudé1fldég3gdé2gídé2gódég1sdé2gúdé2gűdé2kídékó2dé2kődé2lodéna2dép2idé2rádé2rídéró2dé2rödé1rydésa2désá2dé2sídé2súdf2lodf2lódf2rádf2redf2ridf2rodf2röd2ge_dg2ledg2lidg2lódg2radg2rádg2ród2gyud2hi_d2hiéd2hihd2hiid2hijd2hikd2hirdi2aadi2aádia1bdi2acdi2aedi2aédi2ahdi2aídi2ajdi2amdi2aodi2aódi2aödi2aődi2aúdi2aüdi2aűdi2avdi2azdi2eudi1fldi2lödi2lüdi1ly2dinddi2oadi2oidi2okdi2oldi2ovdi2óadi2óádi2óedi2ógdi2óídi2óodi2óódi2óödi2óődi2óudi2óúdi2óüdi2tüdiú2tdí2gédí2jedí2jídí2jödí2jüdíri22dívndí2zidí2zsdí2züdí2zűdj2egdj1isdkia2dkie2dk2ladk2lidk2lodk2ludk2rádk2rédk2ridk2rodk2ródk2vadk2vidleí2dlót2do2ázdobe2do2bído2bödo2büdo2bűdo2güdo2ködo2kü2domí2domldo2mő2domúdo2müdo2nödon1sdont2do2nüdord2do2rödo2rődors2do2rüdo2ugdo2utdo2vido1yedóa2ddóá2gdóá2rdó1bl2dóezdó1fl2dógádói2gdóí2vdó2mődóó2rdós3sdósz2d1öbldö2gadö2gádög3gdö2godö2gódö2gudö2kadö2kádö2kídö2radö2rádö2rod1ötldö2vedö2vidőa2ndőá2gdő1bldő1cldőe2ldőe2rdőé2ldő1fldő1grdő1kldő1kvdő1pldő1prdő1svdp2ladp2ledp2lédp2radp2redp2rédp2ridp2rídp2rodp2ródp2szd2ruids2káds2lids2peds2pids2pods2ráds2tads2táds2tídst2rdsz2ed1szndu2cödu2cüdue2l2duitduli2du2lídu2lödu2lűdu2óadu2óádu2óddu2ófdu2óldu2ópdu2sődu2tudú2cedú2chdú1drdú2jídú2rödú2téd1útldü2düdü2gydü2hadü2hádü2hodü2hődü2ládü2rídü2tedü2tédü2tődü2vedü2zedü2zédű1prd1űrldű1szdű1trdű2zédű2ződv1frdv1ordvö2ldv1ősdv1őzdv1prdv1undy1asd1yébd1yénd1yévdy2jédy2kedyk2kdyk2ndyk2tdy2védzaé2dzak2dzőa22dződ2dzőj2dzőr1dzsa1dzsá1dzse1dzsé1dzsi1dzsí1dzsó1dzsö1dzsődzs1s1dzsu1dzsú1dzsü1dzsűe2aboe2abőea2daea2dáea2dóea2dueaé2de2afáe2afee2afie2afoe2aföe2afőe2afüe2afűea2gie2agóe2aide2aile2aime2aipe2aisea2jae2ak_e2akáe2akbe2akee2akhe2akie2akíe2akoe2akóe2aköe2akúe2aküea2lue2am_e2amae2amáe2améea2moe2amue2amúe2aműe2anee2anée2anöe2anse2apie2apoe2apóe2ar_ea2ráe2arbe2aree2arhe2arje2arne2aróe2arre2arue2arüe2asoe2asüe2asűe2atae2atáe2atce2atee2atfe2atge2athe2atme2atne2atoe2atóe2atöe2atse2atue2atűe2atze2au_ea2ute2aviea1vyea2zoeá2béeá2cseá2gaeá2gáeá2gieá2goeá2gueá2gyeá2híeála2eálé2eá2löeá2mueáná2eá2poeá2rueá2rúeá2saeá2sáeá2síeá2sóeá2sueá2szeáta2eá2téeá2tíeá2tueá2tüebeá2eb1épeb1greb1kleb1kreb1öbeb1öseb1trebü2leb1üzec1ágec1árec1blec2cúech1uec2leec2luecs1sec3záec3zeed1gr2ediced1pled1predvá2edy1i1edzvee2béee2csee2dzee2geee2géee2gyee2heee2kee2el_ee2laee2lee2elgee2loee2lőee2meee2méee2mue2en_e2enbe2enje2ente2enwee2nyee2peee2péee2poee2reee2roee2róee2rőee2séee2süee2szee2teee2toee2veee2véee2viee2voee2vőee2züeé2deeé2geeé2géeé2gőeé2güeé2heeé2jeeé2jéeé2keeé2kíeé2leeé2léeé2lieé2lőeé2lüeé2lűeé2meeé2neeé2píeé2püeé2réeé2rieé2rőeé2rüeé2szeé2teeé2veeé2véeé2vieé2vüef2luef1plef2röega2ieg1áhegá2meg1bleg1breg1fle3gi_e3gieegi2geg1ijeg1kleg1kreg1kve2goce2goi2egome3gó_eg1óveg1ökeg1öteg1öveg1pleg1preg1pseg1skeg1sleg1smeg1spegsz2eg1treg1udeg1újeg1úreg1úseg1útegyu2eh1szei2ábei2áhei2ájei2ánei2árei2átei2áve2ibnei2dőe2idpe2ierei2gáei2géei2gyei2haei2máe2imke2imse2imzei2nőei2nüei2onei2paei2rie2iróei2tae2itbe2itje2itne2itrei2vaei2váei2voei2vóei2zéei2zoeí2géeí2jáeí2júeí2raeí2ráeí2téeí2váeí2veeí2véeí2vieí2voeí2vóeí2zeeí2züeí2zűej1abe2jakej1arej1auej1ábej1álej1blej1brej1dreje2cej1frej1ígej1ívej1klej1kvej1olej1opej1ócej1ónej1ótej1óvej1plej1prej1spej1újej1úrek1blek1brek1clek1drek1frek1gnek1grekiá2ekii2ek1ízek2kűek3nőekö2kek1plek1prek1psek1slek1smek1spek1stekú2tekü2tela2relá2mel2ánelá2sel1blel1br2eld_eleó2eleü2el1flel1glel2ibeliő2el3kiel1kvel1ojel1osel1öb2előö2előüel1skel1slel1smelu2nel1újel1úsel1ücel2vőel2vúe2lyőema2pemá2lemá2rem1dremé2kem1flem1gremi2gemi2me2míge2mírem1klem1kremo2kemö2kemö2lem1övem1pcem1skem1smem1spe2mude2muge2muje2murem1úrem1zren1ágen1blen2cíen2cuen2dúeneá2eneó22enesenga2eng1gen2núen1öne3növen1pren1ryen1úren1úteny1senyt2eo2áze2oboe2odeeo2dúe2okae2okéeo2köe2olóeo2lye2omee2omée2omieo2nöeo2nüe2opaeo2peeo2röeo2soe2oste2otíe2otoeo2vieóa2de2óböeó2ceeó2dáe2ófae2óhee2ójee2ómie2óműe2ónéeó2noeó1preó2ráe2óree2ósue2ótae2ótáe2ótee2ótée2ótie2ótíe2óvee2óvée2óvíeó2voeó2vóeö2böeö2déeö2köeö2leeö2léeö2lieö2löeö2lőeö2lüeö2möeö2nöeö2röeö2rüe2ös_eö2veeö2vieö2vüeö2zöeő2reeő2röeő2rüeő2szepá2sep1blep1brep1dre2péjep1fle2pizep1klep1kreppó2ep2pöep1spep1step1újep1úterco2er2cöer2cúer2cz1erdőereá2eree2er1fler1gler1ígern3nerö2ker1ryert1ser2vúer1ya2esa_esa2nesa2p2esán2esátes1bles1bres2ch1esdő2esé_1esküesná22esone2sőzestö2es2túesu2resz1zeta2cet1blet1bret2chet1dretea2etéé2et1fret1glet1greti2deti2get1klet1kv2etoretö2letőa2et1plet1pret1pset1sket1snet1spet1stet3yaeu2boeu2gaeu2míeu2mőeu2müeu2naeu2náeu2nieu2noeu2nóe2ur_eu2ráe2urteu2tóe2utseu2zseú2jíeú2szeú2tieú2toeü2düeü2geeü2gyeü2leeü2léeü2lieü2löeü2lőeü2lüeü2reeü2ríeü2rüeü2szeü2teeü2tőeü2tüeü2veeü2vöeü2zeeű2rieű2zeeű2zéeű2zieű2zöeű2zőex1abex1alex1apex1ábex1blex1brex1dre2xegex1opex1önex1örex1ösex1skex1spex1stex1újeza2cez1blez1frez1grezi2gezi2oez1kvez1ösez1pl1ezrűez3slez3szez1utez1újéa2daéa2dáéa2doéa2dóéa2gaéa2giéa2jáéa2kaéa2laéa2naéa2nyéa2rééa2riéa2roéa2ukéá2fáéá2gyéá2juéá2raéá2roéá2ruéá2rúéba2néb1álébá2rébié2éb1ízéb1kréb1pléb1préb1ügéc1ajéc1áléc1áréc1gréc3haéc3háéc3híéc3hoéc1obéc1oséc1őréc1préc3széc3zséd1ápéd1drédé2léd1frédi2géd1ívéd1kléd1öléd1önéd1ötéd1övéd1özédős2éd1pléd1préd1skéd1spéd1sréd1stéd1ujéd1úréd3zaéd3záéd3zeéd3zóéd3züée2béée2laée2leée2lőée2meée2piée2rőée2seée2séée2siée2sőée2ufée2véée2vőéé2geéé2leéé2píéé2raéé2teéf1aiéf1klég1améga2zég1ápég1blég1brége1pég1flég1fr1éghüégi2gég1ígég1íjég1ínég1írég1ívég1íz1égj_ég1klég1krég1kv1égniég1öbég1önégö2ré2göv1égő_1égőké2gőr1égőt1égővég1plég1prég1pség1skég1spégsz2ég1trég1unég1úgég1újég1úrég1úségyi2é2gyíégyo2éha2l2éhegéh1égéh1fléhi2ré2hitéh1ínéh1kréh1öbéh1öséh1pléh1pr1éhsééh1skéh1spéh1udéh1újéi2dőéi2gaéi2gééi2máéi2paéi2ráéi2roéi2taéi2vóéí2ráéí2roéí2róéí2váéí2zeéj1ebéjé2jéj1ödéj1önéj1öréj1pléj1préj1spéj1széj1udéju2té2jülék1blék1brék1dr2ékésék1fjék1flék1frékia2éki2déki2gék1íjék1kvék1ofékö2lék1ősék1plék1prék1psék1shék1skék1slék1spék1stékú2télá2lél1blél1bréle2béle2nélé2déli2mél1íjél1ízél1öbélö2kél1önél1örél1ösélőe2él1skél1spél1stél1úrél1űzé2lyőély1sélyú2émae2émas2émat2émá2cémá2lém1dréme2céme2gém1flém1frém1grémi2gém1ízém1klém1krém1oxém1öbém1öném1ösém1ötém1övém1ském1slém1spém1ujému2ném1whénas2éná2lénba2én1blén1bréne2néné2l2énézéni2gén1íjén1ínénmű1én1otén1ócén1ökén1ölén1önén1örén1öt2énövénpe2én1plén1prén2súén1útényö2ény1sényt2é2nyuénza2én2zíénzo2én2zúénz1zéo2laéo2peéo2széó2raéó2riép1ápép1blép1brép1dré2peb2épelépe2nép1flép1grép1ínép1klép1krép1kvép1obép1onép1opép1ölép1ömép1önépö2rép1ösép2píép1shép1skép1spépsz2ép1ugépu2népu2sép1újép1úsép1útép1üsér1blér1brérc3c1ércdér2cóér2cőér2cúér2czére2bére2nér1fléri2gér1ígér1íjéro2péró2lér1ötér1övér1plér1slérsz2éru2nérú2tér2vu2érzáésá2césá2sés1blése2bése2nés1flés1frés1grésié2ési2gés1klés1kv2ésorés1ócés1ónés1pséssz2ést2rés1ud2észá2észöész1zétat2étaü2ét1blét1drétea2été2gét1flét1frét1gréti2géti2pét1klét1kr1étkűét1kvétö2kétö2lét1pfét1plét1prét1slét1smét1spét1stétu2nét1üsétű2zéu2niéu2taéu2táéu2zséü2gyéü2leéü2lééü2löéü2lőéü2rüéü2tééü2töéü2tüéü2zeé2vadév1auévá2zév1grévi2gé2vinév1kr1évnyév1okév1osév1ösév1ötév1prév1skév1stév1szév1urév1új1évzáéza2néz1aséz1azéz1ázéz1bléze2céz1frézgé2ézi2dézi2oéz1íréz1ízéz1opéz1öbéz1önéz1öréz1öséz1ötézőa2éz1plézsó2éz3söézs1séz3széz1ugéz1ujéz1utéz1űrfaát1fae2rfaé2dfai2dfai2sfa2jőfajt2fa2jüfalö2fa2lüfaó2rfau2rfau2sfaü2tfaü2zfa2xefaxi2fa2xífa2xöfa2xúfa2xüfa2xűfa1yafa1yef1ábrfá2nífá2pofás3sfá2tefc2lufd2rófe2aafe2aáfe2abfe2acfe2adfe2aefe2aéfe2affe2agfe2ahfe2aife2ajfe2amfe2anfe2arfe2asfe2atfe2aúfe2avfe2edfe2elfe2jafe2júfel3lfelt2fe2lúfe2vőfe2zófe2zsféka2fé2lífé2lófé2mífé2mófé2möfémü2fé2pífé2püfé2zsffli2ff1sh1f2fyfg2lófi2aafi2aáfi2aefi2aéfi2affi2ahfi2aífi2aofi2aófi2aöfia1pfi2aufi2aüfiá2lfie2lfie2nfie2rfie2sfie2tfi1flfi1frfi2löfi2lü2findfint2fi2nú2finxfio2vfi3ókfió2rfiő2rfist2fiu2tfi2úafi2úáfi2úefi2úffi2úgfi2úífi2úlfi2úofi2úöfi2úőfi2úpfi2úufi2úúfi2úüfi2xöfí2ráfí2rüfk2lifk2lufk2róf2lakf2lanf2lepf2lipf2lotf2lukfo2amfog3gfo2gífo2göfo2güfo2kífond2fo2nífon1kfo2nöfons2fo2nüfo2röfors2fo2rüfo2vifó2ráfö2lafö2láfö2lífö2lofö2lófölt2fö2lufö2lúfö2sáfőa2nfőá2gfő1blfő1brfőe2lfőe2rfőe2sfőé2hfő1flfő1glfő1gnfő1grfői2dfőí2tfő1klfő1kvfő1plfő1prfőri2fő1sl2fősöfősz2főü2lfp2lafp2rofra1sf2rásf2rigf3ripf2röcf2rusfs2hofs2pofs2tífst2rft1ajft1blfte2mfti2gft1ösft1útft1ütfuga1fú2zsfü2lafü2láfü2lífül3lfü2lo2fülőfü2mafü2máfü2mofü2mőfü2múfű1drfű1frfű1prfű1srfű2záfű2zo2gabrga1bygae2rga1flga1klg1akvgaó2rga2rőgast2ga2ulga2us2gazgga2züg2ábag2ábógáda2gá2dágá2dőgá2fog2ájag2ájágá2jüg2álig2ám_gá2mügána2gánt2gá2nügá2pogá2rígáró2gá2rögá2rőgá2rügá2rűg2ás_gá2sígá2sógá2sögá2sőgást2gá2sűg2át_gátá2gátó2gá2tőg2ávagá2zígá2zögá2zőgá2zügbeá2gb2lagb2legb2logb2lúgb2ragb2rigb2rogb2rugda2ugd2regd2rogea2cgea2ggea2lgeá2rg2ebe2gegege2lögena2g2endgent2ge2obge2ocge2ofge2okge2omge2otgeó2r2gepige2róge2rőgeru2g2es_ge1scgesd2g2esrgess2getó2ge2urgeu2s2gevoge1yége2zogéc3cgé2dígé2dögédü2gé2dűgé2gigé2gőgé2güg2émbgéna2géná2gé2níg2énngé2nógént2gé2núgénü2g2ény3gép_gé2pígé2pógé2pögé2pőgé2púgéra2gé2rá2gérl2gérmgé2rogé2rögé2sógf2lagf2logf2lógf2lugf2rágf2rígf2rugga2sggó2nggős2g2gregg2rogg1spg3gyóg3gyög3győg3gyug3gyűg2hiagi2aagi2aági2acgi2aegi2aégia1fgi2ahgi2aígi2ajgi2amgi2aogi2aógi2aögi2aőgi2argi2atgi2aúgi2aügi2aűgi2avgi2az2gibrgi1flgi2gégig3ggi2gígi2gúgi2gű3gileg1ill3giné2ginf2ginsgi2otgi2óagi2óági2ócgi2óegi2ófgi2óggi2ólgi2óúgi2óügi2óz2girog1iscg2itágí2gégí2jagí2jágí2mágí2négí2nygí2ragí2rágí2regí2rigí2rogí2rógí2vágí2vegí2végí2vogí2vógí2vügí2zegí2zügí2zűgkiá2gk2lagk2ligk2lígk2logk2lógk2lugk2ragk2rágk2regk2régk2rigk2rígk2rogk2rógk2vagk2vógla3tgleí2gleü2g2lorglóó2glós2gna2dgn1brgne2igné2lgni2gg2nolgn1ökgn1ösgn1prgn1stg2nújgn1üggn1üzgo2ázgo2bego2etgoki2g2onogo2nügo2odgo2págo2rö2gorzgo2sego2sögo2sügo2uago2ubgo2udgo2urgo2utgo2xigo1yago1yágóa2dgóá2ggóá2rgó1blgó2cügóí2vgó1klgó2lígó2lügóó2rgós3sgó2vugö2kugö2negö2nö2göntgö2ra2görvgösé2g1öv_g1övbg1övhg1övng1övrg1övtg1övvgőa2ngőá2ggő1brgőe2lgőe2rgőé2bgő1frgő1glgő1klgő1kvgő1plgő1prg1őrbg1őrhg1őrkg1őrng1őrsg1őrtgő1trgőu2tgőü2lgő2zúgp2lagp2lágp2legp2lugp2ragp2rágp2regp2régp2rigp2rígp2rogp2rógp2rűgp2szgre2eg2rilg2rízgróa2gróá2gró1pgs2hogs2kags2kágs2kogsk2rgs2lags2lágs2ligs2mágs2migs2mugs2nágs2pags2págs2pegs2pégs2pigs2pogs2pógsp2rgs2rágs2tágs2tegs2tégsto2gst2rgs2tugs2végsz2mgszt2gti2mgt2ragt2rágt2regt2régt2rigt2rogt2rógt2rögt2rugt2rügu2atgu2aygu2elgu2idgu2ingu2irgu2nágu2nógu2nugu2sögu2sőgust2gu2sügu1yagú2jagú2jígú2jugú2régú2rigú2ro2gúttgú2zigü2csgü2dégü2dígü2dügü2gegü2tegü2tégü2tigü2tögü2tőgü2tügü2vegü2vögü2zegü2zégűre2g1űrhgű2rigű2rugű2rügű2zegű2zégű2zigű2zögű2ző3gyámgy1blgy1brgy1dr3gyémgy1flgy1glgy1grgy1ízgy1klgy1kvgy1ou2gyöv3győzgy1plgy1prgy1psgy1scgy1skgy1slgy1smgy1sngy1spgy1sr2gyúd2gyúé2gyúi2gyúm2gyúü2gyüg3gyüm2gyüs2gyüt2gyüv3gyűlgy1zrgzőa2haa2d3hab_3haboha2büha2dühae2rha1flha2ifha2jöha2jőhaj1sha2jüh1akt3haláha2lí3halmha2lüha2lűhamb23hamuha2mü3hanghaó2rha2rű3hasa3hatáhatt2ha2uehau2nhau2sha2uthaü2z3hábohá2gyháma2hámi2há2möhára2hári23hárí3hárthá2rühá1ryhá2síháté2há2tíhátó2há2töhá2tőhá2tűhá2zöhá2zőházs2há1zyhb2lehe2adhe2av2hecu3hekt2helf2hema3henghe2olhe2röhe2rű3hety2hevé3heví2hezh2hezi2hezn2hező2hezzhé2hé3héi_3héithéje2hé2jö3héknhéne2hén3nhé2nöhént2hé2nuhé2nühé1phhé2pühéra2héta2hé2tíhétó2hé2tuhéze2hézo2hf2ló2hia_hi2aahi2aáhi2achi2adhi2aehi2aéhi2aghi2ahhi2ajhi2alhi2amhi2aphi2arhi2at3hida2hiév3higi2hila2him_2hime2himé2hing2hinkhi2omhi2pa2hise2hisn2hisohi2tahitó2hitö2hi2túhi2zohí2dahí2dáhí2dehí2díhí2döhí2dőhí2dúhí2dühí2dzhí2jéhí2máhí2mohí2möhí2muhí2ríhí2rőhír1shí2rúhká2rhk2riho2dúho2efho2iiho2it2hoklhola2ho2löho2lü3homb3homohone2ho2ního2nöho2nőho2nüho2re2hoszho1thho2usho2wehozi2ho2zühóa2khóá2ghó1blhóc3chó2cóhó2czhó2döhó2dü2hóráhó1shhóví2hökö1hőa2nhő1brhőe2lhőe2mhőe2rhőé2nhő1flhő1glhő1grhő1kvhő1prhősa2hős3shősű2hő1trhőü2lhp2lahp2rahp2réhp2rihp2rohp2róhs2chhs2kahs2pihs2pohsz2lht1clht1klht2ráhu1hy2hurá2hus_2husihú2rehúrt2hú2síhú2söhú2sőhú2sühü2gyhü2rehü2rühü2tőhű2réhű2rihű2röhy1érhy1évhy1igiaa2diaát1i2abíi2aböi2abői2abui2abúi2abüi2abűiac3ci2acíia2cóia2cöia2cőia2cüia2czi2adei2adíi2adöi2adői2adúiae2liae2riae2tiaé2ri2afái2afei2afii2afói2aföi2afői2afui2afúi2afüi2afűi2agái2agei2agéi2agii2agöi2agői2agui2aigi2aipi2ajei2ajoi2akái2akei2akíi2aköi2akői2akui2akúi2aküi2alíi2alöi2alyi2amái2amei2amói2amúi2aműi2anéi2anöi2anőiao2kiaó2ri2apei2apéi2apoi2arei2aroi2arói2aröi2arui2arúi2asei2asii2asói2asöiast2i2asúi2asüi2asűi2atei2atói2atöi2atőia2tyi2audiau2siaü2zi2avéi2avii2avíi2avoi2azái2azeia2zoi2azsi2azúiá2csiá2gaiá2gáiá2geiá2giiá2goiá2gyiá2híiáka2iáki2iá2kíiá2kőiá2kűiála2iá2nöiánt2iá2nüiá2óiiá2poiá2reiá2ruiá2rúiá2síiá2sóiá2söiá2sőiást2iá2sűiá2taiáti2ibas2ibat2ibau2ibaü2ibe1sibi2oib2loib2róib2ruic2cíic2cúic2czics1sic1üzid1br1iddoid3dz2idelideu2id2geid1krid1ösi2dőzid1prid1stid1ügie2beie2csie2dzie2fáie2géie2gyie2hei2eldie2loie2maie2nyie2peie2ríie2röie2rőiert2ie2sőie2szietz1ie2urie2veie2véie2viie2vői2édoi2éfeié2geié2géié2gőié2güi2éhai2éhii2éilié2leié2léié2liié2lői2émei2éméi2émoié2píié2püié2réié2riié2rüi2étöi2fe_ifio2if1ír1ifjí1ifjuif2leif2loif2löif2luif2ruif2töif2túig1bri2gegigek2i2gémig1flig1ívig1ízig1klig1krig2nöig2nüigóé2ig1öbig1ölig1prig1skig1slig1smig1spig1stig1szig1trig1ugigu2nigu2tig1úsig1ücig1üdigü2lig1ütig1üvig1űzii2deii2déii2dőii2gaii2gáii2géii2gyii2haii2jeii2máii2miii2paii2ráii2roii2szii2taii2váii2voii2vóii2zéii2zoií2géií2raií2ráií2roií2róií2ruií2téií2veií2zeikaó2ikas2ik1drik1flik1frikó1pik1plik1prik1st2iku_2ikub2ikuf2ikuh2ikui2ikuí2ikuj2ikuk2ikur2ikut2ikuvila2nil1blilc3cil2chil2czil1fr1illu1illúil2möil2mőilmu2ilót2il1öbil1ösil1shil1sp2ilteil1üril1üvimaó2ima1pim1drime2m1immuimót2im1ös1impé1impuin1blin1brin2cóin2cőin2cúindö22ine_2iner2inébiné2l2inév1infling3gin2gíin2gú2inie2inié2inir2iniuin1önin1őzin1plin1prin1újin1ürin1üsin1űrin2xa1inzuioá2rio2csio2dúi2ogái2ogyio2ikio2káio2kíio2koio2kui3oldi2olói3olvio2möio2nöions2io2peio2soi2oteióa2dió2apióá2gióá2ri2óbái2óbéi2óbíi2óboi2óböi2óbői2óbui2óbúi2óbüi2óbűi2ócei2ócéi2ócii2ócui2ódei2ódéi2ódii2ódíi2ódói2ódöi2ódúi2ódüi2ódzi2óégi2óéki2óéli2óépi2óési2ófái2ófei2ófii2ófói2óföi2ófői2ófui2ófüi2ófűi2óhai2óhái2óhei2óhéi2óhii2óhíi2óhói2óhöi2óhői2óhui2óhüi2óhűiói2gi2óipi2óisi2óizióí2vi2ójei2ójoi2ójói2ókíi2óköi2ókői2ólai2ólái2ólei2óléi2ólii2óloi2ómei2ómói2ómui2ómúi2óműi2ónei2ónói2ónöióo2kióó2ri2órei2óréi2óroi2óröi2óruió2sóiós3si2ósúi2ótei2ótéi2ótii2ótíi2ótöi2ótői2ótui2ótúi2ótüi2ótűi2óugi2óuni2óuri2óuti2óvei2óvéi2óvii2óvíi2óvöi2ózei2ózsiö2köiö2leiö2léiö2liiö2löiö2lőiö2möiö2reiö2röiö2rüiö2töiö2veiö2zöiő1dri2őhai2őkéi2őkui2őrai2őtei2őtéi2ővai2őváipau2ip1flip2fuip1klip1krip1ösip2pöir2chi2rei1irgairke12iro_2irob1irriirs3sir2szirté2isa2nisa2pis1blis1bris1dris1frisi2gisió2is1klis1kv2ismo2isműis1ölis1önisö2ris1ösisp2r1istvisu2tisz3sit1blit1brit1dr2iterité2git1flit1frit1glit1gnit1griti2git1klit1krito2bitóa2itós2it1plit1prit1sp2itteit1újiu2gaiu2goiu2míiu2möiu2mőiu2müiu2naiu2noiu2raiu2ráiu2ruiu2taiu2tóiu2tuiu2zsi2úbái2úbei2úbéi2úbii2úboi2úböi2úcii2úcíi2údái2údei2údoi2údzi2úéliú1fri2úhai2úhái2úhei2úhii2úhöi2úhői2úhui2úhúi2úifi2újeiú2jíi2újói2úkei2úkíi2úkói2úköi2úkui2úmei2úmói2úmui2úműi2únei2únéi2únöi2úreiú2riiú2roi2úrui2úsei2úsoi2útai2útái2úteiú2téi2útíi2útöi2útúi2úvei2úvéi2úvii2úvoi2úzeiü2csiü2geiü2gyiü2leiü2léiü2liiü2löiü2lőiü2lüiü2reiü2ríiü2rüiü2teiü2téiü2tiiü2töiü2tőiü2tüiü2veiü2vöiü2zeiű2zeiű2zéiű2zői2ve_1ivotivós2ivőé2iv2réix1asix1blix1frixi2tix1ödix1ösix1őrix1ősix1plix1prizas2iz1bli2zédi2zéliz1fl1izmúi2zosiz1pliz1prizs1s1izzi1izzíí2bisíd1ágíd1álíd1átíd1blídi2gíd1ívíd1ösíd1príd1stíd1újíd1ügíd1üníd1üzíd3záíd3zsíé2leíge2síg1trígyá2íi2roíj1eníj1épíjé2ríj1fríj1ígíj1íníj1kríj1öníj1ösíj1özíj1plíj1príj1skíj1spíj1ügík1aríka2sík1álík1emík1evík1frík1íník1íríkö2lík1plík1prík1spíl1ajíl1blíl1bríl1kríl1ösíl1stíltá2íma2níma1pím1blím1drími2gím1írím1krím1olím1oním1osím1ökím1ösím1ötím1spím1stína2dín1blín1bríne2nín1égíné2líni2gín1ízín1önín1örín1ösín1ötín1plín1prín1psín1ugín1újíó2voíp3roír1blír1bríre2nír1glíri2gí2risír1ínír1írír1ívír1kv1írogíro2líróá2í2róíírót2ír1önír1örír1shírsz2íru2nírü2lír1ürís2poís2tííszi2ísz3sísz1zítóa2ító1fítót2ít2réíü2düív1blív1dríve2cíve2níve2rív1frívi2gívi2kív1klív1krív1övív1plív1prív1skív1spív1stívsz2ív1trív1újív1útíz1abíz1ajíza2níz1aríz1álíz1blíze2níz1fríz1glízi2gíz1ízíz1klízo2kíz1oníz1oríz1osíz1öbíz1ödíz1ökíz1ömíz1öníz1öríz1ösíz1özíz1pfíz1plíz3síí2zsoí2zsöízs1sí2zsúíz3szíz1úrí2zűeí2zűní2zűv2jakfjakt2ja2urja2xijá2arjáí2r2jánljá2pojáre2já3rójá2rőjá2söjást2já3zsjb2lojb2rijb2rójc3hojcs1sjea2ljea2nje2béjee2njelá2je2luje2lúje2muje2róje2sőjest2je2sujeu2rjég3gjégi2jé2gójé2göjé2gújé2küjé2lőjé2nojé2nújé2píjé2püj1évhj1évkj1évtj1évvjf2lejf2lojf2lójf2rajf2rejf2rijf2ríjf2rojf2röjg2ruji2doji2jeji2maji2máji2miji2onji2paji2zéji2zojí2géjí2rájí2rójí2vejí2véjí2vójí2zejí2zéjí2züjí2zűjjá1sjj1ívjj1ízjj1prjj1ügjkau2jkia2jkiá2jkie2jk2lajk2lájkme2jk1pljk1prjk1stjk1ügjk2vajl1bljleí2jli2kjl1prjl1spjl1stjme2gjn1stjog3gjogó2jo2göjo2gőjo2güjoma2jo2möjo2mőjo2müjo2műjo2óbjo2pájo2pejo2rüjo2uijo2ukjo2uljo2urjo2utjo2vajóa2kjóá2gjóá2rjó1bljó2cejóde2jódó2jó2düjó1fljó1kljó2söjós3sjö2déjö2kojö2léjö2rejö2röj1ösvj1ötvjö2zöj1őrljő2röjő2rüjő2zejp2lajp2lejp2rejp2réjp2rijp2rojp2rójra1fjrai2jrau2js2hojs2kájs2kijs2nijs2pejs2pijs2pojs2pójsp2rjs2tijsz2kjszt2jt1fljt1frjti2mjti2sjt1kljt1krjtóa2jtőa2jtőe2jtőé2jt1pljt1prjt2rijt1spjt1stju2gajugo1ju2hőju2hü2jula2julsju2rujú1frjú2jíjú1pljü2gejü2gyjü2lejü2léj1ültjü2rejü2ríjü2rüjü2tajü2vejü2zejű2rijű2zőjza2jjze2rjz1frjzi2gjz1pljzs1skaa2dkaát1kab2aka2cüka2czkae2lkae2rkaé2rkai2z2kangka2nűka2óaka2óáka2ócka2óeka2ógka2óíka2ópka2óüka2óz2kappkars2kast2ka2udkau2nkau2rkau2skaü2tkaü2z2kábéká2ceká2cóká2cüká2díká2fáká2gaká2jöká2jüká2lüká2röká2rőkárt2ká2rüká2sóká2söká2sőkás1pkást2ká2tíkátó2ká2tükb2lakb2lekb2lokb2rákb2rikb2rokb2rókc2lukd2rakd2rákd2rekd2rokd2rókd2rukea2jkea2kkea2lkea2nkea2rkea2skeá2lkeá2rkee2nke2epkee2ske1flkeo2lkeo2rkeó2dkeó2hkeó2lkeó2rkers2ke1tckeu2rkeu2ské2geké2géké2gőké2jökéma2ké2míké2moké2möké2mőkéna2ké2noké2píké2póké2pőkép1ské2puké2púkéra2ké2roké2rökérü2késa2ké2sóké2suké2tíkétó22kétvké2zíké2zökézs2kf2jokf2lakf2lekf2likf2lokf2lókf2rakf2rákf2rekf2rikf2ríkf2rokf2rökf2rukg2lakg2nókg2rakg2rikg2ríkg2ruk2hilkh2mekia2dki2aéki2afkia2gkia2jkia2nkia2pki2aúkia2vkiá2z2kidikie2lkie2mkie2rkie2tki2ewkié2dkié2k2kiga2kigá2kige2kily2kindkio2lkio2mki3óhki1pf2kirg2kismki2sőkisp2kist2kiu2skiu2tkiú2skiú2tkí2jakí2rá2kítmkí2zékí2zükí2zűkká2skk1brkke2ckk1frkk1grkkiá2kkie2kkö2lkk1prkk2ríkk1smkk1spkk1stkk1űrkk2vókla1gkleí2klió2k2loák2lubkma1bkmas2knag2knak2ko2ázko2beko2löko2nükonz2ko2ón2kopcko2röko2rőko2rüko2seko2süko2utko2xikóa2dkó1blkóc3ckó2chkód1dkó2dökó2dükóé2rkói2gkóí2vkó1kvkópó2kó2pükó2rőkö2bakö2dakö2dákö2dokö2dókö2dukö2dúkö2dzkö2líkö2rakö2rákö2rokö2rókört2kö2rukö2rúkö2zakö2zákö2zokö2zókö2zukö2zúkőa2nkő1blkő2chkőe2kkőe2lkőe2rkőé2lkő1gnkő1grkői2tkő1krkő1plkő1prk1őrlkő2sökő1trkőu2tkp2lakp2lekp2lékp2lukpó2tkp2rakp2rekp2rékp2rikp2ríkp2rokp2rókp2szkra1pk2reok2rupks2koks2láks2luks2miks2paks2peks2piks2poks2póksp2rks2ráks2tiks2tokszt2ksz1zkt1frkt1grkti2gkti2mkt1prkt1spkt1stkt1szktü2lkuá2rkue2lkue2rkue2sku2müku2nekun3nku2nü2kupr2kupuku2söku2süku2zskú2jíkü2gekü2gykü2lokü2rükű2rokű2zékű2zők2vóckyd2nkyk2kky2seky1üzlaa2dlaát13labd2labrla2cőla2cúla2cülae2dlae2llae2rlaé2dlaé2r2laffla1flla2gíla2gűlaji2la2jíla2jől2ajslakt2la2mölans2la2nülaó2rla2pöla2pőla2pűla2ubla2ukla2uslaü2zla1yélá2bölá2bőlá2bülá2dzlá2gőlág1slá2gülá2gű2láheláí2rlá2lílálö2lá2lülá2lűlá2mílá2mólá2mölá2mőlá2mülá2műlána2láná2lánt2lá2nülápi2lárt2lá2rülá2selásó2lá2sőlá2sű2lávi2lávu3lázblázo2lb2lilb2lolb2lúlb2ralb2relb2rilb2rolb2rólb2rulce2zlc1frlc3halc3hálc3holc3hulc3húlc3hülc1ívlc1öklc1öslc1prlcs1slc1trlc1üllc1ütlc3zálc3zoldai2ld1ágld1brld1flld1frld1glld1grldi2pld1krld1kvld1plld1prld1spld1stldu2rld3záld3zóld3zulea2dlea2glea2klea2llea2nlea2plea2vleá2jleá2sleá2zleb2s2lecclee2sleé2rle1frlegg2le2iclei2glei2sl2endlenu2le2oale2ocleo2kleo2mle2ozleó2cleö2r2letyleu2gle2ukleu2rleu2tle2xále2xöle1yélé2calé2cáléc3cléci2lé2colécs2lé2dölée2rléé2r2légílé2gú2légü3légz2léhslé2kől1élcléná2lé2nolé2pólé2rílé2rölésa2lé2só2létllétö22lévülfat2lf1cllfe2tlf1kllf2lolf2lólf2lölf2lulf1prlf2rilf2rölf2rőlf1splgau2lg2lalg2lolg2lólg2rulhai2li2aali2aáli2aeli2aéli2agli2ahli2aíli2ajli2aoli2aóli2aőli2apli2aüli2avli2azli3beli2cüli1cyli2eclie2d2lienlié2dlié2klié2nli2fíli1fll2ig_2lilllimű1li2oclio2lli2őáli2ődli2őeli2őfli2őgli2őmli2őpli2pöl1ismlitő2liú2t3lix_lí2gélí2jalí2julíma1l1írdl1írhl1írjl1írll1írs2lív_líva1l2ízilj1írlj1prlj1splj1üzlkiá2lk2lílk1shlk2valk2válk2vóll1blll1brll1cllleí2ll1frlli2pll1kvllóá2llóó2ll1skll1splls3sllsz2lly1öl3lywlmá2llm1bllm1cllm1drlmeó2lm1gllm1grlmi2glm1íglm1írlm1ízlm1kllm1krlm1önlm1öslm1ötlm1sklm1sllm1snlm1splm1stlnak2lo2áz2lobá2lobulo1bylo2chlo1cylo2éclo2éolo2éplo2ézlo2gílo2gölo2gülo2irlo2kílo2külo2mölo2mőlo2mülo2műlo2nölo2nülo2oilo2ojlo2orlo2óslo2pelo2pílo2pölo2pü2lornl2os_l2osal2osblo2selo2sülo2xálo2xilóa2dlóá2rló1blló1brlóc3cló2chló1fllóg1gló2gílóí2v2lónn2lóno2lónr2lóntló2ríló2rülós3sló1szló2zőló2zülö2bölö2calöc3clö2chlö2cőlö2kalö2kálö2kolö2nalö2nálö2nelö2nélö2nólö2nulö2núlö2palö2pálö2pelöpü2lö2relö2rölö2sülőa2clőa2nlőá2glő1bllő1brlő2dálőe2llőe2slő1fl2lőhű2lőítlő1kllő1kv2lőnnlő1pllő1prlő1pslősó2lő2sőlős3slő1sylősz2lőu2tlőü2l2lőzl2lőzmlpé2llpé2rlpo2nl1prdlpu2slrei2lreü2ls2hols2kals2káls2kils2lals2láls2lils2mals2mils2tálszt2lt1bllt1brlté2llt1fllt1gllt1grltig2lt1ítlt1krltó1pltót2ltö2lltőa2lt1pllt1prlt1sllt1splt1stlua2gluá2rlubó2lu2bölu2bü2ludj2ludvlu1dylue2llui2rlu1kllu2lí2lulr2lumí2lundl1unhl1unjl1unll1unnl1unvlusö2lu2sőlust2lu2zslú2dálú2delú2galú2gelúg3glú2gilú2julú2rilú2rulú2rülü2cslü2dílü2dülü2gelü2gylü2lálü2lélü2lílü2lúlü2lülü2relü2rílü2rülü2szlü2telü2télü2tilü2tölü2tőlü2tülü2velü2völü2zelü2zélű2rál1űrllű2zelű2zélű2zilű2zölű2zőlű2zülv1brlv1frlv1kllv1krlvö2llv1őslv1prlv1pslv1splv1stlv1újly1blly1brly1drly1ejlyé2lly1flly1glly1grlyi2gly1ívly1kl1lyn_lyo2lly1plly1pr1lys_ly1skly1splys2t1lywolzőa2lzőe2maa2dmae2rmaé2rm1ahhmai2z2malgm1alr2malv2manámao2k2marmma1rymast2ma2usmá2fá2mágo2mágómá2hímájo2má2jümáka2má2kőmána2má2nőmá2númá2nümá2pomá2rímá2römá2rőmá2rümá2sömá2sőmást2máte22mátém1átjmá2zemá2zőmba1pmbeá2mb1grmb1ízmb1klmb1lymb1plmb1prmb1spmb1szmb1trmb1újmc2lumd2ramd2rámd2romd2rómea2lmea2nme2avmee2sme2etmeg1fmegg2me2gime2gúmek1s2melb2melkme2níme2nöme2núme2omme2óemers2me2túme2ukmeu2tme2vőme2zume2zúmé2gemé2gémé2gimé2gőmé2gúmé2höméka2mé2kímé2kőmént2mé2pímé2pümé2sömé2tömétő2mé2zímé2zumé2zűmfit2mf2lamf2lómf2lumf2rámg2limg2lómg2ramg2rámi2aami2aámi2acmi2aemi2aémi2agmi2ahmi2aími2aomi2aómi2aömi2aőmias2mi2aümi2avmi1bl2midőmie2lmi2éfmi1flmi1frmii2d2miksmi2nümio2rmió2r2mirg2mirhmiu2smi2xömi2xőmí2jamí2jám1ínsm1ív_mí2vám1ívbmí2vém1ívhm1ívrm1ívvmí2zümí2zűmj1ősmke1pmkia2mkiá2mkie2mk2lamk2limk2límk2lomk2lumk2ramk2rámk2remk2rémk2rimk2rímk2romk2rómk2vamk2vómla1fmleí2mmai2mmas2m2me_mo2bemoci1mohu2mo2ismo2kömok1tmoku2mokú2mo2kümo2nömons2mo2nümo2nűmo2or2mopemo2römort2mo2rümo2rűmo2sümo2unmo2vimo2ximóá2gmó1blmó2chmódó2módu2mó1flmóró2mó2römö2bömö2komö2lemö2numö2rom1ötlmö2vemö2vömö2vümö2vűmőa2nmőá2gmőe2lmőe2rmőé2lmő1klmő1psmő2simő2sümőü2lmő2zimp2cimp1frmra1pms2kams2káms2kims2koms2láms2mims2nims2pams2pems2pims2poms2póms2ráms2tams2táms2tems2tims2tíms2tomst2rms2túmsz2cmsz2lmsz2mmt2rámt2remt2rémt2rimt2römt2rüm1ujj2mulzmu2mömu2mőmun1g2mur_mu2sőmuss2mu2tümú2jímú2rim1úthmü2dímü2dümü2gymü2námü2remü2rímü2rümü2temü2témü2tőmü1tzmü2vemü2vömü2zemű1blmű1brmű1flmű1frmű1grmű1klmű1plmű1pnmű1prmű1spműsú2mű1szmű2zémű2zimű2zömű2zőmű2zümw2himz2rínaa2dna1clna2einaé2rna2jinalt2na2lünano1nao2lnaó2rna2pínapp22nasknast2na2ucna2ulnau2snaü2zna1whna2zé2nábrná2cíná2dánád1dná2ganá2gáná2giná2guná2gúná2gyná2künále2n2áléná2líná2lüná2míná2munáné2ná2níná2nüná2rínáró2ná2rőnárt2ná2rünást2ná2tünb2lanb2lonb2lúnb2ranb2ronb2rónca2unc1blnc1brnc1drncea2nc1flnc1frnc1grnc3hínc3hönc1íjnc1klncö2tnc1őrnc1plnc1prncs1snc1trnc1ujnc1útnc1üvnc1yanc3zenc3zönc3zsnc3zünd1blnd1clnd1drnd1frnd1grnd1klndö2bnd1prnd1slnd1spnd1stndu2tnd1újndy2bndy2hndy2nndy2rndy2tndy2vnea2jnea2knea2nnea2rne2béne1blne1dy2neffnei2gneí2r2nekj2nemsne2obne2odne2ofne2ogne2ohne2róner1sne1yé2nédlné2kónékü2népa2népá2né2pőnép1sné2púnéra2n1érdné2röné2rünéti2né2tönéva2né2vöné2vőné2vúné2zangá2cng1blng1brng1frngi2gngi2mng1ígng1írng1ívng1ízng1klng1krng1kvngö2rng1prng1psng1shng1skng1spng1trng1ürng1ütng1űrnhe2ini2aani2aáni2acni2adni2aeni2aéni2ahni2aíni2ajni2amni2aoni2aóni2aöni2aőni2arnia3uni2aüni2avni2azni1brni2düni2et2nigmnikk22nindni2óani2ódni2óeni2ópni2óüni1pr2niráni2xani2xőní2géní2janí2juní2vení2zení2zűnkaó2nk1brnk1drnkia2nkiá2nkká2nk1plnk1prnk1spnk1stnlac1nleí2nműt2nnak2nn1synnü2l2nog_2nogh2nogj2nogn2nogo2nogs2nogt2nogvno2irno2köno2kőnok1sno2künom1pnona2no2nöno2nőno1nyno2okno2ríno2rüno2seno1tyno2uino2xinóa2knóá2rnó2cenó2chnó1flnó1frnó2münó2rünó1slnós3snó2vónö2kanö2kánö2konö2kónö2kunö2kúnö2lőn1ömlnö2rönö2tenö2ténö2tin1ötlnö2tün1övbnőa2lnőa2nnőá2gnő1brnő2canő2chnőe2rnőé2lnő1klnő1plnő1prn1őrsnős3snőu2tnőü2lnpe2snp2lanp2lánp2lenp2lénp2lonp2lünp2ranp2renp2rénp2rinp2ronp2rónp2szns2chns1drns1frnsi2zns1klns1stns1synsu2rns1úrnsz1zntad2ntaü2nt1blnt1brnt1drnt1flnt1frnt1grntió1nt1klnt1krntó1pntót2ntőa2nt1plnt1prnt1rynt1shnt1sknt1spnt1stntsz2ntu2nn2tyín1uccnu2ganu2gonu2münu2ránuss2nu2ten1újdnú2jínú1pr2nútb2núth2nútj2nútr2núttnü1blnü1frnü1grnü1prnü2rínüst2nü2tinü2tünü2vönü2zénű2zénű2zőnv1sknx1ar2nyápny1blny1brny1cvnye1pny1flny1glny1gr3nyíl3nyk_1nykkny1kl1nykn1nym_1nymt1nyn_ny1plny1prny1ps3nys_ny1scny1shny1skny1slny1spnys2t2nyud2nyuj3nyul2nyut3nyúlny2vóny2vőny2vúnza2cnz1grnzi2anz1ígnz1ínnz1klnz1krnzö2rnz1plnz1prnz3sznz1újnz1üsnz1üvnz3zsoa2céoa1fro2akio2amio2asioá2gaoá2ríoá2zsoba1pobau2ob2böob1ívob1klob1ötob1pr1obstob1ügob1ürob1ütob1űroc1eroci3aocie2oció2oci1poc1procs1socs1toc3zsodas2odat2odáb2od1edode2l2odézodi2god1klod1prod1st1odúnod1ügod1ünod1üzod3zeod3zooe2iroe2leoe2muoe2neoe2uroe2uvo2éfao2éfáo2éfoo2ékeo2ékioéna2oéná2o2észo2éviof2laof2lóof2rí2ogazog1blog1droge2roge2sog1flog1frogi2gog1ínog1írog1ívog1klog1krog1ösog1plog1prog1skog1spog1trog1ülog1ürog1ütog1üzog1űzohas2oh2nioi2aeoi2afoi2anoi2avoida1oina2oi2neoi2reoi2zooj1inoka2uok1blok1brok1dro2ke_oke2doké2pok1flok1frok1grok1íjok1írok1ívok1ízokö2rok1plok1prok1spok1ügok1ünok1ürok1üzok1űzo3la_ol2cíol2cóol2cöol2cüol2czol2dűolfu2ol1gl2oliboll1sol2lüolót2ol1örol1ösol1skol1úsol1ügol1ülol1üvol1üz2olyóo2lyőoma1fomá2gom1drom1efome2gome2lome2oo2mepome2some2zom1glom1gromi2gom1íjomjó2om2jőom1klom1krom1ökom1önom1ösom1övom2pőom1skom1slom1spom1stomu2nom1üdom1ügom1ürom1üsom1ütom1üvom1üzom1űrom1űzom1yaonae22onak2onácon1blon1bron2cúon2cüone2lone2none2s2onéboné2don2güoni2gon1ígon1ízon1öbon1ölon1önon1öron1öson1plon1pron1ps2ons_on1slon1sronsz2onu2nonú2ton1űron1űzon2züoo2iboo2inoo2peoo2reoo2xio2palopa2uo2pálop1blop1emop1esop1gropi2zop1ívop1klop1kr2opolop1ösop2péop1py2oproop1slop1spop1srop1újop1üdop1ügop1ütop1üzoraó2or1blor1bror2cúor2cz2oreao3reáore2lore2nore2sor1ezor1glor3jáor2müor1önor1öror1ösor1ötor1övor1phor1pl1orrb1orrkor2sőor1üdor1ünor1üror1ütor1üzor1űr1orv_2orváor2vő1orvvorz1zosa2nos1exos1ezosgé2osi2gos1kl2osokosó1pos1ökos1önos1psossu22ostuoszí2o2szöo2szüotag2ota1kot1blo2tebot1frot1groth2rot1íjot1ínot1kl2otópotót2ot1ösot1plot1prot1psot1spot1srot1st1ottlot1ütot1űrotya1ou2agou2ilou2leovau2ovio2ow1eloy2ceoza2goza2noza2roz1eno2zorozs1so2zsüoz1ünoz1űróa2céóa2dáóa2doóa2dóóa2gaóa2gióa2gyóa2jáóa2káóa2kuóa2laóa2láóa2loóa2luóa2maóa2naóa2nóóa2nyóa2páóa2poóa2póóa2puóa2raóa2ráóa2réóa2rióa2roóa2tyóa2ukóa2uróa2utóa2vaóa2xióa2zoóá2béóá2csóá2gaóá2gióá2goóá2híóá2laóá2loóá2poóá2ráóá2ruóá2rúóá2saóá2sóóá2szóá2taóá2táóá2téóá2tíóá2toóá2tuóá2túóá2tü2óbab2óbaj2óbak2óbalóbas2óbau22óbec2óbef2óbeg2óbeh2óbej2óbek2óbem2óbeo2óber2óbet2óbev2óbezó2bég2óbil2óbio2óbir2óbit2óbiz2óbójób2ráóce2lóc3háóc3heóc3hoóci2móc2luóc1pr2ócsa2ócse2ócsé2ócsi2ócsí2ócso2ócsö2ócsőócs1póc3szóc1tróc1ünóc1üzóc3zaóc3zeóc3zuóda2jód1blód1bród1epód1fród1glódi2pód1klód1kród1kv2ódob2ódok2ódol2ódomód1ösód1őród1pr2ódráód1spód1st2ódugódu2ród1ügód1üvód1üzóe2béóe2chóe2csóe2déóe2dzóe2geóe2géóe2gyóe2keóe2kéóe2leóe2léóe2loóe2lőóe2lüóe2meóe2méóe2muóe2neóe2péóe2pióe2poóe2reóe2réóe2róóe2rőóe2seóe2séóe2sőóe2szóe2teóe2tióe2tűóe2veóe2véóe2vőóe2züóé2beóé2geóé2géóé2gő2óéhsóé2keóé2kéóé2kíóé2leóé2léóé2lőóé2píóé2pü2óér_2óérdóé2rióé2rő2óérzóé2te2óétkóé2veóé2véóé2vióé2vü2ófa_2ófaa2ófaá2ófab2ófac2ófad2ófae2ófaf2ófag2ófah2ófak2ófal2ófao2ófap2ófar2ófas2ófaü2ófav2ófaz2ófék2ófénóf2lóóf2löóf2lu2ófoc2ófog2ófok2ófol2ófos2ófotófu2róga1póg1dróge2oóg3gyóg1íróg2laóg2le2óhal2óhan2óhas2óhat2óhon2óhor2óhos2óidéói2di2óigéóile22óillói2mi2óimp2óind2óinf2óing2óinj2óinp2óint2óinvói2paói2szói2zéói2zoóí2ráóí2rióí2roóí2róóí2téóí2véóí2vüóí2vűóí2zeóí2zéóí2zióí2züóí2zű2ójam2ójav2ójut2ókab2ókav2ókaz2ókem2ókeróke2t2ókev2ókez2ókém2ókésók1gr2ókia2ókiá2ókic2ókié2ókifóki2g2ókií2ókij2ókim2ókio2ókit2ókiv2ókoe2ókoh2ókoo2ókop2ókód2ókór2ókölók1plók1prók1skók1stó2kum2ókup2ókur2ókut2ókúr2ókül2óküsóleí2óli2sól1ínólóá2ólót2ól1ütól1üvóly2á2ómanómas22ómax2ómág2ómáz2óméd2ómélómi2g2ómin2ómis2ómod2ómog2ómoh2ómor2ómos2ómot2ómozóm1ötóm1őróm1próm1ütóm1üzóműt22ónad2ónag2ónap2ónavóná2lón1bróne2dón1ez2óném2ónézóni2g2ónorón1oxón1önón1ötón1prón1ür2ónya2ónye2ónyí2ónyo2ónyu2ónyúóo2dúóo2kaóo2káóo2kuóo2laóo2lióo2peóo2raóo2rióo2roóo2vióo2xióó2laóó2láóó2lióó2loóó2raóó2rióó2sáóó2váóó2voóó2vóóö2böóö2koóö2köóö2léóö2lőóö2röóö2veóö2zöóő2reóő2réóő2rióő2röóő2rüóő2séóő2söóp1üvór1brór1fl2órip2óritóri2zór1klóró1p2órózór1őrór1ünór1üz2ósarós1blós1br2óseb2ósejóse2móse2p2ósém2ósétós1frósi2gósi2p2ósíkós1klós1kv2óslá2ósorós1őrós1pl2óstá2óstí2óstú2ósug2ósül2ósür2ósza2ószá2ószé2ószi2ószí2ószkósz2l2ószó2ószö2ósző2ószpós3zs2ószt2ószú2ószüósz2v2ótan2ótap2ótarótas22ótat2ótax2ótág2ótápót1fróti2gót1kr2ótoj2ótol2óton2ótor2ótov2ótó_2ótónótőe2ót1slót1spóu2boóu2gaóu2nióu2noóu2raóu2szóu2taóu2táóu2toóu2tóóu2tuóú2jíóú2réóú2szóú2tióú2toóü2gyóü2leóü2léóü2lőóü2nőóü2reóü2ríóü2rüóü2szóü2teóü2téóü2tőóü2veóü2zeóű2ző2óvad2óvag2óvaj2óvar2óvasó2vat2óvág2óvák2óvál2óván2óvázóv1inó2vom2óvon2ózajóza1s2ózavóz1bl1ózdióz1emóz1ezóz1flóz1frózós2óz1őróz1próz3sz2ózuhóz1ülöb1álöb1átöb2bíöb2bóöb2bööbbü2öb1fr1öbli1öblööb1oröb1ónöc1ajöc3heöc3hööció2öc1őröcs1óöc3szöd1aröd1áröd1gröd1ízöd1osöd1ócöd1spöd1újöd3záöd3zuög1abög1agög1apög1arög1asög1ábög1ágög1átög1drög1frög1ínög1írög1ívög1krög1opög1osög1prög1skög1spög1trög1udög3yaök1abök1arök1asök1auök1ágök1álök1átök1ázök1dröke2lök1frök1glöki2döki2gök1íjök1ívök1ízök1kl1öklűök1ok1ökonök1óvökőé2ök1pr1ökrü1ökrűök1spök1srök1usök1újök1úrök1útökü2löl1agöl1alöl1apöl1auöl1álöl1átöl1bröldő2ö2lelölé2döl1fröli2göl1olöl1oröl1sköl1sröl1stöl2tíöl1ujöl1újöl1úsöm1alöm1aröm1auöm1áböm1ágöm1áhöm1álöm1ápöm1ázöm2bíöm2búöme2söm1grömi2göm1klöm1kröm1oröm1osöm1spöm1stöm1tröm1ujön1abön1amön1arön1asön1atön1auön1azön1ábön1ágön1álön1ámön1ázön1blön2chön2cőön2czön2dzöne2nön1exön1iföni2gön1íjönkü2ön1opön1orön1osön1oxön1óvön1öbön1őrön1őzön1plön1prön1psönsz2ön1udön1unön1újön1útön1üdöny1dö2nyíöp1ajöp1álör1abör1ajör1asör1ábör1br2ördí2ördüör2fáöri2göri2kör1obör1opör1os2örögör1udör1ujör1újör1úr1örv_1örvb1örvh1örvn1örvr1örvt1örvü1örvű1örvvörz4sös1alös1árösié2öt1aböt1ajöt1amöt1asöt1áböt1ágöt1álöt1áröt1epöt1esöte2uöt1flöt1fröt1gröt1kr1ötléöt1oköt1olöt1oröt1osö2tösötőa2ötőe2ötőé2öt1pröt1scöt1stöt1ujöt1unöv1aböv1akö2vé_öv1égö2vihö2vivöv1oröv1utöz1aböz1atöz1auöz1azöz1álözé2möz1frözi2göz1íröz1ízöz1oböz1olöz1opöz1osöz1ovöz1ónözőa2öz1plöz3saöz3sáöz3seöz3séöz3soöz3súöz3szöz1ugöz1uröz1utöz1útöz3zsőa2daőa2dáőa2doőa2dóőa2duőa2gaőa2gáőa2giőa2győa2jaőa2jáőa2kaőa2káőa2kóőa2laőa2loőa2mőőa2naőa2noőa2nóőa2paőa2páőa2poőa2póőa2puőa2raőa2ráőa2riőa2roőa2szőa2toőa2tyőa2ulőa2urőa2utőa2vaőa2xiőa2zoőá2csőá2gáőá2géőá2giőá2goőá2gúőá2győá2híőá2laőá2loőá2míőá2poőá2raőá2ráőá2riőá2roőá2ruőá2rúőá2saőá2sáőá2soőá2sóőá2suőá2szőá2taőá2téőá2tíőá2tüőá2vóőba1pőb2leőb2loőb2riőb2roőb2róőb2ruőc1apőc1grőc3háőc3héőc3höőc2luőcs1sőc3sződ1álődea2ődi2gőd1prőd1stőe2ceőe2csőe2déőe2dzőe2geőe2géőe2győe2laőe2liőe2loőe2löőe2lüőe2maőe2meőe2méőe2muőe2neőe2piőe2poőe2reőe2réőe2rüőe2séőe2siőe2sőőe2taőe2teőe2tiőe2unőe2véőe2viőe2voőe2vőőe2zeőé2deőé2etőé2geőé2géőé2giőé2gőőé2jiőé2keőé2kéőé2kíőé2léőé2lőőé2lűőé2píőé2püőé2réőé2riőé2vaőé2viőf2laőf2leőf2loőf2lóőf2löőf2luőf2raőf2ráőf2riőf2röőg2leőg2lóőg2nóőg2raőg2ráőg2riőg2róői2doői2dőői2gaői2geői2géői2győi2koői2maői2máői2miői2onői2paői2raői2ráői2riői2roő2iruői2siői2szői2vaői2váői2vóői2zéői2zoőí2géőí2jaőí2raőí2ráőí2roőí2róőí2ruőí2váőí2veőí2véőí2viőí2vűőí2zeőí2züőí2zűőkes2őkiá2őkie2ők2laők2leők2liők2líők2lóők2luők2vaőleí2őlőt2őműt2őo2ázőo2beőo2dúőo2káőo2kíőo2koőo2laőo2peőo2ráőo2riőo2roőo2soőo2veőo2xiőó2ceőó2haőó2noőó2nuőó2raőó2ráőó2riőó2vaőó2vóőö2böőö2déőö2koőö2köőö2léőö2lőőö2naőö2reőö2röőö2veőö2véőö2viőö2vöőö2zöőő2reőő2réőő2riőő2röőő2seőő2siőp2laőp2leőp2léőp2neőp2reőp2réőp2riőp2roőp2róőp2szőra2nőr1ap1őrbí2őreaőree2őreo2őreu2őreü2őr1fl1őrfőőr1frő2rimőr1ír1őrjö1őrlöő3rögő2rölőr1pl1őrs_1őrsí1őrsöőrs3sőr1úrősa2nősa2pős1auősá2lős1drőse2nőse2pős1épős1flős1frős1gnős1grősi2gős1klős1kvős1obőso2kős1ócősö2rős1őrősp2rős1skőssz2őst2rős1unősu2tőszt2őt2roőu2goőu2niőu2raőu2ráőu2ruőu2taőu2tóőu2tuőú2joőú2réőú2riőú2roőú2szőú2téőú2tiőú2toőü2düőü2geőü2győü2leőü2reőü2ríőü2szőü2teőü2téőü2tiőü2töőü2tőőü2veőü2vöőü2zeőü2zéőű2réőű2riőű2röőű2zéőű2ző2ővetőz1blő2zemőz1olőz1osőzőa2őz3szőz1útőz1ügpa2chpa1clpade2pae2rpaé2rpa1flpans2pa2nüpa2pöpa2pú2parbpa2röpa2rő2parrpars2pa2rűpast2patü22paurpa1wh2páca2pácápácé2pála2pá2lepá2lüp2ály2pámipá2mupána2pá2nípá2nöpá2nőpá2nüpá2rőpá2rüpá2sőpás3spá2tápá2tüpb2lopb2rapb2ripb2ropd2rapd2rápd2ropd2rópea2ppea2rpeca1pec3cpe2czpe2edpe1fl2pelu3pelypeo2lpeo2ppeó2rpe2ríp2erlpe2rúp2erzpet2ápe2ugpe2vőpédü22pééb2pééi2péénpéje22pélm2pépüpé2sopéta12pétlp1évkpézi2pé2zupf2lopf2lópf2lupf2rápf2rupf1stpg2rapg2rupg2rüp2hicphó2ipi2aapi2aápi2adpi2aepi2aépi2agpi2ahpi2ajpi2alpi2ampi2aopi2aöpi2appi2atpi2aúpi2aüpi2az2picc2piclpida2pi2egpi2erpi2égpi1fr2pigopil2i2pind2pinjpi2nüpi2óapi2óápi2óepi2ófpi2ógpi2ólpi2óopi2óppi1täpí2gépí2jápí2népí2rápí2rípír1spírt2pí2rüpí2rű2pítmpí2vepí2zepí2zépí2züpí2zűpkia2pkiá2pkie2pk2lapk2lipk2lípk2lupk2rápk2repk2répk2ripk2ropk2rópk2vapk2vópleí2pléé2plót2p2lurpo2bepo2dzpo2inpoki2po2kíponi2pon3n2ponzpo2ol2popcpopi2pop1spo2púpo2püpore2po2röpo2rőpo2rüpo2süpo2töpo2tüpo2vipó2cepó1frpói2gpóre2pó2röpós3spóta2pótü22póünpó2zepö2kapö2kápö2kupö2kú2pöntpö2ra3pörgpö2ropö2rúp1ötlpö2vepőa2npőá2gpő1blpőe2rpőé2hpőé2lpő1klpő1plpő1prp1őrjp1őrlp1őrspő1szppai2ppa2jppa1spp2hópp1ígpp1klpp1önpp1övpp1spppví22pretp2répp2rofp2rogp2rojps2pips1prps2ráps2tips2tops2tupsz3spta2dpt1klpt2répua2dpue2l2puká2punopuo2rpu1prpu2sípu2söpu2sőpuss2pust2pu2süpú2szpú2tépü2gepü2gypü2kü2pülepü2repü2tépü2vepü2zepű2zőpw2hipy2bapy2bópy2dopy2hopy2japy2jápy2kapy2képy2kipy2kopy2mapy2napy2nápy2rapy2rópy2tópy2vapy2vápzőa2pzőe2pzőé2qu2aequ2atqu2erqu2ezqu2ébqu2iequ2ijqu2ilqu2inqu2isqu2odraa2d2radmrae2rraé2rra1flrai2o2ralkram1bra2möra2mőra2müra2óara2óára2ófra2ómra2óp2rapprast22raty2raumrau2nraü2traü2z2ravúra2xüra1yera1yérá2cörá2cúrá2cü2rágírá2güráí2rrá2jürá2lírá2lürá2mörá2nírá2nü2rápo2ráru2rárúrá2sőrást2rá2tírátú2rb2lúrb2rirb2rorb2rurca1prc1frrc1grrc3hurci2drc1kvrc1ónrc1óvrc1őrrc1plrc1prrcs1prcs1src3szrc1trrc1ügrc1üvrc1üzrc1űzrc3zórc3zsrc3zurc3zúrda1prd1blrd3dzrd1frrd1klrdóa2rd1övrd1prrd1skrd1sprd1strd1ügrd3zord3zórea2drea2jrea2rre2cáre2chre2czre2etre2ew2reffre2gúre2jare2kőrek1s2relú2relűre2mö2reníre2ofre2óare2ócre2óere2óére2ófre2ólre2óore2óprepö2re2púre2udré2báré2bíré2bü2réfáré2gő2régtré2kőréku22rélyré2móré2möré2nörépi2ré2pöré2pürésa2ré2súrévá22révf2révh2révtré2vú2révvrézá2rézó2ré2zörf1álrf1flrfid2rfii2rfik2rfit2rf1klrf1krrf2larf2lorf2lórf2lurf1prrf2rírf1sprf1strge2org2ilrg2larg2lerg2lorg2lórg2ölri2aari2aária1bri2acri2aeri2aéria1fri2ahri2aíri2ajri2amri2aori2aóri2aöri2aőri2auri2aúri2aüri2avri2az2ribé2ribürid1dri2duri2ed3rierri1fl2rigirihó22rilórin3nri2om2rioxri2óari2óári2ócri2óeri2ógri2ólri2óori2óü2ripl2rivorixe2ri2xíri2xö2rizarí2gé2ríj_2ríjá2rímárí2morí2mörí2nérí2raríva2rí2virí2vűrí2zarí2zorjet2rka1brke1prkia2rkie2rki2grk1klrk1shrk2vórleí2rleü2rl1grrlóó2rlót2rlőe2rmaó2rm1clrmi2grm1klrm1skrm1strm1trrm1ügrm1üzrmű1srm1yarna1brnas2rnés2rni2grny1sro2adroa2n2roblr1obsro1flro1frro2görogu2ro2gü3rogyro2hero2höro2is3rojtroke2r2okéro2kőrokú2ro2küro2lüro2míro2möro2mőro2müro2níro2nöro2nőro2nüro2omro2os2roperop2srore2rort2ro2rüro2söro2ső2rotéro2unro2usro1xyro1yaróa2d2róbáróc3cró2czró2dőró2dü2rófsrói2gró2mí2rómkró2möró2mü2rónj2rónn2rónr2rónúró2nüróo2króó2r2rótb2róth2rótj2rótk2rótm2rótnró2zúró2zürö2garö2gorö2gó2rökírö2korö2marö2márö2mírö2morö2mórö2mu2römü2röműrö2rerö2rörö2sarö2sárö2sorőa2nrőát1rő1blrő1brrő2dárőe2lrőe2rrőe2srőé2hrőé2lrőé2rrő1flrő1klrő1kv2rőltrő1plrő1prr1őrhrő2rörősá2rő2sőrőu2trőü2lrpei2rp2herp2lerp2lérp2lurp2lürré2rrr1flrr1frrró1prr1plrr1prrr1sprry2nrs1blrs1brrs1frrs1glrs1grrsi2drsi2gr1skjrs1klrs2nirs1őrrs1plrsp2rrst2rrsu2rrsu2trsz2mrt1blrt1brrt1clrt1crrt1drrtea2rtei2rte1prt1flrt1frrt1grrtí2zrt1klrt1krrt1kvrtmű1rtó1prt1plrt1prrt1psrt1skrt1slrt1sprt1strtsz2rtu2krty2jrty2srt2zőru2acru2czrue2lrue2rru1frru2míru2möru2mőru2müru2peru2püru2sőruss2rust2rúda2rú2durú2dürú1dyrú1grrú2jírú2rorúto22rútsrü2dírü2dürü2harü2larü2lárü2lírü2lórülö2rü2lurü2lúrü2rírü2rürü2terü2térü2törü2tőrü2vörü2zerü2zérű1grrű1klrű1prrű2rörű1sprv1frrv1klrv1krrv1ősrv1prrv1skrv1sprv1strv1trrvü2lry2bery2bóry2bőry2hory2nary2nery2rary2rerys2nry2tóry2tőry2vary2verzőa2rzőe2rzs1s2sabo2sabrsae2r2saga2saggsa2gő3sah_sa2ig2saja2salf2salms2and2sanesa3nösaó2r2sapp2sapu2sarm2sarzsase23sastsa2sú2satysa2ul2sautsa2uv3sav_sa2vősa2vüsa2xisá2bösá2büsá2gísá2gőság1ssá2güsá2gűsáka2sá2küs1álc3sámásánt2sá2nüsá2rísá2rösá2rősárt2sárú2sá2rüsá2sósá2sösá2ső2sáta2sáté2sáth2sáti2sátj2sátk2sáts2sátt2sátu2sátv3sáv_3sávb3sávjsá2vö3sávr3sávú3sávvsbeá2sb2losb2lúsb2rasb2risb2rosb2róscar2sc2risdai2sdeá2sdes2sd2rasd2rásd2rosd2rusea2dsea2lsea2nseá2lseá2rsebá2se2böseb1pseb1sse2búsee2lsee2n2seff3segg3segísehü2seí2r2selb2self2selr2selzs1enzseó2rser1kse2róser1ssert2seü2tse1yese1yése1yis1ezrség3gsé2gí3ségkségo2ség1ssé2gusé2gú3ségüs1éjs2séllsé2lű2sély3sémásé2mu2sérb2sérc2sérmsé3ró2sérr2sétksétő22sétr2sétt2sétv2sévhsf2lesf2losf2lósf2lusf2rasf2rásf2resf2risf2rísf2rosf2rösga1bsga1psge2osg2lesg2lósg2nósg2rásg2risg2rós2hopsi2acsia2dsi2aési3aksia2l2sidési2dusi2egsie2lsi2ensi2eu2siga2sigá2sige2siha3simí2simp2sind2sinf2sinj2sinvsi2óasi2óási2ócsi2óesi2ógsi2óosi2ópsi2óú3sipís1irg2siro2sirtsis3ssist23sitysiú2t3siví2sizésí2gésí2jasí2jusíke2sí2kísí2küsína2sí2nö2sínssí2rísí2rösí1spsí1stsí1trsí2vásí2vésí2vűsí2zas1ízr2sízüskao2skat2skau2skiá2skie2sk2jösk2lask2lisk2lísk2losk2lósk2luskó1psk2rísk2rusk2vask2visk2vósky1is2lágsleí2sléi2sli2dslős2s2lussmaó2smas2s1objso2díso2döso2dőso2dúso2düso2kí2sokl2sokmso2küso2mísom1pso2múso2mü2sond2sonó2sonvso2órso2óss1opcso2röso2rőso2rüso2rű2soszso2ulso2urso2veso2xisóá2gsóá2rsói2gsóí2vsó2kósómű1só2nisóó2rsó1szsö2bűsö2gasö2gásög3gsö2gosö2gűsö2kasö2kús1ölysö2nasö2násö2nosö2nú3sör_sö2rasö2rá3sörb2sörd3sörksö2rosö2rósör1ssö2ru2sörvs1ösvs1ösz2söves1övvsőa2csőa2lsőa2nső1blső2dásőe2lsőe2rsőe2sső1grső1klső1plső1pnső1prs1őrzsősü2s2pájsp2lusp2nesp2rasp2szsrau2ss2koss2láss2póss3szss2toss2tússzt2sta3ust1brst1drste2aste2ust1flst1frst1grsti2gs2tírst1krst1kvstőa2stőe2st1pfst1plst1prst1scst1stst1szst1útsuá2rsubi1s1udm3suhi2sujjsu2ke3summsu2nosupe22sura2surn2sutó2sutusúdi2súi2ms1újh3súly2súr_2súrb2súré2súrh2súri2súrk3súrl2súrn2súrp2súrr2súrtsú2só2súsz2sútés1úth2sútis1útn2sútosútü2sü2dísü2düsü2küsü2násüne2sü2rí2süst2sütksü2zesü2zésű1pr3sűrísű2zősven1s2vunsw2hisy2bősy1igszaa2szaé23szax2szápsz1blsz1brsz1cl2szehszeo2sz1flsz1frsz1gl2szio3szof3szovszőa2szőé22szőzsz1plsz3sész3shsz3slsz3sósz3süsz3szszu2bszuc12szud2szuh2szúg2szúj2szús2szúz3szűksz3zstaa2dtaa2ltaát1ta1clt1adjt1adl2tadót1adst1advtae2ltae2rtaé2r2tafítai2zta2jéta2lüta2lűta2müta2nüta2nűtao2ltaó2r2tapp2tasc2tasftast22tasvta1sytaü2zta1wh2táb_2tábé2tábj2tábk2tábntá2bö2tábrtá2bütá2fatá2fá2tág_2tágb2tágg2tágj2tágn2tágrtá2hítá2jítá2jőtále2tá2lötá2lütá2mítá2nítá2nötá2nütá2nű2tánztápá2tá2pőtá2pütá2rítá2rötá2rőtá2rütá2rűtá2sótá2sötá2sőtás3stást2tá2sűtá2vítá2vötá2vőtá2vütbeá2tb2latb2letb2litb2lotb2lútb2ratb2retb2rotb2rótb2rutca1ktca1stc2lutc2retd2ratd2rátd2retd2rotd2rótd2rute2aate2aáte2abte2acte2aete2aéte2agte2ahteai2te2aíte2ajte2aote2aöte2aőteas2te2aúte2aüte2avte2azte2díte2gáteg3gte2gútei2gte2jíte2jote2jőte2júte2kíte2lúte2nöte2núte2octe2ofteo2s2teppte2rőtert2tesp2té2cő2tég_2tégb2tégé2tégg2tégj2tégn2tégr2tégttégü2tékó2té2kőtéla2t2éláté2líté2lótélu2té2météna2té2rötésa2té2sóté2sutétó22tévh2tévk2tévtté2vúté2zstf2jotf2latf2letf2litf2lotf2lótf2ratf2rátf2retf2ritf2rítf2rotf2rötf2rutg2lotg2lótg2netg2ratg2rátg2ritg2rótg2rutg2rüth1scti2aati2aeti2aéti2afti2ahti2ajti2amti2aüti2avtie2ntié2bti1flti3kitin3nti2nöti2nűti2oltio2xti2xatí2gétí2jatí2játí2jútí2latí2rőtí2rütívi2tí2vötí2vőtív1stí2zatí2zátízi2tí2zí2tízltí2zötí2zutkiá2tkie2tkié2tk2latk2litk2lítk2lótk2lutk2ratk2rátk2rítk2rutk2vatk2vitk2vótleí2tleü2tma1kto2díto2ilto2kíto2kőtok1sto2küto2kűtom1bto2míto2mötom1s2tomúto2müto2műto2nöto2nőtont2to2nüto2nű2topcto2pütord2tore2toró2to2röto2rőtors2tort2to2rüto1ryto2süto2uttova1to1yotóá2rtóát1tó1bltó1cltó1fltó1gltói2gtóí2vtóo2któó2rtö2dítö2do2tödütö2katö2kátö2kítö2kutö2natö2nátö2notön1stö2nutö2nútőa2ctőa2ltőá2gtő1bltő1brtőe2rtőé2ltő1fltő1grtőí2ttőí2vtő1kltő1kvtő1pltő1prtő1ps2tőrl2tőrp2tősűtősz2tő1trtőü2ltőzá2tp2fetp2latp2látp2létp2lutp2ratp2retp2rétp2ritp2rotp2rótp2rutp2sztrat2tréé2trii2tr2ost3römts2chts2káts2kots2lats2láts2lets2lits2máts2mits2nitsói2ts2pats2pets2pits2pots2pótsp2rts2ráts2tets2téts2tits2títs2totst2rts2tuts2túttad2ttaü2tt1krttö2ltt1prtt2sittwe2ttyü2tuá2rtu1ck2tudítu2gatu2gotu2hutu2in2tukátulo2tu2lütu2mítu2mötu2mőtu2mütu2setu2sőtuss2tu2sü2tutátu2umtú2jatú2jítú2jotú2jutú2lítú2lötúl1stúlt2tú2lútú2lütú2lűtú2rötú2rütú2tátü2getü2gytü2látü2lítü2lutü2lútü2ma2tüsttü2titü2tötü2vötű2dátűé2htű1grtű1kvtű1pltű1prtű1sptű2zítű2zotű2zútyat2tyau2ty1ívtynk2ty1ősty2pety1prty2saty1sptz3scua2chua2daua2dáua2dóua2esua2gáua2jaua2jáua2laua2láua2nyua2szua2tyua2utua1yáua1yéua1yiua1youa2zouá2gauá2gyuá2pouá2szub1drubi2gub1krub1ölub1ösub1övub1plub1prub1slub1spub1üdub1ügub1üzuc2cöuc2cúuc2cüuc2czuc3háuci1puc2kyuc1prucs1suc3szuc1üguc3záuc3zeudi2oue2béue2dzue2géue2gyue2lőue2meue2rőu2es_u2esbu2eshu2esiu2esku2esnue2sőu2esru2estu2esuue2teue2veué2geué2géué2kéué2leué2píué2püué2teuf2riuf2ruuf2tüuga1pug1águg1elugg2lugi2eugi2tug1írug1klug1ösug1prug1sk2uguiug1ügug1üzug1űruh1emuh1exuh1őruh1pruh1tru2hu_u2hujuh1üzui2deui2dőui2euui2gaui2géui2paui2ráui2zéuí2jauí2juuí2veuí2vű1ujjb1ujjc1ujjd1ujjé1ujjf1ujjg1ujjh1ujjiuj2jí1ujjk1ujjl1ujjm1ujjn1ujjp1ujjr1ujjs1ujjt1ujju1ujjúuj2jü1ujjvuk1bluke2luk1exukós2uk1öbuk1pruk1űrul1blule2iuleí2ule2lulot2ulóó2ulót2ul1ötul1prul1stul1úrul1ütul1űru2lyi2umaé2umaoum1blum1drume2gum1flum1glum1grumia2umig2umit2um1ívum1ízum1klum1krum1kvumna2um1ömum1önum1ösum1ötum1övum1ősum1skum1spum1stum1szumu2rum1ügum1ürum1üsum1ütum1üvum1üzuna1bun2dzun1égung3gu2nodu2notun1pru2nunuo2lauo2liuore2uo2xiu2óbuu2óneu2óréuó2riu2ósou2ószu2óveuö2kouö2köuö2röuö2zöuő2reuő2réuő2riuő2röuő2rüupas2upda2up2hiup1üzur2fí1urnáur2neurn2éuro1pur1ölurpi22urulu2rú_us1blus1brus1druse1tus1ezus1frus1grusi2gus1ígusí2rus1klus1kvus1ócus1plus1pnus1prus1ps2uss_us1syusu2sus1üdusü2lus1üzuszü2usz1zuta1putaü22utav2utáb2utáé2utámut1bl1utca1utcáut1fruti2mut1kl2utos2utotut1prut1sput1stut1üguu2möuu2müuu2tauu2táuu2zsuü2gyuü2ríuü2téuü2veuü2zeuv2reuz1íruzki2uzói2uz3szuzü2lúa2daúa2dáúa2dóúa2gyúa2jáúa2laúa2láúa2nyúa2szúa2udúa2vaúá2gaúá2gáúá2giúá2goúá2gyúá2híúá2loúá2poúá2raúá2riúá2ru2úbab2úbarúb2lo2úbódúb2riúb2roúc3heúc3hoúc1pr2úcsa2úcse2úcso2úcsóúcs1púcs1súcs1túda2dúd1ágúd1álúde2lúdé2túdi2gúd1prúd2ráúd2roúd1üvúdy1iúdy2súd3záúe2béúe2géúe2gyúe2laúe2leúe2loúe2löúe2lőúe2meúe2piúe2reúe2réúe2rőúe2rűúe2szúe2taúe2teúe2veúe2vőúé2heúé2leúé2lőúé2pí2úér_úé2reúé2ri2úérzúé2teúé2veúf2löúf2ráúf2riúf2ríúf2roúg1elúgós2úg2ráúgyi2úi2dőúi2gaúi2gé2úillúi2mi2úing2úintúi2paúi2rá2úisk2úism2úistúi2taúí2ráúí2veúí2viúí2vüúj1esúj1ezúj1orúj1plújra11újsáúj1udú2jul2úkab2úkap2úkarúke2lúke2súke2t2úkés2úkézúkia22úkinúk2lu2úkol2úkom2úkosúkö2lúk1prúkü2lúla2núl1brúle2lúl1enúl1exú3lé_úlé2gúl1frúl1glúl1ígúl1kvúlo2kúl1öbúl1ölúl1örúl1skúl1smúl1spúlsz2últi2úl2tíúl1úsúl1ügúl1ülúl1ünúl1ürúl1ütúl1üvúl1üzúl1űzú2lyőúly1s2úmac2úmad2úmag2úmaj2úmar2úmoz2únac2únapúnau2úo2koúo2veúó2raúó2ráúó2sáúó2voúö2leúö2léúö2lőúö2röúö2veúő2röúp1egúpe2lúp1esúp2laúp2léúp2ríúp2ro2úrab2úrajúr1brúr1ezú2rék2úrésú2rieúri2gú2risúr1önúr1ötúr1ősúr1prúr1snúsa2núsa2r2úsátús1drús1exús1frúsi2gús1klús1kvús1ösús1őrús2peús1prús1ügús1ünús1üz2úsze2úszé2úszí2úszöúsz1p2úszüút1blút1efú2téhú2ténút1grút1idútie2ú2tiéúti2gút1ígút1íjút1ívút1op2útorút1ösútő2rút1plút1prút1stútu2r1útvoúu2noúu2raúü2gyúü2léúü2reúü2teúü2veúü2vöúü2zeúű2ző2úválúv2árúzae2úzaé2úzak2úzót22úzse2úzsiúz3szüa2jáüa2laüá2gaüá2goüá2guüá2raüá2szüb2loü2desüd1ízüdőé2üd2vo1üdvöüd2vőüd2vuüd2vúüe2béüe2geüe2géüe2leüe2meüé2keüé2píüf2roüge3lüg2raü3gyíüh1afüh1atüh1ásüh1orüh1ősüi2géüi2koüí2ráüka2pük2káükke2ükko2ül1abül1agül1ajül1atül1auül1álül1br2ülekül1früli2gül1ígül1omül1opül1orülőe2ülőt2ül1slül1spül1stül1udül1úsülü2lüm1flüm1frümi2güm1klüm1krüm1orüm1osüm1őrüm1trüm1újün1álün1idüó2ráüő2reüp2riüp2roü2römürtü2üss1süssü2üs2tíüs2túüstű2üszi2üt1abüt1aj1ütköüt2ziüu2taűa2daűa2dóűa2gyűa2kaűa2laűa2loűa2naűa2nyűa2orűa2paűa2páűa2raűa2ráűa2toűa2utűa2vaűa2xiűa2zoűá2béűá2gaűá2gáűá2gyűá2híűá2jeűá2loűá2poűá2raűá2riűá2roűá2ruűá2síűá2téűá2tíűb2loűb2róűd1álűd2roűd1skűe2csűe2geűe2géűe2gyűe2laűe2leűe2léűe2lőűe2lüűe2meűe2piűe2poűe2reűe2rőűe2seűe2séűe2sőűe2teűe2tiűe2véűe2vőűé2leűé2léűé2píűé2teűf2loűf2raűf2riűf2roűg1ősűgő2zűg2raűg2ráűi2doűi2gaűi2géűi2máűi2miűi2paűi2ráűi2roűi2szűi2taűi2zéűi2zoűí2ráűí2riűí2róűí2téűí2veűí2züűí2zűűkia2űk2laűk2liűk2líűk2loűk2vaűn1alűn1arűn1álűni2gűnme2űn3nyűn1olűn1osűn1prűn1űzűo2dúűo2káűo2koűo2laűo2ráűo2roűó2ceűó2raűó2ráűó2riűö2lőűö2röűö2veűö2zöűő2röűp2laűp2lüűp2neűp2réűp2riűp2ríűp2roűp2róűr1adűr1auűr1ábűr1álűr1ásűr1ázűre2nűr1exűr1épűr1flűr1idűri2gűr1orűr1otűr1ónűr1örűr1plűr1prűr1ujűr1unűr1útűr1ügűr1üzűs1álűs2peűs2piűs2poűsp2rűs2ráűs3szűst2rűsz2kűsz2tűtőa2űtőe2űt2riűu2gaűu2raűu2szűu2taűu2táűu2tuűú2riűú2szűú2tiűú2toűü2gyűü2léűü2ríűü2teűü2téűü2töűü2veűü2vöűü2zeűű2zőűz1akűze2sűz1frűz1glűzi2gűz1ínűz1írűz1klűz1krű3zoműz1onűz1opűz1orűz1osűzőa2űzőe2űz3saűz3süűz3szűz1úrűz1útűz3zsvaa2dvaát1v1absva2dűvaé2rvag1gva2gúva2jíva2jöva2jü2vangvan3nva2nóva2ríva2rővars2va2rűva2sővast2va2sűvatő2vatt2vau2n2vábrváde2vádé2vá2dövá2düvá2gúvá2lúvá2lüváma2vá2mívá2mövá2mővámu2vá2müvá2nüvá2povárd2vá2rívá2rövá2rővárs2várú2vá2rüvásó2vást2vá2sűváta2vá2zívá2zövá2zővá2züvb2lovb2ravd2rávea2gvea2lvea2nvea2rveá2l2veceve1clvegg2ve2gíve2gú2velave2növeó2rve2örve2peve2róve2rövest2véá2gvé2dávé2dövé2dúvé2dzvéga2vég3gvé2gövé2gúvé2lívé2lúvé2lűvér1svéru2vé2sóvé3vavf2ravf2revf2rivf2rovge2ovg2ravg2rávhez1vi2aavi2abvi2acvi2aévi2agvia2pvi2dzvi2ewvika2vi2má2vind2vipavisa2vi2sövit2a2vitnvi2zúvídi2ví2geví2nyví2záví2zíví2zöví2zúvízü2víz3zvkiá2vk2livk2lóvk2luvk2rivk2rívk2róvleí2vleü2vo2ilvo2jivo2kívome2vo2odvo2pevo2süvo2ucvo2vávo2xivóa2kvóá2gvóá2rvóó2rvó2sóvó2sövó2sővós3svö2bövö2vevö2vévö2zsvőa2nvőá2gvőe2lvőe2rvőé2jvőé2nvő1flvő1klvőo2lvő1plvő1prv1őrmvőü2lvő2zivp2lavp2ravp2revp2révp2rivp2rovp2róvp2szvs2kávs2kivs2kovs2lávs2pevs2tavs2tivs2tívs2tovst2rvs2túvsz2pvt2ravt2révt2rivt2rovu2bovu2mövu2ravu2ruvu2táv1utcvú1frv1újdv1újsvú2revúré2vú2röv1útnvü2gyvü2küvü2lávü1prvü2rívü1stvü2tevü2tévü2zévű2zőwa2iiwa2lewa2rewa1yewa1yéwe2büwe2edwe2ekwe2igwe2iswe2lewe2örwhi2twi2chwi2czwo2odwri2twsto2xa2dáxaé2dxa1flxa2naxa2rixa2vixá2gyxb2laxb2loxb2raxd2róxé2píxf2rexha2uxia2nxi2av2xidá2xidé2xidl2xidmxi2dö2xids2xidu2xidvxi2el2xilcxina2xine2xi2nöxi2onxi2ócxi2óexi2ógxi2óoxi2óöxi2ópxise2xis1pxis3sxí2jaxí2jáxí2joxí2juxí2róxo2pexö2déxö2röxö2zöxő2séxp2laxp2rixs2káxs2pexs2taxst2rxusi2xus3sxust2xusú2xu2süxu2taxü2léxü2vexü2zeyaa2dy1absyae2ryae2tyaé2ry1affya2gíya2gőyag1sy1ajky1ajtya2lüya2lűya2möya2mőya2müy1angyaó2ry1appya1slyast2yaü2tyaü2zy1ábryá2gayá2gáyá2géyá2giyá2goyá2guyá2gúyá2gyyá2jőyáka2yá2küyá2lüyáma2yámi2yá2müyán3nyá2nöyánt2yá2nüyáró2yá2röyá2rőyá2rüyá2seyá2söy1átby1átfy1áthy1átky1átmy1átny1átpy1átry1átsy1átty1átvybeá2yb2layb2leyb2léyb2liyb2loyb2lúyb2rayb2riyb2royb2róyc2viyd2beyd2niyd2royd2róyea2vyeá2rye1blyee2sy1effyega2ye2gíye2gúyei2gy1ejty1elcyemi2y1enzye2sáy1etnyé2büy1égby1égty1éhsy1éj_y1éjby1éjjy1éjsy1éjtyé2kőyél3lyéná2yé2noyé2píyé2püyéra2yéró2yéru2y1étly1év_y1évby1évfy1évhy1évky1évmy1évny1évry1évsy1évty1évvyfas2yf1glyf2layf2leyf2liyf2loyf2lóyf2riyf2ríyf2röyg2leyg2lóygót2yg2rayg2ráyg2riyg2róyg2ruyg2rüy1igmy1ihly1impy1incy1indy1infy1injy1insy1invy1irry1irty1ishy1ismy1ispy1isty1izgy1izmyí2géyí2jayí2jáyí2juyí2kayí2káyí2keyí2kíyí2layí2líyí2löyí2rőyí2váyí2veyí2véyí2vóyí2vüyí2vűyí2züyí2zűy2jévykai2yk2bóyk2hoykiá2ykie2yk2kayk2layk2leyk2liyk2líyk2lóyk2luyk2náyk2rayk2ríyk2royk2róyk2vóylei2yleí2ylóá2ylót2ym2mayn2kaynk2ryo2bey1objyo2geyog3gyogi2yo2gíyo2göyo2güyo2gűyoka2y1okmyo2lúyo2lüyo2míyo2möyo2mőyo2níyon3nyo2nöyont2y1opty1ordyo2seyos3syo2utyo2veyo2xiyóá2gyóá2ryóí2vyóo2kyóó2ryós3syö2böyö2bűyö2csyö2kayö2káyö2kíyö2koyö2kóyö2kuy1ömly1önky1önzyö2ray1ördyö2royö2ruyö2soy1ösvy1ötly1ötpy1ötty1ötvyö2veyö2véyö2viyőa2nyő1blyőe2lyőe2ryő1fryő1pryő2ray1őrgy1őrly1őrpy1őrzyősz2yp2layp2leyp2léyp2luyp2rayp2reyp2réyp2riyp2ríyp2royp2róy2prőyp2ruyp2szyrea2yreu2ys2chys2hoys2kays2káys2kiys2lays2láys2leys2luys2miys2nays2niys2peys2piys2poys2póysp2rys2rays2ráys2rőys2says2sáys2seys2tüyta2cyt2röy1udvyu2gey1ugryu2gyyu2huy1ujjyu2kőyu2kűy1undy1urnyus3sy1utcyú1blyú1bryú1gry1újdy1újry1újsyú2kóyú2lüyú2lűyú1ply1úrby1úrky1úrryú2süy1útby1úthyúti2y1útjy1útky1útmy1útny1útpy1útry1útsy1útty1útvyü2düyü2láy1ünnyü2ríy1ütky1üzlyű1blyűé2nyű1klyű1ply1űrby1űrryű2sáyűs1syvai2yv1bryv1dryv1fryv1gryv1klyv1kryv1őryv1pryv1skyv1slyv1styv1tryv1újyv1útyzőa2yz2rí2zabsza2ceza2cíza1fl2zagizai2z3zaj_3zajf3zajj3zajú2zakczakü2za2míza2mü2zangzao2kzao2szaó2hzaó2vza2pí2zarc2zarm2zarzzatt22zatyzaü2tzaü2zz1az_z1azhzá2dezá2güzáí2rzá2jízá2jőzá2jüzá2jűzá2lüzá2mózá2mözá2mőzá2müzá2műzán3nzá2nüzány22zárfzá2rőzárs2zá2rüzá2sü2zátbz1átd2záth2zátszázó2zá2zözbeá2zb2lezb2lozb2lúzb2rizb2rózb2rúzc2luzdas2zd2rizea2dzea2gzea2kzea2lzea2szeá2rzeá2z2zebez1ebfz1ebhz1ebk2zecezee2sz1effze1frze2gúze2iazei2gzei2szeí2rze2kő2zema2zemk2zeml2zemsze2mú2zemü2zemv2zenzzeo2kzeo2mzeö2r2zeprzer1s2zerűzesp2ze2tyzeu2gzeü2tze2xúz1ezrzé2dózédu2zé2dúzé2fáz1ég_z1égbzé2géz1égnz1égrz1égt2zéidz1éj_z1éjszéla22zélézé2lí2zélm2zéltzé2lú2zémezéni2zé2nízé2nözé2nőzént2zépo2zé2pózé2pözép1szé2púzé2rözér1szé2rúzé2sózés3s2zétkzé2tú2zétvz1évbz1évf2zéviz1évkz1évrz1évsz1évtzf2lazf2lezf2lizf2lozf2lózf2razf2rázf2rezf2rizf2rízf2rozf2rözg2lazg2lózg2rózhán2zi2aazi2aázi2aczi2adzi2aezi2aézi2agzi2ahzi2aízi2ajzi2alzi2amzi2aozi2aözi2arzi2atzi2aúzi2aüzi2av2zicczi1chzie2lzie2mzi2éazi2éázi2épzi2éüz1ifjz2ig_zim1bzi2mözi2nízin3nzi2núzi2olzi2otzi2óazi2óázi2óczi2óezi2ógzi2óízi2ólzi2óozi2óúzi2óüzi2óű2zirá2ziro2zirtzi2sözi2sőziss2zist2zitó2ziú2r2zizmzí2gézí2jezí2jözí2jüzí2nízíno2zí2nözí2nuzí2núzí2vúzí2zezí2züzí2zűzk1blzk1drzkia2zkiá2zkie2zki2gzk2lazk2lózk1przk2rázk2rízk2vózky2bzky2hzky2jzky2kzky2nzky2rzky2tzky2vzlei2zleí2zlóó2zmas2zmeá2znie2zni2óz2nobznót2z1objzo2eszoki2zo2lözo2lü2zome2zomé2zomf2zomgzomi22zoml2zomzzone2zo2nözo2nüzo2olzo2omzo2rözo2rü2zote2zotózo2vizo2xizóa2dzóá2gzóá2rzó1blzó1clzó1flzó1glzói2gzóí2vzója12zól_z1ólmzóó2rzó1slzö2bázö2bozö2bóz1öcczö2dézö2dúzö2gazö2gázög3gzö2gízö2gozögö2zö2guzö2gy2zönb2zöne2zöné2zöni2zönl2zönö2zönr2zöntz1ösvzö2tez1öv_zö2zözőa2czőa2lzőá2gző1blző1brzőé2lző1flző1grző1klzőmű1ző1plző1pr2zőrk2zőrl2zőrm2zőrü2zőrzzősz2ző1trzőü2lzp2fezp2lazp2lézp2lozsag2zs1blzs1brzs1drz3sej2zsezz3ség2zsél2zsépzs1flzs1frzs1grzs1íjzs1kl3zsom2zsorzsp2rzs1stzs3szzst2r3zsul2zsumzsu1s2zsúl2zsügzs1üs2zsützs1whz3szézsz2fz3sziz3szízsz2lz3szoz3szóz3szözsz2pzs3zsz3szüz3szűzt1blzt1drzt1flzt1frzt1grzti2pzt1klzt1krzt1kvz2toiztóá2ztö2lztőa2zt1plzt1przt1pszt1slzt1snzt1spzt1stzt1szz2tye3zubbzu2bu3zug_3zugbzu2gézu2gí3zugozu2gözu2güzu2gű3zuhazule2zu2lúzume2zu2mízu2mőzu2mü2zundzu2ne2zunizu2rúzu2sőzuss2zust2zú1drzú1fl3zúgáz1újdz1újsz1úthz1útiz1útjz1útnz1úttzú2tüz1útv3zúzá3zúzd3zúzózü2düzü2ni2zünnzü2ríz1ütkzü2vezü2vöz1üzlzű2razű2rázű2rózű2ruzű2zezű2zozű2zszű2zúzy1akz1yarzy2bezy2jezy2nezy2nézy2rezy2rőzy2sazy2sozy2tőzy2vezzát2zz2lezz1lyz3zsiz3zsíz3zso", + 6 : "_ad1yi_ag1os_ag2ra_agyo2_al1eg_al1is_alje2_al1os_am1ak_an1th_arc3c_ar2cö_ar1kh_az1a2_az1ám_az1ó2_ág1ó2_ál1a2_ál1i2_ár1aj_ár1ác_ár1ál_ár1d2_ár1em_ár1ir_ár1ol_ár1om_ár1os_ár1s2_át1ar_át1av_át1á2_át1e2_át1é2_át1i2_át1ol_át1óh_át1óv_át1ö2_át1ü2_baké2_ba1ts_bár1a_bá1th_be1d2_be1kr_be1tr_bi2ke_bi2os_bi2ot_bita2_bort2_bo2tá_bra2i_cito1_dac1c_dan1n_dé2la_dére2_dé2sa_di2al_dú2ra_eb1eg_eb1ir_eb1u2_el1an_el1ap_ela2s_el1á2_elé2d_el1éh_elé2n_el1id_el1ig_el1ik_el1in_el1ir_el1or_el1ó2_el1ök_el1öv_előé2_el1s2_el1t2_es1er_ex1el_ég1a2_ég1eg_ége2s_ég1ö2_ég1u2_éh1év_éj1a2_éj1á2_éj1el_ék1a2_ék1ir_él1a2_éli2k_ép1es_ép2pa_ép2pé_ép2po_ér1ül_ész1á_észe2_ész1o_észü2_fa1st_fa1tr_fö2lő_gá2te_gázs2_gáz1z_ge2od_ge2os_gé2d1_gé2na_gé2ná_gén3n_gó2ce_gó2la_gó2lá_gő2zs_ha2dz_ha2ik_há2zó_hit1a_hol1l_ho2ne_hő2sá_ima1s_io2ne_ion3n_íjá2t_ív1a2_íz1in_jaké2_kare2_ka2rí_ka1th_ka1tz_kel1ö_kéta2_kéze2_ké2zs_kéz1z_ki1g2_kle2i_ko2rí_köz1z_kun1a_la2kő_la2pó_le3dé_le2g1_leg3g_le3gy_lei2d_le1kl_lége2_lé2go_lépü2_lob1e_lobi2_lo2me_mag1g_magó2_ma1th_ma2uz_mego2_me2zá_mé2ná_mé2no_mi3rá_mű1kr_na2pö_ne2ma_ne2ol_ne2um_né2pa_no2r1_okka2_orré2_or2vá_orvi2_ot1tr_ón1a2_ón1á2_ón1e2_ón1év_ön1d2_ön1e2_ön1k2_öt1eg_öt1el_öt1t2_öv1ő2_őr1ab_őr1an_őr1u2_őr1üg_ős1a2_ős1á2_ős1eg_ős1í2_ős1ó2_ős1tr_ős1u2_ősz1á_őz1a2_őz1eg_őze2t_őz1ék_pa2da_pa2pe_pina1_ple2i_po2re_ra2be_ra2bí_ra2bö_ra2bú_rá1dr_rá1fr_rá1gr_rány2_rá1tk_rá1tr_ré2mu_ré2sa_ré2zá_réz1z_rí2má_romé2_rug1g_rú2de_sá2rú_sás1s_sá2vá_sá2vó_sé2fi_si2em_si2ók_sín3n_sze2i_tag1g_ta2gö_tan1n_tant2_ta3rá_távi2_te2ar_teza2_té2ra_té2rá_tí2zs_tízü2_tó1st_tra2u_tus3s_tu2sz_un1in_uni2o_utás4_új1as_úr1a2_úr1á2_út1a2_út1á2_út1e2_út1ol_út1ü2_ük1a2_űr1a2_űr1á2_űr1e2_va2só_vas3s_vács1_vá2dá_vá2ma_vé2rá_vé2ró_vé2ru_za2be_zé2t1aal1egaal1osaá2t1öab1adóaba2dzab1akkaba1pra2b1aua2b1áp1abbahab1edéab1ejtab1ela2abele2abelsab1elvab1emb2abetá2abete2abeté2abeto2abetöa2b1exa2b1ép2abétáab1iksab1isma2b1íjab1írna1b2lú2abolta2b1öbab1ölőab1ölta2b1ösa2b1ötab1őrlab2rekab2rinab2rókab1úr_ab1úrtab1úszab1ü2la2b1üzaca2laaca2láaca2táa2c1ága2c1álacci2óac3cseac3csíac3csüacc3szac1ebéa2c1egac1embace2taa2c1exa2céláa2céléa2c1épac3héja2c3höa2c3húac1ide2acin_ac1infa2c1írac2kálacké2rac2kilac2kösa2c1op2acsalacse2c2acsonac3stra2csúlacsü2la2csütac3száac3szeac3szöa2c1ud2aculaa2c1utada2gáa2dagg1adagi1adagu1adalé1adaptada2rea2datma2datvad1azoa2d1ágadára2ad2delad1egead1egéad1egya2d1ejad1elhad1elmad1elnad1elrad1eltad1engad1epra2derdad1erőade2tia2d1exadé2küadé2kűad1élea2d1épadé2teadia2nad1indad1ola2adomb2adomi1a2dop2adorhad1orva2dógua2dóméa2dóráad1örda2d1ösadőr1aad1ő2sad2ramad2razad2rámad2rogad2rukad1úsza2d1üga2d1üta2d1űrad1yéhad1yérad3zabad3zavad3zárad3zelad3zóna2d3zöad3zsíael1ejae3lenae2redaero1saes1er2afaj_2afaja2afajá2afajb2afajj2afajn2afajo2afaju2afajz2aféli2afélő2aféltafi2apafi2kea1f2loa1f2lóa1f2löa1f2lu2aford2aforg2aforraf2rakaf2rizaf2ronafus3sag1abrag1agaag1angag1anta2ganyag1apaag1apáag1aut1a2gáka3gálaa2g1ápa2gár_a2gárba2gárea2gáréa2gárfa2gárha2gárja2gárka2gárma2gárna2gároa2gárra2gársa2gártag1ásvag1átüag2delag1elbag1eldag1eleag1eléag1elfag1elhag1eliag1elmag1elnag1elrag1elsag1eltag1elűag1elvag1elzag1enga2g1exa2g1ezagé2néag1érlag1érmag1észag2git1aggod1aggokag3gyeag3gyiag3gyoag3gyüag1ideag1ikea2gillag1infa2g1ipag1iroagi2sza2gitaag1izéag1izma2g1íja2g1íra2g1ízag2ne_a2g1ob2agonaagon3na2g1opag1orjag1önkag1öntag1örva2g1ösa2g1öta2g1őrag1sztag1urna2g1újag1útaag1útta2g1üra2g1üsa2g1üta2g1üva2g1üza2gyada2gyaja2gyálagy1ema2gyevagyo2ragyu2ra2gyúna2gyútahert2ahús3s2ai2deai2dom2ai2dőai2kabai2k1áai2ke2aik1elai2kikai2kisail2loai2ma_2ai2máai2mitai2na_ai2nárai2nélai2nolai2onbai2onnai2onoai2onrai2ontai2ram2ai2ráai2re_ai2roda2i2seai2szaai2szo2ai2taai2vadai2varai2vás2ai2vóai2zomaj1agaaj1agraja2kúaj1apra2j1áa1ajánla2j1ápaj1ásáaj1ásvaj1ázáa2j1efaj1előaj1eneaj1enza2j1exa2j1ezaj1égőa2j1éla2j1épaj1g2ra2j1ija2j1ika2j1ima2j1ioa2j1ipa2j1iz1ajkú_aj1olda2j1öka2j1öra2j1özaj1ő2saj2tágaj2tegaju2hia2j1újaj1úszaj2zerak1app2akarc2akard2akari2akarr2akasí2akast2akata2akateakati21akác_a2k1áfa2k1ága2kárkakás3sakát1aake2csak1elha2kerda2kesp2akény2akép_2aképb2aképe2aképé2aképh2aképk2aképl2aképn2aképr2aképt2aképü2aképz2akérd2akére2akéré2akérő2akérv2akétsak1idi2akie2ak1iga2akigyak1ilyak1indak1isma2kítéak2kajak2kálak2kemakke2sak2ketak2kőr1akku_1akkumak2lauak2lavak2lorak2lónak2lór1aknai1aknáb1aknáh1aknái1aknás1aknáv1aknázak1obj2akokt2akonc2akond2akonf2akong2akonk2akons2akont2akonv2akony2akonz2akorb2akord2akori2akorl2akorm2akoro2akorp2akorr2akors2akort2akoru2akorú2akóniak1őr_ak1ős_ak2rátak2reaak2ríz1akrob1akti_ak2timak1trá1aktua1aktú_1akupua2k1úga2k1úja2k1ügalac1calace2alaci21alakual1algal1allal1almal1alta2lanyalap1pal1argalató2al1ava1a2láa1a2láá1a2láfa2lágaal1ágbal1ághal1ágkal1ágnal1ágt1a2láía2láráa2látea2látéalá2tia2látöa2látra2látú1albumal1d2ral1ebéal1ece2aleí2al1elma2lerda2lesial1égőa2lél_al1érsal1étl1alfás1algoral1idea2lidéal1ifjal1illa2lism2alite1aljas1aljái1aljer1aljia1al2jü1alkím1alkohal1kreal1kro1alku_1alkud1alkunalla2lal2laual2ledal2limal2lipal2lös1almádal1obealoma2alon3nal1opcal1orcal1ornalos3sal1ónna2l1öba2l1öna2l1öra2l1ösalpe2lal2pizal1sztalté2nalti2nalti2pal2tócal2tönal2tural2tür1altvéa2l1újal1úr_al1úrbal1úrhal1úrial1úrkal1úrnal1úrra2l1üz1alveoa2lyara2lyála2lyéva2lyima2lyisa2lyugam1abbam1ablam1ajta2mazoamá2ráam2balam2bepam1eláam1eljam1elk2amenna2mesk2amesta2m1exam1ezram1ékéa2m1épa2mimáam1imiam1impamise2ami2szamme2gam1olaa2m1opamos3sam1ö2ram1ö2zam1ő2ram1plaam1p2r1amputam1t2ra2muniamu1sla2m1újam1ü2la2n1ah1analían1alkan1alman1anna2narcana2töa2n1aza2n1áganca3uan2ce_an2choan2csöancső2ancs1tanda1s1andezan2délan2dilan2d1öan2dúsan2dünan2dzáa2n1eban1eddane2laane2lőan1emuan1ernan1erra2n1exan1ez_an1ezéan1eztan1ezzan1épía2névzan1f2ranga2dan2geman2giman2gizang1szangye2an1idean1inda2nitaan1itta2n1íga2n1íja2n1ízan2kajan2kazan1kluan2kösan2kőrank1t2an2k1üan2ne_an3ny_an3nyean3nyoa2n1oja2nódda2nódoanó1g2an1ória2n1öla2n1öna2n1öra2n1ösan1skaan1s2pan1staan2szó1antena2n1uda2n1uga2n1uja2n1úgan1ü2gan1ü2za2nyaza2nyegany1ökany1özany1tra2nyurany1üla2óbara2ói2vaó1kréa2ómaga2ómara2ómas1apasáap1auta2pavaa2pájúapán1n1a2páuap1elbap1elgap1eljap1elka2pellap1elmap1elnap1eloap1elrap1embap1emeap1eneap1eniap1eseap1eséap1esőa2p1exap1élmap1épüap1f2ra2pidéap1ikrap1indap1inja2p1íga2p1ína2pítéa2p1ízap2lazap2lédapmeg1apműt2a2p1obap1opcap1opeap1opta2p1ovap1óloap1ória2p1öbap1örva2p1ösap1ő2rap1plaap1priap1próap1p2sap2resap2rédap2roc1apródap2sízap1szfapsz2tap1t2rapu1p2apus3sa2putca2p1úja2p1üda2p1üga2p1üna2p1üta2p1üva2p1üzar1alkar1arcaratű2ar1aul1a2rawar1álcar1árúar1árvaráz4sarca2nar2carar2catar2cegar2cevar2cés1archíar2cizarde2lar2dorareil2ar1elhar1elmar1elnar1elrar1eltar1elüar1elűar1elva2remuar1etűar1ég_ar1él_ar1éltar1f2rar1ghaa2ridéarink2ari2nüarká2parká2sar2kéjar2kizar2kudar2lesar2me_ar2meoarme2sar2m1öar1orgar1orsar1ózda2r1ökar1önga2r1öra2r1ösar1skaar1sráar1staar1stoar1strar2tégar1ty2a2runia2r1újar1útjar1útra2r1ütar1ű2z2asablas1abras1agaas1aggas1alfas1almas1aprasa2voas1állasás1sas1áth2asátoas1d2ras1egeas1ekeas1ekéas1ella2serdas1erőa2s1esas1etia2s1eza2s1épas1érbas1ércasé1s2as1étvas1ideas1idoas1injas1izéa2s1íjas1ízüas2kozas1k2ras2lukas2már2asodra2s1ofas1okl2asoksaso2néas1osza2s1oxasó1p2as1ördas1örva2s1ösas1p2las2pota1s2puas1s2pas3szüas3szűastil2as2timas2topa2s1uda2s1uj2asulyas1uraas1urna2s1üdas1üsta2s1üz2aszab2aszak2aszav2aszám2aszed2aszegasz1eh2aszek2aszel2aszenasze2s2aszez2aszék2aszét2aszin2aszir2asziv2aszob2aszoc2aszof1aszóa2aszót2aszök2aszöra2szöt2aszövasz3su2aszur1aszúsaszü2gata2nóat1appata1statau2rat1ábrat1ág_at1ágratá2szatátá2ate2kóat1elcat1elnat1epiat1epoa2teskaté2neaté2ráa2tillatinó2ati2sza2t1íga2t1íja2t1íz2at1klat1ojtatoka2a2toml1atomúat1opcat1opeato2rúatos3sató1p2ató1szató1trat1ökoat1önáa2t1ösa2t1ötatő2raat1őrlatpen12atraj2atraka1trapa1trauat2rénat2roj2atróna1t2rüat2sánat1s2vat2teza2t1uga2tuniat1utáat1utóa2t1úja2t1ügat1ültat1üstat1űrlau2bora2ug2h1a2ukcaul2tia2umaea2umafa2umaka2umama2umara2umava2umába2umáda2umáéa2umáha2umáia2umáma2umána2umára2umávau2radau2tadau2talau2tamau2tasau2tatau2tál1autób1autóé1autóh1autói1autóm1autón1autór1autós1autót1autóvau2z1üaú2r1iaü2zena2vanzav1elvav1estav1inga2v1oxa2v1öma2v1ösa2v1utav1ü2lav1ü2za2x1aba2x1ada2x1aka2x1ala2x1ana2x1avax1infax1ingax1intaxió2raxi2sea2x1utay1e2lay1ingay1s2taza2chaza1p2aza1s2az1állaz1áltazá2nöazás3saz1eljaz1elmaz1előa2z1ema2z1exa2z1égaz1iráaz1irtazma1ga2z1obazont2a2z1opa2z1orazó1tra1z2ríaz3sora2z3süa2z1újáb1akcáb1artába3seáb1álláb1álmá2b1ápá2b1ázábba2láb2benáb2bidáb2bimáb2börá2b1edáb1erő1á2bécá2b1épáb1igaáb1igéá2b1imá2b1isáb1izmáb1izzá2b1ívábla1pá2b1opáb1ö2dáb1ö2r1ábráiáb2rekáb1sz2áb1úr_áb1ü2lác1ajtác1aknác1almá2c1ágá2c1álác3cseác3csoácele2á2c1épá2c3haá2c3háá2c3héác3honá2c3huáci2asá2c1ilác1incác1ingá2c1orác1ö2lá2csefá2cserácse2tácsé2ká2csélá2csépácsi2gácsi2pács1írác3só_ác3sótác3sóvá2csötá2csujá2csutá2c1utád1ablád1arcá2d1ágá2d1álád1átlád1e2cá2d1ejádele2á2d1epád1erőádé1drádé1g2ád1éneádé1stád1illád1imiád1indád1istádo2gaádo2gáádo2geá2d1ösád1ö2zád1ő2rád1udvá2d1ügá2d1üzá2d3záá2d3zeá2f1ág1á2fáká2f1áp1á2fásáf1elmáfi2adáfi2amá2f1imáf2recá1f2röáfus3sá2f1ünág1abrág1acé1ágaddá2gakaá2gaktág1alt1á2gamág1anaág1antág1aspá2g1auág1álmá2g1ápágás3ságá2szág1átüág1d2rá2ge2nág1encág1eneáge2raáge2ráá2g1exá2g1éjág1érmá2g1éság1g2lág3gyeág3gyúági2alá2g1ifá2gillág1imaág1infág1inság1iroá2g1izá2g1ígá2g1íná2g1írá2gítéá2g1ízá2g1oáá2g1opá2g1orágos3ságó1drág1öntág1öröág1örvá2g1ösá2g1ötá2g1övág1ő2rág1ő2sá2g1udá2g1ujá2g1újá2g1úság1úttág1ü2gág1ü2lág1ű2rágya1gá2gyélá2gyidá2gyilá2gyobágy1ösá2gyurá2gyúhá2gyútáh1ajkáh1ass1á2hítái2domái2ramáj1antá2j1ará2j1axáj1azoá2j1ágá2j1álá2j1ápájás3sáj1egéáj1elmáj1elnáj1előáj1elvá2j1emá2j1esáj1e2tá2j1élá2j1épá2j1ilá2j1imá2j1izáj2ladáj2likáj2lobáj2náráj2niná2j1obá2j1opá2j1orá2j1öbá2j1öráj1st2áj1t2rá2j1udáj1úszáj1ü2táj2zabáj2zaják1abrá2k1aják1akaák1aleák1alják1anták1araák1armák1arzák1átaák1átkák1ebéák1embák1éssá2k1ifák1igaák1illák1ingák1iroák1itaák1k2lák1k2rák2larákos3sák1óniák1ö2rák1ő2rák2rákák1sz2ák1t2rá2k1ujá2kuniák1uraák1utóá2k1ügák1ü2tál1ablál1acéál1ajtál1algál1apóál1autál1ág_ál1állál1árfál1árkálcai21áldás1áldozál1d2rá2l1efál1elkál1elmál1eloál1elrál1emuá2l1égálé2küáli2asál1ideál1idéál1illál1impál1infál1iráális3sá2l1izál1í2rál1í2vál1k2lál1k2r1állagál2lajál2led1álmom1álmukál1objá2l1oláloma2á2lomsál1opcá2l1orá2l1oxá2l1ödá2l1ösá2l1őrál1p2lál1p2rál1p2sál1tréá2l1ugá2l1uzá2l1újá2l1úrál1útjál1útkál1útnálya1pá2lyálá2lyéjá2lyélály1k2á2lyolá2ly1öá2lyugám1admám1aggám1allám1altám1atlám1audá2m1ágámán1nám1ásvá2m1ejám1eláám1eléám1elíám1elkám1eloám1elsám1eltám1elüám1elvám1essám1eszá2m1evá2m1exá2m1ezám1ékeá2m1épámi2abámi2alámi2amá2mideá2mimáá2mimmá2m1íjá2m1írá2m1obá2m1ofá2m1opámos3sá2m1ová2m1oxám1ó2rám1ö2kám1ö2zám1ő2rám1ő2sám1p2lám1p2rám1p2sám1sz2ám1t2rá2m1udá2m1ugá2m1ujá2muniá2m1újám1ü2lám1ű2zán1achán1adaán1afrán1ajtán1alkán1apaánap1ián1araán1avaán1ábrá2n1ágán1ár_án1ármán1árnán1ároán1áruán1ásván2cacán2caján2calán2carán2catán2cásánce2lán2cezán2c3hán2cimánci2pán1edéá2n1efán1embán1emlá2n1enán1e2uá2n1exán1éksán1épíán1épüá2nérdán1éteán1f2rán2gabán2gedánge2sán2gőr1ángy_á2n1ifán1igéáni2keán1illá2n1imán1indán1inná2nirrán1irtán1iskán1ismáni2táán1izoán2kaján1kluán3nyeán3nyíán3nyoán3nyuán1oldán1olián1ottá2n1oxán1óriá2n1ölá2n1öná2n1örá2n1ösá2n1ötán1övöá2n1őrán1ő2sán2sesán2sisán2sizán1strán1szlán2tazántá2pán2tezán2tidán2töká2n1udá2n1ugá2n1uján1útján1úttán1ü2gán1ü2lán1ü2tán1ü2ván1ü2zány1edány1elány1enány1etány1ökány1özány1trá2nyugány1után2záláo2szúápa1trápa3u2á2p1ágáp1álláp1átaáp1e2láp1e2máp1e2tá2p1égápi2acápi2avá2p1imáp1injáp1intá2p1íná2polláp1t2rá2p1ugá2p1úrár1aláár1alkár1allár1altár1anaár1angár1apsár1atyár1ágaár1ágrár1ágyár1ár_ár1árúár1árvár1átb1árbocár1dráár2dudár1e2dáre2maár1eneár1engár1evéá2r1exár1ébrár1édeár1éj_ár1éjsá2r1épár1éssár1észá2rétkár1f2rár1g2rár2gyóár1ifjár1imbár1inná2r1írár1k2l1árkokár1kréár1k2vár2nyöár2nyüár1odvá2rokmároma2ár1optáros3sáróé2ráró1p2ár1ö2bá2r1öná2r1ösár1ő2rár1ő2s1árpa_ár1p2rár1p2sár2sedár2semár2sesár2sipár2sóvár2sutárte2sár2tidár2tifár2títár2top1á2ru_1á2rua1á2ruc1áruda1árudá1á2rue1á2rué1á2ruf1árugy1á2rui1árujá1á2rumá2runi1á2ruoár1urá1á2rusárus3s1árut_1áruteáru1tr1á2ruü1á2ruvár1u2z1á2rúé1á2rúkár1úréár1úrfár1úszár1útlár1útsár1ü2gár1ü2lár1ü2sár1ü2vár1ű2z1árvácás1aboás1algás1aljás1alkás1allás1almás1appás1apuás1artás1arzás1aspá2sassá2satoás1atyá2sábéás1ágná2s1álásáró21ásáskás1ásvás1átéás1áthás1átiás1átjás1átkás1átsás1áttás1átvás1d2rás1e2bá2s1efás1epiás1erkás1erőás1e2vá2s1éjá2s1épás1étkás1éttá2s1ifás1igaás1igeás1impás1indás1infás1invás1iroás1irtás1istás1itaá2s1izá2s1íjás1ínsás1íráás1íróás1k2rá2s1obásoda2ás1oklás1okmás1oliá2s1opá2soriás1orrás1osz1á2sób1á2sóé1á2sóg1á2sói1á2sój1á2sók1á2sónásó1p2ás1óri1ásóró1á2sótás1ö2lá2s1ösás1ö2vás1ő2rás1ő2sá1spicás1p2lás1s2kás1s2pás1s2tás3szeás3szfás3sziás3szíás3szkás3szóás3szöás3sztás3szúás3szűás2tegás2tirás1triá2s1udá2s1ujás1utaás1utóás1úr_ás1úrnás1útiás1útoá2s1ügás1üldás1üleá2s1üná2s1ürá2s1üzás1ű2zá2szajásza2násza2sás3zápász1exá2szidá2szifászi2pá2szizá2szírász1k2ászö2lász1őrász3saás3zsuász1trá2szurá2szutát1abrát1ajkát1ajtát1alhát1alsát1arzáta2sáát1autát1azoát1ág_át1ápoát1átvát1e2cát1ellát1elnát1elvát1emlát1engáte2rááteri2át1erőát1é2dát1égeát1égéáté2keát1é2l1átfésát2hi_át2hia1áthidáti2agáti2alát1illát1iskát1istát1í2v1átkelát1k2r2átolj2átoltát1omlát1ontáto2reátó1p2át1óriát1öléát1ömlát1ö2zát1ő2rát2ril1átszűát3t2éát1t2rá2t1ugá2t1uhá2t1uját1úriá2t1ügá2t1üt1átvár1átveváv1admáv1aktáv1alkáv1altáv1aspáva1stáva1t2á2v1auáv1azoáv1álsáv1áteáv1átfável1éávé1dráv1indáv1iskáv1ismáv1izmáv1izoá2v1obá2v1opáv1óráá2v1ugá2v1uráv1ü2záz1absáza2düáz1ajtáz1akcáz1arcáz1armázate2áza2tíáz1atyáz1árfázás3sáz1átbáz1átház1átsá2z1ázáz1d2ráz1e2gáz1e2máz1e2ráz1e2sáz1e2táz1e2zá2z1égáz1éviáz1g2ráz1impáz1irááz1iroázis3sáz1izmáz1izoáz1í2váz1k2láz1k2ráz1omláz1ól_ázó1száz1ö2láz1ö2táz1ö2váz1ő2ráz1p2rá2zsabá2zsará2zsatáz3sebázs1efázs1egázs1esá2zséjázsé2tá2zsiaá2zsiáázsi2gá2zsióá2zsipá2zsizáz3soráz3sóhá2z3sűáz3szááz1t2rá2z1udá2z1ugá2z1ujá2z1utá2z1újá2z1úráz1ü2záz3zsebabá2cbabé2tba2bévba2bikba2dasba2degba2dogba2dódba2dóiba2dójba2dókba2dótba2dujba2dúsba1f2rba2gaiba1g2nba1g2rba2jag2bajkú2bakasba2kegba1klubak1t2baku2rba2l1íballe2bal2téba2lud2b1amp2banalbanc3sbanke2banku2ba2nyóba1p2lba1proba2sebba1slába1s2mba1sniba1treba1trébá2balbá2bálbá2bikbá2b1übá2csüb1á2gúbá2gyöbá2gyúbákos1bá2lajbá2lidbál2isbán2rébá2rapbá2rasbá2rágbá2rárbár2debá2r1ebá2rén2báru_2báruf2bárus2báruvbá2rúrbá2sisbá2szebá2szíbá2szöbá2szübb1addb2b1apb2b1aubb1álmb2b1ápbb1árnb2b1átbb1engbb1erjbb1ernbb1erőb2b1exb2b1égbb1él_bb1élebb1élhbb1éljbb1élnbb1éltbb1élvb2b1épbb1érlbb1érvb2b1ívb2b1opbb1ottb2b1óbbb1ó2rbb1öröb2b1ösbb1őribb1őrzbb1st2bb1t2rb2b1udb2b1ujbb1urab2b1újb2b1ügb2b1ürb2b1üzbb1ű2zbda1d2bda1p2bda1s2bdasz2bda1t2be2atibe2atkbe2atlbe1b2rbe2dénbe1g2rb1egylbe1kribe1króbe1k2vbe2lálbeleí2belet2be2lofbe2lölbe2lőrbel1p22bemel2b1emlben2nábe2pe_be2pedbe1p2lbe1p2rbera2nbe2razbe3rág2berdőbe2régbe2rorbe2rólber3s2be2rurberü2lbe2sembe1skabe1skábe1s2lbe1s2m2beste2bestébe1stob1eszmbe1trá2b1ezr2b1ébrbé2csúbé2d1ábé2d1obé2lálbé2lekbé2lizbé2l1obél1trbé2lulbé2lyöbé2ralbé2rapbé2rarbé2rebbé2rirb1érnibér1trbé2rutbé2szábéta1s2bételbé1t2h2b1étk2b1étt2b1év_bé2vekbé2vetbé2vi_2b1évnbé2zsúbia2labic3szbi2degbi2delbi2gaz2bigénbi2kikbi1klu2billé2billubi2ma_2b1impbi2nabbi2najbi2ogebi2parbi1p2l2b1irrbis2hibi1s2pbit1t2bi2varbkés3sblai2kbla2küblap1eblás1sble2tóble2tubli2afbli2asbli2of1b2lokblon3nbo2c3hbo2csébo2g1ebo2gyoboka1pbon2chbora2nbo2rarbo2razbor1d2bor1elbor1esbor1f2bor1k2bo2tarbo2tasbo2tárbo2turbo2túrbo2zarbo2zálbo2zidbo2z3sbó2calbó1krébóli2abó1p2lbó1p2rbó2ratbó2rásbó2regbó2relbó2rizbó2rósbó1s2p2bölhö2böligb1ölkú2böltő2b1öntbö2r1e2b1ötl2b1ötsbő2rékbő2rilbő2ripbő2rizbőr1ölbőr1s2bő2r1ub1projbra1p21bratybránt2bri2dabri2dá1b2rigbri2nobri2ódbri2ófbri2ómb2rosúbró2me1b2rumb1s2káb1sz2kbsz2táb1t2reb1t2rib1t2rob1t2ró2b1udv2bujjb2bujjc2bujjd2bujje2bujjé2bujjf2bujjg2bujjh2bujji2bujjk2bujjl2bujjm2bujjn2bujjp2bujjr2bujjs2bujjt2bujju2bujjú2bujjvbu2majbu2melbu2misbu2molbu2sinbu2solbu1s2pbuszí2busz3sbu2szübú2száb1ú2ti2b1üldb1ü2tőbű2nelbű2nembű2nesbű2z1ábű2z1őbű2z3s2c1ablca1b2rca2célca2dáscaéne2ca1fro2c1aggca2gyaca2gyu2c1ajkca2kác2c1akcca1krica2lancalé2tca2limca2nalca2narcan2neca1p2sca2ranca2rán2c1arcca2risca1s2pca1stoca1strca2tauca2tem2c1atlc1a2ukca2vat2c1ábrc1állá2c1álmcá2nétcá2nircá2riacá2riá2c1árp2cáru_2cáruscá2sás2c1ásv2c1átm2c1átr2c1átt2c1átvc2c1akcc1albc2c1auc2c1ágc2c1álc2c1épc2c3hocc1ingcci2óvcc1irocc1k2rc2c1ovc3csapc3csarccs1asc3csatccs1álc3csápccs1ásccs1egc3csepccs1élccs1ivc3csopccs1utcc3szacc3szácc3szóc2c1ügce2bédcec3hece2gasce2gorc1egy_c1egybc1egymc1egyrcel1ér2c1elfc1elto2c1emlcenc1c2c1engce1p2rce2rózcertá2cer2tucertü2ce2semce2tiz2cetonce2tűdcetű2zce2vés2c1ébrcé2délcé2gépcé2gimcé2gircé2golcé2halcé2hancé2harcé2hedcé2hir2c1ékscé3lapcé2lábcé2lálcé2le_cé2ledcé2legcé2leicé2lekcé2lemcé2lencé2lébcé2lépcé2léscé2limcé2lincé2lircé2lizcél1trcé2rag2c1érdcé2rincé2ris2c1érz2c1étk2c1étt2c1év_2céveicé2vi_2c1évn2c3haj2chang2charm2chatá2c3hav2c3hámc3hány2c3heg2c3hez2c3hib2c3hiócho1d22c3hor2c3huzcia1b2ci2abaci2aboci2abrci2afrci2aikci2akóci2alaci2aláci2aleci2aléci2aloci2anycia1t2ci2ataci2atáci2atéci2atoci2atűci2au2ci2deo2c1ifjci2ge_ci1g2rci2kercikka22cilluci2mit2cimpucin1d2ci2nimcin2kö2c1invci3oloci2ókáci2ókeci2ókuci2ómáci2ónéci2ó1pci2ósáci2óseci2ótáci2rat2c1irtci2si_2c1ism2c1ispcitá2rci2tikciumi2cí2m1áckaka2c2k1ágck1áll1cker_1ckerk1ckernck1illc2k1ízck1k2rc2k1ouc2k1öbck1össck2reác1k2ric1k2ríc2k1ügck1ültc2k1ütcmelo1cnya2kco2karco2kélco2képcomba2com2bö2c1oml2c1orc2c1ormcos3zsc1ó2nic1ó2ric1öltöc1ö2téc1ö2tic1ö2tü2csabl2csalbcs1amb2csant2csarg2csarkcs1azocsá2be2csátf2csátm2csátr2csáv_cs1d2r2csebécs1eff2csegí2cself2cseml2csemu2csenz2cseró2cserő2cseső2csevő2cs1exc3ség_c3ségbc3séggc3séghc3ségic3ségnc3ségr2cséhs2cséks2csépí2csépü2csérz2csév_2csévn2csévr2csévv2csidő2csigé2csimí2csipí2csiví2csivó2csíki2csíze2csízlcs1ízn2csíztcs1ízücska1sc3slág2csobj2csopc2csori2csorkcs1ódács1ömlcsön3n2csör_c3söre2csöv_csőé2h2csőrzcs1p2lcs1s2pcs1s2tcs3sz2cs2topc3stru2csudvcs1ujj2csunics1utócsú1p22csútn2csügé2csügy2c3süv2cs1üzcs3zajcs3zamc3szálc3számcs3zápcs3zátc3százc3sz2cc3szerc3sz2fc3sz2lc3szobc3szolcs3zonc3szorcs3zóncs3zugc3sz2vcucci22c1undc1ú2ticven3ncza2ibcza2iécza2ihcza2ikcza2incza2ircza2itcza2iv2c3zenda2dagda1dráda1droda1f2lda1f2r2d1ahhda2ire2d1ajtdaká2rd1akkuda2lardale2ldal1f2da2liddali2zda2lőrdal1p2dal1uddalú2t2d1amc2d1amf2d1angda2pábda2pádda2páéda2páhda2páida2pákda2pámda2pátda2páv2d1apjda1p2lda2pó_2d1appda1proda1p2sda2r1üda2sálda1s2lda1speda1szldaszt22daszúda2tazda2tiddati2kda2timda2tizdat1k2da2tóc2datómdató2sdat1t2da2tútda2tűrda2tyada2tyádau2ta2d1avv2d1az_da2zálda2zokda2zon2d1ábrdá2láldá2lárdá2l1edályú2dá2m1údá2nyódá2raldá2rardá2rasdá2ratdár1áldá2rébdá2rijdá2rildá2roddár1s2dár1tr2dáru_dá2rukdá2rú2dá2saldá2sardá2simdá2sisdá2soldá2sordá2só2dás1órdás1trdá2sutdá2szedá2sződász3sdát1al2d1átd2d1átf2d1átj2d1átk2d1átm2d1átr2d1átvdba2l1dd1elhde2agyde2alade2aláde2alode1dra2d1effde2gerde2gésde2gizde2gorde2gör2de2gő2d1ehhdeho2gde2kazde2kepde1kludeksz2de2lefde2losde2lölde2madde2mazde2mezde2mim2demoide2musdemü2lde2nalde2noldens1sde2olode2pe_de1prode1p2sde2radde2rás2derdődere2cde2rerde2ridd1erő_d1erőtd1erővder1spde2rutde2sip2desküde1stode2sur2d1evvde2xinde2xizde2x1ode2zakde2zérde2zilde2zindezőe22d1ezr2d1ébrdé2dapdé2d1ődé2gépdé2gésdé2gindé2got2d1éhs2d1éj_2d1éjbdé2kacdé2kazdé2kásdéke2ldé2kezdé2kopdé2kórdé2közdé2laddé2lamdé2legdé2lesdé2limdé2liodé2lükdé2lyödén1acdé2nyodé2nyödé2ragdé2raldé2rardé2rasdér1d2dé2regdé2rezdé2résdé2rifdé2rotdé2rórdé2saldé2sapdé2sardé2segdé2szúdé2tőr2d1év_2d1évb2dévei2dévén2dévér2d1évf2d1évh2d1évk2d1évn2d1évr2d1évs2d1évt2d1évv2d1évzdgá2zidgá2zód2halidhé2t1di2abádi2abidi2abrdia1d2dia3dadi2adidi2adodi2afadi2agydi2aladi2aládi2alidi2anadi2anádi2anidi2anódi2aradi2au2dián3ndi1c2k2didejdi2deodi2ga_di2ge_di2gét2dijesdi2képdi1k2ldi1k2vdi2landile2mdilig2di2l1ődi2ma_di2mit2d1imp2d1infdinga22d1injdi2nód2d1inp2d1invdi2omedi2ókádi2ókudi2ómédi2órádi2óri2d1irtdi2saj2d1ismdi2taldit1t2diumé2di2vaddí2rikdí2szö2d1ív_djo2n1dlás3sdló1g2dlő1krdna2pedoba2ndo2bát2dobjedo2boádo2gardo2gárdo2gordo2kaldo2kasdo2kájdo2k1edo2képdokkö2dok2kődokú2tdo2meldona2ldon1d2do2n1edon1trdo2nyedo2nyódo1p2ldo2ratdor1drdo2riddor1k2dor1spdorú2tdó1f2rdó1g2rdó1k2ldó1krédó1k2vdó2mabdó2makdó1p2ldó1p2rdó2ráddó2riádó2samdó2sasdó2sel3dósi_dó2sipdó2sisdó2sírdó1spedó1spidó1strdó1szfdó1szpdó1t2rdö2gevdögna2dö2g1ődö2kék2d1öszdő1dradőé2tedő1f2rdőirá2dői2ta2dőráb2dőrék2dőrén2d1őrh2dőrok2dőrosdő2röd2dőrőr2dőrun2dőrurdőr1ügdőr1ül2d1őrzdő1skádő1s2mdő1snidőso2ddő1spedő1spódő1stédő1strdő1sz2dő1t2rdra1psdrág1gdráta2dro2gádrog3gdrosz2dru2sedru2sidság1gd1sz2ld1sz2pd1sz2vd1t2rád1t2réd1t2rid1t2rod2t1üldu2cemdu2c3hdu2gal2d1ugr2d1ujjdu2l1edu2lépdu2lis2d1untdu2raidu2rakdu2raldu2rábdu2ráhdu2rátdu2rukdu2saldu2sandu2sardu2sáldu2segdu2sindu2soldu2s1ű2duszodus3zsdu2t1idu2tó_du2tórdú2csedúc3szdú2raldú2réndú2szádú2szó2d1útj2d1útndú2ton2d1útrdü2heldü2két2d1ülddü2lepdülős2dv1átadv1átedv1ecedv1elkdver1sdv1élmd2v1épdv1ölődv1ú2td2v1ügd2v1űzdwa1yidy1étő2d3zajdza1krdzás1sd3zászdzé2sa2d3zil2dzőbő2dzőné2dzsird3zsiv2dzso2dzs1ok2dzsújea2bálea1d2rea2kase2akate2aképe2a1kle2aláneal1ege2amele2amere2aminea2nyaea2ranea2rasea2rate2aszée2até2ea2télea2tidea2tipea2tire2a2tüe2a2uxeá2k1eeá2ladeá2láleá2léleálfe2eá2lideá2lireá2lopeá2naceá2naleá2náreá2nyöeá2radeá2rameá2raseá2raze2ba2deb1adóeb1agaeb1anteb1atle2b1aueb1ágge2b1ápeb1áraeb1ejte2b1exe2b1ége2b1ideb2late1b2lúeb1okteb1orveb2ruseb1st2e2b1ügeb1ülée2b1ürec1ajtec1alke2c1aze2c1álec2c3hec2c1iec3csoe2c1ege2cetbe2cetüec3harec3henec3hi_ech1in1e2chóe2csadecsá2rec3szee2c1ude2d1abe2d1áge2d1áped1egyede2táedé2káe2d1épedé2saedé2soedés3se2dideed1illed1iroe2d1íred1ívne2d1ízed1olded1orve2d1ose2d1ösed2rame1d2róe2d1üge2d1üte2d1űzed2váte2d3zá1edzőj1edzőre2elébee2lédee3menef2f1oe1f2lae1f2ráega2beeg1ableg1abrega2cse3gakéeg1angeg1anneg1anteg1apáega2poeg1arcega2rieg1arteg1atke3gábae3gábóe2g1áfe3g2áie3gájae3gájáegá2jue3g2áne2g1ápegá2roeg1ártegá2ruegá2rúegá2sae3gát_e3gávaegá2záegá2ziegá2zueg1d2reg1edzeg1ehee2gelae3gendeg1epeeg1epre3geráe2gerde2geréeg1erke3gerle2g1exe3gémbeg1épse2gér_e2gérbe2gérée2gérge2gérie2gérke2gérne2gérre2gérse2gérve2gészeg1éteeg2gimeg3gyúeg1ibreg1idde3gig_eg1ikre2gilleg1imbe2gimmeg1infeg1inoeg1inse3g2ioeg1iraeg1isseg1istegi2sze3gitáe3giveeg1izéeg1izgeg1izmeg1izze2g1íge2g1íne2g1íve2g1íze2g1obeg1olve3golyego2mie2gonte2g1opeg1orge2g1ote3g2óbegó2doe3g2ójeg1óráe2g1öbeg1önteg1öröe3gőreeg1őrieg1őröe3g2őzeg1s2teg1szte3g2ube3g2umeg1u2ne3gurueg1u2ze3g2úne2g1üde2g1üse2g1üte2g1üve2g1üze2g1űzegy1aze2gyáte2gyipe2gyisegy1okegyo2regy1otegy1uregy1ut1együt1egziseha2deehere2ehé2náehé2záehé2zoei2deáei2deiei2deoei2dénei2domei2ma_ei2manei2mitei2na2ein1adei2nege2inére2inétei2nolei2ramei2ratei2rode2izmieí2ró_eí2róaeí2róáeí2róbeí2rófeí2rógeí2róheíróí2eí2rókeí2rómeí2róreí2róteí2róvej1a2gej1akkej1a2lej1a2nej1a2zej1átve2j1efe2jekceje2sze2j1exe2j1éle2j1épej1g2re2j1imej1inae2j1ipe2j1izej2mokejó2sáe2j1öbe2j1öle2j1őzej1st2ej2tadej2tauej2tálej2tátej2tevejté2rej2tinej2tizej2tosej2tödej2tönej2tösej1traej1tróej2türej1ú2te2j1üge2j1üre2j1üve2j1üzeka2gyek1altek1ange2k1auek1azoe2k1ágek1álmek1ásóek1átaek1átdek1átj1ekcéme2kelae2k1égek1élnek1élőek1illek1indek1isme2k1íjek1íráek1kriek2lime2k1oáek1obje2k1ömekö2riek2rise1k2ríek2rómek2tauek2tazek2tilek2time2k1udek1uroe2k1uze2k1újek1útoek1útvek1ütőek1üzle1k2vóel1ablel1aggel1a2jel1akcel1a2mel1anael1annela2nyel1arael1aráel1aréel1azoelá2béel1ág_el1ággel1ágnel1á2jel1áldel1állel1ámíelá2náelá2neelá2nóel1á2pel1ár_el1árbel1árcel1árfel1árhel1árkel1árnel1áröel1árrel1árteláta2el1átfel1átkel1átlel1átmel1átrel1áziel1ázoel1áztel1d2r2eled_el1effel1egzel1elr2elende2lerdel1erje2lébbelé2duel1égjel1égveléka2el1ékíelé2köelé2kuel1él_el1éldel1élhel1éljel1élnel1élselé2soel1f2r1elhapel1idéel1igael1ille2limáe2lismel1isselitu2e2l2ixe2l1ígel1í2vel1k2lel1k2rella1tel2lauel2lefel2lidel2lönel2lös1elmél1elnép1elnökel1objel1offel1okmel1omlel1omoel1ontel1opcel1oroel1orre2losze2l1oxeló2igeló2inel1ö2me2l1öne2l1öre2l1ös2előáp2előár2előbé2előbi2előbo2elődoelőe2r2előfü2előfű1előhű2előib2előik2előim2előiv2előja2előkl2előkő2előkt2előku2előkü2előmö2előmű2előna1előnn2előnöel1őr_el1őrl2előro2elősá2előso2elősö2előtüe2lőze1előzmel1p2lel1pró2elte_2eltes2eltéb2eltél2eltétel1tráel1tré2eltüke2l1udel1u2gel1undel1u2re2l1uzel1ú2te2l1üde2l1üge2l1üre2l1üse2l1üte2l1üve2l1üzel1űrte2l1űzel2vátel2vikel2vöde2lyere2lyése2ly1oe2ly1óe2lyöme2lyöne2lyösely1ulelyü2le2m1abem1ajkem1akáem1alv1emanáem1apáem1apre2m1ábem1álaem1áldem1álie2m1ápem1árvem1átm1embléem1bre1embriem1broe2m1efeme3giem1elbeme2sae2m1eue2m1ége2méhsem1ékre2m1épem1f2re2midéem1iksem1imae2mimáe2miráem1izéem1izge2m1íjem1okoem1olaem1ollemo1t2emó2rae2m1öbem1ölée2m1öne2m1ösem1őr_em1őrkem1őrnem1őrrem1őrt1empátem1préem1proem1próem1p2sem1s2tem1t2r1e2mu_1e2muk1emulz1e2mumem1unoe2musze2mutce2m1úje2m1úte2m1üde2m1üge2m1üre2m1üte2m1üve2m1üze2m1űze2n1aben1agien1alken1allen1almen1arcen1aszen1atken1auten1ábren1álden1álmen1árnen1átken1átmen1átve2n1ázen2c3henc3szen2dösen2dzaen1elken1elmen1elüene1p22eneráe2nerve2n1exenéki2en1épíen1épüe2nérden1f2len2gane2nidéen1ille2nimáen1inden1iske2n1íven1k2jen2nesenné2ken2néren2nirenny1áen3nyue2n1obe2n1ofe2n1oien1oldeno2nien1opte2n1oxenóta2e2n1öbe2n1öle2n1ösenő2rüen2sasen2tépenti2pen2tönen2tunen1utae2n1űze2nyabenya2geny1d2e2nyize2nyokenyö2ke2nyöteny1treny1útenyva2en2zal1enzimeo2káde2okáre2okoneo2koseo2lajeo2naneo2náreon1d2eo2nereon1f2eo2nizeo2n1úeo1proeo2reseor1k2eor1s2e2oszaeo1t2re2ókape2óképe2ókore2ószoeó1tréeó2vake2p1abep1aute2p1ábep1átaep1átcep1átfep1áttep1átüe2p1ex1e2péd1epééb1epééi1epééne2p1égep1ékhep1éleep1élmep1idoep1inde2p1íge2p1íje2p1íne2p1ívep2lage2p1obe2pochep1oktep1opeep1önte2p1öse2p1övep2panep2pátep2pórep1proep1próep3rete1projep1s2kep2tade2p1uge2p1üge2p1üte2p1üze2p1űzer1abser1admera1drer1agrer1alker1alser1alver1amber1amper1anner1apper1apser1atter1auterá2féer1ágeer1ápoer1áreer1áréer1árfer1árker1árser1árúer1árver1ásáer1átler2carer2cider2ciserc1k21erdejer1efferei2gerek1terepá2er1erker1erner1eróeretö2e2r1exerébe2er1ég_er1égéer1éjferé2káeré2páeré2saer1évfer1évher1évter1évver1f2re2ridéer1idueri2gaeri2noerint2eri2oser1iróer1ismer1íj_er1íjáe2r1írer1k2rer1k2v1ernyőer1okler1opeer1orcer1order1ormer1orner1orse2r1ócer1óloer1órier1ökler1ökoe2r1öre2r1öse2r1öte2rődderőé2n1erőlt1erőmh1e2rőöer1őröer1p2ler1p2ser2réver2sater2sider1skáer1sráer2sutertá2per2tider2toserubi21e2ruper1uráer1urue2r1úje2r1úrer1útjer1útler1útre2r1üde2r1üre2r1üse2r1üte2r1üzerva2ner2véker2voser2vös2esaites1almes1anyes1apáes1arces1asses1asze2s1au2esábóes1áraes1dróese1fre2seng1eséll1esélye2s1épes1ércesés3ses2kices2lates2line1s2lu2esok_2esoka2esokk2esokre2s1op2esos_2esosaes1oszes1ottesőká2es2panes2peces1p2le1s2póe1s2ráes1stáes3szöes2tafes2taz1estéj1estémes2tipes2tizesto2res2tunes2türe2s1udes1uraes1uráes1úr_es1úrbes1úrées1úrhes1úries1úrkes1úrnes1úrpes1úrres1úrte2s1üze2szadeszá2te2szevesz1g2eszö2les3zsáesz3seesztö2et1abret1acéet1akóet1aldet1alfet1alje2tapret1aspet1ábre2t1áfet1ág_et1ágbet1ágget1ágnet1ágre2t1áhet1ájuet1állet1áreet1átlet1átset1átueteg1áete2góete1p2etero1et1ég_et1égbet1égget1égnet1ékíeté2saeté2soetés3set1évhet1évtet2heiet1ideet1idoe2tilletina1e2tinzet1izée2t1íge2t1íje2t1íne2t1ízet1k2r1etnolet1odaeton1net1opcet1opeet1ordet1oste2t1ouet1ökoet1ölée2t1öne2t1öse2t1ötetőe2letőé2bet1őrcet1őrket1őrlet1őrpe1trape1traue1tréfet3tadettai2et2tíret1trie2t1uget1unaet1undetu2szet1utáet1utóet1utue2t1úje2t1úte2t1üde2t1üge2t1üteu1k2heu2maleu2m1eeu2mimeu2miseu2móreum1p2eur1ázeu2ri_eu2rigeu2szíe2utaieu2tale2utaneu2taze2utáie2utárevé2láevé2röevé2soex1á2re2x1áte2x1ere2x1éke2x1éle2x1épex1időex1infex1izze2x1íje2x1íre2x1ob1expane2x1üge2x1üve2x1üzez1acée2z1afez1ajtez1arze2z1asez1autez1állezá2maez1árbez1árre2z1átez2dáleze2ráez1erőeze2tue2z1égezé2káe2z1élezé2ruezé2saez1impez1ináez1indez1infez1intez1ionez1i2rezi2taez1k2re2z1obez1oldezon3nez1opte2z1oxez1ó2tez1ö2bez1ö2vezőe2lez1őrlez1őrzez1p2r1ezrel1ezremez3sajez3sapez3sátez3sáve2z3séezsió2ez3sorez3s2pez3stre2z3süez1t2rez1u2rez1ú2te2z1üg1e2züse2z1ütéa2l1eé2b1agéb2b1áé2b1élé2b1épéb1isk1ébresé2b1ugéc1a2déc1a2kéc1a2léc1a2né2c1iléc1imaéc3sabécs1olé2c1ülé2d1abéd1akcéd1aktéd1alkéd1apaéd1aspéd1asséd1atté2d1ágé2d1ejé2d1epéd1erdé2dergé2derlé2ders1édesa1édesgé2d1égé2d1épédi2adédi2alédi2aréd1illéd1indéd1insé2d1íné2d1íré2d1opé2d1oréd1ottéd1ó2rédő1spéd2razéd1t2ré2d1udéd1uraé2d1újéd1ú2té2d1üdé2d1ügé2d1üté2d1üzéeszt2éf1ingé2f1isé2f1oség1ablég1abrég1a2dég1akaég1akkég1aknég1aljég1a2pég1autég1a2vé2g1álég1ártég1átáég1átfég1átjég1átmég1átség1áttég1átvég1d2rég1eceé2g1ejég1epiégeri2ég1erőég1evaég1evoé2g1exég1épíég1érlég1érmégért2é2géstég1g2lég1g2rég3gyo1égheségi2aségig1áé2gillég1inaég1infég1inség1iroégkia21égne_1égnék1égnén1égnété2g1obég1okiég1olaég1oldég1oliég1ollég1olté2g1opé2g1oség1otté2g1oxé2g1ócég1ó2rég1öröé2g1ösé2g1ötég1őriég1őröég1ősiég1s2t1égsz_é2g1udég1ú2té2g1üdé2g1üré2g1üsé2g1üté2g1üvé2g1üzé2g1űzé2gyálégye2mé2gyélé2gyiné2gyirégy1okégy1oségy1oté2gy1úé2gyüréh1alaéh1anyéh1arté2h1auéh1edééh1elééh1elféh1elhéh1elléh1eltéh1elvéh1evéé2h1exé2heze1éhezőé2hezüé2hezvéh1é2ké2h1épéh1érbé2h1icé2h1ifé2h1ipéh1iraéh1irtéh1itaé2h1izé2h1odéh1oldéh1ö2dé2h1ügé2h1üré2h1üté2h1űréi2vásé2j1abé2j1ápéj1elméj1embé2j1élé2j1ép1é2ji_é2j1ilé2j1iméj1i2né2j1ipé2j1izéj1ó2réj1u2réj1utaé2j1úré2j1űzék1ablék1ajték1aluék1ambék1angék1appék1arcék1arzék1azoé2k1álék1árbék1árhék1árrék1ásóék1ásvék1átéék1átté2k1ázék1egéék1elpék1engéke1p2é2k1exé2k1égék1éjsékés3sék1étvék1g2rék1idéék1idoék1igaék1igeék1ikrék1imiék1indék1ismé2k1írék2kálék1k2lék1k2ré1k2lué2k1obék1opcé2k1oué2k1oxé2k1ócék1ó2lé2k1óné2k1ömék1önté2k1ösék1ő2rék2rimék1s2rék1sz2ék1t2ré2k1udé2k1ugé2k1ujé2kunié2k1újék1úr_ék1úrné2kútvé2k1üdé2k1ügé2k1üré2k1üzék1űr_ék1űrbé2k1űzél1ablél1abrél1a2gél1akcél1aknél1akoél1amcél1andél1apóél1armél1aspél1assél1aszél1a2uél1azoél1ábrél1ár_él1árbél1árfél1árkél1árrél1árvél1átcél1áthél1átjél1átrél1átsél1áttél1átüél1átvélc3szél1d2rél1efféle2kóéle2kuél1elfé2lembé2lenjéle2tóéletö2é2l1exél1ékíél1épüélé2saélés3sél1évüél1f2lél1f2rél1g2réli2gáél1illél1imaél1imiél1impél1intél1invél1inzél1iroé2lismél1izgél1í2rél1í2vél1k2lél1k2rél3lyuél2mat1élméné2l1obé2l1olélos3sé2l1ócél1ó2nél1öc1él1ö2lél1őrüél1p2lél1p2rél1sztél1tráél1tréél1triél1tróé2l1udé2l1ugé2l1ujél1ultél1u2rél1utóé2l1újé2l1ügél1üllél1ülté2l1üré2l1üsé2l1üté2l1üvé2l1üzé2lyajély1auély1azélye2cé2lyefé2lyeré2lyélé2lyésély1f2ély1k2é2lyolé2ly1óé2lyösé2lyütém1abréma1d2émai2kém1ajtém1akkém1allém1almém1appém1arcém1arméma1spéma1trém1autém1álmém1áloé2m1ápém1árnémát1aém1b2lém1b2rém1elaém1elsém1ernéme2taéme2toé2m1exém1éksé2m1épém1érdé2m1ésémi2além1iksém1illém1indém1infém1iráém1irhém1iském1ismémi2szém1izoé2m1írém1í2vémo2neémon1némont2ém1o2pém1ostém1ó2lém1ó2rém1ö2lém1ő2rém1p2lém1p2rém1s2rém1s2tém1sz2ém1t2rém1unaé2m1úré2m1ügé2m1üré2m1üté2m1üvé2m1üzén1abbén1adáén1agáén1agrén1akcén1aktén1alkén1anaén1anoén1antén1arcéna1spén1atmé2n1aué2n1ágén1álaén1álcén1áldénás1sén1ásvén1átaén1átbén1áteén1átkén1átöén1áttén1átüén1d2ré2n1ef1énekjéne2kóén1elaén1elgén1elhén1eljén1ellén1elnén1elpén1elsén1eltén1elvén1emlén1eróéne2toé2n1exén1éjbén1ékbén1f2rén1g2rén1idoén1ikoén1illén1imién1inaén1indén1infén1inhén1intén1ismé2n1ívén1k2lén1krién3nyoé2n1olén1omlén1ondé2n1oré2n1oxén1ő2sén2sasén1s2pén1traén1tráén1tróé2n1üré2n1üsénye2cé2nyefényé2kényi2gé2nyizényí2ré2nyönény1örény1özény1trény1usé2nyújény1úté2nyüzén2zagén2zakén2zarén2zauén2zisén2zorén2zosén2zörén2z1őén2zsaén2zseén2zurép1adoép1alképa2nyép1apoépa1prép1arcép1aréép1assép1atlépau2sép1autép1ár_ép1árbép1árfép1áriép1átbép1átjép1átlép1átmép1átsép1átüép1átvép1elué2p1erépe2rőépe2szép1evaé2p1exé2p1égépé2saép1indép1ingép1iské2p1iz1építmé2p1ívépká2ré2p1okép1oldép1olvép1ormép1orsép1oszé2p1ócép1ó2rép1ö2zép1p2lép1p2ré1progép1s2nép1s2tép1t2rép1udvé2p1ujép1unoé2p1üdé2p1üg1épüleé2p1üré2p1üvé2p1üzér1ablér1absér1aggér1agyér1ajtér1aláér1algér1alkér1almér1alvér1ambér1ampér1aneér1aniér1antér1appér1aprér1arcér1aspér1assér1atkér1atlér1attér1atyér1ág_ér1ágbér1ággér1ágyér1á2pér1áráér1árkér1árpér1árrér1átcér1átéér1átfér1áthér1átjér1átlér1átmér1átrér1átúér1átüér1átvé2r1áz1érbánér2cajér2c3hér2cilér2cizér2c1oér2c1öér1draérdü2lér2d3zér1ebaér1efféreg1gére2goé2r1ejér1elrére2máé2remlére2sőére2táé2r1épér1évvérfiá2ér1f2rér1g2réri2alérié2nér1ifjé2rintér1invé2rinzér1iraér1ismé2r1íné2r1írér2janér1k2lér1k2rér1k2v1érméé1érméj1érmék1érmi_ér1ontér1opeér1ottér1oviér1óloér1óriér1ökoé2r1ömé2r1öné2r1öré2r1ösérő1f2ér1p2r1érsekér1s2kér1s2pér1s2rér1s2tér1szkér2tat1értőc1értőg1értőüér1tráér1tróér1ugaé2r1ujér1unaér1utaér1utáé2r1újér1ú2rér1ú2sé2r1üré2r1üsé2r1üté2r1üz1érvelér2vékér2vélés1ablés1agyés1ajtés1aklés1aknés1akoés1aktés1algés1alkés1allés1altés1alvé2s1amés1anaés1antés1apaés1aprés1araés1arcés1aréés1armés1arzés1aspés1assé2s1álés1ártés1átaés1áthés1átlés1d2ré2s1efés1elaés1eláés1elbés1elkés1eloés1elrés1elzés1erőé2s1evé2s1exés1égbé2s1épés1érbés1ércés1érrés1észé2s1icé2s1idés1igaés1igeés1impés1indés1infés1invés1iroé2s1ívés1k2ré1slágé2s1obés1okoés1okté2s1omé2s1opés1orgés1ornés1orvé2s1osé2s1otés1o2vés1ó2lés1ó2ré2s1öné2s1ösé2s1ötés1p2lés1p2rés2priés1s2kés1s2pés1s2tés3száés3szfés3sziés3szíés3szoés3szóés3szöés3szőés3sztés3szúés3szűés1traés1tráés1tréé1strués1u2ré2s1ügé2s1üré2s1üzé2szajésza2nésza2pé2szazé2szábészá2lés3zápé2szásé2szégé2szifész1ioé2szírész1k2észo2lé2szopé2szötész1p2ész3suész3sűés3zulész1uté2szüté2szűzét1adtét1aggéta1grétai2két1akcéta1krét1aktét1alsét1azoét1ábrét1árvét1átiéte2goéte2laéte2loétera2ét1ég_ét1égeét1égéét1égnét1égtét1iroétis3séti2szét1izéét1okmét1o2lé2tolaé2tolvét1omlé2t1opét1ordét1orgét1ormét1orsé2t1ócét1ón_ét1óráé2t1öné2t1ösét1ö2tét1ö2vét1őr_ét1őrbét1őriét1őrmét1őröét1őrüétpen1ét2réfét1t2rét1udvé2t1ugé2t1ujét1unaét1undét1ú2sé2t1ügé2t1üré2t1üté2t3ye1évad_év1adó1évadrév1agyév1ajáé2valáé2v1amév1arcév1avaév1áthév1átkév1ázá1évbeo1é2veiév1ela1évelfév1elné2velő1évesé1évesfév1eveév1égrév1égtév1ér_év1érrév1iga1é2vih1é2vik1é2vimév1ind1évine1évinéév1ingév1intév1ism1é2vivé2v1ír1évkösév1ó2rév1ö2r1é2vőd1évtő_év1ú2té2v1ügé2vük_é2vükbé2vükeé2vükhé2vükié2vükné2vükté2vüljé2v1üté2v1üzéz1a2déza2geéz1a2jéz1akréz1anyéz1a2réz1ásvéz1d2réz1eceéz2en_éz1enzéze2roéz1erőéz1eszéze2taé2z1exé2z1égé2z1ékéz1g2réz1idoéz1impéz1indéz1ingéz1ioné3zireé3zirőézis3séz1izméz1izoéz1í2jéz1í2véz1k2léz1k2réz1olaéz1oldé2z1oréz1oszé2z1oxéz1ö2kéz1ö2véz1őr_éz1p2réz3sajéz3saréz3sebéz3seréz3sikéz3sínéz3sodézs1óréz3spiéz3sugé2z3süéz1t2ré2z1üré2z1üsé2z1ütéz3zsafa2chifa1d2rfa1f2rfa1g2rfagyé2fa2győfa2j1öfaj1trfaju2rfa1k2lfa1k2rfa1k2vfala2nfa2lavfal1f2fa2lidfa2lorfa2lökfal1p2fa1p2lfa1p2rfa1s2kfa1s2pfa1stafa1stéfa1trifau2táfa2xinfá2c3hfá2gépfáj2láfánka2fán2káfán2töfá2ramf1á2ráfá2t1áfátmű1fba2l1fe1f2rfe2győfe2j1ofej1trfe2j1ufele2cfelé2dfe3libfel1p2fen2náfenne2fen1scfe2rakfere2gfe2semfé2kasfé2könfé2k1úfé2legféle2mfé2linfé2lirfé2livfé2losfé2l1öfé2lőrfé2mabfé2madfé2maufé2mazfé2merfé2mezfémé2rfé2mitfé2m1ofé2m1ufé2nyofé2nyöfé2nyú2féraá2féraf2férai2féral2férar2férád2féráé2férámfészá22f1évkfézs1offe3liffi2acffi2agffi2amffi2atfia2lafi2apafia2rafia2ráfi2aréfi2aváfi2avefi2c3hfi2danfi2d1áfi1dráfies1efi1k2lfi1kráfi1kréfi1krifi1k2vfi2lacfi2lalfi2lamfi2lárfi2lesfil2mufimeg1fi2n1ófin1trfió2köfi1p2lfi1p2rfi2rodfi1s2pfi1strfi2tágfitá2tfi2tikfi2tirfi2tönfi2úszfi2útif1í2rófír1trfjú1szfki2s1flo2néfo2gálfo2g1efo2gurfo2kalfok1k2fo2nakfona2nfon1drfo2negfo2nerfo2nékfon1f2fo2ninfo2nizfo2nő2fon1stfontó2fonya1fo2regfor1spfor2tüfoto1sfósza2fö3le_fö2livföl1k2fö2lönföl1trfön2n1fönne2fő1drafőé2tefő1f2rfői2tafő2remfőre2sfő2rülfő1stafő1strfő1szlfő1szpfő1sztfő1t2rfőzőé2frá2mafrá2máf2reskfré2ná1f2ricf3rich1f2risfta1krft1aljf2t1eff2t1ügfu2segfu2sisfu2szü2f1úrrfüle2cfü2lőtfül3t2fü2m1e2f1ünnfüstü22f1üzlfű1t2rfű2zis2g1abc2g1absg1adap2g1admga2dog2g1affga2ga_2g1aggg1agy_ga2gyu2g1ajk2g1ajtga2kác2g1akcg2a3ké2gakévg1aktuga2lat2galáf2galáíga2láv2g1alb2g1alc2g1alk3galopga2lul2galvó2g1amc2g1ampga2nab2gancsgan1d23g2anégan2gaga2nyöga2pa_ga2paága2pacga2pasga2pánga2pátga1p2lga2pokga2pó_ga2póbga2pókga2pónga2póv2g1appga1proga2réngar1k2ga2segga1sprga1stoga1strga2tavga2tepgaté2sga1thiga2timg1a2ukga2vanga2varga2vatgaza2nga2zál3g2azd3g2azega2zer2gazod2gazon2g1ábr3g2ácigá2csegá2csügá2disgá2d1ü2g1ág_gá2gakgá2gatgá2gaz2g1ágggála1p2g1álc3gális3g2álygá2malgá2nacgá2nalgá2napgá2násgán1d2gá2n1egá2niggá2nisgá2nolgán1trgá2n1úgá2nyögá2radgá2rargá2rasgá2rággá2re2gár1emgár1esgár1etgá2rifgá2ropgár1s2gár1tr2gáru_gá2rug2gárusgá2rúrgá2rútgá2salgá2sisgá2sorgás1trgá2sutgá2szígá2szü2gátadgá2tajgá2tálgá2tátgá2tengá2télgáté2r2gátfe2g1átggá2tilgá2tisgá2tizg1átmégá2tórg1átvig1á2vógá2zargázi2ggá2zimgáz3spgá2zsúgáz3sügáz3szgbé2lágd1ellgde1p2g1d2rágd1t2rg2d3zö3g2ecig1eddzge2dzege2dzége2dzige2dző2g1eff3gegomge2gyege2gyége2gyoge2hesge2het2g1ejtge2kéjge2kék2g1eks3g2el_g1eladge2lagge2lasge2lál3geld_ge2lefgele2nge2levge2lég3gelőö3gelőüg1elsőge2lülge2man2g1emlge2moc2g1empge2narge2nauge2nárge2nátgené2kgen1k2g1ennig1ennüge2nopgens3sgen1trg2enyeg1enyv2g1enzge2pedge2perge2pésge2posge2rabge2ralge2rauge2rábgerá2rge2rátg1erdege2regge2réjge2rélger2isge2rogge2rorge2rotge2rökg1erő_g1erőkg1erővger1őzge2rurge2s1ág2eseb2gesküg1esnig2est_g1esvég1eszlge2talget1apgeté2lge2tutge2vicge2volgezőa22g1ezrgé2ber2g1ébrgé2dikgé2dingé2dirgé2d1ogé2d3z2g1éhh2g1éhs2g1éj_2g1éjh2g1éjj2g1éjsgé2kei2g1éksgé2lálgé2lel2gélesgé2lén2g1élmgé2lyagé2lyágé2lyogé2lyúgé2m1ágé2melgé2mergé2mérgé2m1ogé2nabgé2naggé2nát3g2éndgé2neggé2n1ögé2nyogé2nyögé2nyú3gépelgé2pik3g2éppgé2p1ugé2raggé2rakgé2ralgé2rapgé2rargé2ras2g1érd2géret2géré_gé2riegé2risgérká22gérő_2gérők2gérte2gérté2gérthg1értig1értjg1értlg1értsg1értvgé2r1ú2gérvé2g1érz3gérzágé2sargé2seggé2simgé2s1ogé2szagé2szágé2szógé2tergé2tet2g1étk2g1étr2g1étt2g1év_2g1évb2géveigé2véb2g1évf2g1évj2g1évk2g1évn2g1évr2g1évs2g1évt2g1évvgé2zangé2zőrgéz3s2gfa2leg1f2rag1f2reg1f2rog1f2rögg1arcggés3sg2g1izgg1orvg3gyakg3gyapg3gyatg3gyárg3gyávg3gyepg3gyerg3gyilggy1olg3gyomg3gyorg4gyútg3gyürg2ham_g2hambg2hameg2hamhg2hammg2hamng2hamrg2hamtgia1b2gi2abagi2abági2abigi2abogi2afrgi2aimgi2alagi2alági2alégi2anógi2anygi2au2gi2dei2gidejgi2diógig1adgig1au2gigazgig1álgig1eggig1ehgige2rgig1etgig1éhgig1émgi2g1ögi2g1ugi2g1üg1i2gy2g1ihl2gijesgi2kergi2kesgi2ma_gi2mangi2máb2gimádgi2márgi2me_2g1impgi2nas2g1indg1innág1innig1innog1innu2g1inp3gintcg1inthg1intig1intjg1intsg1intug1intv2g1inv2g1inzgi2onegi2onogi2ókági2ó1pgi2órági2ótagi2ótá3g2ipsgi2ramgi2riggi2rod2g1irt2g1isk2g1isl2g1ism2g1ispgi2szugi2tas2gitác3g2iti3gitteg1ittug1i2vogi2zévgkis1sgkővá2gle2tá1g2losglőre2glő2rogmus3sgn1adagna2pe1g2náb1g2náh1g2náig2nán_g2nánág2nárag2nát_g2nátó1g2návgnes3sgneto1gnév1ag2n1isgn1oltgn1s2kgn1t2r2g1objgok1irgoklá22g1okmgo2lim3g2omb3g2ome2g1omlgonc3cgondi2gon2dógo2nolgo2nye2g1orc2gorie2g1ormgo2roz2gostog1ostygo2szógo2vácgó2c3hgó2divgó1drugó1f2rgó1krégó2largóle2lgó1p2lgó1p2rgó2rár3g2óro3g2ósagó1s2pgó1stágó1strgó1sz2gó2taugó1trégó1tri2góvod3g2ózá3g2ózi3g2ózo3g2ózu2g1öbl2g1ölbg1ö2le2g1ölr3g2ömbgömbe22g1ömlg1ö2ná3g2örb3g2örc3gördí3gördü3g2örg3g2örngö2rökg1ö2rü2g1ösz2g1ötlg1ö2veg1ö2vég1ö2vög1ö2vüg1ö2vűgői2tagőnyá22g1őr_g2őritgő2riz2g1őrj2g1őrlgő2rök2g1őrr2g1őrzgő2sibgő1spigő1stagő2zátgő2zeggő2z1ogőző2sgő2zsögpo2re1graffgrafo1gramu2gráfa2g2ránágrán1dg2ránigrá2rágris3sgrisü2gró2fú1g2rupgság1gg1s2tag1s2tig1s2tíg1strag1strug1s2túgsugá2g1sz2cgszé2tg1sz2fg1sz2kg1sz2lg1sz2pgtag1ggté2rágu2er2g1u2ga3g2uggg1u2go2g1ugr2g1ujj3g2urígu2sadgu2sasgu2satgu2sálgu2silgu2sisgu2s1ígu2solgu2sorgus3s2gussz2gu2szágus3zsgu2tacgu2takgu2talgu2tamgu2tangu2tasgu2tatgu2taz2g1utc2g1úr_2g1úrn2g1útb2g1útc2g1útd2g1útf2g1útg2g1úth2gútij2gútirgú2tis2gútiz2g1útj2g1útk2g1útl2g1útm2g1útn2g1útp2g1útr2g1úts2g1útv2g1útz2g1üldgü2lengü2lepgü2likgü2löm2g1ünn3g2ürc3g2üri2g1űr_2g1űrb2g1űrj2g1űrl2g1űrm2g1űrn2g1űrtgvás1sgvi2nagvó1s2gy1abl2gyag_2gyagbgya2ge2gyagg2gyagh2gyagk2gyagn2gyagt2gyappgy1apsgyard23gyari2gyarú2gyaty2gyazá2gyábr2gy1ággy1álcgy1állgy1álm2gy1áp2gyáre2gyárf2gyáta2gyátkgy1átl2gyátvgy1eml2gyenz2gyero2gyesg2gyezm2gyezs2gyébr2gy1ég2gyéhs2gyéjigy1élv2gyéni2gy1ép2gyér_gy1érg3gyérí2gyérn2gyérr2gyétk2gyév_2gyévb2gyévh2gyévi2gyévn2gyévr2gyévt2gyévü2gyévvgy1f2r2gyidé2gyidő2gyiga2gyigá2gyigmgy1iha2gyimá2gyind2gyinf2gyirá2gyirt2gyishgy1isk2gyism2gyivó2gyizg2gy1íg2gy1ívgy1k2rgyo2mi2gyopegy1orm2gyóri2gy1öbgy1ödé2gyött2gyötvgy1őregy1őrügypen1gy1s2tgy2surgy1t2r2gy1ud2gy1ug2gy1uj2gyund2gyuni2gyurá2gyuru2gyújí2gyújr2gyújs2gyúrb2gyúré2gyúri2gyúrk2gyúrrgy1úti2gy1üd3gyüle2gyünn2gyüre2gyürügy1üstgy1üve2gy1üzgza2tögzá2segzás3sha2bakha2bedha2bidhab1szhabu2rhada2sha2degha2demha2délhadia2hadié2hadi2nha2dorha2dosha2dúsha2dzaha1f2rha2jázhaj1k2ha1k2rha1k2vhala2nha2lebha2lechale2lha2lemha2lezha2lidha2liphali2shal3lyha2l1öhal1p2hame2lha2mezhan2chhange2hang3ghan2göha1p2rharc3cha2relha2ret3harmóha2sürha1szphat1trha2tülhá2júshá2m1áhá2nyöhár1k2hár2sehá2szőhá2tarhá2táphá2télhá2t1ühá2zajhá2z1íhá2zosház3seház3spház3stház3süház3szhá2z1ühecc3she2dénhe2e2she2f1ihe2gyáhe2gyóhe2győhe2gyú2heidphe2léghel2fr2hellá2h1emlhe2nyohe2rabhe2rauhere1pher1s2he2ruthe2s1ahe2s1á2heuszhe2véshe2z1áhé2nalhé2nanhé2narhé2náthé2nemhé2nidhé2nilhé2rarhé2rathé2rin2h1érzhé2száhé2talhé2tarhé2tálhé2tolhé2torhé2t1öhé2v1áhé2ve_hé2véghé2ziohé2ziphé2z3shi2ant3hinásh1ing_h1insp2h1ipshi2se_hit1akhita2l3hitel3hitethi2télhi2t1ohi2tülhí2g1ehí2merhí2r1ohí2r1uhkas3shle2tö2ho2eáho2lamhol2dáho2ligho2liphol1k2ho2lorho2lotholte2homo1sho2neg2ho1ryho2zálho2z1ehó2calhó2cathó2celhó2c3hhó2cimhó2c1öhó2csühó2demhó2d1éhó2d3zhó2nalhó2rárhő2sashő2sephő2seshő2simhő2sishős1trhő2suthő2s1úhru1s2hs1s2th2t1olh1trefhú2gyehú2gyihú2gyúhú2r1áhúr1trhú2salhú2sanhú2saphú2sarhú2simhú2sor2h1ünnh1ü2vöiaáta2i2abaji2aberi2abesi2aboni2abori2acetia2c3hia2cidiac3spiac3stiac3szia2dotia2dóei2a1fli2afriia1froia2gyui2ai2zia2jánia2kadi2akódi2akória1kríi2a1kvia3lania2lati2alegi2alibia2lomia2ludia2lusia2nekia2pátia1p2lia1p2sia2réni2a1shia1stiia1stoia1stri2aszúia1tréi2au2ria2vatiá2kabiá2kakiá2kebiá2kemiá2késiá2kiniá2kiriá2kitiá2kopiá2k1öiá2kuriá2k1üiá2láliá2limiá2lopiá2nariá2nemiá2niriá2nisián1triá2nyöiá2radiá2rakiá2ramiá2rimiár1s2iá3runiá2saliá2sariá2sásiá2soriás1triásví2iás3zsiba1d2ica1f2ica1g2ica1klica1prica1t2icca2lic2canic2c3hic2cinic2ciric2c1oic2c1öic3ha_ic3hekic3hozi2c3hűi1c2lui2c1olics1ágicse2tics1útic3szeid1anai2d1auid1állid1áruide2av1i2dejid1eljid1elmid1eloid1eltide1p2i2deroide3sai2dény2idész1i2dézidi2as1i2dilidi2osidi2ódid1old1idomú1i2dő_1i2dőb1i2dőd1i2dőé1i2dőh1i2dői1i2dők1i2dőmi2dőnei2dőnéi2dőnk1i2dőp1i2dőr1i2dős1i2dőt1i2dővid2róti1d2ruid1t2rid1u2ti2d1üzi2d3zái2d3zei2d3zóie2f1iie2lőaien2sáiens3sie2ragie2ralie2ramie2rasie2r1áier1d2ie2regie2roriersz2ier1trie2r1úie2selie2semie2sésie2sikié2hesié2reki2érenié2rezié2rő_ié2rőkié2rőti2észiiéta1sié2telié2ve_ié2vekifa1stifa1t21ifjú_1ifjúb1ifjúé1ifjúi1ifjún1ifjúr1ifjús1ifjút1ifjúvi1f2laifogo2ifon1ni1f2rii1f2roi1f2röif2t1aif2tinig1alsig1alvig1andiga1sligau2r1igazíig1álmig1áshi3gászig1d2rig1edzige1klig1ellig1elmige2ráig1erőig1esiig1evii2g1ex1i2gédig1é2gig1élvigé2naigé2nái3gépeig1épíig1ér_ig1érjig1érlig1érnig1érvig1ész1i2géüig1g2rig2lacig2nadigne2rig1o2sig1ö2kig1ö2zig1ü2gi2gya_i2gyami2gyáki2gyáliha2reii2ramii2rat1i2jed1i2jesik1ajtik1angika1spikás1sik1ebéi2k1egik1eloik1engiker1sike2ruik1evoi2k1idik1ikrik1indik1insik1iskikka2lik2kázik2kevik2kinik2k1óik2kötik2küzik2lerik2lori1klubik2lumi1knédikoma21ikrei1ikrekik2rémi1k2ruiksz2tik1udvik1ü2vil1abril1aldil1ambilág3gilá2göil1áruilá2szil1átfil1átmil1átrilc3szil1expilé1spil1f2lil1g2ril1ideil1illil1impilin1nil1iróil1k2lil1k2rillé2tillig2il2l1öilme2gilmé2lil2midil2mimil2miril2mizil2molilo1g2i2l1oriló1tril1p2lil1p2ril1s2tilumi2ilus3si2l1ügi2l1üzima1glim1akk2imar_1i2mádi2máktimeg1gime2raim1inhi2m1om1imreii2m1üriműt2rin1adei2nadoin1ajti2nakki2nakni2naktin1aldin1allin1anai2n1ágin1árhi2náruin2calinca2nin2chiin2c1öin2csú1indaiin2deb1indexin2dés1indiv1indítin2dösin1dra1induli2n1efineg1gine2kuin1emui2n1exin1épíi2nérdiné2táiné2te1infek1ingec1ingeiin1gloin2gor1ingujin1ind2iningi2n1ízin2kioin2kös1inkub1inna_in2nori2n1obin1orgi2n1oxin1ódainó2rái2n1ölin1s2kin1s2m1inspiin1spr1instain1thuin2tidin2túsi2n1ugi2n1ujin1ú2sin1ültin1ünn1invenio1b2rio1d2riol1k2io2mario2milio2nadio2nakio2negio2nenionim1io2ninion1k2io2nopion1stio1p2rio2r1ai2óbesi2ó1bli3ócskió1drái2óév_i2ó1flió1g2rió2kadió2kajió2kálió2küzió1p2sió2rabi2óragi2óraki2órani2órapió2rasi2órádi2óriaió2selió2si_ió1sláió1strió1sz2i2óvári2óvási2ózáriő2ri2i2ő1st1iparb1iparripánk2ipán1nip1átmi2p1efi2p1evipo1klip1ö2lip2pajip2parip2pári1profi1progi1projip2ropi2p1ugiralo2irág1girá2göirin2ciri2zoirka1siro2kairo2káiros3siró2kei2rónoir2silir2s1üir2tizir2türis1ajais1ajkis1alfis1alkis1almis1ambis1apáis1apois1assis1autis1állis1átkis1átvis1edzis1effis1elfis1elmis1engis1erőis1eséis1élvis1évhisföl2is2hinis2hisis1idois1igais1indis1infis1intis1invi2sipais1irois1itais1k2ris2lag1isme_1ismeki2s1obis1orvis1oszi2s1öbis1ördis1öreis1ö2vis1ő2ris1s2pis1stais1stáis3szíis3szóis3szöis3szőis3szúis3szűista1s1istápis1tréis1triis1troi2s1udis1ujjis1utais1utái2s1úji2s1ügis1üsti2s1üzi1svinisvíz1i2széjisz1klisz1ölisz1ösi2szütita1d2i2talbitalé2i2talhi2talji2talki2taloi2taluit1anóit1anti2t1auit1ág_itána2itáró2itá2rúit1átfite2loit1ezrit1élmi2t1idit1ikrit1illit1impit1iróit1iski2t1ígi2t1ízit1obe2itoszi2t1ovitó1f2itó1p2it1óráitó1spitó1stit1önti2t1ösit1őrl1ittad1ittamit1trait1tró1ittuk1ittunitty1ii2t1ugi2t1ügit1üldit1üsti2t1üti1t2zéi1t2ziiu2mabiu2maciu2mafiu2maliu2maziu2megiu2meriu2meziu2méliu2molium1p2i2ú1bri2ú1kli2ú1spiva2reiva2róivar1si2x1abi2x1adi2x1ani2x1ari2x1ági2x1efi2x1egi2x1exi2x1épi2x1imi2x1ini2x1ioi2x1iri2x1isi2x1obi2x1opi2x1úji2x1üliz1akniz1alkiza1spiz1egyizen3ni2z1evi2z1ég1i2zéj1i2zék1izgaliz1infiz1intiz1iro1izmok1izmukiz1okt1izomé1izomf1izoms1izomzizo1p21izotóiz1órái2zseci2zsevizsé2ti2zsili2zsiziz3sori2zs1őiz3striz3szeiz1udvizura1iz1ú2ti2z1üt1izzotíba2l1íd1a2cíd1a2díd1a2líd1a2níd1a2víd1a2zíd1á2ríd1e2gíd1e2líd1e2mí2d1élí2d1épí2d1iní2d1olí2d1omí2d1osíd1ő2rí2d1udí2d1ugíg1e2pí2g2érí2g1opíj1any1í2jásíj1e2gíj1e2líjel2iíj1e2míj1e2ríj1e2sí2j1imí2j1iríjirá2í2j1okí2j1olí2j1osí2j1otíj1ö2víj1st2í2j1ugí2j1útíj1ü2tí2k1aník1aszík1a2ví2k1ábí2k1ágí2k1egí2k1esík1k2rí1k2luík1ollí2k1opík1sz2í2k1ugí2kuniík1ü2víl1a2kíl1a2lílási2ílás3sí2l1átíl1e2gíli2así2l1isíl1í2ríl1í2víl1ö2zíl2t1eílu2seílus3símás1sím1b2rím1elíí2m1épí2m1isím1o2pím1ö2lím1ő2rím1p2rím1u2rím1u2tí2m1ügí2m1ütí2n1abín1adaín1adáín1adoín1aljín1alkín1anaín1assín1atlín1attí2n1auí2n1azín1ábrí2n1ágín1átcín1áteín1átfín1áthín1átlín1átmín1áttín1átvín1d2rí2n1efí2nesdín1éléín1élőín1éltí2nérdín1f2rín1g2rín1ind1í2nioín1k2lín1k2rín1k2vín3nyúí2n1obí2n1olí2n1opí2n1orín1ó2lín1ö2vín1ö2zín1s2kín1s2pín1sz2ín1t2rí2n1üdíny1elí2p1élípés3sí2p1ujípus3sípus3zír1akcír1aknír1aktír1aljír1alkíra1plíra1prír1arcír1ár_írá2seírás3sí2rászír1átsír1átvír1ázaír1d2rírel1aír1emlír1emuír1eneí2r1eví2r1éjí2r1épí2r1ésír1évhír1f2rír1g2rír1ikoí2r1imír1indír1insír1iraír1í2zír1k2lír1k2r1írnokí2ródjí2ródoí2ródóí2ródtíró1p2író1szíró1trí2r1ösír1ő2sír1p2lír1p2rír1s2kír1s2pír1s2rír1s2tírszt2írtha2ír1troírus3sí2r1újí2r1úrír1ü2ví2r1üzír1ű2zísz1ajísza2kísz1asísz1atísz1auí2szégísz1g2í2szírísz1k2ísz1ölísz1önísz1p2ísz1trí2sz1uí2sz1úíszü2lí2szütíta3u21í2télíté2saító1p2ító1spító1trítus3sív1ajkív1ajtív1angív1arcív1ábrí2v1álí2váruívás3sív1átaí2v1ejí2velgív1ereív1eréív1erőív1éltí2v1épív1ikeí2v1imí2v1inív1iroívis1sív1ivaí2v1olí2v1opí2v1orí2v1oxí2v1öbí2v1ösív1szkí2v1ugív1ultí2v1urí2v1ügí2v1ürí2v1ütí2v1üzíz1a2díz1a2gíz1a2kíz1a2líz1a2uíz1á2gíz1á2píz1á2rízás1síz1á2tízát1áíz1d2rí2z1efí2z1ejí3zeláíze2löíze2lőí2zeméí2z1euí2z1exí2z1égíz1ékkízé2saíz1észíz1éviíz1iccíz1ikoí2zimáíz1iráízi2soíz1í2víz1k2ríz1ö2líz1ö2vízpen1íz1p2rí2zsa2ízs1alízs1asízs1auízsá2ríz3sávíz3sebízse2sízs1okíz3soríz3strí2z3suíz1t2rí2z1ugí2z1ujízu2meíz1undí2z1utíz1ú2tí2züleí2z1ürí2z1üsí2z1ütí2z1üv1í2zűrj1a2cé2j1admja2dóhja2dósja2dótja2dóvja2dózja2dusja1f2rja2ga_2j1agg2jakadja2kesjak1k2jako2vja2kók2j1alg2j1alk2j1all2j1almjam2be2jambuja2mes2jana_ja2nalja2natja2nyaja2ran2j1arcja2rom2j1atkja2uto2javatja2zon2j1ábr2j1ág_2j1ágb2j1ágf2j1ágg2j1ágk2j1ágr2j1álljá2n1ejá2nékjá2rarjá2resjá2rér2járusj1árut2j1árzjá2saljá2sanjá2sásjá2sitjá2s1íjásze22j1átmjba2l1j1d2ráj1d2roj1d2ruje1f2r2jegedje2gésje2győje2gyuj1ekcéje1krije2lajje2larje2lavje2lazje2lágje2lálje2lázje2légje2lélje2limje2lőaje2lőíjel1p2je2n1ájen1d2je2nerjene2sje2n1oje2n1üje1p2r2j1erdje2redje2s1aje1staje1strje2tálje2t1oje1traje2tunje2tut2j1ébrjé2gecjé2gedjé2getjé2gépjé2gésjé2gimjé2g1o2jé2gő2j1éhs2j1éltjé2nadjé2nil2j1ér_2j1érb2j1érdjé2reg2j1érh2j1érk2j1érl2j1érm2j1érn2j1érr2j1érv2j1érzjé2tel2j1étk2j1étt2j1év_2j1évbjé2ve_jé2vénjé2vérjé2vétj1é2vi2j1évn2j1évrjfu2naj1g2lej1g2lój1i2dő2j1ikr2j1illji2náb2j1ind2j1inf2j1ing2j1inj2j1ins2j1irr2j1irt2j1isk2j1ism2j1istjj1e2rj2j1imj2j1izj2j1olj2j1osjka1prjk1ardj2k1idj1k2lij1k2lojk1óráj1k2réj1k2rij1k2ríj1k2vój2l1arjlás3sjl1átnjl1eléjl1elljl1elnjl1ikojl1objj2l1oljlo2nij2l1ösjl1t2rjm1okájnév1ajn1ingjn1ü2gjo2galjo2g1íjo2gur2j1oksjo2lajjo2limjo2marjo2m1ájo2mévjom1f2jo2mijjom1p2jonc1cjon2ch2j1ond2j1oszjó1b2rjó2dadjó2dakjóda2tjó2deljó2digjó2dizjó2dórjó2d3zjó1kro2j1ónnjó1p2rjó2rákjó2saljó2sasjó2sáljó2segjó2semjó2sénjó2sipjó2sisjó1t2r2j1önt2j1öv_2jöve_2j1őrtjra3d2jra1p2jra1s2jsa2vojság1gj1s2taj1s2tíj1s2toj1s2tújt1aknjt1alkjta1p2jta1spj2t1ácjt1ágajt1evojt1élmjtés3sj2timájt1infjt1intj2t1irjt1isijt1oszjtó1p2jtó1szjtó1trjt1ödéjt1öngjt1össjt2rófjt1t2rjt1utáj2t1újj2t1ügj2t1ütju2hadju2halju2hatju2hálju2hor2juralju2takjú1p2rjú1s2pjú1s2tjú2szójú1szv2j1útbjú2ton2j1útvj1ü2lőj1ü2tőjz1ajtjz1akcj2z1arj2z1asj2z1álj2z1emjz1eréj2z1esj2z1élj2zilljz1k2ljz1k2rj2z1objzó1s2j2z1ösj2z1ötjz1p2rjz3sabj2zsenjz3sínjz3sorj2zs1őjz3szajz3szájz3szej2z1utjz1ü2gkaáta2ka1bre2k1abska2c3hk1adap2kadálka2dóika2dójka2dóuka2dózka1f2rka2gan2k1aggka1g2rka2gyu2k1ajkka2kác2k1akcka1k2lka2kó_ka1kri2k1alb2k1alf2kalkokana2gka2nimka2nioka2nolka2nód2kanteka2nyóka2óhaka2ókoka2ókr2kapádkara2ska2raukar2dzka2relka2revka2rélka2ridkari2zka2rorka2sagka2sálka2sidkasi2pka2sizka1strka2sürka2télka2tyákau2ta2k1ábrká2cakká2cseká2csöká2csőká2dabká2darká2dátká2dilká2d1öká2d3z2k1ág_2k1ágbk1á2gé2k1ágg2k1ágh2k1ágk2k1ágn2k1ágr2k1ágs2k1ágtká2lág2kálái2kálák2kálán2káláv2káláz2k1álck1áldoká2lénkállé2ká2nemká2nyöká2rarká2raská2razkár1d2k1árkákár1s2kár1trká2ruhká2simká2siská2sírkás1trká2sutká2szeká2széká2tabká2tajká2talká2tarká2tauká2tégk1átfoká2tipká2tisk1átlóká2tórká2t1ök1átvákba2l1kdi2alkeá2t12k1eb_ke2beike2bekke2béd2k1effke1f2r2kegyb2kegynke2gyö2kegyr2kegyske2gyu2kegyüke1k2l2k1ekv2keleykel1idkel2igke2liok1ellákelőé2k1elra2keltű2kelülke2lűr2kelvik1elvk2k1elz2k1emlke2nalke2niske2n1okens3skensz2ke2pikke2ralke2rapke2rauke2rás2kerde2kerdőke2régke2rimke2rioker1k2ke2rorke2ródke2rőeke2rőoker1spker1stkersz2ke2rútkerü2gke2sis2kesküke1stake2tálke2tidke2tűdke2vidkezőa2kezőe22k1ezr2k1ébr2k1éhské2jut2kékemké2kénké2lel2kéles2k1élmké2lőd2k1élrké2lyaké2madké2mapké2m1áké2minké2miské2nanké2nigké2nilké2nyúké2p1áképá2rké2pegképe2rké2pimké2p1oké2p1öké2rabké2ralké2ramké2rarké2ratkér1drké2r1úké2sanké2s1oké2sütké2szoké2szökészt2ké2szuké2tálké2tolké2t1öké2tud2k1év_2k1évb2kévei2kévet2k1évf2k1évhké2vig2k1évk2k1évn2k1évr2k1évs2k1évt2k1évvké2z1aké2zegkéze2mké2z1okéz3stké2zsu1k2hiakhiá2bkia2lákia2rakia2szki1b2lki1b2r2kidej2kidézki2dio2kidőb2kidők2kidőm2kidőtki1dró2k1ifjki1f2rki2ga_ki2gátki2génki2gézki1g2rki1k2lki1k2vki2lyeki2makki2máb2kimádki2máiki2májki2mákki2mán2kimárki2mátki2mávki2mit2k1imp2k1inf2k1inj2kiparki1pleki1p2r2k1ips2k1irh2k1irk2kirom2k1irr2k1irtki2sadki2salki2sapki2saski2sálki2si_ki2sörkis1plkis3szki1stíki1strki1stuki1t2rkivíz1k1így_kí2nalkí2n1ekí2nélkítőa2kítőe22k1ív_2k1ívbkk1ablkk1ajtk2kalákk1árfkk1átukk1emukke2rakk1erdkke2rók2k1égk2killkk1indkk1ismk2k1ízk1k2líkk2ló_k1k2lukkó1p2kk1ölőkk1ötlkk1őrskk1őrükk2riskk2ritkk1t2rkk1udvkk1urtk2k1újk2k1ügkk1üzlkla3kokláma2k2linik2lisékli2só1k2límk2lopfk2lotyklu2báklu2seklus3skna1krkni2a2knika2knőc1ckn2ő3r2k1obsko2choko2kád2koke22k1okl2k1okmko2lidko2milko2naj2konbákonc1ckoncé2kon2chko2n1e2konén2konguko2nir2konogko2nor2konpa2konpr2kontöko2nyeko2nyó2konzsko1pro2koptiko2ragkord1dko2regkor1f22korieko2rón2korrkkor1s2ko2sálko2szík2oszoko2szóko2vié2kozóökó2cemkó2dakkó2dazkó2demkó2dinkó2dzákó1f2rkó1krékó2nétkó2pankó2pirkó2raskó2rábkó2rádkó2rágkó2ráikó2rámkó2ránkó2rárkó2rátkó2rávkó2relkóre2skó2réj2kóródkó1slákó1spikó1strkö2delkö2derkö2devkö2lőekölta22k1öngk1önték1öntők1öntvk1ördökö2redkö2rékkör1f2kö2rikkör1p2kör1s2kör1tr2körv_2körvb2körvh2körvn2körvr2körvt2körvü2körvű2körvvk1öszt2kötlék1ötvö2k1öv_2k1övb2k1övh2k1övr2k1övvkö2zenkö2z1íközőe2kö2z3skő1drakőé2nekő1f2rkőr1ankőre2skő2rilkő2ripkő2rivkőr1s2kő2rül2k1őrzkő1s2kkő1s2tkpára2k2rachk2rakkk2repákré3p2kro1g2kro2nákro1p2k2rómoks1elok1s2kák1s2lak1s2nik1s2tak1s2ták1s2tík1st2rk1s2tuk1s2túkszae2k2szevkszi2pk2szírk2szutk2szütkt1ajákta1p2kt1azokt1ábrkté2lők2t1idkt1illkt1imak2t1ígkt1opek2t1ösk2t1ötk1trauk1tréfkt1t2rk2t1üt2k1uccku1f2r2k1ugrku2gya2kujjb2kujjg2kujjh2kujji2kujjk2kujjn2kujjp2kujjr2kujjs2kujjt2kujju2kujjúkula1kku2malku2nadku2nalku2nor2k1up_ku2radku2rak2kuralku2ramku2ráu2k1urnku2rolku2salku2sasku2sálku2sisku2s1úku2szüku2tál2k1utcku2tóp2k1újskú2p1ákú2p1ekú2t1ekútfé2kú2toskú2t1ő2kú2tu2küreg2k1üstkü2szákü2szí2k1ütk2k1űrh2k1űrm1k2vank2varckvé2sokvés3s1k2vink2vótak2vótáky1i2sky1i2vkyk2nelaáta22labár2l1absla2cemla2chélac3sz2l1adlla1dy2la2gacla2gaula2gavla2gágla2gésla2gidla2gimla2gisla2gócla2gönla2g1üla2gyúla2irela2jagla2japla2jásla2jenla2jin2lajozlaj1szla2kad2lakcila1klula2kob2lakózla2kuj2lakús2lakúv2lakza2laláí2l1alb2l1alc2l1alf2laljnlal2telame2gla2mékla2m1ülana2gla2nalla2namla2narla2nerla2neslang3gla2nilla2nipla2nislan1krla2nyóla2nyüla2pazla2pábla2pákla2pánla2pemla2pikla2pó_la2póbla2pónla2pór2laprílap1s22lapún2lapúvla2ra_la2ran2l1arclarc3c2l1art2l1arzlasz3sla2taula2tazla2teplate2slat1k2la2toj2lattvla2tutla2tüllatű2zla2tyála2utola2vatla1yig2layrőlazma12lazmálá2barlá2bál2lábrálácsé2lá2csíláda1slá2detlá2dimlá2d1ólá2düllá2gablá2gaclá2ganlá2gaslága2tlá2gállá2gámlá2géplá2gidlá2gim2lágyá2lágyolá2haslá2ladlála2nlá2laulá2lellá2léllá2limlám1b2lá2meslá2méklá2nallá2narlá2nárlánc3clá2nemlá2néplá2nillá3noklá2nollán1splán1szlán1trlá2nyólá2nyölá2pétlá2rad2lárenlá2reslár1s2lár1tr2láru_lá2rug2lárus2láruvlá2rúalá2sallá2sazlá2sírlás1órlá2sutlászö2lász3slá2szülá2taj2látkölá1tril1átúsl1átvilá2vizlá2zsóláz3szl2b1islc1ajtlc1alkl2c1ágl2c1állc3csilc3csolc3csölc1elrlc1eszl2c1éplc1évilc1k2rl1c2lulc1ó2rlcsa2rl2csazlcs1ágl2cseclcse2tl2cséllcs1k2lc3strlc3suglc3szolc3szól2c1ujld1ablld1abrldalt2ld1apóld1állld1álmld1árnldás3sld1egylde1p2ld1epel2d1exld1élml2d1épld1indld1ipal2d1ínl2d1írl2d1ízld1omlld1orcld1orgl2d1öbl2d1övld1őrild1őskld2rótld1udvld1uraldus3sl2d1újl2d1úrl2d1ügl2d1ürl2d1üzl2d1űrlea2bále2arélea2szle2binle1blale1bral1eddile1dro2l1eftlega2rle3geblegé2dlegé2lle3génle2gidle2góvlegyá22legyble3gyi2legyíle3gyo2legysle3gyúle3gyűlei2rálej2tale2kadleká2ple2kijle2kizle1klile2küdl1eldo2lelégl1elhole2limle2lőíl1elsol1elsöl1eltöl1elvn2l1elzle2mokle2molle2möllem1p2le2nalle2nátlenc1cle2nerlené2klené2lle2nidle2nolle2olilepa2ple2pékle2péllep1izle1prole1pró2lerdőle2rir2lerózl1esdéle1ski2lesküle1slale1sma2lestrl1esttle2tacleté2lle2tidle2timle2todletü2lle2zerlezőa22l1ezr2l1ébrlé2c3hlé2cimléc3sklé2déllé2dillé2doslé2dotlé1f2rlé2gal2légedlé2gillé2g1ö2lé2gőlé2gyilé2gyolé2gyölé2hed2léhes2léhetlé2h1élé2hol2l1éj_2l1éjj2l1éjslé2kabléka2pléka2tlé2kazléké2llé2kidlé2kítlé2körlé2közlékü2llé2léblé2lénlé2lér2l1élm2l1élrlé2lüklé2naglé2neglé2nel2lénkílé2nyö2lépüllé3radlé2rallé2raplé2raslé2ratlé2ravlé2r1álé2reglé2rislé2ritlé2rődlé2rőilé2rőnlé2rutlé2saklé2sallé2sarlé2seglé2séslé2s1őlésü2llé2taglé2tazlé2tevlé2tít3l2étólé2tóhlé3tóllé2tun2l1évb2lévei2lévén2l1évf2l1évhlé2virlé2vis2l1évk2l1évl2l1évm2l1évn2l1évr2l1évs2l1évtlé2vüklé2vün2l1évv2l1évzlfa1trlf1autlf1eself1etilfin3nlf1irolf1iskl1f2ríl1f2rolf1sz2lf1ülőlga1p2lgés3slgi2asl1g2ral2gyajl2gyábl2gyáll2gyátl2gyéll2gyidl2gyipl2gyisl2gyopli2abili2abolia2céli2acili2acsli2aculi2aidli2alali2aleli2alili2améli2amoli2arali2aréli2asáli2asolia1szlic3szli2deáli2dénli2détlié2véli1f2rli2ge_li2gébli2géhli2géili2géjli2gékli2génli2gérli2gésli2gétli2gévli2gézli2hat2l1ihlli1k2lli1kré2lima_2limádli2mákli2mávl1imboli2me_lim1p22limpoli2nalli2ne_li2neglinék2lin1kllin3nyli2norli2onili2ókeli2pa_li2paili2pátli2pegli1pro2l1irhli2rigli2rod2l1irr2l1irtli2sállise2sli2sidlis1p2li2tezli2tilli2tönli2votl1i2vól1izéll1izgu2lizzí2l1ínsl1í2nylí2rodlí2roglí2roklí2roml1í2rulítőa2lívak22l1íz_2l1ízll1í2zűl2j1erljes1sl2j1ipl2j1irl2j1izl2j1orl2j1oslka1sllkia2kl1k2lul1k2rálk2reál1k2ril1k2rílk2roml1k2rólla1f2llag3gllára2llá2süll1d2rll1efflleg1glle2mulle2nallen3nllens2l2l1exlléká2llé2kóllé1spllét2oll1f2lll1g2rll1idell1illl2lismlli2tal2l1ígl2l1íjll1k2lll1k2rl2l1oáll1objll1opellos3slló1grl2lóvol2l1öbl2l1ölll1öntl2l1örll1össll1öszll1p2lll1p2rll2si_ll1sztll1tréll1trill1tról2l1ugll1ultllus1sl2l1úsl2l1üdl2l1ügl2l1ürl2l1ütl2l1üzl2l1űzlm1álmlm1álolm1átklm1áttlm1b2rlme1kllm1elblm1elmlm1epil2m1exl2m1égl2m1éplm1irálm1irolm1isklm1izzlm1oldlm1olvlm1orsl2m1ovlm1ö2klm1ö2rlm1ö2zlm1ő2rlm1p2llm1p2rlm1sz2lm1t2rlm1utól2m1újl2m1ügl2m1üzlni2s12lo2belo2gallo2gerlo2g1úlo2kablo2káulo2kéklo2kidlok1islo2korlo2laj2l1oldlo2mazlo2máglo2medlo2meglo2menlo2médlo2méklo2méllomi2slo2mizl1omlólo2mollo2nablo2najlo2naklon2chlon1k2lo2nollon1s2lon1trlo2paplop1állo2pizlop1t2lore2t2l1org2l1orm2l1ors2l1orv2l1orz2lottlló2cemló1droló1gráló1k2lló1kréló2narló1p2lló1p2rló2raclóra2nló2rar2lórái2lóráj2lórár2lórátló2remlósa2nló1skiló1slaló1speló1strló1treló1tréló1triló1tro2lóvodl1ó2vóló2zadló2zallóza2nló2zálló2zimló2z1űl1öldölöl2tálöl2tol1öltő2l1ömllö2möllö2n1olö2pöllö2sze2l1ötl2l1ötv2l1öv_2l1övb2l1övh2l1övn2l1övr2l1övvlő2dad2lőde_2lődeilő2dellő2din2lőesélő1f2rlői2ta2lőny_2lőnyb2lőnyh2lőnyk2lőnyn2lőnyö2lőnyr2lőnyt2lőnyü2lőpán2lőreh2lőrejlőre3m2lőret2lőréblő2rül2l1őrzlő2sállő2sinlő1skálő1slalő2sórlő1sprlő1srálő1strlő1szflő1sztlő1tre2lővig2lőziél2p1eglpen1nl2p1églp1izml2p1ívl1p2lálpon1álp1p2rl1p2ril1p2rolre1szlság3glsóé2rl1s2pal1s2pel1s2pél1s2pil1s2pol1s2pól1sp2rl1s2rál1s2ról1s2talste2il1s2til1s2tíl1s2tol1st2rl1s2tul1s2túl1sz2fl1sz2ll1sz2plsz2tál1sztrl1sz2vlt1ajáltal1llta2lölt1arált1azolt1ág_lt1ágblt1ágglt1ágnlt1ágrltána2l2terult1élelt1élmlt1érclté2saltés3slt1idelti1kllt1implt1isml2t1ínlt1orsltos3sltó1szlt1öntlt1össltőe2lltra1slt2ráglt2rénlt2riklt2rillt2róflt2róplt1t2rlt1uraltú2ril2t1üglt1üstlu2balluba2nlu2bárlube2rlu2beslu2béllu2bórlub1t2lu2esélu2gatlu1g2l2l1ugr2l1ujjlu2madlu2mazlu2mállu2merlu2mesl1u2nol1u2nólu2raklu2ramlu2ratlu2sadlu2sallu2sállu2simlu2sislu2sírlu2sör2l1utclu1t2hlu2tódlu1tralú2d1alú2détlú2d3zlú2g1álú2gol2l1újdlú2té_2l1útvl1üldölü2lell1üleplül1ér2lültél1ültn2l1ünn2l1űrbl2v1áplvás3slv1átalv1áthlv1átkl2v1exl2v1éplv1ikolvíze2l2v1okl2v1opl2v1orl2v1oslv1ödél2v1önl2v1ösl2v1övlv1ő2rl2v1utl2v1ügl2v1üt2lyajtly1akc2lyaktly1alt2lyang2lyani2lyaty2lyazo2lyábé2lyábr2ly1ágly1áldly1áll2ly1áply1árklyás3slyá2sz2lyáta2lyátf2lyáth2lyátm2lyáts2lyátt2lyátvlye2galy1elfly1elhly1ellly1elmly1elrly1elsly1eltly1elüly1elvly1elzly1erk2lyevő2ly1ex2ly1égly1élely1élm2ly1éply1ész2lyév_2lyévi2lyévr2lyévv2lyibo2lyidi2lyidőlyié2h2lyiga2lyigály1ima2lyimá2lyimp2lyind2lyinf2lyinv2lyirá2lyiri2lyirr2lyirt2lyism2lyisp2lyist2ly1íg2ly1ínly2kizly1kró2ly1ob2lyodú2ly1of2lyokmly1olaly1oldly1ollly1oltly1olv2ly1oply1ódá2ly1öbly1öss2ly1övly1ő2rlyre1ply2tacly1t2r2ly1ud2lyugr2ly1uh2ly1uj2lyuni2lyújs2lyúth2lyútr2lyútt2lyútv2ly1üd2ly1üg2lyünn2ly1ür2ly1üzlzás1slze2talzé2salzus3sma1bra2m1abs2madagma2dózma1frima2gacmaga2lmaga2rma2gágma2gebma2gidma2g1íma2il_ma2iltmaj2tima2kác2m1akc2makkrma1klu2makrom1aktima2kus2malag2m1alb2m1alc2m1aldm1algo2m1alj2m1alkmal1osmal1th2m1ampma2natma2pa_ma2pasma1p2l2m1aps2m1arbmarók22m1arzma1sprma1stema1strma2tazma2tágmate2sma2télmatfé2ma2tidma2tyámau2rama2urimau2tama2zálma2zel2m1ábrmá2csómá2csü2m1ág_2m1ágb2m1ággmá2gi_2m1ágkm1ágna2m1ágrmá2gukmá2gunmá2janmá2karmá2kilmá2k1ómá2k1ümá2lál2m1álcmá2losmá2navmá2nármánc1cmán2cemá2n1emá2nismáns3smántá2má2nyö2márammá2rasmá2re2már1emmá2rés2márolmá2rugmá2rukm1árurmá2salmá2sapmá2sazmá2sásmá2sírmá2sormás1tr2m1átc2m1átdmá2ten2m1átf2m1átg2m1áth2m1átn2m1átp2m1áts2m1átvmá2zalmázi2amázi2émázs1emáz3szmb1akcmb1akvmbe1k2mb1elrmb1epembe2rámbert2m2b1épmbi2kemb1indmb1invm2b1ívm1b2lúm2b1obmb1ondm2b1opmb1ölem2b1övmb2revmb2rokmb2ronmb1st2m2b1ügm2b1ülm2b1üsm2b1ütm2b1üzmda1b2mda1g2mda1p2mdi3apme2béd2m1effme2gavme2g1áme3gámmegá2smegá2tmegá2zme2germe2gezmeg1grmeg1irmeg1isme2g1íme2g1ome2gőrmei2ráme2kátme2kepme2kevme2kélme2kijme2kírme2kítmek1k2mek3lume2kobme2kopmeko2rme2könme2k1őmeksz2mek1t2me2kujme2kunme2kurme2küdme2küzm1eladmel1akme2lágme2lál2melet2m1elfm1elham1elkém1elkím1elkömel2lomel2löme2los2melőz2m1elr2melty2m1elz2m1emlme2nalme2narme2naume2nátme2nerme2nilme2n1ume2nyame1p2hme2pikme2posme1p2r2merdőme2rimme2rorme2rov2merőlmer1stme2sasmese1smeta1sme2tórme2tűdmeus3sme2zacmeza2kme2zaume2zálme2zegme2zerme2zimme2zinme2ziome2zírme2z1ömezőe2me2zsáme2zsömé2ber2m1ébrmé2csomé2g1amég1egmég1ismé2h1ámé2hegmé2helmé2hir2méhsé2m1éj_2m1éjbmé2jes2m1éjsmé2karmé2kazmé2kevmé2kezmé2kidmé2k1omé2k1ömé2k1úmé2le_mé2lesmé2lez2m1élmmé2lyamé2lyámé2nidmé2ninmé2nivmé2nyömé2nyúmé2rér2m1érzmé2sezmé2sinmésza22mészlmész3smé2tégmé2t1omé2tőrmé2t1umé2t1ű2m1év_2m1évb2méveimé2venmé2vesmé2vén2m1évf2m1évh2m1évk2m1évn2m1évr2m1évs2m1évt2m1évvmé2z1amé2zegmé2zilmé2zimmé2zinmé2zitmé2z1omé2z3smfa1s2mfi1trm1f2lom1f2rem1f2rim1f2rím1f2rom1f2römgépi2mi2abomia1f2mi2afrmi2alemi2amémi2a1pmi2arémi2atámi2atimi2ato2midej2midenmi2dénmi2diomi2diómi2dolm1időzmi1gri2m1ihlmi1klumi2lal2mille2millu2millúmi2ma_mi2máhmi2mitmi2mórmi2najmina2nmin2ch2mindumi2negmine2s2minflmin2kómin2kö2m1inzmi1p2lmi1p2rmi2ram2m1irkmi2rón2m1irrmi2sal2misitmi2s1űmi2tacmita2n2mitác2mitbomiti2s2mitlámi2tökmi1tri2mitro2mitrúmi2türmiumé2mi2x1imi2zé_mi2zétm1í2gémjé2nám2j1olmj1ósámkaró2mlás3smle1g2mle1knmlé2kómlo2kémmag1gmma1gl2m1obj2m1offmo2kabmo2karmo2kádmok1k2mo2kurmo2kúsm1oldómolli22m1omlmona2rmo2negmon2ormon1spmonyá22m1opcmo2permo1p2l2m1optmora2nmo2renmo2rid2moriemori2smo2rósmor1s2mor3támor1trmo2sálmo2s1e2mostomo1t2hmot2tomo2us2mo3zsomó2daumó2dákmó2dármó2dipmódus1mói2komó1k2lmó2larmó1p2rmó2rakmó2rarmó2rágmó2ráimó2rájmó2rámmó1s2kmó1themö2r1őmőé2te2m1őrhmpa1drmp1eltmp1indmpi2remp2lakm1p2lum2p1ösm1pribmp2riom1profm1progm1projm1p2rum2p1üzmré2m1msa2voms1ondm1sz2fm1sz2pmsz2tám1sz2vmtés3sm1t2ró2m1udv2m1ugr2muletmu2mélmu2minmu2mismu2nokmu2ralmu2rammu2ratmu2rálmu2salmu2sanmu2sarmu2sasmu2satmu2sálmu2s1emu2sirmu2sormu2talmuta2n2mutcamu2tilmu2t1ö2m1úr_2m1úrn2m1útb2m1útj2m1útk2m1útm2m1útn2m1útr2m1útt2m1útv2m1űrlmzás3smze2tomzé2somzőe2rn1abbó2n1abr2n1abs2n1addna2dek2n1adm2n1adtna2du_na2dus2n1affna2ga_na2gárna2gitna2gónna1gránagyú2na2ire2n1ajkn1akkona1klina1klunako2ln1aktina2larna2lavna2lágna2lid2nalj_n1alji2nalju2naljzna2lopna2l1őnal1trna2mer2n1amö2n1amp2n1ang2n1anhnanog2na2nód2napa_na2pádna2pákna2pámnape2lna2pemna2pó_2napponap1prn1aprín1arró2n1arzna2sévna1strna2télna2tülnatű2znau2rana2urána2utona2vat2n1avv2n1azbná2cajná2c3hná2csená2csöná2csünác3szná2dapná2d1öná2dudná2d3zná2kolná2labn1álarná2lemná2lesná2lirnál2isná2nadná2narná2nétná2ninnán2sená2radná2rapná2rasnár1s2nár1trná2rugnár1ur2nárusnáru2tná2rútnás1trná2szená2tálná2t1önba2kán1b2rinc1acénc1ajtnc1aljnc1altnc1alvnc1ananc1antnc1arinc1attn2c1ágnc1árbnc1árknc1ártnc1ásánc3csinc3csonc3csönc3csunc1eggnc1elmnc1erónc1etnn2c1exn2c1épn2c3han2c3hán2che_nc3helnc3hetn2c3hénc3hiánc3holnc3honn2c3hón2c3hun2c3húnc1infnc1iron2c1írn2c1ívn2c1íznc1kren2c1obnc1orvnc1össn2csacn2csadn2csamn2csanncsa2rn2csazn2csobn2csurncsu2tn2csútn2csügn2csütnc3szenc3szónc3szön2c1udn2c1ugn2c1urn2c1újn2c1ügn2c1ütn2c1üzn2c1űrn2c3zán2c3zónczy1ind1ablnda1brnd1addnd1aktnd1annnd1apónd1arrnd1azond1aztnd1azzndás1snd1ebbnd1elönde2munde2nánde1p2nde2rond1ezandé2gondé2könd1élmn2d1épndi2ófndi2ómn2d1oán2d1oun2d1ovndóé2rnd1össnd2razndú2ránd1úszn2d1ügnd1ünnn2d1üzn2d1űznd3zavnd3zárn2d3zen2d3zón2d3zunea2lane2alone1drane2g1ön1egy_n1egybn1egyfn1egyhn1egykn1egymn1egynn1egyrn1egytnehéz12n1ehhne2kátne2kéknekie2nek1k22nekka2nekkine1klunekö2rnek1t2ne2lagne2lajne2lálnelá2rne2lefne2legne2lernelfé2nel1g2ne2limn1ellóne2lődne2lőfne2lől2n1elzne2mak2nembaneme2g2nemul2n1eng2n1ennnen2sanens3s2n1enzne2okone2olane2oline2orone2padne2pidne2razne2rábner2cone2rezne2régne2risner1k2ne2rorner1trne2sasne2sárne2tálne2tidne2tipne2tolne2tunnetü2l2n1evv2nezüs2n1ébrné1f2r2n1ég_2n1égj2n1égn2n1égs2n1égt2n1éhsné2kajné2kakné2karné2k1ánéke2lné2kerné2kévné2kidné2kül2n1élmné2lőiné2lőnné2padné2papné2pauné2pátné2pegnépe2rné2pevnép1f22né2píné2p1oné2p1ö2népülné2raj2nérdené2ré_né2résné2ri_né2rinné2rip2n1érzné2szóné2szuné2tirné1t2rné2vajné2varné2vav2néveinéve2lné2ves2névébné2vis2névnyné2v1oné2vünn1f2lan1f2lon1f2rán1f2rin1f2rín1f2rön1f2rung1aknnga1p2nga1trn2g1ápngá2réng1átcng1d2rng1edznge2ron2g1exng1érlngé2sang1g2rng3gying3gyon2gillng1iming1infng1insng1iron1glecngmeg1n1g2nón2g1ofn2g1opngora1n2g1öbng1öntng1öröng1örvn2g1övng1őröng2runn2g1udn2g1ugn2g1ujn2g1újng1úttn2g1üdn2g1üzn2gyezn2gyidn2gyimnhá2zónhú2sánhús3sni2aboni2afonia1g2ni2agyni2alani2aláni2a1pnia1t2ni2atoni2atrni2chani2de_2n1ifjni2ge_ni2géjni2géz2n1ihlni2kebni1kluni2kudn1ille2nillu2nimád2n1impni2nasnin2gánin2guni2nolni2oncni2onhni2onjni2onkni2ótani2ótánióvá2ni2rat2n1irg2n1irh2n1irkni2rónni2si_nisü2vni2szöni2szuni2talni2timni2tirni2tobni2türni2zén2n1izgn1izomníli2aní2ra2ní2r1ú2nítélnítőa2nkai2knk1ajtnk1appnka1spnk1azon2k1ágnkás3snkáta2nk1elank1g2rnk1indn2kinznk1ismnk1k2rnk2larn1k2lón2k1obnk1okenkos3sn2k1oxnkó1p2nk1össnk1ötlnk1őrsnk2racn1k2rínk1sz2n2k1udn2k1uzn2k1újn2k1úsn2k1ügnla2panlap1enlás3snletü2nműé2nnna2iénna1krnn1alvnna1s2nn1állnne2senn1essnn1esznn1érin2n1idnn1irtnn1orsnnőé2hnnőé2nn2n1ugnn1ú2snn1ülőnn1ültnn1ülvn3nyakn3nyarnnyá2rnny1ázn3nydrnny1égnnyi2gn3nyjénny1onnny1özn3nyst2nokalno2kauno2képnok1k2noksz2no2kurno2kúrnol1f2nonc3cnon2chno2n1enon1k2non1s2no2raznor1s2no2sálnossz22noszlno1t2rnó2da_nó2dáknó1k2lnó2macnó2miknó2nibnó2nonnó1p2rnó2rásnó2riánó2segnó1s2pnó1sz2nó2tilnó1tránöke2tn1ö2len1ö2lé2n1önznöt1t22n1öv_nö2vön2n1övrnő2csü2n1őr_2n1őrb2n1őrc2n1őrg2n1őrh2n1őrk2n1őrl2n1őrn2n1őrr2n1őrt2n1őrünő2rülnő2rün2n1őrv2n1őrznő2sesnő2soknő1spenő1t2rnpesz1ns1alkns1assn2s1aunság1gns1állns1átans1átvnsc3héns1elmns1elnns1elons1elsns1elvn2s1ékn2s1épns1impns1infns1iskns1izon2s1obn2s1oln2s1opns1oszn2s1ösns2pecns1p2lns2porn1s2ráns3szins3szons3szönste2ins2topns1uran2sziznsz1p2n2szutntai2knt1ábrntá2csnt1ebent1edinte3gánt1elfnt1ég_nté2ként1élűntés3snt1évhnt1évknt1évtnt2honntia2nntia2tnt1idont1izon2t1ígn2t1íjnt1írán2t1ofntoka2nt1opcntó1trnt1öklnt1öntntőé2nnt1őrbnt1őrlnt1őrnn2t1őznt1szvnt1t2rn2t1ugn2t1ujnt1undntun1int1után2t1úgn2t1újn2t1ügnt1ültn2t1ütn2tyáln2tyut2n1ujjnu1klu2n1und2n1untnu2ramnu2salnu2sasnu2s1enu2siknu2solnu2színu2talnu2tatnu2taznu2tál2n1újs2n1úr_2n1úrb2n1úrh2n1úrn2n1úrr2n1úrt2n1útk2n1útn2n1úts2n1útv2n1üdv2n1ügg2n1üldnü1strnü2tésnü2tő_nü2tőknü2tős2n1üzlnva2sun2v1átnv1indn2v1os2nyadó2nyaff2nyagc2nyagi2nyagj2nyagm2nyagú2nyajk2nyajt3nyak_2nyakc2nyang2nyaot2nyappnya1sp2nyaty2nyauk2nyábr2nyádt2nyáék2ny1ág2nyáld2nyárc2nyáre2nyárh2nyárk2nyárp2nyárú2nyárv2nyásó2nyáta2nyátá2nyáté2nyátf2nyáth2nyátk2nyátm2nyátn2nyátö2nyátr2nyáts2nyátt2nyátü2nyátv2nyeff2nyelcny1elk2nyenc2nyene2nyeve2nyevé2nyevo2nyevő2ny1ex2nyezr2nyéhs2nyélm2ny1épnyérü22nyétl2nyév_2nyévb2nyévf2nyévi2nyévk2nyévm2nyévn2nyévr2nyévs2nyévt2nyévü2nyévű2nyévvny1f2r2nyibo2nyidőnyié2b2nyiga2nyiha2nyihl2nyimá2nyimp2nyinc2nyind2nyinf2nyinj2nyins2nyinv2nyirá2nyiri2nyirt2nyism2nyisp2nyist2nyivó2ny1íg2ny1íj2ny1ín2ny1ív2ny1íz1nyjébny1k2rny1k2v2ny1ob2nyodú2ny1of3nyom_3nyomo3nyomt2ny1opny1orcny1ormny1orsny1orv2ny1ov2ny1ox2nyóri2ny1öb2ny1öcny1önt2ny1öv2nyőrs3nysek1nyst_ny1stany1stá2nyuká2nyuni2nyunony1urá2nyújd2nyújé2nyújí2nyújsnyú2lő2nyúrb2nyúri2nyúrk2nyúrr2nyútb2nyúth2nyútj2nyútkny1útl2nyútm2nyútn2nyútp2nyútr2nyútt2nyútv2ny1üdny1üle2nyünn2ny1ür2ny1üt2nyüze2nyűrb2nyűrrny2vékny2vösnz1adánz1adonz1adónz1aggnz1akcnz1akknzak2onz1aldnz1angnz1appnz1aranz1aránz1arcnz1arinz1autnz1állnz1ásónzás3snz1d2rnz1emlnz1erőnze2sun2z1ezn2z1égnz1étvnzi2mánzi2minz1iránz1ismnzite2n2z1íbnzo2lónzo2nén2z1önnz1örön2z1ösn2z1öznz3sajn2zsávnz3segnz3siknz3sorn2z3sónz3s2pnz3s2tnz1t2rn2z1ujnzu2ménzus3snz1ú2tn2z1üdo2aszóoá2riloba1b2oba1d2obás3sob1átmo2b1egob1eleo2b1ezobi2kiobina21objek1o2boao2b1utoca2kéo2c1ágo2c1áloc1é2koc3hokoc3hotocké2noc2kiaoc2kopocsá2soc3séro2csí2oc3síno2csopo2csujoc3szaocs3záoc3szeo2daadoda1b2oda1droda1p2oda1tro2dáruodás3s1o2dázod1e2vo2d1épod1ideod1ispod1í2zod1oboo2d1opod1ö2lod1ö2rod1ő2r1odváboé2nisofili2ofona2ofon3nofőrü2og1abrog1allog1altog1aluo2g1apog1arcog1állog1álmo2g1ápo2gásóog1átüo2g1emog1ereog1ernog1erőo2g1ezogén1no2g1ésog1g2lo2g1ico2g1ifo2gillog1infog1inso2g1ipog1itao2g1íjog1orgog1orrog1orzog1ö2bog1ö2log1ö2rog1ő2r2ograpog1s2to2g1újog1ü2gogy1osogyóé2oha1spo2h1ágo2h1áloh1e2coh1ingoh1óráoh1ö2voh1uráoi2ábaoi2danoi2dáloi2doloi2d3zoilet2oisel2ojás3sojás3zojtóá2ok1ablok1akvok1almok1altok1angok1aniok1antok1appok1arcok1auto2k1ágok1ájtok1ásóokás3sok1ászok1e2bok1edéok1eréok1erko2ke2sok1eséok1e2zo2k1égok1élnok1éltoké3páok1épíoké1s2okész2ok1igáok1indok1ismok2kabok2kazok2kidok1klóok2kobok1kriok2kudo1k2líok2loro2k1obokola2okon1noko2rao2k1öbok1ö2ko2k1ölo2k1öno2k1ösok1ö2zok1ő2rok2sel1oktáno2k1udo2k1ugo2k1ujok1úr_ok1úrbok1úrhok1úrrok1úszok1útuo2kútvok1ü2lok1ü2tok1ü2vol1ablola1d2ola1f2o2lajto2lajuo2lajvol1alkol1amnola1p2olau2rolá2haol1állol2cajol2calolca2nol2celol2cesol2c3hol2csűolc3szol2dabol2dapol2dálol2degol2devol2dezol2désol2dipol2dor1oldósol2dudol2d1üol1e2go2l1élol1ér_ol1érdol1éréol1érhol1érjol1érlol1érnol1érőol1érsol1érvolfa2kol2fauol2fesol2fetol2firol2fisol2fújol1g2rol1ill1olimpoli2nuolipe2ol1ív_olla2lolle2lol2lobol2lorol2l1öol2lubol2lulol3lyuo2l1opol1otto2l1oxoló1f2ol1ónnol1ónrol1óntoló1trol1ö2lol1p2lol1p2rolte2rolte2sol2tidol2timol2tisol2tiz1oltóé1oltóh1oltóm1oltónoltö2rol2türo2l1ugo2l1ur1olvad1olvaso2lyálo2lyélo2lyimo2ly1öo2lyugomaga2oma2geomagi2om1altom1alvom1angoma1pro2m1auomá2csom1ágiom1ágoo2m1ápomá2síomás3somá2szom2bágombó2rom1broom2bujomdio2ome3gáom1egeom1egéom1eláom1elbom1elkom1eneom1engom1enyom1enzom1erdome2rőom1eseom1eséom1essom1esto2m1exo2m1égo2méhsom1éjeom1éléo2m1épom1évéom1f2lom1ideom1iksom1imáomime2om1infom1invom1izéom1izoom1izzo2m1írom1í2vom1í2z2omolyom1opeomo2reo2m1oxom1ö2lom1ö2rom1ö2tom1ö2zom1ő2rom1ő2som2pelom1plaom2te_om1t2ro2m1udo2m1ugo2m1ujo2m1uro2m1újom1ü2lona1dron1adson1aggon1agion1agóon1ajnon1akcon1akn1onanion1appona1prona1psonatü2on1ábro2n1ágon1árbon1árvon2calonce2son2cheon2cidon2cöson2de_2ondozon1e2bon1eggon1e2hon1eljon1előon1elson1elton1eneon1erjon1erkon1ersones2son1esto2n1exon1édeon1ékso2nérdon1évron2gedon2gikon2győo2n1ijon1indonita2on1izoo2n1íno2n1ívon2ne_on3nyeon3nyoon3nyúon3nyüo2n1obonoka2on1ollon1opto2n1oxonó2sion1ö2ton1ö2von1ö2zon1ő2son1s2kon1s2mon1speon1spoon1spron1stoon1szfon1szton2tazon2tebonte2son2télon2tülon2türon2tyeo2n1udo2n1ugo2n1ujo2n1újon1útbon1útéon1úthon1útion1útjon1útoon1útron1útton1ü2con1ü2lo2n1üno2n1üron1ü2vo2nyeno2ny1öo2nyugon2zagon2zaron2zágop1a2ro2p1ámop1e2gop1ejtop1előop1erdop1erkop1erőop1e2top1ikro2p1imop1indop1isiop1istop1izoop1izzo2p1obo2p1ovop2rocop2rodop1s2to2p1udo2p1úsor1admor1affor1aggora1klor1algor1alkor1ampor1appor1attor1atyorá2csorá2leorá2löor1árúor2car1orcádor2cháor2dexor1ecso2r1ef2ore2kor1ekeor1ekéor1elaor1eleor1elhor1eljor1elmor1elnor1eloor1előor1elror1elsor1eltor1elvor1eneor1enyo2r1epor1eróor1eseor1eséor1esőo2r1époridi21o2rieor1ihaor1inhori2ogor1ispo2r1ígo2r1íror1k2lor1k2vorme2gormé2tor2móvor2m1öor2m1őor2ne_or1opeor1optor1órior1ö2bor1ö2cor1ö2lor1ö2zor1ő2ror1ő2sor1p2nor1p2r1orri_or2rinor2riz1orruk1orrú_1orrúcor2sedor2sönor1sráor2tágor2tidor2títo2r1udor1útsor1ü2gor1ü2lor1ü2sor1ü2v1orvosor2zesos1arco2s1auos1áldosára2osári2osás1sos1átéos1átjos1átkos1e2dos1embos1e2no2s1ero2s1esos1e2to2s1épo2s1ifos1igaos1ikros1infos1iroos1irtos1ispo2s1íjos1króo2sonho2sonno2sonoo2sonu1osonvos1oszos1ö2los1ö2vos1ő2ros1p2los1p2ros1staosszó2os3szőos2tipos2tiros2tiz1ostob1ostyao2s1udo2s1ujos1úr_o2s1ügo2s1üno2s1üzo2szajosza2no2szarosz1eposz1eso2szégo2széjosz1ívo1szklos3zónos3zölo2szurosz1úrosz1ügos3zülot1ablota1grot1anaota1p2ot1arcot1arzot1assot1ábrot1árnotel1aote2lőot1e2vo2t1épo2t1ido2t1imotina22otipa2otipi2otipn2otipto2t1isot1k2ro2t1obot1olaotona2oton3noto2reotó1f2otós3sotó1szotó1trot1ö2lot1urao2t1újot1úriot1ü2lot1ü2zova2gaovas3s1oxidb1oxidro2xigé1oxilcozag1aoz1agioz1arao2z1auozá2keoz1állozás3soz1e2goz1e2moz1iroozi1slozi1stoz1í2noz1orsoz1p2rozsa2no2zs1őoz1ü2zóa2dagóa2kadóa2karóa2l1eóal1osóa2to2óatom1óá2gyúóá2t1ö2óband2óbankóba1p22óbará2óbark2óbele2óbelé2óbelsó1b2leó1b2lo2óbóléó1b2roób2rókó1b2ruó2c1ajóc1alkó2c1aróc1attó2c1ál1ó2ceáóc1eleóc1elmóc1előóc1embó2c1épó2c1étóc1imióc1ingó2c1isó2c1oróc1ó2róc3ságó2csitó2c1udód1adaód1ajáód1akt2ódal_2ódalaód1algó2d1amód1ana2ódaráód1autód1azoó2d1áfó2d1ágó2d1áló2d1ápódás3sód1eljód1előód1elród1embód1emeóde2raód1erőó2d1ezó2d1épódi2szód1izoó2d1íródo2gaó2d1opód1óráó2d1ötó2d1övód2rámód2rukódus3só2d1újód1úr_ó2d1üród3záró2d3zeód3zsoóel1enóel1éróe2l2i2óé2he2óé2ne2óé2re2óé2ré2óérte2óértéófa1stó2f1ev2ófélő2óféltófi2abófi2adófi2agó1f2laó1f2lo2óford2óforg2óforró2f1ovó1f2rió1f2ríó1f2roó1f2röó2f1udóf1uraóf1úr_óf1úrnógi2alóg2ránó3gyi_ógy1úsóha2deóhús1s2ói2deói2dén2ói2dő2ói2ga2ói2geói2gébói2géiói2géjói2gékói2génói2gérói2gétói2gévói2ma_2ói2máói2naiói2nasói2natói2nánói2nárói2nát2ói2ni2ói2rá2ói2ro2ói2taói2tókói2vadója1g2ójak2rója1p22ójárá2ójárm2ójáru2ójárv2ójáté2ójátsók1ajt2ókaló2ókamp2ókamr2ókapa2ókapc2ókaps2ókar_2ókara2ókarr2ókart2ókata2ókateók1aut2óke2dók1egéóke2szók1ete2ókény2ókép_2óképb2óképe2óképé2óképl2óképn2óképr2óképt2óképz2ókérd2ókére2ókéré2ókérőók1étvók2hiá2ókie2ók1igaók1illók1imi2ókinc2ókine2ókiny2ókiszók1k2rók2limó1k2lí2ókock2ókoco2ókoll2ókomé2ókomf2ókomp2ókonc2ókonf2ókonj2ókons2ókont2ókony2ókonz2ókorá2ókorb2ókore2ókori2ókorl2ókorm2ókorn2ókoro2ókorr2ókors2ókoruók1ó2ló2k1óvók1ördók1ötló1k2ráók2reáók2rétó1k2ríók2ronók2rosó2k1ugó2k1ügók1üzlól1ajtóla2paól1azo1ó2lálólás3sólá2süól1átlól1eshól1esnól1essól1estóle2taólete2óli2amóloma2óló1slóló1spó2l1öló2l1öró2l1ösól1p2rólus3sóm1abl2ómagnóm1aknóm1all2ómara2ómarc2ómarh2ómarkóma1sp2ómass2ómateó2m1auóm1áll2ómárk2ómártóm1b2ró2men_óm1éleó2m1ép2ómére2óméré2ómérg2ómérk2ómérn2ómérő2ómérsómiac1ómi2as2ómi2kóm1ikoómi2sz2ómond2ómoni2ómono2ómontó2m1oxóna2páóna2peón1arcóna1t2ónás1s1ó2nééón1épíón1ércó2nérdón1odvó2n1örónőé2h2ónyilóp1antóp1álló2p1efóp1eloó2p1idóp1indó1p2luó2p1obóp1óraó1p2rióp2rodóp2ropó1próbóp1t2rópus3só2p1újó2rabéór1ace2óradaó2raibó2raiéó2raihó2raiió2raijó2raikó2raimó2rainó2raipó2raisó2raitó2raiv2órajo2órajzóra1kvó2ralaór1alkó2ramoór1antór1arc1órare1ó2raü1óráénór1ágg1órákhó2r1ál1órámrórá2se2órátaór1átvór1egeór1ellór1elmór1elvór1embór1emló2rezüóri2alóri2chó2r1idór1izoór1í2jó2r1írór1í2zórmé2só3rokéór1okúór1ósáó2r1ösó2r1ötór1p2rór1tráóru2meóru2seórus3sóru2süó2r1útór1ü2v2ósablós1altós1amnós1assó2s1auósa2voó2s1áfóság1gós1áti2ósátoós1eljós1elmós1elsós1elvós1embós1emió2s1enós1epoós1erőó2s1esó2s1ezó2s1épós1étkós1éttós1ige2ósiklós1indós1infós1ipaós1iroós1istós2kicóski2sós2lagó1s2ni2ósoksós1olió2s1ovó2s1ösó2s1ötó1s2puós1s2kós1s2pós3szeós3szö2óst2rós1tréós1trió1struós1úr_ós1úrnó2s1üsó2s1üz2ósűrí2ószed2ószeg2ószek2ószel2ószem2ószen2ószez2ószob2ószoc2ószof2ószol2ószon2ószűkót1adó2ótag_2ótaga2ótagb2ótagi2ótagj2ótagk2ótagn2ótago2ótags2ótaguót1ajk2ótaláót1alkót1ágg2ótáro2ótárs2ótávc2ótáví2ótávkó2terdót1égéót1illó2t1imóti2szó2t1ízót1omlót1ökoót2radót2rafót2rakót2ranót2rénót2rikót2rilót2rióót2romót1üléót1üst2óvak_2óvaks2óvaku2óvalóó2vásaó2vásoóveri21ó2vodóza1d2óz1akcóza1króz1aktóz1arcóz1álló2z1elóz1erőó2z1exóz1impóz1ingózis3sózo2niózó1spóz3soróz1t2róz1ú2só2z1útóz1ü2góz1ü2zöb1a2nöb1á2röbbe2löbbe2möb2bélöb2bidöb2botö2b1efö2b1egö2b1erö2b1élö2böllöccs1iö2c1épö2cs1aöcs1éjöcs1ékö2csizöd1a2löd1a2nöd1á2lö2d1eföd1ellö2d1emödé2saödés3söd1ó2röd1u2söd1ú2sö2d1üvö2d1űzöfés3sög1a2cög1a2dög1a2kög1a2lög1a2nög1a2tög1á2lög1á2rög1elbö2g1erög1éktögés3sö2g1idög1infög1o2lög1o2rög1ó2rög1öliög1ölöö2g1övög1u2nög1u2tö2g1ügö2g1üsö2g1ütö2g1üvö2g1üzö2g1űzöj2télöj2t1oök1a2gök1a2kök1a2lök1a2nök1a2pök1a2tök1a2vök1á2pök1á2rök1elaök1eleök1elhök1elmök1elnök1előök1elvöke2néöken1sök1erdö2k1esö2k1ezö2k1égök1éksö2k1épökés3sök1ideök1idoök1igaök1indö2k1isö2k1izö2k1írök1k2rök1old1ökolóök1o2pök1orrök1orsök1o2vök1ó2r1ökör_ökö2rö1ökrösök1t2rök1u2nök1u2rök1u2tö2k1ügö2k1üzöl1a2döl1a2jöl1a2köl1a2röl1a2völ1á2göl1á2möl1á2pöl1á2röl1á2söl1á2zöl2daböl2dapöl2degöl2depöl2devöl2délöl2dipöl2dosöl2dőröl2dősöl1dróöl2duröl2d3zöleg1göle2to1ö2lééölés3sölgyá2ö2l1ijö2l1ilö2l1imö2l1izöl1í2röl1í2völ1o2cöl1o2köl1o2söl1ó2völö2kiö2l1ölöl1öntö2l1öröl1őrlöl1őrööl1p2röl2tajölta2nöl2tidöl2tilöl1troöl2turöl1u2göl1u2söl1u2tö2l1üdö2l1ügölü2leö2l1üsö2l1ütö2l1üvö2l1üzö2l1űzö2ly1áö2lyelöm1a2döm1a2göm1a2nöm1a2pöm1á2röm1á2tömba2löm2bazöm2b1áöm2becöm2béköm2binöm2bürömeg3göm1egyö2m1égö2méhsö2m1épömés3sö2m1inöm1í2z1ömlötöm1o2köm1o2löm1ó2döm1ó2röm1p2röm1u2göm1u2tö2m1ügö2m1üvö2m1üzö2m1űzön1a2dön1a2gön1a2jön1a2kön1a2lön1a2nön1a2pön1a2vön1á2pön1á2rön1á2tönát1éönc3szön2dabön2dapönde2mön2d1őö2n1ebö2n1efön1eneö2n1esön1e2vön1é2gö2n1éjö2nérdön1ériön1érlön1érvönés3sön1észön1f2rön1g2lön1g2r2öngyöön2győön1igeön1illö2n1imö2n1inö2n1isön1itaö2n1írö2n1ízön2kátön2k1úönna2kön2n1áönny1áön3nyúön1o2dön1o2kön1ó2cön1ó2rö2n1örönő2reön1s2p1öntözön1u2rön1u2sön1u2tön1ú2sö2n1ürö2n1üzö2ny1áö2ny1oö2nyüzöp1a2löp1e2löp1e2rö2p1épör1a2cör1a2dör1a2gör1a2kör1a2lör1a2nör1a2rör1a2tör1a2uör1a2xör1a2zör1á2cör1á2gör1á2lör1á2rör1á2sör1á2tör1d2rö2r1eföre2gaöreké2ö2r1emör1encö2r1exö2r1ezör1éksö2r1épör2fisör2főrör1g2rör1ikoö2r1imör1ittö2r1írör1k2lör1k2rör2nyóör1o2kör1o2lör1o2rör1ó2r1örömüö2r1örör1s2pör1s2vörta2rörté2lör2tívör2topör1u2nör1u2rör1u2sör1u2tör1ú2tö2r1üdö2r1ürö2r1üsö2r1ütö2r1üzörva2s1örvek1örvem1örvet1örvéb1örvéh1örvévör2zsóör2zsuör2zsúös1a2gö2s1elöses3sö2s1ezös1k2rös1o2lös1o2rös3szíöszi2sö2sz1őöt1a2köt1a2löt1a2töt1á2söt1ekéöt1e2möt1e2vöt1e2zötélé2öt1érzötés3söt1i2röt1í2v1ötletöt1ó2rö2tödb1ötödüöt2taröttá2röt1u2töt1ü2löv1á2röveg1göve2goöv1e2röve2toöv1é2jövi2dáövis3söv1ó2döv1öltöz1a2cöz1a2döz1a2jöz1a2köz1a2löz1a2möz1a2nöz1a2pöz1a2röz1á2göz1á2möz1á2pöz1á2röz1á2tözát1éöz1d2röz1engöz1entöz1eprö2z1erö2z1esözető2ö2z1égöz1élmöz1éltöz1émeözé2píöz1étköz1iráöz1iroö2z1izöz1o2köz1ó2h1özöntö2z1övözőe2röz1őr_öz1őrköz1p2röz3s2köz3s2pöz1t2röz1u2nöz1ú2rö2z1üdöz1ünnö2z1ütö2z1üvőa2l1eőa2nyáő2aparőá2gaiőá2gakőá2gasőá2gatőá2re2őár1emőc3csoő2d1auőd1á2ződ1eldőd1eljőd1elkőd1első2d1épődé2saődé2soődés3ső2d1időd1indőd1intő2d1opőd1ostő2d1övőd1őr_őd1őrnőd1őrrőd1őrtőd2ramőd2rapő1d2ráő1d2róő1d2ruőd1t2rő2d1ügő2d1üző2d3záőe2ke_őe2kékőe2lekőe2lődőe2rődőe2rőéőe2rőhőe2rőkőe2rőmőé2hemőé2hesőé2remőé2renőé2rezőé2tekőé2ve_őé2vekőé2vesőé2vetőé2vébőé2vénőé2vérőé2vétő1f2roőgés3sőguba2ő2gyegő2gyelő2gyinői2deaői2deáői2degői2deoői2dénői2nasőí2vünőke1k2őke1p2őke1spőke1stőkóro2ő1k2raő1k2ráők2redő1k2réő1k2riő1k2ríő1k2roő1k2róőlés3sőlőé2rőlő1trőmag1gőműé2hőműé2nőn1emsőnéve2őnya2gő2nyátő2nyefő2ny1őő2nyüzőponc1őr1aggőr1ajkőr1akcőral1eőr1anyő2r1atő2r1auőr1ágy1őr1bl1őr1brőrei2gőr1elhőr1elsőr1eltőr1emlőr1enző2r1ex1őrezr1őrégnőr1éksőr1épüőré2sa1ő2réüőr1g2rő2r1ifőr1ihaőr1illőr1imiőr1indőr1iváő2rizgőr1izmőr1k2lőr1k2rőr1oldőr1ollő2r1or1őrömüőr1öngő2r1ör1őrősrőr1p2rőr1spiőr1sráőr1sz2őr1utáő2r1újő2r1útő2r1üdőr1üldő2r1üső2r1ütő2r1üző2s1adős1anaős1arcős1asső2s1ábős1állős1áraős1árvős1e2dős1elmős1elvős1eneős1epiős1epoős1erőős1essős1eszős1etnő2s1ező2s1ékő2s1ifős1igaős1imiős1infős1ingős1intős1istősí2kaős1í2zős2kálős1k2rős2latős2nitős1okoő2s1opő2s1osős1óriős1önzős1ördős1öreős1öröős1örvős1ő2sős2pecős2pekős1p2lős2pórős2rácős1s2pős1s2tős3szaős3száős3szfős3sziős3szíős3szlős3szoős3szóős3szöős3szőős3szuős3szüős2tadős2tatős2tégős2tilős1treős1utaős1úr_ős1ú2sőszö2lős3zseő1t2raő1t2réő1t2riő1t2róőt2tésőtűfé2őz1absőz1a2gő2z1akő2z1auő2z1álőzeg1gőz1eloőz1elsőz1elvőz1emb1ő2ziéő2zi2gőz1igéő2z1inő2z1izőz1k2rőz1o2kőzőe2lőzőe2rőz1p2rőz3sajőz3sapőz3sátőz3sikőz3sisőz3s2tő2z3süőz1t2rő2z1üsőz1ű2z2p1ablpa2cempa2csúpa2du_pa2dutpa2dülpa1f2rpa2ga_pai2dépa2kad2pakkupa1klu2palag2p1alf2p1algpal1udpana2dpa2nalpan1d2pang1gp1annypa2nolpansz2papa2rpap1p22para_2paráh2parár2paráv2parci2parig2parilpar2kópate2spa2télpa2tidpa2tirpa2túspau2ra2p1ábrpá2c1epá2c3hpá2csöpá2csü2p1ág_2p1ággpá2gyú2p1ájtpá2labpá2lac2pálmopá2nafpá2narpá2nárpá2nékpá2nilpá2nirpá2nis2pánktpán1szpánte2pá2nyö2páras2páráépár1s2párte2pártö2pártü2pá2ruhpá2rukpáru2tpá2rúnpá2s1epá2sirpá2telpá2tispba2l12p1effpe1g2r2p1egz2pektrpe2lálpe2lárpele2t2peljápe2lospe2lőgpe2lőí2p1elz2p1eml2p1emspe2nyapenyá2pe2pe_pe1p2rperc1c2perdő2perfape2ridper1k2pe2rődpe2rőfpe2rőipe2rőmpe2rőnpe2rőrpe2rőtpe2rővper1stpersz2perü2lpe2sőipe1s2ppe2szupe2talpetet22petimpe2tűd2p1ezrpé2csu2p1éhs2p1éj_2p1éjjpéké2tpé2kis2p1él_2p1élbpé2le_pé2leipé2lekpéle2lpé2lenpé2let2p1éln2p1élt2p1élvpén2zs2p1érc2p1érd2p1érhpé2rig2p1érm2p1érn2p1érr2p1érv2p1érzpé2salpé2séspé2szapész3spé2szupé2szúpé2tel2p1étkp1étla2p1étr2p1étv2p1év_2p1évb2péveipé2venpé2ves2p1évf2p1évh2p1évn2p1évr2p1évs2p1évt2p1évvpé2zakpé2zelpé2zidpé2zinpé2zizpé2zolpé2zsap2f1éppfi2úép1f2rep1f2rip1f2ríp1f2ropha2dep2ha2i1p2hed1phila1p2hoipi2abapi2arépi2avepi2ce_pi2danpi2deapi2deápi2deipi2denpi2deo2p1ihlpi2k1ö2pillu2p1immpinak2pina1p2p1inf2p1inppintu22p1inv2p1inzpion1npi2ókipi2ómapi2ómé2pipai2p1irhpisau22piskopi1thepi2váspír1álpí2rolpír1tr2pítélpítőa2pke1p2pke1s2pkés1sp2laccp2latfpló1trplő2sapmás1spmeg1gpocsi2po2da_2p1okmpolc3cpolóá2po2n1apo2nelpo2nizponte2pon2tí2po2pepop1elpo2pikpo2pispop1p2popsz2po2rampora2npo2ratpo2recpo2respor1f2por1g2po2rid2poriepo2rihpor1k2por2tűpo2szepo2szípo2tabpo2tadpo2tanpo2tolpo2tuspó2kaupó2kempó2ketpó2kimpóki2spó2kivpó2k1úpó2l1ápó2lompó1p2rpó2regpó2rempó2talpóté2rpó2tilpó2tülpö2kelpö2kerpö2kidp1ö2kopö2lyep1ördöpö2respö2r1ő2p1öss2p1ötvpő1dro2p1őr_pő2ri_2p1őrn2p1őrtp1ő2rü2p1őrzpp1adapp1ajápp1akkpp1anypp1arcpp1állpp1átmpp1átvppe2róp2p1égpp2laspp2latpp1órápp1ö2zpp2rinpp2riop1profp1progp1projpp2róbp2p1úgppvíz11p2raxp2remipret2ápré2sap2riusp2rizm1probl1profe1projepro2mop2ropa1proté1próbápró2dzpru2se1p2rüsp1s2káp1s2mip2s1ónp1s2pep1s2pops3szóp1s2táp1s2típ1st2rp1s2túps3zápp2szégpsz2fépsz1k2pt1adapta2neptáró2p2t1egpté2káp2t1ötp1t2ráp2t1üt2p1ugrpu2rakpu2ralpu2sadpu2salpusa2npu2sappu2sálpu2sikpu2sispu2solpussz2pu2szöpu2tabpu2takputa2npu2tolpu2tódpu1trá2p1úrf2p1útb2p1útj2p1útk2p1útn2p1útp2p1útr2p1útt2p1útv2p1ünn2p1üst2p1ütkpy1t2hque2zira2badra2bidrabi2g2rablara1brira2bujra2cetra2charac2küra2dagra2de_r2a3dí2radícra1drára1drura2dusra2gakra2gáérag2deragdi2ra2gel2raizá2raizi2raizn2raizó2raizura2jinrajob2ra1klora1klóra1klurak2rer2alab2r1albrallá2ra2mab2ramairama2l2rammb2rammi2rammj2rammn2rammr2rammt2rand_2randjran2dzra2nekran2gera2nilra2nim2ranka2rany_2ranyb2ranyé2ranyh2ranyk2ranynra2nyö2ranyr2ranys2ranyt2ranzara2ólára2ósz2rapa_ra2pákra1préra2ratra2rén2r1art2r1arzra1s2lra1stára1str2ratég2ratléra2türra2tyara2tyára2tyura2udira2ulárau2tarau2tára2utoraza2nra2zelrá1brerá2calrá2c1erá2c3h2rádáh2ráddá2rádju2ráfha2ráfhe2ráfhi2ráfid2ráfrerág1ad2rágamrá2giará2gilrá2gimrá2gisrágus42rágyará2gyurá2kátrá1kla2rákográ1krárá2lálr1álcárá2lidrá2limrá2nalrá2násránc1crá2nékrá2nizrán1klrá2nolrá2notráns3srá2nyórá1p2lrá2polrá1p2rrá2razrá2rábrá2ráhrá2rárrá2rátrá2rávrá2rér2r1árhrá2rin2r1árj2r1árl2r1árnr1ártórá2rulrá2runrá2rú_rá2rútrá2rúvrá2salrása2rrá2sazrá2sásrá2serrá2sis2rásób2rásóé2rásóg2rásói2rásój2rásók2rásón2rásótrás1trrá2sutrá2tadrá2tégrá2tél2rátéprá1trirá1trorá2túrrá2zalráz4sárázsé2rá2zsór1b2lar1b2lorboc1cr1b2rar1b2rár1b2rórc1adárc1ajtrc1ararc1arárc1assr2c1ágrc1ár_rc3csirc3csírc3csorc3csórc3csörceg1grc1egyrc1elkr2c1exr2c1ezr2c1éprc1észrc3helr2chenr2chigr2chomr2c3húr2c3hűrc1illr2cimárc1izmr2c1íjr2c1ívr1c2lur2c1oprc1ó2rr2c1öbr2c1önr2c1örr2c1ösrc3stor2c1udr2c1urr2c1utr2c1újr2c1ürr2c1üsr2c1ütr2c3zárdás1srd1exprd1élrrd1éltr2d1éprdé2sardio2xrd1izor2d1ígr2d1ízrd1orrr2d1our2d1ölr2d1ösrd2raprd2rogrd1t2rrd1udvr2d1ütr2d3zar2d3zár2d3zörd3zsír2d3zúrea2karea2la2reálá2reáló2r1eb_2r1ebh2r1ebk2r1ebm2r1ebn2r1ebs2r1ebvre2cajre2calre2danre2dirre2dorre2gapre2gasre2gárre2gidre2gizre2gócreg2óvregü2lr1egyvrei2rá2rejéé2rejűe2rejűn2rejűr2rejűtre2kásre2kéjre2kékre2kélre2kijre2kilre2kírrek1k2re1klure2kórre2kökreksz2re2küdrekü2lre2küt2r1elc2relér2r1elfrella22r1elzre2mazre2mátr1embó2rembrre2melrem1p22remukrem1urrens3sre2ókare2ósáre2ószre2paure2pazre2pásre2pát2repédre2pokrep1plrep1pr2r1erdre2reire2rejre2resre2rez2r1ergre2róz2r1ersre2sasre1s2c2reskür1essi2reszmre2talre2tágre2tidre2tisre2tórre2tűdre2ute2r1exp2rezor2r1ezr2rezüsré2bisré2biv2r1égbré2gét2r1égn2r1éh_2r1éhs2r1éhtré2jenré2kacré2kelré2kikré2kinré2kitré2körré2közré2k1ú2r1élf2r1élmré2madré2marré2mauré2márré2melré2merré2milré2mos2rémturé2nel2rénerré2pegré2pesré2pol2r1ér_2r1érb2r1érc2r1érdré2ré_ré2rébré2rénré2rérré2rét2r1érf2r1érhré2rieré2rig2r1érk2r1érl2r1érm2r1érnré2rők2r1érr2r1érv2r1érzré2salré2sarré2sátré2segré2sésré2szórész3sré2szuré2szú2rétáz2réterré2tizré2tolré1tréré2tudré2vát2réve_2réveiréze2lré2zerré2zesréze2tré2zidré2zinré2zioré2zipré2zosré2zsaré2zsíré2zsoré2zsur2f1éprfia2nrfi1b2rfi1krrf1indrf1iskrfi1trrf1oktrf1őrür1f2rár1f2rör2f1útrga1k2rgés3srg2ha_rgi2alr1g2nórgö3ler1g2rár1g2rur2gyapr2gyaur2gyálr2gyimr2gyipr2győr1rhoeári2abari2abári2abori2afrri2akóri2alari2alári2aluri2anari2arári2aréri2atéri2ato2riásá2riászri2bol2r1ibrri2dálri2de_ri2dei2ridejri2delri2deo2ridil3rie2lri1gla2r1igrri2har2r1ihlrihón12rijesri1klori2lal2rillu2rillú2r1impri2najrin2cárinc3crin2cori2neg2rinflri2nilri2nül2rionn2rionori2ókeri2ómári2óméri2ó1p2r1irh2r1irr2r1irtri2sápri2sidri2siiri2silri2sutri2talri2tágri2t1íri2var2rizmúrí2jairí2jakrí2jamrí2jasrí2jánrí2játrí2jáv2r1íjh2r1íjj2r1íjl2r1íjr2r1íjv2r1ínsr1í2rár1í2ró2rítélrítőa2rítőe22r1ív_2r1ívb2r1ívhr1í2vü2r1ívvrj1anyr2j1ágr2j1ápr2j1idr2j1ösrk1angrka1prrká2nerk2elmr2k1exr1k2hérk2hónrk1igark1izor1klier1k2lír1k2lor1k2lórkö2zőrk1őr_rk1őrkrk1őrnrk1őrrrk1őrsrk1őrtrk2rémr1k2rir1k2rírk1udvr2k1ugr2k1üdr2k1ügrlag1grlap1erlá2perlás3srleg1grlés3srló1g2r2márurmege2rmeká2rm1elkrmert2r2m1éprmi2sirmite2r2m1ígrmjob2rmon1nrm1operm1p2lrm1p2rrm1sz2rna1f2rnai2krna1sprna1t2rná2csrnet1orné1strnó1d2r2nyizrny1ökr2nyöt2r1objroc2kero2galro2garro2gerro2gor3rográro2gurro2ka_ro2kabro2kacro2kakro2kábro2kánro2kedro2kékro2képro2kidro2k1í2rokodrok1t2ro2kú_ro2kúsrola2n2romámrombé2ro2megro2méjro2mimro2mizrom1prro2nenro2nopro2nócron1s2ron2tíro2nyóronz1z2r1opcro2perro1p2lropo1sro2rakro2ratro2regror1trro2sarro2semro2szó2rotthro2visró2c3hró2cinró2c1öró2dairó2dep2róéve2rófea2rófeáró2furró1g2rró1k2lró1kré2r1ólmróma2rró2málróme2lró2mélróne2m2rónéé2rónér2rónét2rónévró1p2lró1pro2róraüró1spiró2tipró1triró2tülró2z1e2r1öbl2röklérö2lősrö2lyü2röme_2römedrö2meg2römei2römén2römét2römév2römmű2römöd2römök2römöt2r1öv_2r1övbr1ö2vé2r1övh2r1övn2r1övrr1ö2vü2r1övvrőáta2rő2dosrőé2terő2f1őrői2ta2r1őr_rőr1akrőr1egrőr1inrő2riz2r1őrl2r1őrm2r1őrn2r1őrp2r1őrr2r1őrs2r1őrt2r1őrzrő2sárrő2sírrő1skárő1sperő1starő1strrősü2lrő2zi_rő2zönr2p1igr1p2lar1p2rér1p2rir1p2rír1p2ror1p2rór2p1üzrrá2serrás3srrá2sürr1embr2r1ékrr1in_rr1ingr2r1irrri2tarr1izgrr1izmrr1k2rrr1operró1drr2r1öbr2r1ösrr1t2rr2r1ürr2r1ütrs1almrs1arzrs1attr2s1axrság1grs1áldrs1átérs1átirs2ch2r1schersc3hérs1d2rrs1edzr2s1efrse2ilrs1elfrs1erőr2s1élr2s1épr2s1ésrs1étkrs1éttrs1iders1idors1igar2simmrs1indrs1irors1írnrs1k2rr1s2lurs1ondr2s1oprs1oszr2s1öbrs1öntrs1örvr2s1ösrs1s2trs3szárs3szirs3szírs3szórs3szörs2toprs1trers1trér1strór1strur1s2túrs1urars1utárs1úr_rs1útor2s1üdrs1üldr2s1üzr1sz2frsz2lors3zsers3zsirsz2tar1sz2vrt1apprt1ábrr2t1áfrt1ág_rt1ágbrt1ággrt1ágjrt1ágnrt1ágrrt1ágsrtávi2rte1sprték1írté2kurt1évkrt1idért1idirt1ifjr2timárt1izmr2t1ígr2t1íjr2t1ínrtí2rartí2rárt1ízlrtműt2r2t1ofrtoná2rt1opárt1opert1optrtó1sprtön3nrtőé2hrt1őrlrt2radr1t2rürt1t2rrt1ukárt1utár2t1újr2t1ügrt1ülőr2t1ütr1t2zér1t2ziru2c3h2r1udv2rugarrug3gy2r1ugr2r1ujjru1k2l2ruktu2ruktúru2majru2malru2mazru2merru2mesru2mélru2misru2mizru2mol2r1uncrun2daru2nitru2padru2radru2rairu2rasru2ratru2ránru2rát2r1urbru2rukru2sadru2salrusa2nrusa2rru2sasru2sálru2sírrussz22r1utcru2tóprú2dadrú2d1árú2delrú2dinrú2d3z2r1újd2r1újk2r1újs2r1úr_2r1úrb2r1úrh2r1úrk2r1úrn2r1úrr2r1úrtrú2szórú2térrú2tit2r1útk2r1útm2r1útvrú2zse2rügynrü2ledrü2lesrü2léprü2lérrü2l1o2r1ünn2r1űr_2r1űrh2r1űrm2r1űrtrű1strrvasu2rvavá2r2v1áprv1elar2v1epr2v1exrv1ékerv1ékkrv1éknrv1ékür2v1épr2v1ikrviz1orvi2zórvíze2r2v1obr2v1opr2v1orrv1oszr2v1ovrv1össr2v1ubr2v1ügr2v1ütry1é2nrza2szrzá2serzás1srze1p2rz1estrzéna2rzé2nárzé2sorzi2abrzis3sr2z1ínrz1p2rr2zsazr2zségr2zsiprzs1orrzs1úrrzus3sr2z1ut2s1abs2s1admsa2dogsa2dócsa2dódsa2dóésa2dóhsa2dóisa2dójsa2dómsa2dónsa2dórsa2dóusa2dózsa1f2rsa2gansa1gnesa1grás1agy_s1agybsa2gyúsaha2rsa2hovsa2jaksa2jág2sajánsa2j1ösa2kassakke22sakkusa1klu2salab2saláí2s1albsalé2ts1alkusa2l1úsa2mecsa2m1ísa2molsa2nalsa2natsa2neksa2nóds1ante2sanyása2pác3sapkas1aprísa1prosa2rénsa2rit3sarki3sarkú3sarló2saromsa1s2ms1aszf2saszts1atlésatmo1sa2tyása2urása2uto3sava_3savánsa2zonsá2bigsá2bujsá2csásá2gabsága2dsá2galsá2gansá2gassá2gatsá2gépsá2g1ösá2kalsá2karsá2kátsá2k1ö2s1álmsán1thsá2radsá2rajsá2rágsár1d22sárétsár1k22sárrosár1s2sár1trsá2rug2sárussá2sarsá2sássá2sissás3szs1átad2s1átb2s1átc2s1átdsá2tél2s1átf2s1átm3sátor3sátra3sátrás1átres1áttös1átves1átvés1átvisáva2lsá2vissá2vizsba2l1sc3heksc3hensc3hetsc3hé_sc3hédsc3héssc3hi_sc3hig1schilsde1b2sde1krsde1spsde1stse2bagse2bár3sebésse2b1use2bül3sebzé2sedezsedél1se1drase2dzése2dző3segéd2segér2segétseg2gaseg2gosej2töseka2rse1kluse2kurse2kúrsel1akse2láls1eldös1elhosel1idse2liss1ellás1eltas1eltás1elvű2semén2semlése2nats1entase2nyuse2nyúse2pids1epizsep2pa2seprise2ralse2ramse2rause2rárs1erde2serdő2serejsere1psere1tseri2nse2risse2rizs1eróz2se2rős1erő_s1erőbs1erőds1erőés1erőfs1erőks1erőms1erőns1erőts1erővser1trserví22sesküse1s2pse1sti2seszkse2szűse2tátseté2kse2tolse1tri2settk2s1ébrsé2f1asé2f1á3sége_3ségei3ségek3ségemsé2gersé2gevsé2gépsé2golsé2görsé2gő2ség1őrség1ős2s1éh_2s1éhh2s1éhr2s1éhssé2jems1é2jisé2keks1ékho2s1ékm2s1ékssé2k1úsé2lel2s1élmsé2lyasé2ralsé2ransé2ráts1érdesé2réésé2riesé2rig3sérvb3sérvh3sérvr3sérvv4sé1ry2s1érz2sésdi2séssz2séstúsész3ssé2t1o2s1év_2s1évb2séve_2sévei2sévet2sévéb2sévén2sévét2sévév2s1évf2sévi_2s1évk2s1évn2s1évr2s1évt2s1évvsfé2másfé2misfiúé2sga1d2sga1trs1g2ra1s2hi_1s2hih1s2hij1s2hiks2horr3s2howshús1ssia2nysiá2rosi2deasi2deási2degsi2deisi2densi2deos2idetsi2dom2s1ifj3sihed2s1ihlsike2ssi1kré2simád3simogs1indusi2ner2singas1ingás1ingési2nic2s1inss1intes1invá2s1inzsi2onnsi2óda3sipka3sipká3sipol2s1irhs1irtósi2sadsi2sélsi2te_si2t1isi2t1ö2sivássi2zé_si2zébs1izmosí2kassí2nacsí2nalsí2nansí2nelsí2n1úsí2redsí2rensí2ressí2rirsí2rófsí2rólsí2rópsí2r1ü2sítélsítőa2sítőe22s1ív_2s1ívbsí2ze_2s1ízlsí2zülska1smska1trske1p2s1k2rás1k2résk2rónsky1érsla1d2slás3sslega2sleg1gsléke2slés3ssli2kásmarc2sma1sp1smirgsne1yisnőé2hso1c2kso2d1eso2dénso2dévso2didso2disso2dobsod1útso2d3zso2kabso2kaiso2karsoka2t3sokk_2sokkeso2kok2sokta2soldóso2limsolóó2so2lyósoma2tso2mélso2milson2chso2n1eson2töson2tőso2nyes1o2pesor1f2s1orgiso2rid2sorieso2rifso2rimso2ris3sorkésormű12sorrb3sors_2sorsósor2süsor1szsorú2ts1ostys1oszls1osztso2vissó2dáisó2dáksó2dávsó1g2rsó2kilsó2kimsó1krésó2né_só2raisó2rábsó2ráisó2rájsó2rámsó2ránsó2rársó2rátsó2riásó1t2r2s1ótvsö2kidsö2lőjsö2n1ős1öntvsö2regsö2rensör1f2sö2r1ős1össz2s1ötl2s1ötv2s1öv_2sőá2g2sőbokső2dadső2delső2dinső1droső2rizső2rols1őrtiső2simső1s2pső1staső1strs2patu1s2péks2p1érspis3ssp2le2s1p2lés1prak3sprays1p2res1p2ré1sprics1p2ros1p2ró1s2raf3s2rófsrú2dessa2vosság3gss2kálss1k2rs1s2ráss2tadss2tarss2tats1s2tís1st2rss1urassy1érssy1étsszae2sszat2ssz1k2s3szobs3szöcs3szörssz1öss3szövssz1p2ss3zsis3szur1stafís2tands2tarcsta1slstau2tst1azo3stáb_1stábj1stábk1stábnst1ág_st1áldst1átsst1átvsten3n1steppste2sz1stégg1stégrsté2kást1ékísté2kust1élvstés3ss2tinfst1irást1iróstis3ssti2szs2t1íj3s2tílst1írást1í2vst1í2zsto2rest1o2x1s2tósst1őrlst1őrps1trágst2riást2rófst1t2r1stukkst1uni3s2túdst1úr_s2t1ügst1üsts2t1üt2s1udv2s1ugrsu2k1ösu2k1üsu2nal2s1undsu2raisu2raksu2ralsu2ratsu2rátsu2szo2sutak2s1utcsu2tódsúcs3z2s1újssú2sén2s1útbsút1ensú2tig2s1útj2s1útksú2t1ő2s1útr2s1úttsút1üz2s1útvsü2d1e3sü3gés1üggy2süldösü2led3sültrsülye2sü2nevsü2n1é3sütőbsű2r1as1ű2rusvíze23szabd3szaft3szag_3szagb3szagú2szaj_2szajá2szajj2szajú3szakm2szalg2szalj2szall2szaln2szane2szap_2szapá2szapb2szapé2szaph2szapi2szapj2szapn2szapr2szapt3szarb2szarc2szaré3szart3szarv2szasp3szaty2szaut2szazo2szábr2szágó2szágyszá2ke3szálú3számá3számc3számé3számí3számk3száml3számm3számn3számt3számú3szánd3szánt3szárí3szármszárt22szátd2száti2szátl2szátm2száts2szátvsz1d2r2szeb_2szebé2szech2szedz2szegz2szelo2szelö2szelu2szenc3szenz2szepi3szers3szerv3szerz2szesősze1sp2szeve2szevő2szexp3szezo2szezr2szébr2szég_2szége2szégő2szégr2széhs2széji3széks3székü3széps2szérész1érfsz1érgsz1érhsz1érjsz1érnsz1érpsz1érs3széru2szév_2szévb2szévf2szévi2szévk2szévn2szévr2szévs2szévt2szévüszi2ab2szide2szidő2szifj3szign3szimb2szing2szirászi2sí3szitu2szivósz1izg2sz1íg3színe2szívi3szívű2sz1íz1sznob2szobj2szodú3szoká3szoms3szond2szora2szorm2szorn2szors2szorv2sz1ox2szólm3szóló2szóni2szóriszó1tr3szöge2szöre2szöv_2sz1özszőe2r3szőlősző2rasz1ősisz1őze1sz2písz3sajsz3sapsz3sassz3savs3zsáksz3sánsz3sársz3sássz3sátsz3sávsz3segs3zsems3zsensz3sepsz3sersz3siks3zsinsz3sissz3sivsz3sínsz3s2ksz3sodsz3soks3zsolsz3sorsz3sörsz3sövsz3s2psz3s2rsz3s2tszté2gsz2tür1sztyeszub1osz1udv2szugo2sz1uj3szuká2szutasz1utó2szutu2s3zuz2szúté2szúth2szúti2szútj2szútn2szúto2szútr2szútt2szútv2sz1üd2szügg3szüks2szüld3szüne2sz1üs2sz1üvtaáta2taboz1ta1brata1bró2t1absta2das2tadio2t1admta2dodta2dóáta2dóbta2dódta2dófta2dógta2dóíta2dólta2dópta2dóüta1dráta1drota2dunta2erota1f2rtaf2tata2gavtaga2zta2gágta2gec2taggota2gidta2gizta2gócta2góvta2gutta2ireta2jústaká2rta2kástake2lta1kluta2kó_ta1kráta1kríta2kus2taláá2taláítalé2gta2lip2taljztal3lyta2ludta2lúrta2malta2mazt1ampata2nalta2nan2tandrta2nerta2nidtankó22tannyta2nód2tapáuta1plétaps3s2tapunta2rait1arcutar1s22tartr2tarttta2semta1sluta1s2m2tasnőta1spr2tasru2tassz2tasteta1strta1szltate2sta2tyata2tyátau2tatau2tá2tauto2tavanta2zontá2b1átá2bigtá2bin2tábok2tábon2tábott1ábrá2táciutá2ga_tága2dtá2gaz2t1ágc2t1ágf2t1ágh2t1ágk2t1ágm2t1ágt2t1ágvtá2jaltá2jaztá2labtála2dtá2lajtá2laptá2lélt1állútá2mostá2nártánc3ctáncs2tán1d22tánpótá2nyetá2páltá2páttára2ntá2raptá2rágtá2rédtá2réstár1k2tá2róc2táru_2tárua2tárub2táruc2tárui2tárus2táruü2táruv2tárúétá2rúj2tárúktá2rústá2saltá2saztá2sástá2sistá2sor2tásóktás1trtá2suttá2sze2tászi2tászo2tászt2t1átc2t1átd2t1átg2t1átm2t1átptá2vaktáva2ltá2vastá2vaztá2védtá2vintá2vistá2zsótázs1pt1b2ritca1t2te2a3dte2aivte2akute2alite2anate2apate2apáte2berte2béd2techóte2csáte2dit2t1effte1f2rte2gantega2zteg1álteg1árte2gidte2giste2gizte2g1ötegü2ltein1ste2j1ateje2gte2jinte2j1óte1klute2labte2lagte2lajte2lapte2larte2laste2lavte2láltelá2r2telbü2telejte2lírtel1p2te2mapte2midte2mimte2móc2tempáte2muste2muttemü2lte2nadte2nalte2natte2nautene2gte2nert1enyvte2raute2ráfter2chter1d22terdő2tereote2régter1g2ter1k2te2rorte2rökt1erőtt1erővter1s2tersz2ter1trte2rurte2sarte2sárte2selte2séltesí2rte2síz2tesküt1esnite2sottestő2te2s1úte2tágtetá2rte2táttete2rte2tidte2timte2tórte2turte2volte2w1a2t1exptezőa22t1ébrté2des2tégetté2gépté2gés2t1égktégla12t1éh_2t1éhsté2jes2t1éjr2t1éjs2t1éjtté2kabté2kadté2kamtéka2tté2kazté2képté2kidté2kikté2kimté2kí2té2kórtékü2lté2lakté2lapté2lasté2lábté2lálté2lárté2leité2lesté2lezté2lut2té2lűtéma1pté2milté2nyoté2nyöté2rabté2rajté2rarté2rasté2ravté2regté2remtéri2dté2rilté2ripté2risté2sabté2sagté2sakté2santé2sapté2séstésü2lté2tokté2tolté2tón2t1év_2t1évb2t1évc2tévei2t1évf2t1évn2t1évr2t1évs2t1évüté2vün2t1évvtfa2letgá2zétge2nétgen1stha2det2har_1t2hau1t2he_t2holithon1ntho1ny1thoszti2alati2a1pti2atati2atlti2chiti2deati2dei2tidejti2dén2tidézti2diotie2le2t1ihlti1kleti1kluti2lacti2ladti2lantile2gti2lexti2limti2lir2tillúti2makti2mábti2májti2márti2mázti2mes2timmuti2ne_ti2negti2nem2tinfltini2gti2onbti2onhti2oniti2onjti2padtip2po2t1irgti2rig2t1irk2tirolti2romti2rón2t1irr2t1irttis2asti2simti2sinti2sor2tistvtiu2mé2tivadti2zé_2tizéj2tizékti2zérti2zétti2zévtizo2m2tínio2t1ínr2t1ínstí2rartí2r1etítőa2títőe2tí2veltí2vertí2viktí2virtí2vivtí2zeltí2ziktí2z1otí2zsátí2zültjó2t1tka1prtkia2ltkőé2ht1k2rét1k2rit1k2rot1k2rótla2c3tlag3gtla2nótlen3ntle2tőtlé3petlés3stló1drtmu2sítmus3stmu2sztná2d1tnév1atnőé2n2t1obj2t1obl2t1obsto1ckito2daato2das2t1odv2t1offto2kerto2képto2kidto2k1ötoksz2to2kúrtola2ntol1k22tombeto2mentom1p22tomtötonau2to2nerton1grto2nilton1k2to2nolto2nócto2nórton1s2ton1trto2nye2to2peto2pikto2piz2topp_2toppo2topprtop1t2tora2nto2rattor1drto2recto2rekto2rentor1f2tor1g22torietor1k22tornóto2ropto2róntor1sctor1sktor1sptor1sttor1tr3torvá2torvvto2s1eto2sikto2sist1ostotosz1k3t2ot_tóá2gytóáta2tó1brató1brótó2dajtó1drotó2dúrtó1g2rtó1k2ltó1kretó1krétó1krotó1protó2rastó2rábtó2ráhtó2rártó2ráttó2septó2sírtó1szktó2tajtó2tágtó2tomtó1tro2tóvod2t1öbl2tödéétö2dém2tödné2tödöttö2kid2tö2kotö2k1ő2t1ölbtömbe2t1ömlet1ömlitö2möltön1d2tö2nentö2n1ítö2n1ő2t1ösv2t1ösz2t1ötl2t1ötv2t1öv_2t1övb2t1övh2tövig2t1övj2t1övk2t1övn2t1övr2t1övvtözőe2tőe2kétő2ragt1őral2tőréütő2rin2tőrjö2tőrka2tőrtr2t1őrztő1spető1sprtő1srátő1statő1stétő1strtő2sű_tő1szttőzár1tpen3nt2rafó1tragit2ratitra1trt2rájkt2rego1trenítré1p2tri1g2t2rikót2rillt2riójt2rióktrona2tron3ntró2de1trónjt2rónttró1sz1t2rös1t2rub1t2ruptsa2vo1tschet1s2tat1s2tá1t2subtszé2tt1sz2ft1sz2kt1sz2lt1sz2pttag1gtt1ég_tt1ésst2tizzttír1att1íráttó1drttó1p2tt1ölőtt2rónt2t1ugt2t1üdt2t1üttty1ortty1ül2t1ugr2t1ujjtu2mabtu2majtu2maltu2mantu2martu2maztu2máltu2megtu2mertu2mestu2mimtu2mistu2miztu2moltum1p2tu2nal2t1unc2tuniótu2nit2t1unttu1p2rtu2rac2turaitu2ramtu2ráh2turántu2rártu2runtu2sartu2ságtu2sistu2s1ítu2sortu2s1ötuszi2tu2szítu2szötu2szőtuszt2tu2szütu2tán2t1utctu2tódtu2tóptu2tóttu2tuntú2loktú2loptú2l1őtú2ráltú2rottú2szetú2szötú2szü2t1útb2t1úth2t1útj2t1útl2t1útn2t1útr2t1útt2t1útv2t1üdvtü2l1atü2lentü2leptü2lirtü2lömtü2lőktü2lőrtü2méktü2m1ő2t1ünn2türeg2türes2t1ütk2t1üzltűleü2tűzá2rtű2záttű2zistven3ntven3ttvenü2tvers2tve3set2vívetya1kltya1p2tya1tr2ty1ágty1áldty1álltyár1styás3sty1elaty1ellty1emb2ty1exty1í2r2ty1ugtyú2küt2zenj1t2zer1t2zestz1ő2ruá2r1áuá2r1euá2réjuá2t1eub1alkub1arcub1ár_u2b1edube2láub1elöub1estu2b1éjub1éleu2b1épubi2keub1ismu2borkub1óriu2b1udubu2szu2b1újub1ü2luc2c1euc2c3huc2cipucc3szuc1embu2c3héu2c3houciá2ruc1ö2luc3ságu2c3süu2c1ugudás3sudo1krudó2seu1d2ráu1d2rouel1érue2s1eu1f2leug1agyug1aljug1apaugára2ugá2ráugá2ruugár1úugás3sug1e2vug1é2lug1ingug1intug1iroug1itaug1iváugó1svu2g1utu2g1újugya2nuh1alkuh1attuh1álluh1induh1inguh1orzuh1ujju2i1gnu2j1an1ujja_1ujjad1ujjai1ujjak1ujjam1ujjas1ujjatu2j1opuk1abluka1pluk1állukás3suk1e2mu2k1éguk2kölukora2uk1ü2tula1g2ulás3sul2csüulcs3zul1előu2l1exul1épüul1í2rul1k2rul2lefuló1f2ulta2rul2tazul2tülum1abrum1achum1ajáum1algum1allum1altum1arcum1argum1aspu2m1auu2m1águm1álmumát1aum1b2ru2m1efum1egyum1elaum1elbum1eléum1elhum1elíum1eljum1elmum1eloum1elvum1erkum1essu2m1exum1ezru2m1égu2méhsum1élvu2m1épum1f2rumi1grum1impum1iskumi1slum1ismumi1spumi1trum1izéum1olaum1oldum1ollum1oltum1olvu2m1oxum1ö2lum1ö2rum1ö2zum1ő2rumpe2lum1p2rum1t2ru2m1udu2m1ugu2munium1uraum1ü2lumva2sun1aduun1aktun1e2run1e2t1u2nifu2n1il1u2nió1u2nivunka1sun1orsunta2iun1útjun1ü2luó1p2rupa1b2up1adaupa1prupa1spuper1sup1e2supé1p2upli2nu2ralh1uralkur1állurát1aur2darur2d1eu2r1efur2f1úuro1b2uro2keuro2neuro1t2urti2turu1p2us1algus1aljus1alkus1alvus1aneus1antus1apáus1arzu2s1auus1ágbus1ághus1áldus1állus1átaus1áthus1átius1átkus1áttus1átuus1átvus1e2cus1e2du2s1efus1erdu2s1exu2s1égu2s1épu2s1ésus1étkus1éttus1igaus1imiu2simmus1impus1indus1infus1invus1irous1irtus1itaus1izéu2s1íjus1íráus1íróus1k2ru2sodúu2s1ofus1oklus1okmus1olaus1olius1ondu2s1opu2sorius1oszus1ó2su2s1önus1ördu2s1ösu2s1ötus1ö2vus1ő2rus2se_us1skáus1speus1spius1staus3széus3szíus3szóus3szöus3szőusszü2us3szűus2tegus1treus1tréus1trou1struu2s1ujus1uszu2s1újus1útéu2s1ügus1üléu2s1ünu2s1üru2szajusza2ru2szefusze2kusze2su2szopusz1ölusz1önusz1p2u2szutusz1ügut1ablutame2ut1ará1utascuta2se1utasf1utasv1utazi2utáib2utáin2utáju2utákb2utákt2utánáután1n1utánz2utáróutá2rúute2ráute2ruutén3nuti2keut1illutini2utin1su2tolsu2tódáutó1p2utós3sutó1szutó1trut2rakut2ranut2rákut1t2rut1ü2zuu2maluu2máluu2mimuu2minuum1p2uvata2uvi1g2uzala2uza1p2uza1s22uzál_2uzálb2uzáll2uzálru2z1iduz3sapuz1t2ruz1ü2gúa2karúa2kas2úbandú2c1ajúc1e2tú2csabú2csadú2csazúc3sejú2csimúcs1ölúcs1ösúcs3zaúd1adaúd1á2rú2d1ejúd1eleúd1elhúd1előúde2raúd1erőúd1e2vú2d1ékúd1éteúd1ingúdi2ózú2d1osúdy1éhúdy1ét2úé2neúé2r1áúfélé2úg1a2dúgás1súg1i2vúg1oldúgy1agúgy1elúgy1isúgy1ivúgy1út2úi2de2úi2ke2úikre2úi2máúi2ratúi2vás2újátéúj1éveúj1évéúj1k2r1ú2jon2úkateú2k1álú2káruúk1eleúk1ellú2k1emúk1ete2úkérd2úkéréú2k1isú1k2li2úkonf2úkong2úkorá2úkoroúk1ó2lúk1ölőú1k2reúk1t2rú2k1udú2k1úrúk1ülőúk1ültú2k1ürú2k1üzúl1a2dúl1a2lúl1a2mú2l1álúl1árnúl1átvúl1d2rúl1e2dúl1eleúl1ellúl1e2súl1é2dú2l1ijú2l1ilú2limáú2livoúl1í2vúl1k2lúl1okoú2l1olúl1opeú2l1orú2l1osú2l1oxúl1ö2múl1ö2nú2l1ösúl1őrüúl1p2lúl1p2rúl1p2súl1s2túl2télúl2tidúl2tisúl2tösúl1tráú2l1udú2l1urú2l1úrú2lyálú2lyélú2lyésú2lyolú2ly1öú2lyug2úmatrúmi2alúny1trú2p1inú2p1orúp1p2lúraát1úr1akkúr1aluúra1p2úrau2rúr1állúrás1súr1d2rúr1e2cúr1e2lúr1ékkúri2alúr1ifjúr1i2múr1ingúr1istúr1k2r1úrnőrúr1ottúró1p2úró1spúr1ö2cúr1ö2lúr1s2kúr1s2rúr1s2túr1sznúr1u2túr1ü2lúr1ü2v2úsablús1abrús1anyús1aprús1ará2úsarjús1áldús1átlús1e2cús1e2lús1e2vús1érmús1étrús1igaú2s1ilús1impú2s1inú2s1isús1í2zús1orgús1oszús1ó2hús1s2pús3szeús3sziús3szíús3szóús3szöús3szúús3szüús2tatús1t2rús1ü2túsz1ejúsz1k2ú2szóeúsz1ösús3zseú2s3zúúsz2veút1a2dút1a2iút1a2vú2t1álút1á2sút1eláút1ellút1elzút1é2lú2t1épút1érdút1érzút1igé1ú2tijút1illút1indút1infút1ingút1int1ú2tirút1iráút1ismút1istút1okmút1oldút1omlúto2n1út1ontúto2reút1ostút1oszút1uráú2t1útú2t1ügúváru2úza1p2úz1arcú2z1álú2záruúzás1súz1i2dúzido2úzó1trúz1p2rú2zsálúz1t2r1ü2dítü2d1örüdös3s1ü2dülüd2vélüd2vidüd2v1íüd2völüfö3leüge1k2ü2gy1áü2gyefü2gyésü2gyil1ügynöügy1osüh1elfüh1elvü2h1éhü2h1inü2h1itük1a2nük2kalükkel1ük2kerük2kopük1u2nül1a2dül1a2kül1a2rül1á2cül1á2gül1á2pül1á2rül1á2sül1d2rül1ellül1engül1ennületa2ületo2ü2l1exülé2kuü2l1élül1ériül1érjül1érnül1érsül1érvülé2saülé2soülés3sül1illü2l1imül1iraü2l1izül1í2rül1í2vül3lyuül1o2dül1o2lül1ó2vü2l1öbü2l1örülőé2lülő1slül1p2lül1p2rültá2rül1traül1u2gül1u2tü2l1ügül1üléül1ülhül1üliül1üljül1ülnül1ültül1ülvü2l1ürü2l1ütü2l1üvü2lyelüm1a2lüm1a2nüm1a2rüm1á2rüme3giüm1éksü2m1épü2m1ilü2m1imü2m1isü2m1izüm1o2lüm1p2rü2m1üvü2m1üzün1á2rün1e2lün1evé1ünnep1ü2regüre2gáüreg1g1ü2resüre2töür2t1aür2t1áür2tisürtok1ür2tül1ü2rülüs2s1áüs2tá2üst1ágüst1álüst1árüst1égüs2télüs2timüs2tirüsz1álü2szür1ü2tegü2tembütési2ütés3süt2t1áüveg3gü2zemtü2zeműüzé2raűba2l1űcs1asű1d2ráű1d2róűk2repű1k2réű1k2riű1k2roű1k2róűme2g1űn1á2rűn1elhűn1elkűn1elrűn1eltűn1emlűn1estűne1t2ű2n1inű2n1isűn1o2kűn1ó2rűn1s2kűn1s2tűn1u2nűn1u2tű2n1üsű2n1üzűr1a2lűr1a2műr1a2nűr1a2vűr1egyűr1e2lűr1é2lűr1igaűr1intűr1i2pűr1istű2r1írűr1o2dű2r1olűr1o2pűrő1f2űr1p2sűr1s2pűr1s2tűrszt2űr1traűr1u2tű1s2kaű1s2káűsor1sűsort2ű1s2taű1s2tíű1s2toűs1troű2s1ujűtés3sű1t2raű1t2reű1t2roűví2z1űvíze2űz1a2dűz1a2gűz1a2lűzal1eűz1a2pűz1a2rűz1a2sűz1a2tűz1a2uűz1á2gű2z1álűz1átlűz1átuű2z1edű2z1efű2z1emű2z1égűz1g2rűz1iskűz1isműz1istű2z1izűz1í2vűz1o2kűz1o2lű2z1ócű2z1özűz1őrkűz1őrműz1őrzűz1p2rű2zsámű2z3séű2z3sóű2z3söűz3s2pű2z3sűűz1t2rű2z1ugű2z1ülűz1ünnű2z1ütvaáta22v1ablva1bravacs3zva2dazva2degva2denva2depva2délva2dib2vadomva2dóhva2dóiva2dórva2d1úva2dzava2dzáva2dzeva2gavva2gásva2gidva1gleva2kegva2kemva2kisva1krívak1t22vakti2vakupva2lac2v1ampvane2mvané2vva2nolva1p2lva2posva1p2rvara2cva2rágvarca2varc1cva2revva2régva2répva2ridva2rimvar1klva2ropva2rorva2rönvarsz2vartó2va2sagva2sekva2semva2setvasé2rva2sidva2susva2tauva2télva2timvatmo1váb2bőváb2buvá2c3hvá2csevá2csővá2csúvá2csüvács3zvá2desvá2dénvá2dik2v1ágrvá2gyövá2győvá2k1evá2k1üvá2lajvála2nvá2larvá2lélvá2lidvá2linvá2lirvá2mauvám1b2vá2milvá2misvá2najvána2nvá2n1evá2nisváns3svá2n1úvá2nyövára2lvára2nvá2rágvár1spvár1sr2váru_vá2ruhvár1utvá2rúsvá2samvá2sazvá2s1evási2kvá2sisvá2sírvás1trvá2s1ü2v1átdv1átlé2v1átm2v1átp2v1átvvá2zizvá2zosváz3seváz3söváz3szve2cetve2gabve2gacve2garvega2zveg1grve2gidve2gikve2gimve2golve2gorve2g1u2vegyv2vekébve1klu2v1elfv1elgyve2lisv1eljá2v1elmve2los2v1elrve2lyöve2lyu2v1elz2v1emlve2nauve2n1áven1f2ven1g2ven3k2ve2n1oventü2ve2nyö2v1enzve1p2rve2rabvera2lvera2nve2raz2verdőver1g2ve2rimve2risve2rorver1p2ver2sóvers3sve2rurve2rútve2sanve2sasveset2ve2sipve2sisve1skáveta2lve2tasve2tálve2tégve2tidve2tövvetőé2ve2turve2vet2v1ezr2v1ébrvé2dakvéda2lvé2dosvé2dóvvé1f2rvé2gabvé2gakvé2galvég2emvége2n2véghüvé2gimvé2gizvé2g1ívé2gol2v1éh_2v1éhsvé2keivé2kítvé1k2l2v1éksvé2kükvé2lábvé2lálvé2legvé2lesvé2levvé2lezvé2linvé2lirvé2losvé2lőivé2lősvé2l1uvéna1pvé2nyúvé1p2lvé1p2rvé2ralvé2rapvé2rarvé2razvé2rátvér1d2vé2résvé2rirvé2rotvé2róvvé2rugvé2rutvé2r1úvé2sakvé2salvé2segvése2lvész3své2szuvészú22v1év_2v1évb2véveivé2vi_2v1évr2v1évtviára22vickévicsi2vi2csúvics3zvi2deg2vidézvi2kon2villu2v1immvi2n1ó2vintévi1p2svi2salvi2servi2simvi2sizvi3tad2vitalvi2t1úvi2zegvi2zinvi2zokvi2zolvi2zomviz1osvi2zsáviz3szvi2zud2v1ívbví2zelvíze2mví2zékví2zésví2z1ovje2tuvkia2lvla2tevme2g12v1okmvoks3svola1tvomec32v1ormvo2s1evos3s2vo2s1úvó1f2rvó1k2l2v1ónnvó1p2lvó1p2rvó2ranvó2rákvó2ránvó2rátvó2segvó2solvó1spivós1trvó1sz2vó1t2rvö2dém2v1ötlvözőe3vő1f2rv1ő2rüvő1s2pvő1stavő1strvő1t2rv1sz2tvtáró2vu2malvu2manvu2misv1u2tóv1ú2jívú2rénvú2szó2v1üld2v1ünnvü1sz22v1űrlwa1s2hwe2b1éwe2birwe2b1owe2b1úwyo2m1x1a2daxa1k2l2x1akt2x1alg2x1alj2x1alkx1a2nyx1a2rá2x1ábr2x1állxá2rakxá2ras2x1árr2x1átj2x1átr2x1átvxba2l1x1e2gyxe2l1axe2l1áxe2lelxe2l1o2x1eml2x1éhs2x1ér_2x1érz2xéveixi2dás2xi2de2xidgá2xidjá2xidjéxi2dol2xi2dőxid1őz2xidró2xi2dz2x1ill2x1indxi2óméxió2ráxi2sadxi2salxi2s1üxi2t1éx1í2rá2x1ívn2x1ívv2x1oldxo2n1exo1p2l2x1oszx1p2rox1p2róxti2laxti2láxt1örtxu2sadxu2salxu2s1exu2silxu2simxu2sinxu2sitxus1trxu2susxu2s1űxu2s3zy1ablay1abraya1briy1adapya2dévy1admiya2dóéya2eroya1f2rya2ganya2gauyaga2zya2gásyag1d2ya2gecya2géky1aggrya2gidya2gimya2gizya2gury1agy_y1agyby1agyfy1agyky1agyrya1kluya1knéya1kriya1kríy1akt_y1aktby1aktjy1aktuya2lify1aljiya2lory2altay1altúyam1b2yami2kya2nanya2narya2natya2nekya2nerya2nezya2nidya2nity1annyyano2dya2nő_y1anyjy1apjuya1p2lya1prey1apríya1proy1arc_y1arcay1arcáy1arcby1arccy1archy1arcky1arcny1arcoy1arcry1arcuy1arcú1yard_1yardnya2rorya2rózyar1s2ya2sapya1sneya1stoya1strya1sviy1atkáya1tréy1attry1a2tyy1a2ukyau2táy1autóy1á2béyá2jalyá2j1eyá2j1öyá2k1áyá2k1eyá2lály1áldoyá2l1ey1állíy1álloy1állóy1állvyá2n1eyá2nékyán1tryá1ny2y1á2poyára2nyá2rapyá2raryá2razyár1d2y1áremyá2réjyá2rimyá2róry1árpáyár2séy2árt_yár1try1áruryá2rú2y1árú_y1árvayá2salyá2sasyáská2y1á2sóyá2szeyá2szőy1á2tay1á2táy1á2téy1átláy1átléy1á2tüycsőé2y2desdy1d2ray1d2ráy1d2ruye2d1áye2degye2dolye2d1úye2ganyeg3g2ye2gidy1egyhy1egyly1egysy1együy1egyvye2kéjy1eladye2lály1elhúye2livy1eljáy1elkay1elnöy1elnyye2losy1e2löy1elsay1elsőy1eltoy1eltöye2makye2mapyema2rye2málye2mitye2mizy1emlíy1emlőye2m1öyem1p2yemu2sye2nidyen1k2ye2n1oyenyá2ye2pagye2páty1epizye2posye1proyep1t2y1erdey1erkéy1erköy1ernyy1e2roy1esélye2sipy1esőáy1estűy1eszky1eszmye2vety1e2véy1e2vőyezőa2yé2b1áyé2desy1é2gey1é2géy1é2giy1é2gőyé2jeiyé2jeny1é2jiyé2kabyé2kadyé2keryé2kikyé2k1öyé2kúryé2l1áyé2le_yé2lesyé2létyé2limyé2lősy1élspy1é2lűyé2nelyé2ralyé2rary1érchyér1d2yé2regyé2remyé2revyé2rily1érmüy1érpayé2ruty1érv_y1érvvy1érzéy1érzőyé2t1ayé2tény1étkey1évady1évezy1é2viy1é2vüy1é2vűyfé2láy2föl_y1f2ray1f2roygó1g2yha1p2y1i2boy1i2déy1i2dőy1i2gay1i2gáyi2haty1i2máy1ingayi2nicyi2onoyi2pary1i2ráy1i2riy1iskoy1i2vóy1i2zéyi2zomyí2kolyí2k1öyí2ralyí2rábyí2rogyítőa2yka1k2yk1izmykóro2y1k2ráy1k2riyle2táyma1d2y2mat_ynőé2nynő2iéy1o2dúyo2galyo2gályo2gity1o2káy1oktayola2nyolci2y1oldáy1oldóyolví2yoma2nyoma2syo2mazyo2m1eyo2milyom1p2yo2nagyo2najyo2napyon1d2yo2nédyo2néhyo2nékyo2nényon1f2yo2nimyo2nizyon1k2yo2nopyon1s2yon1tryo2n1üy1o2peyo2rady1orgiy1orrúy1orsóyors3sy1ostoy1oszlyos3zsy1osztyó2dákyó1f2lyó1g2ryó2gyiyó2gyúyó1p2ryó2ragyó2raiy1ó2riyó2síryósü2lyö2démyö2kelyö2kidyök1osyö2köryö2lőky1ö2náy1öntéyö2rity1összy1öszty1ö2vöyő2segyő1stryős3zsyő1sztypen1nype2teyság1gy1s2tíy1s2toy1s2tóy1st2ry1s2tuy1s2túy1sz2fy1sz2ky1sz2ly1sz2my1sz2py1sz2ty1sz2vyt1acéyt2rafyt2ranyt2rapy1t2ráy1t2rey1t2réy1t2riy1t2royt2rónyu2g1áyu2kabyu2karyu2kályuká2syu2k1eyu2k1öyuk1t2y1u2niy1u2noyu2radyu2raiyu2rakyu2ralyu2ramyu2rasyu2raty1u2ruyu2sályu2száyu2takyu2talyu2tamyu2tatyu2tazyu2tályu2tódy1u2tuy1u2túy1ú2jéy1ú2jíyú2kelyú2ketyú2kevyú2kölyú2lajyú2laryú2látyú2linyú1p2ry1úrély1úrhoy1ú2riy1úrnőy1úrtóyú1stay1úsztyú2té_yú2ti_yú2tigy1ü2gyyü2kétyü2ledy1ü2rüy1ü2tey1ü2téy1ü2tőyü2völy1ü2zey1ü2zéyű2g1őyű2rébyű2rényű2röny2v1auyv1ábryv1elayven3nyvert2y2v1exyvé2duyv1ékíy2v1épy2v1imyv1indy2vinty2v1így2v1ínyví2züy2v1ory2v1osyv1ó2ryv1össyv1sz2y2v1uby2v1udy2v1ury2v1ügyzás3s3zaba_za1breza1briz1abroza2chozac1k2zac3stza2dad2zadagza2danzadi2aza2dózza2dzáza1f2rza2gakza2gauza2gágza2gelza2gész1aggyza2ginza2g1üz1agy_z1agybza2ijá3zaja_za2jan3zajávza2jesza2jin3zajol2zajtazaj1tr2zakadza2ketzak1k2za1kluza2kősza1krí2zaktá2zakti2zaktúzaku2rza1kvózala2nzale2lz1algáz1algeza2lidza2lólz1altiza2mazza2memz1angyza2padzape2lza2pemza2peszap1s2za2ranza2rarz1arc_z1arcaz1arcáz1archz1arciz1arckz1arcoz1arcúzare2tza2revza2r1üza2semza1sprza2tauza2tazzatá2pza2télza2timza2tizzat1k2za2tökzat1trza2tülza2türza2tyaza2tyáza2ulaza2uláza2uráz1autó2zavatz1a2zo2z1ábrzá2gazzá2g1ezá2gépz1ágy_z1ágybz1ágyhz1ágynz1ágyrzá2kinzála2nz1álarz1álcaz1álcáz1áldázá2libzá2lidzá2lirz1álmaz1álmáz1álmozá2lobzálo2dzá2loszá2maczáma2rzá2mazzá2mélzá2mipzá2mirzá2najzá2nemzá2niszán1spzá1p2rzára2nzá2rar3zárdázá2rébzá2ridzá2rimzár1k22zárkö2zárnö2zárny3záró_3záróa3záród2zárrézár1skzá2rugz1árujzá2sajzá2salzá2sazzá2sepzá2siszá2s1íz1ásóvzá2sut3zászlz1átadzátá2r2z1átczá2tél2z1átfz1áthaz1áthe2z1átj2z1átmzá1trazá1tro2z1átvzáza2tzá2zévzá2zoszá2zórzáz4sázba2kizda1p2zd1állzdés1szd1u2r2z1eb_ze2be_ze2beize2bek2z1ebnze1bruz1e2chze2dilze2gapze2garze2gepze2gidze2gilze2golz1egylz1egysze2het2zekékze2kilzek1t2ze2lagze2larze2lálz1elboz1elház1elküz1elnöze2lofz1elönz1elsőz1eltáz1e2luz1elv_z1elvnz1elvtz1elzáze2makze2mátz1embl2zeme_2zemei2zemek2zeméb2zeméh2zemés2zemévze2misze2m1í2zemmóze2molze2m1őz1emulzem1ur3zenéé3zenéi3zenéjze2népzenké2ze2n1ozen2tíz1epizze1plaze1pleze1próze2ramze2razze2rászer1d2z1erdéze2régzer1g2ze2rioze2rizzer1k2ze2rorze2rök2ze2rőz1erő_z1erőfz1erőiz1erőkz1erőlz1erőnz1erősz1erőtz1erővzer1őzzer1p2zers2kzers2pzers2tze2rurze2rusze1spr2zesteze1stoz1estt2zeszkzeszt2ze2tacze2tájze2tidze2títze2tomze2topze2tutze2türz1e2urz1e2vőze2ximz1expe2z1ébrzé2dakzé2datzé2dikzé2d1őzé2durzé2d3zz1é2gez1é2giz1é2gő2z1éhszé2jenz1é2jizé2kászé2kerzé2körzé2kúrzékü2lzé2labzé2ladzé2lakzé2laszé2limzé2l1o2zélőszé2lyazé2lyázé2lyozé2negzé2nikzé2nilzé2nimzé2nomzé2paszé2patzé2pauzé2pavzé2pátzé2pegzé2pezzép1f2zé2pinzé2pir2zépítzé2polzé2poszé2pud2zépülzé2rabzé2ragzé2rapzé2rarzé2ratzé2ravzér1d2zé2revzé2rimzé2ris3zérószé2rősz1értozé2sabzé2sanzé2sarzé2segzé2sészé2sokz1észbz1észlzé2szózés3zszé2tagzéte2nzé2tégzé2tolzé2torzé2tunzé2t1ű2z1év_2z1évnz1é2vü2z1évvzfora2zgás3szgá2zózgé2sazgé2sázgés3szgó1g2z1g2raz1g2ruzi2abozi2akózi2au22z1ibrzi2dénzi2ékezi2étazi2étázi2ga_zi2géjzi1g2r2zigyezi2kikzi2kimzi1kluzi2lerzi2l1üzi2makzi2mábzi2májzi2mákzi2márzi2mátzi2mázzi2náiz1induzi2négzi2nolzin1s2zi2ókázi2ókezi2ómázi2ómézi2ónézi2ónyzi2órázi2ósázi2ósézi2ótazi2ótázi2paizi2pájzi1p2lzi1p2rz2i3rezi2rónz2i3rőz1irtázir2toz1irtózi2sadzi2salzi2samzi2sarzi2sálzise2szi2sinzi2sitzi2sutzi2tétzi2tilzi2tinzi2tipzi2tirzi2tórz1izmozí2janzí2naczí2nadzí2nalzí2nanzí2naszí2natzí2nátzí2nélz1ínnazí2nosz1í2nyzí2r1azí2rogzítőa2zítőe2zí2vajzí2valzí2varzí2verzí2v1őzí2vulzkaró2z2kennz1k2hüzki2séz1k2lázk2lerz1k2líz1k2luzkó2pázkőé2hz1k2rozlás3sz2láv_z2lávez2lávéz2lávkz2lávnz2lávoz2lávvzleg1gzlé2sízlé2sozlés3szlina2z2logezlo2pózma1przma1spzme2gezmu2söznó1trz1o2dúz1okkez1okle2zoktazo2labzo2l1ezol1f2zo2l1íz1ollózo2makzo2mapzom1b2zo2megzo2menzo2mélzomé2tzo2minzo2mizzom2jó2zo2mö2zom1szona2nzo2negzo2nelzo2neszo2névzo2ninzon1s2zo2nyezo2nyóz1opálz1o2pezo1phozo2rafzo2ranzor1f2zo2ridz1ormázo2ropz1orr_z1orrúz1orsóz1ostáz1ostoz1oszlzó1b2rzó1f2rzó1k2lzó1kré3zónád3zónáiz1ó2ni2z1ónj2z1ónn2z1óntzó1p2lzó1p2rzó2ráizó1stézóté2gzó1tréz1ó2vózö2gil2z1ökl2zökrü3zölds2zölebzö2lesz1ölyv2z1ömlz1ö2naz1ö2ná2zönne3zörejzö2rökzör2pá2z1örv2zössz2z1ötl2z1ötvző1f2rzőnyá2ző2ranző2relz1őrlőző2rolz1őrzéz1őrzőző2sisző1skáző1spező1staző1stiző1strző1szfző1sztzpen1nz1p2raz1p2riz1p2roz1p2ru3z2rí_2zsah_2zsajtz3sarjzs1atlzsa1trzs1azo2z3sáf2z3ságzsá2kó2zsálc2zsálm2zsáru2zsáte2zsáto2zsátöz3s2chzsde1szse2ba2zsebz2zsellzs1elm2zselözs1enczs1ene2zsesezs1evé2zs1ex2zséhszs1éle3zséry2zsérz2zséte2zsidő2zsigá2zsigéz3sipk2zsist2zsivózs1izézs1izz2z3síb2z3sík2z3síp3zsíré3zsírrzs1k2r2z3sofzs1oli2zs1opz3sorozs1ónézs1órá2zs1öszs2pirzs1p2lzs1s2kzs1s2pzs1troz3s2tú2zs1ud2zsugrzsusz22zs1új2zsült2zsünn2zs1üzzs3zacz3szagz3szavzs3zápzs3zász3szemz3szerz3sz2kzsz2t2zt1aknztan2ezt1appztaso2zta1spzt1ábrztá2cszt1ág_z2táliztárt2ztá2szztávi2z2t1efz2tentzte2szzt1ég_zt1égbzt1égrz2télézt1élűzté2rázté2szzt1évtztia2gz2tidiz2timáz2t1íjzt1opeztó1p2ztó1spztó1trzt1ökoztön3nz2t1özztőe2lztőé2bzt1őrlzt1ősűz1tréfz1trilz1t2rüzt1t2rz2t1ugztus3sz2t1újz2t1ügztü2léztül1lz2t1ützu2b1azu2b1izu2c3szu2gagzu2gapzu2ginzu2gitzu2givzu2lelzulya2zu2mabzu2majzu2malzu2marzu2melzu2mélzu2molzu2murz1undozu2n1ézu2ralzu2ramzurat22z1urnzu2sadzu2salzusa2nzu2saszu2siszu2s1ízussz2zus1trz1u2tá2z1utczu2tolzu2tó_zu2tóbzu2tóizu2tójzu2tónz1u2tuz1ú2jéz1ú2jízúré2tzú2té_zú2ti_zú2tibzú2tigzú2tihzú2tinzú2tivz1ú2tíz1útróz1ügykz1üldöz1ü2rüz1ü2tez1ü2téz1ü2tőzü2zenzű2csazű2csáz1űrlazű2z1ázűzé2rz1ű2zőzva2suz2vit_z2vitjzzá1trz3zsákz3zsám", + 7 : "_adás1s_ad1yé__agy1e2_agyon1_agy1ó2_agy1ű2_akác1c_aká2cs_aku1p2_ala2g1_ala2pa_alo2m1_al2tén_al2tin_anti1s_apa1p2_ar1á2c_ar2cal_ar2cél_ar2cin_ar2cio_ar2col_ar2c3s_ács1ék_ág1árn_ág1árt_ál2lin_ál1o2k_ár1a2l_ár1a2p_ára2sz_ár1á2z_ár1t2r_ász1ál_át1a2d_át1a2k_át1alt_át1a2n_át1a2s_át1o2r_át1o2s_ba2bál_ba2bol_ba2j1e_ba2kál_ba2kur_be2at__be1str_be1szk_bé2r1o_bi2tag_bi2tel_bi2tur_bol2ta_bo2nav_bo2raj_bo2ran_bo2ras_bo2rat_bo2rác_bo2rál_ce2t1ű_csa2k1_da2c3s_dal1an_da2lás_da2lén_da3lol_den2g1_dé2res_di2afo_di2aka_di2csá_di2ómá_dó2mor_egy1a2_egy1á2_egy1ev_egy1in_egy1ö2_el1a2k_el1ass_el1e2c_el1e2h_el1ejt_el1e2l_ele2ma_ele2má_el1e2n_el1e2p_el1e2r_el1esh_el1esn_el1ess_el1esv_el1e2t_el1evi_el1éde_el1éne_el1é2p_el1é2r_el1é2v_el1i2h_el1i2s_el1izz_el1okk_el1oko_el1öle_el1ölé_el1ölh_el1öli_el1ölő_el1ölv_el1ül__el1ülh_el1üli_el1ülj_el1üln_el1ülv_es2t1a_es2t1á_evés1s_ez1e2l_édes3s_ég1esz_ég1ér__ég1érn_égés3s_égé2sz_ékes1s_él2c1i_él1ike_ér1a2n_ér2cék_ér1e2l_ér1e2s_éré2sz_ér1é2t_ér2vad_ér2val_ész1el_ész1em_ész1es_ész1ő2_év1á2g_év1é2g_év1é2k_fa2it__fa2leg_fe2lev_fin2ge_ga2zan_gát1al_gá2zsu_gene2a_giga1s_gonor1_gó2lel_góli2g_gó2lis_gő2zen_gő2z1ő_ha2bor_ha2b1ő_ha2b1u_ha2dal_ha2jom_ha2lác_ha2leg_ha2lep_ha2let_ha2lis_ha2sor_has3sz_ha2tag_há2m1a_há2tus_há2zol_hé2t1o_hi2tis_hodás1_ikerü2_ikon1s_in2gin_io2n1á_ipa2re_íj1áto_ív1á2r_ív1ell_ja2kér_ja2kov_já2szá_já2szó_je2l1a_je2leg_je2lev_jó2dal_jó2t1á_kale2i_ka2nar_ka2n1e_ka2ras_ka2rem_ka2rék_ka2r1ü_kása3l_ke2csó_ker2ta_ké2nét_ké2tab_ké2tad_ké2tal_ké2tan_ké2tap_ké2tas_ké2tat_ké2tau_ké2zem_ki1krá_ki2ság_kla2uz_kló2re_ko2rác_ko2sis_kó2r1e_kö2d1ő_kö2zis_kö2z1ő_la2kal_la2kép_la2kor_la2pal_lá2bil_lá2bor_lá2p1e_lá2z3s_lege2t_leí2ro_leí2ru_le1k2r_le1s2m_le1t2r_lé2c3s_lé2g1á_lé2gér_lé2tör_lito1s_lo2bin_lo2mag_lo2mal_lo2m1á_ma2gal_ma2gar_ma2gál_ma2gór_ma2in__meg1if_mel2lá_mé2sza_mé2szi_mé2szo_mé2zis_na2gya_na2gyá_na2gye_na2gyú_na2pap_na2pál_na2p1e_na2pés_ne2meg_ne2min_ne2szá_né2gyá_né2vel_ok1a2d_ok1a2l_or2ran_or2v1é_or2vis_óme3g2_össz1a_össz1á_öv1e2g_öv1e2l_őr1e2g_őr1é2g_őr1é2s_őr1ist_ős1e2l_ős1e2r_ős1e2s_ős1é2g_ős1ért_ősz1a2_ősz1el_ősz1em_őz1e2l_őz1ete_őz1ére_pa2din_pa2par_pa2pál_parke2_par2ta_pá2c3s_pán2ta_pen3ny_pe2r1á_pe2rok_pe2rül_ponta2_pon2te_po2rad_po2ral_po2ran_po2rác_po2rál_pó2kis_pó2k1ö_pó2rás_pó2t1e_pó2t1é_pre1k2_prés3s_ra2b1á_rabic1_ra2bor_ra2gal_rajtó2_rá1spr_rá1s2t_rep2ro_ré3p2a_ré2sza_ré2szí_ré2szo_ré2sző_ré2v1á_ré2zel_ré2zet_ré2zis_ré2z1o_ri2zso_rizs3z_ro2min_ro2mis_ru2m1a_ru2mil_sa2h1a_saj2te_sa2vad_sá2r1ó_sá2s3z_sá2v1a_se2bal_se2b1á_se2bel_se2b1o_sí2rát_so2kél_so2kil_so2kis_so2kol_so2mat_so1ny2_so2ral_so2rál_sza2kö_száz1z_sze2gí_szé2fa_szén1n_szé2t1_széte2_szín3n_ta2gal_ta2g1á_ta2g1e_ta2gép_ta2nag_ta2nál_tan1d2_ta2nis_ta2t1í_ta2tor_ta2tur_tá2v1a_te2aka_té2nyí_té2ret_tol2le_tő2gya_tus3zá_tű2zse_tyú2ka_utas1s_úszós2_üstö2l_űr1é2s_űr1éte_űr1ita_űr1öss_va2dár_va2dét_va2dóv_va2d1ö_va2d3z_va2j1e_va2kal_va2kap_va2k1ö_va2rak_va2sab_va2sar_va2sás_va2s1e_va2sék_va2sol_vas1tr_va2s1ü_va2s3z_vá2d1e_ver2sz_vé2g1o_vé2rik_vé2r1o_vé2sza_vé2szá_vé2szí_vé2szo_vi1g2n_ví2zed_ví2zem_za2j1ö_za2jut_zá2r1e_zű2r1őaadás1saala2g1aá2r1e2aá2t1á2aá2t1e2aá2t1i21a2bajgaba2nalaba2ratabá2rakab1á2rúa2b1e2bab1e2láabe2lemab1elsza2b1elta2b1erda2b1érza2b1éveab1i2doab1i2keabi2nába2b1ing1ablaká1ablakh1ablakk1ablakrab1oltóabo2rakabo2rina2b1ö2za1b2rita2b1urdabú2s1áaca2léta2c1a2na2c1elea2c1eléa2c1elhac1ellea2c1elma2c1eloa2c1elva2c1e2vacél1e2a2c3hoza2c1ikea2c1inda2c1istack1aroack1éteacs1álla2csáruacs1egyac3seml1a2cséba2cs1ékacs1orma2cs1öca2cs1úr1a2dag_1a2dagb1a2dagh1a2dagj1a2dagn1a2dago1a2dagr1a2dagt1a2dagúada2lapada2léna2d1anaa2d1annada2ralada2rutada2tabada2talada2teladaté2rada2tisada2tívada2t1őadá2rakadá2risadel1eja2d1embad1e2méa2d1emla2d1emuad1e2pea2d1e2vadé2katadé2késadé2kisa2d1érzad1i2boadi2kuta2d1inga2d1í2zadka2na1a2domáa2d1orca2d1org2adoriga2d1orza2d1osz1a2dóku2adósi_1a2dózóa2d1ö2ka2d1ö2ladő2rela1d2raca1d2rótad1u2ráa2d1útoad1ü2léae2l1á2ael1érhae2l1í2ae2l1ö2aé2derv2afajt_afi2asz2aformu2a1f2re2a1f2röa2g1ablag1a2céa2g1akka2g1akta2g1alja2g1almaga2loma2g1altag1a2noa2g1arca2g1aréa2g1artaga2tomag1a2tóa2g1avaag1á2gaa2g1álma2gá2ráa2g1árcagá2réva2gá2riag1árnáa2g1átáag1átfea2g1átha2g1átka2g1átmagá2tola2g1átsa2g1átvag1e2csa2g1e2da2g1e2ga2g1elaa2g1eloa2g1előa2g1e2ma2g1enya2g1e2pa2g1erdage2reda2g1erka2g1erőa2g1e2va2g1é2ja2g1ék_a2g1ékna2g1é2la2g1ér_a2g1érha2g1érkag1érteag1értéag1értha2g1étea2g1éveag2g1emag3gyara2g1igea2g1igéa2g1inga2g1inta2g1ista1g2nonag1oltóa2g1orga2g1orna2g1orra2g1orsa2g1orvagó2ráia2g1ö2la2g1öröa2g1ö2va2g1ö2za2g1ő2sa1g2rava1g2rófa2g1unda2guramagu2ratag1u2ráag1u2táa2g1útia2g1ü2la2gyakbagya2laagy1alga2gyaljagy1alm1a2gyamagy1anaagya2szagy1árvagy1e2ga2gy1elagy1estagy1esza2gy1ezagy1ék_agy1ékeagy1ékkagy1ér_agy1érnagy1érragy1érsa2gyimaagy2nyáa2gyorragy1urá1a2gyú_1a2gyúaagy1úr_aha2l1eah1o2viahú2sárai2k1adai2k1alai2k1arai2k1asai2k1olail2le_ai2na2lain1ala2ai2nasai2n1in2ai2rata2j1aduaja2kola2j1akóa2j1anaa2j1anta2j1anyaj1á2go1a2jánda2j1árba2j1árca2j1área2j1áréa2j1árra2j1e2ca2j1egéa2j1elaa2j1elfaj1elláa2j1eloaj1elváaj1elvoa2j1e2ma2j1e2raj1e2sea2j1égea2j1égéa2j1é2ka2j1érea2j1étea2j1i2da2j1intajobb1oa2j1olaa2j1o2vajó2sárajt1orga2j1útoa2j1útrajz1akaajz1atlaka2csea2kadag1akadála2k1adma2k1agaak1alkoaka2páda2karchaka2szöaka2tabaka2telaka2teraka2tikaka2timaka2tinaká2l1aaká2lisak1árada2k1árba2k1árjaká2sadaká2sajaká2salaká2saraká2savaká2szuak1e2geak1e2géa2k1elaa2k1eláake2lema2k1elja2k1eloake2lőka2k1elra2k1elva2k1emba2k1estak1eszkak1eszmak1e2tia2k1ékhak1ékrő2aképpéa2k1érca2k1érma2k1érra2k1érza2k1étta2k1igéa2k1illa2k1imia2k1inga2k1insa2k1ionaki2roma2k1isia2k1iska2k1ista2k1izma2k1í2zakk1alkak2k1edakk1ellak2kelmakk1eltakk1eseak2kola1akkordakk1öltak2k1ös1aknáka1aknáko1aknát_a2k1orga2k1orja2k1orv2akó1p21a2kózáak1összakrádi2ak2rétaak2rétáa1k2ritak1sz2tak2t1auakt1emb1aktívbaktí2ve1aktívk1aktívo1aktívs1aktívtakt1osza2k1udva2k1ujja2k1úrra2k1ülna2k1ü2ta2k1ü2va2l1ablala2citala2cora2lacséala2csüa2ladagala2gálala2g1eala2gépala2golala2gyaala2jasa2lakadala2kálala2kes1a2lakíala2kola2l1alja2l1alkal1a2loala2n1eala2pakala2pala2lapanala2pinala2pirala2poralap1ó2al1a2raal1a2ráala1s2pala2tívala2tórala2zúralába2dal1ábráalá2dala2l1ág_al1á2gáa2l1ággal1á2gial1á2goa2l1ágral1á2gúal1ágya1a2lámoa2lárakalá2rára2l1árkaláste2a2l1átdal1átépa2l1átfa2l1átla2l1átmal1egésal1egysa2legyüale2k1aa2l1elaa2l1elda2l1elga2l1elha2l1elnale2lőkale2lőta2l1elra2l1elsal1eltéa2l1elva2l1embal1e2méa2l1emla2l1eneale2pe_a2l1erka2l1ernal1esemale2sikale2tetale2volale2vőia2l1expalé2kalalé2katalé2keralé2kesalé2kora2l1éléa2l1éllal1é2lőa2l1élüa2l1érda2l1érzalé2teka2l1évial1i2doa2l1igéa2linasali2ninalió2raal1i2paa2l1iráa2l1iroal1isteal1izmaa2l1í2v1aljaka1aljakb1aljaké1aljakk1aljakoalkele21alkotá1alkotm1alkotóal2l1ajal2lalkall1állall1ázsall1egyall1emb1allergall1eseall1estal2l1idall1intall1órial2l1ő2al2old_alo2madalo2makalo2mapalo2maralo2masalo2mácalo2máralo2meralo2minalo2misalo2mitalom1p2alo2m1úalo2n1áalon1d2a2l1opeal1o2raal1o2roa2l1orralói2koal1ó2loaló2rájaló2rákaló2zanaló2zisa2l1ö2la2l1ö2zalp1eleal2tadaalt1elvalt1embalt1énealt1inaalt1ipaal2t1ir1altonkal1trakal1tranal1traval2t1út1a2lussalu1stra2l1útéa2l1útha2l1útja2l1útna2l1útta2ly1apa2ly1e2a2ly1ida2ly1ü2a2m1admama2gátama2kara2m1akta2m1akvama2nyaama2szöama2tadamata2nama2tela2m1a2ua2m1álma2m1átka2m1átla2m1áttam2b1agam2b1at1ambulaam1e2cea2m1elna2m1eloa2m1elsa2m1elta2m1elva2m1engamens1sa2m1erda2m1e2vamé2hesamé2leta2m1érda2m1étka2m1évé1amforáamid1i2a2m1igaa2m1igáa2m1igéami2na_ami2nanami2nina2m1iráa2m1iroami2selami2sep1amitbo1a2mitm1a2mitö1amitro1amitrú1a2mitsam2metaa2m1okea2m1okma2m1olda2m1ors1a2morta2m1orvam1ó2riamu2riza2n1adua2n1agaa2n1agá1a2nakrana2lap1a2nalóan1a2moa2n1ana1a2nanáan1a2nyana2pa2an1apa_a2n1apáan1appoan1a2ráana2szóana2szüana2t1ea2n1á2pa2násata2n1átaa2n1átka2n1átran2c1álanci2alan2c1ó2an2csajan2csarancs1etan2csizan2csutan2cs1üand1atland1elkand1elsan2derdan2d1esan2d1ő2an1e2gé1a2nekdane2l1áane2lélan1e2rea2n1ezea2n1élea2n1éria2n1érva2n1étka2n1étta2n1évcan1éveman1évesan1évetané2vébané2vénané2vétané2vévan1évhaané2vigan1évkean1évköa2n1évüang1azoan2g1ácang1átaan2g1edan2g1egang1embang1engang1eseang1éleang1élvang1érőan2g1ésan2g1ölan2g1ösan2g1ő2angy1elan2gyéka2n1igaa2n1igéa2n1infan1i2onan1i2ráa2n1iroa2n1isia2n1iska2n1ismank1ablank1aleank1arcank1arian2k1auan2k1álan2k1ekan2k1esa2n1old1a2nomáa2n1orra2n1orsa2n1otta2n1ónia2n1ónoa2n1ö2tans3szean2szalan2száransz1esan2szélan2szilan2szinansz1t2ant1agaan2t1egant1eszan1t2rea2n1u2ranu2szia2n1u2ta2n1ülő1anyagbanyag1g1anyagh1anyagk1anyagm1anyagr1anyagt1anyagú1anyádt1anyáékany1áloany1árka2ny1edany1egéany1egya2nyelaa2ny1ema2ny1ena2ny1éga2nyéhea2ny1ékany1élva2nyérőa2nyévea2nyévéany1inga2ny1ioany1oldany1óráany1ö2ra2ny1ő2a2p1agaa2p1ajáa2p1akcapa2lagapa2laka2p1alba2p1alja2p1altapa2masa2p1antapa2pána2p1aspapa2tadapata2napa2tálapa2t1öap1a2zoapá2ráéapá2ráhapá2ránapá2rárapá2rávapárba2a2p1área2p1árfap1árkaap1árkoap1ártóa2p1áruapáská2apá2túrap1e2déa2p1e2gap1e2léa2p1elfa2p1elhap1e2lőa2p1elta2p1elvap1e2nyap1e2rőa2p1e2va2p1éjea2p1élla2p1ér_ap1észla2p1étea2p1évea2p1ideapigaz1ap1i2koa2p1insa2p1irka2p1ismapo2radap1orcáap1orsó1a2pókáa2p1ö2z1apparáapp1inga1p2rémap2rés_a1p2ríma1p2rod1aprózóaps1orka2p1udva2p1ü2lar1ablaara2g1eara2kóhara2kóiara2kósara2kóta2r1alma2r1ana1a2rann1aranyb1aranyhara2nyí1aranyk1aranyn1aranyr1aranysara2pa_1arasz_ar1aszúara2talara2telara2tinara2tűrara2zona2r1ác_a2r1ág_a2ráganará2gábará2gáhará2gánará2gárará2gátará2gáva2r1ágba2r1ágea2r1ágfa2r1ágga2r1ágha2r1ágka2r1áglará2gona2r1ágra2r1ágsa2r1ágtará2nyea2r1árka2r1árrar1á2ruará2szeará2talará2t1öarázsi2arázs3zarc1agyarc1alaarc1anyar2c1esarc1él_arc1élbarc1éllarc1éltarc1ingar2csálar2csipard1acéard1eleard1előard1eltar2d1urar1egésa2r1embar1emela2r1e2rar1e2sear1e2sőar1e2vear1e2véar1é2gearé2kekaré2neka2r1épüa2r1érőar1észjaré1traar1i2dea2rimádar1i2miari2nita2r1ispari1szfari2zomar1í2téar2j1ázar2j1erarkas3sar2k1egark1eláar2képüarma2tearm1állarm1ingar2m1isarnis3saro2k1earo2kinaro2misa2r1optar1o2roa2r1oviaró2vára2r1ö2ba2r1ö2la2r1ö2zart1ablart1embart1orzar2t1uta2r1umlaru2tasa2r1úszar2valaarvas1sarv1ágya2sadagas1a2gyas1alaba2s1alka2s1anóa2s1antas1aranas1a2tya2s1á2ca2s1árra2s1ártas1ásváa2s1e2da2s1emba2s1e2nas1e2réa2s1éhea2s1ékea2s1é2la2s1ér_a2s1érdas1é2veas1i2gaas1i2gáa2s1i2oas1i2zoasírta2a2s1í2vas1okkeas1okosas1oktaasom1ora2s1orda2s1ormas1ó2ráa2s1ö2ka2s1ö2las1ö2veas3szin1asszoca1standa1s2tádas1tragas1trava1st2ruas1u2tua2s1ú2sa2s1ú2tasút1a21aszalóasz1aspasz1assa2szatha2szatiasz1ágbasz1ággasz1ágkasz1ágrasz1ágta2szálca2szálma2szárpa2szátaa2száthasz1átlasz1átsasz1elj2aszemc2aszeme2aszemé2aszempa2szemu2aszemü2aszemű2aszer_2aszere2aszeré2aszerk2aszerna2szerő2aszerr2aszers2aszert2aszerv2aszerzasz1estaszén1nasz1éréasz2férasz1ingasz1ista2sz1iza2sz1írasz2kesaszon1nasz1orsasz1ölta2sz1önasz1össasz2tabasz2tácasz2tövasz2tősasz1útrasz1üggasz2vitat1ablaata2datat1a2dóa2tajánata2kárata2kelata2latata2likata2pukata2punata2rana2t1azoa2t1álmatá2nalatá2rétatá2risatá2talatá2tára2t1átba2t1átfa2t1átha2t1átia2t1átja2t1átka2t1átla2t1átra2t1átsa2t1átta2t1átua2t1átvat1e2géate2jelateké2ra2t1elba2t1eldat1elega2t1elfa2t1elhat1eljáat1elköat1elküa2t1elmate2lőta2t1elra2t1elsat1eltaat1eltáat1eltéat1eltüa2t1elua2t1elűa2t1elva2t1elza2t1emba2t1eméa2t1emla2t1emóa2t1enca2t1enea2t1erda2t1erőa2t1eséates2tőat1eszmat1eszűate2tola2t1e2zaté2geta2t1éheaté2ke2aték1ela2t1élma2t1élva2t1épsa2t1érla2t1érma2t1érzat1észaat1észlaté2téta2t1étva1t2husa2t1iata2t1idoa2t1igea2t1igéa2t1igyat1illeat1i2máat1i2mia2t1impat1intéat1intoa2t1iráa2t1iroa2t1iska2t1isma2t1izéa2t1izga2tizmoa2t1í2tatí2vétat1oldáato2m1á1atombeato2mer1a2tomj1a2tomsa2t1optato2rála2t1orda2t1orga2t1orvató2ránató2riáató1stáa2t1ölea2t1öléa2t1ölőatö2vi_a2t1ö2za2t1ő2satrac1ca1t2radat2ramba1t2rava1t2réfa1t2rila1t2rógatt1adó1attaséatt1ingat2t1órat1t2rea2t1udva2t1undat1ú2szat1ü2léa2t1ü2vat1üzemat1űri_au2b1inaul2t1aau2sz1e1a2utonaü2zem_aü2zembaü2zeméaü2zemhaü2zemmaü2zemnaü2zemrav1aktia2v1anh1a2vantava2racava2rékava2szeava2szü1a2vatá1a2vatóavá2nana2v1átaa2v1áttavá2zalav1e2leavi2csea2v1oldav1oltóaza2cikazai2koazá2s1eazási2ka2z1e2gaz1e2leazé2kola2z1inga2z1i2oazo2nalazo2n1áa2z1oszazú2r1éáadás1sá2b1aduá2b1alká2b1á2gá2b1áráá2b1árná2b1átjá2b1átlá2b1átmá2b1átváb2b1árább1ossáb2b1ülá2b1e2gábe2l1aábe2l1áábe2légá2belnöá2b1e2má2b1e2náb1e2roá2b1é2gáb1é2keá2b1éksá2b1éltá2b1ér_á2b1érsá2b1i2dá2b1ikráb1illaábi2naiá2binasá2b1indá2b1ingá2b1intábla1krábo2rajábo2ranábo2rálábo2risá2b1oszá2b1o2vábu1sz2á2c1a2gáca1k2lác1e2l1á2c1éreáci2ósűá2c1i2sá2c1oszács1ablá2csakaács1aljács1appács1atká2cs1álác3sárgá2csáruácsboz1á2cseneá2csentá2cs1evács1é2gács1ékiács1ékkács1ékná2csimiács1intács1iskács1orrá2csoszá2cs1ovács1ó2rács1ö2ká2cs1ösács1ő2sá2cs1úrács1ü2lács3zená2d1akcá2d1albá2d1aljá2d1alká2d1atyád1á2szá2d1e2gá2d1e2ládel1ejá2d1e2máde2r1áád1e2tiádé1kréá2d1érzádi2cseá2d1i2dád1i2koá2d1intádióé2rádi2ókoá2d1i2pádo2raká2d1oszá1d2rótá2d1ú2sád1ü2léá2f1algá2f1e2má2f1e2táf1é2neá2f1i2dá2f1oszá2g1ablág1a2dáág1a2dóá2g1a2j1á2gakb1á2gakh1á2gaki1á2gakk1á2gakn1á2gakrá2g1aljá2g1allá2g1ang1á2ganká2g1anyá2g1a2pá2g1a2rá2g1aszága2tol1á2gazaága2zoná2g1á2gá2g1áldág1á2muá2g1árbá2g1árhá2g1árvá2g1ásóá2g1átáá2g1átéá2g1átfá2g1áthá2g1átiá2g1átlá2g1átmá2g1átná2g1átrá2g1átsá2g1áttá2g1átvá2g1e2cá2g1e2dá2g1e2gá2g1e2lá2g1e2má2g1e2pá2g1e2sá2g1e2tá2g1e2vá2g1é2gá2g1é2ká2g1é2lá2g1épíág1é2püá2g1ér_á2g1éráá2g1ériág1érteág1értéá2g1érvá2g1éteá2g1éveá2g1évéág3gyarági2aszá2g1ideá2g1igaá2g1ingá2g1intá2g1iriá2g1istá2g1iszá2g1oklág1oltóá2g1ö2ká2g1ö2lá2g1ö2zágport2á2g1unaá2g1undá2g1u2tágy1aljágy1alkágy1almágyás1sá2gy1e2ágy1ér_1ágygyűá2gyoszágy1ö2lá2gy1ü2á2h1orsá2j1adóá2j1akcá2j1akváj1ambuá2j1anaá2j1anyá2j1atlá2j1átáá2j1áttá2j1e2cá2j1e2ná2j1e2vá2j1é2gá2j1éreá2j1éteá2j1i2dájk1elláj2k1ő2ájl1aktáj2l1anáj2l1asáj2l1atáj2z3saá2k1a2dá2k1assá2k1atlá2k1a2uá2k1á2cá2k1á2lá2k1e2gák1e2leá2k1elká2k1elmák1e2rőá2k1é2lá2k1érmá2k1érvá2k1érzá2k1étká2k1éttá2k1i2dá2k1igéá2k1i2má2k1intá2k1i2sá2k1i2vá2k1oksá2k1oldá2k1ollá2k1orvá2k1ottá2k1ölőá1k2reáá1k2risá2k1útoá1k2vatál1a2jáála2karál1alaká2l1alká2l1almá2l1aneá2l1angá2l1antál1a2raála2szöála2szűála2tatála2tetál1atléá2l1ábrál1á2giá2l1árnálá2s3zá2l1átcá2l1átká2l1átmá2l1átúá2l1e2cá2l1e2dál1e2lőá2l1e2rál1esemá2l1eszá2l1e2tálé2kalál1é2leál1é2lőá2l1ér_á2l1érbá2l1érdá2l1érfá2l1érgá2l1érhá2l1érmá2l1érrá2l1érsá2l1érzá2l1év_1álhajaál1i2boá2l1igaá2l1igeá2l1igéá2l1indá2l1i2pá2l1iroáli2s1eáli2sisál1iste1államá1állata1állatuállás1sál2l1ejáll1ékéál2l1iz1állomá1álmaim1álmok_1álmot_1álokán1álokát1álokáuálo2kokálo2kosálo2madálo2marálo2masálo2m1áálo2m1eálo2motálo2m1úá2l1ontá2l1opeá2l1oszáló2rájá2l1ö2lál1tradál1t2reá2l1unaá2l1u2rá2l1u2tá2l1útoá2l1útrá2l1úttály1adaálya1g2ály1antály1assá2ly1e2á2lyéreá2lyéveá2lyideály1odvá2ly1ó2á2ly1ü2á2ly1ű2á2m1ablá2m1abrám1a2céá2m1ajtá2m1aktá2m1appá2m1arcá2m1attá2m1atyám1a2zoám1állaám1álloámán1trá2m1árbá2m1árná2m1árrá2m1átbá2m1átiá2m1átmám1á2zóá2m1e2bá2m1elaá2m1elhá2m1eljá2m1elmá2m1e2má2m1erdá2m1erkáme2rőkáme2rőtáme2rővám1e2seá2m1etiá2m1etűá2m1ércá2m1érdá2m1étká2m1idéám1i2dőá2m1igaá2m1igáá2m1igéá2m1illá2m1impá2m1indá2m1infá2m1ingá2m1invá2m1iráá2m1iroá2m1irtá2m1iská2m1ismá2m1i2zá2m1í2vámla3t2á2m1okáá2m1oklá2m1okmámo2risámo2sasám1ostoá2m1oszámpa1p2á2m1undá2m1u2rá2m1utáá2n1ablán1agyaá2n1akáá2n1akcá2n1akrá2n1allá2n1anóán1anyaá2n1a2oá2n1arcán1asszána2tolána2torána2t1űá2n1a2uá2n1állán1áradán1á2riáná2t1aáná2t1áá2n1á2zán2c1adán2c1asán2c1auán2c1álán2c1edánc1eleán2c1erán2c1etánc1éheánc1ipaán2c1irán2c1ó2án2c1ö2áncs1anánc3sásáncs1esánc3spoánc3szaá2n1e2gá2n1e2lán1e2mián1e2muá2n1e2pá2n1e2tá2n1é2dá2n1é2gá2n1ék_á2n1ékná2n1é2lá2n1ér_á2n1ércá2n1éréá2n1érlá2névadá2n1éveángás1sán2g1átán2g1elán2g1itán2g1iván2g1usán2gyasá2n1i2dáni2k1aáni2k1áá2n1i2páni2t1íáni2tolánk1aroán2kernán1k2lián1k2loán1k2ráá2n1o2bá2n1o2rán1oszlá2n1ő2zán2s1érán1s2peán1s2piáns1üldánt1acéán2t1edánt1ekéánt1elhánt1ékeánt1istán2t1izán2t1íván2t1ösán1traná2n1u2rá2n1u2tá2n1útoány1aggány1akcány1alkány1allány1apáány1araány1aráány1artány1árcány1árhány1árkány1áruány1árúánye2leá2ny1epány1esőány1e2vá2ny1édá2ny1égá2nyéheá2ny1élá2ny1ésá2nyéteá2nyétká2nyéveá2ny1idá2nyigéá2nyikeá2nyiroá2nyiská2nyitaá2nyoszány1ö2rá2ny1ösá2ny1ő2á2ny1urá2nyútoá2ny1ü2á2ny1ű2áo2szanáo2sz1eáo2szisáo2szivá2p1e2sáp1é2teá2p1itaápo2r1eá2p1u2tá2r1ablá2r1abrá2r1absár1adagár1a2gáá2r1ajká2r1akcár1aktiár1aktíá2r1almá2r1alv1áramai1á2ramáára2mál1á2rami1á2rams1á2ramu1á2ramúár1a2noá2r1antár1a2páár1a2póá2r1arcár1a2riá2r1aspára2tajára2talára2tavára2tálár1atléá2r1ábrár1á2loá2r1á2pá2r1árbá2r1árfá2r1árká2r1árrá2r1ártár1á2ruárá2szóá2r1átáá2r1átcá2r1átdá2r1átéá2r1átfá2r1áthá2r1átjá2r1átká2r1átmá2r1átrá2r1átsá2r1áttá2r1átúá2r1átvár2d1álárd1ellárd1emeár2d1őrá2r1e2gá2r1e2láre2mélá2r1e2rár1e2séár1e2sőá2r1é2gár1é2jeá2r1éksá2r1é2lá2r1éréá2r1étrá2r1éttá2r1étvá2r1év_áré2veká2r1évká2r1évrárgás1sár2gyirár2gyolá2r1igaá2r1igáá2r1igeá2r1illá2rinasá2r1incá2r1indá2r1infá2r1ingá2r1intá2r1invári2s1eár1iskoár1isteár1i2zoá2r1í2zárka1k21árkádoárnás3sárnya2nárnye2lár2nyemár2nyesár2nyokár2nyosá2ro2kááro2k1eá2rokhaáro2kolá2rokre1á2roksá2roktaáro2majáro2makáro2márá2r1o2ráro2sasáro2sálár1otthá2r1o2váró2ráká2r1óriáró1skááró1s2pá2r1ö2lá2r1ö2zárs1aszár2s1álár2s1enár2siráárs1oktár2s1olár2s1önár2tadoár2t1aj1ártaloárt1aráárta3u2árt1állárt1elhárt1eliárt1ellárt1elnárt1embárt1eseárt1etiárt1éleárt1izgár2t1önár2t1ösár2t1ut1á2run_1á2runa1á2runáá2r1und1árura_áru2taláru2tasáru2tuná2r1útaá2r1útbá2r1útéá2r1úthá2r1útjá2r1útná2r1útrá2r1úttá2s1ablás1a2doás1ajtóá2s1akcá2s1akvás1a2laás1a2liá2s1altá2s1ambá2s1anaá2s1anóá2s1antá2s1anyás1a2páás1a2raá2s1arcá2s1aré1á2satáá2s1atlá2s1a2uá2s1azoá2s1ábrásá2gaiá2s1ágbá2s1ágká2s1á2pás1árasásá2rétásá2rón1á2sásb1á2sásiás1á2taá2s1átáá2s1átlá2s1átrá2s1á2zá2s1e2dás1e2gyá2s1e2lá2s1e2má2s1e2ná2s1e2sá2s1e2tá2s1é2gá2s1éheá2s1é2ká2s1é2lá2s1ér_á2s1érdá2s1érlá2s1érsá2s1érvá2s1é2sá2s1i2dási2k1eá2s1illá2s1imáá2s1ingá2s1iniá2s1intá2s1i2pá2s1iská2s1ismás1i2szá2s1í2vá2s1í2záso2dauás1oktaás1oldóá2s1ontás1o2ráá2s1orgá2s1orká2s1orsá2s1orvá2s1o2vás1ó2ráás1ó2sáá2s1ö2ká2s1ö2rá2s1ö2zá1s2pórás3szabás3szagás3szájás3számás3százás3szélás3szocás3szokás3szolás3szorás2t1ösás1t2reás1trófá2s1u2rá2s1u2sá2s1utáá2s1u2zás1ú2szás1ü2veá2s3zacász1agaász1agáász1aleá2szanaá2sz1apász1aszá2sz1auász1ággász1ágyászás1sá2szátaá2sz1ázász1e2bászebé2ász1elnász1elvász1embás3zeneás3zenéász1engász1e2pász1e2tász1e2vá2sz1éjá2sz1épász1éréá2szindász1ingá2sziroász1istász1ita1ászkáiá2szoklász1orsász1öltá2sz1ösász1övéász1ő2sá2szuniász1ú2sá2sz1ünát1a2jááta1kréá2t1almát1a2luát1alváá2t1aráá2t1arcát1áramá2t1árbá2t1árná2t1ártátá2s3zá2t1átfá2t1átuá2t1embáte2rikáté2kajáté2kasáték1emáték1esáté2koláté2k1üá2t1érbá2t1érrá2t1érzá2t1igéá2t1ingát1i2paá2t1iráá2t1izéá2t1izmá2t1í2rátle2g1átlege2átműt2ráto2kolát1oktaáto2ranáto2rasáto2rácáto2ráláto2risát1orzáá2t1o2xátói2koá2t1ö2v1áttekiá2t1udvátu2miná2t1u2rátu2szeá2t1u2tá2t1úr_á2t1úrbá2t1úrhá2t1úrná2t1úrrá2t1ú2sá2t1ü2vá2v1ajkáva1sz2á2v1áthá2v1átjá2v1átká2v1átuá2v1e2láv1é2deá2v1igaá2v1igéá2v1infá2v1ingá2v1intá2v1iroá2v1olvá2v1oszá2v1útiá2v1útoá2z1abláza2daláz1aktáá2z1alká2z1anaá2z1anoá2z1anyá2z1a2páz1a2rááza2tanáza2tésáza2tiká2z1a2uá2z1á2gá2z1á2lázá2rárázá2rátá2z1árbá2z1árcá2z1árdá2z1árpá2z1átéá2z1átrá2z1átüá2z1é2lá2z1é2pá2z1ér_á2z1érőá2z1érzá2z1éveá2z1i2dá2z1igéá2z1illá2z1imáá2z1imiá2z1infá2z1ingá2z1injá2z1intázi2s1eázi2sirázi2s1üázi2szóá2z1ontá2z1o2rá2z1oszázói2koáz1ó2ráá2z1óriázó1s2pázs1ajtázs1alaázs1alkázs1allázs1anyázs1aráá2zs1auázs1e2cázs1e2lázs1e2mázs1éneázs1éteá2zsideázs1igáá2zsigeá2zsimmá2zsinvázs1iská2zs1í2ázs1ó2rá2zs1ő2á2zs1ujá2zs1utá2zsútoázs1ü2vázs3zoná2z1u2rá2z1ü2gbaba1k2ba2b1ágbab1állba2bátvbab1éteba2bolabab1oldba2c3huba2csorba2d1ár2badomá2b1agy_2ba2kácbak1állba1k2liba1k2ri2b1aktubak1urabak1urábal2lakbal2lanbal2lálbal2lázbal2legbal2lembal2lesbal2linbal2lórbal2tizbanás3sban2c1e2b1angyban2kabban2karban2kerban2képban2kirban2kolban2kut2b1arc_2b1arcé2b1arcn2b1arco2b1arcrbar2csö2b1arcú2b1argubaro2ma2b1artébaság1g2b1aspeba1s2póbas3szeba1s2taba1s2tába1t2rá2b1a2ulbá2b1esbá2csor2b1á2gabá2gyalbá2gyarbá2j1e2báj2n1ábá2j1ó2bá2j1ö2bá2l1apbá2l1e2bá2l1éj2b1állí2b1állo2b1állvbá2lyadbáni2asbá2r1ajbá2r1ásbár2dasbár2d1ábár1i2o2b1árny2b1áruj2b1árur2b1árutbá2szanbá2szasbá2szilbá2szipbá2t1albá2t1á2bb1a2dab2b1alkb2b1alsb2b1alub2b1alvb2b1állbb1á2rub2b1á2sb2b1elvb2b1embbb1e2rűbb1estéb2b1etnbb1é2lűb2b1érmb2b1évibb1i2deb2b1igabbigaz1bb1illab2b1indb2b1intb2b1invbbi2tatb2b1ittb2b1í2rb2b1oktbb1oltáb2b1olvb2b1ö2mb2b1ő2sb2b1u2gb2b1u2tbbúgás1b2b1ú2sbea2t1ebea2tinbe2csarbe2csárbegés3sbegész1be2gyelbe1k2rébel1elsbe2lemzbele1trb1e2musbe2n1álbe2n1ékben2nég2b1e2pébe2r1adber1aláber1allber1anyber1assbe2r1avber1állb1erdeiber1egéber1egyber1éssbe2rismber1oldber1osz2b1erődber1ős_be2r1ubbe2r1unbe2r1ut2b1esél2b1e2sőbe1s2p2bessz1abessz1ábe1s2tabe1t2hibe1t2rabe1t2rébe1t2robe2vező2b1e2vőbé2d1asbék1alk2b1ékszbé2l1ed2b1é2lőbé2lyinbé2r1aj2b1éráb2b1éráh2b1éráv2b1érdebé2relmbé2r1id2bértelbé2sz1obfe2lenbgyökö2bi2d1adbi2d1al2b1i2dőbik1alabi2k1álbi2k1embi2k1ő2bi1k2robil1imabil1intbilis3s2b1illő2b1i2mi2b1indá2b1inká2b1i2on2birkái2birodá2b1irtá2b1irtó2b1i2sibi1s2tobit1arábit1elhbit1elrbit1eltbi2t1onbit1urabi2t1utbíróé2r2b1í2zü1b2lablbla2kalbla2kembla2kikbla1p2lbla1s2tble2r1ible2terble2télble2t1oble2tüzb1ljanablo2n1áb2l1őzéblu2eszbo2c1akbogás1s2b1o2kíb1o2kozbokszé2bok2szó2b1okta2bolaj_bolás1s2b1oldóbolo1g2bol2t1e2bolvasbon1avabon2canbon2c1ebo2n1e2bo2n1orbon2t1ibor1akkbor1anybor1aszbor1atrbo2r1aubo2r1avbor1ácsbo2r1ázbor1e2cbor1e2rbo2r1ilbo2r1iz2b1orr_2b1orrúbor1strbor2sülbor2sütbor1trebor1tréborvíz1bor2zsa2b1osztbo2t1albo2t1ácbo2t1e2bo2t1ilbot1infbot1intbo2t1ó2bo2z1e2bo2z1irbó2r1adbó2r1anbór1ásvbó2r1inbó2r1olböl2csü2b1öltö2b1összbő2r1a2bő2r1á2bő2r1embő2r1enbő2r1ésbőr1izgbő2r1o2bőrren2bra2kösbrá2nagbrá2nasbrá2szebri2derbri2telbró2m1abtermo1bu2g1i22b1ujj_2bujja_2bujjad2bujjai2bujjak2bujjam2bujjas2bujjat2b1ujjá2b1ujjobuk2j1e2b1ural2b1u2rúbus3szebu2szabbusz1ajbu2szalbu2szasbusz1enbu2szidbu2szimbu2szinbu2szipbu2szizbusz1íj2b1ú2ri2b1ü2te2b1ü2té2b1ü2vebű2n1ő2bű2v1e2bű2z1a2bvá2nyí2c1a2dóca2k1ázcak2kolcak2k1öcala2g12c1albucal1éteca2l1ipcal1osz2c1a2nica1p2ró2c1assz2c1aszt2c1a2zocá3p2a32c1á2pocá2r1as2c1á2só2c1á2tüc2c1a2jcc1a2nyc2c1a2rc2c1elmc2c1ér_c2c1i2mcci2na_cc1i2pac2c1i2zccs1átlccs1ellccs1elvccs1emlccs1orkcc3soroccs1ö2lccs1öntccs3zencda2l1i2c1e2dzcegés3sce2ginace1g2ráce2gyenc1e2gyi2c1egys2c1elad2c1elha2c1eljác1e2lőac1e2lőő2c1első2c1eltá2c1elvácen2c3scen2tau2c1e2picep2szicep2tim2c1e2rőcer2tárcer2tegcer2télcer2t1ö2c1e2sőce1stracet1illce1t2race2t1uscé2g1a2cé2g1á2cé2g1egcé2ge2rcég1erecég1erécé2getécé2getőcé2g1ékcég1igacé2gigécé2g1izcé2g1okcé2g1u2cél1a2ncél1a2rcél1embcé2l1ercé2lénkcé2lérecé2l1iscé2l1ö2cé2l1ő2cé2l1ut2c1é2lű2c1érté2c1észh2c1évad2c1é2vü2c3harc2chitel2chitet2c3hossci2a1d2cia2fagci2a1g2ci2akarci2akasci2a1p2ci2aszaci2aszáci2aszéci2aszoci2aszóciá2lanciá2nár2c1i2dé2c1i2dőcik2kajcik2kancik2k1oci1k2la2c1ikráci2n1al2c1inge2c1ingrcin2kaccin2kolcin2tarcinus1scio1graci2ódarci2ókalci2ókamci2ó1klci2ókomci2ókosci2ómagci2ószoci2ózón2c1iskoci1stadci2sz1ici2t1ajcit1ár_cit1áracit1árécit1árocit1érrci2t1olciu2mincí2m1a2c2k1aljc2k1arccka2romc2k1árnc2k1e2gc2k1érlck1o2pec2korruc2korrúc2k1ü2vclu2b1a2c1o2kí2c1olda2c1oldá2c1oldóco2li2mcol1ima2colvad2colvascom2balcom2bizcom2bolcom2bór2c1o2pecop2f1ő2c1o2ric1o2rom2c1orro2c1orrú2c1oszt2c1ó2rác1ö2t1e2cs1akc2csaláí2csalát2cs1alg2cs1alkcs1alle2cs1almcsa2pál2csapka2csapkácsa2por2cs1arc2cs1arz2cs1asscs1á2gu2csáram2csáratcsá2rát2cs1ásá2c3sási2cs1ásó2c3sávocs1e2cecse2csa2cs1edz2csellá2cselőí2cselta2cseltá2cselv_2c3selycse2niscse2rál2cseszmcse2tüz2cséhes2cs1élecsé2m1a2csérde2csérvb2csérvh2csérvr2csérvvcsé2szacsé2tab2csévek2csimog2csimpo2csinas2cs1ind2cs1inp2cs1inv2csiono2c3sírb2c3sírjcs1í2ró2cs1í2vcskasz22cs1o2ácso2k1á2csokk_2csokoz2csolaj2csolda2csoldá2cs1oli2csollócso2mor2cs1orc2c3sorv2csoszl2csosztcsó2kes2cs1óné2csökrü2csössz2csözöncső2szőc3s2pekc3s2tab2c3suho2cs1una2cs1ura2cs1utá2cs1ünncs1ü2tec4s3zaccsza2kécs3zokncuc2cincula2te2c1u2no2c1u2ra2c1u2tá2c1ü2lécva2nemcva2névcve2név2d1ablada2c1irdad1ala2dadato2d1a2dóda2g1elda1k2réda1k2ri2d1aktudal1ajtda2lakjda2lakuda2lakúda2lapcda2lapkda2lapnda2laprda2laptda2lattda2l1áldal1árádal1eládal1eledal1elldal1él_da2linddal1izo2d1alji2d1allodalomo2da2l1orda2l1urdal1útrda2pakédara2bedar1alada2rantdar2c3hdar2cso2d1arcúdar2d1ádar2delda2r1elda2r1ildarus3sdar1uta2d1asszda1s2tadasz2tádat1apudat1arádat1assdat1elídat1elldat1eltdat1istda2t1írdat1ívedat1ósá2d1a2uk2d1a2ur2d1a2zé2d1á2bédá2c3ho2d1á2gy2d1állídá2m1utdá2nyazdá2r1agdár1assdár1atkdá2r1e2dár1iskdár1ismdá2r1ot2d1árú_d1á2sásdá2s1e2dá2s1ü2dá2szagdá2szaldá2szardá2szavdász1eldász1emdász1erdá2szébdá2szipdá2szirdá2szisdá2sz1ödá2sz1údá2sz1ű2d1á2ta2d1á2tádá2t1e22d1á2té2d1á2tí2d1á2túd2d1i2dd2d1o2ddea1sz2de2aszf2d1e2béded1ellde2d1ú22d1e2dzde2g1áldegen3nde2g1ékdeg1érideg1éssdegész1de2g1ölde2g1ösdegyez1dek1ékbde2k1éldek1old2d1eladdele2mádele2mudelés3s2d1elha2d1elhodel2laldelle2ldel2lerdel2losdel2lórdel2lőr2d1elma2d1elnöde2lőad2d1elsa2d1elv_2d1elvá2d1elvode2m1áldem1ingde2n1ó2de2o1g22d1e2péde1p2reder1akade2ralade2r1arder1ázt2deredmder1ellder1eltde2r1élde2r1ilde2r1inder2nékder1ős_der1üle2destesde2s1úr2d1eszmde2szű_de2t1ékde2tikade2tiká2d1e2vőde2z1ordé2g1a2dé2g1á2dé2g1egdég1észdég1igadé2gigédé2g1okdé2g1u2dé2k1abdé2k1apdé2k1asdé2k1audé2k1ágdék1elldék1elődé2k1erdék1iszdé2kivádé2k1ordék2rémdé2k1utdé2l1á2dé2le2ldél1elődél1estdé2l1ö22d1é2lődé2l1u2dé2nyid2d1é2pí2d1é2püdé2r1andér1emldér1esédé2r1ik2d1érté2d1érthdé2r1út2d1érzédé2s1ajdé2s1azdé2s1árdé2s1égdész1akdé2s3zádé2szévdé2sz1odé2t1asdé2t1is2d1étke2dévesb2dévesi2dévesk2dévesr2d1évez2d1é2vi2d1é2vu2d1é2vüdgá2zárdgázát1di2ai2kdi2aképdi2akoldi2a1p2di2aszadi2aszkdi2aszódi2a1t2diá2k1ediá2kol2d1i2dődi1k2ro2d1i2mádin2gal2d1ingádi2n1óm2d1intédi2ókamdi2ó1kldi2ókokdi2ó1p2dió2si2diós1ikdi2óspedi2ószű2dipar_2diparb2d1i2rá2d1isko2d1istedit1arádiu2mil2d1i2zé2d1í2rá2d1í2ródí2sz1adí2szerdítés3s2d1í2ve2d1í2vü2d1í2vűdje2gyadlá2s3zdné2v1ádo2b1agdo2b1árdo2b1eldo2b1or2d1o2dúdogasz1dogás1sdo2g1oldogos3sdo1g2rádo2k1áldok1úto2d1olda2d1oldá2d1oldo2d1oldó2dolvasdom2beldom2boldom2bóndo2n1addon1alado2n1asdo2n1áldonos1sdo2nyaldo2nyar2d1o2pedor1akndo2r1asdor1álldo2r1e2do2r1ildo2r1is2d1orrúdor1tró2dorvosdóm1orgd1ó2rákdó1s2kádó1s2rádó1stábdó2s1ű22d1ó2vódö2g1eldö2k1el2döntözdő2ny1a2d1őráldőr1egydőr1eledőr1elő2d1őrél2d1őrifdő2r1is2d1őrordő2r1özdős1ododő1s2pidő1s2tadőt1álldrá2szedrá2taldré2szádro2g1adro2gendro2nyidro1szfdro1t2rdró2bajdró2tisdsé2güldsza2kédsze2radszert2d1sz2t2d2t1éknd1t2rófdu2g1árdula1k2du2l1imdu2l1in2d1u2ni2d1u2nodu2s1asdu2s1iv2d1u2todú2c3sodú2j1é2dú2r1e2dú2t1a22d1ünnedva2rajdva2r1edvá2nyídve2raldve2rárdve2ripd2v1érdd2v1érzdvi2csadvi2csád2v1igadvigaz1dvitéz1d2v1ü2z2dzs1iseadás1se2a1k2rea1p2roe2a1st2e2aszemea2t1egeat1ingeatmo1sea2t1oreat2róneá2l1akeá2l1e2eá2l1ineá2lismeá2l1óreá2n1ateá2n1áteá2n1e2eá2nyapeá2nyareá2nyaveá2nyéneá2nyifeá2nyiseá2t1e2eb1adtae2b1ajke2b1alkeb1a2nyeb1a2zoebe2l1áe2b1enceb1esteeb1estée2b1érde2b1érze2b1infe2b1inge2b1iráe2b1i2se2b1izzeb1o2lae2c1a2nec2c1a2ec2c1éreccs1áte2c1eloe2c1elv2ecentoece2t1o1e2cets1e2cettece2tüze2c1evéecs1aráecs1áráecs1árbecs1ároe2cs1ole2cs1öle2c3süted1a2nye2d1a2ze2d1á2ce2d1eloe2d1emlede2rakede2relede2r1oede2s1oede2tele2d1é2jedé2kisedé2k1oedé2lyáedé2lyo1e2dénn1e2dénye2d1érdedé2s3zedigaz1e2d1inte2d1irae2d1őrsedő2s1üe1d2roged2v1a2ed2v1áredv1ér_ed2v1öz1e2dzői1e2dzőveegész1e2e1t2hefa2x1iefek2táef2f1inefo2nikeforma2e2g1a2de2g1a2ge2g1a2je2g1a2kega2lacega2lakega2lane2g1alhe2g1alje2g1alme2g1alse2g1alte2g1a2meg1a2nyeg1a2póe2g1apreg1a2roe2g1asse2gaszúega1t2re3g2atye2g1a2ueg1a2vae3gazolega2zoneg1á2cse2g1á2ge2g1árbe3g2árge2g1árne3g2átueg1e2gee3geledege2legege2lejeg1elége2g1elfe3g2elge2g1elme2g1eloe2g1elze2gemele3genye1egere_e2gerede2g1eróe2g1erőeg2eseke2getaleg1e2vee2g1é2ge2g1épíegé2rezegé2résegé2ri_eg1értéeg1érthe2gértőeg1észl1egészseg3gyaleg3gyaneg3gyáseg1i2dee2g1igae2g1igée2g1ingeg1i2roe2g1ivae2g1iváe2g1í2re2g1o2de2g1o2keg1o2lae2g1oldego2rose2g1orre2g1orve2g1o2seg1ó2rae3görögegö2röme2g1ö2zegő2szie1g2rate1g2rófe2g1u2se2g1u2tegü2gyeeg1ü2liegy1a2ge2gy1ajegy1akte2gy1asegy1a2te2gy1aue2gy1álegy1árfegy1elfegy1ellegy1eloegy1elze2gyeni1egyezmegy1éks1egyéniegy1ér_e2gy1ize2gy1ole2gy1osegy1ö2le2gy1öse2gy1özegy1ő2rehá2zaleh1elláehe2rálehe2rátehe2renehe2resehe2rinehe2rolehé2néve2h1orse2i1g2neil2le_ei2n1á2ein1t2reí2ródneí2rói_eí2róikeí2róineí2róiteí2rójaeí2rójáeí2rójeeí2rójueí2rón_eí2rónaeí2rónáeí2rónye2j1a2de2j1á2ge2j1elae2j1elce2j1elfe2j1eloe2j1elue2j1enge2j1enze2j1é2je2j1é2ke2j1étee2j1i2de2j1intejt1érée2j1ü2te2k1ablek1a2céek1a2dáek1a2jae2k1alje2k1aniek1arc_ek1arcaek1arcrek1arcúeka2sipek1álloek1áradeká2raiek1árase2k1árde2k1árfe2k1árhe2k1árke2k1árme2k1árne2k1árre2k1árve2k1áthe2k1átmek1á2toe2k1áttekci2ófe2k1ebée2k1eggek1elhae2k1elke2kelláe2k1elme2k1eloe2k1elrek1eltaek1e2pieke2szoe2k1evi1e2kééh1e2kéikek1ékeke2k1éktek1é2lee2k1épíeké2rüleké2tele2k1étke2k1étle2k1étte2k1éviek1i2gaekigaz1ek1i2gee2k1igée2k1imaeki2máre2k1ináe2k1iske2k1ispek1i2zoekk1oszeklés3se2k1odvek1ollóe2k1olvekor2daek1orrae2k1orvek1otthe2k1ó2hek1ó2raek1ó2ráe2k1ököek1ö2lőe2k1önke2k1önte2k1örve1k2rame1krétáeksz1alek2szipekt1elkek2t1okektus1se2k1utáe2k1utóe2k1úr_e2k1ünnel1a2bae2l1a2ce2l1a2del1a2gye2l1a2lelan2diel1a2neel1a2niel1a2pael1aszael1asziel1aszóel1aszue2l1a2uel1a2vael1a2veel1á2giel1á2goel1á2loel1á2ráel1á2reel1á2réel1á2roel1á2ruel1á2rúele1bree2legyüele1k2lele1krá1elektre2l1elbe2l1elme2lelőzele2mad1eleme_1elemeke2lenerele2nélele2palele2pape2l1ernele2rózele2sőbele2sősele1staele2télel1e2xielé2kakelé2k1áelé2kevelé2ledel1é2léel1é2lie2l1éltel1é2lüe2l1élvelé2ri_e2l1érpel1érthe2l1érz2elész_2elésző2elészü2elészvelé2tele2l1étke2l1étte2l1év_el1idegel1i2doe2l1igée2l1impel1i2one2l1i2pe2l1irael1isteeli2tineli2tolel1i2váel1i2zoel1í2ráell1alkel2lamp1ellátmel2lelm1ellená1ellenf1ellenő1ellens1ellenzell1infell1intel2l1orell1oszell1óráel2l1űr1elmééh1elmétee2l1o2le2l1opee2l1ö2z1elődei1e2lőfú2előké_1előny_1előnyb1előnyh2előnyi1előnyk1előnyn1előnyö1előnyr1előnyt1előnyü1előreh1előrejel1őrize2l1őrüelő1s2p2elősze2előszé2előszi2előszó2elővis2előviz1e2lőz_el1sz2tel2t1aj2eltet_2eltete2elteté2elteth2elteti2eltetj2eltetn2eltets2eltetü2eltetvel1t2rae2l1u2telü2kénelv1adael2v1atelv1ászelv1éleelv1oltel2v1ó2e2ly1a2e2ly1á2e2ly1ele2ly1élely2kéje2m1adtem1a2jae2m1ajáe2m1ajtem1a2kae2m1akue2m1allem1almáe2m1anae2m1atle2m1a2ue2m1a2ve2m1árae2m1árne2m1ároe2m1árue2m1ásáemát1a2e2m1átee2m1átle2m1átte2m1átu1embarg1emberf1embersemb2leneme3gerem1egyée2m1egze2m1ela1emelet1emelkee2m1elm1emelőb1emelőe1emelős1emelőv1emeltye2m1emue2menere2m1e2pe2m1e2veme2z1aeme2z1oeme2z3se2m1é2je2m1ékeem1észlemé2táremé2telem1i2dőe2m1igae2m1igee2m1igée2m1infe2m1inse2m1i2pe2m1irae2m1iroe2m1irte2m1iske2m1ismemi2szaemi2száemi2szoe2m1í2v1emlékm1emlékve2m1okle2m1okte2m1olde2m1olte2m1o2pe2m1orke2m1orse2m1orvem1ó2ráe2m1ököe2m1ölde2m1ö2re2m1ö2zem1ő2röem1p2reem1utale2m1utóe2m1ünnen1a2doe2n1a2je2n1a2ken1a2lae2n1a2nen1a2páena2p1een1a2ráe2n1áraen1á2roe2n1áruen2c1a2en2c1áren2c1ipen2c1olen2c1osen2c1ö2enc3ségenc3s2pen2danoen2d1oren2d1ónen1d2ráe2n1eggen1eljáe2n1ellen1elnyen1elváe2n1eml1e2nerge2n1ernene2talene2tosené2k1aené2kelené2kise2n1ér_e2n1érée2n1érie2n1érvené2szae2n1étkené2vigenfluo21engedéengés3senidi2oe2n1igee2n1igée2n1inae2n1infe2n1inve2n1iraen1i2ráe2n1ismeni2szaeni2szoenn1égeen2n1olen2n1ülenny1asen3nyerenny1í2e2n1olve2n1osten1osztenó2tale2n1ö2ten2s1aben2s1elens3száen2tadaent1agyenta1k2ent1aljent1andent1assen2térmen2tigéent1ipaenti2szen1tradent2rane2ny1aeeny1agaeny1agáe2ny1ajeny1alkeny1arée2ny1ase2ny1ate2ny1aue2nyelmeny1evee2nyéva1enyhi_e2ny1ide2nyinge2ny1ore2ny1ose2ny1ó2eny2van1enyve_e2o1k2leo2n1aleon1anyeo2n1aueo2n1áleon1t2re2o1p2leo2r1a2eo2r1á2eo2r1éseorgi2aeori2táeo1sz2fep1a2gye2p1akae2p1akke2p1akne2p1alje2p1alkepa2lomepa2ránep1atróep1a2zoe2p1á2gep1álláe2p1ásae2p1átme2p1átve2p1eloe2p1eneepe2ralepe2revepe2rinepe2rülepe2szá1e2péit1e2pénke2p1ér_e2p1irte2p1isme1p2lane1p2láne2p1olve2p1ornep1orsó1eposz_1eposza1eposzáe2p1ö2le2p1őriepp1eróe1p2réde1p2rine1p2rotep2t1ajep2t1ope2p1utóer1ablae2r1abrera2dater1a2doer1a2gee2r1ajker1ajtóe2r1akcer1a2lae2r1alge2r1alje2r1alter1angye2r1aspe2r1atke2r1atlera1t2re2r1ábrer1á2gúer1álláer1álléer1álloer1állóer1állve2r1ár_er1á2ráe2r1árbe2r1árrer1á2rue2r1áther1á2tie2r1átíe2r1átje2r1átke2r1átme2r1átne2r1átre2r1átte2r1átver2c1árer2c1áterc1eller2c3hoer2csadercs1ále2redén1e2redmere2gálere2gelere2koter1elérer1ellie2r1elöe2r1elre2r1enzere2panere2pasere2pinere2posere2szíe2reszüere2tálere2táteré2beser1é2gee2r1éj_e2r1éjbe2r1éjne2r1éjseré2koleré2k1öeré2p1aeré2szaeré2száeré2szoeré2szöe2r1étke2r1év_e2révene2r1évne2r1évre2r1idoerin1tre2r1irae2r1iskeri2szoe2r1itae2r1izge2r1í2zerme2káerme2koer2minderm1isiern1alaern1ékne2r1okmer1oldaero2nale2r1opter1o2roe2r1orverosz2fe2r1ovier1ó2dáer1ó2ráe2r1ö2ce2r1ököe2r1ö2le2r1ö2z1e2rőmé1e2rőnöe2r1őriers1alker2s1aners1áraers1emler2s1imer2s1oder2s1oler2s1óner1sporer1straersz2toer2t1aiert1ápoer2t1ízert1óráer2t1öser2t1özer1tréner2t1úter1u2szer1u2táe2r1ú2ser1ú2toe2r1ügger1ügyber1ügyner1ügyre2r1ü2ve2r1ű2zerv1anyer2vásae2s1a2be2s1a2des1a2tye2s1á2ges1á2ru1esedezese2gyee2s1elmes1eprie2s1erdeseren2e2s1i2de2s1inaes1i2pae2s1iskes1í2zűe1s2kate1s2kále1s2mac2esokbóe2s1ó2res3szabessz1oke1s2tabes2tanaest1aráe1s2tates2t1át1estekoes2tenz1estéih1esténkes2t1ole1s2topes2t1oses2t1öse2s1utáe2s1ú2te2sza2cesz1acéesz1ajtesz1aknesz1aljesz1anye2sz1aue2szárue2sz1ásesz1átse2szece1eszence2sz1exeszé2doesz1iskesz1iste2sz1izeszke2l1eszme_1eszméb1eszméi1eszméj1eszmék1eszmén1eszmét1eszmévesz1ölőe2sz1önesz2tabesz2tadesz2tajesz2tidesz2tutesz2tüz1e2szűs1e2szűte2t1a2de2t1a2je2t1akce2t1akueta2lageta2lake2t1albe2t1alge2t1alk1e2taloeta2n1éet1a2rae2t1aráe2t1arce2t1arze2t1asse2t1atke2t1atye2t1a2ue2t1a2ze2t1álmet1árnyetá2ronet1á2rúe2t1áthe2t1átve2t1elcet1eldoe2telnöe2t1elzete2malete2mele2t1enze2t1erdete2réne2t1erőete2s1aete2tosete2t1öete1trae2t1ezret1é2géeté2kose2t1élme2t1érceté2riee2t1érme2t1érzeté2szaet1észlet1észreté1trae2t1igee2t1igée2t1igyet1i2mae2t1imá1e2timoe2t1impe2t1inde2t1infe2t1inse2t1inve2t1irie2t1iroe2t1iróe2t1isme2t1izge2t1izoe2t1izze2t1í2re2t1í2ve2t1okme2t1okte2t1omleto2nále2t1opte2t1orge2t1ormet1orome2t1orse2t1orvetosz2fet1oszlet1oszte2t1ó2cet1ó2raet1ó2ráe2t1ó2ve2t1öl_e2t1ölőet1ö2vüe2t1ö2ze2t1őr_e2t1őrbető2ri_e2t1őrnető2röke2t1őrre2t1őrset1ő2rüető1s2pe1t2ráge1t2rilet1t2ráetty1á2et1u2rae2t1ülde2t1ü2veu2m1ize2utájáe2utákae2utákke2utákre2utánkeve2szöevé2szaevé2szöe2x1elme2x1igée2x1inge2x1inte2z1a2de2z1a2le2z1a2nez1á2rúez1e2gye2z1elae2z1elmeze2r1aeze2redeze2r1oez1esteeze2t1áeze2t1oe2z1é2jezé2k1oez1i2doe2z1igée2z1ille2z1i2pezisé2ge2z1isme2z1í2vezo2náre2z1ó2le2z1ó2re2z1őrsez1ő2rü1ezrede1ezreds1ezresnez3s2tae2z1ü2zé2b1a2jé2b1a2ké2b1a2lé2b1anyé2b1a2véb1eszűé2b1é2kéb1i2vaé2c1elvé2c1i2dé2c1u2té2d1a2cé2d1a2dé2d1a2gé2d1a2jéd1a2kué2d1a2néd1a2páé2d1arcéd1a2tié2d1e2gé2d1elké2d1ellé2d1eloé2d1emlé2d1enzé2dereié2deremé2dernéé2d1erőé2derráé2derrőé2dertőé2desem1é2desíé2d1é2jé2d1ékbé2d1ékké2d1éleé2d1élmé2d1ér_é2d1érsé2d1érvé2d1érzédi2akaédi2a1sédiasz2é2d1i2dé2d1igaé2d1igeé2d1igééd1i2koé2d1i2méd1i2naé2d1inié2d1inté2d1i2pé2d1iroé2d1i2zéd1oktaé2d1oszé2d1ö2ré2d1őrmé2d1őrné1d2ramé1d2rámé2d1u2tée2sz1áée2szelée2szépée2szirée2sziséesz1tréf1ajtóég1a2nyé2g1a2ré2g1á2gé2gedéné2g1edzég1e2geé2g1elaé2g1elbége2legég2eleké2g1elfég1elháége2liné2g1elké2g1elmé2gelnöég1elnyé2g1elöége2lőmé2g1elpé2g1elrég1eltaé2g1elzé2g1encé2g1engége2rálége2rimége2riné2g1eróége2rül1é2gesdége2sze1é2getjég1e2veég1e2véé2g1é2gé2g1é2lé2g1épüégé2ré_é2g1érhég1érteég1érté1é2gésé1é2gésné2g1évaégig1apégig1aség1igazé2g1imáé2g1ingé2g1injé2g1inté2g1iraé2g1ivaé2g1izgé2g1o2ré2g1o2vé2g1ö2dé2g1ö2lé2g1ö2zé2g1u2té2g1ü2gégvezé2é2gy1a2é2gyedéé2gy1egé2gyezeé2gy1éké2gy1isé2gy1ivé2gy1ó2égy1ö2lé2gy1u2é2h1arcé2h1a2véh1e2gééh1e2leéh1e2lőé2h1enzé2h1e2r1é2hezé1é2hezté2h1é2lé2h1i2né2j1a2lé2j1anyé2j1a2ré2j1á2lé2j1árné2j1elhé2j1elvé2j1eszé2j1e2vé2j1é2gé2j1é2ké2j1o2lék1a2cééka2daték1a2dáék1a2dóéka2kadé2k1akáé2k1akké2k1aknéka2lagé2k1algé2k1aljék1alkoé2k1allé2k1alték1a2réé2k1aspé2k1assék1aszték1a2veé2k1á2pék1áradé2k1árké2k1árnék1á2rúé2k1átaé2k1átáé2k1átcé2k1átdé2k1áteé2k1átfé2k1áthé2k1átié2k1átíé2k1átké2k1átlé2k1átmé2k1átöé2k1átré2k1átsé2k1átué2k1átvé2k1elbé2k1elfé2k1elké2kelláé2k1elmé2k1eloék1eltáék1elülék1elvié2k1erdé2keredé2k1ergék1eszkéke1szléke2tikéke2vésé2k1épíé2k1épüé2k1ércé2k1érké2k1érlé2k1érmé2k1érpé2k1érré2k1érvé2k1érzék1észlé2k1étké2k1évié2k1ideé2k1időé2k1igéék1i2koé2k1illé2k1imaé2k1imáé2k1ingé2k1inhé2k1inné2k1inté2k1invé2k1i2oé2k1i2pé2kiráné2k1iroé2k1iské2k1istéki2szaé2k1i2zé2k1í2vé2k1í2zé2k1okáé2k1omlék1o2peé2k1orgé2k1ormé2k1orré2k1orzé2k1otték1ó2raék1ó2ráé2k1ó2vé2k1ó2zé2k1ö2bék1ö2röé2k1ötlék1ö2vöék1ö2zöé1k2reáé2k1undé2k1utáé2k1úthé2k1útié2k1útjé2k1útné2k1útoé2k1útré2k1útték1ü2leé2k1ünné2k1ü2sé2k1ü2té2k1ü2vék1ű2röél1a2céél1a2daél1a2doél1a2dóé2l1a2jél1a2kaé2l1a2lél1a2meél1a2toé2l1á2gé2l1állé2l1áloé2l1á2pél1á2ráél1á2rié2l1árnél1á2roél1á2ruél1á2rúélát1e2é2l1átfél1á2tié2l1átmélá2toké2l1ebéél1e2géél1e2gyéle2k1áéle2keméle2keréle2kiséle2koléle2kotéle2k1úé2l1eloéle2lőjéle2lőté2l1empé2l1eneé2l1engé2l1enné2l1enyé2l1enzél1e2róéle2szüéle2szűéle2téléle2téséle2tikéle2t1oéle2tüzé2l1édeé2l1é2gél1ékeké2l1é2lé2l1ér_é2l1érbé2l1érdé2l1érmé2l1érné2l1érzé2l1étké2l1év_é2l1i2dé2l1igaé2l1igéé2l1indé2l1infé2l1ingél1i2oné2l1i2pé2l1iráéli1s2pél1i2vaé2l1izmé2l1okmé2l1oksé2l1o2ré2l1oszé2l1ó2ré2l1ö2z1é2lőskélrádi2élre1pr1élvezőé2ly1abély1a2né2ly1apély1a2ré2ly1asé2ly1avély1egyé2ly1elé2lyemlé2lyeneé2lyetié2ly1éké2ly1özém1a2daém1a2dóém1a2zoé2m1árué2m1áttéme2ledé2m1elhé2m1ellém1e2lőé2m1elvém1e2reém1e2rőéme2s1áé2m1eszéme2telé2m1e2vé2m1é2lé2m1ércé2m1érié2m1érmé2m1i2dé2m1igéé2m1invé2m1i2oé2m1i2pé2m1iroém1i2taémo2nacé2m1u2ré2n1ablén1a2doé2n1aknéna1préé2n1asséna1t2ré2n1állé2n1á2pé2n1átré2n1átvén1e2gy1é2nekdé2neke_éne2ker1é2nekf1é2nekgéne2kiz1é2nekí1énekka1é2nekléne2k1ö1é2neksén1e2lőé2n1eneéne2r1aé2n1e2vén1é2kéén1é2kién1é2kűé2n1éleé2n1élőéné2m1aé2n1ér_é2n1ércé2n1érééné2teré2n1igéé2n1i2pé2n1itaé2n1ivaé2n1i2zén1k2ráén1k2réé2n1oszé2n1ó2ré2n1ö2zén1s2t2én1t2rié2n1u2té2n1ü2gé2n1üleé2n1ü2vé2n1ü2zé2ny1a2é2ny1á2é2nyelaé2nyeláé2nyemaény1encé2ny1epé2nyerdé2nyetaé2nyetié2nyetűé2ny1evé2ny1égény1ékeény1ékhény1éknény1ékté2nyéréé2ny1ésé2nyévaé2ny1ifé2nyiroé2nyiské2nyitaény1íráény1íróé2ny1oké2ny1osé2ny1ó2é2ny1ösé2ny1ő2ény1u2ré2ny1üsé2ny1üvén2z1adén2z1alén2z1álén2z1ásén2z1átén2z1imén2z1inén2z1olé2p1a2jép1a2vaé2p1á2gép1á2roép1á2ruép1á2rúép1e2géép1e2gyé2p1elaé2p1eláé2p1elbé2p1elcé2p1elfép1eljáé2p1elkép1elláé2p1elmé2p1eloé2p1elré2p1eneé2p1e2pé2p1etaé2p1etűé2p1é2ké2p1é2lé2p1ér_é2p1érié2p1éteé2p1i2dé2p1impé2p1insé2p1inté2p1irté2p1ismé2p1isté2p1í2ré2p1ó2hép2p1ekép2p1odép2rózáé2p1u2ré2p1u2té2p1üldé2r1a2dér1a2gáér1a2jaé2r1akcér1a2noér1a2páér1a2póér1a2raér1a2ráér1a2tiér1a2toéra1t2ré2r1a2uér1a2vaé2r1a2xér1a2zoé2r1ábré2r1á2lér1á2roér1á2ruér1á2töér2c1asér2cedéér2c1imér2d1amér2d1á21érdekl1érdekt1érdekü1érdekű1érdeméérdés3sér2d1izé2r1ebeé2r1ebéé2r1ebrére2g1áére2gedére2gelére2genére2gevére2giné2r1eláé2r1elké2r1eloér1eltáére2m1aére2mesére2m1oére2m1óé2re2mué2r1eneé2r1e2rére2t1aér1e2veé2r1é2dé2r1é2gé2r1éj_é2r1é2ké2r1é2léré2szaéré2száéré2teré2r1étké2r1évnérfoto1éri2csié2r1idoé2r1igaé2r1igeé2r1illé2r1indé2r1infé2r1ingé2r1injé2r1insé2r1i2oé2r1iské2r1isté2r1ivaé2r1iváé2r1i2zé2r1í2vé2r1í2zé2r1o2lé2r1o2ré2r1o2xé2r1ö2bé2r1ö2cé2r1ö2lé2r1ö2z1értelm1értesí1értékmértés3sér1t2rééru2m1eé2r1u2rér1u2szér1u2toé2r1u2zé2r1ü2gérü2ké_é2r1ü2vé2r1ű2zérv1ala1érzék_1érzékb1érzéké1érzékh1érzékk1érzékn1érzékr1érzékt1érzékü1érzékűé2s1a2dés1a2kaés1a2laés1a2nyés1a2ráé2s1a2ué2s1ebéés1e2geés1e2gyé2s1eksé2s1ekvé2s1elmé2s1emlé2s1eneé2s1engé2s1enyé2s1e2pé2s1eszé2s1etoé2s1éghé2s1égné2s1égvé2s1é2jé2s1é2ké2s1é2lé2s1ér_é2s1érdé2s1érhé2s1érlé2s1érné2s1érvé3sideté2s1ikté2s1illé2s1imié2s1ingé2s1inté2s1i2pé2s1iraé2s1i2sé2s1í2rés2katué2s1o2lé2s1ö2lé2s1ö2vé2s1ö2zés3szabés3szagés3szakés3szapés3szülé2s1u2té2s1ú2té2s1ünnés1ü2téész1ablész1agyészaká2é2szakcész1aleész1algész1allész1antész1anyész1apoé2sz1asé2sz1aué2száráész1árfész1árkész1á2zé2sz1ejésze2káészekö2é2sz1epé2szerőészeta2é2sz1exész1éréé2széróé2szészé2sz1imé2szinaész1ingé2sziraé2sziroé2szirté2sz1izész1í2jész1oktész1oldész1oltész1orsé2sz1osé2sz1oté2s3zónés3zöldész1ölté2sz1öné2sz1ösész1őrsész1traész1triész1úrné2sz1úté2szünnét1ablaét1a2doét1a2dóé2t1ajké2t1ajté2t1aljé2t1alké2t1alté2t1anié2t1anné2t1antét1anyaét1anyáé2t1apsé2t1arcé2t1argét1asztét1atomé2t1á2gé2t1állét1á2ráé2t1átré2t1átvé2tedénéte2geréte2l1áéte2radéte2regéte2relétermo1é2t1erőéte2siké2t1esvét1e2vié2t1é2jé2t1é2lé2t1érvé2t1érzét1észlé2t1étbé2t1étné2t1étré2t1i2dé2t1igeé2t1igéé2t1i2mé2t1indé2t1infé2t1inté2t1ipaé2t1iráé2t1í2ré2t1í2vétmeg1gét1o2káét1o2kiéto2risét1ó2haé2t1ömöétö2rülé2t1ö2zé2t1ő2sé2t1ő2zé2t1u2ré2t1u2té2t1ü2vé2t1ü2zé2v1alké2v1a2né2v1a2zé2v1átaé2v1átré2v1e2g1é2vekté2v1ellé2v1eloé2v1elsé2v1elté2v1elvé2v1eng1é2venk1é2ventév1e2ri1é2vesb1é2vesi1é2vesk1é2vesrév1estéév1é2geév1é2géév1é2réévé2ri_évé1skaévé1s2pévé1stáé2v1igé1é2vitőéza2galé2z1a2lé2z1a2té2z1á2gé2z1á2léz1e2gééz1e2gyé2z1elaé2z1eldézel1ené2z1elfé2z1elhé2z1elléz1előbéz1előééz1előgéz1előiéz1előjéz1előnéz1előpéz1előséz1előtéz1elővé2z1elsé2z1elvé2z1embéze2n1áé2z1e2péze2r1aéze2r1áéze2ripéz1e2rűéze2t1áé2z1e2vé2z1é2dé2z1é2lé2z1ér_é2z1ércé2z1érmé2z1érpé2z1érzé2z1igéé2z1illé2z1inté2z1ipáé2z1i2rézi2s1úézi2szaéz1i2taé2z1izzé2z3sókézs1ú2ré2z1u2ré2z1ü2gé2z1ü2zfa1b2rofac3hi_fa2c3hofae3lekfa2gyékfa2gyolfa2gyúrfa2j1azfa2j1ágfa2jelmfa2j1esfaj1urafa2lajáfal1anyfa2l1álfal1esefa2l1izfa2l1í2fa2l1olfa2l1osfal1óráfa2l1övfa2l1őrfalta2nfal2temfal2tipfal2tüzfan1évbfan1évrfa2ragyfa2r1atfa2r1álfa2r1emfa2r1idfar2kolfar2málfar2minfa2r1utfa2x1ikfáj2lakfán2karfán2tadfán2tanfán2tisfán2torfá2t1a2fá2t1olfá2t1ü2fe2a1p22f1e2dzfe2gy1ifei2n1ife2j1á2fe2j1ösfe2l1a2fe2l1á2fel1evife2l1i2fe2l1í2fe2l1o2fe2l1ó2fe2l1ö2fe2l1őgfe2l1őrfe2l1u2fen2nevfer1ablfer1egyfe2s1er2f1e2séfé2k1adfé2k1agfé2k1alfé2k1aufé2k1á2fék1ellfé2k1erfé2k1ékfé2k1orfé2k1u2fé2l1a2fél1eléfél1embfé2l1ezfé2l1isfé2l1okfélpen1fél1t2rfé2l1ú2fé2m1apfé2m1ácfé2m1álfé2m1ecfé2medéfé2m1irfé2m1isfé2m1izfé2m1ülfé2ny1ífér2cemfész1alfész1árfé2szegféta3u2fézs1e2ffi2akafi2aszáfi2aszofil1adafil1aknfil1aktfi2l1álfil1eltfi2l1enfil1eszfil1értfi2l1infil2madfil2makfil2manfil2matfil2mos2f1i2máfin1oszfi2n1u2fió2karfió2képfió2kolfis1arcfi2t1adfit1aljfi2t1éhfi2t1infito1p2fi2t1őrfi2t1urfiu2minfi2x1árfi2x1elfírcsa2fí2r1infli2s1éflo2n1áfo2g1orfo2g1osfok1állfo2k1e2fok1ingfo2kolafo2k1orfolta2nfol2t1efol2t1öfo2nadofon1anyfo2n1aufonás1sfo2n1átfo2n1esfo2n1isfo2n1orfon2tónfo2r1adfor1atofo2r1elfo2r1erfo2r1ilfor2mesfor2milfo2r1ol2f1orrúföl2dökfö2l1e2főigaz1fő2n1agfő2r1ajfő2r1ékfő2r1isfőr1üléfrá2nyefré2nénf2t1emef2t1ér_f2t1igef2t1ingf2t1ü2zfu2s1asfúj2tal2f1ú2ré2f1ü2gyfür2t1ő2f1ü2té2f1ü2tőgadás1s2gadomága1g2rág1a2gyú2g1aján2gaknaig1a2losga2luszgan2cseg1a2nimga2nyagganye2lga2nyérg1a2nyóga1p2réga2s1isga2s1ínga1s2pigas3szegas3szíga1s2taga2szágga2szásgat1arága2t1álga2t1eggat1oldga2tomi2g1a2vugaz1anygaza2te2gazítá2g1á2bégá2d1algá2d1élgá2d1ia2g1á2gi2g1á2gú2g1á2gy2g1á2hígá2j1e22g1áldogá2l1es2g1áll_2g1állí2g1állu2g1álmogá2m1e22g1á2mígá2n1atgán2csegán2csi2gángy_gá2n1iogá2n1ó2gán1sz2gá2nyargá2nyijgányká2gá2r1aggá2r1ajgá2ra2tgár1atogár1attgá2r1avgá2r1álgár1étegá2r1izgá2r1olgár1ostgá2r1ór2g1árud2g1árurgár1utagár1utu2gásatágá2s1e2gá2s1imgás1ó2rgás3szégás3szügá2s1ü2gá2szalgá2szasgá2szisgá2szitgá2szöv2gá2talgát1aljgá2t1ár2g1átbogá2t1eg2g1átha2g1á2tí2g1áttű2gá2tü2gáz1akngáz1aktgá2z1avgáz1áregá2zárugá2z1e2gá2z1izgáz3stagáz3stegáz3suggbé2remgcsapá2g2d1é2kg2d1ér_gd1ina_gd1inábgd1ináhgd1inárgd1inátgd1inávg1e2cet2gedénn2gedény2g1e2gé2g1e2hüge1k2li3g2elapge2l1ár2g1elcs2g1eldo2g1eldöge2legig1elegyge2lemi3gelend3g2eli_3g2elikgel1int3g2elj_3g2elje3g2eljé3g2eljü2g1elkü2g1elmé3g2elni3g2elő_3gelőbé3gelőbi3gelőbo3g2előc3g2előe3g2előé3g2előg3g2előh3gelőja3gelőkl3gelőkő3gelőkt3gelőku3gelőkü2g1előm3gelőna3gelőnö3g2előo3g2előő3g2előp3gelőro3gelősá3gelőso3gelősö3gelőtü3g2elt_3gelte_3geltes3geltéb3geltél3geltét2g1elto2g1eltű3g2elün2g1elv_2g1elvb2g1elvh2g1elvn2g1elvo2g1elvr2g1elvű2g1elvvge2lyid2g1emblg1e2mel2gemelé2gemelkge3mell2gemelőge2n1adge2n1asge2n1álge2n1eg3generáge2nere2generggeni2d1ge2n1inge2n1isgen3nyage2n1orge2n1osge2n1ur2g1enyhge2r1adge2r1ajge2r1asger1áll3g2ereb2geredmg1eregeger1egyge2r1erge2reszge2r1ékger1élege2r1épge2r1izger1oszge2r1önger1üld3g2eseig2esen_ge2sendge2setl2g1esélg1e2sikgesleg12g1e2ső2g1este2g1esté2g1esti2g1estjge2szesge2szet2g1eszmge2t1akge2t1asget1élege2t1órget1őrtge1t2ró2g1e2vőgé2d1a2gé2d1á2gé2d1ő2gé2d1u2gé2d1ú2gé2jértg1é2kelg1é2kesgékes1sg1é2kezgélvvá2gé2lyeggé2m1a2gé2m1eggé2n1adgé2n1algé2n1angé2n1argé2n1atgé2n1ár2géneklgé2n1ingé2nyidgé2nyisgé2nyírgé2p1a2gé2p1á22g1építgé2p1o2géptá2vgé2pülégé2r1an2g1érc_gé2r1elgér1emlg1értő_g1értőeg1értőkg1értővgé2r1u22g1érv_gés3szagés3zavgé2sz1o2g1é2to2g1é2vigfala2dgfi2úkég2g1a2pgg1i2tag2g1ónig1g2rafg1g2rang2g1ü2gg3gyalág3gyaraggy1aroggy1á2zg3gyengg3gyérüggy1ültgi2a1d2gi2a1g2gi2akargi2akasgi2a1p2gia1sz2gi2aszagi2aszági2aszégi2aszfgi2aszigi2aszogi2aszógia1t2r2g1i2dé2g1i2do2g1i2dőgig1aragig1assgig1e2cgig1enggig1enngig1eregig1e2sgig1e2vgig1é2lgig1é2r2g1igézgi2g1i2gi2g1o2gi2g1ó22g1i2hagina1p22g1inkv2g1inta2g1inte2g1intég1intő_2g1ionégi2ókomgi2ó1sp2g1i2pagip2szagip2szágip2szo2g1i2rá2g1i2si2g1iste2g1i2vó2g1i2zogí2m1a2gkö2zéngla1p2lgla1s2tglá2szaglege2lgle2tosglő2regglő2relgme2g1egme2g1égmens1sgmen2szg2n1a2jg2n1alkg2n1a2rgná2s3zg2n1e2lgne2sirgne2szág2n1élegné2v1ág2n1igag2n1ingg2n1i2pg2n1i2rgnit1a2gni2telg2n1okt1g2nora1g2nore1g2noré2g1o2dúg1o2ka_gok1a2dg1o2kai2g1o2kág1o2kokg1o2kot2g1okta2g1olda2g1oldá2g1oldógol2f1agol2f1egol2fin2g1oltv2golvad2golvasgo2m1asgon2dikgo2n1e2gon2g1agon2gál2g1onto2g1o2pegor1assgorasz2gora1t2gor1állgo2r1el2g1ostrgo2s3zago2s3zá2g1o2vegó2c1olgól1elő2g1ó2nug1ó2radg1ó2rasgó2rákagó2s1ajgó1s2kágó1s2rágó1s2tagó2t1is3g2óval2g1ó2vó2g1ö2ko2g1ö2lágöm2b1agöm2bel2g1ö2nagör2csagör2cságör2cső2g1ö2regö2s1én2g1összgő2g1ő22g1ő2rügő2s1epgő2z3sugő2z3sűgpe2c3hgp1e2lugpon2gagra2madgra2majgra2malgra2mik1grammjgra2mut1g2ra1p1g2raví1g2ráfb1gráfid1g2ráfl1g2ráftgrá2látgri2s1ágri2sütgró2f1agsé2gelgso2k1ogsors3sgsza2kégszá2lig1sz2tágtára2dgtermo12g1u2bogula2te2g1u2nigus1ablgu2s1avgu2s1e2gu2s1ó22g1u2tó2g1u2tugú2ny1e2g1ú2sz2g1ú2té2gútiko2gútiná2g1ú2to2g1ügyl2g1ügyv2g1ü2re2g1ü2rí2g1ü2rü2g1ű2rö2gyadaggya2dalgya2gépgya2gis2gyagya2gy1aja2gy1akc2gyakt_2gyaktugya2lajgy1alat2gyaláígya2lelgya2likgyan1abgya2n1egya2pak2gyapái2gyapák2gyapám2gyapjágya2póngya2pórgy1aran2gyarawgya2relgy1argógya2róv2gyasak2gyasat2gyasra2gyárus2gy1árúgyá2szógy1e2gegy1e2gé2gyeke_2gyeleg2gyelnögy1elvű2gyemblgye2pal2gy1erd2gyerejgye2rén2gy1ern2gy1ersgye2seg2gyesélgy1e2ső2gyestűgye2szü2gyetem2gyetet2gyéhes2gy1élt2gy1érd2gyérezgyé2rét2gy1érhgy1érke2gy1érmgy1értő2gy1érv2gy1érz2gy1été2gyévad2gyéve_2gyévei2gyévek2gyéven2gyéves2gyévet2gy1ide2gy1ige2gyiker2gy1ill2gy1ing2gy1ipa2gy1iro2gy1isn2gy1ita2gy1í2rgymás1s2gyokos2gy1old2gy1orc2gyorsó2gy1orv2gyódárgy1ó2rá2gy1ökl2gyözön2gy1ő2s2gyűré_2gy1ű2zgza2tápgza2t1egze2tingze2t1oha2b1ághab1illha2b1imhab1oldhab1orrha2d1aghad1alkha2d1apha2d1álhadás1sha2d1elha2d3zá2hagoreha2j1inhaj1omlhaj1t2rha2k1álha1k2liha2l1ajhal1anyhala2szhal1átehal1elehal1előha2l1enhal1epehal1etehal1evoha2l1ikhal1iszha2l1ivhal2léjha2l1olha2l1ő2ha2l1ugha2l3yaha2m1álham1eleham1eszham1ismhanás1s2hanészhan2galhan2genhan2gélhan2gutha2nyélha2r1álhar2canhar2c3hha2r1olha2r1órhaság1gha2s1izha2s1olhas1orsha1s2peha1s2poha3s2útha2s1ű2ha2t1abhat1agyha2t1ajha2t1énha1t2ráhá2m1alhá2m1e2há2m1ishá2m1olhán2csihánya2nhá2r1adhá2r1alhá2r1auhá2r1ivháro2mohá2sz1ehá2szivhá2t1e2há2t1olhá2t1óshá2z1avhá2z1e2ház1oktház1oldhá2z3sahá2z3séhá2z3sihe2f1u2he2g1a2hegész1he2gy1ahe2gyeghe2gy1ohelés1s2hellenhe2lyeg2h1emblhenés1she2r1ajher1állher1átéher1engher1eseher1inth1e2séshes2t1ohé2j1eghé2j1elhé2n1elhé2n1ethén1év_hé2n1ishé2r1ashé2szeghé2sz1öhé2t1abhé2t1ajhé2t1eshé2t1oshé2t1órhé2t1ü2hé2z1ekhidro1shit1a2nhi2t1á2hi2t1erhi2t1imhi2t1ónhi2t1órhi2t1örhi2t1őrhi2t1u2hí2m1a2hí2m1elhí2r1a2hí2r1á2hí2r1ó2ho2l1adho2l1alho2l1atho2l1auho2l1álhol2demho2l1e2ho2l1inhol2meshol2nikholta2nho2n1auho2n1álho2n1elho2n1ikho2n1ó2hosszé2hó2d1á2hó2d1ó2hó2l1ejhón1apahöl2gyahő2s1alhő2s1avhő2s1elhő1s2pihő2s1űrhsé2gelhsza2kéh2t1u2thur2t1ehur2tithuszon1hú2r1a2hú2s1akhú2s1álhú2s1e2hús3száhús3széhú2szolhú2szosia2c1aliac1éléia2c1imia2c1oria2c3séiadás1siadó1sti2a1k2lia1k2reia1k2réia1k2riia2m1uriarádi2ia1s2kái2a1s2li2a1s2mi2a1s2pia1s2taia1s2táia2szesia2szépia2szopiá2k1aliá2k1aniá2k1apiá2k1ariá2k1asiá2k1á2iá2k1eliá2k1eniá2k1oriá2k1ó2iá2k1utiá2k1ú2iál1anaiá2l1áriá2l1e2iá2l1iniá2n1asiá2nyaniá2nyariár2dasiár2d1eiár2d3ziá2s1asiá2s1ámiá2s1e2iá2sikriás3szoiá2s1ü2iá2szásiá2s3zeiá2t1iribá2l1aibe2lérica1k2rica2losic2c1á2iccse2liccs1oliccs1ő2i2chináici2tárici2telici2teri2cs1auics1álli2cs1ebi2cs1evics1é2gics1ipai2cs1üli2d1a2jid1a2nyi2d1ásvide2g1áide1k2vi2d1embide2redi2d1é2gidé2kelid1ionjid1ionni2d1itaidíja2di2d1olvido2mac1i2domá1i2domoidő2sodidő1s2pidő2táli2dzs1ai2dzs1ái2dzseni2dzsélie2f1a2ie2f1ü2ien2s1oie2r1ajie2r1anier1egyie2r1elie2r1inie2r1olie2r1u2ie2settié2nekeié2nekhié2nekkié2nekü1ifjúkéif2t1á2ig1a2kaiganye2iga2ras1i2garz1i2gaz_ig1á2csig1e2le1i2genlig1e2seige2tálige2tegige2télige2t1oige2tőrig1é2liig1é2lőig1é2lü1i2gényig1é2rüigo2ráli1g2rafi2gy1egigy1ér_i2k1ablika2lakika1p2lika1p2rika1t2ri2k1árki2k1áruiká2tolike2risike2r1oik1e2rői2k1épíi2k1épüi2k1érzik1i2koi2k1inti2k1i2oikk1anyikk1áraik2k1olik2k1ösik2k1u2ikla1tr1ikonbá1ikonén1i2konl1ikontö1ikonzsik1ó2ráikő2resi1k2rómiktus1siktu2sziku2savil1a2ceil1a2céil1a2dóil1a2lai2l1alki2l1anai2l1anyila2pinila2poli2l1a2ri2l1á2pi2l1árnil1á2roil1á2rúil2c1a2i2l1embi2l1emlilé2n1ái2l1iccili1graili2ma_il1i2miili2p1á1illatb1illatr1illatt1illéséill1éteill1éttil2l1idilli1grilm1adail2m1ajilm1akailm1ankilm1anyil2m1apilm1atlil2m1álil2m1epil2m1ékil2m1ésil2m1isil2m1í2il2m1okil2m1orilm1oszil2m1utilumin1ilva1k2i2maritim1elemi2m1emeime2rini2m1érdim1intéimi2tini2m1oldim1ó2rái2n1abli2n1adáin1a2jáinaka2ri2n1akci2n1akvi2n1alk1i2nam_ina1plaina2rán1i2nas_ina2sis1i2nasniná2ladi2n1ásvinc1eltin2c1élin2c3hoin2c1isin2c1osincs1anin2csorinc3sütinc3szain2d1abin2d1azin2d1edind1eköin2d1égin2d1énind1inkin2d1örin1e2gyi2n1e2li2n1enyi2n1erdi2n1erjine2t1aine2tülin1é2geiné1kréi2n1élei2n1élti2n1élvi2n1ér_i2n1éréin1értein2gadóing1álling1áráing1áréing1árting1áruingás3sin2g1eging1elking1els1ingerb1ingerc1ingeré1ingerg1ingerh1ingeri1ingerk1ingerm1ingern1ingerp1ingerr1ingers1ingert1ingerüin2g1ékin2g1élingés3sin2g1ölin2g1ösing1ülti2nigari2n1igein1ikraini1kroi2n1illin1i2mii2n1inhi2n1i2oi2n1iski2n1ism1injekcink1acéink1oldi2n1okli2n1oldi2n1olti2n1olvin1ó2dáin1s2toint1ann1intege1integr1intenz1intézé1intézk1intézm1intézőin2tigéin2t1ipint1omlin2t1ösint1őr_int1uraintus1sin2t1utin2t1úti2n1ú2ti2n1ü2gi2n1ü2ti2n1ü2vi2n1ü2ziog2rafiol1okkio2n1asio2n1avio2n1átio2n1elion1t2rio1sz2fio2xidjio2xidtióát1a2i2ó1b2ri2ó1f2riók1arciókköz1iók1oldi2ókortió2s1ajió1s2tái2ó1t2ri2ő1s2pipa2cse1i2par_1ipara_ipa2ralipa2rál1i2paré1i2parh1iparilipa2ris1i2parm1i2parni2paroki2paron1i2parsi2parta1i2paruip1e2gyip1e2lui2p1eséipp1ingi1p2rotipsz1álip2szipipsz1or1i2rama1i2ramáira2talirata2nira2tál1i2ratb1i2ratc1i2ratdira2tel1i2raté1i2ratf1i2rati1i2ratm1i2ratp1i2ratr1i2ratüirá2gázirá2g1eirá2l1a1i2ránn1i2rányirkasz21i2rodáiro1g2riro2k1eiro2kériro2l1airo2m1air2s1a2ir2s1á2ir2t1élir2t1ö2iru2szei2s1ablis1a2dais1a2dáis1a2doi2s1a2gisa2k1eisa2kolis1a2lai2s1alji2s1anai2s1anoi2s1anti2s1anyis1a2rái2s1a2zi2s1ábris1ággyis1á2poi2s1árbi2s1árfi2s1árhi2s1árnisá2roni2s1árri2s1ártisárus1i2s1átli2s1egei2s1eloi2s1emli2s1enci2s1eneis1epriisé2gésisé2gidi2s1ér_isé2vi_isi2paris1i2zoi1s2lat1ismere1ismérvi2s1o2li2s1orci2s1ordi2s1ottis1ó2rái2s1ö2ci1s2pani1s2peki1s2puris3szigis3szilistasz21istenhi1s2tilis1trezis3záráisz1árkis3zárlis3zárúis3zeneisz2féri2szimiisz1ingisz1iskisz1istisz2k1úisz2tüzit1a2céit1a2dóita1g2rit1agyai2t1akki2t1akn1i2tal_ita2laditali2nit1allo1i2talm1i2taln1i2talri2talt2i2t1arait1ács_it1á2gaitá2rakitá2ráritá2rátitá2rigitá2risitá2rukitá2s3zitá2talite2l1aite2l1áite2legite2lexite2lélit1eljáite2lőzi2t1emli2t1e2pi2t1erői2t1égeit1é2lei2t1érzité2teki2t1éttitigaz1i2t1igéit1i2koi2t1indi2t1infit1i2pai2t1irái2t1iroi2t1ismit1iszaitkos1sito2kakitop2laito2rálito2rili2t1ónni2t1óntit2t1egi2t1unditu2n1iitu2raliu2m1adiu2m1agiu2m1amiu2m1asiu2m1aviu2m1eliu2m1eniu2m1esium1illiu2m1imium1injiu2m1isiu2m1iziu2m1oriu2m1ó2ius3sze1i2vadéiva2rajiva2riniva2roliva2tiniva2toliva2t1ö1i2vás_1i2vásb1i2vásé1i2vásn1i2vásr1i2vássiz1árnyizene2gi2z1é2p1i2zésíi2z1igai2z1igéi2z1iski2z1ismizi1s2pizmus1s1i2zoláizo2m1aizo2mál1i2zomb1i2zomm1i2zomn1i2zomr1i2zomti2zs1adizsa2iki2zsaknizs1araiz4s1ági2zs1álizs1éteizs1isti2zsitai2zs1üliztos1si2z1ü2gi2z1ü2zícius1sí2d1é2gí2d1ér_í2d1érzí2d1igaí2d1igéí2d1i2rí2g1a2gí2j1a2jí2j1akcí2j1a2lí2j1a2rí2j1a2uí2j1á2cí2j1á2gí2j1áráí2j1áreí2j1ártí2j1áruíjá2szeí2j1átaí2j1áthí2j1átlíjá2tosí2j1áttí2j1átuí2j1átví2j1á2zí2j1éreí2j1i2dí2j1intí2j1o2dí2j1u2tí2k1ablí2k1a2cí2k1a2gí2k1a2lí2k1á2rí2k1e2lí2k1é2kí2k1ér_í2k1érbí2k1i2dí2k1ingí2k1i2rí2k1orní2k1orrí2k1orsí2k1ö2ví2k1u2rí2k1u2tí2k1ú2tí2l1á2gílá2s3zí2l1érzí2l1i2mí2l1i2ríl2t1é2í2l1u2rílu2sabílu2s3zí2m1á2límá2risí2m1e2gí2m1elmíme2r1áíme2regím1e2rőí2m1e2ví2m1é2kí2m1ér_í2m1érrí2m1i2dí2m1igaí2m1igéí2m1illí2m1indí2m1infí2m1iraí2m1i2vím1o2k1í2m1ünnín1a2céí2n1a2gí2n1a2jí2n1akaí2n1akkín1a2laín1a2nyí2n1a2pí2n1arcí2n1á2cí2n1álmí2n1á2pí2n1á2zí2n1e2gí2n1elcí2n1elhí2n1eljí2n1elkí2n1ellí2n1elmí2n1elöí2n1elrí2n1emlí2n1eneí2n1éleí2n1é2pí2n1ér_í2n1érií2n1érlí2n1érmí2n1érüíné2szaíné2szoí2n1éteí2n1igaí2n1igéí2n1illí2n1infí2n1ingí2n1intín1i2ráí2n1iroí2n1ismí2n1i2zí2n1oszínso2k1ín1s2t2í2n1ü2gí2n1ültí2n1ü2tí2n1ü2víny1e2cíny1e2gíny1e2ríny1ingí2p1a2gí2p1a2ní2p1álcí2p1i2zípu2sanír1a2dóír1a2laí2r1a2uí2r1ábrí2r1á2gí2r1á2pír1árakír1á2ruí2r1áthír1e2déí2r1e2gí2r1e2lí2r1e2rí2r1é2gí2r1é2kí2r1é2lí2r1igaí2r1illí2r1infí2r1injí2r1intí2r1i2pí2r1i2zí2r1o2bí2r1oklí2r1okmí2r1olaí2r1oldí2r1olví2r1o2rí2r1oszí2r1o2ví2r1o2xíró1s2pí2r1ö2zí2r1ő2rír2t1agír1traní2r1undí2r1unií2r1u2rí2r1u2tí2r1ú2sí2r1útjí2r1útní2r1útrí2r1úttí2r1ü2gíszak1oísz1a2lí2sz1á2í2sz1ebí2szedéí2szelní2sz1idí2sz1iní2sz1íví2sz1o2í2sz1ó2í2sz1ő2í2szünníté2szaíté2száíté2szoítész3sító1staí2v1a2dív1a2jáí2v1aljí2v1anóív1a2rií2v1á2gí2v1árkí2v1ární2v1ártívá2s3zí2v1e2gí2velekí2v1endí2v1eneí2v1eszí2v1é2gí2v1é2kí2v1élmí2v1ér_í2v1érdí2v1érrív1értéí2v1érví2v1érzí2v1i2dí2v1igaí2v1illí2v1i2pívi2sesí2v1i2zí2v1oszívó1s2pí2v1ö2rí2v1ö2zí2v1u2tí2v1ü2vízár1ó2ízát1e2í2z1e2gí2z1eneí2z1e2r1í2zesíí2z1e2ví2z1e2zí2z1é2lí2z1é2pí2z1ér_í2z1érbí2z1érdí2z1érhí2z1érkí2z1érmí2z1érní2z1érrí2z1érsí2z1érví2z1érzí2z1igéí2z1illí2z1imií2z1impí2z1indí2z1infí2z1intízióé2rízi2ótoí2z1iraízi2szaízi2szoízi2szóíz1ó2ráíz4s1ágízs1ároízs1eseí2zs1iní2zs1ití2zs1ó2ízu2m1ií2z1u2rí2z1ü2gí2z1ü2zja2datá2j1a2gija2kadéja2k1ál2j1akcija2k1ecja2k1eljak1éreja2k1iz2j1akkujak1ovija2k1ös2j1akro2j1akt_2j1akti2j1aktu2jana2i2j1a2nojan2szejan2szü2j1a2rá2j1atró2j1á2bé2j1á2gá2j1á2gi2j1á2gyjá2r1avjárás3sjá2r1emjá2r1is2j1árki2j1árko2j1árnyjá2r1otjá2s1adjá2s1ágjá2s1e2já2s1ol2j1á2sójá2s1ü2já2szisjász1óijász1ónjá2t1á22j1átáz2j1átfe2j1áthá2j1á2ti2j1átír2j1átléját1osz2játszű2j1á2tü2j1átvé2j1átvijcsapá2jdo2naljdúköz12j1e2dzjegész1je2gyegje2gyelje2gy1oje2gy1újek2terje2l1anje2l1apje2l1ábje2l1ár2jeleméjel1evoje2l1éjje2l1épje2l1í2je2l1o2je2l1öv2jelszá2jelszo2jeltér2j1embaje2n1elje2n1inje2n1ős2j1e2rője2s1érjes3zacje2t1amjet1ellje2t1emje2t1ék2j1e2vőjé2g1a2jé2g1á2jé2g1eljé2g1emjé2g1esjé2g1idjé2gigéjé2g1isjé2g1u2jé2k1os2j1é2le2j1é2ré2j1é2ri2j1érte2j1érté2j1értő2j1é2rü2j1é2vüjhá2r1e2j1i2ga2j1i2gé2j1inte2j1inté2j1i2rá2j1i2ro2j1i2ta2j1i2vá2j1i2vój2j1aljj2j1a2zj2k1e2gj2k1e2sj2k1oldj2k1u2sj2l1abljl1a2daj2l1allj2l1azojl1e2gyjlé2celjlé2c3sj2l1év_j2l1indj2l1infj2l1intjlo2n1áj2m1oldjna2l1ejna2légjna2lisjn1á2rájn1á2rujo2g1anjo2g1e2jo2g1oljo2g1orjo2g1óv2j1oktajo2m1agjo2m1anjo2m1asjo2m1e2jo2m1ikjo2m1isjo2m1ivjo2m1oljo2m1orjon2ciljon2c3s2j1orr_2j1ostojód1alljó2d1ol2j1ó2rijós1árkjós1üldjó2s1ünj1ö2vezjpárba2jré2szíjsa2v1ejsa2v1éj1st2raj1st2rujszín3njt1a2dojt1a2dój2t1allj2t1alvj2t1arzj2t1atkj2t1álljtá2raijtá2s3zj2t1elfj2t1elhjt1eljáj2t1ellj2t1elpj2t1elrj2t1elsj2t1elvj2t1emlj2tenerj2t1enzj2t1erőj2t1érlj2t1érmj2t1i2dj2t1imij2t1impj2t1ingj2t1izgjt1i2zoj2t1í2vj2t1í2zj2t1orsj2t1o2xjtóé2rajtó1stajtó1strjtő1s2pj1t2ranjtrádi2j1t2rágj1t2rojj2t1udvj2t1undj2t1ü2ljuha2raju2h1e2ju2h1éjju2h1isju2szimjújjáé3j2z1ablj2z1a2dj2z1ajájza2kadj2z1a2ljza2tanj2z1e2lj2z1igéj2z1intj2z1i2rj2z1iskj2z1ismjz1oktaj2z1oszj2z1ó2dj2z1ó2rj2zs1álj2zs1egj2zs1erj2zs1inj2zs1ö22kabbah2k1abhákabi2náka1b2leka2cél_kadás1ska1d2rá2k1agy_2kajánlka2kadéka2kadókakas3ska1k2ré2k1akt_2k1aktika1k2vaka2lapakal1egy2k1alj_2k1alji2k1alka2k1alle2k1altikama2te2k1ambuka2nalík1a2natka2n1elka2n1ivka2nyábka2pátoka1p2reka1p2ré2k1apríka1profka2rakk2karat_2karatn2karatoka2r1álkar2dackar2dálkar1ékeka2rind2karomá2k1artikaság1gkas1ipaka2s1olka1s2pokas3szekas3székas3sző2kaszatka2szágkat1arákat1ikokat1int2k1atkáka1t2ri2k1a2ul2kautóbka3utóc2kautóé2kautóh2kautói2kautóm2kautón2kautós2kautót2kautóv2ká2c3hká2csatká2csipká2csiská2d1ácká2d1ü22k1ága_2k1ágai2k1ágak2k1ágat2k1ágaz2k1á2gá2k1á2ge2k1á2gi2k1á2go2k1á2gu2k1á2gú2k1á2gy2k1á2híká2l1e2kál2lék2k1állíká2lyod2k1á2mí2k1á2muká2n1agká2n1aská2n1iská2n1ó2ká2nyapká2nyarká2nyiská2nyivká2poló2ká2radká2raktkár1asskár1azokár1állká2r1e2kár1étekás1ajtkás1ass2kásástká2s1e2káská2rká2s1olká2s1ü2ká2szárká2sziská2szivká2s3zü2k1átadká2t1á22k1átbeká2t1e2ká2t1ir2k1átmekbé2relkci2ófakci2ósikecs1ónke1d2rakegész1ke2gyék2k1egylke2gy1úke1k2rékek2sza2k1eladke2l1an2k1elavke2lekc2keleme2kelemé2kelemmkel1érhkelés3s2k1elho2k1eljá2kellát2k1elny2kelőfúke2lőhíke2lőnyke2lőték1e2lőz2k1elsa2k1első2k1elto2k1elv_2k1elvá2k1elvo2k1elvt2k1elvű2k1embl2k1embr2k1emul2k1enci2k1endo2k1engeke2n1ip2k1enyvke2r1aske2r1álke2r1árker2csákercsí2ker1ellker1elvke2r1erkere2take2r1épker1éteke2r1idker1igaker1istke2r1izke2r1olke2rődeke2rőkéke2rősíke2rőteker2tajker2tápker2tásker2tegker2tönker2tövker1tróke2seté2k1esél2k1e2sőke1s2pokes3szó2k1este2k1esté2k1esti2k1estj2k1estk2k1estnke1stra2k1esttke2szajke2szépke1t2rake1t2réke1t2rikevés3s2k1e2vő2kéhezé2kéheztké2j1ak2kékekkkékes3ské2k1o22k1é2kű2k1é2lűké2lyidké2m1alké2m1anké2m1askémi2aské2m1u2ké2n1alké2n1arké2n1atkéndio22kéneklké2n1emké2n1erkén1éteké2p1a22k1építké2r1anké2r1aské2r1á2ké2r1u2kér1ülé2k1érzéké2s1á2kés3szaké2sza2kész1alké2szegkésze2lké2szédké2szinké2szirké2szőrké2sz1úké2taknkét1alakét1aspké2t1edké2t1egké2tel_ké2telnké2t1epkét1erekét1erkkét1erűké2teséké2t1é2ké2t1i2ké2t1orké2t1órké2t1ü22k1évad2k1évin2k1é2vüké2z1á2kéz1eltkéz1emeké2z3séké2z1u2kfi2sarkia2karkia2kaskia2lapki2konnki2konoki1k2réki1k2ri2k1illekin2csakin2csákin2csokin2gas2kiont_ki1p2la2kiránn2kirányki2s1eski2s1inkis1ipaki1skálki1smárkis2nyákis1okoki1s2póki1stopkit2t1ö2k1i2vó2k1í2gékí2n1ó22k1í2re2k1í2ró2k1í2ve2k1í2vé2k1í2vűk2k1akkk2k1aljk2k1almk2k1a2uk2k1azok2k1állkká2rokk2k1ásák2k1áthk2k1átlk2k1átvkk1á2zókk1ecsekk1e2dzkk1e2gékke2lőákk1e2tikk1e2vék2k1é2lk2k1épík2k1érzkk1i2dokk1i2gak2k1igék2k1ingk2k1inkk2k1intkk1iskok2k1í2rkko2lajkk1ollókkor2dák2k1orgk2k1orzkk1ó2rák2k1öntkk1ő2rikk1ő2rök2k1utákk1ü2lők2k1ü2tk2k1ü2vkla1krikla1plakla1s2kkla2uzáklá2malklá2masklá2melklá2merklá2minklá2misklá2molkle2tálkle2tinkli2pelkló2radkló2rajkló2rankló2ratkló2riskló2rolklu2b1aklu2b1eklu2birklu2bolklu2s3zkmai2kokni1sz22k1o2dúkogás1sko1g2rako2k1er2k1o2kíkok2sze2k1oktakol1ajtkol1áro2k1oldá2k1oldóko2limpko2litakol2lálkol2lelkol2les2kolvas2k1ombuko2n1arko2n1asko2n1auko2n1ál2konbetkon2csá2konhabko2n1ol2konola2konosn2konosr2konost2konrétko2nyagko2nyalkopá2séko2r1ajkor1ass2k1orchkor2dadkor2dáckor2demkor2desk1ordítkor2d1ökor2d3zko2r1elko2r1erko2r1eskor1illkor1iskko2roszko2r1ói2k1orr_2k1orrtkor1t2rko2s1askos3szekos3szokos3szü2k1ostrko2szalko2szerko2szir2kosztákotó1stkó2d1abkó2d1eskó2d1és2k1ó2nokó2p1askó2p1órk1ó2rájkó2r1irkó2r1okkóro2kakóro2kokó2s1oskó1s2pekó1s2pokó2s1ü22k1ó2vóköb1öllköb1ölnköb1ölrköb1ölt2k1ö2ko2k1ökrököl2csá2k1ölelköles3sköl2talköny2vákö2r1izkö2r1ő2körü2lékörü2lő2k1örvök1ő2reikőr1eszk1ő2ri_kpá2radkra2chi1k2rajc1k2rémh1k2réml1k2rémr1k2rist1k2riti1krokodkron1d2kro2n1ekro1strkró2markró2m1ekró2misksé2giskségü2lk2szagyk2sz1ajksza2keksza2kék2sz1amksz1anyksz1arék2sz1ágk2szemukszé2t1k2sz1idkszilá2ksz1ipaksz1iskk2szunik2sz1ügkt1a2dak2t1albk2t1allk2t1armkt1a2udktá2lalkt1állók2t1álmktára2dktá2rajk2t1átfk2t1átvk2t1e2gk2t1elgk2t1elhkt1elják2t1ellk2t1elsk2t1elvk2t1enzkte2radkte2ralkte2rárkte2rátkte2regk2t1érlk2térmik2t1éssk2t1igék2t1indk2t1infk2t1i2rk2t1iskk2t1ismk2t1í2rkto2n1ákto2raskto2r1ekto2rolk1t2rank1t2rénk1t2rióktro2nák1t2rónktu2m1ektu2minktu2sabktu2szektu2szék2t1ülék2t1ü2v2k1u2go2k1ujj_2kujja_2kujjad2kujjai2kujjak2kujjam2kujjas2kujjat2k1ujjá2k1ujjokul2csekulus1sku2n1ásku2n1inku2n1ó2ku2s1e2ku2s1ó2kus3szeku2szalku2szarkusz1esku2szétku2szis2kutalókú2p1a2kú2t1a2kú2t1á2kútfél1kú2t1ü2kül2t1á2k1ü2ríküvés3s2k1ü2vö2k1ü2zekű2r1ős1k2varkkvé2sel1k2vittkvőcsa2ky2s1ü2kza2talla2c1agla2c1ajla2c1alla2c3halac1italac1orrla2c1ö2lac3ságlac3süllac3sütladás1s2ladomálag1asslag1álllag1ár_lag1árálag1árblag1árelag1árflag1árhlag1árklag1ármlag1árnlag1árrlag1árslag1ártla2góvála2g1udla2g1urla2g1utla2j1arlaj1assla2j1azla2j1ál2lajánlla2j1esla2j1isla2j1olla2j1orla2j1órla2j1ösla2j1ü2lak1aljla2k1áclak1állla2k1egla2k1írlak2keclak2kellak2kollak2köl2laknáb2laknáh2laknásla2k1opla2k1ovla2k1öslak2ripla1k2ru2l1akt_2lakulá2lakulg2lakulh2lakulj2lakuln2lakulo2lakuló2lakuls2lakulu2lakulvla2lakulalás1s2l1alka2l1alku2l1allelal2tár2laltvé2l1alvilam1adalam1emblam1élela2ménela2minvla2m1í22l1ammóla2m1ollam1orgla2m1urla2n1ajlan1alalanás1slan2csilan2dizla2n1éplan2genlan2tag2lantácla2nyagla2nyau2lanyái2lanyánla2nyás2lanyávlap1akklap1aktlap1alklap1árhla2pe2llap1elela2p1enla2p1esla2p1imla2p1izlap2latlap1orglap1ornlap1orzlapos1s2lapparlar2m1elar2minla1s2pala1s2pila1strala2szasla2szásla2szódla2t1ajlat1arálat1attla2t1ájlat1álllat1ászlat1ékklat1éssla2t1izla2t1írlat1ívéla2tolllat1omlla2t1őrlat1üze2l1a2vulazac1clábas1sláb1orgláb1orrlá2csétlá2csiplá2d1azlá2d1orlá2g1allág1asslág1álllá2gigélá2g1ó2lá2l1allá2l1arlá2l1áglálás1s2láldás2láldozlá2l1is2l1állk2l1állv2lálmom2lálmuk2lálokulál1órálá2l1öv2l1álutlá2l1útlá2m1ajlám1asslá2m1aulá2m1állám1elllám1erőlám1istlá2m1orlá2n1aglá2n1anlá2n1aslán2cellán2csálá2n1erlán2gállán2g1elá2n1islá2nyajlá2nyamlánya2nlá2nyarlá2nyavlá2nyellá2rakalá2r1avl1á2razl1árkot2l1árutlá2s1ajlá2sottlás3szélá2szaslás3zav2lászedlá2szeglá2szenlá2sziplá2szöllá2szöv2l1áthe2l1á2tílá1t2rá2l1átte2l1áttö2l1áttű2l1átvé2l1á2vólá2z1allá2z1ellá2zsallá2zsanl2c1emblc1emell2c1e2vl2c1ezel2c1i2dlci2térl2c1ostl2c1oszl2csaktlcs1aprlcs1aralcs1arol2cs1áll2csátál2csátvl2c3sejlcs1elflcs1emblcs1emll2cserdlcs1erőlcs1esel2csidél2csimil2csitalcs1orslcs1ültlda2laglda2lajlda2lellda2leslda2lizlda2losl2d1antlda2nyalda2nyál2d1arcl2d1arklda2tósl2d1elkl2d1elol2d1elsl2d1emll2d1erőld1e2vél2d1é2gl2d1ércl2d1érél2d1érzl2d1észldé2vesl2d1igél2d1illl2d1imil2d1intl2d1olal2d1oldl2d1oltl2d1oszl2d1órild1öklel2d1u2tl2d1ú2tl2d1üleleb2reklefona2le2galale3g2ázleg1ellle2genele3ges_le3gesrle3gestle2g1islegmeg1le3g2onle3göngle2g1öslegpec1legvíz12legyed2l1egyll1egysé2l1egyvlej2t1ále2k1álle2k1eglek1elslek1emblek1emelek1erjle2k1idle2k1iklek1istlek1oltle2k1ő22lektro2lektróle2k1út2l1eladlele2ma2lelemzlele2tolelés1s2l1elgo2l1elha2l1elhálel1ingle2l1iz2l1eljá2l1ellá2l1ellé2l1ellő2l1elnö2l1elny2l1eltal1eltáv2l1elto2l1elv_2l1elvá2l1elvh2l1elvsle2melhle2melőle2melsle2meltle2melvlem1erkle2m1ékle2mindle2mitale2m1ő2lem1u2rle2n1állen2cellen1élélenés3sle2n1iple2n1orle2n1óvlen1őrélen1s2plen1stalen1trale2n1urle2n1utle2n1ügle2n1üt2l1enyvle2p1ajlep1apale2p1eglepe2lele1p2lole1p2ri2leredmle2rejéle2r1ékler1étele2r1il2l1e2rőle2s1alle2s1ál2lesegele2sésűle1s2kale1s2lile1s2mile1s2p2les3szales3szá2lesti_2l1estjle1sztole2t1ablet1allle2t1amlet1aprlet1elklet1elrle2tenele2t1édlet1élelet1élélet1élvleté2szlet1ikrlet1illleti2szle2tivále2t1onlet1orale2t1oxletőe3dle1traflet2teglet1üzé2levene2levení2levenüle2vezülevél1lle2volúle2x1ellezőe2rlezőé2nlé2c1éklé2d1aslé2d1ellé2d1éslé2d1ő2lé2g1eglég1elllég1elslé2g1emlég1ér_l1éghetl1égteml1égtetl1égtéll1é2günlé2gyellé2gyesléh1aszlé2h1em2léhező2l1é2jilé2k1ajlék1akalé2k1aslék1atolé2k1aulé2k1avlé2k1eplé2kesílék1evélékköz1lék1orslé2k1öllékve2g2l1é2lűlé2nekb2lénekllé2p1ellépés3s2l1é2pílé2pülé2l1érc_2l1ércb2l1érde2l1érni2l1érnü2l1értj2lérvel2l1érze2l1érzélé2s1ajlé2s1azlé2s1á2lés3szalé2s1ütlész1ék2l1észllés3zselé2t1eglé2tel_lét1elolét1előlét1elvlé2tenelé2tesélé2tetilé2t1islét1örölét2rág2l1évad2lévelf2lévelilév1ért2l1é2vó2l1é2vűl2f1élmlfi2d1élfi2nosl2f1ó2rlgár1asl2gy1adl2gy1aglgy1alalgy1aljlgy1anyl2gy1aul2gyelálgy1erélgy1ér_l2gy1ésl2gyikrl2gy1okl2gy1oll2gy1osl2gy1ösl2gy1útlhón1alli2a1d2li2aképli2aszali2aszáli2aszéli2aszfli2aszili2a1t22li2deg2l1i2di2l1i2dőligán1n2likonllime2ráli2nakrlin1anylin1ará2linas_2l1indulin1grálin1inglin1injli2n1ut2l1i2núlió2rajli2p1ajlip1eleli2p1ő2li2s1ellis1isk2l1ispá2l1istrlis1ü2v2l1iszl2lital_li2talalit1alklit1intli2t1isli2t1őrl1ittakl1ittasl1ittat2lizésí2l1izmo2l1izzó2l1í2rólítés3s2l1í2zelízis3s2l1í2züljharc1lka2tellka2t1élka2tinl1k2linlla2dójlla2gallla2gállla2genlla2géplla2golll1a2jall1akadl2l1akcl2l1almlla2madlla2mallla2memlla2méllla2morlla2palll1aszfllata2llla2téslla2t1űl2l1atyl2l1autl2l1ágbl2l1ággll1ágy_ll1ágyál2l1álmllá2magllá2mikllá2misl2l1á2pllár1adllá2rakllá2szal2l1átdl2l1átfl2l1átklle2gerlle2gyélle2l1alle2linl2l1elllle2m1álle2mellle2merll1estrlle2tosllé2kárllé2kosl2l1éltl2l1élvllé3nyal2l1év_l2l1igél2l1impll1ina_l2l1indll1ingalli2ninl2l1invl2l1irál2l1irol2l1isill1iskol2litall2l1izéll1izmall1izmál2l1í2vl2l1offl2l1o2llló2ráklló2rátlló2riál2l1ö2zl2l1őr_l2l1őrtll1u2bol2l1u2tlma2kadlma1krél2m1antlma1trál2m1attlmá2rislme3gonlm1e2lilm1e2lől2m1encl2m1engl2m1etnl2m1etűl2m1élvl2m1évalm1i2dől2m1igalmigaz1l2m1indl2m1infl2m1ingl2m1insl2m1invl2m1i2pl2m1o2pl2m1ódálm1ó2rál2m1u2gl2m1u2rl2m1ünnlna2p1elná2rislné2v1álni2kerlo2b1ivlo2b1ó2lo2g1állogás1slo2g1orlo2k1ajlo2kárblo2k1e2lokka2llok2köslo2k1ollo2konk2l1o2li2l1ollólom1adálom1agalom1akalom1arálom1asslom1ácslo2m1állom1árilom1árklomba2llom2bavlom1erklom1erőlo2m1eslo2m1imlo2minklom1intlom1iszlo2m1í2lom1ottlo2m1ó2lom1p2llo2n1arlo2n1aslo2n1aulo2n1avlon2cillo2n1ello2n1irlo2n1ó2lop1e2l2l1optilor2dinlo1t2halór1adalór1anyló2rámrló2r1érlór1ismlór1oldló2s1ajlós1anyló1s2poló1s2ráló1s2taló1t2rálóz1anyló2z1esló2z1irlóz1isklóz1ismló2zolv2l1ö2délöl2t1al1ölthel1öltötl1öltözlös3szá2lösszelö2szislöt2terl1ö2ve_l1ö2vezl1ö2vönl1ö2vüklő2d1éklő2d1iv2lődje_2lődjétlődköz12lődöke2lődökn2lődökr2lődöt_lő2d3zelőgépi2l1őgyel2lőkése2lőlegelő2nyallő2nyár2lőnye_2lőnyei2lőnyéb2lőnyén2lőnyér2lőnyét2lőnyévlő2r1islő1s2kalő2s1ótlő1s2pilős2tar2lőtét_2lőtolál2p1alklpanto1l2p1anyl2p1álll2p1átml2p1átslp1e2lul2p1e2ml2p1élel2p1éril2p1i2dlp1i2zol2p1oldl1p2róblp1uszolrá2k1elsors1slső1sz2lsza2kélszá2rúlta2gyálta2lenlta2lizl2t1ampl2t1aprl2t1arclta2riált1asszlt1asztl2t1a2ult1á2gal2t1állltá2nanlt1árurltá2tall2t1átrl2t1elll2t1elöl2t1emulte2radl2t1erőlte2tékl2t1érzl2t1illl2t1indl2t1ingl2t1i2ol2t1isil2t1istl2t1í2rl2t1í2vl2t1í2zl2t1omll2t1ordl2t1orgl2t1orjl2t1orrl2t1o2xltó1s2pl2t1ölélt1ő2röl1t2rónl2t1udvl2t1unaltu2n1iltu2szel2t1u2tlt1ü2lél2t1ü2vlu2b1aslu2b1inlugas1slu2k1oslumen1nlu2m1iplum2pel2l1u2ni2l1u2ru2l1u2rúlu2sakrlu2s1áglu2s1ó2lus3szelus3szi2lutánz2l1ú2jí2l1ú2sz2l1ülés2l1ülni2l1ü2lö2l1ü2lő2l1ült_l1ülte_l1ültéil1ültékl1ültéll1ülténl1ültérl1ültét2l1ültü2l1ülün2l1ű2rilva2datl2v1admlvaj1aklva2j1elv1akadl2v1akcl2v1algl2v1alkl2v1antl2v1a2zlvá2raslvá2rárlvá2rollvá2szilv1egyslv1egyvl2v1elkl2v1elll2v1erólvé2güll2v1élmlvé2ri_lvé2szal2v1igal2v1i2mlv1intélv1i2pal2v1irol2v1irtl2v1isml2v1izml2v1izolvíz1esl2v1oldl2v1olvl2v1ölél2v1öltl2v1ö2zlya2dat2ly1adm2lyagy_2lyagyr2lyakós2ly1alb2ly1alk2ly1almlya2majlya2memlya1p2r2ly1arclya2sally1aspely1assz2ly1atllya1t2r2ly1árn2ly1árr2lyátlá2lyátlé2lyeke_2lyekekly1e2lely1e2lőlye2m1alye2min2lyemlí2ly1engly1e2rő2ly1esd2lyesél2lyeszk2lyeszm2lyeszű2lyetet2lyéhe_2lyéhen2lyéhet2ly1ér_2ly1érc2ly1érd2ly1érm2lyérő_2lyérői2lyérők2ly1érr2ly1érv2ly1érz2ly1étt2lyéve_2lyévei2lyévek2lyéven2lyévet2lyévévlyf1ölt2lyideá2lyideg2lyiden2ly1ido2ly1ige2ly1igé2ly1iha2ly1ill2ly1ing2ly1ini2ly1int2ly1i2p2ly1iro2ly1isk2ly1ita2lyivad2ly1i2z2ly1í2r2lyokal2ly1okl2lyokoz2lyokta2ly1o2r2ly1osz2ly1ottlyó2s1á2ly1ö2l2ly1ö2rlyrádi2lyu2kás2ly1u2r2ly1u2t2ly1úr_2ly1ü2v2ly1űr_2ly1űrh2ly1űrllzu2s3zma2cél_ma2célbma2célt2m1adapma2datbma2datoma2dattmadás1s3m2a3dzma1f2ramag1alama2ga2nmag1anymag1aramagas1smag1azomag1állmag1árnmag1árrmag1ártmag1átama2g1el2m1aggrma2g1ormag1órama2g1óvma2g1ü22m1agy_2m1agyb2m1ajtama2kará2m1akkuma1k2rima2laku2m1alt_2m1a2luma2n1eg2m1angi2m1anto2m1antrma2nyagma1p2rema1p2réma1p2rima1p2ro2m1arc_2m1arcc2m1archmar1cko2m1arcu2m1arcúmaro2k1ma2romámaros1smaró1khmaró1kkmaró1knmaró1krma1s2káma1s2pema1s2ráma1s2tama2szévma2szismaszí2vmasz1ösmat1adama2t1ázmat1elimat1előmat1eltmatfél1mat2rágmat2tinma2t1ut2m1a2ukma2z3sű2m1á2bémá2csinmá2csirmá2csis2m1á2ga2m1á2gá2m1á2gé2m1á2gú2m1á2gymágya2dmá2j1e2má2j1olmájren2má2j1ulmá2k1almá2k1e22m1álarmá2l1e2mál1értm1állapm1állat2m1állím1állom2m1álma2m1álmomá2m1as2m1á2mímá2n1asmán2cipmán2csémá2n1inmá2n1itmá2n1ö2mán2tacmán2tagmá2nyajmánya2nmá2nyapmá2nyarmá2nyaumá2nyavmá2nyazmár1assmá2r1aumá2r1álmá2r1idmá2r1ikmár1isk2márkokm1á2ruhmá2s1avmá2s1e22m1á2sómá2s1ü2más3zav2m1á2tamát1a2k2m1á2tá2m1á2tí2m1átlómá2t1ol2m1átre2m1átte2m1á2tú2m1á2tümá2zsalm2b1akkmba1k2rm2b1aljm2b1alkmb1a2zomb1á2gym2b1állm2b1átam2b1áthmb1e2cembe2ledm2b1ellmb1elszmbe2ralmbe2ranmbe2rasmbe2regmbe2revmbe2rolmbe2rosmbe2r1úm2b1é2gmb1é2kem2b1ékím2b1érzm2b1idem2binamm2b1infm2b1ipam2b1izmm2b1izzmb1oldamb1ő2simbrádi2mbu2szembu2szím2b1u2tmbvezé2mdi2ale2medényme1d2rá2m1e2dzme2gabame2g1anme2g1egme2g1elmege2lemege2lőme2getamegés3smegész1meg1igámeg1innmeg1ittme2g1ó2me2g1ö2me2g1u22megyez2m1egyh2m1egyl2m1egys2megyütme2hetőme2k1adme2k1agmek1alkme2k1ammek1arcmek1egymek1ellmeke2szme2k1ékme2kidomek1imáme2k1okmek1oramek1oromek1ortme2k1osmek1ottme2k1ötme2k1ú2me2k1ügme2lektmel1e2lmelés3s2m1elgo2m1elháme2lit_2m1eljámel2lálmel2ler2m1elmé2m1elnöm1elődeme2lőző2m1elta2m1eltám1elter2m1elti2m1elv_2m1elvá2m1elvn2m1elvome2n1elmene2tömenés3sme2n1ipmen2tipmera1p2mer1ass2meredmmer1egyme2r1épme2r1ilmer1infmer1ingme2r1ip2mernyőme2r1olme2r1os2merősímer1tró2meseté2mesély2mesésk2mesésr2meséss2mesést2m1e2sőme1s2po2m1estb2m1esté2m1estfme1s2tó2m1estrme2szan2meszemmetasz2met1ellmet1ing2m1e2ugme2z1ajme2zedémez1ereme2z1ékme2z1idme2z1olme2z1or2mezremme2z3samé2g1o2mé2h1a2mé2h1ismé2h1orméhren2mé2k1admé2k1ajmé2k1akmé2k1almé2k1anmé2k1á2mék1elhmék1ellmé2kirámé2k1u2mé2lyegmé2ly1ú2ménekb2ménekh2méneklmé2n1elmé2n1ésmé2n1ismé2nyermé2nyékmé2nyimmé2nyírmé2ny1oményü2l2m1érc_mérés1s2m1érkémé2r1ónmé2s1a2mé2s1á2mé2s1ermés3szamész1almé2szedmé2sz1ő2mészté2mészth2mészti2mésztj2mésztl2mésztü2mésztvmé2t1admé2t1akmét1árt2m1étje2m1étjü2m1é2vimé2z1á2méz1ismmfa2lomm1f2rakm1f2ranmi2aszámi2aszémi2aszimi2aszó2m1i2ázmi2dentmi1k2limi2konomi2kontmin1any2m1indámin2dekmin2din2m1indí2m1infúmin2g1á2m1ingémin1g2hmin1injmin2kec2m1inspmio2n1amio2n1á2mi2ránmis1elvmis1epemis1ingmi1s2pimi2szármi1sz2fmit1anymit1ár_mit1árámit1árhmit1árimit1árkmit1árnmit1árrmit1ártmit1árúmit1ingmiu2min2m1i2vó2m1í2rá2m1í2rómjobb1omlapá2rmla2pinmla1s2tmlá2s3zmle1plamlé2k1ámlé2kosmlé2szém2m1atkmme2g1émo2k1admo2k1álmo2k1e2mo2k1ilmo2k1olmo2k1ormo2k1ó22m1olda2m1olló2molvad2molvasmon1acémo2n1anmo2n1asmo2n1ermo2n1ismon1trémo2nyázmo2r1admor1anymorá2la2m1ordímo2r1elmor1izgmo2r1olmo2r1ón2m1orr_2m1ostr2m1ostymo2szalmo2szismó2d1e2mó2d1órmókus1smóri2asmó2r1ónmöl2csá2m1ő2rimős3zárm2p1akcm2p1állm2p1átjm2p1átkmpon1d2m2p1ordmporta2m1p2refm1p2repm1p2résm1p2ricm1p2rodm1p2rotm1p2róbm1p2szim2p1utómsza2kémszín3nmtára2dmtran2smu2m1admu2m1elmu2m1ésmu2m1irmu2m1ivmu2m1ó2mumus1smur1izmmu2r1u2mu2s1ó2mus3szemu2szalmus3zavmu2szálmu2szás2mutalvmu2tasím1u2tazmu2t1elmu2t1inmúl2tol2m1ú2sz2m1ú2ti2m1ú2toműves3smza2t1emze2r1omze2termzé2s1a2n1a2dóna1d2rena2gyavnagy1úrnagy1útnakaró2na2k1átnak1olana1k2réna2l1ajna2lanana2laprna2laptnal1engnal1entnal1ég_na2l1ékn1alja_3naljacn1aljadn1aljai2naljakn1aljamn1aljat2naljonna2l1obna2l1olnal1oszna2luljna2l1ut2namitm2namitö2namitsnap1adónap1apánap1arána2p1asnap1állnap1ellnap1estnap1isknap2latnap1ormnapos1s2naprózna2p1úr2narann2n1arc_2n1arcá2n1arco2n1arcu2n1arcúnas1iskna1s2kana1s2rána1s2tana1s2tánasz1ügna2t1abna2t1ajnat1aránat1állna2t1egnate3lenat1ors2n1a2tyna2vart2n1a2zo2n1á2béná2csalná2csapnác3sikná2csisnác3sorná2d1e2ná2d1ü22n1á2híná2lananála2tená2l1azná2l1átná2l1egná2l1elná2l1épná2l1in2n1áll_2n1állíná2n1alnán2c1ená2n1e2nár1assná2r1avná2r1ácná2r1álná2r1e2ná2r1ór2n1árud2nárun_nár1utáná2s1asnás1áréná2s1e2ná2szanná2szasná2szágná2szálná2szénná2szilná2szinná2szisná2sz1öná2sz1úná2sz1üná2talanát1ásvná2t1e22n1áthi2n1á2tí2n1átlé2n1átru2n1átug2n1átut2n1á2tú2n1átvin2c1aján2c1aknn2c1aktnc1a2lan2c1alkn2c1avan2c1árnnc1á2san2c1eldn2c1elvncé2hesn2c1évin2c3hoznci2ason2c1igenc1i2mán2c1indn2c1ingn2c1intn2c1irán2c1istn2c1i2zn2c1ottn2cs1abn2cs1agn2csaktncs1arancs1argncs1aron2cs1auncs1ágrn2cs1álncs1árbncs1árrn2csárun2csátan2csátán2csátvncs1elfncs1intn2cs1ion2csipan2csiráncs1irtn2csitancs1izznc3síkincs1íztn2csoszn2cs1ösn2cs1özncs1őröncs1utancs3zárnda2dásn2d1aján2d1akcn2d1akkn2d1aljn2d1alrnda2tapnda2tinnda2tirnde2közn2d1elfn2d1elmnde2mernde2m1ünde2r1ande2rálnde2ráznde2reln2d1erőnde2szandé2kelnd1ékezn2d1élendé2rajn2d1éttn2d1igan2d1igen2d1illn2d1ingn2d1insndi2óé2ndo2rálndo2r1únd1ó2nin2d1ö2zn2d1őr_n2d1őrbn2d1őrcn2d1őrdn2d1őrfn2d1őrgnd1őrisn2d1őrjn2d1őrkn2d1őrln2d1őrmn2d1őrnnd1őroknd1őrosnd1őrősn2d1őrpn2d1őrrn2d1őrsn2d1őrtn2d1őrún2d1őrvn1d2rukn2d1utan2d1űr_n2d1űrrn2d1űrtne1d2ráne2gyekne2gyenne2gyesne2gyetne2gyezne2gyig2n1egysne2gyünne2k1ajnek1erőnek1éknne2k1okne1kreáne2k1ügne2l1annele2manel1engne2l1ép2n1elhane2l1idne2l1inne2l1otne2l1ó2ne2l1ö2ne2lőhíne2l1ülnem1egy2nemelene2m1idnem1isznense2snen2s3z2n1enyvne2pelmne2p1utne2r1asn1e2rejne2r1erne2r1élne2r1épne2r1idne2r1ilne2r1olne2r1osne2r1ön2n1e2rőne2r1u2ne2r1ügne2s1ál2n1e2sőnes3szanes3szá2n1esté2n1estinesz1álne2t1abnet1elánet1elmnet1oldne2t1ő2net2tévne2t1utnet1ülé2n1e2vő2n1é2gé2n1é2gő2n1é2güné2gyerné2gyénné2gy1oné2gyöknék1elenék1isz2n1é2kín1é2les2nénekené2p1akné2p1alné2p1anné2p1asné2p1álné2p1árné2p1ázné2p1ésné2p1usné2r1an2n1érténé2s1égnész1aknész1alné2sz1áné2szegné2szikné2sz1íné2sz1úné2szülné2t1egné2t1esnév1adanév1adáné2v1ág2n1évbúnév1elő2né2vem2névenk2néventnév1esz2né2vetné2vérőné2v1u2nfol2tan1f2rakn1f2rekn2g1ablng1a2dón2gadó_n2gadóan2gadóbn2gadóin2gadójn2gadókn2gadórn2gadósn2gadótn2gadóvn2g1akrn2g1aktnga2lagnga2laknga2lapng1alátng1aleln2g1algn2g1aljn2g1arcn2g1artn2g1arzn2g1aspng1asszn2g1a2un2g1avanga2zonn2g1á2gng1álláng1állong1állóng1árasng1áratngá2rátngá2rávngá2rukn2g1átán2g1átkn2g1átln2g1átmn2g1átsn2g1átvn2g1elange2lisnge2r1ange2rálnger2imn2g1é2gngé2lesn2g1épín2g1ércng1értén2g1éten2g1i2dn2g1igan2g1igen2g1igéng1i2kon2g1ikrn2g1ingn2g1izgn2g1ordn2g1orgn2g1orkng1ostong1osztngó2rián2g1ö2zn1g2ramng2rádjn1g2ráfn2g1undng1u2ran2g1utan2g1ü2gngy1assn2gy1emn2gy1esngy1éksngy1éktngy1ér_n2gy1utnha2b1inhal1k2nhá2zipnhá2zolnhá2z3snhe2d3zni2aszani2aszániát1a22n1i2boni2c3heni2c3héni2c3ho2n1i2dő2nigaz_2n1i2gáni2k1elni2k1emni2konr2n1i2lyn1i2máé2n1info2n1infúnin2gas2ningei2n1inténip2p1inirész1ni2s1innisz1akni2szegni2szipni2szisnisz1olni2sz1őni2t1agni2t1ajni2t1asnit1ellni2t1épni2t1érni2t1innit1oldnit1olt2n1i2vó2n1izmáni2zsol2n1í2rání2r1é2ní2r1ot2n1í2ró2n1í2vin2k1akkn2k1alvn2k1anónka2nyánka1p2lnka2risnka1s2knka2tomnka1t2rnk1áradnká2rálnká2rolnká2ruknká2sadnká2salnká2savnká2s3zn2k1átjn2k1átmn2k1átsn2k1átunk1e2dzn2kellánke2r1ank1eredn2k1é2ln2k1épín2k1ércnk1i2gan2k1igén2k1imin2k1ingn2k1intnk1i2onn2k1ónén2k1ónin1k2risnk2romankron1nn2k1u2snk1utaln2k1utánla2talnle2g1ánle2t1onle2tüznlé2tésnme2g1én2n1emln2n1ettnn1eveznné2getn2n1ü2cn3nyalánny1a2nnny1elln3nyelőnny1eltnnyié2hnny1igénny1oldno1d2rá2n1o2dúnok1alano2k1álnok1ist2n1okkeno1k2ro2n1o2la2n1olló2n1o2lyno2n1alnonc3sz2n1o2peno1p2lano2r1alno2r1elno2r1iv2n1ormo2n1orré2n1orvonos3szenos3szfnos3szinosza2uno1sz2f2n1otthnó2d1isnó2m1emn1ó2racnó2r1adn1ó2rafn1ó2rarn1ó2rasn1ó2ratnórádi2nós1akknó1s2ránó1s2tanót1alanö2k1elnök1etinö2k1ék2n1ö2nö2n1össz2n1ö2szn1ö2ve_nő2csárnő2csős2n1őrasnő2rét_nő2rétő2n1ő2ri2n1ő2rönő1sz2tnőt2tinnpa2dalnpo2r1anpu2t1anpu2t1inren2dan2s1a2dn2s1akcns1a2ránsa2várnsa2vilnsa2voln2s1a2znsc3he_nsc3heins1e2lén2s1enen2s1esznsé2geln2s1é2ln2s1i2dn2s1ingn2s1irón2s1í2rn2s1í2vn1s2káln2s1ottn2s1ó2rns3szern1s2tabn1s2tácn1s2timn2s1u2tnsz1alkns3zaráns3zárán2sz1itnt1ablan2t1abrnta2célnt1a2dón2t1aggnta2gyunta2gyún2t1ajkn2t1ajtn2t1akcnt1alátnt1aleln2t1alfnt1antanta2rann2t1arcn2t1arknta1s2pnt1asszn2t1atyn2t1azont1ácsint1ácson2táramntá2rávnt1árnyntá2rukn2t1ásón2t1átin2t1átln2t1átrn2t1átsn2t1átvntá2zsin2tedénn2t1elan2t1elbn2t1elkn2telnönte2lőán2t1elrn2t1elzn2t1emln2t1emun2t1entnte2ráln2t1erzn2t1evant1é2génté2kesn2t1éksn2t1élmn2t1éltn2t1épün2t1érznté2tern2t1igenti1k2ln2t1impnti1nk_nti2parn2t1irán2t1iron2t1iskn2t1ismnti2vásn2t1ívbn2t1í2zn2t1oklnto2rasnto2réknto2rinnt1ormánt1orront1ö2könt1ö2lőn2t1ördnt2ransn1t2réfn1t2rófn2t1udvntu2morn2t1unant1u2rántu2szantú2ralntú2rannt1ú2szn2t1ü2vn2ty1éln2ty1ikn2ty1ivnu1k2la2n1u2ni2n1u2nonu2s1avnu1s2ponus3szinu2szabnu2szirnúkész12n1ü2dí2n1ügy_2n1ügyb2n1ügycnügy1és2n1ügyh2n1ügyk2n1ügyl2n1ügyn2n1ügyrnven2tanvé2d1a2ny1abl2ny1abrnya2cél2nyadásnya2dóznya2gar2nyagáh2nyagár2nyagávnya2gen2nyagos2nyagta2nyaguk2nyajánnya2kelnya2kiz2nyakt_2nyaktá2nyaktb2nyakti2nyaktj2nyakto2nyaktu2ny1albny1alép2ny1almny1alte2nyaltú2nyamal2nyanal2ny1antnya2pátnya2rén2ny1arz2nyassz2nyaszt2nyatkánya1trá2nyavat2nyádná2nyállínyá2lom2nyámék2nyámná2nyárasnyá2rábnyá2ránnyá2rátnyá2ráv2ny1árj3nyárt_2nyá2ru1nydre_2nyedén2nyedzé2nyegyl2nyegys2nyeke_2nyekei2nyekéé2ny1elb2nyelef2ny1elfny1elha2nyeljány1elma2nyelnö2nyelőí2nyelőz2ny1elr2nyelső2nyelto2nyembl2nyembr2nyemel2ny1eml2ny1eng2nyerdő2nyerej2ny1erk2nyerny2nyerőmny1eser2nyesél2nyestj2nyeszk2nyetiknye2vez2nyezüs2ny1ébr2nyéhen2nyéhes2nyélet2nyérc_2nyérin2nyérő_2nyérői2nyérőt2nyérv_2nyérzé2nyétel2nyétke2nyéve_2nyévei2nyévek2nyévem2nyéven2nyéves2nyévet2nyévez2nyévéb2nyévér2nyévét2nyévév2nyideg2nyidej2ny1ill2ny1ima2ny1imb2nyinasny1ing_2ny1int2ny1i2p2nyirod2nyisko2nyivad2nyivás2ny1izn2ny1izt1nyket_1nymet_2ny1okl2nyokos2nyokoz2nyoktanyolc1c2nyoldá2nyoldóny1olló2nyosto2nyoszl2nyoszt2ny1ottny1ó2ninyó2rácnyó2ránnyó2s1ü2ny1ö2lny1u2tany1u2tá2ny1úr_2ny1úrh2ny1úrn2ny1úté2ny1úti2ny1ü2g2ny1üld2ny1űr_2ny1űré2ny1űrh2ny1űrj2ny1űrl2ny1űrn2ny1űrt2nyűzőb2nyűzőé2nyűzőh2nyűzők2nyűzőn2nyűzőr2nyűzőt2nyűzővnyzé2ken2z1acénz1a2ganz1ajtan2z1aktn2z1alknz1á2gynz1árnyn2z1e2gn2z1elbn2z1elfn2z1elkn2z1elmn2z1elon2zelőzn2z1elsn2z1emin2zenernzer2vinz1eszkn2z1é2ln2z1ér_n2z1érdn2z1érkn2z1érmn2z1érvn2z1érzn2z1igén2z1illnzi2n1on2z1i2pn2z1istnzi2tárnzi2tenn2z1oklnzo2linnzo2n1anzo2rinn2z1oszn2z1ö2vn2z3sárn2z3sátn2z3sern2z3sisn2z3sodnzu2l1anz1u2ranzu2sann2z1u2tn2z1ü2gn2z1ü2zo2a1k2voa2nalioá2r1olo2b1aljob1a2raob2b1ego2b1e2mo2b1erőo2b1é2go2b1érzobi2linobi2lipob1ina_o2b1ingo2b1i2so2b1ollobo2r1aobo2rinobo2tinob1ó2ráo2b1ú2so2c3hi_oci1k2roci1sz2o1c2kefock1éneo1c2kéro1c2kéto1c2ki_o1c2kigo1c2kino1c2kito1c2kivo2c3sapo2cs1álo2cs1e2ocs1izmo2cs1ü2o2d1adjo2d1akko2d1aljo2d1assod1asztod1autóod1álláodá2s3zode2mino2d1é2god1é2neo2d1érdod1é2véo2d1igaodi2l1eodi2lidodi2liko2d1into2d1iroo2d1oktodo2rako1d2ramo2d1u2roe1t2heoé2n1aloé2n1anoé2n1aroé2n1árofi2ladofi2lakofi2l1áofi2lelofi2lérofi2lisofi2talofo2nanofo2n1áofő2r1eo2g1a2goga2karo2g1akáo2g1aljog1a2tyo2g1á2go2g1áreogá2roso2g1átao2g1áteo2g1átjo2g1átko2g1átlo2g1átno2g1átro2g1átso2g1átto2g1átvo2g1e2do2g1e2go2g1e2lo2g1e2po2g1eseo2g1e2vo2g1é2go2g1é2lo2g1é2po2g1ér_og1érteog1értéo2g1érvo2g1i2do2g1igao2g1igéo2g1ingo2g1intog1i2roo1g2lico1g2naio2g1odvo2g1o2v2ografi2ográf_2ográffo1g2rálog1u2raog1u2ruo2g1u2so2g1u2togy1a2cogy1a2pogy1is_oha2maloha2meloha2mesoha2misohá2r1eohá2szio2h1á2zo2h1orrohó2csioi2d1adoi2d1e2oi2n1adok1a2céo2k1aljo2k1alkoka1p2lok1a2raoka2riso2k1aspo2k1assok1aszfok1aszto2k1atto2k1atyo2k1avaok1áradoká2rulo2k1árvoká2salo2k1áteo2k1e2co2k1e2go2k1e2lo2k1e2mok1e2rőo2k1e2vok1é2keok1é2kéo2k1él_ok1é2léo2k1épüo2k1ér_o2k1érbo2k1érco2k1érdo2k1érgo2k1érho2k1érmo2k1érrok1értáok1értöo2k1érzo2k1étko2k1éttok1i2gaokigaz1o2k1igéo2k1into2k1isko2k1ispok1isteo2k1izmok2k1ajokk1alkok2k1asokk1elhokk1elöokk1előokk1elr1okkeréok2k1esok2képüokk1össok2k1uroko2lároko2r1áoko2riloko2risok1o2roo2k1oszo2k1ö2do2k1ö2vo1k2riso1k2rómok2szanok1u2rao2k1u2to2k1útbo2k1útho2k1útjo2k1útko2k1útno2k1útro2k1útt1o2laj_1o2lajb1o2lajf1o2lajg1o2lajh1o2laji1o2lajj1o2lajk1o2lajm1o2lajn1o2lajp1o2lajr1o2lajs1o2lajúola1k2ro2l1algol1anyaola1s2pola1s2tola2tálola2tápola2tékola2tüzol1ábráo2l1á2go2l1árbo2l1árholá2riáo2l1árko2l1árnolá2rokolá2rono2l1árro2l1ártolá2szao2l1átvolc1anyol2c1évolc1iko1oldal_1oldalá1oldalbolda2le1oldalh1oldalk1oldall1oldaln1oldalo1oldalr1oldalt1oldalu1oldalúol2d1auold1embol2d1isol2d1ö2o2l1e2lo2l1é2do2l1é2gol1é2reol1é2riol1é2rüo2l1érzol2f1árolf1ingol2f1ut1o2ligaoli2gázo2l1igéo2l1iskol2l1ajoll1anyoll1attoll1egeoll1egéoll1eleoll1eseoll1injol2linsoll1iskol2l1ő2oln1ikeo2l1o2lolo2r1eol1ó2nooló2ráioló2rájoló2rákoló2ránoló2rároló2rátol1ó2riol2t1aj1oltalm1oltalool2t1ágol2t1egol2t1emol2t1épol2t1és1oltóké1oltólool2t1őro2lyabroly1adaolyame2o2ly1e21o2lyéb1o2lyéh1o2lyéio2ly1ü2o2ly1ű2o2m1ablo2m1admo2m1adtoma2ga_oma2galom1agyúo2m1ajáo2m1ajkoma1kréo2m1akto2m1almo2m1ambo2m1annom1apado2m1appo2m1arco2m1argo2m1atyom1a2zoom1áraso2m1árdo2m1áreomá2ré_omá2réto2m1árgomá2riaomá2riáo2m1ármomás3zóo2m1átko2m1átmom1átolo2m1átrom2b1egomb1elhomb1éneomb1ón_omb1órao2m1e2bo2m1egyo2m1elao2m1eleo2m1eléom1elláo2m1elmo2m1elno2m1eloo2m1előo2m1elsom1elteo2m1eluo2m1elvo2m1e2mom1e2room1e2rűo2m1etno2m1etűo2m1e2vo2m1ezeo2m1ébeom1é2deom1é2lőo2m1ér_o2m1érbo2m1ércomé2ri_o2m1érmo2m1érro2m1érvo2m1é2somé2telo2m1étto2m1éveomid1i2om1i2dőo2m1igao2m1igéo2m1illomi2melomi2m1éomi2nábomi2návo2m1indo2m1ingo2m1i2po2m1iráo2m1iroo2m1irto2m1isko2m1ismomi2tanomi2t1eomi2tisomo2doromo2kaso2m1ontomo2rasomo2rizom1ostoomosz2fomtes2so2m1unoo2m1u2to2m1u2zo2n1ablona2célona2daton1agyho2n1ajto2n1akko2n1aktona2lenon1alj_on1aljuona2lokona2loso2n1antona2rácona1s2pona2tálona2tüzo2n1á2pon1árado2n1árko2n1árno2n1ártoná2táso2n1átco2n1áteo2n1átfo2n1átmon2c1álon2c1ezon2c1ékonc1illonc3ságon2csegoncs1égond1ikoon2d1ölo2n1e2don1e2geo2n1elao2n1eleon1el1éo2n1elho2n1elmo2n1elno2n1eloo2n1elro2n1elvo2n1e2mo2n1eseo2n1e2vo2n1é2gon1é2keo2n1é2lon1é2neo2n1é2po2n1érco2n1ério2n1érlo2n1érmo2n1érpo2n1érso2n1érvo2n1év_o2névado2n1évbon1é2vio2n1évko2n1évnongás1son2g1egon1g2lóon2gyadonháro2o2n1i2do2n1igao2n1igeo2n1igéon1i2keo2n1illo2n1inbo2n1info2n1ingo2n1injo2n1inno2n1inro2n1inso2n1into2n1i2pon1i2ráo2n1iroo2n1irto2n1isko2n1ismon1isteo2n1izzonk1állonké2t1on3nyáro2n1oldon1oszlo2n1o2vo2n1órionó2sakont1agyon2t1ajont1árvon2t1edont1eláont1eldont1elhont1ellont1elmon2telnont1eltont1elvont1embont1ékéon2tigéont1ikronti2szon2t1izont1óni1ontóston2t1öson2t1özon2t1üzo2n1unao2n1u2ro2n1u2to2n1ú2so2n1ü2go2n1ü2to2n1ü2zony1akcony1aljony1altonya1p2o2ny1álony1árkony1ázóony1e2cony1e2gony1e2so2ny1égo2ny1élo2nyéréonygóc1o2nyigéony1ikoony1ingo2nyitaony1oldony1omlo2nyoszony1ó2ro2ny1ő2o2ny1uro2ny1ü2onz1ablon2z1edon2z1eson2z1ékon2z1imonz1ingonz3selo2p1a2bo2p1a2dop1a2lao2p1anyop1a2poo2p1a2zo2p1átho2p1átlo2p1átmop1e2déopera1so2p1é2lo2p1é2nop1i2koo2p1ingo2p1i2po2piramo2p1orjo2p1orropor2töoposz2fop2p1iso2p1u2ro2p1u2to2r1ablo2r1abrora2dator1a2góora2kadora2kaso2r1akcora2kolo2r1akto2r1aljo2r1almo2r1alto2r1alvo2r1anao2r1aneo2r1anko2r1anto2r1arcor1a2rior1aszko2r1atko2r1atlo2r1ábror1ács_or1ácsaor1ácsoo2r1á2gor1állóo2r1á2po2r1ár_o2r1áráo2r1árbo2r1árko2r1árpo2r1árro2r1ártor1á2ruo2r1árvo2r1ásvorá2szeo2r1átao2r1átfo2r1átho2r1átjo2r1átko2r1átmo2r1átro2r1átso2r1átto2r1átvor2c3héor2c3hoorc3ságor2c3séor2d1auord1emeo2r1e2bo2r1e2dor1e2geor1e2géo2r1e2mo2r1engo2r1esso2r1e2vo2r1é2do2r1é2go2r1é2joré2kásor1éknéo2r1é2lo2r1é2mo2r1éréo2r1étko2r1év_o2r1évno2r1évr2orgiaio2r1iboo2r1ifjo2rinaso2r1indo2r1info2r1injo2r1inso2r1i2po2r1ismori2tano2r1í2jo2r1í2no2r1í2vo2r1í2z1orjaia1orjaiéor2m1eborm1eliorm1elvorm1eszornis1so2r1o2áoro2kororo2nyaoro2nyoo2r1o2ro2r1o2xor1ó2iaor1ó2nior1ó2ráor1ó2sáoróso2rorr1ablors1alkors1assor2s1álors1ült1országor1sz2tor2tanaort1ejtort1elvort1embor2teneort1etiort1éleort1éléort1éltort1élvor2t1önor2t1ösort1uraort1úr_o2r1u2go2r1u2ro2r1u2to2r1útbo2r1útho2r1útjo2r1útno2r1útro2r1úttorv1isior2zsano2s1ablo2s1akco2s1a2lo2s1ango2s1anto2s1anyo2s1a2pos1asszos1a2tyo2s1ábro2s1á2go2s1állosá2rakosá2rikosá2roko2s1áruo2s1átro2s1e2go2s1e2lo2s1é2go2s1é2lo2s1érdo2s1ideo2s1into2s1i2po2s1ismos1isteo2s1í2ro2s1í2z1o2sonto2s1o2ros2s1urossz1esossz1íjost1oldos2t1ösos2t1ü2o2s1u2ro2s1u2to2s1ú2so2s1ü2vos3zabáosz1aláosz1alkosz1altosz1anyosz1aréo2sz1álo2sz1edo2s3zeno2sz1éso2szigeosz1ingosz1ismosz1istosz1orsosz1ó2rosz2tedoszté2rot1a2dao2t1antot1a2nyo2t1a2zo2t1á2go2t1árbo2t1e2gote2l1áote2lelote2m1áote2m1oo2t1é2lo2t1ér_o2t1érzoti2naroti2náro2t1indotinká2o2t1iráo2t1izéoto2n1áoto2nisoto2rakoto2ráloto2rároto2rimoto2rinoto2rolotosz2fotó2panotó2pasotó2pinotó1stao1t2ragotta1g2ot1u2szotva1k2ova2rátova2rékova2résova2risová2siko2z1a2loza2maloza2mino2z1anyoza2tatoza2táloza2téso2z1á2go2z1áruozá2s1eozá2s3zo2z1átlo2z1é2lo2z1é2poz1i2doozi1sz2o2z1osz2ozófiaozó2tanozs1anyozzá1s2óajtói2óala2g1óá2t1e2óá2t1i22óbarnaóba1t2róbuszt2ó2c1akróc1a2laó2c1assó2c1e2gó2c1e2vó2c1oszóc3s2páód1a2dáó2d1árnód1á2ruó2d1e2dó2d1e2gó2d1elhó2d1elló2d1elmó2d1eloó2d1elvóde2sésó2d1e2vó2d1é2gó2d1érzó2d1i2dó2d1igéó2d1intó2d1ipaó2d1iroó2d1oszó2d1o2xó2d1ö2ló1d2rogó1d2rótó2d1uraódu2s3zó2d1u2tóegész1óe2l1a2óe2l1á2óe2l1í22ófa1t2ófe2lenó2f1ér_ó1f2rakógo2rasó1g2rafógu2sabógu2s3zó2gy1eló2gy1esógy1intógyte2aóháza2d2ói2domói2konbói2konrói2kont2ói2na_ói2naka2ói2rat2ójáró_ók1a2daó2k1akóó2k1aljók1alkoóka1t2ró2k1állók1áradó2k1árnó2k1áruó2k1edzó2k1embóke2rigók1eszeó2k1é2ló2k1ér_ó2k1éttó2k1igéó2k1intó2k1iskó2k1istók1i2va2ó1k2ló2ó1k2luó2k1orgók1ö2léók1ö2lő2ó1k2rióku2sze2ó1k2vóóla2manóla2polól1a2ráól1e2seól1e2séó2l1érzólé2telólé2tésóli2akoól1iszoólo2m1áólo2m1eólo2mis1ó2lomró2l1oszó2l1ö2zólu2m1eólu2száólya2gaólyag1gómaren2óm1a2toóm1e2gy2ómértéó2m1i2bó2m1igéó2m1i2pó2m1iskó2m1istó2m1i2zó2m1olaó2m1oldó2m1oszóna2kásóna2kolón1alj_ón1aljáón1aljoón1aljuóna2pa_ó2n1aspón1asztó2n1álló2n1álo1ó2néra1ó2néróóné2v1áó2n1igéó2n1istó2n1u2t2ónyitáóo2k1i2ó2p1alkóp1analó2p1anyó2p1e2gó2p1i2oóp1i2ráó1p2lakó1p2lasópo2radóra2datóra2iéróra2ikéóra2iko1ó2rajeó2r1anióra1p2lóra1s2pór1á2gy1ó2ráki1ó2rámé1ó2rámoó2r1á2pó2r1eloó2r1e2rór1é2jeó2r1é2lór1é2rióré2vekóri2akaó2riásióriás3só2r1intór1o2káór1o2kióro2kokóro2kozór1o2kuó2r1oszó2r1o2xó2r1ódaóró2dájórói2koó2r1ö2ló2r1ömlóru2magó2r1u2róru2sabóru2sanóru2s3zó2r1utaó2r1ú2só2s1a2dó2s1a2gó2s1aljó2s1apró2s1aspó2s1atló2s1ábró2s1állós1á2loós1e2gyós1e2lőó2s1e2tó2s1é2lós1é2neó2s1ér_ó2s1i2dó2s1iskó2s1ínhós1í2ráós1í2róó1s2kat2ósokas2ósokkoó2s1orgó2s1orjó2s1ormó2s1ottó2s1ó2ró2s1ö2ló1s2pecó1s2tadó1s2tafós2tábbó1s2tádó1s2tátó1s2tégós2topoó2s1u2ró2s1u2tós1ú2rió2s3zac2ószer_2ószere2ószerk2ószerv2ószerzó2szimaó2sz1ösó1sz2táószt2ráó2sz1üg2ószűré2ószűrőóta2gal2ótag1g2ótalapó2t1almót1antió2t1assót1a2urót1á2gaótára2d2ótávi2ó2t1e2gó2t1elhó2t1embó2t1i2dó2t1igéó2t1ingót1i2paó2t1í2ró2t1í2vótlé2keó2t1orsótu2szeót1ü2lőó2t1ü2vótű2z3s1ó2vási1ó2vásr1ó2váss1ó2vástóve2r1aóve2ripóz1a2dáóz1a2dóóz1a2laóza2tanóza2tálóza2tésó2z1á2gó2z1e2gó2z1é2ló2z1i2pózi2sirózi2s3zó2z1oldózo2n1áózsa1k2ó2z3seró2z1u2ró2z1u2töb2b1a2öb2b1á2öb2b1egöbb1emeöbb1eveöb2b1isöb2b1olöb2b1osöb2b1ülö2b1e2lö2b1e2mö2b1e2nö2b1ér_ö2b1érzö2b1i2dö2b1ingö2b1int1öböltőöccs1a2ö2c1éveöcs1izzöcs1ű2röd1e2véödé2m1oödé2s3zödzáró2ö2g1e2gö2g1elfö2g1elmö2g1eloö2gemelö2g1eszög1e2véö2g1é2gö2g1é2pö2g1ér_ö2g1érsög1értéö2g1i2mö2g1istö2g1ivaö2g1i2zögre1p2ö2k1e2dö2k1e2gö2k1ekeö2k1e2möke2vésö2k1éknö2k1igéö2k1iktö2k1ingö2k1intö2k1i2oö2k1i2pö2k1iroök1o2roö2k1üléö2k1ültö2k1ü2tö2k1ü2völcsa2löl2csevöl2csidöl2csizölcs1olöl2csosöl2csügöl2csülöl2d1asöl2d1á2öl2d1édöl2d1ó2öle2gelö2l1e2röle2t1uö2l1e2vö2l1édeö2l1é2gö2l1ékíö2l1él_ö2l1élhö2l1éljö2l1élnö2l1élsö2l1éltö2l1élvö2l1émeö2l1é2pö2l1ér_ö2l1éréö2l1érhö2l1érjö2l1érkö2l1érlö2l1érnö2l1érsö2l1érvö2l1érzöl2gyerö2l1i2dö2l1igaö2l1igéö2l1igyö2l1i2nö2l1i2pö2l1i2rö2l1i2sö2l1ittö2l1öklö2l1ö2völ2t1adölt1alaölt1aljöl1ültéö2ly1a2öly1e2göly2fölöm2b1akömb1eleöm2b1esöm2b1osöm2b1ó2ö2m1e2böme2gépö2m1e2lö2m1e2rö2m1eseö2m1é2lö2m1ér_ö2m1igéö2m1i2pö2m1ittö2m1izmömkész1ömlés3sö2m1öntö2m1ünnön2c1álönc3ségön2d1orö2n1e2dö2n1e2gö2n1e2lö2n1e2mö2n1e2rö2n1é2kö2n1é2lö2n1é2pön1érteö2n1éteö2n1éttö2n1év_ön1évetö2n1évvöngy1asön2gyékö2n1i2dö2n1igaö2n1igéö2n1i2pö2n1i2rö2n1i2zön2k1agönk1áruönk1oltönmeg1gö2n1ö2vön1s2t2öntös3sön1t2raön1t2ráön1t2réö2n1ü2gö2n1ü2tö2ny1a2ö2ny1elö2ny1idö2ny1inöny2vajöny2vanöny2vevöny2vélöny2v1íöny2v1oöpe2nyáöp1ö2lőörcs1álör2csosö2r1e2cör1e2dzör1e2györe2j1áö2r1e2lö2r1e2pö2r1e2rör1e2seö2r1e2vö2r1é2gö2r1éj_ö2r1é2lö2r1éréöré2selö2r1étvö2r1évkör2f1évör2f1osö2r1i2dö2r1igaö2r1igáö2r1illö2r1indö2r1ingö2r1injö2r1inkö2r1intö2r1invö2r1i2pö2r1iraö2r1i2sö2r1iváör1i2zoö2r1í2vö2r1í2zörle2taör2l1inörny1asörnye2lör2nyéjör2nyésörö3g2eö2r1öntö2r1öszörpe1t2örtá2v1örté2ször2t1okö2r1ü2gö2r1ü2vör2zsidör2zsinör2zsirör2zs1oö2s1i2pösszá2r1összeg1összesöst1arcö2s1ü2vö2sz1a2ösz1e2rösz1iszö2sz1o2öte2telöté2léköté2l1oöt1érté1ö2tödd1ötödöt1ö2tödröt2t1asöt2t1álött1erköt2t1utöv1e2dzöveg1ésöve2tegöve2t1úövetü2lövé2nyöövé2szaövé2száövé2szoövé2szöö2z1e2bö2z1e2döze2gelö2z1elaö2z1e2mö2z1e2vöz1élelöz1é2léözé2p1aöz1építözé2p1oö2z1ér_ö2z1érbö2z1érdö2z1érhö2z1érvö2z1érzö2z1igaözigaz1ö2z1igáö2z1igéö2z1igyö2z1iktö2z1illö2z1i2mö2z1infö2z1ingö2z1inpö2z1intö2z1inúö2z1invö2z1iraö2z1iróöz1iskoö2z1ismö2z1ispözmeg1gö2z1ö2röz1összöz1ő2röö2z1ü2gö2z1ü2zőadás1sőadá2szőagyag1őala2g1őá2t1á2őá2t1e2őcs1őstőd1a2daőd1a2dáő2d1e2gőd1e2lőő2d1érződé2s3ző2d1igaő2d1iskő2d1ö2lőd1ő2réő2d1őstő1d2reső1d2rogőe2l1á2őe2leméőe2lemgőe2lemhőe2lemmőe2lemnőe2lemrőe2lemüőe2rői_őe2rőrőőé2nekbőé2nekeőé2nekéőé2nekkőé2nekrőfo2kálőfo2kérőfo2kinőgépü2lő2g1ö2lőgy1artőgy1elvőgy1elző2gy1örőhangá2őim1p2lői2talaői2taláői2taléői2taliői2tallőí2vükbőí2vükeő1k2reáőma2gárőnév1esőny1áraő2ny1emőo2k1i2őola2jeőpo2ralőprés1sőr1a2dóőr1a2gáő2r1a2lő2r1a2rő2r1a2ső2r1a2z1ő2r1ábőrá2k1eő2r1á2lő2r1á2pőr1á2ruőreá2liőre2gető2r1ekcő2r1ekhőre2lemő2r1ellő2r1elvő2r1emb1őr1égtőr1éknéő2r1é2lőré2szaő2r1i2dőr1i2naő2r1infő2r1intőr1i2paőri2s1áőr1i2zoő2r1oktő2r1osző2r1ó2r1ő2rökü1ő2r1őrő2r1ő2ső2r1ő2z1őr1p2sőr2s1álőr1s2pe1őrszen1őr1t2r1ő2r1un1ő2rüle2őrzősöő2s1a2gő2s1á2gős1e2lőő2s1e2mő2s1e2vősé2géső2s1é2lő2s1i2dős1i2maős1i2máős1i2raős1i2sző2s1i2zős1í2róő2s1o2lő2s1orgő2s1ö2lő2s1ö2zős3szegős3szekős3szemős3szenős3szerős3szesős3székős3szénő1s2tát2őszerkő2szerőősz1estősz1illősz1istősz1öléősz1ölőősz1öltősz3sirőtermo1őttes3sőtt1intőt2t1o2őt2t1u2őtűfél1ővasfé2ővár1alőve2r1aővé2resővé2rető2z1a2dő2z1a2lő2z1a2tőze2g1iőz1e2gy1ő2zeknő2z1e2rőze2terőze2t1oő2z1ér_őzé2remő2z1érlőz1értéőz1össző2z1ü2zp1a2dagpad1alapa2d1aspa2d1elpa2d1empa2d1id2p1ajtópa2k1ó2pa1k2répak2tal2p1aktipak2tospa2lapí2p1alle2p1almápam1asspa2m1urpamu2tapa2n1agpan1alapanás1spa2n1ilpan1kropan1sztp1a2nyupa2p1adpap1arapap1állpa2p1ilpa2p1urpara2je2parannpar1áll2p1arc_2p1arca2p1arcc2p1arch2p1arco2p1arct2p1arcu2p1arcúpa2r1elpar1iskpar2k1ápar2kelpar2kovpar2könpar2k1ü2paros_2parosi2parosopar2tempa2r1ü2pa2szaspat1adapatakö2pat1álcpa2t1utpa2t1üzp1a2vat2p1a2xi2p1á2bépá2c3só2p1á2ga2p1ágy_2p1ágyb2p1ágyc2p1ágye2p1ágyf2p1ágyh2p1ágyj2p1ágyk2p1ágyl2p1ágym2p1ágyp2p1ágyr2p1ágys2p1ágyt2p1ágyü2p1ágyv2p1ágyz2p1álar2p1áldop1álla_2pállap2p1állí2p1állvpálya1s2p1á2mípá2n1ampá2n1anpá2n1aspá2n1e2pán1krépá2n1ó2pán2tekpá2nyarpá2nyatpá2nyaupá2nyazpá2nyim2p1á2popár1adópár2delpá2r1e22pártalpár2tálpár2tempár2tespár2tetpár2télpár2tizpár2tökpár2t1őpár2tuspár1utupá2s1ü2pá2t1a2p1átlag2p1átlópá2t1or2p1áttépá2t1ukpát1úrtpci2ófopdal1anpda2legpda2lelpda2lénpegész1pe1k2répe2lekt2pelemb2pelemrpel1erópel1ete2p1elgo2p1elha2p1elny2p1e2lö2p1elsö2p1eltá2p1elto2p1elv_2p1elvá2p1elvh2p1elvi2p1elvo2p1elvű2p1e2mu2pengedpen3ny_pen3nybpen3nyhpen3nyjpen3nykpen3nympen3nynpen3nyrpen3nytpen3nyv2p1e2péper1allpera1p2perec1cp1e2rejper1evépe2r1ilper1oktpe2r1osper1ülőper1ültpe2szakpesze2m2petete2peteté2p1e2topet2t1i2p1é2ge2p1é2gépégés3spé2j1eg2p1é2jipé2k1aspé2k1aupé2k1á2pé2k1erpé2k1ékpél1ele2p1é2lé2p1é2lő2p1é2lű2péneka2pénekd2pénekf2pénekg2pénekí2pénekjpén2z1a2p1é2pí2p1é2ré2p1érte2p1érté2p1értőpé2s1ajpés3szapés3zajpész1akpés3zavpé2szinpé2sz1opé2sz1öpé2sz1űpé2z1ár1p2hia2pia2celpia2célpia2cikpi2asza2p1i2dő2p1i2du2p1i2ga2p1i2ge2p1i2gépilis3s2pilles2pillés2p1i2ly2p1i2má2p1i2mipin2gaspin2géppin2gos2p1ingópin2tácpin2tőrpin2tur2pipar_2piparb2piparh2piparn2piparrpi2s1op2p1iste2p1iszapi2t1ajpi2talapi2tallpitos1spi2t1ü22p1i2zépí2r1a2pír1á2r2p1íráspí2r1e2pí2r1inpír1i2s2p1í2rópí2r1ö2pítőe2lpla1k2lpla2pal1plazmáplé2hasplo2m1eplo2ménplom1olplő1stáplu2m1epogás1s2p1oklepo1k2lópoko2lapokol1l2p1okta2p1oktápolás1spol2canpol2c3s2p1olda2poltár2p1olti2p1oltó2polvaspon2g1epon2tagpon2tálpon2tárpon2tempon2tenpon2tespon2tékpo2p1a2po2p1á2po2p1inpo2p1ir2pop1t2po2r1agpo2rakkpor1alapor1allpor1anypor1ácspor1állpor2canpor2c3hpo2r1ilpo2r1inpor2tejpor2tetpor2télpor2tizpor2turpor2túr2p1orvopos3szopos3szö2postol2p1osty2p1oszlposz2tüpo2t1ippo2t1í2pó2k1idpók1iszpó2k1öspó2l1anp1ó2radp1ó2riápó2s1orpó2t1adpó2t1an2p1ó2vópó2z3sáppa2nadppan1k2p2p1árjp2p1elop2p1elrppe2r1ap2p1ékspp1o2lyp2p1ó2lp1p2refp1p2remp1p2rezp1p2rémp1p2rocp1p2rodp1p2rosp1p2rotp2p1úr_1p2repa1p2rédip2riccsprí2mem1p2roce1p2rote1p2roto1p2rovopró2d1e1p2rózap2s1a2dpsé2gelps1i2haps1í2zep2s1ö2zpsz1anyp2sz1aspsz1atlp2sz1ág1p2szicpszis3spsz1oldpsz1ornp2sz1önp2sz1ösptá2rajptá2rórp2t1elspte2rálp2t1érdp2t1i2np2t1i2op2t1i2rp2t1í2rp1t2ragp1t2ranptu2szeptu2szip2t1úrrpu2csorpul2tas2p1u2ni2p1u2nópus1anypu2s1e2pu2szagpu2szalput1ing2p1ú2ti2p1ú2to2p1ü2rí2p1ü2te2p1ü2töraáta2drab1aszrab1árbrab1árrra2b1átra2b1imra2bindra2c1ajrac3csarac3higrac2karrac2kitra2dalé2radatéradás1srag1alora2g1ácrag2din2r1agy_ra2gyat2r1agynra2gyon2r1agyrra2j1aura2j1es2r1ajkúraj2zatraj2z1eraj2z3srak2képrak2kisra1k2li2raknáb2raknáir1a2kózra1k2réra1k2rirak2romra2lapara2lázára2lázó2r1aljiralla2kral2lágral2lálral2levram1adaram1akkram1alaram1állram1ideram1illra2m1imram1inaram1infram1ingram1inj2rammetranás1sran2cseran2csőrancs3zran2datran2g1áran2gyeran2szera2nyagra2nyapra2nyásra2nyélra2nyidra2nyinra2nyir2ra2nyóra2ny1ürap2pinra1p2rera1p2rira1p2ro2rarann2r1arcora1s2kára1s2pera1s2porassz1era1s2tara2szasra2szatra2szágra2szóbra2szóira2szónra2szösrasz2törasz2türat1ajtrat1altrat1arárat1állratá2virat1égerat1ingra2t1ír2r1atká2ratoz_2r1attr2r1a2uk2r1autórautóé22ravatóraz1ajtra2zonoráci2ófrác3ságrá2csétrá2csir2rágyáb2rágyáé2rágyáh2rágyái2rágyáj2rágyák2rágyán2rágyár2rágyás2rágyát2rágyávráj2kelrá2k1ónrá1krétrá2l1akrá2lana2r1álarrál1átl2r1áldá2r1állí2r1álmará2lyalrá2lyaprá2lyavrá2lyúsrá2lyútrá2n1árrán2gálrá2n1ó2rán2savrá2nyagrá2nyarrá2nyazrá2nyolrá2r1álrá2r1emrá2riairá2r1olrás1arárá2s1as2rásatárá2s1ol2rásóró2r1ásós2r1ásóvrá2szanrá2szasrá2szivrás3zónrát1alar1á2tál2r1átlérátus1s2rázisb2rázisé2rázish2rázisk2rázisn2rázisr2ráziss2rázistrázi2szrá2zsalrázs1e2rá2zsénrázsi2ará2zsisrázs1ü2rba2j1erba2n1ár2b1ellrbu2t1erca2lakr2c1alkr2c1anarc1anyarc1a2tor2c1á2lr2c1árir2c1árnr2c1árrr2c1ártr2c1elsr2c1eperc1e2ver2c1éler2c1élmr2c1élür2c1ér_r2c1érbr2c1érrr2c3hasr2c1ider2c1ikrr2c1imirci2nábrci2náér2c1indr2c1isir2c1iskr2c1istrc1i2zor1c2ké_r1c2kéhr1c2kéir1c2kétr1c2ki_r1c2kiar1c2kigr1c2kokrc1k2rér2c1o2rr2c1oszrcs1ablr2csarlr2c3sáprcs1árur2c3sejr2csikrrc3s2kárcs1ős_rc3s2pirda2célr2d1akcrd1alkard1alkor2d1arcrd1asztr2d1azord1ács_rd1áratr2d1árvr2d1e2grde2kerrde2kékrde2kolr2d1elarde2sőtr2d1é2grd1é2lérd1é2lür2d1ér_r2d1érdrdé2szar2d1i2dr2d1igér2d1imar2d1oldr2d1oszrd1ó2rár1d2ramr1d2razr1d2rótr2d1urá2r1ebbőreb1egy2recetsrec3sarrec3sorred1elv2redend2redeti2redetű2redény2redzőj2redzőr2redzővreg1állreg1elhreg1ellreg1elvreg1engregész1reg1inj2r1egy_2r1egybre2gye_re2gyedre2gyenre2gyet2r1egyh2r1egyk2r1egyl2r1egyn2r1egyr2r1egys2r1egytre2gyünre2k1agrek1elhrek1eltrek1elürek1erd2rekééhrek1ékhre2k1idre2k1ipre2k1okrek1optre2k1osrek1ottre2kötlre2k1üg2r1elad2r1elbí2r1elbo2r1eldorele2ma2r1elha2r1elhá2r1elhú2r1eljá2r1elké2r1ellá2r1ellő2r1elma2relmél2r1elnö2r1elny2relőnn2relőzm2r1elso2r1eltarel2tár2r1elv_2r1elvá2r1elvb2relved2r1elvh2r1elvi2r1elvk2r1elvn2r1elvo2r1elvr2r1elvs2r1elvt2r1elvü2r1elvű2r1elvvre2m1ál2rembarrem1bler1emelkrem1elsre2migrre2m1órren2déjren2dékren2d1oren2d1örenés3sre2p1ajrep1anarep1aszrep1állrep1álmre2pelmre2p1eprep1é2j2repénkrep1int2r1e2rőres1epr2r1esélre2szajresz1ív2reszköreszta22reszű_re2t1abre2tantret1átfre2telmre2t1élre2tikáret1illr1etnikre2t1okre2t1osre2t1utre2vező2r1e2vő2rezetn2rezetü2rezőkh2rébresré2g1ó2ré2k1abré2k1auré2k1egrék1elerék1előrék1elrrék1elsrék1olarék1oldré2k1utré2let_ré2letbré2letéré2lethré2letnré2letrré2lettré2letüré2m1anré2m1álréna1p22réneklré2p1edré2p1ip2r1é2pí2r1épülré2rés_ré2réseré2réséré2réshré2résiré2réskré2résnré2résrré2réssré2réstré2résü2r1értá2r1érte2r1érté2r1értí2r1értő2r1é2rüré2s1árrés1ellré2s1erré2s1ő2rés3szaré2szanrés3zavrész1álré2szokré2szolré2szőrrészü2l2ré2telrét1elmré2t1osrév1eké2révé2tré2z1a2ré2z1árréz1előréz1eteréz1iszré2z1órré2z3sáré2z3seré2z3sirfé2szarfé2szárfi1sz2rgá2z1érge2r1argi2aiargi2akorgi2asorgőcsa2r2gyador2gy1ajr2gyarcr2gy1azr2gy1egr2gy1ésr2gyévérgy1irar2gy1okr2gy1özrháza2drhá2zalrhá2ziprhá2z3sri2afagri2a1g2ri2ai2kri2a1p2ri2aszari2aszári2asziri2aszorics1ilrid1ere2r1i2dőri1f2rá2r1i2géri1k2lóri1k2riril2létril2l1ő2rimáda2rimádá2rinas_2rinasnri2nassri2nat_rin2c1arin2celrin2cerrin2csi2r1inde2r1indurin2gálrin2gelrin2gül2r1inhari2n1iprin1kré2r1insp2r1instrintá2r2rintenrinté2r2rintő_2rintőkri2o1k2rio2lokri2ódar2ripar_2riparb2riparé2riparh2riparn2riparr2ripars2riparu2r1i2rá2r1i2ri2r1i2rori2s1arri2s1asri2s1álri2s1is2r1ispá2ristálris1üté2rital_rit1alk2ritaln2ritalrrit1ell2r1i2vóri2x1elr1i2zét2r1izmi2r1izmo2rizmukri2zsarri2zsebri2zsel2r1izza2r1izzórím1embrítés3s2r1í2ve2r1í2vérí2z1elrízis3sr2j1ador2j1u2rrkaros3rka1t2rrká2csárkár1omr2k1erdrke2ször2k1ér_r2k1éttrkigaz1r2k1imirk1ingarki2semrki2z1arko2nyarko2vi_rko2vitr2k1ónérk1ó2rárk1ó2rir2k1ötlrk1ő2rérk1ő2rör1k2romrktus1srku2szerla2p1arla2pálrla2polrla1prorla1s2trlá2t1érlá2torrle2g1árle2gerrle2télrlésát1rlő1starma1krér2m1altrma2zonrmá2lérrmeg1errme2g1érme3g2örme2karrme2korrme2kotrmekö2rr2m1elmrme2ranrme2rasrme2rinrmer1trrm1esemrme2tinrmé2kerr2m1ér_r2m1étkr2m1étrr2m1éttr2m1igar2m1igérm1illarminc3srm1inter2m1irár2m1ismrmo2n1armo2nárrmo2n1er2m1orsrmő2szárna2gyúrna1k2rrna2pesrna1prorna1sz2r2n1el_r2n1elbr2n1elfr2n1elhr2n1eljr2n1ellr2n1elnr2n1elrr2n1eltr2n1estr2n1i2dr2n1igarno2kisrnö2ketr2nyarcrny1álmr2nyelmrny1embr2nyerdrny1észr2ny1idrnyolc1rny1oldr2ny1orr2ny1urro1ckerroc2kén2r1o2dúro2g1adro2g1akro2g1amro2g1ázrog1encro1g2lóro2kaitro2k1ajro2k1alr1o2kádro2k1álro2k1enrok1old2roktánrolás1s2r1oldá2r1oldórol2lagrol2lanrol2latrol2legrol2lelrol2lis2r1olló2roltóé2roltóh2roltóm2roltón2r1oltv2rolvad2rolvas2rolyéb2rolyéh2rolyéirom1ajtrom1akkrom1akóro2m1álrom2bénro2m1elro2m1esrom1inárom1istro2mitaromköz12r1omniron1aljron1altron1aluron1anyrona1t2rona2utron1eszron2galron2tabron2temron2tevron2tin2rontóé2rontósro2nyacro2nyidro2nyikro2nyirron2zabron2zerron2zinror1állro2r1elro2r1esro2r1inro2roszros1assro2s1avro2s1olro2s1ó2ros3szeros2tet2rostobros2tol2rostyaro2s1útro2szalro2szanro2szásr1osztáro1t2heroto2naro1t2rórova2rerovás1s2roxilcro2zsanrób1ajtró2c3sáródi2ad2r1óév_2r1óévéró2f1agró2f1ivr1ó2lomróm1araróm1iszrónus3s2rórajeró2rája2rórákirót1ist2r1ó2vóróza1t2ró2z1in2rökösé2rökösö2r1ökrörön2d1erön2képrön2kolrön2kosrön2k1ürö2p1i2rös3sza2r1ö2ve2r1ö2vörő2f1asr1ő2reirőrköz12r1ő2rürő1s2pirő2s1ű2rőva2s1rpis1á2rpi2t1ar2p1ivárpu2szérra2szarra2szirrata2nrra2t1er2r1ábrr2r1árbrrá2sajrrá2sarrrá2ságrrá2s3zrrá2talr2r1átsrre2l1ir2r1érirré2semrr1i2zérro2rálr2r1u2rr2s1a2grsa2il2rs1akkurs1alanrsa2lapr2s1aler2s1anars1a2nyr2s1arcrs1aromrsa2v1ir2s1a2zr2s1ábrr2s1árnr2s1árrrse2kegr2s1elkrs1e2mirse2nyírse2nyőr2s1erdr2s1erkr2s1essr2s1eszr2s1ér_r2s1érdr2s1érlrs1é2ter2s1ikrr2s1illr2s1ingr2s1intr2s1i2ors1i2par2s1iskr2s1ismr2s1istr2s1írtr1s2kálrs2minkrsonya2rso2nyér2s1ordr2s1orgrsócsa2r2s1ódár2s1ónér2s1ö2zr1s2rácrs3szagrs3szakr1standr1s2tatr1s2tácr1s2tátr1stratr2s1utars1ú2rir2s1ú2srsza2kör2szalór2s3zamrszág1grs3zárlrszt1alrszt2rár2t1abrrt1a2dórt1agitr2t1ajárt1ajtór2t1akcrta1krer2t1albr2t1algr2t1aljr2t1alkr2t1altr2t1alvrt1animrt1aránr2t1arcrta2rénrt1a2tyr2t1azort1á2gartá2ladrtá2rajrt1áriart1áriártá2s3zr2t1átlr2t1átsr2t1átvrtá2v1ért1e2gér2t1eksr2t1elbr2t1elfrt1eljárt1elkört1elkürtel2lart1elmarte2lőlr2t1elrr2t1emlr2t1encr2t1entrte2racrte2rálrtermo1r2t1erőr2t1é2drt1é2girté2kajrté2kosrté2lénrt1é2lir2t1élmr2t1épür2t1érvr2t1érzrté2sülrté2szárté2szorté2ször2t1étkr2t1étlr2t1éttr2t1étvr1t2ha_r1t2hágr2t1illr2t1impr2t1indr2t1infr2t1ingrti2nikr2t1irár2t1iror2t1isir2t1iskr2t1ismr2t1izér2t1izzrt1í2vert1í2vűrto2kadr2t1omlrto2nárr2t1orgr2t1orrr2t1orsr2t1orvr2t1oszrtó2rákr2t1öklrt1ökölrt1örömr2tőrülr1t2rafr1t2rágr1t2riár1t2rikr1t2rilr1t2riór1t2rónr2t1udvr2tunikrtu2rairtu2ralrt1u2rártu2szer2t1ú2sr2t1üldr2t1ü2vrt1ű2zőr2tyingruhás1srum1agrrum1illru2m1ivr1u2nokru2p1ilr1u2ralr1u2razrus1ablrus1anyrus1aroru2s1izru2s1olru2s1ó2rus1traru2s1ű2ru2szipr1u2tacr1u2takr1u2tatr1u2tazr1u2tó_r1u2tóbr1u2tódr1u2tóir1u2tójr1u2tókr1u2tónr1u2tórr1u2tósr1u2tótr1u2tóvrú2d1alrú2d1ar2r1ú2ri2r1útle2r1ú2türú2zsadrü2gyelrü2l1önrü2l1özrü2l1őgrü2l1ül2r1ü2nőrűs1orsr2v1agár2v1akcrva2lapr2v1aljr2v1alkrva2sábrva2sékrva1t2rr2v1ágarvá2gyirv1állvrvá2nyúrv1á2rúr2v1átar2v1e2br2v1elkr2v1ellr2v1elor2velőzr2v1engrve2r1arve2riprve2r1or2v1érpr2v1érvr2v1évir2v1idor2v1igarvigaz1r2v1igér2v1infrv1interv1intér2v1i2pr2viránrv1italrvíz1esr2v1olvr2v1ó2hr2v1órár2v1u2tr2v1ülér2v1ülőr2v1ültr2v1ü2vr2v1ü2zr2z1aljr2z1alkrza2talrza2tolr2z1állrz1e2berze2talrze2t1orzé2natr2z1érmrzs1alarzs1anyrzs1apar2zs1ékr2zsévarzs1injrzs1intr2zsitar2zs1ő2rzs1u2trzs1ültrzu2sakrzu2sanrzu2s3z2s1a2césa2dalé2s1adapsadás1ssa2g1ál2s1a2gós1a2gyosaj2talsaj2tarsajté2rsaj2torsaj2t1ösa2k1absa2k1an2s1akcisak2kersak2kessak2kissak2kol2saknáb2saknáisak1olasa2k1össa1k2ru2s1akt_2s1akti2s1aktusa2k1ugsa1k2vasala2g1sala2kasa2lakusa2lapísa2laplsa2laptsalá2dasalán1nsalás1ss1a2lels1alépí2s1alkasal2tag2s1alte2s1althsa2m1il2s1a2mő2s1angysa2nya_sa3nyarsapa2tesap1állsa2pátosa2p1elsa2p1ék3sapkáb3sapkán3sapkás3sapkát3sapkávsa2ratása2ratósa2ránysar2cinsar2j1esar2kinsar2kirsa2s1ebsa1s2posas3szasas3szásas3szesat1apusa1t2rás1autó_sav1árasa2v1elsa2v1érsav1illsá2b1aksá2b1ilsá2b1utság1ada2ságaddság1asssá2g1álsá2g1e2sá2g1ó24s1á2gysá2k1ansá2k1e2sákköz1sá2l1insán2c1ésán1k2rsár1adásá2r1agsá2rakasá2rakt2sá2rassár1asssár1aszsá2r1álsá2r1e2sá2r1évsá2ria_sár1ikosár1ottsár1ónisá2s1adsá2s1e22s1ásó_sás1ó2r2s1ásóvsá2s3zas1á2tálsá2t1ir2s1á2tí2s1á2tüsá2v1álsá2v1e2sá2v1orsbér2cs1scheie1schéresda2dalsde2delsdesz2tsdi2alese2b1akseb1altse2b1ágseb1ellseb1elzs1e2bédse2b1ó2se2b1ő2se2csev2sedényse1d2ráse1f2rasegés3sse2gyeds1e2gyé2s1egyh2s1együse2h1üvsej2tersej2térsej2t1ose2k1álsek2k1ásek2kossek2k1öse1k2rase1k2rése2lemkse2lemmsele2szselés3s2s1elha2s1eljá2selmél2s1elnys1e2los2s1e2löse2lőads1e2lőí2s1eltö2s1elv_2s1elvv2sember2s1embrse2n1álsen2d1asen2d1ás1e2nersenés3ssen1istse2n1orseny1agseny1akse2nyössep2perse1p2rose1p2róse2r1asser1állsereg1g3seregsse2r1ilser1infser1ingser1intse2r1olser1ős_2s1esél2s1e2sősessz1o2s1estes1eszens1eszkö2s1eszmse2tana2setenk2setes_2setesese2tikase2tikáse2tikeset1oldse1transe1t2ro2s1e2vősé2g1a2sé2g1á2sé2g1egség1eleség1erksé2getéség1észség1igaség1istsé2g1oksé2g1ó2ség1ült2s1é2hés1é2letsé2lyeg2sénekl2s1é2pí2s1é2püs1érlels1érvei3sérvem3sérves2sésekisé2s1elsész1aksé2sz1ásé2szirsé2sz1osét1ablsé2t1őr2s1évad2s1é2vüsfé2m1ésfi2úétshú2sársi2b1á2sidás1ss1i2dén2s1i2dős1i2ge_s1i2geks1i2ges2s1i2gésig2n1esi2k1insi2k1irsik1orrsikus1ssi2m1els1i2mits1impors1ingets1ingók2s1inkus1i2onosi2ói2k2sipar_2sipara2sipará2siparb2siparh2siparm2siparn2siparr2siparus1i2rodsi2s1issi2s1í2si2s1ü2s1i2talsita2lisit2tin2s1i2vósí2k1ersí2n1á2sí2r1adsí2r1álsí2r1éns1í2róasítés3ss1í2veks1í2vens1í2vetskaros31skálák1skálárske1s2p1s2kiccs2korpis1k2ritsla1s2psla2telsla2tevsla2téssle2talsle2télslé2kev1s2liss3s2már_3s2márusme2g1ésna2palsna2p1esoda1g2so2d1osso2k1ajso2k1apso2k1álso2k1e2sok1illsokka2lsok2kirsok2k1üsok1old2so2kosso2k1ó2s1oktatso2k1ú2sola2jesolás1s2s1olda2s1oldás1oldó_s1oldóks1oldóms1oldóns1oldórs1oldóts1oldóv2s1ollós1oltás2solvasso2lyanso2m1adsomag1gsom1atoso2m1e2som1ortson2kálson2tabson2tarsonté2rson2tikson2tipso2nyissor1adasor1alasor1állsorműt23sorozaso2r1ó22s1orr_s1orrát2s1orrn2s1orro2s1orrúsor2salsor2sarsor2sassor2sirsor1tre2s1osto2s1ostrsó2s1ü22s1ó2vósö2g1emsö2g1éksö2k1el2s1ö2kos1ö2körs1ö2lőzsö2n1ölsö2r1edsö2r1izs1ö2zönső2dalkső2r1ajsőr1ö2lső2s1avső2s1ülső2s1ütső2szapsőszé2kső2sz1íspá2n1a1s2párg3s2peci1spektr1s2peku1s2pongsporta2spor2tő1spórol1s2rácossé2gids2s1ékts2s1i2zsso2m1ossza1trssz1á2gs3százas3szedés3szekvs3szemls3szemmssze1p2s3székis3szétos3szigessz1ingsszis1sssz1oszssz1ósássz1trosszus1sssz1úr_1stabil1stadiost1a2dós2t1aljs2t1alk1standa1starttsta1s2tsta1t2rs2t1a2x1stábotstá2riá1s2tátu1s2teaks2t1ebés2tedéns2t1elfs2t1elhs2t1elms2t1elös2t1elrs2t1elts2t1elvs2t1emlste2n1aste2n1áste2negste2nosste2radste2rajste2ralste2ravste2rácste2rálste2risste2r1os2t1erő1stégek1stégetstékát1sté2k1ost1é2lés2t1élms2t1élts2t1ércs2t1érzs2t1étks2t1i2ds2t1iges2t1igé1s2timms2t1impsti2na_s2t1inds2t1ings2t1invs2t1i2ost1i2past1i2zostká2rostola2tsto2p1a1s2topb1s2toph1s2topr1s2toptsto2rálsto2rássto2ris3s2tóla3s2tólást1ó2rás2t1önts2t1örös2t1őras2t1őrbs2t1őrcs2t1őrfs2t1őrgs2t1őrhs2t1őrms2t1őrns2t1őrss2t1őrv1st2rap1straté1st2rébs1t2rén1strófá1st2rucs2t1udvs2t1ü2vs2t1űr_s2t1űrns2t1űrt3sugár_3sugárr2s1u2nis1u2rad2s1u2rus1u2talsutas1ssú2csalsú2csatsú2csemsú2csersú2csipsúcská2sú2cs1ö2s1ú2jís1ú2ton2s1ü2gy3sü2k1asü2lyes2s1ü2nő2s1ü2rü2s1ü2szsvé2tessvíz1es3szabáz2szagy_2szagya2szakcisza2köz2szalás2sz1alb2sz1alfsz1alj_sz1aljo2sz1alp2sz1als2szalt_2szalto2szaltusz1antr2szanya2szanyósza2pel2szaránsz1asszsz1asztszau2taszá2gyászá2gyoszá2j1e2száldoszá2linszá2manszá2marszá2málszá2mor2szárásszá2r1e2száriá2száru_2száruh2szárus2szásó_2sz1átu1szcéna2szecse2szeger3szegfűsze2keg2szekés3szekto3szele_2szelef3szelet3szelén2sz1elf2szelhá2szelkü3szellő2sz1elm2szelnö2szelső2szeltá2szeltű2szelv_sz1elvi2szelvn2szelvt2sz1elz3szemek3személ3szemű_2szener3szenny3szentmsze2rej3szerel3szerke3szerta2sz1esd2szeskü2szeste2szesté2szesti2szestj2szestrsze2tonsze2tőr2széber2széhe_2széhen2széhet3széke_3széked3székei3székek3székem3székes2székez3székéb3székévszé2kos3szélekszé1pró2sz1ér_2sz1érb2sz1érc2sz1érd2széremszé2ré_szé2rénszé2rérszé2rétszé2rév2sz1érk2sz1érl2sz1érm2szérő_2szérői2szérők2szérőt2sz1érrsz1értász1értí2sz1érv2sz1érzszé2telszéte2s2szévad2széve_2szévei2szévek2szévén2szévét2szévév2sz1idé2sz1igész1imaksz1impr2szimpu2szinas2szinde2szindí2szindusz1infosz1inko2szirat2szirodszi2szá2szivad2szivás2sz1izz2színnaszí2várszka1pr1szkenn1szlávh1szloge1sz2mok2szoda_2szodai2szodak2szokke2szokoz2szoksö2szolaj2szoldasz1oldá2szoldó2szollószo2nasszo2nár2szostá2szosto2szónád2szónái2szónod2szórátszó2sík3szósz_2szöbli2sz1öle2szövei1szponzszrádi2s3zsúllsz2táresz2tárfsz2tárhsztáró2sz2tárusz2tárvszt1ége2sz1ugrsz1u2rasz1úron2sz1úrrsz1úrtó3szürke1szvit_1szvitj1szvitn1szvitt2t1abrota2dalé2t1adapta2datu2t1a2dát1a2dóat1a2dóht1a2dójt1a2dórt1a2dóvta1d2reta2g1ajtag1azota2g1álta2g1el2t1aggrta2g1ü22t1agy_ta2gya_ta2gyábta2gyáh2t1agyb2t1agyn2t1agyr2t1agyvtai2rónta2k1áltak1árota2kátk2t1akce2t1akcitak1ele2t1akkuta1k2lat1akna_ta2k1öbta2k1östak2reá2t1akrotak2tem2takti_2t1aktí2t1aktjta1k2vata2lagútal1akc2talakíta2lapkta2l1astala2teta2l1autalás1stal1átrtal1elltal1esi2t1algetal1ikrtal1imp2taljas2t1alji2talkím2talkoh2talkot2tallerta2l1olta2l1őrtal2peltal2pus2talveotam1alm2t1a2mő2t1ampu2t1amurta2n1ajtan1álltan1álotanás1stan2delta2n1elta2n1ezta2n1éjtan1évbtan1évm2ta2nimtan1isttanké2rtan2késtan2te_tan1trá2tanyag2tanyádta2pakéta2pasáta2párata2páróta1p2lat1a2pó_ta1p2ré2t1apríta1p2rotap2sorta2rabetarádi22ta2rán2t1arbi2t1arc_2t1arch2t1arco2t1arcúta2romátar2tabtar2tit2tartosta1s2káta2s1ol2t1aspitas3szátas3sztta1s2ta2t1aszk2tatika2tatikát1atlastat1orjta2t1őrta1t2ri2t1atti2t1a2uk2tavatá2tavatótág1ada2t1á2gá2t1á2ge2t1á2gé2t1á2gi2t1á2go2t1á2gú2t1á2gytá2j1oktá2j1ö2t1á2jultál1ada2t1álartá2l1ál2t1áldá2t1áldotá2l1egtá2l1el2t1áll_2t1állh2t1állí2t1állj2t1álln2t1állo2t1álls2t1állt2t1állu2t1állv2t1álma2t1álmitá2lomt2t1álrutá2lyabtá2lyadtá2lyaptá2lyautá2lyidtá2lyirtá2lyis2t1á2mután1almtán2c1etán2céhtán2céltán2céntán2csátá2n1e2tá2n1ó2tán2s1etá2nyaltá2p1a2tá2p1ártá2p1e2tá2p1iltá2p1intáp1olltá2radótár1ajt2táramá2tárami2táramu2táramútá2r1autá2r1avtá2r1ál2tárboctá2r1e2tár2gyötár1isk2tárkártár1okmtár1órá2tártástár1tro2t1áruj2táruna2tárut_tár1utatá2s1ajtá2s1e2tá2sodvtá2s1oltás1ó2rtá2s1ü2t1ásvántá2szaltás3zavtá2s3zátás3zentá2szostá2s3zó2t1átad2t1átfo2t1áthe2t1áthitá2t1ir2t1á2tí2t1átje2t1átkö2t1á2tő2t1átre2t1átru2t1átsz2t1átte2t1átté2t1áttö2t1áttű2t1átut2t1á2tü2t1átvi2t1átvotá2v1áltá2v1e2tá2v1éstá2v1or2t1á2vótá2zsaltá2zsáltbal2letdíja2dte2alapte2alázte2a1spte2aszate2aszáte2aszotea1tró2t1e2dzteg1azote2g1egte2genete2g1éltegész1te2g1on2t1egy_t1egyén2t1egyh2t1egyl2t1egys2tegyütte2j1erte2j1öste2j1u2te2k1agte2k1álte2k1elte2k1okte2k1öste2k1útte2l1ante2l1áttel1ejtt1e2légtelié2hte2lind2t1elixte2l1ó2te2l1öl2telőnnte2lőtt2t1elsa2t1első2t1elv_2t1elvb2t1elvh2t1elvk2t1elvn2t1elvr2t1elvt2t1elvü2t1elvű2t1elvvte2m1as2t1embl2t1embrte2melvte2m1élte2migrtem1illtem1ingte2m1ő22templite2n1asten1d2hten1egyte2n1el2tenergte2n1olte2n1ó2ten2tinten1trite2n1u2te2n1ügte2nünn2t1enyh2t1epizter1ablter1akater1álmter1áta2teredmter1egéter1egytereme2tere2pate2r1erte2retate2retnter1ékate2ré2lter1életer1élvter1iko2teriliteri2nate2rismter1istter1izmte2r1oxte2r1ön2t1erő_2t1erőb2t1erőf2t1erőste2r1utte2r1útte2r1ügter2vajter2vantes1ell2teséll2tesélyte2sírn2t1e2sőtes2taktestá2r2testéj2testék2testémtes2t1otes2tur2teszette2tanate2t1áltet1elrte2tenete2t1éjtet1ékkte2t1otte2t1üztevés3st1ezred2t1é2gö2t1é2gőté2g1ül2t1é2héték1adaték1alkté2k1arté2k1ágté2kedété2k1erté2k1ésté2kiráté2k1ö2té2l1anté2le2ltél1eletél1elltél1előtél1elvtél1esttél1ékbtél1ékété2l1ö2té2lyegté2n1an2téneklté2n1inté2n1ö2té2nyékté2nyimtépés3s2t1é2píté1p2latér1akttér1emltérés1stér1éte2térkez2t1érmüté2r1os2tértő_tér1t2r2t1értvté2r1u22t1érv_2térvekté2s1ajté2s1alté2s1asté2s1azté2s1á2té2s1egtés1ikoté2s1orté2s1ő2tés1ülőté2s1üttés3zavtész1áltés3zárté2szegtés3zsitétcsa2té2t1osté2t1ór2t1évad2téves_2t1é2vité2vükö2t1é2vűtfa2lantfa2lomtgá2zaktgá2zár1theidp1theusz2t1i2dő2t1i2ga2t1i2gáti1g2loti1g2rati2konbti2konoti2konrti1k2riti2l1ágtil1egytil1ingtil1iskti2l1ö22t1i2ly2timádó2timreitin1akttin1arátina1t2ti2n1autin1árt2t1indá2t1inde2t1indí2t1indu2t1infrtin2galtin2gastin2gostin1iga2t1inku2t1inkvtin1órá2t1inspti2n1utti1p2latip2pinti2s1el2t1iskoti1t2riti1t2ro2t1i2vótize2n1tí2l1ó22t1í2no2t1í2nytí2ra2ntí2r1ál2t1í2rótítés3stí2v1ectí2v1ó2tíz1eletí2z1istíz1ülé2t1í2zűtkende2tla2gastla2gáltla2g1etla2g1ótlanká2tla2pártle2tastle2tostlé2kaltlé2kemtlé1trátma2gáltme2g1étme3giftna2gyatne2r1atne2r1átne2szitnómen12t1o2dútogás1sto2k1aptok1arito2k1álto2k1imto2k1into2k1ipto2k1ivto1k2roto2k1urtol1ábrtol2legto2l1ut2tolvasto2m1agto2m1akto2m1apto2m1álto2m1eltom1erőto2m1esto2m1ó2to2nalmtona1t2ton1állton1álmto2n1elto2n1ento2n1orto2n1útto2nyalto2p1atto2r1agto2r1ajto2r1artor1assto2r1auto2r1avtor1ácstor1áté2t1orcáto2r1elto2r1erto2roszto2r1ovto2r1ór2t1orr_2t1orri2t1orsó2torvosto2s1asto2s1intos3sze2t1ostyto2szalto2szanto2sz1etosz1tr2t1o2ve2t1o2vi2t1o2vu2t1oxidtónus3stóp1asstóp1intt1ó2rávtó1skáltó2s1oltó1sz2ftó1t2rátó1t2re2t1ó2vótöb2bevtöb2b1otökös3s2tökrös2t1ölcitöl2gyat1öltöntöm2b1atöm2beltöm2b1o2t1ömlétön2kártörés3s2törökstör2tegtör2tertör2töstör2zsatöt2t1átőr1egy2t1őreztő2r1is2t1ő2rí2t1őrjá2tőr1öl2t1őrti2t1ősnytő1s2pitő1s2tátpu2tin1t2ragétra1k2ltra1krotran2dátrans1stra1s2p1trágyatrán2sztre2csatre2csotren2da1t2réni1t2rió_tro2madtro2majtro2naltro2nantro2nestron1trt2r1o2xtró2nastró2n1e1t2rónotró2zsitru2madtsza2kétsza2töt1sz2t2tta2dó_t2t1arátta1t2rt2t1a2zt2t1erőtté2rakttér1emtté2ridttér1int2t1i2ot2t1irot2t1iskt2t1orsttó1s2rt1t2raft1t2ragt1t2rant1t2ravt1t2róft2t1ü2vtty1ö2ltubus1studa2te2t1ulti2t1ultrtu2m1eltu2m1ir2t1u2no2t1u2nótu2ralotur2g1atus1abltu2s1ó2tus3szetus3szitus3szotu2szabtu2szagtu2szaltu2szaptu2szartus3zavtu2száltusz1emtu2szintu2szirtu2szistusz1k2tu2szoltu2s3zótusz3satus3zsetusz1tr2t1u2to2t1uzsotú2l1a2tú2l1á2tú2l1e2tú2l1é2tú2listtú2l1ó2túra1sztú2r1e2tú2r1értú2r1éstú2r1oltú2t1e22t1ú2té2t1ú2ti2t1ú2to2t1ü2dí2t1ü2dütü2l1értü2l1o2tü2l1öntü2l1öz2t1ü2rí2t1ü2rü2t1ü2te2t1ü2té2t1ü2tőtű2d1altűe2kéttűfélé2tűrés1stű2z1a2tű2zenetű2z1östűz3sebtva2n1etva2névtva2rajtvá2nyítvá2ziptve2nültve2n3ytve2rajtve2raltve2regtve2riptve2r1otver1sttvé2r1otyai2kotya1sz2tyá2ranty1e2gyty1e2rő2ty1étetyo2lanty1u2tá1t2zekn1tzekrő1t2zen_u2ador_u2adorbu2adoréu2adornu2adorou2adorru2adortuá2r1isuá2t1a2ub1a2lau2b1angub1a2riub1á2rou2b1e2bube2lelub1e2seu2b1é2nu2b1érdu2b1érmu2b1éveu2b1igau2b1igeub1oldau2b1orvu2b1oszu1c2kigu1c2konu1c2kotu2cs1álu2csáruu2cs1iduda2taluda2táluda2teru2d1iskudó2soruegész1uervíz1ufé2nye1u2garouga2tésuga2tolugár1adugá2rosug1á2szuh1a2dóuha1t2ru2h1á2gu2h1ár_u2h1árbu2h1árfu2h1árhu2h1árnu2h1árru2h1árvuka2ránu2k1arcuka1t2ruká2saru2k1ásóu2k1átmu2k1érzu2k1i2puk2k1eguk2k1emuklás1su2k1olduko2rasuko2riluko2rinuko2r1ou1k2rónula2jasul1alegu2l1aljula1s2pulata2lula2tálula2temula2tikula2tolu2l1ábrulá2k1eulá2k1üulá2szaulá2szeulcs1esul2csipul2csorul2cs1őul2csutulet2taulé2kalulé2kutuli2naruli2ninul2l1emul2l1enul2l1éruló2zanuló2z3sul2t1ajult1aszu2m1ablum1a2céu2m1admum1a2doum1a2dóu2m1akku2m1aktu2m1anau2m1ank2uma1p2um1a2rou2m1atlum1a2zou2m1állu2m1árfu2m1árku2m1árnu2m1árru2m1ártu2m1árvu2m1átmu2m1átuu2m1e2du2m1elnum1e2lőu2m1eltu2m1e2mume2n1áum1e2reum1e2rőum1e2seum1e2szu2m1e2tu2m1e2vum1é2leu2m1ér_u2m1ércu2m1érmu2m1érvum1i2dőumi2na_u2m1indu2m1ingu2m1invu2m1irtumi2szüu2m1o2pumo2ranumo2rálumo2rinum1ostou2m1oszum1ó2ráump1eleu2m1u2tu2n1arcu2n1á2gun2cs1eun2csivun2g1egun2g1erun2g1olu2n1i2d1u2nikuunka1p2un2k1egu2n1orrun1s2t2uo2r1a2uo2r1etupa1t2rupe2r1aupe2rel1u2raim1u2rak_1u2rakh1u2rakk1u2rakn1u2rakr1u2ralm1u2ram_1u2rasaura1s2puro2k1áur2t1agurt1itauru2c1eus1ablaus1a2daus1a2dáu2s1a2gu2s1a2jusa2karu2s1akcu2s1altu2s1anau2s1arcu2s1assu2s1attus1a2tyu2s1a2zu2s1ábru2s1ággu2s1ágru2s1á2pu2s1árbu2s1árhu2s1árku2s1árnu2s1árru2s1ártus1e2gyu2s1e2lu2s1e2mu2s1e2nu2s1e2su2s1e2vu2s1éheu2s1é2ku2s1é2lu2s1érdu2s1érvu2s1éveu2s1i2du2s1illu2s1incu2s1ingu2s1inku2s1intu2s1i2pu2s1isku2s1ismu2s1í2vu1s2káluskói2kus1oktau2s1oldu2s1omlu2s1orgu2s1orru2s1orsu2s1ottu2s1ö2lus1ö2röu2s1ö2zu1s2pecus3szabus3szagus3szakus3szálus3számus3szenus3szigussz1ülus2t1ilus1tradus2t1ülu2s1u2tusz1ablusz1alkusz1alvusz1appusz1aráusz1aréusz1arousz1aszu2sz1auusz1á2pusz1ásvu2száthusz1átöusz1ekeusz1embusz1emlus3zeneusz1engu2sz1exu2széneusz1éteusz1étousz1impusz1indusz1injusz1iskusz1ismu2sz1íru2szolau2szonyu2szoszu2sz1ösusz1útru2sz1ülu2sz1üzut1a2dó2utakép1u2taló1u2talvuta2meluta2mer1u2taslu2t1e2gute2r1aute2regute2rimuti2néruti2niguti2n1óu2t1iskut1okkeu2t1olduto2l1éuto2rimutó2dalutó2delutótűz1utya1s2uu2m1aguu2m1asuu2m1e2uva2r1auva2r1euva2rinuxi2t1auxi2t1áuxi2t1euza2lacuza2laduza2lanuza2láguza2lelú2c1a2lú2c1a2nú2c1a2vú2c1i2dú2cs1agú2cs1ajú2csaktúcs1alaú2cs1auúcs1á2gú2cs1álú2csátvú2cs1ebúcs1embú2cs1enúcs1erőú2cs1élú2csérdú2cs1idú2cs1ilú2csiráú2cs1isú2cs1izú2csoszúcsús1súcs1ü2tú2d1a2cú2d1a2kú2d1a2nú2d1e2gú2d1e2mú2d1ér_ú2d1ércú2d1i2dú2d1igéúegész1úgy1ér_ú2gy1u22úi2vadú2k1a2gú2k1a2j2úkalanú2k1alkú2k1anyú2k1atkúk1e2véú2k1éssú2k1i2dú2k1i2tú2k1oltú2k1ü2túl1a2jaú2l1anyúl1a2roú2l1á2gú2l1embú2l1i2dú2l1igéú2l1indú2l1infú2l1ingú2l1injú2l1intú2l1invú2l1i2pú2l1iráú2l1iskú2l1ittú2livású2l1izzúlsztá2últ1aggúlt1agyúl2t1ajúl2t1alúl2t1ésúl2t1imúl2t1inúl2t1ipúlt1oldú2l1u2gú2l1u2tú2ly1anú2ly1auú2ly1e2ú2r1antúra1szpú2r1ábrú2r1átmú2r1é2lúr1é2neú2r1i2dú2r1igaú2r1infú2r1intú2s1a2dú2s1a2jús1a2laú2s1arcúsá2golú2s1á2pú2s1árbú2s1áreú2s1árvú2s1á2zú2s1é2gú2s1é2lús1é2neú2s1i2pú2s1i2rú2s1olaú2s1oldú2s1orrús3szagús3szavú2s1u2túszás1súsz1e2súsz1e2vú2sz1évú2szigáúsz1oldúsz1oszúsz1ü2gú2t1a2jút1á2roú2t1e2gútfélé2ú2tiakhú2tiakn1ú2tináút1i2paú2t1olaúto2ranúto2rálú1t2rag2ú1t2riútsá2giútu2m1éúvá2radúvá2ralúvá2risúza1t2rúzs1e2cücsö2k1üd2v1a2üd2v1elüe2l1é2üf2f1ö2ü2gy1a2ügy1elfügy1elmügy1eloügy1éjéügy1ékbügy1éréügy1érr1ü2gyinügy1intügy1iraü2gy1ő2ü2h1ér_ü2l1a2lül1e2dzü2l1e2gü2l1e2rül1e2sőüle2talüle2tavüle2tosület1t2üle2t1uüle2tüzü2l1é2gülé2kevülé2kirülé2k1oül1é2püü2l1ér_ü2l1érzü2l1i2dü2l1igaü2l1intü2l1ittül2l1inül2l1u2ü2l1ö2lü2l1ömöü2l1ö2vülő1s2pülő1staül2t1ad1ültetl1ültetsüly1essüly1eszü2m1érdü2m1igaü2m1i2pü2m1össü2m1ü2lüne2tésü2n1é2pü2n1ingü2n1irtüo2k1i2ürdés1süre2g1aür2t1e2ür2t1o2üs2s1a2üs2s1egüs2s1o2üs2s1ülüs2t1a2üs2t1e2üs2t1éküs2t1ilüs2t1isüs2t1o2üs2t1ó2üs2t1örüs2t1őrüs2t1ősüs2t1u2üs2t1űzü2sz1ivüsz1í2v1ü2tem_1ü2temeü2temébüte2minüté2siküté2s3zütő1s2püt2t1é2üvezé2rüze2m1áüze2meg1ü2zemiüze2m1oüze2t1aüze2t1o1üzlet_1üzletnűala2g1űbé2relűcsapá2ű2cs1ékű2d1e2lűe2kéreűe2l1í2űé2nekbűé2nekeűé2nekéűé2nekrűn1e2leűn1e2liűn1e2lőűn1e2seű2n1ér_ű2n1igaű2n1i2pű2n1i2rű2r1e2rű2r1é2jűré2szaűré2száűré2szíűré2szoű2r1i2mű2r1ö2lű2s1ín_ű2s1í2rűso2radűso2rajűso2ralűso2ranűso2rálű2s1ü2tűvé2szoűvé2szöűvé2szúű2z1a2bű2z1árbű2z1árjű2z1e2lű2z1e2rű2z1eseű2z1eséű2z1estű2z1eszűze2tegűze2telű2z1e2vű2z1é2lű2z1érmű2z1érzű2z1észű2z1igaűzigaz1ű2z1igéű2z1i2mű2z1i2rűz1i2szű2z1ó2rű2z1ö2vű2z1őr_ű2z1őrnű2z1őrrű2z1őrsű2z1őrtű2z3sárű2z3sávű2z3serű2z1ü2gva2csapva2csálva2d1ajva2dalé2v1adapva2d1álvad1éteva2d1idva2d1irva2d1írva2d1olv1a2dójv1a2dóuva2d1örva2d1ő2va2g1asva2g1e2va2golivag1ostva2j1arva2j1ácva2j1ol2va2kadva2k1ajvak1aknvak1apávak1árnva2k1ásva2k1átva2k1ír2v1aktuva2k1útva2lakuva2lap_va2lapíva2lapúvan1emeva2n1esvan1évevan1évi2v1a2puva2r1abvar1acévar1ajtvar1aktva2r1alva2ranyva2r1atva2r1avva2r1álvar1átavar2cagvar2calvar2canva2r1esvar1ék_var1éksvar1infvar1inkvar1iskvar1ismvar1k2bvar1k2jvar1oldvar2torva2r1utva2r1útva2r1ü2vas1ablva2s1ajvas1arcvas1aszva2s1álvas1ékkvas1éktva2s1izva2s1önvas3szevas3szivas3szővas1tróva2szisva2t1ajva2t1álva2t1ékva2t1idvat1infvat1ingva2t1isva2t1írva2t1őrva2t1ur2v1a2ukváb2bajváb2b1éváb2bilváb2bolváb2bosvá2csipvá2d1alvá2d1irvá2d1orvá2gyalvá2gyanvá2l1apvá2l1átvá2l1e2vá2lism2v1állóvá2m1advá2m1ajvá2m1akvá2m1alvá2m1asvá2m1á2vá2m1e2vá2m1invá2m1irvá2m1orvá2m1utván1anyványa2dvá2nyajványa2nvá2nyarvá2nyauvá2nyazvá2nyisvá2radávár1alevá2ramlvá2r1arvá2r1álvá2r1e2vár1iskvár1ismvár1istvár1oldváro2szvár1u2rvár1uszvás1iková2szanvá2sz1evá2szinvá2t1al2v1átfevá2t1ir2v1á2tí2v1á2tüvá2z1e2vázi1s2vá2z3savá2z3sává2z3sévá2z3suve2cseg2vedényve2g1asve2g1á2ve2g1egve2g1ékve2g1élve2g1épveg1éréveg1érvvegés3svegé2szve2g1ó2ve2g1ö2ve2gyez2v1egylve2k1akve2kébővelés3s2v1elha2v1elsa2v1eltá2v1elto2v1elv_2v1elvá2v1embó2v1e2muve2n1adve2n1ó2ven1üléve2rajáve2r1auve2r1ágve2r1álver1egyve2reklve2r1erve2rindver1ipave2r1olver1ó2rver2sárversé2gver2sirver1trave2r1utve2s1álve2s1íz2v1e2sőve1s2peves3szave2s1u22v1eszmvet1egyv1e2timve2t1olve2t1ölve2t1ut2v1e2vovezőe2rvezős1své2d1asvé2g1á2vé2g1egvé2g1epvé2g1ervé2getévé2getővég1érvvé2g1idvé2g1ó2vé1k2révé1k2rivé2l1a2vé2l1árvél1ellvél1elsvél1eltvél1embvél1essvél1estvéltá2v2véneklvénye2lvé2nyidvé2nyisvé2ny1ívényü2l2v1é2pí2v1é2püvé2r1árvér1emlvéres3svér1etivér1észvér1étevér1ikrvér2tövvérü2küvés1elevés1eltvé2s1ervé1s2pevés2tábvés3zavvé2szegvész1úrvészü2lvét1est2v1é2vüviaszé2via2szöviár1advic2c1avi2csagvi2csalvi2csálvi2csimvi2csip2v1i2dővi2k1agvi2k1elvi2l1ékvilla1svina1t2vin2tos2v1i2onvi2s1auvi2s1ékvi2s1isvi2szárvi2szokvitelő2viz1é2l2v1í2ra2v1í2rá2v1í2róví2z1a2víz1elfvíz1elhvíz1ellvíz1elnvíz1elővíz1elpvíz1elsvíz1eltvíz1elvvíz1embvíz1emevíz1emévízi1skví2z1ó2ví2z1ő2ví2z3s22v1í2zűvje2gyavje2tel2v1okta2v1oldávonás1svo2r1a2vo2r1invo2s1asvo2s1avvó1d2revó2s1ivvóta1t22v1ö2kovöl2gya2v1özönvtá2rajvtá2risvu2m1e22v1u2nivú2r1adwar2d1iwe2b1a2we2b1á22x1a2la2x1á2ro2x1á2ruxe2l1in2x1emel2x1e2rő2x1e2sé2x1e2zü2x1érte2x1érté2x1értőxi2d1i2xi1d2ro2x1i2gaxigén1nxi2n1anxi2n1etxi2n1i22x1i2rá2x1i2roxi2s1elxi2s1esxi1s2káxi2t1i2xi2t1ü22x1í2vüxo2n1aixo2n1alx2t1e2dxti2legxti2linxti2lisxti2l1oxu2s1olxu2s1ó2xu2s1ö2xu2s1úty1a2bonya2cél_ya2dakoya2daléya2datiya2datuyadé2kiya2d1ésya2dóanya2dóbóy1a2dóiy1a2dójya2dókéya2dókty1a2dómya2dónáy1a2dóry1a2dósy1a2dóuya2g1agya2g1amy1agancyag1azoyag1áráyag1árbyag1árhyag1áriyag1árjyag1árkyag1ársyag1ártya2g1elya2g1esyag3gyúya2g1ioyag1iszya2g1uty1a2jaky1a2jány1akadáyak1elmyak1eltyak1ékny1akna_y1aknákya2k1óny1a2kósy1aktáky1aktivy1aktotyal1ajkya2lakbya2laktya2lakuy1alakzy1alanyya2lapayala2teyal1ágaya2l1ályalás1sy1alátéy1aljaiya2l1ő2yal1t2ry1amalgyam1embya2mindya2m1isy1a2nalyan1arryan1attya2n3e_ya2n1ety1a2némya2n1inya2n1isy1a2nizyan1odayan1onnya2nyasy1a2nyóy1a2pa_y1a2paiy1a2pasy1a2páby1a2pády1a2páéy1a2páiy1a2páky1a2pámy1a2pávy1a2pi_y1apjáhy1apjáiya2postyapo2táy1a2pó_y1a2póéy1a2póhy1a2póiy1a2pójya2pókéya2pónay1a2pósya2pót_ya2pótóy1a2póvya1p2riya2raszya2ránn3yardom1yardosyar1dráyar1ellya2romayar1óváyas1aljya2s1asyaság1gya1s2piya1s2poya1s2ráya1s2tay1a2tády1atka_ya2tomhyat2rágya1trófy1a2uláy1a2utoy1a2vaty1a2zony1a2zúryá2k1anyálas3sy1államy1állaty1állásyá2m1alyá2m1anyá2m1apyá2m1asyá2m1inyár1anyyá2r1avy1árazáyár1azoyá2r1ály1árbevyá2r1e2y1á2riáyá2r1isy1árnyay1ártámy1á2ruhy1árvery1á2sásyá2szabyá2szagyá2szalyá2szasyász1elyász1emyás3zenyá2szétyá2szévyá2szimyá2szinyá2szisyá2szityát1a2ly1átlagy1á2t1öy1ecsetye2d1ó2ye2d1u2yed2vérye2g1azye2g1á2ye2g1elye2g1ély1egérryegész1ye2g1ügye2gyedye2gyetye2gyezy1e2gyéy1e2ke_y1e2keiy1e2keky1e2kééye1k2réy1e2lágy1e2lefye2legeye2légtyelés3sy1elhaly1elhely1elnevy1e2lőíye2lőtty1e2lőzy1eltéryel2vadyel2vásyel2védyel2vélyel2v1íyel2volye2m1aty1embery1emelkye2m1ery1e2mésyem1ingye2m1isyem1itay1emlékyem1ostyem1uszye2n1á2yen2csay1e2neryenes3sye2n1ügyep1aloy1e2pikyere2gayereg1gy1e2rejyere2káyere2koye2rőérye2rőigye2rőnéye2rőrőye2rősíye2rőssye2rőváyer2s1ay1erszéyes1egéyes1egyye2s1ejye2s1erye2sőbey1e2sőhye2sőjeye2sők_ye2sőkhye2sőkry1e2sőny1e2sőry1e2sősye2sővéye1s2pey1estésy1estévy1estjüyes2tőry1e2szűy1e2taly1e2tety1e2tiky1e2tűdye2vezőy1e2voly1e2zeryé2b1i2y1é2he_y1é2heny1é2hesy1é2hetyé2jérty1é2katyé2k1elyé2k1ó2y1é2lety1é2lényé2n1áryé2r1ajyé2r1akyé2r1anyé2r1á2y1érdeky1érem_yér1emeyér1esőy1é2rety1é2rezy1é2résy1é2rinyé2r1óry1é2rő_y1é2rőiy1é2rőky1é2rőty1értéky1érvény1érzetyé2sz1áyé2sz1oyé2sz1úy1é2tely1é2tery1é2ve_y1é2veky1é2vemy1é2veny1é2vesy1é2vety1é2véby1é2vény1é2véry1é2véty1é2vévyf1ő2söyha1t2ryhá2zaly2h1elvy1i2deáy1i2degy1i2deny1i2deoy1i2domy1i2gézy1i2hary1i2keryi2kontyi1k2riy1i2ma_y1i2mity1i2nasy1i2ramyi2ratty1i2rody1i2szayi2szelyi2szony1i2taly1i2taty1i2vary1i2vásyí2l1e2ylal2tayle2talyme2g1éyné2véryo2g1áryo2g1ivy1o2koly1o2kosy1o2kozyol1anyyol2cemyol2ciky1o2limy1oltásyol2teryo2m1ályo2m1ikyo2m1isyo2m1olyo2n1amyo2n1auyo2n1ályon1átkyo2n1e2yo2n1isyon1ittyo2n1olyo2n1ő2yor2soly1ó2dáryó2gyáry1ó2racy1ó2rady1ó2rasy1ó2ráby1ó2rády1ó2ráéy1ó2ráhy1ó2ráiy1ó2rájy1ó2ráky1ó2rámy1ó2ráry1ó2rásy1ó2ráty1ó2rávyó2s1ajyóscsa2yó2s1olyós1orsyó2s1ű2yö2k1éky1öltésyön2gyayön2gyáyön2gyóy1ö2zöny1ő2reiy1őrsziy1ő2rülyponté2yrágás1ysa2vanysé2gésy2szalóy2száldysze2rayta2n1éyu2k1ácyuk1ásáy1u2rány1u2rávy1u2szoyú2k1esyú2l1agyú2l1egyú2l1elyú2l1isyúl2tagy1ú2ré_y1ú2révy1ú2tony1ü2vegy1ű2ré_y1ű2zőby1ű2zőéy1ű2zőhy1ű2zőky1ű2zőny1ű2zőry1ű2zőty1ű2zővy2v1abryva2d3zy2v1akcy2v1alby2v1alky2v1anky2v1anty2v1apoy2v1arzy2v1atky2v1azoyv1álloyv1állvy2v1árey2v1árjy2v1árlyv1árrey2v1árvy2v1átay2v1átiy2v1áttyv1egysy2v1elly2v1eloy2v1e2pyve2r1ayve2regyve2ripyve2r1oy2v1evay2v1élmy2v1élty2v1érdyvigaz1y2v1igéy2v1i2ky2v1i2py2v1ismy2v1istyví2zisy2v1oldy2v1olvy2v1ö2zy2v1u2ty2v1ü2zyza2t1eyze2t1áyze2tésyze2t1oza2c1égzac1ikrza2c1imza2cipaza2c1ivzad1aljza2datazadás1sza2d1írza2dómeza1d2ráza2d1utza2ga2nzag1anyza2garaza2g1álzag1árnzag1ártza2g1ázz1a2gitzagren2za2j1or2zajtó_z1ajtók2zajtótza2j1ü2zak1alkza2kanaza2karaz1akarvz1akcióza2kelmzak1iroza2k1írz1aktívzaku1p2zak1urazal1acézala2gázalag1g2zalakíza2lakjza2lakuzal1anyza2lapjzal1átkzal1elezal1ellzal1előz1alkalz1alkatz1alkot2zalmászalta2nzal2telzal2temza2m1ajzam1ala2z1ambuzam1ingza2m1isz1a2nalz1a2nekzan2tesz1antilza2nya_z1a2nyóz1a2pa_z1a2paiza2p1ágz1a2pánz1a2pátz1a2pávzap1elez1a2pó_z1a2póéz1a2pók2zap1p2zap3rofzar1apaz1a2ráiza2r1álz1a2rárza2rénaza2rénáza2r1önzar2vágza1s2káza1s2koza1s2liza1s2póza2t1abza2t1ajzat1aljzat1anazat1arázat1attzat1álozat1ápozat1elkza2tinsz1atlaszatmo1s2zatomjzat1omlza2t1önzat2rokza1tromza2turazau2takz1a2utoza3vará3zavarbzág1a2dzá2gak_zá2gakozá2g1alz1á2gasz1á2gatzág1azozá2g1álz1á2góiz1á2gyaz1á2gyuzá2j1ékzá2j1olzá2j1öszál1aprzá2l1emzál1ingz1államz1állapzá2m1ajzám1anyzám1arázá2m1ikzám1ormzám1orszá2m1utzá2n1aszá2n1atzá2n1átzá2n1itzá2p1adzá2p1agzá2r1apzá2r1avzá2r1ál3zárás_3zárása3zárásb3zárásizárás1sz1árbevzár2demzár2d3zzá2r1iszá2r1iz3zárkák3zárlatzár1óévzárté2rzár1troz1á2ruhz1árvahzá2s1atz1á2sászá2s1olz1á2só_zás1ó2rzász3sezát1e2mzá1t2hizá2z1e2zá2z1olzá2zsajzá2zsaszá2zsálzá2zsolz2d1asszdő1s2pz1e2bédz1e2cetze2d1ó22z1e2dzze2g1álze2g1árze2g1egzeg1ellzeg1érrzegé2szze2gyedze2gyezz1ekvivze2leji2zelektze2leműzele2pázele2pozele2tázel1érhzelés1s2zellenz1e2los2z1elto2z1eltű2z1e2lúz1elvekz1elvesz1elvez2z1elvűze2m1ágze2m1ár2zemberze2m1ékzemé2teze2migrze2m1izze2m1ó2zemvíz13zeneir3zenekazenesz2zenkét1zen2tagzen2talzente2gzen2tevzen2tipzen2tiszen2tolzen2t1özentő2s2zepééb2zepééi2zepéén2zepéit2z1epéjze1p2rize2rajáze2rakrze2r1alze2r1asze2r1auzer2binze2r1ebze2redéze2regezer1ejtze2r1euze2r1ékze2r1épze2rindze2rismzer2nalze2rolvze2rotizer2titzer2tórzer1traze2r1unze2r1útzer2vanzer2velzer2vélze2s1itze1s2mi2z1e2sőze1s2pez1estekz1estem2z1estéz1esti_2z1estjz1estreze2szágze2széhze2szipz1eszköze2szolzesz1trze2t1abze2t1átzet1egézet1eláze2telmze2tenezet1erkzetest2ze2tetnze2t1édzeté2szzet1illzet1ontzet1őrizet1őrözet1őrtze2x1idzex2t1öz1e2zerz1é2berzé2d1aszé2d1á2zé2delmzéde2r1zé2d1észédren2z1é2he_z1é2henz1é2het2z1éjülzé2k1apzé2k1aszé2k1egz1é2kezzé2k1ékzé2k1észék1oldzék1oszzé2k1ó2zé2l1anzé2l1á2zél1elezél1ellzél1előzél1elt2zélet_zé2letfzé2l1ö2zé2l1u2zéndio2zé2nekk2zéneklzé2nekrzé2neküzé2n1iozé2n1iszép1ellzé2p1usz1é2ramzé2r1aszé2r1á2zé2rembzér1eml2zérettzé2rés_zé2résbzé2résezé2résizé2réskzé2résnzé2r1idzé2r1osz1é2rőiz1é2rőkz1é2rőtzér2tajzé2s1azzé2s1á2zé2s1égzé2s3zaz1é2szézé2t1adzé2t1ajzé2t1apzé2t1auzé2t1á2zéte2sezéte2süzé2t1i2zé2t1ü22z1évadz1é2vénz1é2vétz1é2vévz1é2vi_zfa2leszfe2lenzfe2regzfo2ratzfo2rizzgá2s3zzgé2semzgő2nyázgő2zérzgő2z1őzi2aképzi2a1p2zi2aszazi2aszozi2aszóz1i2deáz1i2degz1i2deo2z1i2dőz1i2gászikus1szi2l1ékz1i2ma_zim1állzim1indzi2m1ipz1i2mitzi2n1auzin1embzin2gaszin2gálzi2n1inzin2tátzinte2lzin2tomzi2ókamzi2ókapzi2ó1klzi2ó1p2zi2ó1spzi2ószűzi2pariz1i2ratz1i2ránz1i2rodzi2s1erzi2s1ékzis1évizi2s1ilzi2s1iszi2s1ó2zis3szazis3százis3szozis1trazis1trezis3zavzis3zónzit1áruzit1engzi2t1orzi2t1útz1i2vad2z1i2vó2z1i2zéz1i2zomzí2nakuzí2n1árzín3nyezí2n1odzí2n1okzí2n1ó22z1í2rá2z1í2rózív1aktz2k1ablz2k1aljz2k1altzka1p2lzka2rórzka1s2kzk1egyszk1eszkz2k1etűz2k1ér_z2k1igéz3kosztz2kókorzkó2z3sz1k2rakz1k2reáz1k2rémz1k2rónzkultú3z2k1utáz1k2valzla2talzlata2nzlá2m1ezlá2misz2leng_zle2takzle2talzle2tálzle2télzle2tészle2t1uzle2tüzzli2nanzli2ninzme3gomzmi2n1ezmu2s3zzmu2tokzna2pesznó1strz1o2ka_z1o2kaizo2k1álzo2k1ipzolajá2zola2jezo2l1aszol1ábrz1oldal2z1oldh2z1oldózol1infzo2l1isz1oltász1oltó_2zolvadzom1állzo2m1elzo2m1os2zom1p2zo2n1ajzo2n1akzon1aszzo2n1auzo2náldzo2n1erzo2n1orzono2sézo2n1ó2zon2tinzon1trezo2nyarzo2nyavzo2nyidzo2nyijzo2r1agzo2r1ajzo2r1asz1o2ratzo2r1auzo2r1e2zo2r1ilzor1ingzo2r1olzo2roszzo2r1ó22z1oskozo1sz2fzotó2pazó2lombz1ó2nodz1ó2radz1ó2rarzó2raszz1ó2rájz1ó2rákz1ó2rárzórás1sz1ó2rátz1ó2rávz1ó2riázós1ík_zó1s2kázó1s2tazót1égezö2g1öl2z1ö2ko3zöldeször2f1ezör2f1ozör2nyazör2nyázör2nyíz1ösztöz1ö2veiz1ö2vekz1ö2vezzőgépi2ző2r1erző1s2pizrae3lezre2delzre2d3zzs1abla2zs1akc2zs1alj2zs1alm2zs1altzsa2nyázsa2pa_2z3sapkzsa2rán2z3sark2z3sarl2zs1arz2zs1ábrzs1ággy2zs1ála2zs1á2p2zsárat2z3sári2zs1átk2zs1átszs1e2cezs1e2dézse2rajzse2relzsere2szse2rinzse2r1ozse2szü2zs1érd2zs1étk2zs1étr2zs1éttzsi2kor2zs1illzsi2minzsi2m1u2zsinaszs1i2pa2zsirat2zs1iro2zs1irt2zs1ismzsi2tat2zs1izmzsí2rá23zsírbó3zsíros3zsírt22zs1í2v2zs1í2z2zs1okm2zsolaj2zsosty2zs1osz2zsökör2zsölőzzs1ö2vez3s2tadz3s2tatz3s2topzsú2r1azsza2kézs3zenézszind2zt1ablazt1a2dóz2t1akcz2t1akkztaköz1z2t1akvztale2lzt1aneszt1ankéz2t1apóz2t1apszt1aránz2t1arczt1asszz2tasztz2tatigz2t1atkz2t1atyzt1ácsoz2t1álmztá2rajzt1áremztá2risz2tárocztár1smzt1árvízt1ászozt1ásztz2t1átsz2t1átvz2t1e2bz2t1egyz2t1elaz2t1eláz2t1elbz2t1elfz2t1elmz2telnöz2t1elrz2t1emlzt1entezte2rajzte2rakzte2rálzte2rárz2terdezte2riszte2rizz2t1erőz2t1ezrzt1é2géz2t1é2jz2t1élmz2t1éltz2t1épüz2t1érdz2t1érlz2t1érzzté2tétz2t1étkz1t2henz2t1idéz2t1ifjz2t1impz2t1indz2tinfez2tinguz2t1ipaz2t1iráz2t1iskz2t1ismz2titalz2t1í2rzto2raszto2r1ez2torrúz2torvoz2t1ölez2t1összt1övigz2t1őrhz2t1őrsz1tranzzt2rádáz1t2rágz1t2rénz1trikóz1t2rióz2t1udvz2t1uraz2t1uruz2t1utuz2t1úr_z2t1úrbz2t1úrhz2t1úrkz2t1úrnz2t1úrrz2t1úrtz2t1ü2vz2t1űr_zu2gáruzu2g1ászu2g1e2zu2g1orzu2l1eszuli2názu2m1aszu2m1enzu2m1idzu2m1inzu2n1ö2zus1akazus1anyzu2s1ágzu2s1e2zu2s1olzu2s1ó2zus3szezus3szizu2s1ü2zu2szonzu2s3zó2z1u2tazú2r1e2z1ú2térz1ú2tonzügy1ész1ü2lepzű2csipzű2cs1ozűrés3szű2z1a2zve2gyazvi2tácz2z1áll", + 8 : "_adá2s3z_agyag1g_agy1árt_ak2t1ő2_alak1a2_ala2p1á_al2járn_al2j1el_al2térn_al2tért_ara2sze_ar2c1e2_ar2c3há_ágy1ala_ágy1asz_ágy1árt_ágy1á2z_áligaz1_ár1aktá_ára2m1e_ár1aszó_ár2nyel_árrés1s_ász1árb_ba2b1e2_ba2k1ö2_bá2l1ó2_bi2t1á2_bi2t1er_bo2g1ó2_bor2sét_bu2sz1e_cen2t1á_cé2l1e2_ci2n1á2_da2l1e2_da2l1ék_da2l1í2_da2l1ó2_egres1s_egy1ü2l_el1aszn_el1aszo_el1aszv_el1eger_ele2gyá_ele2meg_ele2mel_el1e2se_el1e2si_el1e2ső_el1este_el1estü_el1e2sü_el1e2sz_el1ékez_el1é2le_eli2t1o_ellege2_el1ölj__el1ölje_el1öljé_el1öljü_el1ölne_el1ölni_el1ölt__el1ölte_el1ölté_el1öltn_el1öltü_el1ölün_el1ülte_el2v1el_ese2tel_ég1é2ré_ég1észb_ég1észe_ég1észé_ég1észn_ég1észr_él2v1á2_ép2p1el_ér2c3sí_ér1észé_ész1a2l_ész1é2k_ész1ülő_év1essz_fa2n1év_fe2leme_fé2m1a2_fé2m1á2_fö2lül__gá2z1ó2_gonorr2_gő2z1á2_ha2b1e2_ha2b1ol_ha2d1e2_ha2j1e2_ha2lárv_ha2l1el_han2gad_han2g1e_ha2t1at_ha2t1e2_ha2told_hé2t1ez_hol2t1e_ike2r1i_im1p2la_in1aktí_io2n1a2_írá2s3z_jó2s1e2_kapolc1_ka2rala_ka2ring_kár1a2d_ke2l1á2_ké2p1és_ké2t1ag_ké2taka_ké2t1á2_ké2t1ez_ké2t1o2_ké2z1el_kó2d1a2_kö2b1öl_kvar3k__lak1a2d_la2k1an_lan2t1e_la2p1ác_la2p1e2_la2p1or_lá2b1e2_lán2c3s_lá2nyan_lá2p1il_lá2z1ó2_le4géne_leí2ród_lemez1z_le1p2ré_lé2g1a2_lé2g1el_lé2p1a2_lép1ülé_lé2t1a2_lé2t1á2_lisz2ta_lon2csi_lőrés3s_ma2g1e2_ma2r1ác_má2r1is_me2g1e2_me2g1é2_me2g1ő2_médi2af_mé2szet_mo2lyan_na2p1ar_ne2m1el_né2v1ál_or2r1aj_or2r1e2_or2r1és_or2v1a2_ólo2m1a_őr2s1ág_ősz1e2g_ős3zene_ős3zené_pa2d1á2_pa2d1ó2_par2ker_par2tel_par2ter_pár2t1ö_pe2r1a2_pia2c3s_pin2t1ó_po2r1us_ra2b1as_ra2b1il_ra2b1ő2_ra2j1ö2_rán2c1e_re1k2re_re1p2ri_re1prod_rete2k1_ré2szá2_ré2szer_ré2t1a2_ré2t1á2_ro2m1ét_sa2s1or_sa2v1ál_sa2vári_sa2v1e2_sa2v1é2_se2besz_sí2p1ő2_sí2r1a2_so2m1ag_sör1e2g_sza2k1e_sza2k1ü_sze2m1á_sze2szá_szo2l1ó_szószö2_ta2n1as_ta2n1e2_ta2n1év_tané2ve_ta2n1ó2_ta2t1ál_ta2t1e2_tá2l1ó2_tán2cse_tá2p1ol_tár2sor_tá2v1ir_te2j1á2_te2j1eg_terape2_tes2ték_tetraé2_té2nyem_tér1int_tí2z1ó2_to2káro_topa3u2_tön2k1a_ugrás1s_utó2d1ö_úszó1sp_ügy1ér__va2d1al_va2gy1i_va2k1ak_va2k1an_va2k1ár_va2k1e2_va2r1e2_va2sárk_va2s1or_vá2r1ol_verés1s_ver2s1o_vé2nyel_vé2r1a2_vé2r1eb_vé2r1eg_vé2szer_za2j1e2_zárta2n_zár2t1éaa2dásszaalmana2ab1á2rona2b1é2neab1irkáia2b1i2ta1ablakosabo2r1asa1b2rikeaca2l1e2a2c1é2rea2c1értea2c1i2gáa2c1i2géac2k1e2vac2k1éreac2k1oszacs1alj_a2cs1atka2d1a2daa2d1a2dáa2d1aktáada2l1esada2l1ó2ada2l1útada2r1ésada2r1in1a2datáuada2t1es1a2datinada2tintada2t1öla2d1e2lőadé2k1e22adémonta2d1é2vead1i2na_ad1i2naia2d1okke2adorian1a2dósatad1ó2vásaérde2m1afi2t1a2afi2t1e22aformác2aformál2aformáza2g1a2kaa2g1a2láa2g1a2roa2g1a2urag1a2zona2g1ács_a2g1ácsiagá2lyana2g1árada2g1árasa2g1árata2g1á2rua2g1á2rúa2g1é2rea2g1é2réa2g1é2ria2g1értőa2g1i2gaagká2roka2g1otth2agrammja2gy1a2cagy1a2dó1a2gyak_agy1alapagy1alkoa2gy1anya2gy1apaagy1apjaagy1apjáa2gy1apra2gy1e2ca2gy1oroa2gy1ö2la2gy1ő2ragy1ú2szaha2sábraher1tzeahé2j1útahitköz1ai2k1oszai2n1áloa2j1a2dóaj2d1almaje2lemeaj2t1é2t1a2kadémak1a2lagaka2lapúa2k1alegak1a2raiak1araszak1a2rénaka2szajaka2szela2k1autóa2k1állóaká2rokna2k1ártóa2k1á2ruaká2sásta2k1átlaa2k1e2dzak1e2melak1e2reia2k1e2róa2k1e2rőa2k1e2teak1é2kemak1é2kesa2k1é2ké2aképpela2kérdeka2k1értőa2k1észaa2k1é2tea2k1i2déa2k1i2máak2k1a2dak2k1arcak2k1á2pak2k1eróakolás3sa2k1oldaa2k1o2lya2k1o2peak1o2rata2k1ó2ráak1ó2ródaközrea3a1k2réme2akrónika2k1ü2lea2k1ü2léala2c3söala2j1e2ala2k1anala2k1ápa2laknáka2laknátala2k1öla2l1aktua2lakul_a2lakult1a2lannyala2nyalala2p1e2ala2pillala2p1ola2l1aszpalat1anyala2t1ol1a2lattiala2t1ü21a2lábújalá2d1apa2l1áradalás2telalegész1a2l1elágal1e2ledale2lem_ale2lembale2lemeale2lemkale2lemmale2lemta2l1e2realé2k1analé2k1emal1é2lena2lénekea2l1értea2l1értéa2l1értő1algásata2l1i2máa2l1i2siali1s2poalja2ikéalj1árnaal2l1aktal2l1akval2l1alaall1e2vőall1é2jéal2l1iskalogos1salo2g1ó2a2l1oktaalo2m1alalo2m1analo2m1áta2l1ostáa2l1oszlaló2c3sealóigaz1alt1anyaal2t1e2pal2t1e2val2t1é2kalt1érneal2t1érralt1értőal2t1i2mal2t1oldal2t1oszam1a2dása2m1a2dóa2m1a2duam1a2lapama2szegama2szélama2táráama2toldama2t1ó2am2b1e2gam2b1ér_am1e2lema2m1e2lőa2m1e2mea2m1e2rőa2mértela2m1inté1a2mitha1a2mittá1a2mittöam2m1egyam2m1é2ta2m1oltáan1a2gyaa2n1a2póan1a2rabana2szénana2szina2n1a2vaa2n1álmian2c1ér_an2c3hitancs1ellancs1emban2cs1enancs1e2pan2cséréan2cs1oran2d1alkand1e2lean2d1előa2n1é2kéan2g1adaan2g1adoan2g1alaan2g1assan2g1állan2g1átjan2g1áttan2g1elfan2g1elhan2g1eljan2g1ellan2g1elnan2g1előan2g1eltan2g1elvan2g1e2ran2g1ér_an2g1oszan2g1ória2n1i2koa2n1i2paan2k1a2kan2k1a2nan2k1atlan2k1e2gan2k1e2lan2k1e2man2k1erjank1érdeank1éreman2kértean2k1i2dan2k1i2pan2k1oldank1osztan2k1ö2va2n1oktaa2n1o2roa2n1ó2ráan2s1e2lan2sz1énansz1ü2lan2t1ablan2t1ingany1a2dó1a2nyagéa2nyakada2ny1alka2ny1alla2ny1assany1aszta2ny1áráa2ny1árba2ny1árfa2ny1árna2ny1árrany1á2sza2ny1e2ca2ny1e2kany1eleva2ny1ella2ny1eloa2ny1é2ja2ny1ér_a2ny1érba2ny1érca2ny1érda2ny1érea2ny1érga2ny1érha2ny1érka2ny1érma2ny1érna2ny1érpa2ny1érra2ny1érsa2nyértéa2ny1érvanyigaz1a2ny1o2raolaja2dapa2cs1ia2p1a2daap1a2ránapa2t1asap1állapa2p1álláa2p1álloap1á2raiap1á2ramap1á2rasap1á2rata2p1á2réa2p1árnya2p1á2rúap1e2l1aa2p1é2hea2p1é2lea2p1é2neap1i2rata2p1i2ráap1o2lajap1oltárapo2t1álap2p1árnapsz1ertaptára2da2p1utánara2b1árara2b1í2a2r1akt_ara2nyalara2t1ő2aravasz1a2rácsoma2r1á2géa2r1á2gia2r1á2gúa2r1á2gya2r1álláa2r1álloará2m1e2a2r1á2ráará2zsálar2c1a2dar2c1é2har2c1é2nar2c1intarcs1alaarc3serear2c3sorar2d1aljar2d1állar2d1e2mar2d1é2lar2d1inaar2d1inga2r1e2dza2r1e2gya2r1e2lear1e2mésa2r1eszéa2r1eszüa2r1é2ria2r1i2gaa2r1ingéa2r1intéar1i2onoa2r1i2óna2r1istear2k1érdar2k1in_ar2k1ormar2k1oviar2k1u2sar2m1oszaro2k1á2a2r1olda1a2romátart1asztar2t1a2uar2t1e2gart1e2lőar2t1é2lar2t1érpar2t1ö2vartvis1sar2v1árha2s1aljia2s1a2nya2s1a2ráasa2t1ó2a2s1á2roa2s1á2rua2s1e2gyasír2talasko2s1áas3szabáasszí2ve1asszonya2s1u2szas1u2taka2s1u2táa2s1ü2lőa2sz1a2da2sz1akcasza2k1ea2sz1aktasza2k1üa2sz1alkasza2t1ea2sz1ág_asz1á2gaasz1á2gáasz1á2giasz1á2goa2szárama2sz1engasz1e2pia2sz1eroa2sz1eseasz1élésa2sz1illa2sz1infa2sz1ismasz1í2viasz2karcasz2k1ápasz2kellaszo2n1oa2sz1orra2sz1oszasz1ó2dáaszőlőé2asz2tállasz2téneasz2t1ésasz2torsasz2t1ülasztvíz1a2sz1ü2za2t1a2céa2t1agyaa2t1aktuat1a2lagata2lap_ata2lapbata2lapjata2lapoata2lappata2laprata2lapúa2t1alega2t1allea2t1anala2t1a2uta2t1á2gaa2t1álláa2t1állóatá2radaatá2radoatá2ramha2táramkatá2ramnatá2r1azat1árkáratársá2gat1ártásate2kéreat1e2ledat1e2lema2t1e2loat1e2lőnat1e2melat1e2recate2r1éka2t1e2seates2t1áa2t1éke_a2t1é2lea2t1é2léa2t1érinat1érveka2t1i2dea2t1ing_a2t1ingaa2t1ingba2t1ingeati2n1óra2t1i2paa2t1iszoa2t1i2taa2t1i2zoat1í2vekatív1e2lat1í2vetato2kossa2t1oktaa2t1o2kua2t1oldó1a2tomok1a2tomosa2t1orzáato1sz2fa2t1oszlatön2k1aat1ö2röm1attakokat2t1e2gau2r1ikraü2zemenaü2zemetava2r1agava2r1e2avá2r1alavá2ria_avá2riaiawhisky2azal2t1aazá2sikoazé2k1e2a2z1értéa2z3sikeá2b1a2laá2b1ambuá2b1a2nyá2b1á2ruáb2b1a2dáb2b1alaáb2b1andáb2b1e2ráb2b1é2láb2b1i2sáb2b1itaább1o2soábe2l1egábe2l1elábe2l1iná2b1é2riá2b1érteá2b1értéá2b1oldaá2c1a2laá2c1a2nyácin2tilá2cs1a2gá2cs1ajtá2cs1aknács1alapács1alomá2csatomá2cs1á2cá2cs1árká2cs1árná2cs1e2gá2cs1e2lács1é2teá2cs1igaá2cs1ipaá2csokta1á2csomká2cs1ö2lá2cs1ü2tá2d1a2doád1a2lapád1a2nyaád1a2nyáá2d1a2páádel1emeá2d1é2geá2d1érteá2d1i2gaádi2ódarádi2óéraádi2ói2vá2f1ing_á2f1ordá1ágacskaág1a2karág1a2kasá2g1a2laágá2nyalá2g1áradá2g1á2réágá2rokbágá2tokkáge2r1elá2g1é2heá2g1é2neá2g1é2réá2g1é2rőághá2nyiá2g1igéná2g1i2miá2g1i2taágká2roká2g1o2liá2g1oskoá2g1oszlá2g1ó2ráágpor1trá2g1u2raá2g1u2rá1á2gyasná2gyassaá2gy1á2lá2gyivadágy1otthá2gy1ó2sá2j1a2laá2j1át1aá2k1a2ráá2k1e2lőá2k1e2véá2k1e2voá2k1é2neá2k1érteá2k1értőá2k1é2teá2k1é2veá2k1o2laá2k1o2liá2k1o2peá2l1adagá2l1a2dóá2l1alátála2szekála2szelála2tikrála2tintála2toldála2t1ó2á2l1attiá2l1a2tyá2l1á2gúá2l1á2roá2l1átváá2l1e2sőá2l1é2heálé2k1aná2l1é2neá2l1é2riá2l1értáá2l1érteá2l1értéá2l1é2véáli2s1ékálká2rokálla2m1e1államot1államtiál2l1a2rálla2tasál2l1á2gál2l1á2lál2l1árrál2l1áthál2l1átmál2l1e2h1álmunkb1álokaih1álokain1álokairá2l1o2ká1álokonká2l1oktaálo2m1alálo2m1análo2m1itáló2s1ű2ál1t2rakál1t2ranály1anyaám1a2lapáma2szeláma2szívám1á2ramá2m1árasá2m1á2ráá2m1á2riá2m1á2roá2m1á2ruám1á2t1eám1e2lemá2m1e2lőám1e2reká2m1e2roá2m1é2leá2m1inteá2m1intéá2m1i2paám1i2száá2m1oktaámo2lyasá2n1a2céá2n1a2laán2c1a2nán2c1e2gán2c1eltán2c1e2sánc1é2neán2c1ér_án2c1illán2c1i2sán2c3sebá2n1é2neá2n1é2véán2g1a2rán2g1áraán2g1ér_án2g1é2sán2g1oszá2n1i2gaá2n1i2száni2t1e2áni2t1orá2n1okirá2n1oktaá2n1o2kuánt1a2nyán2t1á2gán2t1árbán2t1árián2térteán2t1ipaán1t2rakán2t1ü2lány1adásány1a2dóány1alapány1anyaány1anyáány1asszány1asztá2ny1á2lá2ny1árbá2ny1árfá2ny1árná2ny1árrá2ny1ársá2ny1ártá2ny1átlá2ny1á2zá2ny1e2gá2ny1e2má2ny1é2já2ny1é2kány1érc_ány1érreányé2r1üány1érvéá2ny1éttá2ny1ikrá2nyiratá2ny1iszány1í2róá2ny1omlá2ny1ontá2ny1o2rá2radataá2radatáá2radatb1áradatéá2radatná2radatoá2radattá2raknátá2r1akt_á2r1alj_á2raljaká2r1aljá1á2rama_ára2m1elára2m1in1á2ramkö1á2ramok1á2ramol1á2ramotá2r1a2ráára2t1ü2á2r1á2ráá2r1á2riá2r1á2roá2r1ásásá2r1á2taárát1a2dá2r1á2tiá2r1á2töár2d1é2nárelői3rá2r1é2keá2r1é2kéá2r1é2neá2r1é2riár2gyárvá2r1i2deá2r1i2déá2r1i2máá2r1i2miár1i2szaá2r1i2taár2nyelőár2ny1olá2r1oldaáro2m1aláro2m1asáro2m1okáro2m1osá2r1ostrá2r1ostyár1ó2nétár1ó2névár2s1alaár2s1e2lár2s1é2gár1s2tabársza2kéár2t1árnár2t1e2gár2t1előár2t1erkárt1esthár2t1érdár2t1insár2t1intárt1otthár2t1uraárt1u2sz1á2ru1b21á2ru1p2á2r1ú2tiá2r1ú2toás1a2datá2s1a2dáá2s1a2dóá2s1a2jáás1a2ráná2s1a2riá2s1á2gúá2s1é2neá2s1é2reá2s1é2réá2s1é2riá2s1érteá2s1értéá2s1értőá2s1é2teá2s1é2veá2s1i2rááso2d1aláso2d1anáso2d1asáso2d1álás3szakaás3szakéást1elemá2sz1a2dá2sz1agyá2sz1akcá2sz1aktá2sz1alká2sz1antá2sz1anyásza2t1eás3zavarász1á2loász1e2géász1e2gyá2sz1erdá2sz1e2sá2sz1ékbá2sz1é2lá2sz1éteá2sz1éttá2sz1éveá2sz1illá2sz1ipaá2sz1iská2sz1ismá2sz1okmá2sz1oszászó1s2pá2sz1ö2bá2sz1ö2rá2sz1ü2gá2sz1ü2zá2t1akt_á2t1aktoá2t1aljaá2t1a2raá2t1á2ráá2t1á2roá2t1á2ruá2t1é2riáté2t1á2á2t1i2taá2t1i2zoát1okol_át1o2kozáto2r1olá2t1ú2roávegész1á2v1é2riá2v1érteá2v1értéá2v1i2ráá2v1i2siá2v1ú2száza2d1e2áza2dottá2z1a2kóá2z1akt_á2z1aktaá2z1aktuáz1a2lapá2z1a2leá2z1asszá2z1asztáza2t1elá2z1á2réá2z1á2riá2z1árkaá2z1árráázá3rus_á2z1á2taá2z1érteá2z1értéá2z1értőá2z1é2teázi2s1í2á2z1oldaá2zoltalá2z1oltóá2zs1a2dá2zs1a2gá2zs1akná2zs1amuá2zs1állá2z3sár_á2zs1é2ká2zs1éreá2zs1ériá2zs1igaá2zs1ingá2zs1intá2zs1itaba2b1ajkba2b1araba2b1arcba2b1ábrba2b1ércba2b1ó2rba2b1ult2b1a2dagba2d1e2sbaegész1ba2j1ó2rba2kasztbak1á2csba2k1ér_ba2k1ériba2k1o2v2b1alany2b1a2lálba2l1e2sbal2l1ásbal2l1el2b1a2natban2kérdbar2csadbar2csalbar2csan2b1a2vatbá2b1assbá2gyottbá2l1ingbá2l1i2obá2ly1albánya2ié2b1á2rad2b1á2rai2b1á2ram2bá2ra2t2b1á2ráb2b1á2rát2b1á2riábá2r1i2p2b1á2rug2b1á2ruh2b1á2rukbá2sz1akbá2sz1álbá2t1a2kbb1a2kasb2b1a2nyb2b1a2rabbá2gyasb2b1érteb2b1értébe2csértbe2j1elt2b1e2ke_beke2csabele1p2rbe2l1é2kbe2l1ér_be2l1érr2b1e2lőaben2n1a2be2r1a2pbe2r1a2rbe2r1a2tbe2r1ellbe2r1elmbe2r1emlbe2r1e2rbe2r1ékkber1ingübe2r1istber1iszobe2r1ó2rber1ő2seber1ő2siber1ő2sübe2r1ü2gbe2r1üldbe2r1ülébe2r1ült2b1e2sésbe1s2tilbesz2t1á2b1e2volbé2l1aktbé2l1a2nbé2l1a2pbé2l1a2rbé2l1átobé2l1á2zbé2l1e2gbé2l1e2r2b1é2letbé2l1é2jbé2ly1ecbé2l3yen2b1é2raibé2r1a2nbé2r1ellbé2r1engbér1esszbé2r1esz2b1értésbé2sz1a22b1é2ven2b1é2vesbfej1els2b1i2gáj2b1i2hat2b1i2nadbi2n1árbbi2n1éte2b1i2ram2b1i2rat2b1i2ránbi2t1e2gbite2r1abi2t1ingbi2t1intbi2t1i2o2b1i2vásblak1a2dbla2k1anbla2k1olble2t1akble2t1á2ble2teszble2t1ö2bleves1sbo2g1a2kbo2g1a2tbo2g1á2cbo2g1oszbogó2szábok2szakbok2szalbok2szelbok2szélbok2sz1ő2b1o2limbol2t1ö2bol2t1ü2bo2n1ér_bo2r1a2dbo2r1akabo2r1akvbo2r1a2lbo2r1állbo2r1ingbo2r1intbo2r1iskbo2r1issbo2r1istbo2r1itt2b1ornambo2r1ondbo2r1ó2rbor2sorsbor2z3sebo2t1a2gbo2t1a2ubo2t1i2pbo2z1i2pbo2z1old2b1ö2lérbö2lyököbő2r1e2gbő2r1e2lbő2r1e2rbő2r1é2gbő2r1ingbő2r1i2sbő2r1ü2gbő2r1ü2lbra2k1á2brá2n1átbsé2g1elbu2m1i2kbu2m1inabu2sz1álbu2sz1élbu2sz1ilbü2l1é2nbű2n1e2tbvá2nyadcagy1a2d2c1a2kadca2l1a2sca2l1é2l2c1á2rad2c1á2rakcá2r1i2n2c1á2ruh2c1á2szoc2c1érteccs1elemccs1embeccs1értécda2l1é2cde2m1elce2g1é2k2c1e2ke_2c1e2lág2c1e2los2c1e2lőf2c1e2lőícen2c1egcen2s1ég2c1e2pe_cep2t1a2cep2t1ol2c1e2rejcer2t1a2cer2t1éncer2t1olcer2t1üz2c1e2sésces2t1ékce2t1e2gce2t1eszce2t1é2tce2t1i2n2c1e2zer2cezredecé2g1e2l2c1é2géscé2g1i2dcé2h1e2gcé2l1á2rcé2l1á2tcé2l1e2lcé2l1e2s2c1é2let2c1é2lezcé2l1é2k2c1é2rés2c1érint2c1értő_2c1é2ve_2c1é2vek2c1é2ven2c1é2ves2c1é2vet2c1é2vétci2akén_2c1i2deg2c1i2dom2c1i2ga_2c1i2gazci2l1á2tci2n1ártcin2kértcin2korscin2t1es2c1i2onnció2s1ér2c1i2rán2c1i2rodciu2m1iociumköz12c1i2vad2c1i2váscí2m1e2lcí2m1é2lc2k1é2réc2k1értéc2k1o2lac2k1orro1c2kosak2c1o2lajco2l1ároco2l1ibrco2l1indco2l1ingco2l1inuco2l1o2rcom2b1e22c1oskol2cs1a2dá2cs1a2dócsa2lakjcsa2lapúcsa2lomb2csapóká2csapókrcs1á2gak2cs1árad2cs1árnycs1á2ruk2cs1e2décs1e2gescse1p2ré2cs1é2ka2csénekb2cséneke2cséneké2csénekk2csénekr2cséneks2csénekt2csénekücsé2résk2c3sérv_2csoldó_2csoldók2csoldóm2csoldón2csoldór2csoldót2csoldóv2csolvascsó2k1ö2cső2székcssza2kü2cs1u2rács1u2tascuko2r1a2d1a2ján2d1a2kaddal1a2ga2d1alakzda2l1a2lda2l1apsda2l1aszda2l1á2gda2l1árbda2l1árnda2l1árrdal1á2szda2l1átidal1e2sédalé2ke2da2l1ér_da2l1ikrda2l1i2mda2l1infda2l1ingda2l1injda2l1intda2l1ittdalo2m1eda2l1u2sda2l1u2tda2l1úto2d1a2nald1a2nyag2d1a2nyó2d1a2pa_2d1a2paida2r1azoda2r1átada2r1átfdar2c1e2dar2d1esdar2d1ó2da2t1aktda2t1akvda2t1alkda2t1attda2t1állda2t1átada2t1átáda2telemda2t1elkda2t1előda2t1é2gda2térteda2t1érvda2t1ikoda2t1infdat1inte2d1atlasda2t1oszda2t1ó2rda2t1u2tda3u2tóp2d1a2vatdá2ly1úsdá2ny1al2d1á2rad2d1á2raidá2r1a2j2d1á2ramdá2r1a2ndá2r1a2pdá2r1i2pdá2r1onddá2s1a2ddá2s1á2gdá2s1árhdását1a2dá2szakadá2sz1áldá2szárkdá2sz1í22dászkáidá2sz1usdá2sz1ü22d1e2dénde2d1ó2vde2g1a2lde2g1a2nde2g1e2l2d1e2gyede2k1a2kde2k1e2gdek1e2rőde2k1eszdek1é2kede2k1éride2kértede2k1érvde2k1érzdele2m1adele2megde2lemekdele2mel2d1e2léldel2l1andel2lelk2dellenádel2l1indel2l1is2delőrej2d1eltér2d1elves2d1elvű_2d1elvűe2d1elvűk2d1elvűn2d1elvűr2d1elvűs2d1elvűt2d1elvűvde2m1a2lde2m1érm2d1e2nerde2r1a2nde2r1á2gde2r1á2r2derején2derejérder1e2leder1e2lőde2r1i2mde2r1i2pde2r1i2sde2r1oszde2r1ó2rde2r1ü2gde2r1ülddervis1s2de2s1a2de1sz2tadé2g1e2bdé2g1érk2d1é2hesdé2k1a2ddé2k1a2ldé2k1a2ndé2k1ártdékát1a2dé2k1e2gdé2k1eledé2k1eltdé2k1eszdé2k1etidé2k1é2jdé2k1é2kdé2k1é2ldé2k1ér_dé2k1étedé2k1olddé2k1oszdé2k1ö2v2d1é2letdé2m1e2ldé2m1e2mdénár1a2dé2ny1eldé2r1estdé2s1e2ldé2s1etidé2s1ü2tdé2sz1ékdé2t1e2g2d1é2ve_2d1é2vek2d1é2vem2d1é2ven2d1é2vet2d1é2véb2d1é2véi2d1é2vét2d1é2vévdfé2nyemdhan2g1edhú2s1á2di2cs1aj2d1i2deg2d1i2déndi2d1i2odi2g1e2l2d1i2géndik1u2ta2d1inger2d1i2nicdi2n1ingdi2n1ó2ndi2n1ó2rdi3ósor_2d1i2rat2d1i2rod2d1i2si_dit1a2ladi2t1e2gdiu2m1én2d1i2vardiva2t1adí2j1átodka2n1á2dme2g1érdo2b1a2ldo2b1anydo2b1illdo2b1olddo2k1é2ldok2k1öbdo2k1ott2d1o2koz2d1o2lajdola2tardola2t1e2d1oltár2d1oltásdom1a2cédo2m1árbdo2m1árédo2m1árhdo2m1árjdo2m1árkdo2m1árldo2m1árndo2m1árrdom2ba2ldo2m1onddo2n1a2rdo2n1átado2n1átjdo2n1átsdo2n1átvdo2n1oszdo2r1a2pdo2r1itado2r1okldor1osztdög1ö2lődö2k1e2rdö2k1ér_döt2tértdő2nyele2d1ő2reb2d1ő2rem2d1ő2ré_2d1ő2réh2d1ő2ril2d1ő2rip2d1ő2rut2d1ő2rü2dő2s1érvdravasz1drá2t1e2drá2t1érdro2g1ó2dro2n1a2dró2t1a2dró2t1á2dró2t1ü2dsé2g1eldszá2lasdszáraz1dsze2r1ádsze2r1odta2g1a2dtalpa2ddula2t1í2d1u2ratdú2r1a2c2d1ú2rondügy1érndva2r1ó2dvá2nyandv1e2legdven2t1íd2v1é2rid2v1érté2dzs1e2g2dzs1eszea2t1éneeatmosz2ea1t2rakeá2k1oskeá2l1á2reá2ny1aseá2ny1e2e2b1a2lae2b1e2heebe2szeke2b1értée2b1i2nae2cs1a2ne2cs1á2te2cs1é2le2cs1ér_ecs1értée2c3sükbe2d1a2dáedeleme2ede2r1álede2r1éked1é2véned1é2vére2d1i2gaefenyőé2e2g1a2báe2g1a2céeg1a2lape2g1a2láe2g1a2pae2g1á2ráe2g1e2bée2gelekteg1e2lére2g1elhae3g2elite2g1eljáe3g2elnee3g2előáe3g2előde3g2előfe3g2előie3g2előme2g1eltáe3g2eltüe2g1elvá1e2gerekege2rénye2g1eszkegé2r1esegé2re2tegér1eteeg1é2rő_e2g1i2koe2g1i2tae3g2oromegőkész1e2g1u2ráe2g1ü2lee2gy1a2degy1a2lae2gy1aráegy1á2ráegy1eleg1e2gyenl1e2gyensegy1eszte2gy1ó2rehe2lyesehe2r1elehe2r1eme2h1é2jeei2n1itaeí3rásbeeí3rásileí3rásoce2j1ártóejcsa2p1e2j1ecseej1e2gede2j1e2gée2jeledee2j1elhaej1elszáej1eltére2j1esszej1ö2ve_ej2t1elkej2t1ó2rej2t1ö2le2k1a2dóek1a2kare2k1a2loek1a2nyáek1á2rake2k1á2ráe2k1á2rue2k1á2rúe2k1e2dzeke2lemee2k1előne2k1e2maek1e2mése2k1estre2k1e2vée2k1érine2k1ész_e2k1észhe2k1észnek1é2vetekka2ró2ek2k1eleek2k1elfe2k1o2lae2k1o2peek1o2rome2k1ö2léek2t1eszek2t1érdek2t1i2oe2k1u2rae2l1akade2l1á2gael1át1e21e2ledeleleí3ranele2k1os1e2lemeiele2mellele2meszele2méltele2mérd1e2lemük1e2lemzé1e2lemzőele2peleele2pellel1e2redel1e2reiele2segeele2sésbele2séseele2séséele2séshele2sésiele2séskele2sésnele2sésrele2séssele2séstele2sésüele2sik_ele2szekele2tetiele2tetnele2tetőele2t1ékel1é2gesel1é2getel1égtekel1é2hetelé2k1anelé2kezeelé2kezielé2keztel1é2letelé2rendelé2rét_e2l1érrőe2lértele2l1értée2l1értőe2l1é2rü2elésétő2elészel2elészem2elészne2elésznéelé2tetee2l1i2mae2l1i2nae2l1intoe2l1i2roe2l1i2sielka2r1á1elkezdé1elkezdőel2l1ambel2l1ábrel2l1állell1elké1ellenesell1ing_e2l1o2káe2l1ó2rielő2d1í21elődje_1elődöt_1e2lőhív2előkért1előkése2előnyer1e2lőregeltára2d1eltettkelv1a2dóel2v1encel2v1égüel2v1ér_el2v1ériely1esztely1é2jéely1é2kée2ly1irae2ly1üléem1a2datem1a2dáse2m1a2doe2m1a2dóe2m1a2giem1a2lape2m1a2nyem1a2ránem1asszoe2m1a2zo1emberedember1ő2em1egyete2m1ellá2e2m1eloem1előnyemenes1se2m1e2rőe2m1eszke2m1eszmeme2z1á2em1é2lete2ménekee2mértelemé2t1a2emét1elhemét1elsemfoga2de2m1intee2m1istee2m1i2zoe2m1u2táe2m1ü2lően2c3soren2d1adáen2d1alken2d1állen2d1árnen2d1átlend1é2jéen2d1ér_en2d1érren2d1érzen2d1ó2re2n1egéren1e2lekene1sztáe2n1érteené2szere2n1évesenger1ő2e2n1i2gae2n1inteeni2szeren2n1emeen2n1ékeenny1a2deno2r1á2enó2t1e2en2s1a2len2s1a2nen2s3zonen2t1a2cen2t1alkent1a2loen2t1áráente2r1aente1t2ren2t1é2gen2t1i2oen2t1okten2t1u2ren2t1ü2ze2ny1a2de2ny1a2neny1előneny1elvoeny1elvűeny2h1őse2ny1iraeny1í2róe2ny1o2le2ny1ököenyves1seog2rafieo2natome2p1a2dae2p1a2dáe2p1a2dóep1a2lakep1a2lape2p1a2nye2p1á2raep1á2t1oe2p1e2dze2p1elláe2p1estie2peszmée2p1i2koe2p1ingae2p1i2ráe1p2laká1eposzt_ep1osztáep2p1elhep2t1í2ve2p1u2taer1a2bore2r1a2dáe2r1a2dóe2r1a2jae2r1aktie2r1a2loer1a2nyaer1a2pa_e2r1a2roera2szavera2szele2r1a2zoe2r1á2gyer1á2rake2r1á2roe2r1á2szerb1i2naer2c1a2ler2c1inaer2c1ináer2cs1an1eredetű1e2rején1e2rejérere2k1elerek1é2jerem1egyere2m1utereo1graere2p1ále2r1estie2r1estje2r1estre2resze_ere2t1eger1e2vés1erezőkheré2k1a2e2rénekee2r1é2rée2r1é2rier1é2terer1é2ve_er1é2véte2r1é2vie2r1i2gáe2r1i2mie2rintege2r1i2one2r1i2zéerme2köler2n1ó2de2r1o2lie2r1o2veer2s1a2der2sérteer2s1i2nertára2dert1estjert1eszeer2t1é2jer2t1ékner2t1i2mer1t2rane2r1u2rae2r1üleder2v1alaer2v1alter2v1átker2vérteer2v1érze2s1alja1e2settüesé2g1elesike2t11esítősteslege2lesle2t1oessz1agaessz1a2r1esszences3szerűessz1éltessz1intes2t1a2les2t1á2pest1árames2t1áries2t1árneste2r1aes2t1ér_es2t1éries2t1érres2tértees2t1illes2t1inaes2t1intes2t1iszes2t1ó2res2t1őr_es2t1őrkes2t1őröes2t1őrres2t1őrtes2t1ü2ze2sz1a2eesza2k1ée2sz1araeszeg1ére2sz1egyesz1ekése2sz1elae2sz1erdesz1é2píesz1i2pae2sz1itae2sz1oldesz2t1apeszt1árfesztés3s1esztétiesz2t1olesz2t1ölesz2t1úte2sz1ü2ge2sz1ü2ze2t1a2gáe2t1a2gyet1a2kaset1a2láseta2nyaget1a2száe2t1a2toe2t1á2cse2t1á2gae2t1á2taetát1a2dete2k1ékete2legeete2legyet1e2leje2telemzetelés1se2t1elhae2t1elháet1elhele2t1eljáe2t1elláe2tellene2t1elmee2t1elnye2t1e2loete2lőadet1elszáe2t1eltáe2t1elváe2t1elvoete2tetée2t1é2gieté2k1a2eté2k1á2e2t1érkeeté2s1égeté2t1a2eté2ter_eté2tereeté2ves_eté2véigeté2vétőe2t1i2mie2t1intee2t1i2pae2t1i2rae2t1istee2t1i2taeto2n1a2eto2n1iset1ő2réhet2telemet2t1inge2t1ú2riet1ü2zemeu2m1i2pe2utáknáevá2r1alevé2nyele2x1elváez1e2kéke2z1elére2z1el1öeze2r1eleze2r1emeze2r1ese2z1e2szeze2t1a2eze2t1egezér1embezé2rette2z1é2tee2z1i2koezkupac1e2z1ő2riéde2kétőéd1emberé2d1é2kéé2d1é2rié2d1érteé2d1értőée2sz1a2égát1a2dége2lembége2lemnége2lemté2g1eléré2g1elhaé2g1elisé2g1eljáé2g1elláég1e2lőté2g1elsaé2g1eltáé2g1elváé2g1e2neége2r1elé2g1esszé2g1eszké2g1eszt1é2getőh1é2getőn1é2getőté2génekkég1é2reté2g1é2riég1é2rő_ég1é2rőkég1i2dené2g1iga_é2g1i2taé2gyeleké2gy1embé2gy1emeé2gy1eszé2gy1e2végy1é2neé2gy1ü2lé2h1esemé2h1e2toé2j1a2daé2j1é2teék1a2laké2k1a2ráék1a2tomé2k1á2ráé2k1á2réé2k1á2roé2k1á2ruéke2lemmék1e2léré2k1eltaé2k1e2róé2k1e2rőé2k1e2voé2k1é2réé2k1é2rié2k1érteé2k1értéé2k1értőé2k1é2rüék1é2veté2k1i2taé2k1oldaék1oltásé2k1ostoék1u2talé2l1a2vaé2l1álmáé2lálmotél1át1a2é2l1e2dzélegész1éle2k1a2éle2k1eséle2k1onéle2k1ö2él1e2l1aé2l1előeé2l1e2miéle2t1a2éle2t1á2éle2t1egéle2teszéle2t1ékéle2térüéle2téteéle2tétééle2tiszéle2t1öléle2t1öréle2t1u2é2l1e2vőél1é2hesél1é2remé2l1é2réé2l1érteé2l1értéé2l1é2rüé2l1é2teé2l1évezél1é2véné2l1é2vié2l1i2geé2l1i2koé2l1i2váé2l1i2zoé2ly1a2dé2ly1a2lé2ly1á2lé2lyekésé2ly1enté2ly1é2jé2ly1iraéme2t1éké2m1értéé2m1é2teé2na2dal1é2nekei1é2nekek1é2nekem1é2nekeséne2r1á2éne2remeé2n1e2széne2t1a2éne2t1á2éne2testén1énekeénfüstö2é2ny1eceé2nyecseé2ny1egyé2nyekésé2ny1ellé2ny1eloény1elvűény1elvvény1eredé2ny1é2jé2ny1é2lé2ny1ér_é2ny1érdé2ny1érné2nyérteé2ny1érvé2ny1érzé2ny1étté2ny1igéé2ny1ingé2ny1iraé2ny1o2lé2ny1o2rén2z1e2ré2p1állaé2p1álloé2p1eléré2p1esemé2p1e2sőé2p1esteé2p1estéé2p1estié2p1estjé2p1eszeé2p1eszképe2tetéé2p1i2koép1i2paié2p1i2raé2p1i2ráé2p1i2roé2p1i2taéple2t1öé2r1a2kaé2r1a2laé2r1á2gaér2c1a2lér2c1a2nér2c1embér2c1eszér2c3sebér2c3sis1érdekbő1érdeke_1érdekei1érdekelér2d1erőérd1esteér2d1üléér2d1ülőére2g1a2ére2g1emére2g1élére2g1ö2é2r1e2gyéregyez1é2relemzér1e2légé2r1elisére2lőiré2remberére2m1egé2r1emelér1e2misé2r1eső_é2r1esőbé2r1esőjé2r1esőnéres1ő2ré2r1esőté2r1estéére2t1egére2t1elé2r1e2véé2r1é2riéré2s1elér1é2ve_é2r1i2koé2r1i2maé2r1i2máé2r1i2mié2r1i2naé2r1i2paé2r1i2szé2r1i2ta1értekezér2t1ela1értékilért1ö2veér1t2ranér1t2ren1ér1t2roéru2s1érérv1a2dóér2v1a2nér2v1égbér2v1égh1érzésilé2s1elvéés1emberés1é2géhés1é2géné2s1é2gié2s1é2réé2s1érteé2s1értéé2s1értőé2s1é2rüé2s1é2teés1é2ve_és1é2vetés1é2vébés1é2vétés1é2vévé2s1i2ráé2s1i2taé2s1i2váés4szel_és3szereés3széleé2sz1a2désza2k1üé2sz1a2rész1a2toé2sz1á2gész1álláész1áramész1áráné2sz1árnész1á2rué2sz1á2tész1ekésésze2kövé2sz1elaé2sz1elkész1elődé2szelőzé2sz1emié2s3zenéé2sz1engész1erköész1esztésze2t1oész1e2veé2sz1ékté2sz1é2lé2sz1é2pé2sz1étké2sz1i2dész1i2koé2sz1ikté2sz1illé2sz1indé2sz1infé2sz1i2pé2sz1i2sé2sz1itaész1í2váész1í2véész1í2vóésztés1sész2torsésztorz1é2sz1ü2gé2sz1ü2zét1á2radét1á2ramé2t1á2rié2t1á2rúéte2g1a2éte2geleéte2l1eréte2l1ékéte2léréé2telfogé2tellenéte2r1agéte2r1á2é2t1eszmé2t1é2réé2t1é2rié2t1érteé2t1értéé2t1é2rüé2t1é2téé2t1i2koé2t1i2váé1t2rafáé2v1a2laé2v1állo1é2v1elié2v1e2rőév1e2sésé2v1érteé2v1értéé2z1e2déé2z1e2leéze2r1inéze2t1egéze2t1elé2z1é2rié2z1értéé2z1i2paézi2s3záé2z1i2váfaegyez1fa2j1a2lfa2jelemfa2j1elkfa2j1elnfa2j1elvfa2l1a2lfa2l1azúfa2l1ábrfa2l1áthfa2l1átvfal1e2gyfa2l1előfa2l1érifa2l1injfa2l1omlfa2r1a2lfa2r1a2vfa2r1áccfa2r1á2zfa2r1ináfa2r1ingfa2r1izmfa2r1izofar2k1alfa2r1oszfáj2l1e2fáj2l1í2fán2t1á2fán2t1e2fá2t1érdfá2t1i2sfázi2s3zfe2j1egyfe2j1elmfe2j1e2rfe2j1eszfe2j1e2vfe2l1e2gfe2l1e2hfe3lemenfe3lemetfe2l1emlfe2l1engfe2l1ennfe2l1esdfe2lesedfel1esegfe2l1eskfel1e2vefel1e2véfe2l1édefe2l1é2gfe2l1é2kfe2l1é2lfe2l1é2pfe2l1ér_fe2l1érhfe2l1érife2l1érjfe2l1érkfe2l1érnfe2l1érsfe2l1értfe2l1érv2f1e2nerfen2n1a2fe2r1állfe2r1á2rfe2r1oldfe2r1oljfe2r1olnfe2r1oltfeu2m1é2fe2z1ér_fé2k1e2gfé2k1é2lfé2k1ér_fé2k1o2lfé2l1á2jfé2l1á2rfé2l1ekkfé2l1ellfé2l1előfé2l1emefé2l1e2rfé2l1esefé2l1esz2f1é2letfé2l1évaféligaz1fé2m1a2gfé2m1a2jfé2m1a2nfé2m1e2lfé2m1embfé2m1é2kfé2m1éréfé2m1i2nfé2ny1isfé2s1orrfé2sz1elfici2t1á2f1i2gazfi2l1i2dfi2l1i2mfil2m1asfil2m1á22f1i2nasfió2k1e2fit1a2lafit1árakfi2t1átafi2t1érdfi2t1i2zfi2t1oszfo2g1á2cfo2g1árkfo2g1árofo2k1árrfo2n1adafon1alapfon1aljafon1aljofo2n1aszfo2n1á2rfo2n1el1fon1i2kofo2n1i2mfo2n1oszfo2r1alafo2r1a2nforgás1sfo2r1i2ofor2m1emfor2merőfor2m1infor2t1álfő2n1apjfrá2m1e2fura2t1efu2sz1á2fu2sz1olfutó1s2pfü2l1emlfü2l1e2pfü2l1e2vfü2l1é2jfü2l1é2kfű2z1öltfvárosé22g1a2daggadói2ko2gadósat2g1a2du_2g1a2duk2g1a2kadgala2g1úgalo2m1e2g1a2lud2g1a2nalgan2csalgancs1ágga2ny1atgara2t1í2g1a2rákgasz1aggga2sz1anga2sz1esgasz2tárga2t1a2dgazmus1sgá2cs1ilgágy1asz2g1á2nizgá2ny1asgá2ny1e2gá2nyérdgá2nyérz2g1á2ramgá2r1a2n2g1á2razgá2r1á2zgá2r1i2pgá2r1iskgá2r1ism2g1árnyégá2r1osz2g1á2ruhgá2s1a2dgá2s1á2ggá2s1árn2g1á2sásgá2szatlgá2s3zavgá2sz1álgá2sz1e22g1ászkágá2sz1ólgá2s3zóngát1a2lagá2t1e2lgá2t1e2mgá2t1ér_gá2t1ére2g1á2t1ögá2z1a2dgá2z1a2lgá2z1a2tgá2z1ár_gá2z1árágá2z1árhgá2z1árkgá2z1árngá2z1árrgá2z1ártgá2z1igagá2z1i2pgá2z1i2s2g1e2gyü2g1e2ke_2g1e2kei2g1e2kek2g1e2kéé3g2elek_2ge2lemé2ge2lemkge2l1engge2l1enygel1este3g2elésb3g2elésh3g2elésk3g2eléss3g2elésü2g1elész3gelész_3gelésző3gelészü3gelészv2g1elhel3g2elhes3g2elhet2gellenő2g1elnev3g2elnén2g1e2losge2lőbbr3g2előbe3g2előbő3g2előjé3g2előjo3g2előjü3g2előjű3g2elők_3g2előka3g2előkbge2lőkel3gelőké_3g2előkh3g2előki3g2előkk3g2előkn3g2előkö3g2előkr2g1e2lől3g2előn_3g2előne3g2előné3g2előnk3gelőnyig2előre_3g2előrő3g2elős_3gelősze3gelőszé3gelőszi3gelőszóge2lőszö3g2előt_3g2előtá2g1előté3g2előtő3g2elővá3g2előve3g2elővé3gelővis3gelőviz2g1e2lőz3g2elsz_2g1elszá2g1elszo3g2eltek3g2eltem3g2elték2g1eltér2g1elven2g1elvét2g1ember2g1e2mésge2n1eszge2n1ékége2n1éknge2n1éktgen2sértge2orgiage2r1a2nge2r1a2pge2r1á2gge2r1ára2g1e2rejge2r1emlge2r1enyge2r1e2vger1é2lége2r1éttge2r1ingge2r1i2pge2r1ü2gge2s1e2lge2s1emb2g1e2sés3g2essé_3g2ességget1e2gyge2t1é2kge2t1ér_ge2t1ü2zgé2d1e2lgé2d1e2rgé2d1eszgé2d1ülé2g1é2he_2g1é2hek2g1é2hen2g1é2hes2g1é2het2g1é2let2g1é2lez2génekesgé2n1e2lgé2n1e2rgé2n1e2tgé2n1é2ggé2p1e2ggé2p1ellgé2p1eségé2p1esz2g1é2ringé2s1e2lgé2s1é2g2g1é2tel2g1é2ve_2g1é2ved2g1é2vek2g1é2ven2g1é2vet2g1é2vén2g1é2vét2g1é2vévg2g1aszág2g1aszógge2lestggy1e2lőgha2d1e2gha2sábrgi2aszem2g1i2dea2g1i2deá2g1i2deg2g1i2deo2g1i2ge_gig1é2ne2g1i2mázgi2n1á2z2g1i2rat2g1i2rón2g1istál2g1i2szá2g1i2szo2g1i2vad2g1i2vás2g1i2zé_g1í2tészgka2ró2rgkö2z1érgle2g1a2gle2t1a2gle2t1elglé2nyelgme2g1a22g1o2kos2g1o2koz2g1o2lajgo2l1a2l2goltalo2g1oltár2g1oltás2g1oltó_gom2b1e2go2n1állgon2d1á2gon2doksgon2d1orgócsapá22g1ó2dángó2l1é2hgó2s3zámgós3zárúgöm2b1ergör2csel3gőrzősögő2s1ü2vgő2z1e2kgő2z1e2lgra2m1asgram1a2zgra2m1á2gra2m1e2gra2m1ingra2m1isgrá2cs1igrá2f1e21g2ráffegrá2l1e2grá2s3zagril2l1agsza2k1ügszála2dgta2g1argta2n1ó2gula2t1ígu2s1a2ngú2ny1í22gú2t1a22g1ú2ti_2g1ú2tia2g1ú2tig2g1ú2tih2g1ú2tit2g1ú2tivgügy1ér_2g1ü2gyigva2s1u2gvá2nyangverés3sgvé2nyel2gy1a2cé2gyadatbgy1a2dótgya2g1olgy1a2gyu2gyaknákgyal1aktgya2lapogya2lappgy1a2nyágy1a2páhgy1a2pás2gyapátó2gyardomgya2r1óngye2d1ős2gy1e2dzgy1e2gyegye2legy2gyelemű2gyeltér2gy1elvá2gyenget2gy1e2nygy1e2redgy1e2res2gy1e2rő2gy1este2gyestés2gy1esti2gyezrelgy1é2ke_gy1é2kes2gy1é2le2gyéneke2gy1érem2gy1é2ri2gy1érte2gy1érté2gy1i2gé2gy1i2zo2gyolvasgyo2m1as2gyötöd_2gyötödd2gyötöde2gyötödé2gyötödr2gyötödügypárba2gyrövid12gy1u2ragza2t1ű2gze2t1a2gze2t1á2gze2t1elgze2t1ő2ha2b1a2lha2b1a2nha2b1árbha2b1ér_ha2b1inthab1o2raha2b1ostha2d1aszha2d1á2cha2d1ásvha2d1inaha2d1u2rha2d1úr_ha2d1úrhha2d1úrkha2d1úrnha2d1úrrha2d1úrtha2j1á2sha2l1achha2l1a2gha2l1a2lha2l1a2rha2l1atkha2l1atthal1á2csha2l1á2ghal1á2ráha2l1árbha2l1árrhal1árvehal1e2gyha2l1esehal1e2tohal1e2vőha2l1é2lha2l1ér_ha2l1éteha2l1étkha2l1éttha2l1i2mha2l1ingha2l1invha2l1i2zhalke2l1hallás1sha2l1u2sha2l1u2tha2m1árbhamkész1ha2m1oszhan2g1eshan2g1ó2han2t1ó2harang1ghar2c1alhar2c1e2ha2r1oszhatára2dha2t1e2vha2t1é2vha2t1í2vhat1oldaha2t1oszha2t1óráha2t1ö2vhán2cs1ehá2ny1arhányás1shá2ny1e2hármas1sháro2m1ahár2s1alhát1a2dóhá2t1a2nhá2t1ér_há2t1érehá2t1érnhá2t1i2shá2t1o2rhát1u2szhá2z1alahá2z1aszhá2z1á2phá2z1árnhá2z1iskhá2z1ismhá2z1istház1otthhegyes1s2h1e2kékhe2lyemlhe2lyeszhe2r1a2dhe2r1a2rherevíz1hé2szeszhé2t1e2lhé2t1e2mhé2t1é2vhé2v1érzhiga2nye2h1i2nánhi2t1előhi2t1enghi2t1eszhi2t1ér_hi2t1érvhi2t1inthitkész1hí2m1embhí2r1inghle2t1elho2l1á2rho2l1i2vho2l1oszho2l1ó2rholt1anyhol2t1elho2ly1alho2n1a2gho2n1a2lho2n1a2nho2n1a2pho2n1a2vho2n1i2mho2n1orjho2n1orrhor2d1e2hossz1e2hossz1ékhossz1ü2hó2c1é2ghóza2t1ehöl2gy1áhöl2gyelhő1s2tabhő2s1ülthő2s1ü2vhú2gy1a2hú2s1á2ghús3szakhú2s3zabhú2sz1álhú2sz1e2hú2sz1í2hú2sz1ó2hú2sz1ü2ia2c1ér_iac1i2koia2c1intia2sz1ani3aszerűiá2k1e2siá2k1ér_iá2k1érdiá2k1osziá2ny1adiá2ny1e2iá2nyérziá2s1á2giá2t1e2libe2r1inici2t1a2i2cs1a2dics1a2lai2cs1e2gi2cs1etei2cs1ü2tide2g1élideg1ér_idér2c3sido2m1ani2dzs1í2ie2r1a2die2r1a2kie2r1estie2r1igaie2r1ü2gieté1sz2if2t1e2lig1a2gitiga2nyaliga2szagigasz1alig2n1e2gig2n1oszi2gy1ékti2gy1értikabe2j1ikabejá2ika2ró2rike2r1a2ike2r1á2ike2r1eviké2kekkik2k1alaik2k1a2rikk1érdeik2k1i2pik2k1ö2ziko2m1ar1i2konta1i2kontüikó2s3záikszind2ilá2g1e2il1á2gyoilányfé2i2l1ászoil2c3sapil2c3sikil1e2lemi2l1igáhi2l1igáji2l1igási2l1igáti2likonéi2likonzil2m1agyil2m1a2lil2m1arcil2m1a2zil2m1egéil2m1egyil2m1e2lil2m1e2ril2m1eszil2m1é2jil2m1éleil2m1ér_il2m1érdil2mérteil2m1i2kil2m1ó2rimi2t1a2i2n1a2céina2tellin1á2rakin2c1a2ginc3sérvinc3sor_in2d1e2gin2d1e2min2d1ettin2d1e2zi2n1e2déine2t1érin2g1alaing1á2roing1eljáin2g1ellin2g1encin2g1e2vin2g1é2jing1i2naing2rád_ing2rádbing2rádding2rádning2rádoing2rádtin2g1u2tini2s1égi2n1italin2k1a2din2k1atoin2k1árnin2k1eszink1értéink1orsóint1áraiint1árakint1áratin2t1árfin2t1áriint1áronin2t1árrint1árszin2t1áruint1á2taint1előtint1eltéin2t1enn1interféint1esszin2t1é2jin2t1ész2intézőcin1t2hosint1illain2t1ingin2t1iváin2t1i2zin2t1oszio2l1i2vio2m1ártio2n1a2gio2n1a2nio2n1a2rio2n1a2tió2k1e2gió2k1i2d1i2parán1i2parátipa2r1enipa2r1es1i2parin1i2partá1i2parte1i2partóipor2telipor2t1őip2p1a2dipsz1a2lip2sz1í2iramis1sira2t1asira2t1atira2t1ol1iratoz_ira2t1ö2irádi2ókirádi2ótirá2f1a2irá2g1alirá2g1álirá2g1olirá2l1e2irá2nyalirá2nye21i2roda_ir2t1o2riságy1úti2s1á2rái2s1árkéi2s1á2ruis1e2géri2s1e2piis1e2setisé2ge2li2s1é2rii2s1értéis1é2ve_is1é2vetis1é2vénis1é2véti1s2katuiso2roszi2s1orrai2s1orrói2s1oskoiste2n1oisza2k1oisza2p1eisz1e2gyi2sz1elvisz1esemisz2tatiisz2tártisz2t1öli2sz1ü2gita2l1elita2linaita2l1ó2itá2n1atit1á2rasit1á2ratitá2r1óri2telemzite2lengite2leséite2linjitikus1sit1i2szoito2k1ajito2k1olito2n1á2ito2r1asito1sz2f1i2tókáni2t1ó2néitta2n1éit2t1ingit1u2rániu2m1a2niu2m1a2riu2m1a2tiu2m1á2liu2m1éréiu2m1i2diu2m1i2piva2csaliva2cs1eiva2r1aiiva2t1e2iva2t1ó2ivókész1izala2g1ize2d1á2ize2d1ékiz1emberize2s1á21izgatotizo1sztaizó2d1a2i2zs1alli2zs1impíbo2r1asídala2g1í2j1a2dáí2j1a2dóíj1ászkaí2j1á2teí2k1é2rőílá2s1ikíl2t1árkíl2t1ároíl2t1ártíme2r1a2í2m1esemí2m1é2réí2m1érteí2m1értéí2n1a2ráí2nálhají2n1e2leí2n1elnyí2n1e2loí2n1eltáí2n1eltoí2n1elváí2n1e2muí2n1e2szí2n1e2véíné2szerí2n1i2koí2r1á2roí2r1ásásír1á2t1aí2r1esemí2r1e2sőí2r1eszkí2r1é2rií2r1é2teíri2sz1áírt1alapírt1é2teír2t1u2ríru2s1e2í2r1ú2toí2sz1e2gí2sz1ellí2sz1elví2sz1embí2sz1emlí2sz1erkí2sz1é2lí2sz1é2písz1éremí2sz1értí2sz1étkí2sz1üléí2v1a2laí2v1a2naí2v1a2nyí2v1asztív1á2radí2v1e2dzív1e2lőlí2v1é2leí2v1é2lőí2v1é2rií2v1é2teívi2s1elívren2deízát1a2díze2l1elí2z1emelí2z1e2szí2z1e2tií2z1érelí2z1érteí2z1értéí2z1értőízi2óéraí2z1i2paí2z1i2taí2z1i2váí2zs1e2l2j1a2dag2j1a2dal2j1a2dom2j1a2dotja2k1á2pja2k1árnja2k1e2mja2k1érija2k1im_ja2k1í2r2j1á2ga_2j1á2gai2j1á2gak2j1á2gas2j1á2gat2j1á2gaz2j1á2rai2j1á2rak2j1á2ram2j1á2ránjárá2s3z2j1á2rát2j1á2ráv2j1á2rig2j1á2ron2j1ártal2j1ártás2j1á2ruk2j1árváljá2sz1aljász1ó2r2j1á2taljáték1e22j1á2t1öjbű2n1ü22j1e2dénjegy1elsjegy1elvje2gy1injek2t1a2je2l1át1jel1e2gyje2l1elkje2l1ellje2l1elsje2l1emlje2l1engje2l1e2rjel1esésjel1esikjel1esteje2l1eszje2lérteje2l1igeje2l1infje2l1ingje2l1int2j1ellen2j1ember2j1e2melje2n1eszje2s1embje2s1ü2vjé2g1e2kjé2g1erkjé2g1ér_2j1é2hen2j1é2hesjé2n1essjé2n1é2g2j1é2ren2j1é2vek2j1é2vetjfeles1sjfölös1s2j1i2na_2j1i2ratjje2leséjje2lesijje2lestjje2l1ülj2k1e2lőjko2r1injla2t1e2jl1á2t1ajo2g1a2djo2g1akajo2g1a2zjo2g1á2cjo2g1á2ljo2g1osz2j1o2kozjo2m1é2tjo2r1ingjó2d1a2njó2d1atojó2l1e2sjó2s3zár2j1ö2vénjszáraz1j2t1a2dajt1a2lapj2t1a2pájt1a2romj2t1a2utj2t1árkajt1á2t1aj2t1e2gyj2telemzj2telmélj2t1e2loj2t1e2lőjt1e2redjt1e2rezjt1e2vésj2t1e2vőj2t1é2lej2t1i2paj2t1oldajtó1s2poju2h1a2kju2h1a2nju2sz1í22j1u2tálj2z1a2nyj2z1értéj2z1oldaj2zolvasj2zs1a2lj2zs1u2t2kablaká2kablakh2kablakk2kablakrkacs1á2gka2cs1ús2k1a2dotkaegész12k1ajtóh2k1a2namka2n1e2gka2r1a2d2k1arankka2r1a2r2ka2raszkar2c1elkaré2korka2r1énekarfe2l1ka2r1ikrkar1ingbkar1ingekar1inggkar1ingrka2r1iskka2r1ismka2r1izoka2s1ó2r2k1asszikasz1ajtka2t1i2oka2toldakatrádi22k1a2uto2k1autó_2k1autój2k1autók2k1a2vat2k1a2zonká2c3sarká2cs1ékká2c3sor2k1állap2k1álláskál2l1e22k1állomká2n1a2nká2ny1agká2ny1e2ká2r1a2gkár1aktakár1aktáká2r1a2l2k1á2ramká2r1a2p2k1á2ratká2r1á2z2k1á2riákárkié2hká2r1oldká2r1oszkárpszi2ká2s1árbká2s1árrká2s1árvká2s1árzká2s1i2kká2s1ottkás3zár_kát1a2laká2t1a2nká2t1oszkci2óspekecs1aljkecs1ó2rkeegyez12k1e2gérke2gy1in2k1e2ke_2k1e2kei2k1e2kek2k1e2kéé2k1e2kékke2l1a2tke2l1á2g2k1e2lefke2l1e2lk1e2lembk1e2lemhk1e2lemrkele2t1oke2l1é2k2k1e2lélkelé2s3z2k1elhel2k1e2lim2k1elism2kellená2kellenő2k1elnev2k1e2los2ke2lö2l2k1e2lőa2k1e2lőí2k1e2lől2k1e2lőo2k1elszá2k1elvei2k1elvek2k1elvenke2lyembkelyköz12k1emberken2d1ék2k1e2nerke2r1a2rker2csír2k1e2rejkere2t1öke2r1é2lke2r1illke2r1indke2r1intke2r1inv2kernel_ke2r1ó2rker2télvker2t1őrker2t1ős2k1esemé2k1e2sés2k1estre2k1estün2keszménkettes1skeze2tés2k1é2ber2k1é2hem2k1é2hen2k1é2heské2j1elé2k1é2ke_2k1é2keiké2k1e2rkéke2s3z2k1é2kük2k1é2lőlké2n1e2lké2n1ingké2p1elvké2p1illké2p1i2p2kértelm2kértékb2k1értés2k1érvekké2s1é2gkés3szerkés3szélké2sz1á2ké2szemlké2szeszké2sz1ó2két1akarké2t1akóké2t1e2m2ké2te2rké2t1eszké2t1e2v2k1é2vem2k1é2ven2k1é2vi_ké2z1e2rké2z1ismkfe2l1emkfil2mérkfo2n1ó2k1g2ráf_khá2t1al2k1i2deá2k1i2deg2k1i2dét2k1i2dőnki2eset_2k1i2ma_2k1i2mai2k1i2mám2k1i2na_2k1i2nai2k1i2náb2k1i2nárkin2csel2k1integ2k1i2onn2k1i2ono2k1i2ón_2k1i2rat2k1i2rodki2s1aknki2s1e2cki2s1előki2s1embki2s1é2kki2s1iskki1s2minki1s2porki1s2tarki1sterikit2t1erkí2n1árbk2k1a2dak2k1á2ruk2k1ellők2k1e2rők2k1értékk1i2park2k1i2rok2k1o2pekko2r1oskko2r1útk2k1oszlklá2m1anklá2m1á2klá2m1ehkmá2nyankni2k1alkni2k1as2k1o2dav2k1o2kolko2k1o2v2k1o2koz2k1oldalko2l1igákol2l1adkol2l1ét2k1oltárkom2p1olko2n1a2dko2n1a2lko2n1a2nko2n1ér_ko2r1a2dko2r1a2nko2r1átlkor2csalkor2d1agko2r1e2ckorgás1sko2r1ingko2r1o2vko2r1úto2kovariakoza2talkozóköz1kó2d1a2lkó2d1a2nkó2d1e2lkó2d1e2r2k1ó2né_2k1ó2ni_kó2p1e2l2k1ó2raakó2r1a2c2k1ó2raikó2r1a2nkó2r1évekór1ostokó2r1ódákó2z1a2mköl2csalköl2cselköny2v1akö2r1e2gkö2r1éttkö2r1ö2l2k1ö2vigkö2z1é2kkpá2r1atkpá2r1álkpá2r1útkrá2sz1ekro2n1a2kro1sz2f1k2rónikk2s1a2ráksé2gelek2sz1a2dksza2k1ükszáraz1k2sz1elak2sz1engksz1életk2sz1oldk2szoltók2sz1oszk2sz1ü2zkt1a2lapkta2n1ó2ktár1adóktá2r1azkte2r1inkte2roszk2t1esemk2t1értektív1e2lkto1g2raktu2s1anktu2szár2k1ujjalkuk2k1ó2kul2csalku2m1a2d2k1u2raikuru2c3sku2s1i2zku2sz1il2k1u2taz2k1u2tán2k1u2tol2k1u2tód2k1ü2lepkvá2nyolkvárosi2kza2t1e2kza2t1ó2la2c1etela2csaljla2c3sor2l1a2dog3l2a3donladói2ko2l1a2duklag1a2dóla2g1a2nla2g1a2tlag1á2rélag1á2rola2g1erela2g1i2kla2g1ontla2g1oszla2j1a2llaj1a2szla2j1ár_la2j1árhla2j1árnla2j1ársla2j1ártla2j1áthla2j1átsla2j1eltla2j1omlla2j1u2tla2k1almla2k1álkla2k1árnlak1ásásla2k1e2lla2k1ér_la2kértela2k1ikolak2k1as2l1akkorla2k1ormla2k1oszla1k2rém2l1aktivla2la2g12l1alkot2l1alti_2laltonklal2t1ó2lal2t1ü2la2m1akala2m1anyla2m1a2pla2m1arála2m1a2zla2m1egyla2m1elela2m1eszla2m1érvla2m1ismla2m1istla2m1oszla2m1ó2rla2n1a2dla2n1állla2n1ár_la2n1árrla2n1árvlan2csellan2csemlan2csollan2d1állan2d1ellan2g1as2l1angin2l1ankétla2n1oszla2ny1álla2ny1ol2l1a2pa_lap1a2lala2p1atmla2p1attla2p1a2ula2p1á2glap1á2rála2p1árrlap1illalap1illela2p1ingla2p1intla2p1i2pla2p1i2sla2p1ita2l1a2rénla2sz1énl1asztamla2sz1útla2t1a2dlat1alakla2t1alkla2t1altlat1artilat1asztla2t1árhla2t1árnla2t1árrlat1ártála2t1árvla2t1átalatdi2alla2t1e2gla2telemla2t1ellla2t1erkla2t1essla2teszela2t1etila2t1etola2t1ékelat1é2kéla2tértela2t1érvlat1ikralat1intela2t1invla2t1istla2t1okmlat1oldala2t1oszla2t1órála2t1órila2t1övila2t1űzőlaza2c3s2l1a2zonlá2b1e2llá2b1inalá2b1i2zlá2b1u2slá2cs1illá2d1e2rlá2d1ottlág1a2dalá2g1a2glá2g1atllá2g1atolá2g1attlá2g1ottlá2l1akalá2l1anylá2l1á2llá2l1átjlá2l1estlá2l1e2v2l1állam2l1állat2l1állás2l1állom2lálmaim2lálmok_2l1álmos2lálokán2lálokát2lálokáulá2m1a2dlá2m1á2zlá2m1érvlá2m1intlá2m1út_lán2c1églán2g1atlá2nyalalá2ny1as2l1á2pol2l1á2rail1á2rakbl1á2rakkl1á2rakrlá2r1a2l2l1á2ram2l1á2rat2l1árnya2l1á2ruh2l1á2ruk2l1á2rullá2s1a2dlá2s1a2rlá2s1á2glá2s1árblá2s1árhlá2s1árrlá2s1árt2l1á2sáslás1otth2l1á2só_láté2tellá2t1i2olá2t1oszlá2z1árhláz2áruslá2z1i2slá2z1oltl2c1a2tol2c1e2lel2cs1a2dlcs1alapl2cs1a2nl2cs1a2sl2cs1áthl2cs1átjl2cs1e2gl2cs1eltl2cs1elvl2cs1etel2csérlel2csértelcs1érvel2cs1étkl2cs1infl2cs1ingl2cs1intl2cs1irtl2cs1iskl2cs1isml2cs1í2zl2cs1okml2cs1ö2llcs1ő2sél2d1a2cél2d1a2dálda2l1í2l2d1aranlda2t1aslda2t1eglda2t1inl2d1elérl2d1ellál2d1eltál2d1elvél2d1é2ril2d1értel2d1i2gal2d1iszaldo2g1asl2d1ó2rál2d1örök2l1e2béd2l1e2cet2l1ecsetle1d2reslefo2nalle2g1a2sle2g1állle3g2átole2g1e2gle3g2erjle3geseble3gesekle3g2esnl1e2gyell1e2gyékle2k1ár_le2k1árale2k1árb2l1e2ke_lek1e2rőlekkész1le2k1orzle2k1ó2r2lelemeilele2tellelé2s3z2l1elhel2l1elméj2l1elmés2l1elnev2l1e2losle2lőszű2l1elszá2l1eltér2l1elvétl1emeledl1emelek2le2melél1emelésl1emelhe2lemelősl1emelt_l1emeltél1emeltül1emelvelem1esztle2m1élelem1éltele2m1élvlem1érdele2m1illle2m1ingle2m1iszle2m1ittl1emlegele2m1orgle2m1oszle2m1ó2rle2n1a2dlen2cemele2n1e2gle2n1e2llene2telle2n1ékele2n1ékkle2n1éktle2n1észle2n1év_le2n1o2klep1állalep1illéle2p1oszle2p1ó2d2l1esemél1e2setblese2tell1e2sethl1e2setil1e2setkl1e2setnl1e2setrle1s2tarle1stemp2l1estenl1estébele1s2tilles2t1or2l1eszkölet1a2lale2t1anale2t1elblet1elegle2t1elflet1előalet1emelle2t1emlle2t1entlet1eredle2t1eréle2t1erkle2testélet1eszkle2t1é2jle2t1érble2t1érrlet1éterlet1évesle2t1ingle2t1istlet1iszole2t1o2kle2t1ö2vle2t1őrile2t1ülél1e2vez_l1e2vezgl1e2vezhl1e2veznl1e2veztl1e2vezvle2x1e2plexkész1lező1s2plé2d1emblé2g1e2clé2g1e2r2l1é2géslé1g2ráf2l1é2he_lé2k1a2dlé2k1a2glé2k1apolé2k1e2glé2k1é2klé2k1élelé2k1élvlé2k1oszlé2k1u2rlé2k1ülélé2k1ült2l1é2le_2l1é2lei2l1é2les2l1é2mellé2p1a2llé2r1e2llé2r1esőlé2r1é2j2l1é2rés2l1é2riklé2r1osz2l1é2rő_2l1é2rőe2l1é2rőj2l1é2rők2l1é2rőt2l1é2rőv2lértelm2l1érték2l1értő_2l1érvénlé2s1e2llé2s1etilé2s1é2glé2s1ikrlés3szerlé2s1ülélé2s1ülő2lészéstlé2t1ér_lé2t1o2klé2t1ó2r2l1é2ve_2l1é2ved2l1é2vek2l1é2vem2l1é2ven2l1é2véb2l1é2véh2l1é2véi2l1é2vét2l1é2vév2l1é2vi_2l1é2viglfa2l1e2lfá2t1i2l2f1oktalgör2csol2gy1a2sl2gy1e2gl2gy1elzl2gyembel2gy1e2vl2gy1ó2rl2gy1ö2rl2gy1u2t2l1i2gaz2l1i2geb2l1i2gek2l1i2geplik2kérd2l1inger2l1ingré2l1integ2l1intézli2n1u2sli2p1á2rli2p1elvli2p1esz2l1i2ram2l1i2rat2l1i2rán2l1iskol2l1istenli2s1ü2tli1sztirli2t1a2gli2t1átali2t1e2gli2t1e2lli2t1embli2t1érdli2térteli2t1i2oli2t1oktli2t1oldli2t1ura2l1i2vad2l1i2zénlínyenc1lítő2p3rl2j1a2dal2j1e2lőlka2t1ó2lké2szell1k2rémblkukész1lla2g1adll1a2kózl2l1aktil2l1anallla2nyerllany1ó2lla2talallat1anylla2t1állla2tintl2latomolla2torsl2l1á2gal2l1állollá2m1alllá2m1e2llá2m1utllá2r1á2l2l1á2til2l1e2dzlle2m1a2ll1emeléllem1elllle2m1éllle2m1o2lle2r1inl2l1e2róll1é2hetllé2k1olllé2k1útll1é2vénl2l1i2gal2l1i2mal2l1ingfl2l1ingml2l1ingsl2l1ipa2l2l1istel2l1ita_l2l1i2zoll1ő2reil2l1ő2röl2l1ő2sil2l1ú2tolmá2nyanl2m1esszl2m1értől2m1intel2m1intélo2b1a2rlo2b1á2clo2g1a2dlo2k1a2d2l1o2kaklo2k1árrlo2k1árulo2k1átjlo2k1i2zlok2k1ellok2k1ó2lok2k1ut2l1o2koz2l1oltárlo2m1ajtlom1a2lolo2m1attlo2m1árélo2m1árnlom2balalom1é2nelo2m1érilo2m1i2dlo2m1i2klo2m1o2rlo2m1oszlo2n1a2dlo2n1a2glo2n1a2llo2n1á2zlon2d1ó2lo2p1o2rlo2p1oszlop2p1in2l1ó2dátlófi2úké2l1ó2ni_lópárba2lór1a2laló2r1e2sló2r1ingló2z1a2klóza2t1e2l1öltéslö2p1ülélö2p1ülőlős3záralős3zárrl1ő2szít2l1ő2zét2l1ő2züklp1a2lagl2p1alátlpcsa2p1l2p1e2ről2p1i2nalre1p2réls1epriklsza2k1ülta2lapblta2l1evlta2l1é2ltá2radalte2t1a2l2t1éknélté2t1é2lté2ves_l2t1i2gél2t1i2taltív1e2llt1ü2zemlu2b1a2dlu2b1e2g2l1u2gorlu2k1o2vlu2l1influ2m1i2klu2s1akalu2s1a2nlu2s1e2rluskész1lú2z1a2nlü2l1e2m2l1üljek2l1ülnek2l1ülnék2l1ülsz_2l1ültek2l1ültem2l1ültes2lültetl2lültets2l1ülve_l2v1a2lal2v1a2nyl2v1álltlvá2rainl2v1árnyl2v1e2dzlv1e2kébl2vértell2v1értél2v1é2rül2v1i2del2v1i2dol2v1iskol2v1í2vel2v1onto2ly1a2dó2ly1aknály1a2latly1a2lomlya2marálya2m1ellya2nyagly1a2nyály1a2pán2ly1á2ruly1e2gyelyegyez12lyember2lyeseté2ly1este2lyéneke2ly1é2ré2ly1érte2ly1érté2ly1é2rüly1i2ratlyo2m1asma2d1é2vmag1á2réma2g1átoma2g1i2kma2g1oszma2g1u2r2m1a2gyumak2k1e2ma1k2rémmalac3hámala2c3smala2g1ú2m1alakz2m1a2lanmalo2m1e2m1a2nal2m1a2nyá2m1a2nyó2m1a2pát2m1a2rénmar2k1almar2k1inmar2k1ónmasz1egyma2sz1étmasz1ívemat1alapmat1anyama2t1árnma2t1e2gma2t1ellma2t1emematfélé2ma2t1indma2t1infma2t1ingma2t1intma2t1öröma1t2ran2m1a2tya2m1a2uto2m1a2vatma2z1a2lma2z1átlmá2cs1asmá2cs1e22m1á2gigmágy1adamá2j1ártmá2k1ér_má2l1a2l2m1állammán2c1égmán2t1almán2t1asmán2t1ékmán2t1ölmá2nyanymá2ny1e2má2nyérdmá2nyérzmá2ny1í2má2ny1ó22m1á2radmá2r1a2gmá2r1a2n2m1á2ratmá2r1i2pmár1istámá2s1a2dmá2s1a2rmá2s1árn2m1ásásá2m1ásásn2m1ásásrmásbe2j1másbejá22m1á2tir2m1á2t1ömá2z1i2sm2b1a2namb1a2varm2b1árrómbá2szávmb1e2legmbere2szmbe2r1élmbe2rimámbe2ringmbe2riszmbé2ressm2b1értémbi2k1alm2b1illam2b1ing_mb1i2zommbo2lyakm2b1ormám2b1ormúm2b1oszlm2b1ő2szme2g1alame2g1alume2g1alvme2g1a2rmega1sz2meg1esztme2g1é2lme2g1ü2gme2g1ü2lme2k1a2sme2k1attme2k1á2lme2k1á2pme2k1ár_me2k1árame2k1ersme2keszmme2k1ér_mek1érdeme2k1érkme2k1éssme2k1éteme2k1ingme2k1intme2k1i2pme2k1istme2k1itame2k1oldme2k1oltme2k1onkme2k1ó2vmek1öltömek1örömme2k1üld2m1e2lef2m1e2les2m1e2lég2m1elhel2me2l1í2m1ellenemel2lingmel2l1izmel2l1u22m1e2lőím1e2lőlem1e2lőtt2m1elszá2m1eltér2m1elvesme2ly1ék2m1e2mulme2n1a2dme2n1e2g2m1engesmen2t1ismenye2ma2m1e2rec2m1e2rejme2r1e2lme2r1emlmere2t1ame2r1ü2gme2s1emb2m1este_2m1estek2m1estünme1sz2támet1anyame2z1eljme2z1ellme2zelőhme2z1ér_me2z1érdmez1éretme2z1őssm1ezresem1ezresrm1ezrestmé2cs1a2mé2k1e2gmék1e2lőmé2k1esemé2k1é2kmé2k1é2l2m1é2lel2m1é2lénmé2n1a2rmé2n1a2tmé2n1é2k2m1é2rén2m1é2rév2m1é2rie2m1é2rin2m1érlel2mérteke2m1értes2m1értér2m1értés2m1é2rülmér2v1a2mé2s1e2lmé2sz1álmé2sz1elmé2sz1ü2mé2t1a2nmét1elhomét1eltamé2t1e2v2m1étjér2m1étjév2m1étke_2m1é2ve_2m1é2vek2m1é2vet2m1é2vébmfa2l1e2mfé2m1a2mgé2p1ipmgör2csomha2sábrmicsa2p12m1i2deá2m1i2deg2m1i2dei2m1i2deo2m1i2gaz2m1i2gén2m1i2nam2m1i2nasmi2n1áramin2c1e2min2d1a2min2d1ermin2k1anmin2k1as2m1i2nuk2m1i2rat2m1i2rod2m1i2rommi2s1í2rmis3szabmis3szermi2s1ü2tmi2s1ü2vmis3zár_2m1i2tat2m1i2vadmka2r1órmkó2rostmla2p1e2mlé2k1a2mlé2k1elmlé2k1olmlé2k1ú2mlo2k1álmlő2s1a2mlő2s1ű2mo2gy1a2mo2k1a2kmo2k1a2lmo2k1a2nmo2k1á2s2m1oktatmo2k1úto2m1o2laj2m1o2limmol2l1inmolói2ko2m1oltár2m1oltásmo2n1a2dmo2n1a2lmo2n1a2pmo2n1állmo2r1e2rmo2r1estmo2r1isk2morjaia2morjaiémo2r1ontmo2r1ó2r2m1oszlo2m1otthamócsa2p1mócsapá2mó2d1a2lmó2d1o2rmöl2cs1amöl2cselmöl2cs1omöl2cs1őmő2r1á2rm2p1aktám2p1árkomplo2malm1p2ro1pm2p1u2tamsza2k1ümszáraz1mszé2demmta2n1ó2mtőkész1mtransz1mumkész1mu2s1á2gmus2tárámu2t1a2gmut1a2la2m1utalámu2t1anymu2t1árb2m1u2tás2m1u2tol2m1u2tód2m1u2tópmúl2t1e2mvágya2dmverés3smze2t1a2mze2t1á2mze2t1elmze2teszmze2t1ö2mze2t1ő2mzókész12n1a2dag2n1a2dásnagy1aggna2gyapjna2gy1as2n1a2kadnak1á2sz2n1a2kó_2n1a2kusna2k1útnna2l1a2lna2l1ábrna2l1á2lna2l1átsna2l1elána2l1ellna2l1érina2l1ingna2l1i2ona2l1í2r2n1alkatna2l1ó2r2namitbo2namitha2n1amitl2namitro2namitrú2namittá2namittö2n1a2nalna2p1a2gna2p1alana2p1alknap1a2pana2p1á2gna2p1árbna2p1átmna2p1illna2p1ingna2p1intna2p1olana2p1ottna2p1ó2rna2p1u2t2n1a2rai2naranyb2naranyh2naranyk2naranyn2naranyr2naranysna2sz1anna2t1alkna2t1altna2t1árnna2t1elénat1ellenat1érkena2t1érvna2t1i2mna2t1ingna2t1oldna2t1oszna2t1u2tná2cs1asná2d1alaná2d1a2rná2d1aszná2d1a2vná2k1ér_ná2l1a2l2n1álla_2n1állap2n1állat2n1állomná2n1á2r2n1á2ramná2r1a2nná2r1attná2r1éve2n1á2riáná2r1i2p2n1á2sásná2s1i2kná2t1a2nná2t1i2onba2k1e2nbo2n1a2nburg2hinc1a2nyanc1e2leknc1e2lemnc1e2redn2c1esztncé2g1érnci2alisn2c1i2gén2c1i2kon2c1i2tan2c1oktan2c1o2lin2c1ölt_n2cs1ajtncs1alapn2cs1aljn2c3sár_n2cs1árnn2csérten2c3sérün2c3sétan2cs1ismn2cs1oksn2csoktan2cs1őr_nd1a2datnd1a2ránndat1anynda2t1egnd1á2rakn2dennekn2d1e2sőn2d1ésszn2d1észhn2d1észln2d1észrn2d1é2ten2d1iszando2k1útn2d1ornin2d1ó2ránd1ő2regnd1ő2reind1ő2reknd1ő2relnd1ő2réknd1ő2rénnd1ő2rérnd1ő2rétnd1ő2révnd1ő2rignd1ő2ritn2d1ő2rönd1u2szoned2v1el2n1e2dzé2n1e2ger2n1egér_2n1e2gyéne2k1a2nne2k1e2gnek1é2jének1üldön1elegy_nel1e2lenelem1el2n1elnev2n1e2lőa2n1e2lőá2n1e2lőí2n1előny2nelőrej2n1eltér2n1ember2n1emelkne2m1eszne2m1ér_ne2p1estne2p1ó2rne2r1a2dne2r1a2kne2r1a2nne2r1a2rne2r1e2gne2r1e2lner1emelne2r1éttne2r1igane2r1i2mne2r1infne2r1ingne2r1int2n1e2sésne2s1ü2vne2s3zárne2sz1élne2sz1ű2net1a2lane2t1át1ne2t1e2gne2t1emlnet1estene2t1eszne2t1etine2t1é2kne2t1é2lne2t1ér_ne2t1érdne2t1éréne2t1érrne2tértene2t1észne2t1intne2t1o2kne2t1ü2z2n1e2zer2n1ezred2n1é2gek2négetőh2négetőn2négetőt2n1é2hesné2k1a2n2n1é2letné2p1e2lnép1etetné2p1etn2n1é2rem2n1é2rő_né2s1e2lnés3szerné2sz1ékné2sz1ö22n1é2tel2n1é2tet2n1é2ve_2n1é2vekné2v1elené2v1e2rné2v1é2lné2v1ériné2v1érznfe2leménfluor1en2g1a2dán2g1a2nyn2g1asztng1á2rakn2g1ártan2g1á2rún2g1á2tingegész1n2g1esemn2g1eszknge2tikang1é2rő_n2g1otthngő2z1ősng2rádihn2gy1á2ln2gy1é2dnha2sábrni2c1e2l2n1i2deg2n1i2gal2n1i2gén2n1i2na_ni2n1áll2n1inge_nin2g1ó2nin1g2rá2n1ingükni2n1i2p2n1i2onb2n1i2onn2n1i2ono2n1i2onr2n1i2ont2n1i2rodni2szemlni2szesenisz1okt2n1iszonni2t1a2dnit1a2la2n1i2tatni2t1osz2n1i2vad2n1i2varnk1a2dósnkci2ósűnk1e2csen2k1eltán2k1e2rőn2k1e2tin2k1e2vénké2p1elnké2p1ésnk1é2szénki2s1i2n2k1oszln2k1ó2rin2k1ö2lén2k1ö2lőn2k1u2ranla2t1e2nme2g1a2nna1p2rénne2p1a2nny1elvánny1e2sőnny1é2kénny1é2kinnyié2neno2k1a2rno2k1é2lno2k1ing2n1o2koz2n1o2limno2m1a2cno2r1a2tno1s2tab2n1o2vi_nó2d1a2nnó2d1e2snó2m1u2t2n1ó2rainó2r1a2lnós3zenenós3zenénö2k1é2jnö2k1é2lnö2k1ér_nö2k1éri2n1ö2zön2n1ő2rei2n1ő2réh2n1ő2rén2n1ő2révnő2s1a2lnő2s1e2lnő2s1í2rnpu2t1á2npu2t1e2nsa2v1e2nsé2g1éjns1é2ve_n2sz1a2dnsza2k1ün2sz1a2nnsz1á2run2sz1ommn2sz1ü2znt1a2ga_n2t1aktánt1a2ra_n2t1a2ránt1a2uran2t1ásvántele2mén2t1elján2telméln2t1e2lon2t1elton2t1elván2t1endrnte2relente2r1inn2t1esthn2t1eszknt1e2vetnt1e2vezn2t1é2len2t1érinn2t1érmén2t1értén2t1illen2t1infon2t1ing_n2t1ingan2t1intén2t1isten2t1oldan2t1oldón2t1o2lynto2m1e2n2t1oszln2t1osztn2t1otthn2t1ó2rán2t1ó2rintransz1n2t1ü2lőn2ty1a2ln2ty1a2nn2ty1e2ln2ty1intn2ty1ő2rnu2s3zavnu2sz1ol2n1ú2szá2n1ü2gyé2n1ü2gyi2n1ü2temnvágya2dnvá2r1al2ny1adagnya2kara2nyalakj2nyalakk2nyalanynya2lapbnya2laphnya2laponya2lappnya2lapsny1a2pad2ny1armanyá2szaknyá2szár2nyelemz2ny1ellá2ny1eltá2nyeltér2ny1elül2nyelvev2nyember2ny1emitnye2rekl2nyesetény1é2jek2nyéneke2nyérem_2nyérték2nyifjú_2nyifjúb2nyifjúé2nyifjúi2nyifjún2nyifjúr2nyifjús2nyifjút2nyifjúv2ny1okke2ny1olda2nyoltás2nyolvas3nyomat_3nyomatk2ny1osko2ny1ukrá2ny1ú2ro2ny1ú2sz2ny1ű2ri2ny1ű2rö2ny1ű2zé2nyűzőenny2v1iskn2z1a2nyn2z1á2runzá2s1e2nz1át1a2n2z1elhan2z1elisn2z1ellánz1ellenn2z1elnyn2z1eltan2z1eltün2z1elvén2z1elvonz1embernz1e2mésnzervé2tnzé2k1eln2z1értén2z1i2ganzi2m1a2nzi2n1á2nzi2n1ó2nzi2t1elnzókész1oá2r1a2nobi2k1ó2obi2n1alobo2r1osobo2t1á2obókész1o2b1ó2néoc2k1é2lo1c2kosno1c2kosoo1c2kosro1c2kosso2cs1ászo2cs1á2zocsié2rao2cs1ingodel2l1ao2d1é2teo2d1é2veo2d1ikreodi2l1isodo2roszo1d2rámaofi2t1e2ofo2n1alofo2n1ó2o2g1a2lao2g1a2láo2g1a2nyo2g1a2szoga2t1e2o2g1árjao2g1á2ruo2g1á2toogegész1o2g1értőo2g1oszlo2g1oszto1g2ráfho1g2ráfjo1g2ráfrohá2nyadohá2nyanojá2r1asoj2t1árao2k1a2dáo2k1a2dóok1é2lesok1é2leto2k1é2neo2k1é2rio2k1érteo2k1értéo2k1é2veo2k1i2deo2k1i2doo2k1i2ráo2k1i2roo2k1i2taok2k1a2dok2k1aleokk1ö2vűo2k1ormúo2k1o2vioksz1almok2sz1esok2sz1iso2k1ú2tiolat1anyola2t1olola2t1ölo2l1á2ruo2l1á2tiol2c1e2kol2c3sorol2d1anyolda2telol2d1eléol2d1ellol2d1elvol2d1e2rol2d1e2sol2d1éveol2d1u2go2l1értéo2l1i2duol1i2ma_o2l1i2máo2l1i2paoli2p1etoli2száloll1a2gyol2l1alaol2l1aljol2l1atkol2l1á2gol2l1e2col2l1e2hol2l1embol2l1é2kol2l1ériol2l1infoll1ingeoll1ingéoll1ingioll1ingjoll1ingnoll1ingrol2l1intol2l1oszol2l1u2so2l1ó2néol2t1ariol2t1átaol2t1ereol2t1e2vol2t1ér_ol2t1érrol2t1oldo2l1u2táoly1aggyolya2mesoly1aszt1o2lyén_1o2lyiérom1a2dato2m1a2dóoma2g1adoma2g1á2oma2g1inom1a2lagoma2lapooma2lapro2m1a2rao2m1atkáomá2nyanományká2om1á2rakom1á2ramo2m1á2ráo2m1á2ruom1á2t1éom2b1eltom2b1ério2m1e2ceo2m1e2déo2m1ernyo2m1erő_o2m1erőbo2m1erőho2m1erőno2m1erőrom1erősíomer1ősso2m1erőto2m1erővo2m1e2tio2m1é2heo2m1é2keo2m1é2leo2m1é2reo2m1é2réo2m1é2rőo2m1érteo2m1értéo2m1értőom1i2na_o2m1i2rio2m1isteomi2sz1áom1i2talomi2t1áso2m1orjáo2m1osztom2p1orsona2linto2n1a2noonarádi2o2n1álloo2n1állvon1á2rato2n1á2roo2n1á2ruo2n1á2rúo2n1átáloná2t1éro2n1átheo2n1átreon2c1e2gon2c1ér_on2c1éréon2c1ikroncs1embonc3sikkon2cs1imond1oksáon2d1oszo2n1e2gyo2n1é2heo2n1érbeo2n1érteo2n1é2veon2g1állon2g1e2con2g1e2lonhárom1o2n1i2zéon1o2kalon1o2koso2n1oktaono1sztronó2szenon2t1alkon2t1araon2t1atron2t1állon2t1e2gon2t1előon2t1eseon2t1i2mon2t1infon2t1intont1iszoon2t1í2von2t1omlon2t1orso2ny1acéony1a2dóo2ny1alkony1anyao2ny1apóo2ny1árno2ny1e2lo2ny1e2mo2ny1e2ro2ny1é2jo2ny1é2ko2ny1ér_o2nyitóko2ny1í2ro2ny1o2ronz1ajtóon2z1á2lon2z1e2lon2z1e2mon2z1éreoperasz2o2p1i2ráo2p1i2tao2p1orzóo2r1a2dáo2r1a2dóo2r1a2noor1a2nyao2r1a2ráo2r1a2zoo2r1állvo2r1á2roor2c1a2lor2c3sebord1e2sőor2d1ingo2r1e2gyo2r1eszeoré2k1e2o2r1é2neo2r1é2teo2r1é2veo2r1é2véo2r1é2viorfi2úéro2r1i2deo2r1i2déori2d1ioo2r1i2gao2r1i2gáo2r1i2gyo2r1i2máor1i2návo2r1ing_o2r1ingco2r1ingéo2r1ingio2r1ingno2r1ingro2r1ingsorin2telorin2t1őo2r1i2sio2r1isteo2r1i2zéor2m1appor2m1attor2m1azoor2m1egyorm1erőkor2m1éteor2m1oszoro2k1á2o2r1oldao2r1o2lio2roltólor1ontóéo2r1oskoo2r1osto1o2roszi1o2roszro2rosztáoró2soroor2r1a2ror2r1átaor2s1a2dor2s1e2sor2sérteor2s1í2ror1s2tabors1ü2tőorszi2l1ors3zónáor2t1aggor2t1almor2t1aréort1áradort1árbeort1árnáor2t1e2gor2t1elaor2t1eléor2t1ellor2t1elmor2t1elnor2t1eloor2t1előor2t1eltorte2r1aor2t1essor2t1érmort1i2kuor2t1intor2t1istor2t1itaor2t1okmor2t1oldor2t1ormor2t1ottor2t1ó2ror2t1ö2vor2t1u2to2r1ú2tior2v1a2nor2z1e2co2s1a2dao2s1a2dóos1á2lomos1á2t1ao2s1érteo2s1értéo2s1i2ráo2s1i2szossz1állost1e2teo2sz1e2go2sz1e2lo2sz1é2lo2sz1é2po2sz1orzoszt1anyosz2tár_osz2tellosz2t1emosz2t1ívot1á2rako2t1á2ráo2t1á2réo2t1értéot1i2na_oto1gramotó2sétáot2t1é2gova2r1anova2r1elováb2b1ooza2m1e2oza2t1e2ozat1illoza2t1í2oza2t1olo2z1á2roozé2k1e2o2z1é2réozi2s1ajozi2t1a22ozófiáb2ozófiáh2ozófiáro2zs1a2lóalmana2óbuda2ikóbu2sz1úó2c1i2paó2cs1áru2ódarabkód1e2lemó2d1érteódókész12ó1d2ramófe2l1em2óformác2óformáj2óformál2ói2konj2ói2konn2ói2kono2ójakén_ó2k1á2rió2k1e2rőóke2r1üg2óképpeló2k1oszl2ó1k2rém2ó1k2rónólá2b1útóle2t1evólo2m1aló2m1a2céóna2k1e2ón1aljak1ó2nokul2ónyitó_ó2p1a2daó2p1a2noóp1a2ránópcsa2p1ó2p1o2laó2r1e2gyó2r1e2leó2r1e2lőó2r1e2táó2r1e2téórhá2zotór1i2onnór1i2onoó2r1i2paó2r1i2sió2r1ismeó2s1á2roó2s1érteósé2tákaó2s1é2teósi2kerb2ó1s2pek2ó1s2pir2ó1s2tab2ó1stand2ó1s2tatósza2k1üószá2goló2s3zűrtótá2v1iró2t1e2lőó2t1é2kéóté2t1ö2óugrás1sóvá2r1alóza2toldóza2t1ü2ó2z1á2ruó2z1á2rúó2z1é2teózhajói2ózi2s1e2ózo2n1a2öb2b1eleöb2b1e2röb2b1eszö2b1értéö2cs1ö2löd1é2vénöd1é2vérö2g1elhaö2k1e2rőök1é2lesöké2r1emö2k1é2teök1é2vetö2k1i2naökszi2l1ölcs1á2pölcs1á2rölcs1ellöl2cs1oköl2d1a2döl2d1a2köl2d1aljöl2d1alköl2d1a2nöl2d1ingöl2d1o2r1ö2l1e2bö3l2e3süöle2t1á2öle2t1elö2l1é2leö2l1é2léö2l1é2liö2l1é2riö2l1érteö2l1értéö2l1értüö2l1é2rüö2l1i2taölpárba2ö2l1ültöö2l1ülveöm2b1a2cöm2b1a2nöm2b1e2möm2b1i2döme2g1a2ömeg1e2röme2geszöme2g1ékö2m1emelö2m1esteömé2ny1üö2m1érteö2m1értéö2m1i2taö2m1i2zoön2d1ér_ön2d1érnön2d1érrö2n1évesönfe2lemöngy1ó2rön2k1anyönny1a2dön2t1ellöntgen1nöny2v1eröny2v1égörcs1ellöre2g1ékö2r1é2deö2r1é2riör1é2ve_ör2f1i2pö2r1i2taörny1a2lörny1a2nörny1eleör2ny1erörny1í2rö2rösszeör2t1éksör2t1éléör2t1élőört1érneörü2l1ékör2zs1á2ör2zs1í2össz1emböte2t1a2öt1é2vesötle2t1á1ö2tödneöt2t1a2cött1érteöve2g1a2öve2t1a2övé2nyelövé2nyerövé2szerövé2szülövőrés3sö2z1egésözegész1ö2z1e2gyöze2lemeöze2t1őrö2z1é2jeözé2p1elözé2p1emö2z1é2riö2z1értéö2z1értőö2z1i2koö2z1i2riö2z1i2szőautói2kő2cs1alaő2cs1é2jő2d1érteőgép1üléőgy1a2laőgy1e2lőőjob2b1óőké2p1előké2s1előma2g1ó2ő2n1e2keő2ny1a2dő2ny1agaőny1a2laőny1á2roőnye2lemő2ny1elhő2ny1ellő2ny1eloő2ny1élvőrádi2ókőr1e2gyeőr1e2lőaőre1progő2r1e2ső1ő2r1ég_1ő2r1ékhő2r1é2riőr1é2ve_őr1é2vekő2r1i2gaő2r1i2gáőr1i2zé_őr2s3zöm1ő2r1u2rős1ajtóbő2s1e2geő2s1e2győs1e2rejő2s1égerő2s1i2paős3szellő1s2teriősza2k1eősza2k1üősz1e2lőő2s3zűrűőtes2t1őővasfél1őz1e2melőze2t1a2őze2t1egőze2t1elő2z1é2ripa2d1á2lpa2d1igap1a2dottpaka2r1ópa2k1e2mpa2k1ér_2p1akta_pak2t1espala2g1úpaláza2dpa2l1é2lpa2n1á2r2p1a2nyapa2p1i2ppa2p1u2tpar1a2lapa2r1ágápa2r1ágnpa2r1ágopa2r1ágv2p1a2rájpa2r1é2lpa2r1illpar2k1ő2par2t1olpar2t1ő2pasz1aljpasz1altpa2t1alkpat1anyapa2t1arapa2t1árkpa2t1e2gpa2t1ellpa2t1ér_pa2t1érdpa2t1érepa2t1int2p1atka_pa2t1oldpa2t1olt2patombepa2t1osz2p1a2tya2p1a2tyápá2gyaibpá2gyaidpá2gyaihpá2gyaikpá2gyaimpá2gyairpá2gyaképá2gyakipá2gyaktpá2gyast2p1ágyaz2p1ágyálpá2gyátó2p1á2gyé2p1ágyga2p1ágygo2p1á2gyi2p1ágyná2p1á2gyö2p1á2gyu2p1állompán2t1elpá2ny1adpá2ny1e2pá2nyérdpár2d1a2pá2r1i2ppár2t1agpárt1anypár2taripár2t1elpár2tottpár2t1üz2p1á2sás2p1ásvánpá2t1e2m2p1átka_2p1átkát2p1átkáv2p1átrak2p1átvétpda2l1adpda2l1espda2l1í22p1e2ke_2p1e2keipe2lemet2p1elhel2p1elleb2p1elnev2p1e2lőa2p1e2lőá2p1e2lőe2p1e2lőh2p1e2lől2p1e2lőz2p1elrenpel2v1el2p1elven2p1ember2p1e2mel2p1e2més2p1e2nerpenny1érpe2r1aktper2c1elper2c1inpe2r1elkpe2r1indpe2r1ingpe2r1o2xpe2r1ó2r2p1e2rőspe2r1ü2gpe2sésigpes2t1a2pes2t1erpe2sz1álpesz1ellpe2szemepe2t1a2npé2d1ülé2p1é2hen2p1é2hes2p1é2hetpé2k1é2lpé2k1étepé2k1i2npé2ny1elpén2z1á2pé2p1i2p2p1é2rin2p1é2rő_pé2s1e2lpéskész1pé2s1ü2tpé2sz1á22p1é2ve_2p1é2vek2p1é2vetpé2z1e2mpfi2úkér1phanészpia2c3sepi2akén_2p1i2dom2p1illetpin2geljpin2t1or2p1i2rodpi2t1a2npi2t1á2pplap1állpli2s3záplő2szárpo2cs1iz2p1oltáspon2c3sopo2n1oszpont1anypon2t1elpon2tiszpon2t1ő2po2p1o2lpo2r1a2cpo2r1a2rpor2c3sípo2r1i2mpor2tambpor2t1aupor2tárbpor2tárnpor2t1empor2t1ívpo2t1a2lpo2t1a2upo2t1e2lpo2t1infpó2k1asspó2k1e2l2p1ó2né_pór1á2szpó2s1ü2vpötty1inp2p1á2top2p1e2gypressz2bpré2s3zápru2s1ágpsza2k1üp2sz1illp2t1e2lőpté2k1elpt1i2ma_pu2s1átlpusz1é2ppu2t1a2d2p1u2taz2p1u2tóppüle2t1opvá2r1alpwhisky2pze2t1a2pze2t1á2rab1á2rara2b1elera2b1ellra2b1igara2b1igára2b1intra2c3hokra2c3hosra2c3hot2r1a2cidrac2k1ö2rada2rad3radósi_2r1a2dóz2r1a2du_raé2derbraé2dereraé2derhraé2dernraé2derrraé2dert2r1a2ga_2r1a2gánra2j1a2d2rajkáróraj2t1enraj2z1ónraktus1s2r1a2kus2ra2lakur1a2lapúral2l1atralo2m1era2m1anyra2m1árára2m1árbra2m1árera2m1árhra2m1árnra2m1árrra2m1éheram1i2kora2m1i2pra2m1oszra2m1ó2r2r1a2nal2r1a2natran2csalrancs1ágran2csikran2d1auran2g1a2rang1e2lran2g1ó2ran2szálra2ny1arra2ny1álr1anyás_rany1í2rra2ny1olrany1ó2r2raranyb2raranyn2raranyr2rasszocra2sz1ajrasz1embra2t1a2drat1a2la2r1a2tádra2t1árbra2t1árvratát1a2ra2t1e2gra2t1elkra2t1ellra2t1érdrat1érkera2tértera2t1érvra2t1ívera1t2ranra2z1anyra2z1oltrá2c1i2nrá2csalará2cs1isrá2d1any2r1á2gazrág1á2zárá2g1oszráj2k1a2ráj2k1ó2rá2k1e2srá2k1oszrá2k1ó2rrá2l1a2lrála2t1e2r1állam2r1állap2r1állat2r1állomrá2ly1asrá2n1a2nrá2n1a2trán2t1akrá2nyakorány1altrá2ny1aprá2nyérmrá2nyérz2r1á2radrár1a2dá2r1á2rai2r1á2ram2r1á2ras2r1á2rat2r1á2riárá2s1a2drá2s1aknrás1a2torás1á2ga2r1á2só_2r1á2sóhrás1ó2rarát1a2dará2t1i2o2r1á2tülrba2joktrbátyá2tr2b1oldarbo2n1a2r2c1á2ror2c1á2rurce2g1a2rc1e2legrc1e2lődrc1é2kétr2c1é2lér2c1é2lir2c1é2rir2c1i2korc1i2na_rc1i2nárrc1i2onir2c1i2parcs1alakr2c3sarar2c3sár_r2cs1elrr2cs1érbrcs1írásr2c3sorar2c3sorord1a2datrda2l1í2rd1a2ránrd1á2rakrd1á2ronrde2k1a2rde2k1ö2rdező2p3r2d1é2rir2d1é2vér2d1i2gar2d1oktardö2g1ölrdsza2k12r1e2bédre2d1e2r2r1edzőbreg1e2lere2g1elrreg1e2vére2g1ülé2r1e2gyére2k1aráre2k1aszre2k1á2lre2k1á2pre2k1ár_2r1ekék_re2k1ér_re2k1érdre2k1éssre2k1ingre2k1intre2k1oldre2k1u2sre2k1ülére2k1ülő2r1e2lág2r1e2lef2relektrrele2meg2relemei2relemük2relemzé2relemző2r1elhelrel2l1an2relmééh2relméte2r1elnev2r1e2los2relődei2r1elszá2r1eltáv2r1eltév2r1elvei2r1elvek2r1elvem2r1elven2r1elves2r1elvé_2r1elvér2r1elvéü2r1elvévre2m1a2dre2m1asz2rembers2r1emelé2r1emelgrem1elődre2m1engre2m1eszre2m1ér_re2m1érmre2m1ő2r2r1e2mul2r1e2mus2r1encikren2d1ég2r1e2ner2r1engedren2s1égre2p1e2gre2p1elfre2p1elkre2p1ellre2p1engre2p1erk2r1e2pésre2p1i2drep1ille2reposz_re2p1örö2r1eseméresz2tálre2t1aktret1a2lare2t1árare2t1árore2t1elbre2t1ellret1emelre2t1erkre2t1é2kre2t1érbre2t1érdr1e2tiltre2t1ingre2t1intre2t1oldre2t1öröre2t1ö2vret2téneret2t1inre2t1ült2r1é2des2r1é2hen2r1é2hes2r1é2het2r1é2jet2r1é2jünré2k1a2gré2k1a2nrék1á2sáré2k1e2bré2k1eszré2k1éteré2k1ö2vré2m1a2lrém1e2leré2m1istré2n1é2j2r1é2ret2r1é2rez2r1é2rő_ré2s1ü2tré2s1ü2vrész1a2lrész1í2vrész1ó2rrész1t2rré2t1egyré2t1é2kré2v1é2lré2v1ériré2v1éte2r1é2vévré2z1e2grgá2csalrgá2csanrgá2csavrgő2z1ősr2gyalakr2gy1alkr2gy1anyr2gy1aszr2gy1á2zr2gy1e2lr2gy1encr2gy1e2sr2gy1intrhajóé2rrhitköz1ri2akén_ri2a1t2rr1i2ázósri2c1e2lri2d1a2l2r1i2deári2d1esz2r1i2dom2r1i2ge_ril2l1inri2n1a2d2r1i2nairi2n1a2lri2n1a2nri2n1a2rrina1sz2rin2c1egrin2csér2r1ingét2r1i2nic2r1injekrin2t1adrin2tárarin2tárorin2társ2rinterf2r1i2pai2r1ipara2riparil2riparin2riparte2ripartóripor2ta2r1i2ram2r1i2rat2r1i2rónri2s1e2lri2s1embri2s1e2r2rismérvri2s1or_ri2s1ortri2s1ü2vri2t1a2d2r1italb2r1itall2r1italo2r1italtrit1a2nyri2t1i2oriu2méneriumhid22r1i2vad2r1i2vásrí2m1a2lrka2ró2rr2k1ács_r2k1á2rir2k1á2rur2k1e2dzrk1e2lemr2k1eltárk1eredőr2k1e2rőr2k1értérkilenc1rki2ont_rk1o2lajr2k1ú2szrla2g1olrla2t1ó2rlá2s1útrlá2t1e2rle2g1a2rle2t1á2rle2t1egrle2tellrle2t1ékrlésáta2r2m1akadr2m1a2kórma2t1urrmá2nyanrm1á2ramr2m1á2rorme2g1esrme2k1anrme2k1egrme2kérdrme2k1ó2rme2körörme2rők_rme2rőkerme2rőknrme2t1élr2m1é2ler2m1érter2m1iskormi2t1elrne2m1isrne2t1a2rnus3szerny1a2dór2nyakadr2ny1alkr2ny1ellr2ny1elnr2ny1elorny1elvorny1e2sőrny1éknéro1c2kokro1c2konroc2kos_rofi2tárro2g1á2rro2g1o2lro2g1oszro2k1a2dro2k1a2nro2k1a2sro2k1á2s2rokett_ro2k1é2lro2k1ing2r1okság2r1oktatro2k1u2s2r1o2lajro2l1i2droligar22r1oltás2r1oltó_2r1oltób2r1oltói2roltóké2r1oltót2r1oltóv2rolyén_2rolyiérro2m1árkro2m1árnro2m1e2rrom2f1osro2m1o2rro2m1ó2rro2n1átaro2n1átrron2cselron2csemro2n1ér_ro2n1i2mro2n1ó2rron2t1én2r1ontóh2rontóigrony1a2lron2z1alron2z1olron2z1orron2z1ó2ro2r1a2lro2s1atlro2s1árkro2s1ároro2s1istros3szék2r1oszlo2r1o2vi_2r1o2vib2r1o2vik2ro2xidb2ro2xidrroza2talró2m1a2l2r1ó2néb2r1ó2néh2r1ó2nén2r1ó2raa2r1ó2rac2r1ó2rad2r1ó2rae2r1ó2raf2r1ó2rag2r1ó2ram2r1ó2ran2r1ó2rap2r1ó2rar2r1ó2ras2r1ó2rat2r1ó2rav2r1ó2ráb2r1ó2rád2ró2ráén2r1ó2ráh2r1ó2rái2ró2rákh2r1ó2rár2r1ó2rás2r1ó2rát2r1ó2ráv2r1ó2riárós1oromró2t1ö2v2r1öbölb2r1öbölh2r1öböli2r1öböll2r1öbölr2röböltőrö2k1é2lrö2k1érv2r1ö2körrön2k1a2rön2k1e2rön2k1ölrő2d1e2lrő2d1ő2rrő2s1ülőrő2s1ültrő2s1ü2trpe2szelrpi2t1e2rprecíz1rrat1anyrrádiók2r2r1á2gar2r1á2gyr2r1i2derror1oszr2s1a2dór2s1a2pár2s1a2pors1a2ra_rsa2v1arrsa2v1é2r2s1á2rér2s1á2rurs1e2gétr2s1e2gyrse2k1a2r2s1e2murse2nyegrse2nyerrsé2g1elr2s1i2sir2s1í2rórso2nyalrso2nyanrso2nyatrsócsap1rs3szem_rs3szer_rsza2k1ersza2k1ürszáraz1r2s3zenérszt1árvr2s3zűr_r2t1ablarta1k2rért1alapjrt1a2lábr2t1alárr2t1alelrta2m1érr2t1antor2t1antrrt1a2utortá2lalartá2radartá2ramrr2t1árinrt1árszirt1árszír2t1ártartá2rukértá2rukkrtá2ruknrtá2rukrrtá2ruktr2t1árurr2t1árutrtá2s1ágr2t1ásásrt1e2gyer2t1eladrt1elkerrt1e2lőarte2r1inrte2r1osr2t1e2rórt1estékrt1estnérte2sze_rte2szeirte2szekrte2szemrte2szetr2t1eszkr2t1eszmr2t1éremr2t1é2rér2t1érinr2t1értérté2s1égrtés3szartés3zsírté2vénér2t1i2der2t1i2gér2t1i2mir2t1i2par2t1iszart1i2talrto2k1arr2t1o2lirto2n1a2rt1ö2rökr2t1összrt1ö2vezrtőkész1r1t2ranzr2t1ü2léru2b1i2k2r1u2gatru2m1engru2m1i2kru2m1i2pru2m1o2rrú2t1a2l2r1ú2té_rű2s1orrr2vállamr2v1állorvá2nyadrvá2nyanrvá2r1alrvá2torsr2v1e2dzrv1e2ledrve2lembrv1e2lesrv1e2lőár2v1előrrve2r1á2rverés3srv1é2lelr2v1é2lér2v1érésr2v1értér2v1ismervis3szervi2z1a2rvi2z1á2r2z1a2larz1almásr2z1aszórza2t1e2rze2t1egrzetes3srzé2n1alrzo2r1álr2z3sár_rz3sebenr2zs1e2gr2zs1e2rr2zs1ér_r2zs1igar2zs1ö2r2s1adatósaj2t1ü22s1a2kadsak2k1assak2k1egsak2k1ó22s1akna_2s1aknáksa2k1orm2s1a2kussa2lapozs1a2lapr2s1alátésa2l1éte2s1algáh2s1algái2s1algán2s1aljai2s1aljáh2s1aljár2s1alkot2s1altitsa2m1anysa2m1oszs1a2nyagsa2p1a2gsap1á2cssa2p1átmsa2p1oszs1a2pókrsar2c3hosar2k1e2sar2k1ö22s1asszosa2s1u2tsata2késsa2t1aljsa2t1altsa2t1érksa2t1érrsa2t1i2ksa2t1ingsatmosz2sa2t1ormsa2t1ó2dsautóé2rsa2v1a2lsav1áriasa2v1ártsa2v1i2nsá2b1e2lsá2b1e2r2s1ágas_2s1á2gazsá2g1árnsá2g1oszságy1a2ds1á2lombsán2c3sosá2p1ostsár1a2dósá2r1a2l2s1á2ramsá2r1a2n2s1á2rat2s1á2riásá2r1i2psá2r1i2ssá2r1osz2s1á2ruh2s1á2rul2s1á2rú_sáskész12s1á2szosá2t1aljs1á2tokt2s1á2t1ösá2v1a2dsá2v1a2rsá2v1á2rsá2v1érz1schébe_1schéérese2b1e2gse2b1eshseb1eszesecs1a2pse2cs1ék2s1e2gers1egész1segy1e2lsej2t1a22s1e2lefs1e2legyse2l1e2hse2l1ekése2lemekse2l1eres1e2lesé2s1elhel2s1e2lőz2s1elveks1ember_s1emberbs1embern2s1engedse2ny1á2seny1ellseny1erese2ny1élse2nyérd2senyhi_se2nyigé2senyve_sep2p1á2se2r1agyse2r1a2nse2r1a2rse2r1á2gse2r1eltse2r1elvser1eszkse2r1igase2r1inase2r1ü2g2s1esemé2s1e2séssessz1a2sesszé2lse2t1e2gset1elegse2t1elkse2t1elmse2t1ékbse2t1ékése2t1é2lse2t1énkse2t1ér_se2t1ing2s1e2véssége2lemsé2g1ellsé2g1entsé2g1eszség1é2jesé2g1é2ksé2g1ér_sé2g1érnsé2g1érrsé2g1érvsé2g1igé2s1é2he_2s1é2hek2s1é2hes2s1é2hets1é2nekbs1é2nekés1é2nekks1é2nekrs1é2nekts1é2neküs1értékesé2t1a2d2s1é2ved2s1é2vek2s1é2ven2s1é2véisfaá3gacsfenyőé2sfi2úérasfo2k1útshitköz1sibilis1s1i2gazosig2n1ó2si2k1a2nsi2k1olds1i2konhs1i2konjs1i2konns1i2konrs1i2konusi2m1u2t2s1i2nas2s1iparc2sipartá2sipartó2s1i2ram2s1i2rónsi2s3zab2s1i2vad2s1i2varsírá2s3zsír1á2tosí2r1e2msí2r1e2tsíté2kolskapocs1ska2ró2rské2p1elskolás1ssla2g1e2slá2nyalsle2t1elsle2t1emsleves1sslé2k1olsme2g1a2smen2telsna2p1orsodaéne2so2d1orgsodrás1sso2k1atoso2k1árnsok2k1el2s1o2koz2s1o2lajsola2telso2m1a2lso2m1éteso2m1itaso2m1odoso2m1oszson2k1e2son2t1e2so2r1átl3so2r1e2so2r1ingsor1osztsor2s1e2sor2szónso2r1útosócsapá2só2k1a2dsö2g1e2lsö2g1öltsön2d1a2sö2r1ö2lső2d1ő2rsősz1ékéspa2d1a21spirálúspor2tár3s2portb1s2porté1s2porth1s2portj1s2portnspor2t1ö1s2portu1spórák_ssab2b1issza1p2rssz1á2szsszegü2lssz1egyessze1t2rssz1é2lősszér1insszí2velsszkész1stan2s1é1s2tart_star2tas1startoss2t1árkas2t1árkás2t1e2gys2t1e2los2t1e2lőste2n1ésste2n1ő21sterilis2t1eszmsté2k1a2stékáta2sté2k1els2t1é2les2t1érems2t1é2rés2t1értés2t1észls2t1i2mas2t1i2más2t1iszas2t1i2vásto2latos2t1összstőkész1s2t1őregs2t1őreis2t1őré_s2t1őréns2t1őrérs2t1őrévs2t1ő2ris2t1ő2rü1strando1struktúst1u2rals2t1ü2lős2t1ű2risu2k1ará2s1u2tac2s1u2tad2s1u2tam2s1u2tan2s1u2tat2su2tazis1u2tazósú2cs1ü2sva2s1u2svá2nyansvá2r1alsvárosi2své2nyelswhisky2sz1a2dás2sz1a2dósz1aljak2sz1altesza2talaszá2m1e22száradd2szá2t1ö2sz1á2tü2szekéitsze2kés_3szekrén2szelemb2szelemé2szelemm2szelemü2szelemz2szelere2sz1elgo2sz1elha2sz1eljá2sz1ellá2szelnevsze2lődösze2lőré2sz1elta2sz1elül2sz1elvá2szelvek2szelves2szelvez2szember3szem1p22szeredmszervíz12szesetb2szesete2szeseté2szeseti2szesetr2szetikaszé2k1ol2széneke2széneknsz1é2relszé2rem_szé2remm2sz1érin2sz1érte2sz1érté2sz1értő2sz1é2rü1szférai1szféráé2sz1i2gaszi2k1ó22sz1i2má2szinteg2sz1i2ri1szkarabszk1arch1szlávok1szleng_1szlengn1szlengrszle2t1oszo2l1ál2szo2lim2szoltás2szolvad2szolvasszo2r1ál2sz1otthszósza2kszó2szón2szöldessztá2rat1sz2tárjsz2tárny1sztereosz2tértesz2t1érvsz2t1étészt1öröksz2t1őrn1sztrádá1sztrájk2sz1u2rá2szülőse3szürkés2szűrödn1szvitett1a2data2t1a2dog2t1a2dott1a2dóigt1a2dóikt1a2dóint1a2dóitt1a2dókat1a2dókét1a2dókot1a2dónat1a2dónát1a2dótóta2g1e2rta2g1é2gta2g1oszta2g1ott2t1a2gónta2g1ó2rta1g2rafta1g2ramtagrádi2ta2g1u2sta2j1u2s2t1a2kadta2k1ér_2takkordta1k2rón2t1akta_2t1aktivtaktus1sta2l1adhta2l1adjta2l1adnta2l1adtta2l1adv2tala2g1t1a2lagu2ta2laku2t1alakzta2l1a2l2t1alanyt1a2laplta2l1a2r2talattita2l1á2gta2l1átata2l1előta2l1engta2l1ér_tal1ina_ta2l1iskta2l1í2r2t1alkaltalo2m1eta2l1osztal2p1iltal1t2reta2l1u2rta2l1u2tta2l1út_ta2m1i2d2t1a2nat2ta2n1esta2n1ér_ta2n1érktan1é2vétan1é2vitan2kéreta2n1osztan2t1eltan2tors2t1a2nyó2t1a2pa_2t1a2pai2t1a2páb2t1a2pád2t1a2páé2t1a2páh2t1a2pái2t1a2páj2t1a2pák2t1a2pám2t1a2pávtap2s1ü22t1a2ras2t1a2rat2t1a2ráb2t1a2ráh2t1a2rát2t1a2rávta2r1i2ktar2t1emtar2t1entar2toldta2t1aljta2t1alm2t1a2teita2t1ingt1a2tomotat1u2ra2t1á2gai2t1á2guk2t1á2guntá2j1e2gtá2j1e2ltá2l1áth2t1állam2t1állan2t1állat2t1állás2t1álmoktá2ly1attá2lyátltáma2szetán2csortá2ny1astá2p1osztá2r1a2gtá2r1a2l2tárama_2táramok2táramol2táramottá2r1anytá2r1asztá2r1atttá2r1átltá2r1i2ktá2r1i2ptá2r1ism2t1árkád2t1árnyétá2r1osz2t1á2rug2t1á2ruhtá2s1a2dtá2s1a2rtás1á2gatá2s1árhtá2s1árntá2s1árrtá2s1árt2t1ásásotá2sz1ak2t1á2tál2t1á2t1é2t1átlag2t1á2t1ötá2v1a2dtá2v1a2ntá2v1érzte2g1a2rte2g1ellte2g1elr2tegere_teg1eredte2g1é2pte2g1ü2gte2g1üléte2g1ülőt1e2gyezte2j1ellte2j1elvtek1érette2k1i2pte2k1undte2l1á2gteleí3rá2telektrte2l1elkte2l1ellte2lembate2leme_2telemeite2lemeste2leméntel1eséstel1estitel1érétte2l1étet1elfogate2l1imite2l1infte2l1ingtel2l1eg2tellenf2tellenő2tellenz2telméle2telőadá2t1e2lőíte2lővéttel1őzi_telü2ké_2t1elvei2t1elvek2t1elvet2t1elvév2t1elvi_2t1elvilte2m1e2g2t1emelé2t1emelk2te2melőte2m1ér_tem1érté2t1e2méste2m1étete2m1étkte2m1intte2m1ó2r2t1e2multe2m1üléte2n1a2gte2n1a2rte2n1á2tte2n1eszte2n1éktte2n1év_te2n1évi2t1engedte2n1i2p2t1e2poster1a2céte2r1adate2r1a2nte2r1a2rter1á2cste2r1áll2t1e2rejte2r1elmte2r1entte2r1etite2r1é2jter1illate2r1i2pt1erkölctermés1ste2r1oldte2r1ó2rte2r1üld2t1esemé2t1e2séste2s1intte2s1írótes2tárates2t1ertes2tismte2s1ü2v2t1eszméteszte2rtesz2torte2t1a2kte2t1a2lte2t1a2pte2t1árate2t1e2gte2t1elltet1e2lőte2t1elvte2t1eréte2t1eszte2t1é2lte2t1érite2t1érvte2t1inttetkész1te2t1olt2t1e2tűdte2t1ű2z2t1e2zer2t1é2hek2t1é2hen2t1é2hes2t1é2het2t1é2jenté2k1akaté2k1a2nté2k1attté2k1e2cté2k1e2gté2k1elrté2k1eszté2k1etité2k1é2kté2k1é2lté2k1ér_tékfélé2té2k1i2sté2k1o2rté2k1oszté2k1u2tté2l1á2tté2l1e2r2ténekek2t1é2pülté2r1a2nté2r1á2r2térdekb2térdekl2térdekn2térdekü2térdekűté2r1e2lté2r1engté2r1esőté2r1eszté2r1észté2r1ide2t1értes2t1érték2t1értők2t1érveitésát1a2té2s1e2lté2s1e2rté2s1ülétés3zeneté2szeszté2sz1ékté2t1a2lté2t1e2g2t1éterité2t1ersté2t1e2v2t1é2vek2t1é2vemtévé1sz2tfa2l1ajtge2n1el1thagorethe2i2d1tiakész12t1i2deá2t1i2deg2t1i2deo2t1i2dom2t1i2ge_2t1i2géktiko1sz2ti2l1i2p2t1inakkti2n1a2nti2n1állti2n1eké2t1infartin2g1ártin2g1ó22t1i2nicti2n1i2mtini1sz22t1integ2t1intéz2t1i2onn2t1i2ono2t1i2onr2t1i2ont2t1i2rat2t1i2rán2t1i2rodti2s1a2u2t1i2si_ti2s1i2r2t1i2sisti2t1i2otiu2m1i22t1i2var2t1i2ván2t1í2rás2t1í2vei2t1í2véití2z1embtka2ró2rtkö2z1élt1k2reáctla2g1artla2n1e2tle2teletmá2nyirtme2g1e2tne2k1eltne2küldtne2sz1atnómenk2tnö2k1ölto2k1akato2k1a2nto2k1átlto2k1átmto2k1átrto2k1átsto2k1áttto2k1átvto2k1é2lt1o2kozáto2l1a2d2t1o2lajto2l1aktto2l1anyto2l1a2rtol1atom2toldalo2toldalt2t1o2limtol2l1intol2l1í2to2l1o2r2t1oltásto2m1a2lto2m1a2nto2m1á2rto2m1oszto2n1á2zto2n1oszto2r1a2dto2r1akato2r1aknto2r1akoto2r1a2lto2r1anyto2r1a2pto2r1állto2r1álmto2r1átlto2r1á2z2t1organto2r1illto2r1intto2r1isktor1oszt2t1orráv2t1o2xigtó2d1a2ntó2d1esétóká2roktó2p1e2l2t1ó2rái2t1ó2rástós1étáktó1s2kantó1s2ráctó2s1ü2ltö2k1e2vtö2k1ér_tö2k1érd2t1ö2körtöl2t1á22t1öltöztönkész12t1ö2regtör2t1a2tör2térntör2t1éstör2t1o2tör2t1öl2t1ö2vie2t1ö2zön2t1ő2rék2t1őrjeltő2s1a2l1trágyáb1trágyáé1trágyáh1trágyái1trágyáj1trágyák1trágyán1trágyár1trágyás1trágyát1trágyávtrá2nyaltrá2t1értro2n1agtro1sz2ftsé2g1éjtsza2k1ütta2n1ért2t1asztttá2v1i2tte2lemette2r1intte2s1a2t2t1é2letté2r1estt1é2vérttornác1t2t1ó2ráttransz1ttsé2gelttyülés1tuda2t1ötu2m1a2dtu2m1i2ktu2m1inftu2m1int2t1u2rak2t1u2rastu2sz1iltu2sz1iptu2sz1it2t1u2tad2t1u2tak2t1u2tal2t1u2tam2t1u2tas2t1u2taz2t1ü2ledtü2l1e2mtü2l1e2stü2l1e2vtü2l1ökltüne2tel2t1ü2zentűcsa2p1tű2z1áratvá2nyadtvá2z1altve2r1á2tve2rinttvé2nyeltvér1inttvis3szátyo2r1osu2b1é2reu2b1érteu2b1ina_uca2t1á2uc2c1inau2cs1e2luda2t1egue2s3zenuga2t1elugo2r1á2ugó2s3záuha2r1asuhá2szak1uj2j1e2uka2c3seuka2szásuk2k1altuk2k1olauko2r1á2ulcs1e2lul2csérvul2csigaul2cs1í2ul2cs1ö2ulé2k1e2ulé2k1olu2l1értéul2l1e2lulói2konulókész1um1a2datu2m1a2kaumakész1u2m1a2lau2m1a2nou2m1a2nyu2m1a2ráu2m1a2rium1á2ramu2m1árasu2m1á2ráu2m1á2rou2m1á2ruu2m1e2leume2n1ó2u2m1érteu2m1értéu2m1é2teum1i2onbum1i2onéum1i2onhum1i2onkum1i2onrum1i2ontumkész1eum1o2ratum2p1ingun2g1a2gu2n1ingouo2r1i2oupe2r1inura2m1isur2t1e2tur2t1e2vuru2szálu2s1a2dóu2s1a2lau2s1a2rau2s1a2ráu2s1á2gáu2s1áradu2s1á2ráu2s1á2riu2s1á2rou2s1á2ruu2s1é2neu2s1érteu2s1é2teu2s1i2kou2s1i2mau2s1i2máu2s1i2ráusz1a2lau2sz1a2nu2sz1á2gusz1álláusz1árjeu2sz1e2cusz1e2geusz1e2gyu2sz1e2lu2sz1erdusz1e2réu2sz1e2vu2sz1isz1u2szodáu2sz1oldu2sz1ö2bu2sz1u2suta2cseluti2n1e2uti2n1iku2t1i2pa2utomatautó2s1ajutó1s2touu2m1é2ruva2r1á2uva2száluva2t1aguza2l1átuza2l1ékuz1i2gyeúci2óképú2cs1a2nú2cs1a2sú2cs1áráú2cs1árfú2cs1áriú2cs1árvú2cs1e2gú2cs1e2lú2cs1e2sú2cs1ér_ú2cs1é2vú2csigazú2cs1infú2cs1intúcs1i2paú2csoktaú2cs1ó2rúde2r1ecúdi2ódarúfé2l1évúk1a2lakú2k1a2póú2k1észrú2k1é2teú2l1á2szú2l1e2reú2l1e2vőú3l2é3vaú2l1i2szú2l1i2taúlövés1súl2t1árnúl2térteúlt1évesúl2t1ő2rú2ly1a2dú2ly1a2lú2ly1a2rú2ly1átlú2ny1a2nú2ny1i2rúr1a2nyaú2rattasú2r1á2riú2s1á2roú2s1á2ruú2s1á2rúú2s1é2réú2s1értéú2s1é2táú2s1é2teússza2k1ú2s1u2gaúsvé2t1eú2sz1a2dú2sz1akcú2sz1á2gú2t1á2t1útá2v1i2ú2t1é2ri1ú2t1i2zúto2r1asúvá2roszúvá2r1ó2ú2zs1a2lüd2v1e2sü2gy1ellü2h1e2leüh1ellenü2h1e2lőü2l1ecseüle2t1anüle2t1asüle2t1á2üle2t1egüle2t1éküle2térüüle2t1orüle2t1ó2üle2t1ö2ül1ette_ül1ettedülé2k1a2ülé2k1á2ü2l1é2réü2l1é2rüülé2s3záül2l1a2nül2t1e2vüs2t1ér_üs2t1éreüs2t1érmüs2t1ö2vü2sz1öntüte2m1a2üte2m1elüte2mértütty1e2güve2g1a2üze2m1u2űcs1i2paűfa2j1e2ű2g1ö2léűholda2dű2n1érteű2s1ajtóűsé2g1elűso2roszűsze2r1áűszere2pű1t2rágáűvé2sz1aűvé2sz1áűvé2szerű2z1értéű2z1ö2köűz1ő2reiű2z1ő2riű2z1ő2röű2z3sugavacs1alava2cs1anva2cs1ü22v1a2dagva2d1aszv1a2datav1a2datbv1a2datkv1a2datov1a2datrva2d1e2lva2d1e2rva2d1e2tva2d1i2tva2g1é2nva2g1oszva2g1ura2v1a2gyúva2j1e2gva2j1ó2svak1a2dáva2k1ó2svallás1s2v1a2nalva2n1e2g2v1a2nyá2v1a2nyóva2r1a2dva2r1a2pva2r1a2rva2r1átfva2r1átmvar2c3hova2r1e2tva2r1é2lva2r1éréva2r1ikrva2r1illva2r1invva2r1i2pvar2k1anvar1k2káva2r1okmvar2t1órva2s1ábrva2s1árlva2s1e2lva2s1e2rva2s1ék_va2s1éknva2s1éreva2s1érvva2s1ingva2s1i2sva2s1ü2tvasz1e2lva2t1a2dva2t1e2vvatmosz2va2t1okmva2t1oldva2t1ö2v2vattakovaza2t1e2v1a2zonváb2b1asváb2b1e2vá2cs1ékvá2cs1isvá2d1a2n2v1á2gazvá2l1a2lvá2l1anyvá2l1á2r2v1állásvál2l1e22v1állomvál2l1ö2vá2m1ér_vá2nyanyvá2ny1apvá2ny1asvá2ny1e2vá2nyérdvá2nyérrvá2nyérvvá2nyérzvány1í2rvá2ny1ó2vá2r1alavá2r1anyvá2r1omlvá2r1ontvár1osztvár2t1esvá2s1a2dváskész1vá2s3zav2v1á2t1övá2z1aljvá2z1altvá2z1a2vvcsőé2neve2g1ellve2g1elrve2g1e2rve2g1eszveg1érteve2gyemb2v1e2ke_2v1e2kei2v1e2kék2v1e2kés2v1e2lef2v1e2lég2v1elhel2v1e2lőí2velőkés2v1elszá2v1elszo2v1elter2v1eltér2v1elvek2v1e2melve2n1e2gve2n1e2lve2n1eszven2t1ülve2r1a2cve2r1a2dve2r1a2gve2r1a2rve2r1e2hve2r1e2lve2r1engve2r1eszve2r1é2lve2r1igave2r1illve2r1incve2r1infve2r1ingver1intever2s1alver2s1í2ver2s1ütvers3zárvers3zenve2r1ü2gves3szer2v1e2szűve2t1á2rve2t1é2kve2t1ingve2t1ű2zvé2d1embvé2g1elgvé2g1elhvé2g1elivé2g1ellvé2g1elsvé2g1elvvé2g1enyvé2g1ér_vé2g1érrvégigaz12v1é2he_2v1é2hen2v1é2hesvé2l1emevé2l1e2rvé2l1é2kvé2n1embvé2ny1egvény1elevény1elsvé2r1a2nvé2r1e2lvé2r1o2kvértes1svés3szervé2s1ü2vvész1á2rvész1ellvé2sz1ő2vész1ülé2v1é2vek2v1é2ven2v1é2véé2v1é2vérvfe2l1emvhang2a3via2szalvia2szélvi2cs1anvi2cs1asvi2cs1ö2vi2d1esz2v1i2gaz2v1i2génvillasz2vi2n1embvin2tessvin2tesz2v1i2rodvi2s1á2gvi2z1ellvínyenc1víz1e2leví2z1ingví2z1iství2z1iszvna2p1in2v1oldó_vona2t1evoná2s3zvó2s1akkvó2s1a2lvó2s1orrvósza2k1vó2s3zárvó2s3zen2v1ö2rökvői3dejűvta2n1ó2vtá2r1órvtelés1s2v1u2tak2v1u2tas2v1u2tatvvágy1óbvverés3swe2b1ele2x1á2ram2x1e2ke_xe2l1embxe2l1eszxi2d1a2lxi2t1e2gxi2t1e2rxu2s1a2ny1a2datay1a2datby1a2datoya2g1a2dya2g1a2sya2g1atlya2g1atoya2g1állyag1á2réyag1á2roya2g1átfya2g1átlya2g1átrya2g1é2gya2g1oszya2g1ó2ry1a2gyaty1a2gyonya2k1állya2k1átkya2k1átmya2k1ér_ya2k1ériyak1i2zoy1a2kol_ya2k1olaya2k1oldya2k1örvya1k2rémyala2g1úya2l1agyy1a2lakjy1a2lakkya2l1a2ly1a2lapíya2lapjáy1a2lapúyal1i2koya2l1invya2l1óráya2m1anyyama2talya2m1árbya2m1árnyam1esésya2m1ikoya2m1i2oya2m1oszya2m1ó2rya2n1e2gy1a2nyuky1a2páray1a2páróy1a2pát_y1a2pátoy1a2pátóy1a2rányya2r1átvyar1ó2ráyasz2táry1a2tommy1a2tomoyá2r1a2ly1á2ramly1á2ramoyá2r1assyá2s1á2gyá2s1ártyá2sz1ályász1ó2dyász1ó2ryá2sz1ö2yá2sz1ü2y1á2t1e2y1á2t1i2ye2d1eszye2g1alayeg1érbeyeg1észny1e2gyeny1e2gyesy1e2kés_y1e2késeye2l1e2hye2lemeky1e2leműye2l1ér_yelé2s3zy1e2l1iny1e2l1í2y1e2lőadyel2v1egyelve2szy1elvevéyel2v1égye2m1a2ly1e2meléye2n1eljye2n1elnye2n1elvye2n1é2lye2n1i2pye2p1aráye2p1állye2p1e2lye2p1é2kyere2k1ay1e2rényy1esemény1e2setby1e2setéy1e2setiy1e2setky1e2setry1e2setűye2s1í2ryes2t1a2y1esztétye2t1értyé2b1ér_yé2k1akayé2k1a2lyé2k1é2kyé2k1é2lyé2k1ér_yé2n1ikryé2r1e2lyé2r1encyé2r1oszy2h1a2dóyi2k1érny1i2rat_y1i2ratayira2t1éy1i2ratny1i2ratoyír1á2szyjob2b1oyk1é2jévyké2p1elymá2s1ikyo2g1oszy1o2k1aly1o2k1iryo2l1a2lyo2l1áriyo2m1a2lyo2m1anyyo2m1árkyo2m1á2zyo2n1a2dyon1a2kayo2n1a2lyo2n1a2nyo2n1a2ryo2n1a2syo2n1a2tyo2n1átéyo2n1átjyo2n1átryo2n1átsyo2n1átvyo2n1á2zyo2n1oszyo2r1a2kyo2r1a2pyó2s1orryö2k1össy1ö2töd_y1ö2tödey1ö2tödéyrádi2ónysza2k1üyszáraz1yta2n1ó2ytá2l1é2y2t1álláy2t1állóyú2l1á2ryú2l1e2ty1ültetéy1ű2zőeny2v1a2dóyv1a2nyayva2s1u2yv1á2raiyv1á2rány2v1á2ruyv1e2gyeyv1e2kéby2v1e2láy2v1eltiyve2r1á2y2v1e2véyv1e2vő_yv1é2lety2v1é2riy2v1érrőy2v1értéy2v1é2rüy2v1érzey2v1illeyze2t1a2yze2téteyze2t1ölz1a2datrza2g1a2dza2g1a2tza2g1oszz1a2gyakz1a2gyarza2j1a2dza2j1átvzakai2koza2k1akaza2k1alvza2k1antz1akaratz1a2karóza2k1atlza2k1á2pza2k1átaza2k1átlza2k1e2gza2k1eleza2k1elnza2k1előza2k1é2lza2k1intza2k1i2p2z1aknákzak1osztza2k1o2vza2k1uráz1a2lapbza2l1e2mza2m1a2dza2m1a2pza2m1osz2z1ankétz1a2nyagza2p1a2gza2p1áraza1p2lánzappa2nez1a2rányza2r1eteza2t1a2dzat1alapza2t1állza2t1áréza2t1eléza2t1erkza2t1é2gzat1i2koza2t1indza2t1ingza2t1intza2t1ist2z1atka_zatmosz2zat1oldaza2t1oszzá2g1áruzá2goltazá2g1út_zá2k1ö2vzá2l1anyzál1asszzá2l1e2gzá2l1e2lzá2l1odazá2m1a2dzá2m1a2lzá2m1a2pzá2m1átlzá2n1oszz1á2raddzá2r1a2lz1á2ramkz1á2ramlzá2r1anyzá2r1atizá2r1att2zá2r1em2z1á2riázá2r1i2kzár2nyálzá2r1oszzá2r1óbozár2t1es2zárunkn2zárunkrzá2s1a2dzá2s1a2rzá2s1á2gzá2s1árhzá2s1árnzá2s1ártzás1ikonzá2s3zavz1á2t1i2zá2z1alazá2z1atozeán2szez1e2csetze2d1ál_ze2d1áljze2d1álnze2d1áltze2d1álvzede2r1eze2g1a2lzeg1észbzeg1észéze2gyenezek1e2gyze2k1ellz1e2kéitze1k2lapze2k1ottzek1övekze1k2reá2zeledelz1e2lefáze2leme_ze2lemekzelem1elze2l1eszzele2ter2z1e2lég2z1eléré2z1elhel2z1elherze2litetz1ellene2z1elnevz1e2lö2lzelő2sajz1e2lőző2z1eltér2z1elvevz1ember_z1emberbz1emberéz1emberhz1emberkz1embernz1emberrz1embertze2m1egéze2m1ellze2m1engze2m1éleze2m1éltze2m1élvze2m1ingze2m1intze2m1oszzen2t1anzen2t1aszen2telmzen2t1ó22z1e2pém2z1e2pésze2r1a2dze2r1ajtze2r1a2nze2r1a2rze2r1a2tze2r1ágaze2r1á2rze2r1á2tze2r1eggze2r1egyz1e2rejez1e2rejüz1e2rejűz1e2reklze2r1emize2r1engzere2p1aze2r1e2rzer1eszkze2resztze2r1e2vze2r1é2jze2r1é2lze2r1i2dze2r1igaze2r1ikoze2r1illze2r1i2mze2r1inaze2r1infze2r1ingze2r1injze2r1inkzer1intőze2r1í2jze2r1oktze2r1oldze2r1ostze2r1oszze2r1ó2rzer1trenze2r1u2tze2r1ü2gz1e2setbz1esetesz1e2setéz1e2setiz1e2setr2z1esésdze1s2tilze2s1ü2vze2szengze2sz1imze2t1alaze2t1á2lze2t1á2pze2t1ellze2t1elrzet1emelze2t1emlzet1e2rózetes1trz1e2tetéze2t1etize2t1é2jze2t1é2lze2tértezet1értőzet1észezet1éterz1e2tikaze2t1ingze2t1ó2rze2t1ö2vze2t1ü2zze2x1i2pzé2d1a2lzé2d1a2rzéd1esemzé2d1eszzé2d1eti2z1é2hes2z1é2jünzé2k1a2dzé2k1a2lzé2k1a2nzé2k1elrzé2k1é2lzé2k1ülézé2k1ülő2zé2le2lzé2l1e2rzé2l1ékhzé2l1istzé2n1árnz1é2nekéz1é2neknzé2n1e2lzé2n1e2rzé2p1a2gzé2p1a2lzé2p1anyzé2p1a2pzé2p1a2rzé2p1á2rzé2p1i2pzé2p1i2szé2r1a2lzé2r1a2nzé2r1eszzé2r1o2k2z1é2rő_2zértelm2z1értékzé2s1e2lzé2s1e2rzé2s1etizé2s1i2kzé2s1ü2tzé2t1a2bzé2t1a2kzé2t1a2lzé2t1a2szé2t1é2nzé2t1o2mzé2t1o2s2z1é2ve_2z1é2vek2z1é2ven2z1é2veszfa2l1ajzfe2l1emzföldié2zgő2z1á2z1g2ráf_z1g2ráffz1g2ráfhz1g2ráfjz1g2ráfkz1g2ráfnz1g2ráfrzházköz12z1igazg2z1i2génzi2k1a2nzik1ékekzi2k1ingzi2k1u2rzi2l1é2jzi2l1ingzi2m1e2gzi2m1e2lzi2n1a2dzi2n1a2lzi2n1a2nzi2n1a2r2z1i2naszi2n1állzi2n1i2mzin2telőzin2teltz1interjz1interpz1intervzin2t1ónzi2n1u2t2z1i2ono2z1i2onszir2t1a2zi2s1a2szi2s1ározi2s1e2gzi2s1e2lzi2s1esezi2s1eszzi2sértezi2s1o2vzi2s1ü2vzi2s3zajzi2t1állzi2t1e2gzi2t1elrzí2n1állzí2n1e2rzínyenc1z2k1alakz2k1állvz2k1értéz2k1oldaz2k1ontózko2r1osz2k1oszlzk1ókortzkö2zelezköz1ellz1k2rétaz1k2rétázkultúr2zlat1anyzle2t1egzle2teszzlet1érvzlo2p1aszmi2n1a2z1o2k1ir2z1o2koz2z1o2lajzo2l1a2lzo2l1ározol1t2rezo2m1a2gzo2m1a2lzo2m1a2nzo2m1a2szo2m1á2r3zombor_zo2m1étezo2m1orszo2n1alázo2n1alkzo2n1anyzo2n1a2rzo2n1állzo2n1átlzo2n1i2ozon2t1eszo2ny1adzo2r1a2dzo2r1a2lzor1t2rezosz2tatzó2d1e2lzókupac1zó2s1ín_zó2szenezó2sz1íj2z1ölnivzör2nyelzör2nyékzör2p1a2ző2ny1erző2nyértző2r1e2cző2r1egező2r1ü2gzpor2t1úzre2d1á22zs1a2dó2zs1aszt2zs1a2ty2zsautó_2zsautónzscsapá2zse2birozse2b1o2zs1e2lőfzs1e2lőr2zsemberzse2r1á2zse2r1ékzsé2ge2l2zs1érte2zs1érté2zs1i2mázs1irato2zs1i2zozsí2r1a22zs1okta2zsugár_2zsugárrzsza2k1üz2t1a2céz2ta2dalzt1a2datz2t1agrez2t1a2kázta2lelez2t1analzta2n1ó2zt1anyakzt1anyaszt1anyádzt1anyámzt1anyáuz2t1anyuzt1a2pánzt1a2pászt1a2pátzt1a2pukzt1asztaz2t1a2utz2t1á2gaz2t1árnözt1árnyaz2tárokkztár1s2pz2t1áthaztá2v1irz2t1e2géz2telemzz2t1eljáz2t1e2loz2t1eltáz2t1eltoztere2otzte2repozte2rillzte2roszz2t1e2róz2t1eszez2t1eszéz2t1eszkz2t1éknéz2t1é2lezt1é2lész2t1é2lőz2t1értéz2t1észhz2t1észnzt1i2denz2t1i2géz2t1illez2t1infoz2t1ing_z2t1ingáz2t1ingbz2t1ingez2t1ingéz2t1inggz2t1intez2t1intéz2t1inváz2t1istáz2t1istez2t1oltózto2lyagz2t1orgizt1ornamz2t1oszlzt1osztáztóigaz1z2t1ó2niztö2rökszt1ö2vezzt1ő2seiz2t1ő2sözt1u2tatz2t1ú2réz2t1ú2riz2t1ú2roz2t1ülészt1ü2zemz2t1ű2rizu2l1enczu2ly1agzu2m1a2dzu2m1é2nzu2m1i2pzumkész1zuskész1z1ú2szászú2tiak_zú2tiakrzű2r1i2zzű2z1érezvárosé2zvé2nyelzzi2n1é2", + 9 : "_ada2t1e2_ak2t1ér__ak2t1orr_ala2k1ö2_ala2k1ő2_aljel1ö2_al2t1a2k_al2t1erj_ar2c3hoz_ál2l1alj_ál2l1alt_ász1á2ré_ász1á2ri_ász1á2ro_bak1aszt_ba2l1e2g_bér2c3sí_bi2t1orr_bo2ly1ó2_bo2r1odv_cen2t1ó2_ce2t1e2l_csa2t1é2_el1emele_el1emels_el1emelt_el1e2més_el1e2sés_el1estél_el1e2vet_el1e2vez_el1é2gek_el1i2mit_el1itta__el1itták_el1ölné__el1ölném_el2v1ég__ég1e2rei_ér2c1e2l_ér2c1é2j_ér2v1ég__észigaz1_fa2r1ont_fé2k1e2l_fil2méré_fol2t1a2_fölül1e2_gesz2t1í_gé2p1i2p_gó2l1e2s_gó2l1iga_ha2l1e2v_há2ny1in_háro2m1e_há2t1alj_inte2r1a_írá2s1ág_járműká2_je2gy1a2_je2gy1á2_job2b1ol_ka2r1á2s_kar2c3se_ka2ró2ra_ke2l1e2g_ké2t1ele_kó2r1é2s_lan2t1ó2_la2p1á2r_la2p1osz_lá2ny1e2_le3g2ali_lé2gy1á2_lé2t1e2l_lé2t1érd_lisz2ter_lom2b1e2_lo2m1é2t_ma2r1ing_masz2k1ö_me2ny1u2_na2p1o2r_net2t1a2_nya2k1e2_nya2k1ö2_ola2j1e2_or2r1alt_para1f2r_pe2r1enc_proto1p2_ra2b1i2z_raj2t1ór_ren2d1a2_ren2d1ő2_ré2m1emb_rés3szer_ré2szell_ro1c2kos_ros2t1e2_sa2v1ara_sza2k1at_sza2k1ás_szá2l1ó2_szeg1ér__sze2r1ág_sze2szeg_szókész1_szó2szak_ta2g1a2r_ta2g1i2n_ta2n1u2s_tár2s1ö2_tár2t1es_ter2v1a2_ter2v1á2_tes2t1öl_to2r1á2l_to2r1odv_tor2z3se_tó2t1ér__tő2r1éss_turnus1s_tú2r1att_tű2z1ért_tű2z1ő2r_üs2t1ölő_ütőkész1_va2d1o2r_va2r1á2s_va2r1ing_va2s1á2g_va2s1i2r_vár1a2dá_vá2r1i2s_ver2s1ég_vé2g1é2k_vér2t1ék_vé2sz1ó2_von2z1e2_za2b1i2naalmanac3a2b1a2rábabá2b1u2ra2b1i2naiada2l1oszada2t1a2nada2t1ár_ada2t1árbada2t1árrada2t1e2gada2t1érdada2t1érőada2t1oldadfo2k1út2afa2j1e2afe2l1e2m2aformátua2g1a2laka2g1a2lapa2g1á2raia2g1á2rakagé2p1i2pa2g1é2pülag2g1a2tya2g1i2oniago2ly1a2ago2n1oszagy1a2gyaa2gy1a2póa2gy1aszóa2gy1é2reahelyü2küa2k1a2laka2k1a2rába2k1a2rákak1a2szata2k1asztrak1á2szána2k1ászuna2k1e2veza2k1é2rőia2k1é2rőja2kértekea2k1értela2k1értetakgerinc1ak2k1a2laakö2z1é2lak2t1íve_akto2r1álala2j1a2da2l1a2kasa2l1akna_a2l1a2kódala2ny1e2ala2p1a2dala2p1á2r1a2lapítvala2p1oszalaszta2lalatát1a2ala2t1e2vala2t1infa2l1attakalá2b1adaa2l1e2mela2l1é2leta2l1é2telal2j1á2roal2k1a2pó3alógusesal2t1alapal2t1é2rőa2m1a2data2m1a2laka2m1a2l1eama2sz1emama2t1osza2m1á2raia2m1á2rakam2b1ászáam2b1e2leam2b1e2tea2m1e2l1ia2m1érteka2m1o2koza2m1u2tasa2n1a2datana2sz1e2ana2sz1í2a2n1á2loman2cs1illan2cs1í2zane2l1e2lane2l1emban2g1a2raangár1a2dan2g1é2nean2k1értéan2sz1á2han2sz1é2pan2t1e2seanti1llátanyag1ár_anyag1árra2ny1á2roanye2lemeany1e2re_any1e2reiany1e2retany1e2rénany1e2rérany1e2rétany1e2révany1e2rőmany1e2rőrany1e2rőta2ny1é2ria2ny1értea2ny1értőapa2t1alaa2p1á2rada2p1á2raka2p1i2nárapor2t1ő2a2p1u2tasar1a2dataar1a2datoar1a2datrar1ajkáróa2r1a2kolarasz2t1ea2r1á2csia2r1á2ga_a2r1á2gaia2r1á2gaka2r1á2gata2r1á2guka2r1á2guna2r1á2rakarcolás1sa2r1eszekaré2k1a2laré1sz2táa2r1i2na_a2r1i2nasa2r1i2nata2r1i2nába2r1i2náha2r1i2nána2r1i2nára2r1i2náta2r1i2návar2m1a2gya2r1ó2raka2r1ó2rája2r1ó2rámaró2s3zárar2t1állaart1e2reiar2v1á2ria2s1a2kara2s1a2lapa2s1aljánasá2g1ikra2s1árnakassz1íve_assz1ívekassz1ívnea2s1u2tasasza2t1a2aszá2radaasz1árnyéa2sz1á2toaszegész1asz1e2lema2sz1erejaszé2k1elasz1é2letaszé2n1éga2sz1é2reasz2t1apoasz2t1embasz2t1ingasz2t1oltasz2t1oroasz2t1orrasz2t1osza2t1akaraata2k1ö2va2t1almásat1a2nyagat1a2nyása2t1a2raba2t1a2réna2t1á2polatá2s1á2ga2t1e2l1aat1e2l1enaté2k1a2la2t1érdeka2t1értelat2i3mádáa2t1o2koza2t1ó2rákató2s3záratré2szelatszá2m1éatszáraz1a2v1a2nyaa2v1á2riáawhiskyk2ábe2l1e2rá2b1é2lesá2b1ujjalá2cs1á2taá2cs1ille1á2csolatá2f1a2gyaá2g1á2riaá2g1át1a2á2g1i2na_á2kelleneá2l1akna_á2l1a2nyaál1a2nyáiál1a2nyánál1a2nyává2l1a2posála2sz1ékála2t1ér_á2l1á2rakálé2k1e2lá2l1i2onbá2l1i2ontál2l1a2dóál2l1a2páálla2t1e2álla2t1orálla2t1ö2á2l1o2ka_á2l1o2kai1á2l1o2kuá2ly1é2neáma2sz1áláma2sz1ü2á2m1á2raká2m1értelámo2r1á2lámo2r1odvámva2s1u2ána2t1ér_án2c1á2roáno2n1i2mány1á2rasá2ny1á2ráá2ny1á2roányegyez1á2ny1é2neá2ny1érteá2ny1értéá2p1a2dot1á2radatrá2r1a2kadá2r1a2kasá2r1akna_á2r1alja_ára2t1infá2r1á2rakár1á2t1e2ár2ny1anyár2ny1eleá2r1o2kozá2r1ó2rakár2s3zeneárt1a2risár2t1á2ruár2t1érteár2t1oktaá2s1a2kará2s1á2gigá2s1i2ratász1a2kolászá2r1asász1á2rihá2sz1á2rúászeb1édeá2sz1e2réá2sz1é2neá2t1á2radá2t1á2rai1á2t1ásásáté2k1a2láza2t1a2láza2t1ér_áza2t1érvá2z1á2raiá2z1á2raká2z1á2ramá2z1á2rasá2z1á2ratá2z1árjábá2z1árjává2z1á2t1áá2z1i2koná2z1i2parba2b1asztba2b1ácsiba2b1á2ro2b1a2datoba2j1á2ruba2j1á2toba2k1a2póbal2l1é2lban2k1a2dban2k1a2lba2t1estibáj2t1a2kbá2ly1a2nbá2ly1á2zbár1u2ra_bá2s1á2ré2b1á2t1e2b2b1e2kén2b1e2kétőben2n1e2rbe2ny1e2gbere2k1egbe2r1ekékbe2relődöbe2r1előnbe2r1e2mébe2r1e2péber1e2szü2b1e2szet2b1e2szétbesz2t1a2beteg1ér_beté2telkbé2r1előibgyö2k1öl2b1i2nat_bla2k1átmbla2k1áttble2t1a2nble2t1e2lble2t1érdble2t1étkbletigaz1blok2k1ö2bok2sz1álbok2sz1inborfi2úkébo2r1i2kobrá2sz1álbtermosz2bu2sz1árnbu2sz1é2pca2l1este2c1á2szai2c1á2t1a22c1á2t1i2c2c1ember2celődöt_2c1e2melőcep2sz1a2cep2t1ér_cer2t1e2lcer2t1embcer2t1estces2t1é2jce2t1esszcé2g1esemci2n1e2recin2k1a2lci2ó1s2kácké2p1e2lco2s1o2ku2cs1a2dat2csapósabcsa2t1ó2rcsavar1a22cs1á2rak2csátásás2cs1e2ke_2cs1ember2cs1e2melcsen2d1ő2cse2n3yen2cs1i2na_cson2t1a22d1akkorada2l1aktada2l1aktá2d1a2lapúdal1á2rakda2l1é2neda2l1i2koda2l1i2nuda2r1a2dódar2d1a2lda2t1a2lada2t1áraddatá2rammdatá2ramrdat1e2l1éda2t1értéda2t1érthdá2ly1a2ndá2ny1a2ddá2ny1a2n2d1á2ria_dá2s1áraddá2s1á2rude2kellende2k1érté2d1e2legydelem1ele2d1e2lemű2d1e2lemzdele2t1a22delkezdé2delkezdődel2l1e2gdel2l1ele2d1ellenedel2l1entdel2l1é2jdel2l1é2k2d1e2lőkadenkié2ne2d1e2rejede2r1e2sőder1ültetdezőkész1dékkulcs12d1é2neke2d1é2ves_2d1é2vesh2d1é2vesn2d1é2vessdi2cs1e2r2d1i2gáná2d1i2konh2d1i2naka2d1i2pará2d1i2pari2d1i2parodnö2k1ö2ldola2t1ördo2m1ártódo2r1a2l1do2r1á2lo2d1ö2röks2d1ő2r1indrá2sz1áldren2d1ő21d2ressz_1d2resszb1d2ressze1d2resszh1d2resszk1d2resszr1d2resszüdtal2p1aldta2n1á2sdu2s1értéd2v1e2séseá2ny1a2leá2ny1a2neá2ny1ér_eá2ny1inge2b1e2lefebe2l1emee2b1elhele2cs1a2laecsúszós1ede2r1ü2lede2t1ér_eélőkész1eépítés1sefek2t1í2efo2n1alkefor2m1ale2g1a2szae2g1a2szoege2cs1ö2e2g1e2késeg1e2lembege2l1e2sege2lőbbee3gelőnyee3g2eltete2g1esetee2g1u2ra_e2g1u2raie2g1u2rake2g1u2rase2g1u2rategvárosi2egy1e2lőjegy1e2lőveí3rásonkej1á2t1e2ej1e2lemée2j1elhelej2t1estee2k1ajtó_e2k1ajtóie2k1ajtóke2k1ajtóne2k1ajtóre2k1ajtóte2k1á2rone2k1e2gyee2k1e2kése2k1e2lege2k1e2meleke2szeleek1értékbe2k1é2ve_e2k1é2vekekor2d1á2el1a2borte2l1a2kase2l1ember1e2lemem_1e2lememm1e2lemes_1e2lemesn1e2lemünkele2p1ő2re2l1esnéne2l1esséle2l1ettéke2l1é2rede2l1é2reme2l1é2reze2l1é2tesel2l1a2dáel2l1a2dó1ellátáso1ellátásüelle2g1ó21e2lőkést2e3lőzeneeltár1adaelügy1ér_elügy1érne2l1ültetel2v1áraiel2v1árasel2v1áráre2ly1i2koe2m1e2kése2m1embere2m1e2melem1e2setée2m1e2sésem1e2szeme2m1é2he_e2m1é2hene2m1é2hese2m1é2teke2m1étel_emfo2gadaen2d1értőené2sz1ineni2sz1ó2en2s1értéen2t1a2laen2t1a2nyen2t1á2rúen2t1elméen2t1esteen2t1estéen2t1estieny1e2dzée2ny1e2rőeny2v1e2le2orgi2ábe2p1á2t1éep1e2lemre2p1e2letepe2r1e2cep2p1e2lee2r1a2kade2r1a2kasera2szárner1á2t1e2er2c1i2páe2r1e2gerere2k1ú2se2r1e2lege2r1ellenere2m1emberem1értéere2t1erj1e2rezet_1e2rezetee2r1é2reneré2s1elve2r1é2veke2r1é2vese2r1é2vete2r1é2véne2r1i2dege2r1i2kone2r1i2parerme2k1a2erme2keszerme2sz1áer2s1á2gier2s1értéer2s1értőertár1adaer2t1elkéer2t1événer2v1á2ruer2verezeessz1életes2t1a2nyestapolc1es2t1a2raes2t1estees2t1esties2t1é2rüe2sz1é2riesz2t1alaesz2t1aljesz2t1árnesz2t1e2vesz2t1ér_esz2t1ó2resz2t1őr_e2t1á2radete2g1e2le2t1e2ke_e2t1e2keie2t1e2keke2t1e2kése2t1elérée2t1eligae2t1elméte2t1elneve2t1elteret1eltéríe2t1elveze2t1embere2t1este_e2t1esztéete2t1ér_1e2tetésneté2k1e2le2t1é2ré_e2t1é2réne2t1é2rére2t1é2réte2t1é2rőse2t1értele2t1é2vene2t1é2vete2t1é2véhe2t1i2szaetta2n1ó2evé2l1e2levé2r1embevízi2óéte2z1e2melezen2t1e2eze2t1e2leze2t1eszeze2t1ér_ezéskész1ezi2s1égéezős1orraé2c1e2lemé2c1emberé2c1e2melé2d1e2ke_é2d1e2l1aég1á2t1e2é2g1e2késé2ge2lemeé2g1ellené2g1e2lőaé2g1e2lőné2g1elszíé2g1eredeé2g1é2rezégszáraz1é2gyelemeégye2sekéé2j1e2lemé2k1á2raké2k1e2késé2k1e2legék1e2lemeék1e2leméé2k1ellené2k1eltéré2k1e2melé2k1e2recé2k1e2reié2k1e2rezé2k1e2teté2k1é2remé2k1é2rené2k1é2rő_é2k1é2rőié2k1é2rőké2k1é2ve_é2k1é2veké2k1é2vébé2k1é2véné2k1é2vété2k1é2vévé2k1o2lajé2k1u2tacé2k1u2také2k1u2taséle2k1e2lé2l1e2késé2l1e2legé2l1e2lőké2l1e2séséle2t1e2léle2t1e2réle2t1ér_éle2t1érdéle2t1étnéle2t1ű2zé2l1é2reté2l1é2v1áé2l1é2vesé2l1é2veté2l1é2véré2l1i2száé2l1u2tasé2lyülteté2m1e2ke_é2m1e2késé2m1eseméé2n1a2tomé2n1á2rakéne2k1é2jéne2t1e2lé2ny1e2dzé2ny1elváé2ny1e2rőé2ny1e2sőé2ny1esszé2ny1estéé2ny1e2szé2ny1é2rié2ny1értéé2ny1é2rüé2ny1é2teé2ny1i2koé2ny1ü2lőé2p1e2késép1e2lembép1e2lemré2p1e2liné2p1ellené2p1eltéré2p1e2seré2p1e2sésép1e2teteér1á2t1a2ér1á2t1á2ér1á2t1e2ér2d1i2náére2g1e2ré2r1e2legé2r1e2lőaé2r1e2lőlé2r1e2lőné2r1e2mésére2t1ér_é2r1é2jétérfo2g1ósérle2t1ölér2v1á2gyér2v1elemé2s1e2ke_é2s1e2keié2s1e2késé2s1e2melé2s1é2gébé2s1é2gééé2s1é2gévé2s1é2hené2s1é2remé2s1é2rené2s1é2rő_é2s1é2rőké2s1é2rővésza2k1ázé2sz1e2gyésze2k1a2é2sz1előrész1emberész1e2rezész1e2rénésze2t1akésze2t1öré2sz1é2teé2sz1intééte2g1elvé2t1e2ke_é2t1e2keiéte2l1e2léte2l1ér_é2t1e2lőléte2l1ő2ré2t1e2melé2t1estüné2t1é2rené2t1é2rőté2t1é2vesétro2m1é2ézkar2c3hfa2j1á2rufa2j1egysfa2l1a2dáfa2l1a2dófa2l1a2kófa2l1á2rofa2l1elemfal2s1ín_2f1a2nya_fa2r1a2dáfa2r1a2kófa2r1e2pefa2r1okkefa2sz1ív_fán2t1a2gfázi2s1ágfek2t1embfe2l1e2dzfe2l1elevfe2l1e2refe2l1esésfe2l1esikfe2l1esnife2l1e2sőfe2l1estefe2l1estüfe2l1e2szfe2l1érenfe2l1étetfé2ny1e2gfé2ny1e2lfé2ny1e2rfére2g1e2fió2k1a2lfohá2szatfona2l1e2fon2t1i2nforakész1for2m1e2lfor2t1e2lfor2t1érdfron2t1a2fron2t1e2futókész1füs2t1ülé2g1a2data2g1a2datbgale2g1e2ga2m1a2gá2g1a2ránygács1a2vagán2cs1ö2gá2ny1a2n2g1á2rulá2g1á2rulógá2s1áradgá2s1á2togászkész1gá2t1oldagá2z1á2rogcsa2p1ág2g1e2kés_2g1e2lemm2g1e2lemz3g2elések3g2elésen3g2elésén3g2elésér3g2elési_3g2elésrő3g2eléstő3g2előker3g2előket3g2előkez3g2előkén2g1előkés3g2előrés3g2előszage2ly1e2gge2r1i2nage2r1ü2lé2g1e2s1er2g1e2setb2g1e2seté2g1e2setr2g1e2sett2g1e2szekge2t1a2nyge2t1é2rügetőkész1gé2ny1e2g3gészítőügfa2l1adagfö2l1üleghajói2kogké2p1e2lgkia3dónágle2g1elégle2t1étngne2m1e2lgo2l1ó2rágom2b1árngom2b1ártgo2n1a2togon2d1ér_gó2s3zárágra2m1a2rgrá2r1i2pgren2d1ő2gtá2r1adagtermosz2gtű2z1ő2rgu2s1érté2g1ú2t1á22g1ú2t1e22g1ú2tinagvezé2rel2gy1a2nya2gy1a2pángya2r1ó2r2gy1á2rok2gy1e2kés2gy1e2mel2gyezrede2gy1i2rat2gyódásak2gyötödne2gyötödötgzá2r1ó2rha2d1ú2réha2d1ú2riha2j1á2toha2l1aszaha2l1aszáha2l1aszóhalá2l1e2hal1á2rakha2l1á2roha2l1e2sőhal2k1elehal2l1á2tha2l1ó2rihara2g1ó2határ1adahá2ny1a2l2h1ászka_há2t1a2lahá2z1a2dóhá2z1á2ruhec2c1embhe2ly1é2jher1át1a2hi2abeliehi2t1e2gyhi2t1értehi2t1é2tehol2d1ó2rho2n1á2toho2n1o2rohó2d1a2ráiá2ny1a2li2d1i2onoi2d1i2ontidí2j1adaie2r1isteifenyőé2higa2ny1esig1á2t1e2ije2gy1á2ike2r1e2like2t1ültilla2g1ó2il2l1esteil2l1estéil2m1értéimi2t1á2r1i2nakat_in2cs1e2rin2cs1é2jin2cs1ér_inge2r1ési2n1i2ma_in2t1aktuin2t1á2ráin2t1e2gyin2t1e2nyinte2t1ősintőkész1io1g2ráf_io1g2ráffio2n1osztio2r1i2koió2k1asztip2sz1embira2t1any2i3ratillirá2g1átoirá2g1ó2ri2s1á2rakis1á2t1a2i2s1e2ke_iségkész1i2s1istenissz1eremi2s1ü2tőtisza2p1á2isz2k1ö2viszt1árasisz2t1árbisz2t1éknisz2t1ér_isz2t1illisz2t1őr_is3zűrödni2t1á2rami2t1á2riaitáskész1ite2l1ér_i2t1ellenit2elmélyi2t1e2meli2t1e2rezi2t1é2retitta2n1ó2it2t1i2naiva2t1a2ni2z1e2lemizele2teli2z1e2léri2z1e2lőíi2z1eseméi2zs1embeí2m1é2hetí2m1é2rő_í2m1é2rőiín1á2t1a2í2n1e2ke_í2n1e2lőhí2n1e2melíné2szintí2n1é2veníráskész1ír1á2t1e2í2r1e2késí2r1emberí2sz1e2lőítá2s1á2gíté2k1a2líté2k1e2líté2s1ég_íté2s1égrí2v1á2ramív1e2lembív1e2lemeív1e2leméív1e2lemrí2v1emberí2v1eseméí2v1e2tetí2z1é2rení2z1é2r1i2j1a2datoja2k1ölts2j1a2szás2j1ág1a2d2j1á2radajá2s1árakját1a2dó_ját1a2dótje2gy1é2kjek2t1á2rjek2t1e2lje2l1emel2j1e2lemzje2l1esnije2l1e2sője2l1etet2j1e2lőfe2j1e2lőtuje2n1ő2re2j1e2setb2j1e2settjezőkész1jégár1a2djítókész1jko2r1á2sj2l1a2lapjó2s1o2dojsa2v1ón_jsa2v1ó2rjszabás1sjt1a2nyagj2t1á2rakj2t1e2ke_j2t1e2legj2t1orjábju2sz1a2vj2z1á2radj2z1á2ránjzscsa2p12k1ablak_2k1ablaka2k1ablakb2kablakos2k1a2dóso2kalapítv2k1a2nya_2k1a2nyag2k1a2nyaika2r1a2kókar1a2lapka2r1ácshka2r1ácsnka2r1ácst2k1a2rányka2r1i2koka2r1ing_2kasszony2kágacskaká3gacská2kállamtiká2ny1a2lká2ny1a2n2k1á2polá2k1á2rakrkárpszic3ká2s1á2goká2s1árakká2s1á2ráká2s1á2ro2k1á2sásá2k1á2száb2k1á2szát2k1á2szom2k1e2lekt2k1e2lemn2k1e2lemzkele2p1ü2ke2l1e2séke2l1eszekele2t1el2k1e2l1í22k1ellent2k1e2lőttke2ly1éknkende2rülker2csell2k1e2regekere2k1egkerekes3sker2t1esz2k1e2sett2kesítőstkes3széke2k1e2tetékezőkész1ké2ly1eszké2ly1ü2l2k1é2neke2k1é2nekh2k1é2neki2k1é2nekkké2ny1e2gké2ny1elvké2p1e2lőké2p1eltéké2p1ü2léké2p1ü2lő2k1érdeke2k1értéke2k1értékh2k1értékn2k1értékrkértő2ikéké2t1estékfolyói2kkhelyköz1ki2s1ajtóki2s1i2raki2s1orosk2k1a2kadkka2ró2rakke2l1e2gk2k1e2lemkla2p1átaklá2m1e2gklá2m1ér_klá2m1i2kkle2t1a2nkle2t1elvkle2t1e2rkle2t1e2vkle2t1ér_2k1o2k1irkom2p1ér_ko2r1asztkor2d1a2skor2d1e2lko2r1intekotókész1kozókész12k1ó2ságúkó2s3záraköl2cs1ő2köl2t1e2vkörü2l1etkö2r1üléskö2r1ülő_kö2z1ü2lékö2z1ü2lőkren2d1ő21krokett_ksé2g1ülék2sz1e2gykta2n1á2sktá2r1adakte2r1e2lk2t1é2vetk2t1i2vásku2sz1é2lku2sz1é2p2k1u2tasíky2fajtánky2fajtárky2fajtátlac2k1orr2l1a2data2l1a2datb2l1a2datk2l1a2datn2l1a2dato2l1a2datr2l1a2datt2l1a2datula2g1ó2rála2k1a2lola2k1ú2tola2n1á2rálan2d1ér_lany1a2lalany1e2rőla2ny1í2rla2p1o2kula2sz1abllasz1alt_2l1a2szatla2t1a2rola2t1áradla2t1á2réla2t1ártóla2t1á2rúla2t1e2vőla2t1é2réla2t1é2rőla2t1i2kola2t1otthla2t1ö2vö2l1attakolá2g1á2rolá2g1á2to2lálmunkb2lálokaih2lálokain2lálokairlá2l1o2ko2lálokonklán2k1e2llán2k1ö2vlá2ny1ér_lá2s1áraklá2s1á2rálá2s1á2rélá2s1á2tolásegyez1lá2sz1e2mlászkész1lá2t1e2relá2z1adotl2cs1értél2cs1érvél2cs1é2tel2cs1i2pald1a2datolda2l1e2glda2l1é2ll2d1e2kékl2d1e2kénl2d1e2l1al2d1e2lőhl2d1emberl2d1e2mell2d1é2jérle3g2előale3g2előjle3g2előtle3gelőzele3g2elvéle3gesen_le2g1e2szle2k1értő2l1e2kés_2l1e2lekt2le2lemeklele2t1a22l1e2l1ér2l1e2lőél2l1e2lőfo2l1e2mel_2l1e2meld2l1e2melg2l1e2meli2l1e2meljl1emellek2l1e2meln2l1emelő_2l1e2melüle2m1esszle2m1e2ti2l1e2mésslen2g1e2llen1t2renlep2p1elvle1p2rése2l1e2setélese2t1o2le2t1e2la2l1e2teté2l1e2teth2l1e2tetj2l1e2tetvle2t1é2rile2t1értőlet1é2rüllet1é2té_leté2vedele2t1évéilé2k1a2lalé2k1e2szlé2k1é2telélőkész12l1é2rez_2l1é2rezv2l1é2teth2l1é2tetnlé2t1é2te2l1é2vet_lfé2l1é2vlgatói2kol2gy1e2lel2gy1esem2l1i2ker_2l1i2kerblik2k1elllik2k1elvlik2k1e2r2l1i2konc2l1i2konf2l1i2kong2l1i2konk2l1i2konm2l1i2konp2l1i2konslin2cs1ö2ling2rádilké2p1elllkö2z1ön_lla2g1a2sl2l1a2laplla2t1ár_lla2t1árblla2t1oltllán2k1e2llá2s1ikrl2l1e2késl2l1e2lőal2l1e2lődlle2m1e2glle2m1ér_lle2n1ő2rl2l1e2sőtl2l1e2vetl2l1é2jekllé2k1apsl2l1é2terl2l1ő2ze_lmá2ny1útl2m1emberlm1e2setélo1g2ráf_lo1g2ráfflo2k1á2rolok2k1alalom1a2laplo2m1á2rolo2m1okozlőgé2p1iplőko2r1útl2p1a2lapl2p1a2lávlsa2v1a2ml2sz1e2gűlta2l1á2slta2l1á2zltár2s1ágltá2s1á2glté2s1é2gltsé2g1ellu2s1érté2l1ülhet_2l1ülhets2l1ültet_2l1ültete2l1ülteti2l1ültetj2l1ültetn2l1ültett2l1ültetü2l1ültetvl2v1a2ráslvá2gy1ónl2v1állatl2v1á2rull2ve2lemel2v1é2gésl2vérzési2ly1a2kas2ly1á2rad2ly1á2rak2ly1á2ram2ly1á2rat2ly1e2kéb2ly1e2mel2ly1esemé2ly1e2séslyszá2m1élyze2t1ellze2t1e2llze2t1ér_lző2s1orrmadókész1ma2g1a2dáma2g1a2dóma2g1a2duma2g1aszamagkia3dó2m1a2kol_2m1a2lapí2m1a2nya_2m1a2rányma2r1i2simar2k1ó2rmasz1e2mematá2rakamat1á2rárma2t1á2rúma2t1értemazókész1má2ny1a2dmá2ny1a2gmá2ny1akamá2ny1a2lmá2ny1ér_má2r1i2simá2s1á2rám2b1a2lagm2b1a2nyam2b1á2ronm2b1ásznámbe2r1a2gmber1eszűmbe2r1é2sm2b1i2na_m2b1i2naim2b1o2rozmede2r1e2me2g1esemme2g1e2teme2k1eszemek1eszteme2k1érteme2k1értéme2k1ü2léme2k1ü2lő2m1e2leme2m1e2lemz2m1e2l1érmel2l1ér_mene2t1á2men2s1é2gmen2t1ell2merezőkh2m1esemén2m1e2sett2m1e2sésé2m1e2séshme2t1e2gy2m1e2tetéme2z1é2rime2z1ő2römé2ny1e2gmé2ny1e2lmé2ny1ülémfog1adatmgé2p1e2lmhossz1útmin2k1a2lmiri2gyelmjo2g1á2smla2p1áromlé2k1ér_mo1g2ráf_mo1g2ráffmo1g2ráfkmo1g2ráfnmo2r1iszo2m1orjaitmöl2cs1esmöl2cs1ilmpor2t1almpor2t1e2mren2d1ő2mtá2r1adamu2s1értémus2t1erjmu2t1á2ramu2t1á2ruműtőkész1m2v1a2dotmze2t1e2gmze2t1é2kmze2t1érdna2gy1a2lna2gy1é2kna2l1a2dó2n1a2lapa2n1a2lapdna2l1á2ronal1á2t1ö2nalízisb2nalízise2nalízisé2nalízish2nalízisi2nalízisk2nalízisn2nalízisr2nalízist2nalízisü2n1a2mite2n1a2mitg2n1a2mitk2n1a2mitp2n1a2nyagna2p1ostá2n1arany_2n1aranytnarchi2abnaszkész1na2t1á2ré2nácsolatnállóköz12n1á2raka2n1á2rakb2n1á2rakh2n1á2rakk2n1á2rakn2n1á2rako2n1á2rakr2n1á2rakt2n1á2rat_2n1á2riainá2s1á2ru2n1ászka_2n1ászoks2n1á2t1irn2b1é2kébn2b1é2kénn2b1é2kérn2b1é2kévn2c1i2na_n2cs1á2ráncs1é2résn2cs1érténcs1i2konn2cs1í2rán2cs1ö2lén2d1e2kébn2d1ellenn2d1e2sésn2d1e2szün2d1i2na_n2d1i2onjnel1e2més2n1e2lőké2n1e2lőténen2s1ese3n2e3rőküne2s1aljá2n1e2setb2n1e2setrne2t1a2nyne2t1előane2t1etetne2t1értőne2t1é2rüne2t1i2ko2n1é2geté2n1é2nekéné2sz1e2lné2sz1embnészkész1n2g1a2datn2g1a2ránn2g1árnyan2g1á2szén2g1á2zójn2g1á2zósnger1e2szngy1a2gyangya2l1ó2n2gy1ü2lőnhá2z1altni2k1érté2n1ikrit_nin2g1e2lni2sz1é2lniu2m1i2onla2p1osznla2t1a2nn2n1e2tetnny1elveznny1e2sésnö2k1érténőfé2l1é22n1ő2r1annpon2t1a2n2s1á2raknségü2kétntá2r1a2dn2t1ellenn2t1embern2t1e2meln2t1é2kekn2t1é2lésn2t1é2venn2t1é2vetn2t1é2vébn2t1é2vénn2t1é2vérn2t1é2vétntil2lát_ntranszk2ntszá2m1énu2s1érté2n1ü2gye_2n1ü2gyei2n1ü2gyek2n1ü2gyes2n1ü2gyetnvá2gy1ónnvé2d1ő2rnya2k1alanya2k1é2k2ny1a2lag2ny1alász2ny1á2rad2ny1á2rai2ny1á2rak2ny1á2ram2ny1á2rat2ny1e2lőőnyel2vesz2ny1eseményé2r1e2s2nyifjúkénykar1óra2ny1o2laj2ny1oltár3nyomatom2ny1ű2ző_n2z1á2radn2ze2lemen2z1e2lérn2z1e2lőán2z1e2lőln2z1e2lőtn2z1elvern2z1e2melnzer2t1a2n2z1é2remobal2t1a2odáskész1odu2l1a2lofi2l1igaofi2l1igáofi2l1oszofo2n1ér_ofor2m1á2o2g1a2ranoga2t1a2goga2t1i2no2g1á2rako2g1árjáto2g1á2rokogáskész1o1g2ráffaojek2t1á2ojek2t1í2ojek2t1o2o2k1a2dato2k1a2karo2k1á2rakok1ernel_o2k1oltásoko2n1oksola2t1alaola2t1infola2t1í2vola2t1orno2l1á2riaol2l1e2gyolóe3dénno2m1a2gyao2m1á2raio2m1á2t1eom2b1a2loo2m1e2redo2m1e2reio2m1ezredo2m1i2onoomká2rok_omlá2b1útom2p1u2táona2l1e2so2n1á2rako2n1á2szaon2cs1ér_onká2rok_on2t1i2koo2ny1é2neo2p1á2ratopáskész1opor2t1a2opor2t1á2opor2t1e2o2r1á2rako2r1i2ma_o2r1i2na_o2r1i2náno2r1i2nátorin2t1a2o2r1i2száorma1t2reorogkész1o2r1ontó_o2r1ontóbor1ontóigo2r1ontójo2r1ontóno2r1ontóro2r1ontóto2r1ontóvor2s1é2neors1é2tátort1á2ramort1á2ránort1á2rárort1á2rukor2t1á2rúort1e2lemor2t1oktao2r1ú2tonossz1á2roosza2t1e2o2sz1o2roosz2t1almosz2t1apoosz2t1árnosz2t1éréosz2t1oszoto2n1in_otó2p1oszotó2s3zárova2g1i2no2z1i2parozóegyez12ozófiája2ozófián_2ozófiána2ozófiát_2ozófiátó2ozófiávaóalmanac3óát1a2dó_ógé2p1i2póhá2z1adaóje2gy1á2óker1esteóké2p1e2lóko2r1á2sóku2sz1áló2l1a2pálóla2p1oszó2m1i2onoó2m1i2ontó2n1apábaó2r1a2tomó2r1e2setó2s1arcotóscsap1á2ó2sz1e2gűószé2n1é2ótá2r1adaóvárosi2hóza2t1a2lö2cs1é2teö2d1é2vesö2g1e2kéiö2ge2lemeöké2r1e2lö2k1é2rezö2k1é2résö2k1é2ve_ö2k1é2vekökőár1a2döl2d1a2laö2l1é2kesö2l1é2redö2l1é2rekö2l1é2tetö2m1emberöm1é2nekböm1é2nekhönbé2két_ön2d1értőö2n1é2vérö2n1é2vétönny1e2dzönségü2kéöny2v1a2löny2v1á2röny2v1e2göny2v1eszöny2v1ér_öny2v1illörcskész1ö2r1énekeöré2t1e2gör2k1öltőör2zs1e2lösz2t1ellötve2n1ezöve2t1é2löve2t1üléöze2t1é2közé2k1e2löz1é2let_ő2cs1é2rüő2d1a2lapőéne2kestőfa2l1a2dőgé2p1e2lője2gy1á2őjob2b1olőjogá2sziőőr2s1égbőőr2s1égnőpárba2joőraj2t1ólőren2d1ő21ő2r1o2liő2r1összeő2s1ajtókősé2g1e2lőszi2l1i2őtermosz2őz1á2t1e2pak2t1e2lpak2t1e2vpak2t1or_pak2t1orrpa2p1a2papa2p1asztpa2p1o2ku2p1a2rany2pa2r1a2rpar2k1a2lpar2k1ingpar2k1ö2vpa2t1érte2p1atkánkpa2t1otth2p1á2gya_2p1á2gyac2p1á2gyadp1á2gyakbp1á2gyako2p1á2gyal2p1á2gyam2p1á2gyan2p1á2gyáb2p1á2gyán2p1á2gyáv2p1á2gyospá2ny1a2lpá2ny1a2npár2t1ér_pbé2r1e2l2p1e2gese2pe2lemek2p1e2lemé2p1e2lemg2p1e2lemh2p1e2lemi2p1e2lemk2p1e2lemm2p1e2lemn2p1e2lemz2p1e2lőjá2p1ennyi_pe2ny1e2lpe2ny1e2rperegyez1pere2mértpe2r1i2nape2r1i2nápe2s1ebbő2p1e2sésű2p1esszévpe2sz1elvpe2sz1ü2l2p1e2tető2p1e2tikapél1elmei2p1é2nekb2p1é2neké2p1é2neki2p1é2nekk2p1é2nekn2p1é2nekr2p1é2nekt2p1é2neküpé2sz1embphelyü2küpin2g1á2r2p1i2parápiszkos1spla2p1oszple2t1a2nple2t1e2l2p1o2k1irpon2t1a2dpon2t1a2lpon2t1ér_pon2t1étepor2t1ér_por2t1érkpor2t1i2kpor2t1uszppa2n1ellp2p1á2rokp2p1e2kéhppin2g1e2p2p1o2romppor2t1e2ppor2t1ő2prí2m1e2lpta2n1á2sp2t1e2ke_pu2s1értépu2s3zár_pze2t1e2rra2b1i2nárafikus1sra2j1á2ruraj2t1e2l2r1a2kara2r1aljai_ral2l1akóransz1ombrany1a2lara2ny1a2nr1a2nyáitr1a2nyákar1a2nyákhr1a2nyákkra2ny1e2s2r1arany_2r1aranytra2sz1ablra2sz1árrra2sz1éttrasz2t1elra2t1áradrá2k1eredrá2ly1a2nrá2ny1a2drá2ny1a2nrá2ny1ár_rá2ny1í2rrá2s1áradrá2s1árakrá2s1á2rárá2s1á2rér2c1emberr2c1i2nátr2cselemer2d1a2nyar2d1i2na_r2d1i2nairdő2s1orr2r1e2cset2r1e2dzők2r1e2dzőt2r1e2gyes2r1e2gyezre2k1e2rőreke2sz1á2r1e2kénkre2k1érte2r1e2kés_2re2leme_2re2lemek2relemem_2relememmrele2m1er2relemes_2relemesnre2lemezé2relemünk2r1elmééé2r1elméi_2r1e2lőad2r1előnye2reltettk2r1eltéré2r1e2l1ül2r1elvéne2r1ember_2r1emberb2rembered2r1emberé2r1emberh2r1emberi2r1emberk2r1embern2r1emberr2r1embert2r1emberürem1e2lemre2m1é2teren2d1e2rren2d1ő2s2r1e2per_2reposzt_rep1osztó2r1e2szetresz2t1anresz2t1árresz2t1os2r1e2szűere2t1a2nyrete2sz1á2retetésn2r1e2tikaret2t1est2r1é2leteré2m1é2ré2r1é2nekh2r1é2neki2r1é2neküré2ny1e2lré2sz1emlré2sz1é2kré2szinteré2sz1ülőré2t1e2sz2r1é2tetőrgő2z1öltr2gy1alapr2gy1algárhá2z1adaril2l1e2h2r1i2nasá2r1i2naso2r1i2nastrin2t1ér_rin2t1érérin2t1éri2r1i2pará2r1i2szákriumhidr1riu2m1i2orítőkész1rka2s1ü2vr2k1e2reir2k1e2rezrké2p1e2lrké2p1éssrla2p1oszrla2t1a2nrlegigaz1rle2t1előrle2t1ér_rle2t1érvr2m1a2nyarme2k1e2lr2m1e2rőir2m1e2rőmrmé2k1e2lr2nyalakoro1g2ráf_ro1g2ráffroligarc3rol2l1a2drol2l1akn2r1o2lyai2r1o2lyáh2r1o2lyán2r1o2lyár2r1o2lyukro2m1a2roro2m1á2riro2m1á2roro2m1é2nero2n1i2koróke2restróke2r1in2r1ó2ráé_2r1ó2ráév2r1ó2ráka2r1ó2rákb2r1ó2ráké2r1ó2rákk2r1ó2rákn2r1ó2ráko2r1ó2rákr2r1ó2rákt2r1ó2rán_2r1ó2rána2r1ó2ráná2r1ó2ránk2r1ó2rány2r1ö2böl_2r1ö2bölnrőgé2p1ésrősza2kálr2r1a2laprra2t1á2rrrádió1kbrren2d1ő2r2s1e2lőar2s1e2lőlrse2ny1a2r2s1értékrs3szemetrs3szerű_rs3szerűbrs3szerűers3szerűnrs3szerűsrs3szerűtrs3szerűvr2t1a2datr2t1a2ga_rta2n1ó2rrt1a2nyagr2t1á2t1artel2l1á2r2t1emberrtermosz2r2t1estünr2t1e2szürté2k1a2lrtékát1a2r2t1é2letr2t1érdemr2t1é2ritr2t1értekrtéskész1r2t1é2ve_r2t1é2vetr2t1é2vérr2t1i2nábr2t1i2náér2t1i2náhr2t1i2nánrto2k1a2lr2t1o2romrtóe3rejürtó2s1ín_rtó2s3zárr2t1őrködru2sz1é2p2r1ú2t1e2r2v1a2ránr2v1a2szór2v1á2ramr2v1á2sásr2v1e2gyer2ve2lemer2v1e2lőar2v1e2rőir2v1e2sésrvé2ny1elr2v1é2remr2v1é2ré_r2v1é2vetrvi2z1elvr2z1a2dotrzá2r1ó2rrze2t1e2lrzetü2kétrzó2s3zár2s1a2data2s1a2datosaj2t1a2nsaj2t1érésak2k1a2rsak2k1orr2s1a2lapa2salgásat2s1alját_2s1a2lomn2s1a2lomrsa2p1a2dós1a2pósabsa2t1árka2s1a2tomosa2t1ó2nésautói2kosa2v1a2dasá2g1á2rusá2g1i2ko2s1á2rak_2s1á2rakb2s1á2rakh2s1á2rakk2s1á2rakn2s1á2rako2s1á2rakrs1á2t1á2z2s1á2t1e2sátókész12s1e2kés_2s1e2lemé2s1e2lemzse2l1eszüsele2t1a2se2l1e2vése2l1e2vőse2ny1ér_se2nyértese2ny1ü2lse2r1e2lősere2pedőse2r1észb2s1e2setése2t1a2lase2t1a2ny2s1e2teté2s1e2tetőse2t1é2rise2t1értésé2g1e2tisé2g1é2résé2g1értősé2g1é2rüsé2g1ü2lősélőkész12s1é2neke2s1é2nekh2s1é2neki2s1é2neknsé2sz1embsfa2gy1alshelyü2kü2s1i2konk2s1i2kono2s1i2kont2s1i2parosír2t1e2vsje2gy1á2ska2r1i2msla2t1a2lsla2t1a2nsla2t1é2t1slágereiso2k1a2lasok2k1alasok2k1a2psok2k1ö2vson2t1a2lson2t1a2nson2t1á2rson2t1érésö2g1ö2lésős1orra_ső2s1orráső2s1orróső2sz1állspor2t1al1s2portágspor2t1e21s2portol1s2porton1s2portos3s2portot1s2portra1s2portró1s2porttóspor2t1ü2sren2d1ő2ssé2g1e2lssé2g1é2jssz1á2ramssz1á2ruksszeg1ér_ssz1e2lőassze2reibssze2reidssze2reinssze2rekéssze2rektssze2rem_ssze2remmssze2resesta2n1ó2rst1a2nyag1s2tartotstán2c1olstán2s1á2st1á2t1a2s2t1e2ke_s2t1ellens2t1embers2t1e2melste2r1intst1é2kesís2t1é2rőts2t1é2ve_stö2k1öltsúszó2s3zsvezetőé2sza2k1ó2r2sz1á2t1é3szekcső_2szelemek2sz1e2lőá2sz1e2lőf2sz1elszásze2r1á2lszer1e2geszer1esztszer2tálo2sz1esemé2sz1e2séssze2t1é2k2sz1é2ren2sz1é2vet1szférásoszi2k1a2sszi2k1e2r2sz1i2sza2sz1oltár2szombor_2sz1ó2ránszó2szállszó2szülősz2t1állaszt1á2ramsz2tá2rasszt1á2rukszte2r1el2sz1ü2led2t1a2datb2t1a2datot1a2dókratak1é2sze2t1akkorata2k1örömta2l1a2data2l1a2dáta2l1a2dota2l1a2dóta2l1a2du2t1a2lakb2t1a2lakj2t1a2lapa2t1a2lapíta2l1állotal1á2raktalé2k1e2ta2l1i2ko2t1a2luljtan2k1óratar2t1e2ltar2t1ér_ta2t1aszttatá2rai_ta2t1i2nátál1a2lap2t1á2lomrtá2ly1a2ctá2ly1a2gtá2ly1a2ltá2ly1a2ntá2ly1á2ztánckész12t1á2radátár1a2dot2t1á2raml2t1á2ramttá2r1á2sz2t1árkánatár2s1alttárt1öltőtá2s1á2rátá2s1á2rétá2s1á2rotá2s1á2to2t1á2t1e22t1á2t1oltcsap1á2gtdí2j1adateg1e2lem2t1e2gyestel1e2len2te2lemek2t1e2leműte2l1e2sőte2l1este2t1ellniv2t1e2lőny2t1e2lőtu2t1eltelé2t1eltérétem1e2legten2t1í2vtep2p1é2kte2r1á2rite2r1e2dz2t1e2reklte2r1e2sőte2r1estete2r1esté2t1e2setb2t1e2seté2t1e2seth2t1e2seti2t1e2setn2t1e2setr2t1e2sett2t1esszentes2t1álltes2t1elktes2t1elltes2t1ékntes2t1ékstes2t1őretes2t1őrétesz2t1a22t1e2tika2t1e2tikátélőkész1télyigaz12t1é2nekb2t1éneke_2t1é2nekété2ny1e2gté2ny1e2ltényigaz1tér2d1í2jté2r1essz2t1é2rett2t1érvényté2sz1embtét1elkésté2t1elveté2t1é2te2t1é2vedb2t1illato2tinakat_tin2g1e2l2t1ingenitin2g1etitisz2tinatje2gy1á2tla2g1a2dtle2t1a2ntle2t1elvtle2t1ér_tne2m1e2rtne2sz1ó2to1g2ráf_to1g2ráfftok1á2roktol2l1árbtol2l1árhtol2l1árr2t1otthontoza2t1altós1é2táttó2s3zene2t1ő2r1antran2d1a2tren2d1ő2tré2sz1á2trol2l1intro1sz2tatsza2t1e2t2t1e2lőattranszk2tu2s1értétu2sz1a2dtu2sz1é2ltu2sz1é2ptve2n1e2vtviselőé2ucsa2p1á2udáskész1uga2t1ó2ruj2j1á2ruu2k1a2lapukló2s3záula2cs1ö2ula2t1alaula2t1a2nu2l1á2riaulá2s1i2kuláskész1ul2cs1ér_u2m1á2raku2m1á2t1eu2m1i2onju2m1i2onnu2m1i2onou2m1o2kozur2t1oktau2s1á2raiu2s1á2raku2s1i2ratust1á2ráruszte2r1ausz1t2ranuti2k1á2rúcsa2p1á2ú2cs1érteú2cs1értéú2lizgatoúri3gényéú2s1á2raiú2s1á2rak1ú2t1i2koüle2t1e2lüle2t1ér_üle2t1érnülé2k1e2lül2l1ö2vüülnö2k1öl1üze2m1a2üze2m1étküzé2r1e2lűa3nyagocűcsa2p1ágűéne2kestűfo2g1a2lű2g1ö2lő_űrés3szerűros2t1a2űvé2szintűvé2sz1ó2űzöl2d1elva2g1o2kuva2j1á2rova2k1értévar1a2nyava2r1assz2v1a2rányva2r1ásznva2r1á2tova2r1á2záva2r1i2kovar2t1i2nva2s1értévasfélé2vva2t1á2ruva2t1érteva2t1é2tevá2cs1a2pvála2szinvá2m1értévá2ny1a2lvá2ny1ér_vá2ny1ingvá2r1a2dóvá2r1a2duvá2r1asszvá2r1a2szvá2r1ó2névár2t1ér_vásár1a2dvege2lőkéve2g1esemve2gyelem2v1e2lemz2v1e2l1í22v1előlegve2n1é2vive2r1e2sőver2s1égéver2s1éggver2s1égnver2s1égt2v1e2sett2v1e2sze_2v1e2tikavezőkész1vező2sorrvé2g1e2levé2g1esemvé2g1é2révégkötés1vé2ny1ülévé2ny1ültvér2t1ón_2v1érzet_vé2sz1éknvia2sz1álvia2sz1emvi2cs1e2lvi2cs1ér_vi2csérté2v1i2rat_2viratoz_vitakész12vítélet_2vítéletevívókész1vol2t1a2dvona2l1e2vóváros1uvta2n1á2svtá2r1ass2x1e2lekt2x1e2lemrxpor2t1a2xpor2t1e2xpor2t1ü2xu2s1értéyag1árra_yag1át1a2y1a2lakoky1a2lakomy1a2lakotya2l1é2neyalókész1yam1a2ráryamászás1ya2m1á2toya2r1a2dáya2r1a2dóya2r1a2duyautói2koyá2s1á2ráye2d1ü2lőyeg1e2redy1e2lemezye2l1é2kéyel2v1állyel2v1e2ryel2vesszyelv1eszeyel2v1érzyen2c3seryep2p1e2ryere2geteyere2k1ö2yeteg1ér_yeze2t1ékyén1e2ke_yé2sz1embyje2gy1á2yka2ró2ray2k1e2lemyla2t1a2nyla2t1é2tyo2m1aszóyo2m1á2toy1ó2dásakyön2gy1ölyő2s3zár_yőzőkész1yren2d1ő2ysé2g1e2lyszö2g1elyu2k1aszáyvárosi2by2v1emberyve2r1észy2v1esszéyvezé2rely2v1é2ve_yza2t1a2lyza2t1érdyze2t1ér_yzé2k1e2lza2b1i2ga2z1a2datozajká2rokz1a2karászama2t1ő2za2r1a2dázar1a2nyaza2t1a2nyza2t1áradza2t1á2ruza2t1e2réza2t1okoszágy1a2dazá2ly1a2lzá2m1á2tozá2m1é2rőzá2p1orzózá2r1a2tozá2r1á2szzá2r1ó2rázárt1anyázá2s1áradzá2s1á2rázá2s1á2rézát1a2dó_zát1a2dókze2gy1e2lzekci2ószze2k1ü2lőzele2p1el2z1elláto2z1e2lőhaze2m1é2léze2m1é2lőze2m1étenze2m1étetze2m1étjézen2t1egyzen2t1erezen2t1é2jzen2t1imrzen2t1őseze2r1e2cezer1e2ge_ze2r1e2géze2relődjze2r1esszze2r1esteze2r1intéz1e2sete_z1e2setet2z1e2sés_2z1e2sésb2z1e2sésé2z1e2sésh2z1e2sési2z1e2sésk2z1e2sésn2z1e2sésr2z1e2séss2z1e2séstze2szelleze2t1a2nyzete2s1égze2t1értéze2t1é2rüze2t1i2kozetkész1ezé2d1ekét2z1é2letb2z1é2leté2z1é2leth2z1é2leti2z1é2letn2z1é2letp2z1é2letr2z1é2lets2z1é2letü2z1é2letűzé2ly1esh2z1é2nekb2z1é2nekezé2n1ü2lő2zértekez2z1értetl2z1értető2z1érthetzfa2l1e2lzhá2t1a2d2z1i2gazozi2m1é2rézi2m1értézin2t1a2dzin2t1a2lzin2t1a2szin2t1á2zzin2t1elezi2ó1s2kázítőkész1zje2gy1á2z2k1a2rádz2k1a2rájz2k1a2rénzkon2t1árzkö2z1é2lz2k1u2ránzle2t1a2nzle2t1á2rzle2t1ellzle2t1ér_zletigaz1zló2s1orrzmuskész1z1o2k1a2dzola2j1árzo2n1a2lazo2ny1a2lzo2ny1a2nzósz1akadzósz1állízóta2g1a2zör2nyeszzőgé2p1ipző2ny1é2kzpor2t1e2zpor2t1ő2zrádiói2tzre2d1é2kzren2d1ő22zs1a2dat2zs1á2rak2zs1á2zós2zs1e2melzse2r1esz2zs1é2ve_z2t1a2borzt1a2lapúzt1a2nyagz2t1a2ra_ztá2r1assztá2r1oltztá2r1óraz2t1e2ke_z2t1e2kész2t1ellátz2t1e2lőcz2t1emberz2t1e2melz2t1e2rotzté2k1e2lzt1é2ves_z2t1i2konz2t1i2tatzt1í2vekez2t1o2kozztorkész1zumegyez1zu2s1értézu2sz1i2k3z2útiakaz1ü2lősebz1ü2lősetzzá2r1ó2r", + 10 : "_adatát1a2_agy1á2ram_ango2l1ó2_ara2ny1e2_ba2b1a2rá_ba2k1á2ro_csa2p1á2g_cse2l1ő2r_egy1e2lőr_el1é2tet__etilén1g2_ész2t1örv_fe2l1essz_fogó2s3zá_gé2pe2lem_halá2l1ó2_ike2r1ülé_izo2m1ért_ke2l1e2ve_le3g2elés_lisz2t1á2_lő2cs1ö2v_masz2k1or_nyol2c1an_ola2sz1ó2_olda2l1út_óvá2s1árt_rá2cs1á2z_spor2t1á2_star2t1a2_szaba2d1e_sze2m1ér__sze2sz1ó2_szó2sz1öv_ta2t1árai_tár2t1ölt_tő2r1é2sz_üve2g1e2l_vona2t1út_zá2r1a2dá_zá2r1ó2ra_zár2t1any_zár2t1ö2vacsa2p1á2gada2t1á2ráada2t1á2ruadi2o1g2raa2g1á2t1e2a2j1á2t1e2a2j1ócskása2k1a2dataa2k1a2datba2k1a2datna2k1a2datoa2k1a2datra2k1a2dattakció2s1ű2a2l1a2datáalás2t1ér_ale2g1e2léalet2t1estama2sz1a2kamát1a2dó_anfé2l1é2van2sz1á2bóa2ny1a2kasa2ny1a2tomanyha2j1ónaola2j1adaapa2cs1a2vap2s1i2konaptá2r1adaarany1a2gáa2r1i2nakéar2k1i2ontar2t1a2laparta2n1á2sar2t1i2na_ar2t1i2nátar2t1i2návatár2s1ágáa2t1o2k1alató2s3zenéazá2r1ó2raádi2ó1k2raá2gy1á2ramá2k1a2lapíá2l1a2nyátál2l1a2lakáma2sz1odvára2m1értéá3r2i3dőtlá2r1i2paroárta2n1á2sáscsa2p1á2á2z1á2rokká2z1á2rokráz1á2runknáz1á2runkrá2z1á2t1e2ba2b1a2datba2b1i2na_bá2r1ó2né_bá2sz1á2rube2cs1é2tebe2l1é2renbe2r1e2ke_be2r1e2tetbeté2t1elbbé2r1elemebor2s1eprűbuj2j1a2dacde2m1e2kécep2sz1é2pcnyol2c1anco2l1i2na_da2l1i2nátdáru2s1ág_dá2sz1á2rodcsa2p1á2g2d1eleteté2d1e2l1é2k2d1eltett_de2m1é2rem2d1e2rejétde2r1e2keidélkö2z1ön2d1é2vesek2d1é2vesendo2m1á2rondrogé2n1i2dsze2r1elvdtal2p1adad2v1e2tetédzá2r1ó2raeá2ny1o2kuecsa2p1á2ge2cs1a2pákefle2x1i2ke2g1e2lemee2g1e2lemne2g1e2lemre2g1e2lemte2g1é2nekee2g1é2nekkegé2ny1e2le2j1e2lembe2j1e2lemee2j1e2lemne2k1e2kébőekel2t1é2rele2g1e2léel1e2gyenee2l1e2lemb1e2l1e2vőkelé2k1e2lee2l1é2nekee2l1é2nekhel2t1e2reie2m1e2rénye2m1e2szete2m1értékee2m1értékée2m1értéknen2t1á2raken2t1á2raten2t1é2ve_era2sz1a2lera2sz1é2perek1e2szűere2p1e2sée2r1é2nekéerfé2l1é2ver2t1é2véverv1e2lőkéer2v1e2szee2sz1e2melesz2t1a2gáe2t1e2kénke2t1e2lesée2t1elmén_e2t1elméne1e2tetésene2t1é2vénee2t1i2szone2z1e2lemeé2g1é2nekeé2g1é2nekéé2g1é2nekné2g1i2zésné2k1e2seteél2sz1árnnéltal2p1al1é2ne2k1a2énfüs2t1ölé2ny1e2sésé2p1e2lemeé2p1e2lőkeé2p1e2setté2p1é2nekeé2r1e2kén_é2r1e2lőmeé2r1é2nekeérfo2g1ón_é2sz1e2ge_é2sz1e2geié2sz1e2legész1e2lembész1e2lemeész1e2leméész1e2lemmész1e2lemnész1e2seteésze2t1e2lésze2t1ér_évsza2k1asévtá2r1a2dé2z1e2lőkéfa2n1e2vetfar2m1unkáfe2l1e2melfe2l1e2mésfe2l1essenfe2l1e2tesfe2l1e2tetfe2l1ettekfe2l1ettélfe2l1é2rekfé2me2két_for2m1értéfűsze2r1elga2t1á2ramgá2sz1okta2g1á2zásos2g1eltett_2g1eltettnge2n1e2vetge2n1e2vezge2r1e2lők2g1e2setet2g1e2tetőnge2t1é2ve_get2t1ebbé2g1o2k1a2lgócsa2p1ággó2s3zárasgpia2c1i2ogra2m1érté1g2rá2f1angszá2l1adaha2b1i2na_ha2d1á2szoha2l1a2tomha2l1i2onoha2l1i2onthal2k1a2puhal2l1aszthalma2z1ó2hász1a2tomhátvé2d1elhé2t1ezreshite2l1e2lhi2t1eleséhi2t1elve_hi2t1é2ve_hle2g1e2lého2n1át1a2hó2d1a2ra_hó2l1e2pedhó2l1e2vetiasz2k1e2ricsa2p1á2gi2cs1é2ré_ie2r1emberi2gy1e2kéhike2r1e2dzi2l1é2nekhi2l1é2nekni2l1i2kon_i2l1i2konbi2l1i2konhi2l1i2konji2l1i2konni2l1i2konoi2l1i2konri2l1i2kontilm1é2résti2n1a2mit_in2t1e2rezirá2g1á2roissz1e2reiissz1e2rekissz1e2resisva2d1ássiszt1i2naiita2l1á2rúi2t1e2seteitta2n1á2sizsa3u2tókí2sz1e2lemí2sz1e2melíté2s1é2géjá2s1á2raijá2sz1oktaját1a2dók_ját1a2dón_2j1e2gyesíje2gy1ű2rűje2l1e2lőáje2l1e2lőb2j1eltett_je2n1e2ke_jké2p1e2kéjle2t1é2tejré2sz1e2lj2t1e2leme2k1ablakok2k1ablakon2k1ablakot2k1a2roma_ká2ny1á2toká2s1á2raikcsa2p1á2gke2l1e2pe_ke2l1e2pei2k1e2lőkéske2r1emberkere2t1e2lker2t1ebbéker2t1esteke2t1e2kéh2k1é2letek2k1é2letet2k1é2rettské2sz1éknéklámár1a2dklá2m1értékle2t1étbekle2t1é2téko2l1i2na_kon2c3sor_kon2c3soroko2r1i2zom2k1ö2lésszkszö2g1ellkszö2g1elvkuj2j1a2dalaka2t1a2nla2n1á2raila2n1á2rakla2p1i2na_lasz2t1aljla2t1á2raila2t1á2rakla2t1á2ramla2t1á2ratla2t1á2rábla2t1á2ráhla2t1á2ránla2t1á2roklatta2n1ó2lá2g1á2raklán2k1ó2ralá2s1á2railcsa2p1á2glcse2r1e2ll2cs1é2réslcsé2sz1ékl2cs1é2vétl2d1e2kétől2d1e2lemel2d1e2lemil2d1e2lemnle3g2elem_le3g2előkéle3g2elve_legy1e2lőrl1e2gyengele2k1a2pu_2l1e2lemes2l1e2l1ö2lle2p1ü2lőhle2s1e2kéh2l1e2seteile2t1e2kéble2t1é2renle2t1é2véble2t1é2vérle2t1é2vétle2t1é2vévlfé2m1e2kélifé2l1é2v2l1i2koniglisz2t1á2zllatár1a2dllá2m1értélle2m1értél2l1é2let_l2l1é2letbl2l1é2letel2l1é2letkllvé2d1e2ll2m1é2nekelófé2l1é2vlön2b1ékétlő2ny1elvilőőr2s1é2gl2t1e2reik2l1ülhetnel2v1á2rak_l2v1é2nekelya2m1érté2ly1e2kérő2ly1e2sete2ly1e2settmalasz2t1ama2t1á2rasmcsa2p1á2gmele2t1ér_2m1e2l1é2l2m1eltett_2m1eltettnmere2t1e2lmere2t1ér_2m1é2rettsmé2sz1á2ramlé2k1est_möl2cs1ér_mpor2t1á2rm2p1osztásmvá2gy1ada2n1a2la2g12n1a2ranyána2sz1áradncsa2p1á2gn2d1e2kéinn2d1e2settndí2j1a2dan2d1ő2r1a2ndszá2m1útne2r1e2ke_ne2t1é2rő_ne2t1é2rőkne2t1é2ve_netké2sz1ü2n1é2gető_2n1é2getőkné2sz1e2sznéziu2m1i2nfüs2t1ölén2g1á2szávn2g1á2szi_n2g1á2szign2g1á2szosn2g1á2t1e2n2g1áztatonla2t1é2tenny1e2settn2sz1á2ba_nter2v1e2ln2t1é2neken2t1o2k1alnvá2gy1adanvona2l1út2ny1a2lak_2ny1a2lakr2ny1é2neké2ny1é2neknnzá2r1ó2ranzer2v1a2dnzer2v1étenztá2r1a2dogdí2j1a2dohá2sz1odvoj2t1orjákok1o2variaollan2d1ó2oma2t1árakon2d1o2kosono1g2ráf_ono1g2ráfnonsa2v1a2mopor2t1érdo2r1á2t1e2orfé2l1é2vorkö2z1e2por2s1ajtókorta2n1á2cor2t1o2kolor2t1ü2zérová2s1á2ráoza2m1értéoza2t1é2teóembe2r1ékógyö2k1érbógyta2n1á2óke2r1éknéó2sz1a2lapótol2l1a2dótsze2r1epóuj2j1a2daö2k1e2reszö2l1é2nekeö2l1é2reznö2m1é2nekeö2m1é2nekéö2m1é2nekkö2m1é2nekrönát1a2dó_öre2k1e2szö2r1e2tetőözér2t1e2hö2z1érteleőcsa2p1á2gőhan2g1áraőola2j1á2rőtol2l1a2dpalá2z1adápa2p1i2na_2p1á2gyain2p1á2gyakrpár2t1é2tepcsa2p1á2gpcső2s1orr2p1e2lőjegpe2r1e2lőfpe2s1ebbel2p1é2szénépor2t1á2ráppor2t1á2rra2b1i2na_ra2g1i2na_2r1a2la2g12r1a2ranyára2t1á2raira2t1á2rakrá2sz1á2rurbá2ty1átorcsa2p1á2gr2d1i2nát_re2d1é2vesreg1e2tető2r1e2lemed2r1e2lemen2r1e2lemetrele2m1ér_2r1e2l1eng2r1e2lődök2r1eltett_2r1embere_2r1emberei2r1emberek2r1emberesrese2t1e2lresz2t1í2vresz2t1o2rré2sz1e2szrhatá2s1útri2s1ü2tő_r2k1öltésirmaké2sz1ürma2t1á2rurmo1sz2férrne2t1e2l1r2ny1e2rezr2s1a2lombr2s1e2lemerse2ny1e2lrsó2s3zárrrsza2k1a2lr2t1a2karar2t1é2neker2t1é2nekkr2t1é2nekrr2t1ö2lőserváro2s1osr2v1e2retnr2v1e2setesa2t1a2nyá2s1a2tombósá2g1á2raksej2t1e2nysele2t1e2lselnö2k1ölser1e2sze_sike2r1eszslic2c1elvsnap2sz1e2snit2t1elvsola2j1á2rsótá2ny1érspor2t1érdspor2t1i2n1s2portokassze2g1ülőste2r1e2lesuj2j1a2dasvá2gy1ón_szá2m1értészá2r1ó2ra2sz1e2lemk2sz1e2lemrsze2t1e2lőszle2t1e2lsztá2r1a2d2t1a2lapsztal2p1á2rota2t1i2na_tá2s1á2raitele2t1ér_2t1eltett_te2m1é2rő_te2r1e2ke_tere2p1e2l2t1e2sete_2t1e2setei2t1e2seten2t1e2setettesz2t1ereté2k1e2kéhté2k1e2lőátékfé2l1évtét1e2lemttol2l1á2ré2t1oszlop_tó1s2portotó1s2portttör2zs1ö2ltran2sz1aitta2g1o2kuttán2s1á2gtté2r1é2netve2r1é2szul2cs1é2véuló2z1á2rau2sz1á2radu2s3zárakou2sz1á2ramuszí2j1a2dúrfé2l1é2vügy1e2lembügy1e2lemmü2l1e2lőteüne2t1eletüze2m1értéűhol2d1adaűsze2r1epéűsze2r1ültűvé2sz1e2lva2s1i2na_vár1a2dato2v1á2t1e2rvá2z1a2tomve2g1e2kéhve2g1e2tetvele2t1e2l2v1e2lőiráve2r1e2ke_2v1e2szeknve2t1e2lőlvé2g1é2renvia2sz1árn2v1i2ratotv2í3téletbvjára2t1útvócsa2p1á2vta2n1á2tovzá2r1ó2raxpor2t1á2rxpor2t1érdyatékát1a2ycsa2p1á2gy1e2l1e2reyes1e2kétőyo2n1át1a2yócsa2p1á2yszer2v1ó2yuj2j1a2dayű2s1orra_yzá2r1ó2razab2b1i2kozá2g1á2rakzá2r1a2dotzcsa2p1á2gzeget2t1ebzele2m1ér_zele2p1ü2lz1e2l1e2reze2m1é2rétze2r1e2ke_ze2r1emberze2r1e2sészer1e2sze_ze2r1intelzert1á2lomzer2v1a2dó2z1e2sedékze2s1e2kéh2z1e2sése_2z1e2sései2z1e2sések2z1e2sésem2z1e2sésen2z1e2séseszesz1e2getze2sz1é2leze2t1e2lőáze2t1e2lődzé2d1e2lemzéjje2l1e2zé2k1e2két2z1é2lete_2z1é2leten2z1é2lettőzfa2l1a2daz2k1u2rát_zle2t1é2tézógyö2k1érzó2sz1é2lezósz1ü2lő_zöve2t1e2lz2t1e2legyz2t1e2lemez2t1e2lemmzt1e2lőadázte2r1ü2lézváro2s1om", + 11 : "_apá2ly1á2z_ba2j1á2rat_beté2t1e2l_es2t1é2ke__es2t1é2kek_ka2r1ó2rák_lófo2g1a2d_nya2k1á2ro_ré2sz1e2le_sze2m1é2ri_szer2v1a2d_szer2v1e2v_va2s1a2tomada2t1á2rakada2t1á2ramada2t1á2ratagdí2j1a2daaj2d1a2lom_aj2d1a2lommaj2d1a2lomnaj2d1a2lomraj2d1a2lomtajo2g1á2szaaktár2s1a2damen2t1á2roan2k1e2reitan2k1ö2römbanyha2j1ó2ra2r1á2szokiasko2s1a2ráata2k1é2pesányfé2l1é2vbda2cs1a2páberta2n1á2sbé2r1e2lemébé2r1e2lemhbé2r1e2lemkbé2r1e2lemnbé2r1e2lemrbor2z1á2rakbszá2r1a2dabu2sz1á2rakcse2r1e2pedcső2sz1á2radáru2s1á2gadásfé2l1é2vdőgé2p1e2kéele2t1e2kéte2ly1e2kén_ere2t1é2rő_ere2t1é2ve_etőfé2l1é2veze2t1é2rő_eze2t1é2ve_éle2t1é2rő_éle2t1é2ve_éle2t1é2vedéle2t1é2véné2ny1e2settére2t1é2ve_érkö2z1e2pééte2l1é2renéze2t1e2kéhfe2l1e2sett2f1ö2lésbelgle2t1é2rőtgszá2r1a2dagutó2d1o2kugvá2gy1a2dahe2ny1e2ge_hszá2j1a2dairá2g1á2rakítógé2p1é2sjszá2l1a2daj2t1e2tetőe2k1e2lőképzkel2t1é2rő_ker2t1é2vétkle2t1é2ve_la2ny1e2leml2cs1á2t1a2l2d1e2lővezle2t1e2lőkéle2t1é2neknl2l1é2leténl2l1é2letétlócsa2p1á2gma2g1a2datom2b1á2szokam2b1á2szokkm2b1á2szokom2b1á2szokrmmifé2l1é2v2n1a2ranya_ndsze2r1e2lndtár2s1a2dnexpor2t1ő2n2g1á2szaibn2g1á2szairn2g1á2szaitn2g1á2szokénlé2t1é2ve_nrefle2x1í2nzi2t1í2ve_o2n1á2szokror2z1a2var_ósze2r1e2pépe2r1e2lőké2r1a2ranya_rasz2t1a2nyrasz2t1é2tercsóna2k1á22r1e2lememe2r1e2lemese2r1e2lemtel2r1e2tetés_2r1e2tetésérszom2j1a2dr2v1e2lőképsa2t1á2rak_sászá2r1a2dse2r1e2lem_sfé2m1e2kéhsko2s1a2raisógé2p1e2késő2r1á2csotsszer2t1á2rtábe2sz1é2ltere2p1ü2létesz2t1é2tetér2d1e2meltké2p1e2kéhtócsa2p1á2gtör2t1e2lemtran2sz1o2mtszö2g1e2leuda2t1á2ramüle2t1é2rő_üle2t1é2ve_űsze2r1e2leve2s1e2kétővé2g1e2seteyenfé2l1é2vyere2k1e2szyze2t1é2rő_za2k1a2dat_zé2r1e2lemézé2r1e2lemkzé2r1e2lemnzgé2p1e2kétzle2t1é2ve_zssze2r1e2l", + 12 : "je2l1e2l1e2v", + 13 : "_le3g2esle2g1", + 20 : "_le3g2esle3g2esle2g1" + } +}; diff --git a/alt-implementations/readifry-master/hyphenator/patterns/hy.js b/alt-implementations/readifry-master/hyphenator/patterns/hy.js new file mode 100644 index 0000000..22df451 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/patterns/hy.js @@ -0,0 +1,11 @@ +// For questions about the armenian hyphenation patterns +// ask Sahak Petrosyan (sahak at mit dot edu) +Hyphenator.languages['hy'] = { + leftmin : 1, + rightmin : 2, + specialChars : unescape("աբգդեզէըթժիլխծկհձղճմյնշոչպջռսվտրցւփքևօֆԱԲԳԴԵԶԷԸԹԺԻԼԽԾԿՀՁՂՃՄՅՆՇՈՉՊՋՌՍՎՏՐՑՒՓՔՕՖ"), + patterns : { + 3 : "և1աև1եև1էև1ըև1իև1ոև1օ", + 4 : "ա1բաա1բեա1բէա1բըա1բիա1բոա1բօա1գաա1գեա1գէա1գըա1գիա1գոա1գօա1դաա1դեա1դէա1դըա1դիա1դոա1դօա1զաա1զեա1զէա1զըա1զիա1զոա1զօա1թաա1թեա1թէա1թըա1թիա1թոա1թօա1ժաա1ժեա1ժէա1ժըա1ժիա1ժոա1ժօա1լաա1լեա1լէա1լըա1լիա1լոա1լօա1խաա1խեա1խէա1խըա1խիա1խոա1խօա1ծաա1ծեա1ծէա1ծըա1ծիա1ծոա1ծօա1կաա1կեա1կէա1կըա1կիա1կոա1կօա1հաա1հեա1հէա1հըա1հիա1հոա1հօա1ձաա1ձեա1ձէա1ձըա1ձիա1ձոա1ձօա1ղաա1ղեա1ղէա1ղըա1ղիա1ղոա1ղօա1ճաա1ճեա1ճէա1ճըա1ճիա1ճոա1ճօա1մաա1մեա1մէա1մըա1միա1մոա1մօա1յաա1յեա1յէա1յըա1յիա1յոա1յօա1նաա1նեա1նէա1նըա1նիա1նոա1նօա1շաա1շեա1շէա1շըա1շիա1շոա1շօա1չաա1չեա1չէա1չըա1չիա1չոա1չօա1պաա1պեա1պէա1պըա1պիա1պոա1պօա1ջաա1ջեա1ջէա1ջըա1ջիա1ջոա1ջօա1ռաա1ռեա1ռէա1ռըա1ռիա1ռոա1ռօա1սաա1սեա1սէա1սըա1սիա1սոա1սօա1վաա1վեա1վէա1վըա1վիա1վոա1վօա1տաա1տեա1տէա1տըա1տիա1տոա1տօա1րաա1րեա1րէա1րըա1րիա1րոա1րօա1ցաա1ցեա1ցէա1ցըա1ցիա1ցոա1ցօա1փաա1փեա1փէա1փըա1փիա1փոա1փօա1քաա1քեա1քէա1քըա1քիա1քոա1քօե1բաե1բեե1բէե1բըե1բիե1բոե1բօե1գաե1գեե1գէե1գըե1գիե1գոե1գօե1դաե1դեե1դէե1դըե1դիե1դոե1դօե1զաե1զեե1զէե1զըե1զիե1զոե1զօե1թաե1թեե1թէե1թըե1թիե1թոե1թօե1ժաե1ժեե1ժէե1ժըե1ժիե1ժոե1ժօե1լաե1լեե1լէե1լըե1լիե1լոե1լօե1խաե1խեե1խէե1խըե1խիե1խոե1խօե1ծաե1ծեե1ծէե1ծըե1ծիե1ծոե1ծօե1կաե1կեե1կէե1կըե1կիե1կոե1կօե1հաե1հեե1հէե1հըե1հիե1հոե1հօե1ձաե1ձեե1ձէե1ձըե1ձիե1ձոե1ձօե1ղաե1ղեե1ղէե1ղըե1ղիե1ղոե1ղօե1ճաե1ճեե1ճէե1ճըե1ճիե1ճոե1ճօե1մաե1մեե1մէե1մըե1միե1մոե1մօե1յաե1յեե1յէե1յըե1յիե1յոե1յօե1նաե1նեե1նէե1նըե1նիե1նոե1նօե1շաե1շեե1շէե1շըե1շիե1շոե1շօե1չաե1չեե1չէե1չըե1չիե1չոե1չօե1պաե1պեե1պէե1պըե1պիե1պոե1պօե1ջաե1ջեե1ջէե1ջըե1ջիե1ջոե1ջօե1ռաե1ռեե1ռէե1ռըե1ռիե1ռոե1ռօե1սաե1սեե1սէե1սըե1սիե1սոե1սօե1վաե1վեե1վէե1վըե1վիե1վոե1վօե1տաե1տեե1տէե1տըե1տիե1տոե1տօե1րաե1րեե1րէե1րըե1րիե1րոե1րօե1ցաե1ցեե1ցէե1ցըե1ցիե1ցոե1ցօե1փաե1փեե1փէե1փըե1փիե1փոե1փօե1քաե1քեե1քէե1քըե1քիե1քոե1քօէ1բաէ1բեէ1բէէ1բըէ1բիէ1բոէ1բօէ1գաէ1գեէ1գէէ1գըէ1գիէ1գոէ1գօէ1դաէ1դեէ1դէէ1դըէ1դիէ1դոէ1դօէ1զաէ1զեէ1զէէ1զըէ1զիէ1զոէ1զօէ1թաէ1թեէ1թէէ1թըէ1թիէ1թոէ1թօէ1ժաէ1ժեէ1ժէէ1ժըէ1ժիէ1ժոէ1ժօէ1լաէ1լեէ1լէէ1լըէ1լիէ1լոէ1լօէ1խաէ1խեէ1խէէ1խըէ1խիէ1խոէ1խօէ1ծաէ1ծեէ1ծէէ1ծըէ1ծիէ1ծոէ1ծօէ1կաէ1կեէ1կէէ1կըէ1կիէ1կոէ1կօէ1հաէ1հեէ1հէէ1հըէ1հիէ1հոէ1հօէ1ձաէ1ձեէ1ձէէ1ձըէ1ձիէ1ձոէ1ձօէ1ղաէ1ղեէ1ղէէ1ղըէ1ղիէ1ղոէ1ղօէ1ճաէ1ճեէ1ճէէ1ճըէ1ճիէ1ճոէ1ճօէ1մաէ1մեէ1մէէ1մըէ1միէ1մոէ1մօէ1յաէ1յեէ1յէէ1յըէ1յիէ1յոէ1յօէ1նաէ1նեէ1նէէ1նըէ1նիէ1նոէ1նօէ1շաէ1շեէ1շէէ1շըէ1շիէ1շոէ1շօէ1չաէ1չեէ1չէէ1չըէ1չիէ1չոէ1չօէ1պաէ1պեէ1պէէ1պըէ1պիէ1պոէ1պօէ1ջաէ1ջեէ1ջէէ1ջըէ1ջիէ1ջոէ1ջօէ1ռաէ1ռեէ1ռէէ1ռըէ1ռիէ1ռոէ1ռօէ1սաէ1սեէ1սէէ1սըէ1սիէ1սոէ1սօէ1վաէ1վեէ1վէէ1վըէ1վիէ1վոէ1վօէ1տաէ1տեէ1տէէ1տըէ1տիէ1տոէ1տօէ1րաէ1րեէ1րէէ1րըէ1րիէ1րոէ1րօէ1ցաէ1ցեէ1ցէէ1ցըէ1ցիէ1ցոէ1ցօէ1փաէ1փեէ1փէէ1փըէ1փիէ1փոէ1փօէ1քաէ1քեէ1քէէ1քըէ1քիէ1քոէ1քօը1բաը1բեը1բէը1բըը1բիը1բոը1բօը1գաը1գեը1գէը1գըը1գիը1գոը1գօը1դաը1դեը1դէը1դըը1դիը1դոը1դօը1զաը1զեը1զէը1զըը1զիը1զոը1զօը1թաը1թեը1թէը1թըը1թիը1թոը1թօը1ժաը1ժեը1ժէը1ժըը1ժիը1ժոը1ժօը1լաը1լեը1լէը1լըը1լիը1լոը1լօը1խաը1խեը1խէը1խըը1խիը1խոը1խօը1ծաը1ծեը1ծէը1ծըը1ծիը1ծոը1ծօը1կաը1կեը1կէը1կըը1կիը1կոը1կօը1հաը1հեը1հէը1հըը1հիը1հոը1հօը1ձաը1ձեը1ձէը1ձըը1ձիը1ձոը1ձօը1ղաը1ղեը1ղէը1ղըը1ղիը1ղոը1ղօը1ճաը1ճեը1ճէը1ճըը1ճիը1ճոը1ճօը1մաը1մեը1մէը1մըը1միը1մոը1մօը1յաը1յեը1յէը1յըը1յիը1յոը1յօը1նաը1նեը1նէը1նըը1նիը1նոը1նօը1շաը1շեը1շէը1շըը1շիը1շոը1շօը1չաը1չեը1չէը1չըը1չիը1չոը1չօը1պաը1պեը1պէը1պըը1պիը1պոը1պօը1ջաը1ջեը1ջէը1ջըը1ջիը1ջոը1ջօը1ռաը1ռեը1ռէը1ռըը1ռիը1ռոը1ռօը1սաը1սեը1սէը1սըը1սիը1սոը1սօը1վաը1վեը1վէը1վըը1վիը1վոը1վօը1տաը1տեը1տէը1տըը1տիը1տոը1տօը1րաը1րեը1րէը1րըը1րիը1րոը1րօը1ցաը1ցեը1ցէը1ցըը1ցիը1ցոը1ցօը1փաը1փեը1փէը1փըը1փիը1փոը1փօը1քաը1քեը1քէը1քըը1քիը1քոը1քօի1բաի1բեի1բէի1բըի1բիի1բոի1բօի1գաի1գեի1գէի1գըի1գիի1գոի1գօի1դաի1դեի1դէի1դըի1դիի1դոի1դօի1զաի1զեի1զէի1զըի1զիի1զոի1զօի1թաի1թեի1թէի1թըի1թիի1թոի1թօի1ժաի1ժեի1ժէի1ժըի1ժիի1ժոի1ժօի1լաի1լեի1լէի1լըի1լիի1լոի1լօի1խաի1խեի1խէի1խըի1խիի1խոի1խօի1ծաի1ծեի1ծէի1ծըի1ծիի1ծոի1ծօի1կաի1կեի1կէի1կըի1կիի1կոի1կօի1հաի1հեի1հէի1հըի1հիի1հոի1հօի1ձաի1ձեի1ձէի1ձըի1ձիի1ձոի1ձօի1ղաի1ղեի1ղէի1ղըի1ղիի1ղոի1ղօի1ճաի1ճեի1ճէի1ճըի1ճիի1ճոի1ճօի1մաի1մեի1մէի1մըի1միի1մոի1մօի1յաի1յեի1յէի1յըի1յիի1յոի1յօի1նաի1նեի1նէի1նըի1նիի1նոի1նօի1շաի1շեի1շէի1շըի1շիի1շոի1շօի1չաի1չեի1չէի1չըի1չիի1չոի1չօի1պաի1պեի1պէի1պըի1պիի1պոի1պօի1ջաի1ջեի1ջէի1ջըի1ջիի1ջոի1ջօի1ռաի1ռեի1ռէի1ռըի1ռիի1ռոի1ռօի1սաի1սեի1սէի1սըի1սիի1սոի1սօի1վաի1վեի1վէի1վըի1վիի1վոի1վօի1տաի1տեի1տէի1տըի1տիի1տոի1տօի1րաի1րեի1րէի1րըի1րիի1րոի1րօի1ցաի1ցեի1ցէի1ցըի1ցիի1ցոի1ցօի1փաի1փեի1փէի1փըի1փիի1փոի1փօի1քաի1քեի1քէի1քըի1քիի1քոի1քօո1բաո1բեո1բէո1բըո1բիո1բոո1բօո1գաո1գեո1գէո1գըո1գիո1գոո1գօո1դաո1դեո1դէո1դըո1դիո1դոո1դօո1զաո1զեո1զէո1զըո1զիո1զոո1զօո1թաո1թեո1թէո1թըո1թիո1թոո1թօո1ժաո1ժեո1ժէո1ժըո1ժիո1ժոո1ժօո1լաո1լեո1լէո1լըո1լիո1լոո1լօո1խաո1խեո1խէո1խըո1խիո1խոո1խօո1ծաո1ծեո1ծէո1ծըո1ծիո1ծոո1ծօո1կաո1կեո1կէո1կըո1կիո1կոո1կօո1հաո1հեո1հէո1հըո1հիո1հոո1հօո1ձաո1ձեո1ձէո1ձըո1ձիո1ձոո1ձօո1ղաո1ղեո1ղէո1ղըո1ղիո1ղոո1ղօո1ճաո1ճեո1ճէո1ճըո1ճիո1ճոո1ճօո1մաո1մեո1մէո1մըո1միո1մոո1մօո1յաո1յեո1յէո1յըո1յիո1յոո1յօո1նաո1նեո1նէո1նըո1նիո1նոո1նօո1շաո1շեո1շէո1շըո1շիո1շոո1շօո1չաո1չեո1չէո1չըո1չիո1չոո1չօո1պաո1պեո1պէո1պըո1պիո1պոո1պօո1ջաո1ջեո1ջէո1ջըո1ջիո1ջոո1ջօո1ռաո1ռեո1ռէո1ռըո1ռիո1ռոո1ռօո1սաո1սեո1սէո1սըո1սիո1սոո1սօո1վաո1վեո1վէո1վըո1վիո1վոո1վօո1տաո1տեո1տէո1տըո1տիո1տոո1տօո1րաո1րեո1րէո1րըո1րիո1րոո1րօո1ցաո1ցեո1ցէո1ցըո1ցիո1ցոո1ցօո1փաո1փեո1փէո1փըո1փիո1փոո1փօո1քաո1քեո1քէո1քըո1քիո1քոո1քօօ1բաօ1բեօ1բէօ1բըօ1բիօ1բոօ1բօօ1գաօ1գեօ1գէօ1գըօ1գիօ1գոօ1գօօ1դաօ1դեօ1դէօ1դըօ1դիօ1դոօ1դօօ1զաօ1զեօ1զէօ1զըօ1զիօ1զոօ1զօօ1թաօ1թեօ1թէօ1թըօ1թիօ1թոօ1թօօ1ժաօ1ժեօ1ժէօ1ժըօ1ժիօ1ժոօ1ժօօ1լաօ1լեօ1լէօ1լըօ1լիօ1լոօ1լօօ1խաօ1խեօ1խէօ1խըօ1խիօ1խոօ1խօօ1ծաօ1ծեօ1ծէօ1ծըօ1ծիօ1ծոօ1ծօօ1կաօ1կեօ1կէօ1կըօ1կիօ1կոօ1կօօ1հաօ1հեօ1հէօ1հըօ1հիօ1հոօ1հօօ1ձաօ1ձեօ1ձէօ1ձըօ1ձիօ1ձոօ1ձօօ1ղաօ1ղեօ1ղէօ1ղըօ1ղիօ1ղոօ1ղօօ1ճաօ1ճեօ1ճէօ1ճըօ1ճիօ1ճոօ1ճօօ1մաօ1մեօ1մէօ1մըօ1միօ1մոօ1մօօ1յաօ1յեօ1յէօ1յըօ1յիօ1յոօ1յօօ1նաօ1նեօ1նէօ1նըօ1նիօ1նոօ1նօօ1շաօ1շեօ1շէօ1շըօ1շիօ1շոօ1շօօ1չաօ1չեօ1չէօ1չըօ1չիօ1չոօ1չօօ1պաօ1պեօ1պէօ1պըօ1պիօ1պոօ1պօօ1ջաօ1ջեօ1ջէօ1ջըօ1ջիօ1ջոօ1ջօօ1ռաօ1ռեօ1ռէօ1ռըօ1ռիօ1ռոօ1ռօօ1սաօ1սեօ1սէօ1սըօ1սիօ1սոօ1սօօ1վաօ1վեօ1վէօ1վըօ1վիօ1վոօ1վօօ1տաօ1տեօ1տէօ1տըօ1տիօ1տոօ1տօօ1րաօ1րեօ1րէօ1րըօ1րիօ1րոօ1րօօ1ցաօ1ցեօ1ցէօ1ցըօ1ցիօ1ցոօ1ցօօ1փաօ1փեօ1փէօ1փըօ1փիօ1փոօ1փօօ1քաօ1քեօ1քէօ1քըօ1քիօ1քոօ1քօ" + } +}; diff --git a/alt-implementations/readifry-master/hyphenator/patterns/it.js b/alt-implementations/readifry-master/hyphenator/patterns/it.js new file mode 100644 index 0000000..c00a59c --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/patterns/it.js @@ -0,0 +1,18 @@ +Hyphenator.languages['it'] = { + leftmin : 2, + rightmin : 2, + specialChars : "àéèìòù’'", + // The italian hyphenation patterns are retrieved from + // http://www.ctan.org/tex-archive/language/hyphenation/ithyph.tex + patterns : { + 2 : "1b1c1d1f1g1h1j1k1l1m1n1p1q1r1t1v1w1x1z", + 3 : "2’2e2w2bb2bc2bd2bf2bm2bn2bp2bs2bt2bvb2lb2r2b_2b’2cb2cc2cd2cf2ck2cm2cn2cq2cs2ct2czc2hc2lc2r2c_2c’_c22db2dd2dg2dl2dm2dn2dpd2r2ds2dt2dv2dw2d_2d’_d22fb2fg2ff2fnf2lf2r2fs2ft2f_2f’2gb2gd2gf2ggg2hg2l2gmg2n2gpg2r2gs2gt2gv2gw2gz2g_2g’2hb2hd2hhh2l2hm2hn2hr2hv2h_2h’2j_2j’2kg2kfk2h2kkk2l2kmk2r2ks2kt2k_2k’2lb2lc2ld2lgl2h2lk2ll2lm2ln2lp2lq2lr2ls2lt2lv2lw2lz2l_2mb2mc2mf2ml2mm2mn2mp2mq2mr2ms2mt2mv2mw2m_2m’2nb2nc2nd2nf2ng2nk2nl2nm2nn2np2nq2nr2ns2nt2nv2nz2n_2n’2pdp2hp2l2pn2ppp2r2ps2pt2pz2p_2p’2qq2q_2q’2rb2rc2rd2rfr2h2rg2rk2rl2rm2rn2rp2rq2rr2rs2rt2rv2rx2rw2rz2r_2r’1s22sz4s_2tb2tc2td2tf2tgt2ht2l2tm2tn2tpt2rt2s2tt2tv2twt2z2t_2vcv2lv2r2vv2v_w2h2w_2w’2xb2xc2xf2xh2xm2xp2xt2xw2x_2x’y1i2zb2zd2zl2zn2zp2zt2zs2zv2zz2z_", + 4 : "_p2sa1iaa1iea1ioa1iua1uoa1ya2at_e1iuo1iao1ieo1ioo1iu2chh2chbch2r2chn2l’_2l’’2shm2sh_2sh’2s3s2stb2stc2std2stf2stg2stm2stn2stp2sts2stt2stv4s’_4s’’2tzktz2s2t’_2t’’2v’_2v’’wa2r2w1yy1ou2z’_2z’’_z2", + 5 : "_bio1_pre12gh2t2l3f2n2g3n3p2nes4s3mt2t3s", + 6 : "_a3p2n_anti1_free3_opto1_para1hi3p2n2nheit3p2sicr2t2s32s3p2n3t2sch", + 7 : "_ca4p3s_e2x1eu_narco1_su2b3r_wa2g3n_wel2t1n2s3fer", + 8 : "_contro1_fran2k3_li3p2sa_orto3p2_poli3p2_sha2re3_su2b3lu", + 9 : "_anti3m2n_circu2m1_re1i2scr_tran2s3c_tran2s3d_tran2s3l_tran2s3n_tran2s3p_tran2s3r_tran2s3t", + 10 : "_di2s3cine" + } +}; \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/patterns/kn.js b/alt-implementations/readifry-master/hyphenator/patterns/kn.js new file mode 100644 index 0000000..c9da6f0 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/patterns/kn.js @@ -0,0 +1,11 @@ +// For questions about the Kannada hyphenation patterns +// ask Santhosh Thottingal (santhosh dot thottingal at gmail dot com) +Hyphenator.languages['kn'] = { + leftmin : 2, + rightmin : 2, + specialChars : "ಆಅಇಈಉಊಋಎಏಐಒಔಕಗಖಘಙಚಛಜಝಞಟಠಡಢಣತಥದಧನಪಫಬಭಮಯರಲವಶಷಸಹಳಱಿೀಾುೂೃೆೇೊಾೋೈೌ್ಃಂ", + patterns : { + 2 : "ಅ1ಆ1ಇ1ಈ1ಉ1ಊ1ಋ1ಎ1ಏ1ಐ1ಒ1ಔ1ೀ1ು1ೂ1ೃ1ೆ1ೇ1ೊ1ೋ1ೌ1್2ಃ1ಂ11ಕ1ಗ1ಖ1ಘ1ಙ1ಚ1ಛ1ಜ1ಝ1ಞ1ಟ1ಠ1ಡ1ಢ1ಣ1ತ1ಥ1ದ1ಧ1ನ1ಪ1ಫ1ಬ1ಭ1ಮ1ಯ1ರ1ಲ1ವ1ಶ1ಷ1ಸ1ಹ1ಳ1ಱ", + 3 : "2ಃ12ಂ1" + } +}; diff --git a/alt-implementations/readifry-master/hyphenator/patterns/la.js b/alt-implementations/readifry-master/hyphenator/patterns/la.js new file mode 100644 index 0000000..88d768f --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/patterns/la.js @@ -0,0 +1,20 @@ +// Latin hyphenation patterns converted by +// Pablo Rodríguez (hyphenator at pragmata dot tk) +// based on LaTeX Latin hyphenation patterns by Claudio Beccari +// (http://tug.ctan.org/tex-archive/language/hyphenation/lahyph.tex) +Hyphenator.languages['la'] = { + leftmin : 2, + rightmin : 2, + specialChars : "æœ", + patterns : { + 2 : "æ1œ11b1c1d1f1g1h1j1k1l1m1n1p1r1t1v1x1z", + 3 : "2bb2bdb2l2bm2bnb2r2bt2bs2b_2ccc2l2cm2cn2cqc2r2cs2ct2cz2c_2dd2dg2dmd2r2ds2dv2d_2fff2l2fnf2r2ft2f_2gg2gd2gfg2l2gmg2ng2r2gs2gv2g_2hp2ht2h_2kk2lb2lc2ld2lf2lg2lk2ll2lm2ln2lp2lq2lr2ls2lt2lv2l_2mm2mb2mp2ml2mn2mq2mr2mv2m_2nb2nc2nd2nf2ng2nl2nm2nn2np2nq2nr2ns2nt2nv2nx2n_p2hp2l2pn2ppp2r2ps2pt2pz2p_2rb2rc2rd2rf2rgr2h2rl2rm2rn2rp2rq2rr2rs2rt2rv2rz2r_1s22s_2tb2tc2td2tf2tgt2ht2lt2r2tm2tn2tp2tq2tt2tv2t_v2lv2r2vv2xt2xx2x_2z_", + 4 : "a1iaa1iea1ioa1iuae1aae1oae1ue1iuio1io1iao1ieo1ioo1iuuo3uc2h2k2h22php2pht1qu22s3s2stb2stc2std2stf2stg2stm2stn2stp2stq2sts2stt2stv2st_a1uaa1uea1uia1uoa1uue1uae1uee1uie1uoe1uui1uai1uei1uii1uoi1uuo1uao1ueo1uio1uoo1uuu1uau1ueu1uiu1uou1uu", + 5 : "_e2x1_o2b3l3f2tn2s3mn2s3f2s3ph2st3l", + 6 : "_a2b3l_anti13p2sic3p2neua2l1uaa2l1uea2l1uia2l1uoa2l1uue2l1uae2l1uee2l1uie2l1uoe2l1uui2l1uai2l1uei2l1uii2l1uoi2l1uuo2l1uao2l1ueo2l1uio2l1uoo2l1uuu2l1uau2l1ueu2l1uiu2l1uou2l1uua2m1uaa2m1uea2m1uia2m1uoa2m1uue2m1uae2m1uee2m1uie2m1uoe2m1uui2m1uai2m1uei2m1uii2m1uoi2m1uuo2m1uao2m1ueo2m1uio2m1uoo2m1uuu2m1uau2m1ueu2m1uiu2m1uou2m1uua2n1uaa2n1uea2n1uia2n1uoa2n1uue2n1uae2n1uee2n1uie2n1uoe2n1uui2n1uai2n1uei2n1uii2n1uoi2n1uuo2n1uao2n1ueo2n1uio2n1uoo2n1uuu2n1uau2n1ueu2n1uiu2n1uou2n1uua2r1uaa2r1uea2r1uia2r1uoa2r1uue2r1uae2r1uee2r1uie2r1uoe2r1uui2r1uai2r1uei2r1uii2r1uoi2r1uuo2r1uao2r1ueo2r1uio2r1uoo2r1uuu2r1uau2r1ueu2r1uiu2r1uou2r1uu", + 7 : "_para1i_para1u_su2b3r2s3que_2s3dem_", + 8 : "_su2b3lu", + 9 : "_anti3m2n_circu2m1_co2n1iun", + 10 : "_di2s3cine" + } +}; diff --git a/alt-implementations/readifry-master/hyphenator/patterns/lt.js b/alt-implementations/readifry-master/hyphenator/patterns/lt.js new file mode 100644 index 0000000..ce5c6d2 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/patterns/lt.js @@ -0,0 +1,15 @@ +// For questions about the Lithuanian hyphenation patterns +// ask Rogutės Sparnuotos (rogutes at googlemail dot com) +Hyphenator.languages['lt'] = { + leftmin : 2, + rightmin : 2, + specialChars : "ščžįėūąęų", + patterns : { + 3 : "a1ba1ca1da1ea1fa1ha1ja1ka1la1ma1na2oa1pa1ra1sa1ta4ua1va1wa1ya1za1ąa1ęa1įa1ša1ųa1žb1jcu4d4zd4že1ce1ee1fe1ge1he1je1ke1le1me2oe3pe1re1se1te1ve1we1ye1ze1ąe1če1ęe1ėe1še1ųe1ūe1ž3gui2ai1ci1di2ei1fi1ji1ki1li1mi2oi1pi1ri2ui1vi1wi1yi1zi2ąi1či1ęi1įi1ši2ųi2ūi3ž1ju1jū3kek4i3ko3ku5ką3lą3lųm2am2one15noo1ao1bo1co1do1eo1fo1go1ho1io1jo1ko1lo1mo1no1po1ro1so1vo1wo1yo1zo1ąo1čo1ęo1ėo1įo1šo1ųo1ūo1žpa3p2ep2i3pop2yp2ėr2ar2ir2or2u3rą5rųs2esu1są35sėt2at2it2o3tęu1bu1cu1du1fu1gu1hu1ju1ku1lu1mu1nu2ou3pu1ru1su1uu1vu1wu1yu1zu1ąu1ču1ęu1įu1šu1ųu1žv2e3vą3vėy1ay1by1cy1dy1ey1fy1gy1hy1iy1jy1ky1ly1my1ny1oy1py3ry1sy1ty1uy1vy1wy1yy1zy1ąy1čy1ęy1ėy1įy1šy1ųy1ūy1žą1aą1bą1cą1dą1eą1fą1gą1hą1ią1ją1ką1lą1mą1ną1oą1pą1rą1są1tą1uą1vą1wą1yą1zą1ąą1čą1ęą1ėą1įą1šą1ųą1ūą1žę1aę1bę1cę1dę1eę1fę1gę1hę1ię1ję1kę1lę1mę1nę1oę1pę1rę1sę1tę1uę1vę1wę1yę1zę1ąę1čę1ęę1ėę1įę1šę1ųę1ūę1žė1aė1bė1cė1dė1eė1fė1gė1hė1iė1jė1kė1mė1nė1oė1pė1rė1uė1vė1wė1yė1zė1ąė1čė1ęė1ėė1įė1šė1ųė1ūė1žį1aį1bį1cį2eį1fį4gį1hį1iį1jį2lį2mį1nį1oį4pį2rį1sį1uį2vį1wį1yį1zį1ąį1čį1ęį1įį1šį1ųį1ūį1žų1aų1bų1cų1dų1eų1fų1gų1hų1ių1jų1kų1lų1mų1nų1oų1pų1rų1sų1tų1uų1vų1wų1yų1zų1ąų1čų1ęų1ėų1įų1šų1ųų1ūų1žū1aū1bū1cū1dū1eū1fū1gū1hū1iū1jū1kū1lū1mū1nū1oū1pū1rū1sū1tū1uū1vū1wū1yū1zū1ąū1čū1ęū1ėū1įū1šū1ųū1ūū1žž1jž2u", + 4 : "_ap1_at1_nu1_sk4_st4_uk3_už1_įs4a1a2a2chae2l2a1ga4grak2la3lia3lya3lėa3lūap3la3pra4rgasi1a4ska3slato1atp42a1ča1ė2a3šnaš2va1ū2až2lba3c2b1b2b1c4b3dbep42b1f2b1g2b1h2b1k2b1lb2lab2lu2b1m2b1n2b1p2b2rb3ri2b1s2b3tbu4k2b1v2b1w2b1z2b1č2b1š2b1žcar42c1b2c1c2c1d2c1f2c1g3chi2c1k2c1l2c1m2c1n2c1p2c1r2c1s2c1tcuk52c1v2c1w2c1z2c1č2c1š2c1ž2d1b2d1c2d1dde4k2d1f2d1g2d1hdi4pdi4s2d1j2d3k4d3l2d1m2d1n2d1p2d1rdro1d2rė4drų2d1s2d1tdu2adu4k2d1vd3va2d1w2d1č2d1še1a2eat1e1b2ebe1e3bleb3re2che3d2e1ie1eine3kr2e1neno1ens4enu1e3orep4rero1erė2es4ke1u4euž3e3vie1į4eįp3e3šneš2vešė32f1b2f1c2f1d2f1f2f1g2f1h2f1k2f1l2f1m2f1n2f1p2f1rfri12f1s2f1t2f1v2f1w2f1z2f1č2f1š2f1žgaš32g1b2g1c2g1d2g1f2g1g2g1h2g1k2g1lg2leg2lo2g1m2g1n3g2rg3rig4rą5grį4grų2g1s4g1t2g1v2g1w2g1z2g1č2g1š2g1ž2h1b2h1c2h1d2h1f2h1g2h1hhi4b2h1k2h2l2h1mh2me2h1n2h1p2h1r2h1s2h1t2h1v2h1w2h1z2h1č2h1š2h1žia3kiap4i3ari3b2ice1id2rie3gi3ei2i1g2i1hi1i2ik3rilo11imd4i1n5inviok2i3ori3ri4i1si5sai5siis4ki3sli1ė2i3šniš5ti4švišė21išš3ja_2j1b2j1c2j1d2j1f2j1g2j1h2j1j2j1k2j1l2j1m2j1njot32j1p2j1r2j1s2j1t2j1v2j1w2j1z2j1č2j1š2j1ž3ka_kak33kar3kas5kav2k1b2k1c2k1d2k1f2k1g2k1h5ki_5kia3kib3kil5kit2k1k2k1lk2ly4klą4klų2k1m2k1n2k1p2k2rk3rok4ryk5rą2k1sk4skks3l4k1tk3ta4kubku4k2k1vk2vak3vok2vė2k1w3kyt2k1z2k1č2k1škšė32k1ž3la_2l1blb3r2l1c2l1d3le_le3c4leč2l1f2l1g2l1h3li_li4a3lių2l1j2l1klko12l1l2l1m2l1n3lo_log44lop4l1p2l1r4l1sl4sk4l3t3lu_2lup4l1v2l1w3lyč2l1z2l1č3lęs3lėm3lės2lėč3lį44l1š2l1ž3mas2m1bmb3r2m1c2m1dme3c2m1f2m1g2m1h2m1k2m1l2m1m2m1n2mod2m1pm4plm3pr2m1r4m1s2m1tm3ta3muo2m1v2m1w2m1z2m1č2m1š2m1ž2n1b2n1c2n1dneg42n1f4n1gng3lng4r2n1hni4s2n1j2n1knk3r2n1l2n1m2n1n2n1p2n1r4n1sns3l4n1tn3tanua4nu3gnu1inuk22n1v2n1w2n1z4n1č2n1š2n1žo3dro2eto3krono1o1o2o2ręo3slo3t2oto1oš2vpad23panpap4p2arpas22p1b4p1cper12p1f2p1g2p1h3p2lp3lep3lip3lop4lup4ly2p1m4p1npo4g2p1p2p2rp3rip3ry4prąp3rėp3rū4p1spsi13p4u2p1v2p1w2p1z2p1č4p3ž3ra_ra3b3rac3ral3ram3rav2r1brbo12r1c4r1d2reb3rel5res3ret2r1f2r1g2r1h3ri_ri3d3rij2ril3riori3p3rią3rių2riū4r1k4r1l2r1m4r1n3roj3rok3ron3rop5ros2r1p2r1r4r1srs4p4r1t2ruk3rul4run2rup3rus4r1v2r1w2r1z4rąs4r1č4r1š2r1ž2s3b2s1c2s3d2s1f2s1g2s1hsi3d4sk_4ske5ski5sky4ską5skę2s2l3sles3lis3lo2s1m4smę4s3n3s2ps3pe4spn4spu4s1rs3ri2s1s2s1tst2v4stę4stųs2tūsuž42s1vs2ve2s1w2s1z4s3č2s1š2s1ž2tabta5s2tat2tač2t1b2t1c2t1d2teb3temte4o2t1f4t3g2t1h3tin2tip4t3j4t3kt4kl4t3l4t3m2t1n2tow2t3pt4pjtp4r2t1r4tro4trą4trųtsi14t1ttua43tur2t1vt2vo2t1w3tyd2t1z2t1čt2ėm2t3žu1a2u3aiu2bju1e2ug4ru5inui2ru3klu3kru3kvu5kųu3orup4lurk2u3slu3t2uto12utru1ė2uš2vu1ū2u3žluž3v3va_vap4va3t2v1b2v1c2v1d2vep3ves2v1f2v1g2v1h2v1j2v1k2v1l2v1m2v1n2v1p2v1r2v4s2v1t2v1v2v1w2v1z2v1č4vėp2v1š2v1ž2w1b2w1c2w1d2w1f2w1g2w1h2w1k2w1l2w1m2w1n2w1p2w1r2w1s2w1t2w1v2w1w2w1z2w1č2w1š2w1žy4sk2z1b2z1c2z1d2z1f2z1g2z1h2z1k2z1l2z1m2z1n2z1p2z1r2z1s2z1t2z1v2z1w2z1z2z1č2z1š2z1ž2č1b2č1c2č1d2č1f2č1g2č1hčin12č1k2č1l2č1m2č1n2č1p2č1r2č1s2č1t2č1v2č1w2č1z2č1č2č1š2č1ž2ė3lė3me2ė1sės3l2ė3tė4trį1d2į2k4įsi1įs3lįs2mįs2rįst2į2t2į1ė22š1cš1eiše2v2š1f2š1h2š1lš2lu3šly2š1m2š1nš2nešno1šo2r2š1ršsi1šu4š3š1vš2vi2š1w2š1z4š3čšė2j2š1š2š1žūs3lūs3t2ž1cžen12ž3g2ž1hžio32ž1lž2lu4ž1m2ž1n2ž3p2ž1r2ž1sžsi1ž4skžs3t3ž2vž4viž3vo2ž1w2ž1z2ž1čžįs32ž1š2ž1ž", + 5 : "_api1_ap3r_as3p_ata1_at3r_aš3v_ek3r_i2š3_iši2_sam1_u2š3a4draag3raa5groa5infai4skai4trak2via2kėta5lo1an4skan4trap3eiap3s2ari4sasi5sas3klas2mias2mua5s4na4stua4truat1ė2atū2žau4klau4skau4slaš4trba4slbe3s2besi1be3t2b2liz3b2loda3b4dema1de4prde4spdis5kdo3ridro2bdu5kadu4sldvi3adžio1e2a3leapi1ed3rie4droed3rėeg3raei4skei4slei2š14entae3o2šep4liepra1epri1eri4sesi5seska1e5skoe3s2veįs3keįt3rfi4s5ge4o13g2nų2g1p2grai2g3ran5g3reg4reig3ro_gyva1ia5g4i3aišid3rėi2dėmie3kli3entie4ski3g2lig3rui3k2nin4klio4pli2p1jip3ruis4lii5s4ni4steisto12i3t2jo4tv5ka3dka4klka4pr3katika3z2ke4b33k2lak4lan4kle_k2lel4klo_4klu_k4raukris2k4rov4k3ru5krunk4s3pku4prkš2lyle4gr5li4olpna1l4s3pmeis1mi4glmi4grmin4smi4trna3s2na3t2ncen1n3drėnei2mne4o3neor2nerė3nesi1ne3slne3t2nk3lan3kryns4kun4s3pnst3rnt4pln3trunu3b2nu4o3nuos2nu5s4olen1om4pro2rieori4sor4tros3leos4loo3s2vpai2lpai2mpai2rpa5srp2at24p3d2pe2reper3spe2rėp3ieš2p3k24pliop4liup4lojpoli1p3raip3rašpris2p5ro_p3romp5s4kp3s2v4p3t2pu4skpu4slpu4tr4p3š2ra1imra3krras4lra3smr3b4r4rein4reitre4p5res3lri3krrisi1ri3strk3lyr3k4r3rod2ro4grr3p4rr3t2rr3t2v3ruosru4sk4rutor3š2lr3š2msala1san5tse4krsi3k4si3p4si3s23s2k2s5ka_5sk4r5skubsk3vask3vi4s3lu4s3lū4sme_so4drs2tals2ten4stins2tods2toj4s3tėsu3blsu3d2su3g2suk2lsu3s2susi13s2vyta3krte3t2ti4gr3toje2tolįto3s2tp3lū4triot2riš4t3s44tvėjt3ėmut3ėmęt3ėmė2t3š2u1i2muk2leuo4slup3rour3klu5ro1ur3s2us3laus3leusva1us3veu3š2lu3š2nuži2muž1ė2ygia1y4k3lčeko1ė4k3l2š1b22š3d22š1g4šiuk12š1k2š2lij2š1p42š3s44š3t2š4vydū4k3lū4s3kžant42ž3b22ž3d22ž3f4ži3mu2ž3k2ž4s5l4ž3t2žu3s2", + 6 : "_arbi1_arti1_dina1_nusi1_pie2č_sida1_su5kr_te3s2_šven1a5grioan3k2lap1a4kap3i2mar1eitat3augat3i2mau4t3rbalta1ei4k3l2eis3tema5s4en3k2lenk4laere3a44g4rioi3antęi3antėie4d3rie4p5rio4g3rira3s2jauna1kavar1keren1kri5stlg3s2t2m3aidmas3kine3s2tneįs3tnt2ruoparsi1p4s3tyrai4tįri2ma_2r3imtrivin12r3orgrs4ko_rti5k4rti3s22s1amžsarka1senat4si3auksi3a2vsi3a2šsi5š2v5s4ken5s4kle3s2tovst2raitaura1ti4k3ltskri1ug5riou2s1alvi4s5kvi4t3r2vydau2š5istžants5", + 7 : "_kirti1ate5isteist2rapa4r1ė2pe2r3imprau2sipusiau1rau4ka_viesia1šsikap1", + 8 : "lap4s3to" + } +}; \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/patterns/lv.js b/alt-implementations/readifry-master/hyphenator/patterns/lv.js new file mode 100755 index 0000000..b8ee5c9 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/patterns/lv.js @@ -0,0 +1,18 @@ +// For questions about the latvian hyphenation patterns +// ask Kristaps Karlsons (kristaps dot karlsons at gmail dot com) +Hyphenator.languages['lv'] = { + leftmin : 2, + rightmin : 3, + specialChars : "žāīūēčļšķņģ", + patterns : { + 3 : "d4z", + 4 : "dd4žda2ida2udi2ede2idu2idi2udo2ido2ude2uo1pīū1rēi1taū1gaē1žuū1toā1nii1rēi1čoā1buo1mīo1kāo1čiā1loe1čūo1ļāe1lai1šoo1biē1cēā1ruo1siu1noe1hāā1nēe1būi1ruo1sūa1čaā1čao1rēi1keo1rau1tei1zoi1giē1maū1ķeū1cao1dēa1nāā1gee1čiū1bēē1tāā1fii1zio1līe1šee1gāi1foa1ņou1toī1zēū1guā1šai1ķiū1nēī1maā1teē1kēū1māu1zuo1sāē1buī1gae1diī1tea1ļīe1tēi1žeo1foā1puo1huē1doo1duā1maū1mie1rei1hai1bee1luā1jaū1taa1šūa1daē1cīi1bua1pīu1ņāe1zuū1noe1nīi1noe1māē1ļaū1pāā1beā1moī1jae1jiī1ree1ceī1riī1tīū1niī1žīi1žia1fīa1bee1šāe1ķoe1pūe1ļīu1ģiē1tīa1cie1jēa1zīo1lēu1gaī1cia1kee1hoi1nūū1šīe1sie1boo1ģēu1ņiu1sēē1bāo1šaū1roē1cei1zīi1veo1ļui1dīo1kue1vēa1riu1sāi1pāi1dēo1pūī1vīa1meē1zeī1bēu1ķea1bēa1jaā1ļoa1jēe1feo1puo1toē1vēa1kio1māo1loa1loē1ķie1šēū1dīū1cāo1zoo1gūo1gāī1tēe1zēī1lee1gīī1nao1mee1poe1fua1ģeu1rūu1riū1joe1dēa1ļaa1žāī1ļaē1nea1zūā1vēe1soo1mio1šoē1sīē1ļue1gai1pēe1vuo1ruē1juu1čiā1vaa1huī1sēe1ķai1rāa1čāī1kii1tiu1cui1žuā1jou1kiu1muo1ķīe1maī1ļoē1deo1čoā1čui1ņau1ļau1māo1hei1līa1deo1faē1roo1sīā1riū1tio1bēa1jāū1zuā1vīe1ļeo1ņaī1deī1šea1kūū1jao1dīe1žie1riī1gāe1kiu1zeu1mai1vīē1pīu1lue1tio1čāa1ķiū1zēa1ļoi1čio1kea1ģui1vēu1čuu1cau1vuo1ļai1rio1ņou1coa1rāo1jāī1bie1čīē1rēe1kāi1pia1kaā1vuū1žae1mīe1vīo1gia1pēū1zāi1cēe1vao1nīī1rue1pāa1ceē1kāo1jaa1hēa1boū1muī1vei1nāi1fio1vau1žue1ģiē1nīi1lii1ņou1laī1ģee1caa1tāū1zia1būē1pēī1suī1pāī1zuū1die1loā1māe1cia1žaē1toe1rūā1lau1ķuo1ģīā1pae1lūe1sīe1bēi1coi1ķēa1šoū1kuu1šāo1dia1ņaī1pao1pia1žēa1sia1hau1šoē1māī1moā1žoū1lue1žūo1ķiā1vāa1žoi1zāa1kuo1zio1dāe1cuī1noe1zie1jūā1ņoi1ceū1lēa1žīo1mēi1bīo1ree1zūū1raa1gii1lēī1bāū1šue1bii1gūū1ķiē1vaā1tou1cea1pūā1gii1ķeā1kāe1ķīē1žau1veu1voē1noo1bua1tīe1fie1ļoū1žia1tūī1tiī1lai1hoē1gii1fūa1tēā1ķia1mie1rau1jae1meī1bui1puo1laa1ķīu1šuo1žaa1rūū1ļae1čuī1loo1nuā1jēa1dāu1rēu1rīē1žoi1māa1zoo1žuē1daī1coū1zīā1saē1šuū1poi1siu1zēū1riu1zīū1gāe1puā1due1cēē1jii1biē1rāi1ļiu1nui1kia1mūī1niā1feē1caā1ņiu1goa1nue1nēu1kuā1žiē1goe1čeē1zaā1čāi1ģeī1goa1goe1bīi1zee1šūo1kēo1pēi1naā1raā1jīo1zae1zāa1lāe1ņēa1jeē1siā1bou1gāi1sēu1šiu1bīa1vāe1koā1šuā1ģēi1moe1ļāi1tēu1ļāa1ņēu1naī1voū1mea1hīū1kaā1mīā1līū1tue1jeī1vāa1baī1dāū1koū1cēā1nīa1ļēu1juā1žāū1moi1geā1pāe1lāi1ķīa1sēe1nia1maa1tui1kūa1bii1jīī1ķue1fāu1taē1dēa1gāi1lāi1ņie1ļaē1tiā1bia1šia1līi1jae1muo1hēu1jāū1šai1sāu1poā1cāa1seo1ņeu1foā1sūā1būo1coo1ķēā1ļae1žeu1tīī1kuu1ķau1zie1doi1soo1fiē1sāi1pīī1šia1dīā1tiu1ņou1pao1kao1cīi1peī1māā1pēā1pīū1pēo1būe1ķēa1mēā1rūo1dei1ķao1šīī1guu1biā1kaā1nuu1žiu1soē1kaā1leē1peu1ļīī1meu1dīi1žāi1duē1rao1voo1fāo1soā1ļāe1dāā1guo1boe1hīā1ģiā1čoa1dēu1diī1seē1sēā1nāa1nīū1rāo1hio1šāi1lūē1lēi1teu1šeī1tuu1ģoe1šiū1bae1ņau1siē1zoū1kāi1guū1dai1sūo1bīa1moē1gāā1veu1bēe1ņoē1voī1mīu1ļuā1tui1cīu1faā1tāē1guo1gai1mii1fēi1ļeā1cou1žīi1zēi1vua1jui1caī1čuū1reē1bie1roi1fāa1heu1moi1joe1buī1roa1teī1ģiā1dii1būu1ļiu1lea1nae1tāe1bāo1tūū1zeā1fuī1bea1pāu1dei1dūe1veī1dia1vou1lāe1piu1dēē1dāo1joi1žoī1ķeo1nāe1mūā1zāa1roī1rāa1žeu1jea1tiū1cīi1tīī1viī1joe1coi1tūi1boū1pee1tūo1pāē1sea1ļāā1jia1čoe1zaā1mēa1žūe1šoī1ļuū1jāo1sue1jao1tae1līo1zeī1vēo1vāa1vīi1kīā1zīu1haī1pēi1deo1nēū1bīē1tua1žiā1žuo1ņāo1ļoi1ņēu1ciī1caū1sae1rīi1bēe1nea1šīu1giī1mua1zāi1loī1cēu1līe1čoa1bui1nīā1dāā1tēā1koī1šuo1ģia1tai1laa1vaa1šea1hia1cae1bee1žēa1suī1dīo1dae1ģoe1ņue1paī1jāe1sāa1ņiū1soī1nui1voū1loī1nēē1mīū1cuo1žēē1jāī1cāa1čuo1zūa1luā1luo1ņua1vui1tui1ķui1ķoi1koa1faī1pii1goi1mea1fie1sūī1juo1pea1sīa1nēū1žeē1vei1poo1zēa1nee1saa1lēē1šaū1giē1lāi1mūu1vāū1mīū1mēu1roā1poo1jui1fui1jēi1gaū1tāē1luū1sāa1gūā1bāa1lao1riē1šoū1ņao1fēe1liē1kou1vaī1šoa1zie1dīi1dai1šīi1hīi1nei1šuē1kue1ņāo1naī1žao1čaā1fao1tēī1dēo1tāi1hiē1muī1soe1cāā1ziī1cīu1šēo1noā1ņeu1buū1gēo1vea1ģīi1lui1pae1kaā1ciu1ķīo1sao1goi1nuī1žoi1sīo1fīa1pua1duī1ļio1bai1fae1mio1cuu1žaā1mia1ķāi1čuo1žūī1kāā1ķeu1ģēe1daē1dīī1čoū1paā1deo1mai1dāē1ņoū1žuo1koa1vēā1zēā1sāī1dou1cāī1ļāu1due1juā1sio1vēi1šau1feo1jiē1reū1ļīu1ņaā1caa1šuū1nuū1lee1ķiā1tīo1gei1vāū1zaē1nāū1maā1ķue1lēā1sēā1liī1nei1mīā1pia1māa1žui1juē1vuu1nāū1rue1via1pai1bāo1cēā1lēe1kuu1lēi1see1vāē1jēe1pīē1cio1šia1hāa1kāu1jiū1rīī1sāi1roo1rāū1kio1roe1ruo1kūē1sua1ņāū1tīā1bae1ņee1nuē1teā1voa1sae1nūū1žīo1žeū1doē1jīī1vuo1viu1baā1naī1mēa1jiu1tie1moa1rae1hio1teu1boe1sui1fīē1pii1ģiī1ņuū1līā1roo1zāa1vio1niī1zao1doī1zāo1gēu1zūu1liu1daa1čie1tai1raā1ķaa1jūī1baa1cēu1rai1kāi1zuē1nua1šāe1tou1gēū1pīa1hoā1jeī1ķaa1veo1šuu1čoī1miu1sīa1dūe1cūī1rīu1koā1ķīā1zuā1muī1saā1ņuu1kai1baū1viē1gaē1ģea1rīu1šau1cīa1coī1cuo1vui1jeu1doo1cāā1vii1jāa1zea1muo1ņie1žao1čīi1čai1mēā1cīē1lae1dūū1nīī1poē1ļiī1nāū1beu1seū1ciī1ņāī1keā1cēē1saē1lia1ģāu1peā1kua1bīu1puo1cau1neī1ļīu1mie1dui1ļuu1pāī1ņaī1puu1beo1čuo1šēū1šoē1mea1ķau1zoē1zāū1cee1tīo1ķuē1jou1tūā1cui1vie1žāa1joe1joū1biu1nīā1ļue1zoi1mau1vēo1jūo1haū1pue1šaa1rua1liu1mīū1veā1pei1cuū1nāī1sīe1peī1zīi1rīī1peo1poā1rēa1ņeī1gie1žīī1lui1suī1tāa1noī1žia1sūa1koi1žēu1joi1vaī1jia1feo1pae1rēe1šīē1cui1šāū1žāe1ģeē1cāa1poi1tāā1neī1vae1seī1rao1guū1deu1dāi1diu1rāē1nēa1toe1fīa1soe1zeē1leo1muī1tae1ļua1zēē1ķēo1ģee1naū1vēē1duu1žoi1nēī1sii1kaī1fee1noi1lee1pēe1ģēā1goi1nie1čaa1čīē1bea1šae1gii1muē1bēa1čūī1šāa1bāī1duo1ciē1boā1kio1moē1loo1lāo1lea1gīu1kāē1viī1lēu1čēē1moa1cīu1čaī1toa1fēu1ķie1faī1šao1bāa1ļiī1daa1mīi1gāa1ģēe1cīā1tai1reā1meū1dēa1reī1lia1gao1tuu1pīe1haā1ķēe1tui1ģēe1kēā1bēo1čūa1zuū1sēū1neā1gaū1voo1hoē1ļāo1rīū1juo1fuū1jio1lūā1doi1tou1bāu1geu1cēa1leu1ķēī1cea1ķuā1zee1šuē1jaa1vūi1ņāē1nao1neā1dēā1ģau1suu1saē1diū1sue1foē1niī1pīi1kuē1paē1poī1zii1ļai1šiē1līā1noa1jīā1gāo1zīā1dīo1ļiā1rāē1ziū1piē1geo1mūi1kēe1gūu1gui1zūa1gua1lūi1cāū1lāo1ķeo1seē1vāē1rua1foe1sēā1reā1lāe1ļia1ņue1jāā1žaē1zue1ņiu1piē1mēo1ņēo1tiu1pēe1zīu1fie1ķeā1jāu1vīī1ņiu1žāū1lie1deo1beē1zīe1hue1heī1lāu1tēe1nāa1sāā1seē1ļoa1ģiī1zeo1jeū1tee1kūo1liā1ceo1vīi1ciā1soe1gei1šea1nii1doā1lūo1žāo1šeo1zua1cue1mēe1guē1taa1doe1baē1ģie1žoā1gūa1zaū1laū1ķīa1piī1nīū1šāi1šēo1ļeē1miu1zāi1ķāī1koo1dūī1ķia1ķēā1suī1līe1čāē1ļeu1zao1žio1feū1tēo1kiā1zae1leē1bīa1dio1sēī1žuī1bou1mea1rēi1ļoū1siā1sīu1niī1kaā1ļio1tīā1šou1tue1žui1žao1luē1rīā1juu1šīa1ķeē1soā1daē1baē1rio1ceē1kii1ļāa1peo1šūu1ļoī1zoē1rūe1goe1tei1zae1vou1vii1fei1ņuā1zoē1zēo1jēu1reā1ņaē1pāo1žou1nēu1ņuū1dua1ļuu1mēē1puu1loi1jiā1rīī1rēe1rāu1rua1cāo1rūū1nau1ģeū1dāu1tāi1sa", + 5 : "at1tueg1rūak1soit1deeb1lāet1vīor1bial1šaap1dūak1naum1ciaš1leēr1ķeen1kuil1kiēr1kuat1nāat1ģēus1pēos1vīos1cian1raen1paej1dēaž1vīas1buīs1gaiņ1dien1touj1meor1kiel1zoot1nēes1kouz1guak1tiīr1niiz1hiil1pues1maāt1viag1rēon1zēīb1tuap1doīt1vīul1sāīk1līur1sook1tēēb1tuīs1laet1veal1moop1šaen1ceim1nīuš1ķaek1tiiz1cīer1diur1faan1tāer1baas1peal1suip1soal1cīat1deaņ1raēk1šuīg1liom1nioņ1kaas1leat1ņiid1rīun1veal1kūin1daār1baīs1žual1kaup1jīur1guat1sīīg1māāl1tial1vauļ1kuok1rēer1giuz1ļoak1šēīm1reiz1teāt1vēēg1niīg1ruil1cēir1muar1kuot1ziub1naan1čeom1bīēg1siel1leav1ruil1nuēs1teur1kāik1roep1nuur1vēoņ1luit1mail1jaēj1tēan1gaeš1paāl1ceob1rīur1viup1riēz1tāiz1čoap1šauz1ruut1rēar1toež1nīaš1ļuaļ1ceal1neis1sīib1šouz1nuut1ņuul1deār1hoam1pūēl1guum1viik1toēr1zeož1vaez1nīam1līak1seel1koep1siāj1tuum1zāat1jaal1ķīaz1dāor1toec1heat1cīen1koūs1kiīg1saef1riār1saim1poīt1rīed1viid1sēā1džāup1laēc1tees1puuk1šoāp1niā1džiak1laen1naas1kaām1diag1liog1rāag1dāoz1vian1kuīk1nēus1mūer1maāb1šain1tuob1tiap1cues1vāac1tiur1puar1kīel1lait1taam1leik1seēk1tiar1sais1muut1ķeār1vīu1džiet1nāid1kaāl1seur1naār1zouz1liān1kaas1veab1laaņ1ķeēb1tāel1vāal1žuat1pūat1goēr1lae1dziiz1dēab1seat1žēir1caēr1suuļ1mael1peej1veap1veīg1rāel1poed1loit1moep1nāuk1tuat1šoap1šāār1čoak1sēek1tēom1peul1goum1dīec1siēd1vium1māiz1mook1zāāp1roāl1koāl1vēed1poīl1ziof1rēēj1loap1sūip1šois1puin1feep1raat1šaor1gaon1gāak1šuat1joes1pauz1šaār1suuz1beik1sīen1šaok1teok1buur1šaor1ģeīn1taap1ģiiz1zuim1tīap1teon1nāus1jūur1noab1tien1jūop1soeņ1nour1kaan1šool1leūs1moās1tāek1tīuz1sīiš1ķāum1pāis1poob1lēap1zaek1doez1mēēd1lauš1kaof1rien1hīāf1riuk1nuiz1doej1gaul1riiz1fiir1nais1kaār1doen1šoož1maēs1tīat1sāum1laoš1paeb1toez1ņiej1kaiv1žuuņ1ģuik1nail1kool1muim1siap1taos1tuus1tīat1koar1ciiļ1doun1čioš1sien1zāir1zoi1džāuz1baer1vēip1niil1zuin1pūor1hiiv1deos1mēuz1pūām1pios1tūaz1bēal1deon1deuz1ceem1baēr1ļuat1nēār1tūur1cuir1kuāv1daīp1riop1rāej1niam1dīak1vaek1piup1veūt1maun1tāaš1maāv1jaum1tiūz1māim1teev1rēon1tiig1zaiz1gūup1rāid1pūār1cīār1līel1lēus1gaez1daap1cēej1laag1dauz1vaop1sēāģ1veel1toēz1kūeš1viuz1vīī1dzeis1mēef1rīab1šaup1maār1nīaš1vaab1riob1tāik1sāis1mīag1šaūr1kaāņ1muev1nior1daem1zeāj1loat1rūal1reil1cīār1miet1maum1daob1leāp1tuel1pāiz1ķeez1tual1tīap1rūiz1taem1žaar1giēv1reas1kāaž1kāeg1taal1gāap1leap1roīv1niop1kaik1viil1tīur1pīir1kīiņ1neiz1daop1reēl1niis1nuar1cēed1sēul1kaās1maop1baos1fēak1leeļ1mūēb1šuaš1rauļ1puoķ1vāār1šoam1diār1žued1pued1veen1reūk1liuš1piep1taal1vead1maez1ceēg1tāud1rīim1biek1raiv1jūez1biiz1meuļ1tīif1rēap1kuid1niog1rēēj1deop1koiz1tīun1ciīt1kaēj1nīēr1pēoš1ļaat1zuīv1gaos1naog1gaes1luāt1koaz1vaem1zias1kean1siiz1mier1vāep1sēal1sāus1cūul1saen1taor1vēek1tāuz1žoan1mai1dzīij1kuid1laēp1taēļ1kour1tiap1nīot1reeš1ņuun1deār1vēuz1ģīer1mūo1džuoš1niij1kāal1loig1loer1rīem1puug1ļoūš1doip1šaūs1tāoš1baal1lēeš1dauļ1ļāār1sūin1deem1toās1tuol1fior1māiv1puaš1laec1hoār1zaar1kaub1sīap1ziēp1toāk1tuer1teur1zuīm1kaon1juap1gous1loor1naog1noam1dāār1taēl1neer1cāim1nauz1zāār1noaj1ciip1tāit1ļuag1riār1būos1poēņ1daan1kūom1bēār1veaļ1ģeim1tial1tiīņ1niin1naep1lauz1diiž1meal1tēin1sied1maor1tuem1taug1sier1beus1rail1muār1gaeb1loīr1rūīt1real1laet1viel1diār1žiiz1caad1daēn1mīut1saol1poez1rair1šāeg1šoud1puud1lēuk1sēon1vuem1pāēk1bēār1dēen1zūāj1reat1loez1niet1kaiv1jiin1kuor1bīok1tial1siur1zīūn1gaēr1paam1biat1roēr1buiz1ķēip1sēuz1čiir1duuh1tāer1bāik1gaīš1ķiiz1rūit1daok1ņuēg1tair1loan1kain1dīes1vīop1maum1sīon1paem1pīūk1koel1tīuz1meer1vīūz1naeg1ruit1gaus1duīt1ņuep1lāur1vaum1zīīd1līo1džiār1buak1tāer1taēr1noēr1pāum1bien1caoņ1cūēj1muat1pīēr1gāip1reār1viaļ1ķoet1niir1gūāp1neir1suāt1meeb1tuin1cēaš1ķeip1room1daep1tīef1raū1dzaēt1kuub1liaz1beūs1kaus1paar1suuf1liūr1vīīs1zaaf1rēuz1ņae1džaiz1bēūt1dien1nīeļ1ķēes1kuaz1daīg1raiz1gāar1ķīer1šuud1kaed1riop1raap1liap1dīed1laan1rīen1tīāb1šoan1cūēj1daes1tīer1koūg1tael1zuin1neer1biig1meež1niad1miaj1niel1liik1šuāl1puar1gaet1taīc1šeuz1zuom1būun1kuīb1niar1žaēt1niis1tuun1zeaš1diit1nien1zēen1ģeer1peuz1zūul1siur1caap1fais1noiz1ķīus1viin1hoog1ļuūs1nuer1gair1zeēl1reēs1liem1maif1raat1mēur1rāat1hoob1juop1roip1liec1māer1mīak1mues1saīk1lou1džēur1fiid1koār1ņuuņ1ģaīk1liiņ1ķeas1kēil1deār1kūul1boez1noen1mēab1rouz1gūek1ņuož1ņāat1kuuk1sauk1loar1doak1tuār1duik1cial1duen1peal1vīun1tiul1leos1cēec1saīk1tiār1dāēb1juap1čuub1rāiv1paos1maoš1ķeaš1puum1pēēp1tāek1siīk1ļuuļ1ķīūš1kaal1peīg1nāuz1pāāt1rāīg1nuik1luāb1tāum1jiab1soog1leir1teīb1tāil1doem1zēar1ģeot1veap1gūid1vāār1deāt1neēt1saad1doen1jaer1naēk1liiļ1ņauš1kiiz1nēoz1vaez1gous1bāut1riur1luib1reej1teok1hoen1zueb1rāem1tāed1māah1tiem1tium1sāaz1tuur1sīin1goār1diap1ņoīs1cīal1bias1niek1seal1liuk1naal1nēiz1mēer1ceūs1mual1tāul1fāēk1loaz1gaer1zāir1guig1rīen1dēeč1tuep1ļaēk1tauz1dēur1suīc1kuit1biāk1kāāp1tāeļ1ceed1rāib1rāer1miāb1rīiļ1ķior1mēem1pios1vāas1zoaf1rāež1pāūs1nēān1veeļ1ķioš1gail1žuen1vaīt1raak1riup1tuad1kaeļ1zīir1nēec1veor1muiz1mīīš1ļaab1veer1riū1dzeūz1niin1kaīķ1saud1peus1mēiz1rīon1rāaņ1kāat1zeāl1reem1jaim1sēīk1luek1vaat1bīis1lāos1pīār1jāas1māol1nīīg1tiem1poīg1tāed1vaar1daor1pous1nial1lāos1tieg1dauz1bāūt1rīag1niiņ1dēiz1zois1meat1biaz1tiog1raen1laat1doap1zīam1gaus1tioš1ķiis1tāat1laēj1tie1džāec1kaor1ķoiz1pūuļ1zier1deuk1ļueh1niēg1toēl1siēc1nāap1pāāl1noar1hāat1guob1ļaap1bouļ1ķiuk1lēes1biar1žoiv1coel1miēr1ciik1mēap1dauz1ķīim1puīk1laag1ruiz1dīer1ņaat1ņuor1piēp1niūt1ņueš1taar1taun1gaoš1ļieņ1ģian1tēat1sior1teiz1rāol1viiv1cīaš1koām1riāz1tuek1sīūk1tuēk1ļuir1sāel1kuek1suaš1ļiiļ1ņuiz1siir1giat1haar1tuem1buāt1saek1ļūen1tāiz1šuas1poir1taab1reit1leūk1piuņ1neaš1viām1paār1sēok1siog1paut1rīin1jiig1noiž1ļaēb1niuk1maēp1šuol1vēēz1taam1kāed1foāp1rair1ceul1lias1noēt1raon1taur1ņiur1biiz1cēus1kieb1šaož1mean1gīāv1jiip1siur1nēak1šaeņ1kuab1liil1vīis1kēom1pāir1mīip1līēn1māēr1šāāk1dael1nāul1peiš1ļoēj1puāl1līud1koer1viak1tēīs1kaag1tāī1dzīat1vuar1mēar1sēeb1lēod1kāūr1viot1ņuen1daaz1duāt1nāoņ1meāl1baeb1šouz1māan1zīag1līot1buil1poēr1ķaur1cāej1boaz1zeiz1žoop1ļāīg1šuēs1luat1māeg1loīt1riir1tuek1sāik1taeg1luur1vāun1bēuz1mūež1zieg1tāor1maob1gaav1koel1baā1dziat1ģiāg1neēr1zaed1rūiz1huaš1ņaāb1siuz1niet1piāz1vāu1dzien1tēāt1reūv1noum1suiz1ciat1rauz1rior1taāk1luik1poāš1ķiār1peap1ķīuz1būuz1pēuz1siir1žaan1gāap1šūi1dzeat1juat1fois1neez1rēas1gāal1guas1tiūš1koes1tāal1jēin1šaab1lei1džaēp1jaeb1ļaub1leab1tuād1miiņ1ķoā1džaek1liun1liek1mēok1līēr1piēr1puiļ1laep1kaem1liez1naid1maaž1neir1reēt1diam1zoūr1foež1gaim1toūp1nīat1duim1tāūg1šoen1sial1geal1dēeļ1ļaap1vīār1cuež1ģaiš1reār1neul1jear1mīoš1kaīn1vaēr1maok1nuom1raap1jāus1ceun1māek1šiob1lāēr1sāet1neuz1deil1boit1pāar1tēed1kool1vīot1rīus1seēt1tiiž1ļuīz1deen1sāis1laik1teob1toag1lāit1koep1ciāg1tiūs1leek1luus1māār1zeīs1tuar1kūir1deed1jūor1fīēt1liūs1māel1noid1ruij1koer1veec1laaš1moem1zouz1bēer1foeš1ķūak1līel1luib1liek1nuir1ņuaš1nāēl1gaem1nīiz1vius1teis1haon1joaz1kaās1taaš1taiz1vēer1nēuļ1vaab1lēan1žuoņ1veil1buem1paob1seem1joīv1suer1cour1toēg1vāin1ciak1ļūuz1šueņ1laūg1šuāg1tuūg1tiīt1vaer1kaol1šūiz1čuus1keur1bēāp1riak1ļaūs1kāos1vaer1zeēt1nīāj1kuen1žouļ1veis1ķeīg1siur1meur1bīon1hīan1diāj1māep1ļēaš1ņuor1viad1voaz1guuz1lūit1piak1šoap1siās1toin1team1saap1šoiz1vouz1veuļ1ņeuz1fouv1sauņ1ķauz1taug1ļuek1līok1seok1viaž1ņaoņ1saab1hāiņ1ciug1šāek1rūij1paok1veap1heut1boel1zāor1dian1goiņ1ziek1mīap1bēon1giaļ1meab1ruig1tiur1beu1džeek1viur1zeūm1vaum1muaļ1buāt1ņuom1reug1leez1taam1buat1cēēp1juez1saat1nian1meuz1noār1lēul1kāar1puiz1ruan1žieņ1ķēod1niis1naem1zāār1seat1riit1ruuš1čoil1veal1taoš1vīēr1poil1piap1pēis1ķēēr1saār1kuoļ1šeuz1piav1roog1rūīg1ņaī1dzāil1zeez1veūr1teon1dāup1daiz1nāim1diul1giaz1mēā1dzeas1lēok1ļaak1ceūn1veek1look1tāap1joēr1guil1nāiz1heuļ1ņēīt1ruīd1seak1rēāt1roat1daiz1žāol1tēūt1saas1kuīn1būīv1sior1noot1ceol1deab1paēr1peoņ1kook1naev1zeus1riip1tieķ1tuop1taīs1raer1zēof1rāur1dēot1kais1ziēk1mīiz1neag1rīon1siir1pēer1niās1vian1zaēl1gāap1duek1lāār1ņaum1paan1faār1pauļ1soar1peeš1ļaēr1vief1rāog1lait1pēin1jeut1maig1nuēr1teaz1gāāl1deār1zion1feon1maib1taat1žuit1līit1raok1beis1žēēz1maār1tier1ruaz1jaēg1lean1niaz1lēuk1niat1līeņ1maik1vīap1bear1neip1taap1žuaz1puak1raul1veis1pēež1saiv1maār1šuek1naos1laik1tēēs1laes1laat1kiiz1luur1leīd1niit1seej1maiņ1siār1lāus1vaus1ciif1teel1tauz1gaak1tūor1veiz1ceoš1kāēt1ruad1rēet1ņuik1šooz1mair1tiuz1daūm1deel1tēēz1tiit1rēaņ1veap1zāat1gaup1deās1naap1tuāp1ņuin1tēās1neap1reir1kauz1tīuz1goat1ļāad1rūir1ziīv1māer1sain1tiāb1juiv1siep1joe1dzēel1siij1žuan1duiz1tāil1lāul1bāis1cīag1viāj1rūos1loīk1lāāb1toal1nuāt1kieņ1ķīol1kūun1piec1reuz1čuul1dāen1roir1dien1čuul1joul1ceaz1vēap1jēāl1zīūš1ļoog1veag1sion1suog1caol1guār1zāig1liiš1saot1rual1vāam1tīās1teud1rāēt1kouz1jēāl1guet1meed1raat1cūol1zāuz1žāul1gāok1ļuīv1zeat1veen1guum1duo1dzīup1joap1diur1rūīv1mūūk1toiz1ņuuz1šāuļ1būez1piin1vāal1jain1veiz1buap1šuus1zeob1rāēk1meil1leēz1toīk1deēj1luar1zoec1mear1zaol1buēj1peul1teīd1paal1kien1zoiv1kaāl1teok1noa1dzeit1vaār1jūun1goiz1kou1džoup1tion1liiz1čāil1gāer1guiz1zain1giū1dzour1nium1bēed1muēk1tuār1soid1luar1meir1šiik1šaej1zaap1haīv1līas1gaeg1šuiz1bāev1juap1cear1diem1juam1boiņ1maet1siāk1tīis1daid1puiz1leet1noul1daur1tāem1gaēr1šaor1miak1kāiz1māab1vēok1piir1bēīg1tuir1sīeņ1ciiz1sāuz1heeļ1ķeeb1kāin1čear1moēp1šoeb1rūon1cūer1paīg1naus1taār1rūis1līēg1lieš1reuz1huak1reīn1dael1deum1jaak1nēob1tuek1toēr1bēir1ciih1tiov1nual1beaļ1daot1rāēr1ķēud1maāv1juik1liar1duuk1suak1sīus1leāt1būug1šaag1māēr1tāuz1nāuz1čīēs1tuiv1tūun1koer1mēor1ciun1kaīt1ciūk1niār1gāoz1tais1pief1koāš1ņaig1niur1cīaņ1ķīec1tiil1tuul1suan1joek1vāal1pouk1tīāj1niām1jaēr1liah1tuat1vēil1nēan1keas1cier1jees1nīid1guān1vaus1fiār1siēd1vaul1vāel1nieš1maun1laal1maun1duan1houl1šuel1mual1žīel1rūul1ciar1ģiat1voēr1biil1vēus1meat1liuz1muav1daēg1tuuz1ļueg1vīēb1toad1juir1moor1fēel1nīiž1ļiem1deap1paūg1šaul1buēr1muas1vieb1ļāas1piir1sūuz1vēās1nīur1zāir1boīk1dait1nīar1pael1doēr1leor1fiēt1laaļ1ļiam1bāāš1ņāus1joeļ1nieļ1nīus1jain1guig1nīed1ruuj1bios1teem1vaar1loig1luak1lāun1baiz1būam1zeis1tiit1neuz1sāep1lēiz1bīār1nēeg1laiz1duēg1dēān1zaes1loim1deat1hiar1ķiiņ1veēr1zēuz1lāir1viār1ruoš1ļuat1teat1žāun1suon1tāod1laār1ģeēs1loal1kāaš1paūz1neār1čāur1jeuļ1ķaak1ņāīr1faes1kūār1šiar1baār1šair1dīid1nīuk1dauz1žuār1vaot1raam1doiz1ģiep1līem1siāl1tain1suol1niub1ļuiz1ņeap1čael1zaob1jāuk1tēap1māal1riot1zair1dāav1niūr1muit1miog1ļūer1zaek1lēūg1teit1mēoš1ņaāk1leaļ1čūān1līe1dzāum1beet1rīek1saal1leuļ1kaiv1niēd1mēil1dīul1tiot1leat1gāiņ1sēat1caaļ1rāab1suīn1buip1rīuz1rauļ1deem1koat1čoop1vēa1džuuz1ķiir1maur1boiz1peem1tuāč1sūum1šoap1ķēāl1saas1faož1ņaem1dīūz1dael1piir1saāz1moed1roil1siīk1nauz1cuos1puag1šoiv1vaīd1viiņ1roār1čuid1neeg1puum1kouš1ķoār1kaīļ1bāak1veez1gior1laaš1pāīg1vair1šīiļ1liēr1sīum1šiīm1juub1jeep1liat1poāl1maam1bīiņ1ķiāj1raas1tūeš1tūen1teīv1maet1nīāb1puos1kuis1tēok1ļiiz1rēiz1žiel1nuiz1pāul1tāoļ1koēv1vāos1lāor1tīāb1tīaf1roēl1zīāl1ruan1šuus1tāor1doer1ciīs1riēd1raim1daar1beil1kuiz1mūit1rāup1šauz1sūus1ruir1dour1gaek1real1nāok1niek1šuob1rēir1žoār1dīeļ1maaš1ciil1paū1dzuek1šaār1moil1giuš1ņael1mūās1kaēk1šaor1ķiār1nuaz1ruās1tīim1šoum1zeīv1soūt1nīap1foag1šuil1maīc1gaēr1tues1miūs1mīīs1tiej1viuz1naon1naid1roel1mēos1peop1luēc1kaar1pāup1ciūs1maag1reūž1ņaol1gaan1taun1dial1koul1lāir1koī1dzoos1vies1lēus1maec1moiz1veaz1raāl1cuid1rāan1žaoņ1zīum1tāaf1raum1vāār1rāab1vīū1dzīi1džiēg1šuin1žaed1ņeec1tūor1neeg1maāp1jaār1šīep1reis1veol1feop1cias1teār1šūež1kuiņ1tūes1teek1taēl1cuār1naus1jēil1teāv1raāv1ceaļ1vaum1niak1niār1rēet1riu1dzīon1tuup1leam1bēin1toād1nīin1taol1maīk1buan1žāāb1maur1ķīak1viat1nuis1biol1veog1neīv1biok1luār1čīug1tiīn1raig1touļ1ģiār1maum1jīē1dzeap1rēis1nāūp1koun1siil1tāap1ņuol1beos1miig1laīl1nior1būip1ruak1cīeņ1ķaez1gīoņ1sāāz1niān1pāus1puād1neus1poīn1deāk1baā1džuur1sēat1baāp1tiūv1viah1tāut1nēem1beap1naul1paob1jeāk1ļaib1tios1veud1vien1pāāv1niiz1vāeg1roop1siap1puam1niat1taak1lies1neuv1juar1rīi1dzues1rēob1loes1liog1mauš1koan1zāig1tuan1beim1pēic1saeb1kauz1zīoš1maat1nīam1dēuļ1baār1muup1jāār1hees1mēer1haēl1diih1reop1jail1gouv1veul1puil1duaš1miāl1veār1luez1puat1soīs1caek1niēg1nāūt1roap1ķeab1puiz1nuiz1ņēēk1neež1joes1poās1noūv1niaļ1saaļ1ķīē1dzoip1noap1vāīk1tāār1čūuz1zeuz1nīon1duap1huez1nāuk1ļiul1biad1pēat1pēēr1zuuz1čāēs1toaš1gāāt1noen1vēis1beet1rūāk1tauk1tūij1niug1šuus1ķiij1veel1šuul1vēēt1rīag1ļēes1peēr1šoak1rāeļ1paec1rīez1loēk1luel1vaār1ķieļ1poam1paūt1niiš1ziid1mēuz1dūēk1laiņ1taol1tāīk1šaīt1nēiļ1jūit1tūis1paap1sāiz1soež1ģīud1rioņ1nāam1lūiz1pēak1vāal1tead1riak1gaār1bāap1rīor1bēaf1tiuz1duat1šiug1tuiv1zian1seeg1toūd1rāos1lēār1riel1gaēr1deir1tēem1ļaus1naim1doāt1veur1maur1ģiīg1niīd1koūd1raiz1vīed1rīat1jāil1moe1dzaēk1toār1ģēiļ1ņiiz1boas1roum1zoor1puar1kāik1koap1caīs1baas1vāat1mouz1puēn1gaam1bauk1šiag1toiz1ziuz1tuul1nier1līeš1ķēen1ziat1zoir1šaez1sius1soam1fīig1tāe1dzuap1kāār1roes1viag1lair1mēad1veit1dium1noap1lāin1gaop1šoa1džāer1pouz1bīun1rauk1taar1veīn1saap1viēr1ceog1lūaš1liaš1poe1džuap1muag1luor1beam1neol1diiņ1ģeit1naeļ1ņuuz1luās1meār1sīur1kuur1peep1naut1naac1dauz1leik1kaar1fiab1sier1zīār1ļuap1jaul1tuis1dian1gear1līug1tāon1soud1kāeļ1koiš1ķīum1poik1ļaūg1tuār1giēr1niet1vaap1loēr1ķīiz1tuīv1lais1juod1baaz1roūs1diup1tūūs1nīeļ1loap1bīum1taīs1tīeb1rīuš1ķēep1tūeb1līor1žeup1raēt1maak1roir1laat1čiog1luūs1kuut1rāil1noec1dean1bāaz1viān1gaēj1ceeļ1veer1ziel1saīk1taīt1rāār1feum1kair1siag1ļiip1kaak1šāar1kiek1ļāar1bāed1daos1leiv1jaiv1kāūk1šouļ1vēēk1tāoš1ņuog1deok1ļoul1dēik1saam1pēūs1noum1tous1čuod1kaas1loop1mīup1tooļ1tiū1dziīr1maos1kāal1dīok1vael1tuap1piis1caos1ceāl1viir1miuš1ķioz1tāis1teig1šaat1rāar1žuos1kūim1šaār1toum1boan1saaļ1ļaēk1diāj1kaak1tīar1tīos1tāeg1reim1saul1sīag1meil1lēon1ceiz1jāiž1cior1kuaz1noim1pāof1seop1ļēāl1kaēs1tioņ1deer1laār1ņēuz1kuab1piar1naem1šaer1kuim1pein1tīes1mīīv1douz1mouš1miak1lēaļ1laup1lāok1taūv1meem1žēāl1rūis1pāar1leeš1vaeņ1rāad1neon1kuīs1siab1dail1luar1vaan1koez1bēež1liil1gaat1tāiz1kūar1nuir1māad1jeik1raan1buop1riik1vāek1šēap1ruuz1ņiiz1beat1viit1rour1tēen1poap1jūiz1ģīol1rāar1goah1loim1paī1dzius1luir1žuat1cuam1viag1tiim1juep1ļāec1gaon1diān1kāis1fuat1ņēāņ1tiat1čūaz1paik1paov1boad1sier1lūir1bāum1tuuj1koež1vīab1loūk1laos1paul1toap1žēāv1maez1zoeg1māap1toiz1kuos1luor1vāok1rīos1toal1diis1luē1dziāt1liaļ1lian1čueb1laeņ1ķoak1rūen1riez1beēr1nēeļ1ņāab1rūun1saiz1zīaž1daūv1soaš1ķīit1kāap1buē1dzēa1džoīb1šuus1lāad1reej1leek1roat1suap1ļuež1cier1raez1vēaļ1koog1reur1jaer1zuār1meav1tīon1tēat1fiir1biob1liuz1jūaš1ļaāb1raur1bāap1nual1ģian1vīon1dēep1tēez1deum1deup1juīg1teod1deok1sāat1jēār1zuum1dieš1dieļ1moiz1dein1gāač1gāip1seiš1ķēūn1zeāk1toeš1vīēņ1veap1laoņ1niim1niut1roet1deep1paaš1reup1jaus1piuj1laāt1tiop1lean1nuēj1māas1lāam1miaz1dēam1poīk1piūk1tāār1goap1mauf1raīg1taad1caār1ķēek1voam1teiz1zāar1keēr1māen1dāeg1līat1ciur1ciāg1laaf1riīk1zeer1cuad1vael1ciep1noag1neār1zīeg1rāeš1ķīan1tiiļ1dāud1muāl1liub1veuz1peuš1ķueļ1tēor1čēog1pueg1nēop1laal1dūef1rēīt1niek1nāāz1beer1tier1noos1foēr1gaat1kaer1goor1ķeer1moun1daan1žoez1mief1paek1rīūp1lieļ1teār1tāot1riud1lius1zāas1tēiv1dais1koil1zaīg1touz1buer1tēap1sues1ziu1džuuk1liiz1lūit1tiīk1kāes1pīuz1vuūž1diūs1liāl1pook1reāk1ļiīž1meeš1ķaat1ķeāt1rīiņ1šiap1gaum1jāīm1jaez1roiz1jēes1sūeš1vāog1riār1loal1soiz1līis1kāep1tieg1biār1laar1voēp1siār1gūeļ1gauz1kūiļ1leo1dzean1sēat1nook1maal1saek1riep1leen1rīeš1deez1jūik1sēal1giep1roīv1ciid1pooņ1piod1raej1puir1goel1main1seet1saīb1šaaļ1ķaol1laat1rīat1dēīļ1siār1ņour1miep1loāg1šoec1toob1veup1tāāt1raos1koal1ziel1duiz1vuār1piat1šāul1tūil1dēap1mīar1lēer1tāus1muis1huoņ1siāz1veīp1neāz1toiš1maol1vāem1zīāl1beal1šous1koes1gain1faāj1viat1diat1žiap1bāah1taēr1nāel1meīs1leiz1jaēb1ties1kaul1beep1riež1zīot1vēas1laat1ruer1māed1reēj1maav1ciak1dous1nēeš1gaap1cīāt1zīas1paāk1šaes1taib1loer1ģiēr1mīeļ1diat1lāak1teaš1vīog1lial1gaaš1kīār1fies1toūt1paon1koār1ciām1juel1ceīs1tāec1nial1kuat1huer1feār1mēēr1mūul1dion1gaār1pēar1pēās1nāam1fiāt1pean1cooš1ņoeļ1ņiaš1noīr1naāk1šoet1koig1maan1tean1bae1dzīek1šoum1buir1gāom1leūm1veal1naiz1vaog1lāūk1tail1souz1mail1šaoš1ķūat1zīās1moēr1naūž1ņoum1nīeg1vial1tūon1seiz1žaek1teep1lūep1seos1tīas1taār1beiz1šaoš1ķoāg1riīv1kuāt1naaš1ķiēr1dēir1tāak1saas1toaz1jūun1meap1pūep1tour1veen1maēc1naeņ1ķuār1leum1ziuz1cēez1paos1kaab1rīer1ģēet1raīt1naap1čīok1rieš1peiž1mais1šaāz1ģeon1dīep1tāam1ziīg1loiv1reat1luāl1ciez1vāiz1tial1māug1liil1biiļ1ķuaš1ņāiv1baik1šiīk1meap1kūun1giuk1nāal1voup1looz1vēēj1kaap1rāad1liuz1juel1paen1liat1čuīk1būat1dāup1taiļ1ņoar1pīak1vēēc1gaeb1neaf1liol1kaez1foin1kian1giak1loup1siej1vaag1tuek1ļoiž1vīas1ziir1līen1duuz1tāif1loeļ1ļoob1līum1sūon1cian1dees1līēb1siib1tāil1dauķ1kouk1šaāj1peej1buūv1kaar1faoz1veīk1rāup1māūs1toir1nīag1looņ1raiz1sūīg1cean1dūiņ1vīe1džoār1daīn1māār1juer1voar1sei1dzēiļ1piit1puur1said1daiš1koeš1ķoār1poev1kāīk1rūos1riik1noār1tuur1kooz1tuom1piar1šēon1nuuņ1ģiur1šuab1rēīr1kūen1cēem1jeap1vaav1ļaaļ1biuz1hiin1čaon1fuār1sāoš1mīuz1rīil1kaun1tēas1miiz1gaār1māāk1tāik1loim1pior1paaš1roum1mēīn1teež1rūab1sauz1mēa1dzaas1saun1gāag1mīeš1mīeg1šaak1ruēt1rior1seus1noit1māuz1poin1čoiz1suis1touk1viir1toum1juuļ1sūin1dāum1tēar1šoīk1koer1meuk1siīv1piēr1mēas1tīin1kāen1zaal1buor1ģia1dzīen1saīs1taeļ1deū1dzēuk1tāec1viūk1leap1čoēd1niān1ceif1tuīk1diāl1vaap1guen1dear1deap1mūon1tees1daud1ciat1seūp1niin1haap1deal1ciir1puum1vaok1tuug1līaņ1daep1šael1suīk1sieņ1ģeaļ1fier1siop1juod1leīt1paak1nāap1nēar1dīek1zēat1ziāt1kaāl1mēem1zaum1puap1žoēj1sūen1leiz1lēer1zoum1dāur1žueh1noab1kaīs1vēīb1šoas1seul1lēir1kiat1čauļ1ķeāz1maip1nuar1nīīg1līad1raez1tiīk1raūr1ziap1vuib1laīt1kāiļ1daēl1koob1lao1dzaep1nīes1riup1jieļ1kuik1vees1vēer1loum1doik1lāem1žois1soom1juij1kaen1niāz1neīv1diif1toun1jeer1daen1kāūt1raen1geāp1jioņ1kāal1viēr1zāen1gaīr1kuar1teup1rīor1tiar1ķēel1līiš1laan1noec1piēk1šoan1daāp1šuiļ1ruež1līed1rēed1kaat1kūīb1siež1ņaam1vaun1dīār1nāal1meuļ1zees1tēāj1baāp1šoap1poen1zīer1sīig1roat1buum1sēel1cēās1niar1pūod1veoz1gain1douz1miun1mēuz1kaig1neet1paol1siab1raon1toos1kīaš1ķaiz1seīn1pieb1rues1nuūt1ruik1rias1luiz1lauz1ciat1tēon1daāp1šaēp1neor1ceep1rāūr1māež1vāup1jēeh1loīg1ņāus1liec1tēāt1māak1nuu1dzēez1near1dēēk1daet1nēež1roir1kūap1lūīs1tēus1baēj1zoī1dzuat1leēg1naep1tui1dzaaf1taep1deīļ1veod1roum1šāen1seeņ1raas1tuat1pueļ1daāb1baiš1ķaāg1šail1bāūš1tuud1saat1ģeum1šuaš1māen1soeg1baam1reud1roov1naik1reār1rīār1niež1rai1dzoīs1toan1šear1juiz1ģēaz1dūēr1meoņ1gaēr1tēid1moīs1fiat1mīal1seil1haep1jail1ceof1raum1piuz1rēaš1ņoel1žaap1ņēar1buiņ1reij1puer1žool1taez1vaaļ1ķiil1nīag1noul1līib1riāt1rium1pīūg1tāis1fēak1sual1toel1žuap1ģēiv1gaal1zaaļ1dēēr1siār1ņiet1rāaļ1ņium1zuūg1siaz1māin1koīg1riil1šuer1vauz1tūec1cīīs1lia1džiu1dzāam1žuuz1fiiz1nīir1dēev1gaiz1čaiz1puup1šuiz1guin1ceuz1dīāb1šuor1bai1dzāa1dzoes1tuāz1tiel1māap1voub1lēaš1ķēīs1vien1joas1kiik1tīok1leur1ķuin1gīek1ļuuz1touk1leir1buāg1touz1neas1koek1rēur1doob1taār1jouk1noot1līur1teuz1reat1maat1žoēd1neat1naus1kaal1vuib1šuiz1dūug1kouz1voat1zāeg1zīūš1gail1niuz1roel1puūg1toos1māul1maas1maal1niut1raug1šēat1sēin1foeļ1būuz1jāēt1vaēk1baik1diīg1leop1neur1vīār1dūir1cēēr1sēas1jaes1moil1ciaz1liem1šuap1luer1nāot1rūuz1čoas1dēos1moaļ1gaun1teat1neom1baok1raen1vāap1sēan1dēol1dēap1ļaek1sēad1soiz1pouz1līīk1neud1rauz1kour1taep1šoud1miār1kieļ1viūk1tiīg1roiņ1tiur1dueg1tuār1boes1muar1ceos1kiiz1tēev1māān1koer1geē1dzīen1baīv1baot1muēb1taīn1rūūk1ņaop1jois1loob1ruur1liēs1leur1lāēj1rāul1koāg1tāiv1kuām1gao1dzēī1dzēir1zaip1rāat1tūiv1viop1lūāp1siem1meap1žāār1mūik1šāil1baan1zeon1doil1heek1ļael1nēāk1reuk1seēr1soef1reūt1rāip1tuam1pāak1ņuat1meūr1maik1tāam1puaz1deen1kiiv1moar1geīb1tiuj1maos1taas1naēs1maom1boeb1rēer1žaāt1nuež1kouz1tēup1niig1nāan1naaz1kuon1tīar1sīek1tūeņ1meos1vēak1šīat1rēer1bueļ1ņaog1roīt1līij1roūk1siār1žāap1dāuz1paek1ļiiz1tūaš1ķoim1taik1nāat1jūēg1noā1dzēem1teer1ģeāš1ņieļ1taap1līul1lauz1biīt1diud1bāen1tuun1neuk1soīv1tiol1jeed1liiz1niēr1šueb1siēv1zeuz1zaer1neom1paec1kāin1sauz1žaūs1taap1ļāūv1gaiv1riaļ1baob1šair1zīaš1mēāt1ruaz1saiš1ķiok1nāor1moiļ1ļaiņ1ruuz1gāuz1vāit1riom1deis1cēis1miop1gaat1čīar1nēuz1hoat1bāir1žiel1fiir1near1dāuz1faap1kiur1dāāl1zeār1lior1buap1tium1gaek1ņaal1pius1faār1vouz1ģie1džiig1nēuz1teot1vaag1ļuos1pāīk1ņāīk1šue1dzeiš1jāek1veat1ļaāl1sior1zāul1loab1vaaņ1ķiār1ķeur1voap1zeem1nioš1ņāūž1zaēr1cēap1hiek1nīuz1ņein1tāun1cēib1lāīr1gais1kuuz1zoug1šiam1zāas1meun1dāak1sāit1ļaur1nīuz1ņēēz1tuab1tāār1šāus1saīg1šoeņ1caop1loāp1toel1mīeč1zieg1kual1pēik1rīal1vēit1ļoem1mēiz1bais1dāīd1mēen1veap1juol1koag1leap1tēāt1nīāv1vaet1soan1hieš1kāir1šues1lāos1meis1tīur1neet1nuap1miūz1maor1mīas1zaan1cēes1nial1faēr1bour1ģeāg1siis1deīs1saat1miēš1ļaūg1daūs1nāār1raun1kāok1liē1dzūēg1nual1boop1daet1ķīur1piār1puok1sīit1ļiap1saip1ciar1šaav1maec1vāiv1doūs1tiat1dīār1žēam1naak1ļāiņ1meuz1haar1mieļ1ļiēp1tuof1toag1rāil1zīēg1šoil1sēis1baap1koug1šoot1māiž1niār1tēat1šuep1šuuz1ģēag1lūup1luām1gāar1šīit1veak1mauž1puuk1teuz1loik1ceeļ1rīet1naāl1raoz1tiiz1zeap1zoir1nāad1leēt1hoad1moun1taa1dziaz1koāl1pauz1nēug1maen1diiz1šūag1rūīr1raas1pēok1ceen1cīil1māop1sual1šuof1liev1maab1ļāa1dzēud1ruir1zāod1biol1dāap1ciil1dāok1pean1kias1vīod1ruur1pāāj1gaēr1daep1juiz1reiņ1kaār1mīat1lēir1sēiš1ļaēg1šaāš1ņuar1gāav1laaļ1niiz1foil1laer1muup1šois1maāl1sāap1ļēur1dīas1tāul1tēes1cēud1līon1veuz1ģeek1meāš1ņoek1laāl1gaiz1dion1voer1tīon1jauļ1žoār1foak1rīev1biij1cieš1raum1joaz1meim1šuaš1daor1tēuz1rāār1vual1bain1geab1naan1ciīs1lāil1šāam1zaal1joek1leim1dāiņ1deoļ1vaiž1raam1mēok1rāer1leok1vēok1rūuz1ķēeb1tiāv1laa1džaiz1ļuon1kauz1doār1ķīē1dzāan1nāāģ1zouz1čaīt1biam1daat1kāēj1koul1duop1lāuk1šāik1nuoh1roat1tieļ1dāit1liuļ1ļaūs1miat1heat1toec1paaņ1paom1buig1tīap1meer1soan1tuon1fiaš1niīv1jaoņ1mail1rūap1peem1diār1pīer1žuit1rīal1tuiz1kāan1guim1tuan1vaīn1dāel1tiap1sīēr1beez1gaēt1kius1tēīn1koel1zeab1līar1tāaš1ķūen1viil1faik1tieg1riet1vāus1mium1teeb1joeļ1ģiar1haal1miig1lāek1vēis1leeg1rēel1tāap1ģeiz1rier1toug1toel1loār1lūel1sīel1fīoņ1dain1dueg1siub1ļoun1zēar1bīiz1juap1nāat1ceej1daam1vīeņ1ķioš1ļāij1meob1rae1džeap1pīam1piīķ1maop1teuz1cīoņ1teat1vāap1ņiuk1lāir1soak1meip1loik1caap1fioj1neiz1paok1took1cien1muip1nīol1zaār1ģiāk1ļuēr1toāl1šāef1leas1liar1soas1mīat1reīs1coar1nāug1tais1taeg1ļuām1niēg1tieļ1rio1dziop1lēip1nāoš1ķēap1būim1nāir1gēīg1vāēr1nuāk1siel1moiz1ņiap1mēal1paol1tiun1vēos1mīāk1lias1pāēr1ķuul1tīij1tiim1faūs1nium1baum1meal1dāus1toiž1ceit1cīor1ņaad1rīur1baus1vāu1dzeoš1daok1mīež1ģief1liir1kāuk1tiuz1dāēr1ģeīg1tēūs1teis1viil1tieš1ļāik1meor1deod1vaur1ziiz1čiuk1nīaz1mauz1jaāb1joat1faev1riiz1joīs1pau1džaod1koeb1rois1liat1muat1saub1riab1meēļ1niār1huik1tuok1saem1dēab1lāum1saog1lēāg1taez1liob1ļāad1paig1naor1sāir1daan1sīam1muul1doār1čiuz1viol1hoem1zuut1niel1šouļ1viīk1šois1lēuz1sair1gīež1vaīb1neīd1lait1viēk1veis1saem1peēj1said1raol1dail1cauv1reār1tīar1būap1moil1žaa1dzuap1seub1lāas1pīer1tuīc1niip1raog1loib1luel1nauļ1niak1sian1šiēr1zier1keam1kaon1zaār1bēud1niak1haus1moār1ņeat1dūiz1žuām1maaj1muuz1čūaņ1ģiiz1hoēj1niir1niek1tuās1kuel1žoiz1ģeēr1ķiēr1seīr1sēiz1naob1roal1goum1siop1ļaur1tuor1tāul1cēiš1ķoad1roit1čeil1viuz1seoh1lood1neiļ1raīg1noap1nioz1niil1meur1daāt1doar1hein1tūul1fīus1guul1cīal1bāib1rair1gaul1guān1riil1guab1peop1toil1ziis1ķiuv1cīap1tāaž1reiz1pīud1beek1neab1ļaiz1kiar1māiļ1ķeok1roig1šuat1boār1pūīb1tauz1kāiz1bium1maor1koan1vāes1leis1ciop1mēām1puir1baos1tēig1rēok1daīk1leel1teek1ruok1māob1jaar1guiz1ķior1gāij1jūis1māūk1nēal1ceēs1tāur1laīv1bēar1boaž1viiz1liom1fiar1niār1cēuņ1niir1pāuk1šuin1fuop1ļoon1mēēš1laūm1juon1meis1jaāl1daāj1puel1ziēr1koīs1tūāb1tait1reēr1taik1neaņ1ģēes1nauš1ķīēk1sūāp1joār1jaop1liib1rēoš1ķaag1taob1jook1lēul1kuip1tear1cīār1teīg1šauz1kiās1laet1roās1tiar1tiiz1saāk1ziuz1sēem1šook1soet1zear1žīoš1viap1riad1ruu1dzoāp1nēat1zaūr1liiv1laor1vaūv1beep1nieņ1sāūr1vēāz1tāēb1šoev1lūib1kāīt1daum1šaug1saik1daak1luēr1ļaos1muīņ1laif1rāoņ1tūeg1neis1mouz1šūon1tūob1šoin1vaeg1lūir1piu1dzaus1laūs1puib1toiz1sēap1čūok1lāuv1muīk1saāķ1veiz1muuz1mīuļ1ķoar1hīēl1meīg1meag1veur1vuār1haed1niāt1seat1ņaat1sūūk1šuol1meūz1mēip1toat1tīēs1taus1veiņ1puol1vain1šiāp1taar1koēk1siel1zīer1nuaz1piār1bīuk1laek1ņier1roēt1bial1dais1peīk1muēc1puin1dēūr1vees1tūēr1miez1koār1koāl1lēep1teār1rean1ceod1kuig1ruīk1tuēž1veap1noul1gael1veat1ņeār1pāop1buiv1tiiz1dāig1raij1vaēr1diiz1louz1boās1nuel1ņaus1neev1geab1diuz1joār1kāeb1reir1nuop1tāil1liuz1pīāj1doēg1tīul1reeļ1ķīej1nīav1ļuaļ1ņuūs1gaim1foab1taut1neiš1ķuez1nuor1sēep1ļuūt1siik1leis1gaoz1toop1tiur1šoil1kāim1duēr1baiz1noar1jeam1duul1luot1nieš1siat1paab1toip1zāūs1tīat1mūī1dzaim1boop1tuak1taes1veīk1maūk1šain1diuz1žiiz1čīad1viam1šāiņ1ņaār1ceēd1maik1niap1tīap1zuep1sīam1peuz1lēiņ1ģiuņ1ķiur1paeb1raeš1meāt1nior1meuč1kaar1vien1gāar1šiuz1laes1kāuk1ņīap1gāer1vues1nāir1šoiz1sīat1gūar1maef1roeš1ķion1nīap1hoez1zioņ1reur1nuam1beek1nois1jēāž1niag1lēek1ciel1daes1piož1vīoņ1māil1pāok1laas1līen1zeām1viir1beik1līe1dzouz1tiul1taār1guan1soik1sieņ1zeiv1juag1nāār1biib1šaor1foūr1zāap1ņaap1jiēr1līu1dzuen1rāiņ1paat1ķīār1vāap1ļoār1caek1šāēr1kaīz1daus1diīk1toop1saiv1koāb1tiil1joiz1rair1seuļ1paiz1ņaār1faos1liez1maar1sioš1taeh1roaž1dier1sāep1sael1jeāt1ceek1lūan1dāig1rāis1zaok1rueš1ļiāj1muot1rēel1kaur1čūeb1šuuz1žūeg1veuz1ņuob1riap1biiž1gaav1vaūs1naēj1raiņ1nieg1tīuš1paag1maur1ķēon1goēr1neīž1niir1ģeas1kūēr1cīel1šaēr1nīāk1ties1māap1dēīn1meig1šoes1kiot1neab1rāab1teib1rīir1poaz1doen1sīaz1nīer1boal1bīib1lēaš1haes1vaet1ruez1jēid1gail1tēon1kiil1naur1gooņ1paur1līod1piīb1toiņ1vaad1niev1kaar1laāb1tuat1vīer1suus1kuiv1vēiņ1zaor1nīan1doūt1neom1bian1toel1dēuļ1sēel1jēil1čaās1lēas1puuz1suuš1kuom1poul1bēēc1mēeņ1koīv1zāeg1leis1ceis1niod1rāom1naul1miāk1ļoig1muir1meeg1raeb1taal1muis1kiin1joīn1vief1lāēj1caar1hiul1baom1jaan1kāam1būop1tēol1loam1māat1ķiad1hēot1maem1līāl1leas1mēūr1gaik1laum1soan1dīus1līūr1tain1žeip1riej1seul1kieg1buil1šoat1peat1čāap1lēeg1lāīs1reēr1veek1caap1soēr1moāz1taor1tūāk1šuem1ciok1neēd1nīes1tiil1peip1naik1vaos1līiz1šāod1riob1rūun1vaeb1kuil1toir1tīuk1roiz1cuāž1raur1dieb1juul1soīs1loēj1čūin1fiur1zail1vaiz1faal1doib1siēr1bāos1nioš1reim1baig1siūr1fiec1puak1toel1soek1rāīs1vaaš1mīen1tien1pueb1riam1maes1meūn1viak1ciēp1šaeš1niel1viov1kaēz1doiz1lāen1tūen1suur1nāot1roob1reep1žoat1ķēēp1tien1ciat1bēuk1toāg1šuil1mēār1žois1vaēt1ceun1roeg1meon1būah1roād1reor1niuģ1niuz1souz1rūīs1kāīs1puar1šuar1sāel1buil1taur1ķiak1neap1vēār1čaav1veos1pēaļ1raeš1ķeur1zoas1vauk1čiar1piuk1raur1mēez1seal1pīum1zaīs1deaļ1ruuk1koeb1leul1juāt1zeat1būez1viat1šūag1raāt1kāīs1teiz1jūeš1ņour1coar1biūs1tuit1kaen1sēeš1ņaag1roaļ1siid1riit1noež1maos1piev1tiēk1piap1tūus1mīel1hiiz1haeš1ļuām1vāun1guā1dzīāl1nīeb1liod1reāk1laab1ziaf1niād1niig1riek1gauļ1muon1vaīv1koum1raat1pāub1ļaer1nīug1ļiaš1keēr1tīap1baod1jook1ļūus1tuuz1ķeih1taiņ1gaēp1joun1ceil1šiīt1neoš1ķīig1taol1līūk1gaes1pēet1boez1diap1ķiuz1caig1māor1ķaez1toāp1juēk1nīat1ļues1sēir1paap1raup1liul1dīē1dzaek1sool1zīēr1coor1kaad1jaen1raez1baiz1goen1hāez1kaet1reah1veil1pīep1lueg1tiim1fāih1nīēr1dīap1čāēj1vian1tīeņ1tuut1ruēj1tāur1buur1dees1noam1pīun1vāiž1kuuk1luun1būun1tuis1nīub1ļiap1čiūd1rien1līes1pāiz1čūob1jiez1tāem1žuop1līab1luod1rīāj1sauk1cian1žēūt1riun1dēeg1gāur1pūil1diiķ1veeņ1kaan1tūāv1viīt1roiz1roāl1dii1dziad1rāap1neat1vaiz1maūv1koūt1nēaž1vaān1sauz1zias1vēet1vēiļ1buaš1vāap1kaiz1pier1šaed1naim1dēag1nēāj1buād1veeb1tāus1pūīt1saap1žiūr1niog1ļaāt1nēel1vēet1laog1ruiz1kaal1sīir1zuom1foeļ1jūil1bīil1sauņ1ģīej1saor1nēam1taul1šoor1pēem1duur1loat1beur1siēr1tier1šoat1pior1loev1naec1riol1baiņ1kāār1hios1fāat1lūog1niaš1saeg1liij1deeļ1mā1portap1au", + 6 : "il1nsair1ptiiz1šķoēl1mjuuz1glāap1slāop1skaek1špēal1truiz1smēēr1ktaus1kriil1bsiul1griap1skuat1frēis1pruat1frium1pjaār1brāos1tgaas1preār1sveūm1tveār1brīuz1fraiz1druēr1ptuun1dzāut1skaīk1šķoāb1stiiz1hloēr1šļoap1groat1šmīun1spues1troap1blēet1rkaus1griat1plāon1steap1šķīel1dzeab1sceat1kļaiz1prāug1šdeon1fliat1stuim1šteir1ktaar1bnīer1dzīen1drook1snīuk1šķaeš1bļoīt1ņmēet1rdeir1mbāaz1gruin1grāuk1skaap1spoāg1stiug1špaal1kvaez1tnean1gliudz1baūk1sliat1smaap1fraiķ1skāuz1smaīp1slail1stuiz1graos1krēam1stiuz1preez1glaīdz1jūus1trāiz1plaiļ1krāēr1zkaap1proir1snoir1smoir1mmeer1dzeān1prāap1bruēg1stoas1braek1šneēr1bšoedž1lias1truun1draāl1proār1grēēr1stāar1ptaīk1stuez1spēam1skāir1kļoon1gruiz1štaāļ1dziāl1štāīs1prour1dzuir1stīār1šļauz1gruel1pšual1frīek1šgair1mdīek1skuiz1spuuz1plūāk1slaiz1drein1ssūuz1gleom1preār1gtiudz1cīiš1brūuz1kruuz1sliuz1klāat1bleīdz1niiz1smīār1sniīs1spaiz1preīg1skoiz1žvair1gtiēr1btaīt1praat1glaas1dziap1skūuk1šķeat1dzīuz1štauk1lvaat1dzēār1šmaes1prāiz1bloal1stiat1zviin1dzouz1krēat1kvēan1brūur1ksiuz1stīop1stain1stion1stiuz1pliat1kveas1krēin1sdaan1smiap1stuus1tpuuz1kņuār1bloon1gliar1pliap1šļaus1kreāk1šķual1vjaiz1sniap1plauz1brāiz1brēeš1stūiz1svāēr1kšaug1staat1bloap1šviil1dnoiz1glūir1sdiim1proār1treiz1briāl1braat1briuk1stēiz1brūat1plēil1bšour1dzaik1lpaāt1rrauk1stiur1kšaen1džoār1svāap1krāīk1šķiat1rreiņ1zvaat1žvīār1blīēr1staār1smiiz1šmīug1šnaiz1skāuz1trīap1svīis1prāek1staat1slaat1trūāk1slīuz1knail1dviār1dziuz1šņuis1treiz1sviap1driel1dmēul1gtoan1tziis1kvīuz1kļūār1šņouz1frēib1stoig1stain1ktīir1snien1sneem1pjoēr1btuīn1skāēk1šņoik1smēes1trīat1šķūat1plain1gtoot1rdial1cvium1briuz1šviis1glīan1džūap1sleuz1pļēap1šķeiz1bleap1šņair1mreen1traār1traul1snēiz1spaep1stiūt1sgaāg1stoīb1staap1pļāat1kleil1gtuiz1spiam1traan1frauz1frāēr1nvauz1stūūk1stoat1šmaum1šziug1stāat1špail1ktiīp1sleiz1trios1troel1pšoav1staak1tdaik1snuiz1stūok1triap1gveop1spēiz1prael1ptāes1traiz1kniān1spēos1kvaol1steul1dzoek1šzouz1steuz1brīin1skāār1švīil1nvēūv1proiz1šļuev1skien1zdaāt1rdaēk1šķuig1stoēr1kšuēr1ktāiz1skūan1kreiz1proil1spial1ktook1zvēap1zvaār1zvēun1tniak1stias1triīb1spēos1mveen1sžuel1nruer1csauz1zvial1vtuat1dzium1krūot1frīap1klīan1skoel1dkoan1tkāap1glaīk1šņaār1gveil1dbaes1tmauz1stiat1drūul1ptouk1smias1trēer1troīb1stiid1spaat1trāar1pnaat1staek1trīat1šņoat1zveig1zdair1mpaak1tniir1kšoār1ploār1prāil1ntiom1svaēr1bjail1trāal1ktaiz1dzaiz1šmaat1dzaiz1kriol1skāen1tniet1stiat1truiz1špaur1kneīg1znaul1svaan1tzaār1tņuīn1krūuz1šņoek1tkāat1plūil1kniuz1žņaur1sliiz1treap1stīor1ddaur1graat1glāās1tniuz1žmiat1dzeāl1stiēr1slīel1nzeāk1steop1plaat1prāup1stoem1plāib1stīup1stiār1špaēj1plaār1hloap1frēil1ktoal1dzion1triar1gsēiz1frēap1broul1tneim1stīug1špēem1ptaat1grūas1tmaīk1steiņ1krūil1kšuek1skais1tviār1droiz1trous1smēel1ztaēr1psiāk1smeēs1tneār1grūok1griup1stēok1skoet1rroun1dzeap1trīuk1šķuin1srien1triāj1dzīap1friet1rpauz1kluik1smeār1draiz1kviēr1ptoat1plīod1praat1gluap1fliuz1griat1krīīk1stēoš1prāan1frēap1svail1btaek1smēār1šruus1tmāīk1smīal1dķios1trīin1ssēal1tgair1mkāap1zviūg1stoem1pliuz1bleon1speat1spāār1skoap1trāek1šliāl1skāiv1proar1krēiz1trauz1triuk1steir1klīap1knaer1spēik1šķaak1šķour1gšoal1dgaap1klaap1svēin1triim1tgain1šķiēr1bkaēr1stiat1skaāb1sleap1slīiz1slāan1gļuir1msāēr1pšaor1tlīiz1driun1ktael1dzīem1ztuen1ksiār1knaun1ktoap1kluat1traat1brāat1žvaan1kroap1smeūg1stiar1tmāin1gtiār1stiik1stēom1bveap1skoār1pleīk1smiug1sneap1krēen1skāen1szīāk1snees1preēr1ķtiāl1smaīr1skaat1slīus1krēus1skael1ptaen1ktoar1bgaār1trueņ1krūen1trēār1spuen1spual1ktāik1stiem1ztiāt1stāal1kciap1kļūel1nsiēr1nruir1dzaār1klīat1treil1dmaīk1plaap1sniel1kmeel1nbāak1smēāb1stoun1drāuz1gluuz1skaen1slīan1sliēr1sbaun1droel1ztouz1trāuz1spāap1dzēap1druin1dzeed1grieļ1blāan1kcios1krūiz1spāan1krūir1srait1skoir1msoun1ktīiz1slīer1ztoet1praur1traal1tmeiz1sluil1gtiiz1greek1šķīop1svauz1truar1ppain1dzēab1dziur1tniuz1briab1stuin1grauz1svaiz1krēap1dziug1šteum1bruat1droir1stiur1stiāl1skoat1kluen1kšout1skāil1pšuur1gšuar1knāap1knuim1braēk1stuiz1knāil1btoāp1slius1truak1šņoap1prāir1dzoen1krāār1spēar1kroiz1droār1brail1dnīel1dbaal1briuz1brēot1griat1tvēur1smeuz1šļaek1šteat1šņaen1sroāk1sloan1žsauz1plīan1trail1bšail1tnius1glāur1gtiīg1stuar1zvaol1lmēiz1kvear1glīin1kruap1kņuir1pšuec1skāar1dziod1ršual1tmauz1sleeg1spaap1šļiek1šķouz1spoar1ktoiz1zviuz1šķoil1trēor1treim1šļaiz1blēel1gtiuz1slēār1spoal1dkauz1breis1tzoim1fvaaz1praap1plīaš1kriir1pjiuz1šļuiz1slaem1ztour1krial1tnaer1dzien1ktiat1pļēēr1sloar1gtoūk1šķiin1dzues1pļaoņ1priuz1bļāus1troij1skāār1fraiz1truog1dziij1speij1stūuk1šķiār1trāuz1klaek1sčeik1stuar1ppiiz1šņuoņ1sliil1psiiz1groēg1stuuz1skuol1stīur1vciuz1smīur1zmaen1sveer1speuš1plēur1bšuat1stūiz1smeel1gšuec1staap1kraek1šdail1ddeel1kņail1dleel1psiap1stūap1pleuz1pleur1kšoār1dnīēr1pjuēk1šķair1mteug1ļķean1kvēil1gtaīr1šķiap1svāul1lpues1nvēuz1gveat1priug1šdaat1šķoiz1plīār1brial1dkāudz1maun1ssaos1prūiļ1ņveer1cheān1skāab1skaēr1sliār1krīal1kšuur1stoūg1snauk1stoir1mcēid1staid1slāut1skoir1stāār1proir1ktiār1kreap1gluas1tneiz1švīuz1spual1nrūār1spaun1ktāāb1slīār1pļēir1bjuur1btoel1sviun1ktūug1šgair1sliuz1friur1btaāb1stuem1brāom1proez1glāep1stoal1kmeiz1blīar1ksiīk1smoār1speap1krīiz1šķēur1tkāēk1lkoār1tnail1dsaal1dniel1dceon1truiz1stoūp1stoap1žvīap1triod1gruār1gtāiz1gveel1gsier1nhaat1švīār1hroil1tvāuz1smeat1sveim1tniuz1priēr1sraas1krāen1skaiz1glīus1tdēol1tmeūr1stuum1šviat1šļaār1knāuz1treok1šņoat1bliat1sniel1gtoek1šķeab1stiun1fteap1griir1steul1snien1tviam1pluam1zdaik1stīat1knāat1skūis1trois1trēīg1stair1spuam1svēār1bruec1stūul1dzail1kšoār1plāos1tniīk1snauz1staār1zdaār1šķiuz1bliek1troap1grēur1bšoir1slēiz1klauz1trūuz1traak1stoos1treuz1driir1smaak1šķēak1tliek1švēās1nkuel1ztier1cbaēr1ktoin1dsēal1kšaum1traip1snaeļ1skaār1šķīap1kriār1šķēel1drēim1pliuļ1dziir1ptaēr1ptail1praup1stīiz1fraus1treub1krēār1pļāin1frail1ktair1mpiap1šņoat1skuun1dzies1trēan1drīil1ptoadz1niar1pjuin1gtāiz1gruap1šķoēr1skāot1rpior1tfeir1mtiik1šķian1tmēam1briun1džail1pšoas1brāel1gšoap1kviug1smeil1pneēt1sviir1kšaas1skoek1speen1kšaiz1breem1ptiār1greiz1frāiv1stāul1šņaār1kroas1prail1ktāat1sleiz1gluik1snāok1šņaum1šmaār1gruār1smeat1snaur1ktoik1snauz1svīus1sloam1pdaem1ztāuz1žvais1smiēr1tnīār1gtuār1drūīg1stiap1troat1smeiz1plēir1tniak1šžoil1skuul1bšaum1spoāk1sliap1bloār1dzeār1kvauk1sneāt1rviap1žvaam1stuan1draār1gšoek1stēār1sloār1gtoek1ļveek1spoār1tsaiz1džiar1blāēg1stiar1bdiuk1šķīil1bšuor1proap1hloiz1trīas1trīuz1smēār1spāis1triab1klāuz1hlouļ1stiat1fliut1nkoiv1krāur1tdiap1glūār1glūom1skāat1stoum1staap1gleal1smael1traer1stoel1dviiz1friet1skoat1tvaār1kleāš1kruer1tceap1kruus1triuz1glaap1bleil1staap1sveiz1dzīas1tpaem1psiiz1tvēac1grīēr1dzīul1lciiz1šļiat1žņaov1smēas1skaen1tgeat1pluīs1šķiār1dzīēk1šņāel1nkoār1skuāv1stiāl1dziēp1stuīv1klaim1tmuos1proap1spēum1brāul1dziār1stāur1knēer1trūel1nbaār1broar1smeok1sneil1škaat1svēar1vdeat1sluiz1broēr1steāb1slius1skāat1grāāp1stuār1brūam1stīas1tmēiz1kņuen1klaiļ1slium1stoap1bļāuz1snaol1kloer1tmeiz1flial1stuap1špaar1stiāk1šķiār1džium1brair1dzual1kjūap1smīāb1staiz1kļaul1ptūap1smēār1tnīar1gvaudz1sous1stuap1steul1znaār1glāār1blāur1skail1stāel1nraak1triat1kņueg1smeap1grūēk1šķoin1spiik1staam1bliir1dzēēr1ktuur1kniel1tniiņ1krāiņ1kreiz1klean1spaun1skaam1stāēr1pšoār1fliir1mriēr1btāat1sviir1spaār1tnāap1šķūen1drāek1šniat1trīar1ktiiz1priig1znēon1spiul1kveek1šķuāt1skoek1sneīs1krāiz1klāēj1tveur1ktiog1ļhior1tmeaš1plūēj1slēam1plaēs1tniur1bsiis1tkais1dziiz1speab1staāp1stias1tmeos1triudz1daur1dzēat1šļuat1braun1klaer1ztiuz1pļāār1dreil1gšaiz1pleiz1žņaer1ztāel1dšeir1knēeņ1krāēr1ssial1snoūp1stīir1gsiiz1stair1sseuz1speek1sniīg1snēin1dziat1kliar1bveon1gloiv1skail1dniār1kraār1blēar1stāār1slieņ1ķmēēr1bsiik1smīāl1sciat1dreaž1brīiz1plāir1mveuz1group1jmauz1dzaem1ptoan1ktoež1staēr1šļuap1brīuz1krouz1skūuz1krīap1šmīuz1kviil1btāor1tjees1krāat1tveul1stuūk1stuen1ktaēr1stuar1bmauk1stuēr1nziuz1slīūk1stiat1svaap1pļēil1nmiir1snīin1dniāj1prāar1sbuat1spael1nmaek1stuis1grūis1nleāk1stīuz1stuif1šteār1spiīk1stāar1ktuur1ktāāj1dziēr1btoiz1zvaat1knuat1fraen1sraal1ctīār1brear1bniār1tniez1proan1tnīēp1stias1trāāp1stoīr1svaiz1šķaig1stuer1traes1truas1grāal1snaur1preur1mjāēn1prāat1proek1ļpaik1lveēr1kšoiz1glaap1snain1dzaār1grair1gtoiz1snaan1čkiap1tvaār1snaum1špeat1zvaig1zdoen1svaet1rgail1ggaīk1smeal1stāet1rriiz1dziār1praiz1trūār1pliēk1šķēāj1staiz1krour1kšuiž1knāor1bciem1ptāan1scēir1kšual1tdiēk1šņuīdz1šiot1rreāt1spēēk1mjuāt1krūil1ddaat1svīudz1kāār1trīar1ktāāl1skaen1slies1priur1btuug1stīuz1plāem1ztaiz1bļāīk1stiuz1spaār1tvean1dceel1dseuz1kraap1sliir1gtauz1slāir1klioņ1plūur1gtoan1grēūk1snaāv1zvaan1slāek1švāār1žvaār1šļuap1frāaž1skāat1preas1ttiiv1plāuz1grēek1šnoiz1grāuz1braes1tpaur1braiz1kļuim1stour1gtuom1dziir1gkaiz1šķeek1stiuk1šgaār1smael1tkaar1gmaal1nrauļ1krēar1gkaiz1svēēr1stoil1špaim1tciuk1plēel1ptiis1draer1smeul1snīār1krāāt1smair1stuat1pļāuk1smuan1dtāen1kšuar1skoēr1ptiēk1lvaor1skāuk1staep1staār1triir1kņiul1stāet1rviil1btuār1slaat1pliel1nsaur1kmēuz1broal1dneār1frēun1spūek1šķēen1proan1droat1bruak1snīuz1tvēik1spāuz1blīap1šķiel1draun1sviat1spuār1friep1stuēr1szāīb1stoār1dzaār1gliel1kneār1tneun1prāap1kveuz1kniap1draār1gšaār1kviir1zgaek1šgāek1sveat1gleār1stīes1proal1kmaiz1klīug1stoaz1proāj1slaen1tneul1stiat1kreār1svaār1šķeiz1kļūap1sluil1zkaek1šmeam1pšoūr1skouz1grāes1grāap1šņuir1kļaur1lmēel1dfēaz1druat1rpuum1stues1grīiz1knaas1smēur1spīeņ1skāār1slēudz1vīun1druar1skaeņ1traam1pliuz1kliul1gtuēk1brūus1dzīap1stāar1kšues1kraiz1brāir1staar1gceem1ptuur1steār1druuz1pļaat1glūad1skāov1skāak1stāēr1zgair1mgain1gtuīdz1teār1drīam1braīk1šķuur1gsiab1scion1driil1pjuāp1jvear1gbūul1gšuār1dvaār1tnoap1ploas1tkail1gšoiz1skaār1dniap1dvaīk1snāap1blāas1pļaap1kreal1preem1pšoap1truak1stīel1skuak1ņveak1špaaļ1skaūr1staat1bļāin1gveat1hloig1frīok1snēār1griak1šķiāt1snaul1tsias1tniir1stoan1sfoek1šlaul1tzoob1spios1priel1briār1žvīat1blīot1rtiil1gsiuz1zvēin1speir1ptuag1svaiz1kliok1sniel1graum1spēūp1stiak1stēur1ktaan1driir1ptoiz1pliīv1drēar1pzour1btiul1šņiat1blēog1ļraiz1sleil1proil1gtoeļ1traiz1slēār1kveur1btāār1frāal1tlaur1pmāēr1ksial1ksiir1kņoin1sraem1blēib1stain1sciur1ktuiz1šķūan1tniām1glāur1zvaīk1šķēup1rlail1ngail1glaēk1šņaen1prāuk1špaat1pļaiz1šķīār1gšuir1gšaul1dzēan1kkuul1tniun1dzēap1smaer1stiel1ztuir1gkoim1treus1snaūk1šķuik1tniat1brēas1kraan1džaam1plīar1kšaap1spean1skaih1svēod1sliēr1pšuar1gream1stoān1skaor1tvīat1svāuz1šķūūr1stoin1sceud1spiudz1gaal1snāāg1stual1troat1štaat1kļūudz1viap1sloap1greiz1šņoug1stuim1stiup1stuur1stīos1krair1skaog1ļdeum1dziin1kvied1kļūul1traiz1skoel1gtāur1gtāiz1pļēap1smuer1stīāt1ršuok1šņuap1šķaāt1dzīat1troat1brīal1staudz1ruar1gtēin1staiņ1ķveat1krial1snuiz1zvēiz1kluin1hroir1ptāas1kviur1spiiz1kvēār1skāir1gtuāp1stauz1brued1krāet1staal1vgaam1pšaar1pgauz1slaat1šķīat1džiār1kļūār1šroeņ1braīk1gruār1klāak1ņkood1prāat1klīiz1stēār1žņaat1triik1stūek1šzīār1kniār1preap1klāul1gtaēr1pjoār1gsiiz1šņaiz1gleēr1bjois1stūeļ1drāik1steēr1ngaap1tveuz1skāap1knāik1snīam1bleek1stāol1fgaem1briuz1spīel1dmaiz1sloar1gkāiz1svīūg1kriun1ktier1preuz1švīap1dzīiz1spīek1tdaēr1dzeil1skaār1tnuur1bšaap1traap1dzean1stein1ktūer1ztuas1pruen1scauz1svāil1dmēik1sniār1brēāk1stoāk1sluap1briap1stēiz1stiap1pļaār1štaīk1sneun1traok1šķiūs1tniok1trīiz1glāom1pleār1kriuv1braīv1stuāt1rgāār1pļauz1klīuz1sloat1greeļ1brias1prāig1žņaēr1glēūr1stiīv1svaah1tveūk1sneet1rsiuz1špaan1dzeum1praer1plēiņ1stiat1drīat1dvain1tnīin1gvial1šķīap1slēid1plēil1nvauz1glūiz1šviudz1puor1tliin1kriap1priem1dviār1drāas1troar1dzeāk1sniuz1skias1tvaum1sveār1gdiik1stoos1preat1frāel1dreil1dvaug1prāul1stīuz1sviur1tdaār1sluūp1stāez1gluīļ1knāan1cleūp1stuec1sviak1šķeir1dzīuz1dzeāl1spēij1droār1klaim1sliap1bliil1sruon1skāuz1spiul1dzeik1šķous1krūek1stīek1šroit1brias1priik1šķuor1tkuat1kniis1mjuim1stuez1prāat1sliur1vmaom1staer1staot1rpues1prauz1great1šķēur1dziūk1steap1smiār1stuan1skāūr1stēur1zmiār1krēer1smaat1šņuod1skoim1preal1snēap1dzaiz1pļail1krūat1speuz1krāin1traat1šķiat1broel1tgain1troon1tdaak1šķaas1tnair1skiaļ1stuos1kniēr1tniār1trūer1ztair1zmaiz1knuar1gkueļ1gleiz1dzēap1stios1trāuz1šķios1truir1kļues1brāar1stoap1grāus1tmeiz1skiin1svaum1skoun1kniat1kviuk1stīap1pliot1plāet1rmoel1djoub1stauz1sniiz1dzeul1gšoam1pjouz1drear1pniis1mmīal1dzīiz1žvīar1bmūat1spoal1šķiuz1kvēal1ktiudz1reār1spīiz1kraet1rreab1stouz1sluār1plēus1ttēur1staiz1griot1rtoen1stiāv1grūār1tvaun1slīon1greēk1sneir1kniel1dpūav1grīor1tjēīk1smāīdz1jues1smēiz1spoiz1brīum1bveis1kvaīg1ļlaīs1stūim1tkāār1gmeār1bleāč1plēēr1zciēp1stael1drāak1šķual1ngauk1šķēir1ktāod1skaīk1stoir1speir1pšoēj1spēat1hroid1smion1traat1gveil1dķein1skuel1dtīek1šķiuz1kreap1zvēār1skaān1sveudz1vāiz1steuz1plaan1ckaež1frēin1gšaap1hroin1gtīir1mdiir1mvaap1sviuz1dzīuz1proēr1snaap1drouz1bloal1tvaek1šsēudz1veih1stāuz1graēd1dziar1psiār1driat1klāiz1tveār1sleul1gšaal1tvīēr1ļveir1mziat1draos1pļair1ktoel1ngaēl1spiap1gruēr1btius1pliik1smaār1slīol1skaīt1skaap1džiur1tnīuz1dziār1šmīodz1niar1gdaat1skiuz1dzēel1tliov1skiel1ztāat1blāar1dzīis1trāas1traen1svīon1krēur1gtaen1tmēār1kruun1driār1glael1pvaas1prois1priiz1plūil1dkoār1šļiar1tneus1tneat1knaat1kraat1spiēr1ptāīk1stain1grīed1spiop1stuum1šsaap1preap1trūār1šķaat1brūum1šķiel1stual1stouz1kļaal1nzeat1gruon1froat1klaap1brūir1mtēīdz1nāuz1šmīap1graak1šzeap1blīan1knoil1skāir1ktuēt1spēal1vniar1griuz1kleul1stoes1krūiz1pļāuz1ploat1šļiug1šmaec1slaīg1stouz1blēib1stien1stoin1kliir1dziug1znain1groas1prūež1graiz1kreeg1slāām1grāig1znāam1fleir1pšaeg1smiuz1šķaap1šķēug1stial1steal1nciem1mviīdz1tiik1snoār1svēet1rkāul1gtāat1spēār1stoil1šmāet1rtiar1dzēer1ckoar1staēr1bšaāj1gleam1pjauz1dvaot1rkāak1šmauz1plēak1špuār1bļāir1gtāik1šķēuz1zvaal1stīos1kleār1steug1šžoēr1tneiz1dvais1truek1škuap1skāar1gtiar1gviuz1smiim1ptoār1skiār1plūuļ1skaib1snīiz1šķiap1skiun1sbīep1stēus1skoat1zvēat1stiel1dzoīk1smēan1skuum1slauz1šmaap1žņaek1šzeuz1kriir1mmāan1čkaēg1staat1kroet1rrāuz1knāuz1stāap1drīez1gloat1plear1šļaug1šņuār1kliot1rzial1kvīis1traib1stāor1dniel1dpain1gpoul1slauz1tveel1ttaap1plēuz1šņaār1staos1tbiār1gleog1ļrūer1stuiz1ploūv1briēl1spuiz1sliap1pluum1stiuk1švāus1trauz1džiēr1npael1pjoet1kreāb1slēik1lķean1spoim1tkuok1greiļ1skaan1tkuan1sjēil1pšaūk1snāāl1szāol1stous1trēij1krēan1floap1glāāl1sviat1slour1bjoel1smeat1smēop1dzīūg1stual1traer1tneat1švios1trēez1drāur1gšaen1spoov1skail1ktues1treiz1dveār1smēat1graāg1staūv1grias1tmāin1flāoņ1stūār1kluel1tneak1staār1dkoār1kvēan1troat1kruap1stoil1ptaedz1niis1proīr1groudz1siem1braār1zkoul1šņāus1stiēk1šķiudz1vēum1tniar1stuap1kleīk1smuup1staīk1smaār1zvaab1rkaēdz1niāb1stāēr1klien1troār1plīil1gšuap1kvēas1treak1steek1šķaāt1rmoan1scein1sdeiz1kruap1šļāat1breon1staēr1zlael1gšaām1brael1dziuz1druudz1diap1brāar1ktaeņ1slaar1šviiz1smiir1vjaen1griar1kšouz1drīul1staek1smeār1šņaār1zniār1troap1kliār1sviēr1stēīk1stīet1rtūīdz1ciur1tliek1stoim1tsaus1brāuk1šķoir1ztaār1stūun1ktuēr1mjuīk1šķaur1kliuz1fliap1plūil1dziap1dreaz1svaug1ļlaat1stīiz1pluuz1trois1sliiž1skāir1gšoen1ktāār1gtaiz1bliār1smīim1brīār1dzēār1svīek1spaīdz1kouz1svēat1ploor1tlaab1prāir1tneūk1slāiz1sveet1plāir1svail1btiuz1brūīt1spēuz1šķēudz1noat1slāiz1blāes1tdius1zviis1kriēl1slēob1skuēk1šņiul1šņuon1troil1stīiz1braur1pnial1dsēim1ttūis1spēes1tmein1gvīug1špuir1dneiļ1ņlaap1staik1smiad1grāiz1spēil1gtāiz1svail1nbāim1stāak1šveuz1prauz1grūār1skūiz1bruus1tsēug1snēār1dzoin1tniig1stier1gtuen1truas1krūār1slāap1tvēel1stiil1stoil1draot1rgaur1kņuap1braer1tzāat1stāer1cliēr1bšuuz1stēap1plāan1gviuz1šļiuz1blāed1rvias1tlaiz1stuot1spēus1proim1tdaam1krēop1proig1žņoat1bļaap1kniiz1smaiz1grūan1dpuīv1prāur1stuar1stīig1zneūk1staāj1skoek1škaub1stiur1dzeiz1hroap1šmaap1spaār1stēib1stuat1smīim1stail1ksiar1ndoon1krees1krēāl1plāuk1smain1grium1prouz1draār1plaār1pluat1steel1gtaen1gruil1tzeār1priiz1krīat1krēes1prūis1svēār1šviār1knuen1ktuap1treiz1kņūul1gsiin1driiz1drīek1steaļ1ķneuz1spēos1tmaug1sniat1grēal1sniur1ngaip1frūēr1skoat1stēēr1gliol1fraat1groun1kciār1kņuiz1skuek1sceap1slaat1slēap1štaap1šļues1triuz1pluār1bliār1grāuz1stoil1train1gruūk1snien1szāos1prāāp1jvīār1tnēil1ptuum1šzais1kreis1krēul1gtium1dzīek1špuur1zniuz1drous1tveās1trāūg1staap1brēer1vjeiz1grēar1gmuat1druap1kļaap1spiap1breel1ptoār1tvēal1kšouk1smeel1dzēil1kmeēn1skāir1gšuil1stiir1dsair1slīat1smiār1šķoar1spaal1dseuz1knuar1gpoiz1šļaat1šķaār1šņuuz1svean1stēek1trāār1gluur1vjuoņ1stiat1drāiļ1proiz1tvaiz1trāap1spāom1pliak1stuap1spuek1tdiok1steer1graam1breuz1bļaus1grael1gruam1staat1skoīb1stuek1triel1mlaan1sveat1skāun1dzīīk1graap1skain1dkoal1ktuul1dzues1trāat1spīol1dlaat1šķeeņ1pleos1tlaik1stāap1švīuz1prāap1kroūt1smēis1griem1pšuiz1bļair1mnoap1spīēr1ktial1gmeed1sviis1briun1sneen1sviuz1kveār1groer1stāuz1šķeeļ1krūod1rpaīv1grāet1rbaun1skuār1tmēāb1stīil1pjoiz1stāuz1žvīuz1šķīis1tkoos1prael1gtuad1smiom1kraut1svail1ptiug1preun1kteil1gruār1šķūez1gliiv1spēer1dloāt1ršāēj1grāur1dzoen1trāap1bļaēr1tņuem1dniin1ksaāl1šķēuz1hroiv1stoet1rjūuļ1gluir1psiel1zceum1slēat1griel1ptuuk1stāat1praar1gjouz1tvauz1skoiz1stīel1stoap1praov1skuar1šruēp1stoat1krāir1ksiok1šķeiz1šļāiz1drail1ptāil1dsēin1gtaūp1staug1ļkoar1džuiz1krāul1dzīur1stā_jā3a2_ne3a2_ie3a2_no3a2_pa3a2_sa3a2_uz3a2_ap3a2_at3a2_iz3a2_jā3ā2_ne3ā2_ie3ā2_no3ā2_pa3ā2_sa3ā2_uz3ā2_ap3ā2_at3ā2_iz3ā2_jā3e2_ne3e2_ie3e2_no3e2_pa3e2_sa3e2_uz3e2_ap3e2_at3e2_iz3e2_jā3ē2_ne3ē2_ie3ē2_no3ē2_pa3ē2_sa3ē2_uz3ē2_ap3ē2_at3ē2_iz3ē2_jā3i2_ne3i2_ie3i2_no3i2_pa3i2_sa3i2_uz3i2_ap3i2_at3i2_iz3i2_jā3ī2_ne3ī2_ie3ī2_no3ī2_pa3ī2_sa3ī2_uz3ī2_ap3ī2_at3ī2_iz3ī2_jā3o2_ne3o2_ie3o2_no3o2_pa3o2_sa3o2_uz3o2_ap3o2_at3o2_iz3o2_jā3u2_ne3u2_ie3u2_no3u2_pa3u2_sa3u2_uz3u2_ap3u2_at3u2_iz3u2_jā3ū2_ne3ū2_ie3ū2_no3ū2_pa3ū2_sa3ū2_uz3ū2_ap3ū2_at3ū2_iz3ū2_ne3satran2ssa2ls_ir2k3lir2k3ļ_ai4z5", + 7 : "ārg1stiilg1stoakt1spoalt1gvaark1staugs1tlēuzs1pļaald1skāins1grēizs1prūilk1tniurb1stiezg1lvearp1proirk1snield1plēird1spuilp1stuīns1trāārs1kraird1smieln1svāirp1stiārg1stuens1staugš1stiirk1stiilg1staals1tpuārd1dziirm1dziabs1traumš1brūarb1spēils1blīurs1krūizs1praurb1stuudz1šķauzs1kraaps1preins1gruens1blaārs1praarg1krāilk1tneens1truulk1steupj1graunk1šķiurk1staaps1krēirs1drēērt1sliobs1truērt1ssūast1skoird1skairg1stoord1zniaks1tveikt1stēuzs1preizs1proilt1stēuzs1prāeks1tkoalk1stīīdz1proens1droirg1stuing1stoizs1kraink1stēalk1šķiātr1sliild1spaāls1trealk1stoubs1trāaps1truērk1šķaizs1trīats1krēārs1trīalk1stuuss1kriizs1preent1lmeirg1zdailb1stieks1treaps1prailk1stiunt1sziuzs1proeks1kluiss1priaps1trīulb1stourk1stiaps1proaht1kluāls1staens1krāilt1smāeks1preuzs1truaps1prāetr1klauzs1priīks1tmēeld1spēapj1draist1hreids1krēirs1plāirs1stuunk1stēilk1sniink1šķiird1smīirs1kreīdz1skaalk1snāīks1tsiizs1truars1tdaunt1snoēst1griuzs1treurk1stouns1droulg1stoātr1spiilg1spēerc1skoilb1stoāls1skāens1krūaps1triilk1tnēudr1skāurb1jmaats1praird1sliizs1trāekš1ņnīind1staaps1kraērk1stuiln1briuzs1praudz1plailb1stuizs1kriilk1stuirp1staeks1trēugs1tkault1zvaātr1griink1šķourk1šķaulb1stiuzs1trāaps1trāirk1stīulb1stuunk1tsions1trēīgt1spēark1stuilk1stoark1šķoalt1kvēuns1dzēirk1stēild1krēink1sliurs1trāunk1stoilk1stēārg1stoakt1sguert1briilg1stiērt1svēērs1griaps1trēeņs1krāamp1stuats1trāilp1stiežs1trāerk1šķieln1plaurk1sniakt1sviens1dziirg1stiark1šķuess1krāirk1stount1smaisn1grialk1sneild1plaudz1skaārs1truuzs1krūink1šķēērs1svīērk1šķoīks1tpiilt1rpaātr1braurk1stuārs1proals1stieks1ploamp1stoizs1treang1steirg1staizs1krēātr1spēust1knāark1šķēark1šķiārs1prāaps1prūilp1stoīgs1trāont1rreakt1sdeats1treuzs1trīaps1pļaurk1šķiurk1steink1stuājs1trāats1pļaērk1šķietr1stūink1staans1krieks1proald1drāārp1staurb1staunk1šķēakt1sdaakt1spualk1sniārg1staāls1traāls1steirg1zdeāgs1tviird1zniirt1skuons1trāērk1stailp1staisn1stūelk1sniilt1skoats1prūurk1šķuars1tgaugs1troens1šķiing1stiads1krūels1traark1šķaark1stoant1sbeink1šķaunk1stiird1sdeink1stians1plaugs1traats1preirk1šķiirp1stuils1druals1tniats1truins1truanž1dzeīks1proamp1stiars1tvīugš1stāanc1spēark1stiunk1stairm1skaakt1smīulg1stuamp1staeks1trīunk1šķourk1stēelz1szāārs1treens1kriink1šķeuks1trāink1stoult1spūelt1spēats1priild1spēuzs1prūeks1troegl1prāirp1stoalt1kriakņ1graārs1lveārs1pļaudz1stūurb1stoaps1treugs1tvēekļ1skāunk1šķaisn1prāats1triākļ1stāudz1krāimt1proing1staeks1pluakt1spailk1staalk1šņaats1prāīks1tčaent1rtiērk1stiirg1spēikt1spēizs1prāakt1smiizs1krūunk1stuats1krūārs1priunk1šķuult1spēunt1sgaugs1tsiizs1priārs1krūaps1krūārk1stiizs1pļaars1tpuērk1steuzs1triulb1staizs1trions1truirs1svāats1trīārs1krēakt1ssaeks1traakt1slourk1šķoing1stuult1kvaust1spoītņ1griežs1krūirm1sleirk1staurk1šķēort1preekš1ņlaiņs1trāalk1stairk1stuemm1dziirg1zdāirm1klaaks1tnions1traink1šķuats1kraind1rveakt1sjaens1bluaļķ1špault1svaogļ1skāārk1staulg1stiērk1stoird1sdāugs1tceuns1grēult1plairš1krāegt1spēārs1tniats1proakt1slaārs1triilg1stuīdz1svauzs1krēoks1krūārt1stailb1staalk1stioks1troekš1dzient1rbēiln1skairm1šķiārs1trāaps1prions1krēārs1preirk1steird1slēulg1staakš1svāalt1briārs1prū_jā1s2p_ne1s2p_ie1s2p_no1s2p_pa1s2p_sa1s2p_uz1s2p_ap1s2p_at1s2p_iz1s2p_jā1t2r_ne1t2r_ie1t2r_no1t2r_pa1t2r_sa1t2r_uz1t2r_ap1t2r_at1t2r_iz1t2r_jā1s2c_ne1s2c_ie1s2c_no1s2c_pa1s2c_sa1s2c_uz1s2c_ap1s2c_at1s2c_iz1s2c_jā1g2l_ne1g2l_ie1g2l_no1g2l_pa1g2l_sa1g2l_uz1g2l_ap1g2l_at1g2l_iz1g2l_jā1ž2v_ne1ž2v_ie1ž2v_no1ž2v_pa1ž2v_sa1ž2v_uz1ž2v_ap1ž2v_at1ž2v_iz1ž2v_jā1š2ļ_ne1š2ļ_ie1š2ļ_no1š2ļ_pa1š2ļ_sa1š2ļ_uz1š2ļ_ap1š2ļ_at1š2ļ_iz1š2ļ_jā1s2f_ne1s2f_ie1s2f_no1s2f_pa1s2f_sa1s2f_uz1s2f_ap1s2f_at1s2f_iz1s2f_jā1š2t_ne1š2t_ie1š2t_no1š2t_pa1š2t_sa1š2t_uz1š2t_ap1š2t_at1š2t_iz1š2t_jā1b2r_ne1b2r_ie1b2r_no1b2r_pa1b2r_sa1b2r_uz1b2r_ap1b2r_at1b2r_iz1b2r_jā1š2r_ne1š2r_ie1š2r_no1š2r_pa1š2r_sa1š2r_uz1š2r_ap1š2r_at1š2r_iz1š2r_jā1š2v_ne1š2v_ie1š2v_no1š2v_pa1š2v_sa1š2v_uz1š2v_ap1š2v_at1š2v_iz1š2v_jā1s2t_ne1s2t_ie1s2t_no1s2t_pa1s2t_sa1s2t_uz1s2t_ap1s2t_at1s2t_iz1s2t_jā1p2r_ne1p2r_ie1p2r_no1p2r_pa1p2r_sa1p2r_uz1p2r_ap1p2r_at1p2r_iz1p2r_jā1g2ļ_ne1g2ļ_ie1g2ļ_no1g2ļ_pa1g2ļ_sa1g2ļ_uz1g2ļ_ap1g2ļ_at1g2ļ_iz1g2ļ_jā1š2k_ne1š2k_ie1š2k_no1š2k_pa1š2k_sa1š2k_uz1š2k_ap1š2k_at1š2k_iz1š2k_jā1p2s_ne1p2s_ie1p2s_no1p2s_pa1p2s_sa1p2s_uz1p2s_ap1p2s_at1p2s_iz1p2s_jā1k2l_ne1k2l_ie1k2l_no1k2l_pa1k2l_sa1k2l_uz1k2l_ap1k2l_at1k2l_iz1k2l_jā1g2r_ne1g2r_ie1g2r_no1g2r_pa1g2r_sa1g2r_uz1g2r_ap1g2r_at1g2r_iz1g2r_jā1š2ķ_ne1š2ķ_ie1š2ķ_no1š2ķ_pa1š2ķ_sa1š2ķ_uz1š2ķ_ap1š2ķ_at1š2ķ_iz1š2ķ_jā1p2n_ne1p2n_ie1p2n_no1p2n_pa1p2n_sa1p2n_uz1p2n_ap1p2n_at1p2n_iz1p2n_jā1s2v_ne1s2v_ie1s2v_no1s2v_pa1s2v_sa1s2v_uz1s2v_ap1s2v_at1s2v_iz1s2v_jā1d2r_ne1d2r_ie1d2r_no1d2r_pa1d2r_sa1d2r_uz1d2r_ap1d2r_at1d2r_iz1d2r_jā1p2l_ne1p2l_ie1p2l_no1p2l_pa1p2l_sa1p2l_uz1p2l_ap1p2l_at1p2l_iz1p2l_jā1d2v_ne1d2v_ie1d2v_no1d2v_pa1d2v_sa1d2v_uz1d2v_ap1d2v_at1d2v_iz1d2v_jā1š2l_ne1š2l_ie1š2l_no1š2l_pa1š2l_sa1š2l_uz1š2l_ap1š2l_at1š2l_iz1š2l_jā1s2k_ne1s2k_ie1s2k_no1s2k_pa1s2k_sa1s2k_uz1s2k_ap1s2k_at1s2k_iz1s2k_jā1k2v_ne1k2v_ie1k2v_no1k2v_pa1k2v_sa1k2v_uz1k2v_ap1k2v_at1k2v_iz1k2v_jā1z2v_ne1z2v_ie1z2v_no1z2v_pa1z2v_sa1z2v_uz1z2v_ap1z2v_at1z2v_iz1z2v_jā1k2s_ne1k2s_ie1k2s_no1k2s_pa1k2s_sa1k2s_uz1k2s_ap1k2s_at1k2s_iz1k2s_jā1p2t_ne1p2t_ie1p2t_no1p2t_pa1p2t_sa1p2t_uz1p2t_ap1p2t_at1p2t_iz1p2t_jā1z2n_ne1z2n_ie1z2n_no1z2n_pa1z2n_sa1z2n_uz1z2n_ap1z2n_at1z2n_iz1z2n_jā1k2r_ne1k2r_ie1k2r_no1k2r_pa1k2r_sa1k2r_uz1k2r_ap1k2r_at1k2r_iz1k2r_jā1f2r_ne1f2r_ie1f2r_no1f2r_pa1f2r_sa1f2r_uz1f2r_ap1f2r_at1f2r_iz1f2r_jā1s2h_ne1s2h_ie1s2h_no1s2h_pa1s2h_sa1s2h_uz1s2h_ap1s2h_at1s2h_iz1s2h_jā1ž2ņ_ne1ž2ņ_ie1ž2ņ_no1ž2ņ_pa1ž2ņ_sa1ž2ņ_uz1ž2ņ_ap1ž2ņ_at1ž2ņ_iz1ž2ņ_jā1d2d_ne1d2d_ie1d2d_no1d2d_pa1d2d_sa1d2d_uz1d2d_ap1d2d_at1d2d_iz1d2d_jā1v2j_ne1v2j_ie1v2j_no1v2j_pa1v2j_sa1v2j_uz1v2j_ap1v2j_at1v2j_iz1v2j_jā1f2j_ne1f2j_ie1f2j_no1f2j_pa1f2j_sa1f2j_uz1f2j_ap1f2j_at1f2j_iz1f2j_jā1p2j_ne1p2j_ie1p2j_no1p2j_pa1p2j_sa1p2j_uz1p2j_ap1p2j_at1p2j_iz1p2j_jā1b2ļ_ne1b2ļ_ie1b2ļ_no1b2ļ_pa1b2ļ_sa1b2ļ_uz1b2ļ_ap1b2ļ_at1b2ļ_iz1b2ļ_jā1g2n_ne1g2n_ie1g2n_no1g2n_pa1g2n_sa1g2n_uz1g2n_ap1g2n_at1g2n_iz1g2n_jā1h2r_ne1h2r_ie1h2r_no1h2r_pa1h2r_sa1h2r_uz1h2r_ap1h2r_at1h2r_iz1h2r_jā1s2n_ne1s2n_ie1s2n_no1s2n_pa1s2n_sa1s2n_uz1s2n_ap1s2n_at1s2n_iz1s2n_jā1ž2m_ne1ž2m_ie1ž2m_no1ž2m_pa1ž2m_sa1ž2m_uz1ž2m_ap1ž2m_at1ž2m_iz1ž2m_jā1d2ž_ne1d2ž_ie1d2ž_no1d2ž_pa1d2ž_sa1d2ž_uz1d2ž_ap1d2ž_at1d2ž_iz1d2ž_jā1k2c_ne1k2c_ie1k2c_no1k2c_pa1k2c_sa1k2c_uz1k2c_ap1k2c_at1k2c_iz1k2c_jā1k2ņ_ne1k2ņ_ie1k2ņ_no1k2ņ_pa1k2ņ_sa1k2ņ_uz1k2ņ_ap1k2ņ_at1k2ņ_iz1k2ņ_jā1š2m_ne1š2m_ie1š2m_no1š2m_pa1š2m_sa1š2m_uz1š2m_ap1š2m_at1š2m_iz1š2m_jā1g2v_ne1g2v_ie1g2v_no1g2v_pa1g2v_sa1g2v_uz1g2v_ap1g2v_at1g2v_iz1g2v_jā1h2l_ne1h2l_ie1h2l_no1h2l_pa1h2l_sa1h2l_uz1h2l_ap1h2l_at1h2l_iz1h2l_jā1k2ļ_ne1k2ļ_ie1k2ļ_no1k2ļ_pa1k2ļ_sa1k2ļ_uz1k2ļ_ap1k2ļ_at1k2ļ_iz1k2ļ_jā1s2l_ne1s2l_ie1s2l_no1s2l_pa1s2l_sa1s2l_uz1s2l_ap1s2l_at1s2l_iz1s2l_jā1t2v_ne1t2v_ie1t2v_no1t2v_pa1t2v_sa1t2v_uz1t2v_ap1t2v_at1t2v_iz1t2v_jā1š2ņ_ne1š2ņ_ie1š2ņ_no1š2ņ_pa1š2ņ_sa1š2ņ_uz1š2ņ_ap1š2ņ_at1š2ņ_iz1š2ņ_jā1š2p_ne1š2p_ie1š2p_no1š2p_pa1š2p_sa1š2p_uz1š2p_ap1š2p_at1š2p_iz1š2p_jā1d2z_ne1d2z_ie1d2z_no1d2z_pa1d2z_sa1d2z_uz1d2z_ap1d2z_at1d2z_iz1d2z_jā1f2l_ne1f2l_ie1f2l_no1f2l_pa1f2l_sa1f2l_uz1f2l_ap1f2l_at1f2l_iz1f2l_jā1k2n_ne1k2n_ie1k2n_no1k2n_pa1k2n_sa1k2n_uz1k2n_ap1k2n_at1k2n_iz1k2n_jā1p2ļ_ne1p2ļ_ie1p2ļ_no1p2ļ_pa1p2ļ_sa1p2ļ_uz1p2ļ_ap1p2ļ_at1p2ļ_iz1p2ļ_jā1k2b_ne1k2b_ie1k2b_no1k2b_pa1k2b_sa1k2b_uz1k2b_ap1k2b_at1k2b_iz1k2b_jā1s2m_ne1s2m_ie1s2m_no1s2m_pa1s2m_sa1s2m_uz1s2m_ap1s2m_at1s2m_iz1s2m_jā1m2n_ne1m2n_ie1m2n_no1m2n_pa1m2n_sa1m2n_uz1m2n_ap1m2n_at1m2n_iz1m2n_jā1š2n_ne1š2n_ie1š2n_no1š2n_pa1š2n_sa1š2n_uz1š2n_ap1š2n_at1š2n_iz1š2n_jā1v2r_ne1v2r_ie1v2r_no1v2r_pa1v2r_sa1v2r_uz1v2r_ap1v2r_at1v2r_iz1v2r_jā1b2l_ne1b2l_ie1b2l_no1b2l_pa1b2l_sa1b2l_uz1b2l_ap1b2l_at1b2l_iz1b2l_pie3a2_aiz3a2_bez3a2_pār3a2_eks3a2_vis3a2_pie3ā2_aiz3ā2_bez3ā2_pār3ā2_eks3ā2_vis3ā2_pie3e2_aiz3e2_bez3e2_pār3e2_eks3e2_vis3e2_pie3ē2_aiz3ē2_bez3ē2_pār3ē2_eks3ē2_vis3ē2_pie3i2_aiz3i2_bez3i2_pār3i2_eks3i2_vis3i2_pie3ī2_aiz3ī2_bez3ī2_pār3ī2_eks3ī2_vis3ī2_pie3o2_aiz3o2_bez3o2_pār3o2_eks3o2_vis3o2_pie3u2_aiz3u2_bez3u2_pār3u2_eks3u2_vis3u2_pie3ū2_aiz3ū2_bez3ū2_pār3ū2_eks3ū2_vis3ū2_jā3ie1_jā3iz1_jā3no1_ne3ap1_ne3ie1_ne3at1_ne3in1_ne3iz1_ne3uz1g2š1galk2š1galvēs2t1nvēs2t1ksa2lds_sa2l2d1pir2m1rpir2m1kot2r1r2ot2r1k2_adā2m3apak2š3kār2t3n_at3e2j_vie2n1", + 8 : "_pie1s2p_aiz1s2p_bez1s2p_pār1s2p_eks1s2p_vis1s2p_pie1t2r_aiz1t2r_bez1t2r_pār1t2r_eks1t2r_vis1t2r_pie1s2c_aiz1s2c_bez1s2c_pār1s2c_eks1s2c_vis1s2c_jā1s2tj_ne1s2tj_ie1s2tj_no1s2tj_pa1s2tj_sa1s2tj_uz1s2tj_ap1s2tj_at1s2tj_iz1s2tj_pie1g2l_aiz1g2l_bez1g2l_pār1g2l_eks1g2l_vis1g2l_pie1ž2v_aiz1ž2v_bez1ž2v_pār1ž2v_eks1ž2v_vis1ž2v_pie1š2ļ_aiz1š2ļ_bez1š2ļ_pār1š2ļ_eks1š2ļ_vis1š2ļ_pie1s2f_aiz1s2f_bez1s2f_pār1s2f_eks1s2f_vis1s2f_pie1š2t_aiz1š2t_bez1š2t_pār1š2t_eks1š2t_vis1š2t_jā1s2tr_ne1s2tr_ie1s2tr_no1s2tr_pa1s2tr_sa1s2tr_uz1s2tr_ap1s2tr_at1s2tr_iz1s2tr_pie1b2r_aiz1b2r_bez1b2r_pār1b2r_eks1b2r_vis1b2r_pie1š2r_aiz1š2r_bez1š2r_pār1š2r_eks1š2r_vis1š2r_pie1š2v_aiz1š2v_bez1š2v_pār1š2v_eks1š2v_vis1š2v_pie1s2t_aiz1s2t_bez1s2t_pār1s2t_eks1s2t_vis1s2t_pie1p2r_aiz1p2r_bez1p2r_pār1p2r_eks1p2r_vis1p2r_pie1g2ļ_aiz1g2ļ_bez1g2ļ_pār1g2ļ_eks1g2ļ_vis1g2ļ_pie1š2k_aiz1š2k_bez1š2k_pār1š2k_eks1š2k_vis1š2k_pie1p2s_aiz1p2s_bez1p2s_pār1p2s_eks1p2s_vis1p2s_pie1k2l_aiz1k2l_bez1k2l_pār1k2l_eks1k2l_vis1k2l_pie1g2r_aiz1g2r_bez1g2r_pār1g2r_eks1g2r_vis1g2r_pie1š2ķ_aiz1š2ķ_bez1š2ķ_pār1š2ķ_eks1š2ķ_vis1š2ķ_pie1p2n_aiz1p2n_bez1p2n_pār1p2n_eks1p2n_vis1p2n_pie1s2v_aiz1s2v_bez1s2v_pār1s2v_eks1s2v_vis1s2v_jā1s2pr_ne1s2pr_ie1s2pr_no1s2pr_pa1s2pr_sa1s2pr_uz1s2pr_ap1s2pr_at1s2pr_iz1s2pr_pie1d2r_aiz1d2r_bez1d2r_pār1d2r_eks1d2r_vis1d2r_pie1p2l_aiz1p2l_bez1p2l_pār1p2l_eks1p2l_vis1p2l_pie1d2v_aiz1d2v_bez1d2v_pār1d2v_eks1d2v_vis1d2v_pie1š2l_aiz1š2l_bez1š2l_pār1š2l_eks1š2l_vis1š2l_pie1s2k_aiz1s2k_bez1s2k_pār1s2k_eks1s2k_vis1s2k_jā1s2kv_ne1s2kv_ie1s2kv_no1s2kv_pa1s2kv_sa1s2kv_uz1s2kv_ap1s2kv_at1s2kv_iz1s2kv_pie1k2v_aiz1k2v_bez1k2v_pār1k2v_eks1k2v_vis1k2v_pie1z2v_aiz1z2v_bez1z2v_pār1z2v_eks1z2v_vis1z2v_pie1k2s_aiz1k2s_bez1k2s_pār1k2s_eks1k2s_vis1k2s_pie1p2t_aiz1p2t_bez1p2t_pār1p2t_eks1p2t_vis1p2t_pie1z2n_aiz1z2n_bez1z2n_pār1z2n_eks1z2n_vis1z2n_pie1k2r_aiz1k2r_bez1k2r_pār1k2r_eks1k2r_vis1k2r_jā1s2kr_ne1s2kr_ie1s2kr_no1s2kr_pa1s2kr_sa1s2kr_uz1s2kr_ap1s2kr_at1s2kr_iz1s2kr_pie1f2r_aiz1f2r_bez1f2r_pār1f2r_eks1f2r_vis1f2r_pie1s2h_aiz1s2h_bez1s2h_pār1s2h_eks1s2h_vis1s2h_pie1ž2ņ_aiz1ž2ņ_bez1ž2ņ_pār1ž2ņ_eks1ž2ņ_vis1ž2ņ_pie1d2d_aiz1d2d_bez1d2d_pār1d2d_eks1d2d_vis1d2d_jā1š2pr_ne1š2pr_ie1š2pr_no1š2pr_pa1š2pr_sa1š2pr_uz1š2pr_ap1š2pr_at1š2pr_iz1š2pr_pie1v2j_aiz1v2j_bez1v2j_pār1v2j_eks1v2j_vis1v2j_pie1f2j_aiz1f2j_bez1f2j_pār1f2j_eks1f2j_vis1f2j_pie1p2j_aiz1p2j_bez1p2j_pār1p2j_eks1p2j_vis1p2j_pie1b2ļ_aiz1b2ļ_bez1b2ļ_pār1b2ļ_eks1b2ļ_vis1b2ļ_pie1g2n_aiz1g2n_bez1g2n_pār1g2n_eks1g2n_vis1g2n_pie1h2r_aiz1h2r_bez1h2r_pār1h2r_eks1h2r_vis1h2r_pie1s2n_aiz1s2n_bez1s2n_pār1s2n_eks1s2n_vis1s2n_pie1ž2m_aiz1ž2m_bez1ž2m_pār1ž2m_eks1ž2m_vis1ž2m_pie1d2ž_aiz1d2ž_bez1d2ž_pār1d2ž_eks1d2ž_vis1d2ž_pie1k2c_aiz1k2c_bez1k2c_pār1k2c_eks1k2c_vis1k2c_pie1k2ņ_aiz1k2ņ_bez1k2ņ_pār1k2ņ_eks1k2ņ_vis1k2ņ_pie1š2m_aiz1š2m_bez1š2m_pār1š2m_eks1š2m_vis1š2m_pie1g2v_aiz1g2v_bez1g2v_pār1g2v_eks1g2v_vis1g2v_pie1h2l_aiz1h2l_bez1h2l_pār1h2l_eks1h2l_vis1h2l_pie1k2ļ_aiz1k2ļ_bez1k2ļ_pār1k2ļ_eks1k2ļ_vis1k2ļ_pie1s2l_aiz1s2l_bez1s2l_pār1s2l_eks1s2l_vis1s2l_pie1t2v_aiz1t2v_bez1t2v_pār1t2v_eks1t2v_vis1t2v_pie1š2ņ_aiz1š2ņ_bez1š2ņ_pār1š2ņ_eks1š2ņ_vis1š2ņ_pie1š2p_aiz1š2p_bez1š2p_pār1š2p_eks1š2p_vis1š2p_pie1d2z_aiz1d2z_bez1d2z_pār1d2z_eks1d2z_vis1d2z_pie1f2l_aiz1f2l_bez1f2l_pār1f2l_eks1f2l_vis1f2l_pie1k2n_aiz1k2n_bez1k2n_pār1k2n_eks1k2n_vis1k2n_pie1p2ļ_aiz1p2ļ_bez1p2ļ_pār1p2ļ_eks1p2ļ_vis1p2ļ_jā1s2pļ_ne1s2pļ_ie1s2pļ_no1s2pļ_pa1s2pļ_sa1s2pļ_uz1s2pļ_ap1s2pļ_at1s2pļ_iz1s2pļ_jā1s2kl_ne1s2kl_ie1s2kl_no1s2kl_pa1s2kl_sa1s2kl_uz1s2kl_ap1s2kl_at1s2kl_iz1s2kl_pie1k2b_aiz1k2b_bez1k2b_pār1k2b_eks1k2b_vis1k2b_pie1s2m_aiz1s2m_bez1s2m_pār1s2m_eks1s2m_vis1s2m_pie1m2n_aiz1m2n_bez1m2n_pār1m2n_eks1m2n_vis1m2n_pie1š2n_aiz1š2n_bez1š2n_pār1š2n_eks1š2n_vis1š2n_pie1v2r_aiz1v2r_bez1v2r_pār1v2r_eks1v2r_vis1v2r_pie1b2l_aiz1b2l_bez1b2l_pār1b2l_eks1b2l_vis1b2l2b3dams_2c3dams_2č3dams_2d3dams_2f3dams_2g3dams_2ģ3dams_2h3dams_2j3dams_2k3dams_2ķ3dams_2l3dams_2ļ3dams_2m3dams_2n3dams_2ņ3dams_2p3dams_2r3dams_2s3dams_2š3dams_2t3dams_2v3dams_2z3dams_2ž3dams_2b3gans_2c3gans_2č3gans_2d3gans_2f3gans_2g3gans_2ģ3gans_2h3gans_2j3gans_2k3gans_2ķ3gans_2l3gans_2ļ3gans_2m3gans_2n3gans_2ņ3gans_2p3gans_2r3gans_2s3gans_2š3gans_2t3gans_2v3gans_2z3gans_2ž3gans__ne3aiz14d5ze1me_tur2p1mil2k1tiemē1ne2š1pa2t3stāpa2s2t3kpa2s2t3mpa2r3ketpir2m2s1ak3me4ņ3aug2s2t3bal2t3ma", + 9 : "d_vi1s2a_d_vi1s2ā_d_vi1s2i_d_vi1s2u__pie1s2tj_aiz1s2tj_bez1s2tj_pār1s2tj_eks1s2tj_vis1s2tj_pie1s2tr_aiz1s2tr_bez1s2tr_pār1s2tr_eks1s2tr_vis1s2tr_pie1s2pr_aiz1s2pr_bez1s2pr_pār1s2pr_eks1s2pr_vis1s2pr_pie1s2kv_aiz1s2kv_bez1s2kv_pār1s2kv_eks1s2kv_vis1s2kv_pie1s2kr_aiz1s2kr_bez1s2kr_pār1s2kr_eks1s2kr_vis1s2kr_pie1š2pr_aiz1š2pr_bez1š2pr_pār1š2pr_eks1š2pr_vis1š2pr_pie1s2pļ_aiz1s2pļ_bez1s2pļ_pār1s2pļ_eks1s2pļ_vis1s2pļ_pie1s2kl_aiz1s2kl_bez1s2kl_pār1s2kl_eks1s2kl_vis1s2kl2b3da3ma_2c3da3ma_2č3da3ma_2d3da3ma_2f3da3ma_2g3da3ma_2ģ3da3ma_2h3da3ma_2j3da3ma_2k3da3ma_2ķ3da3ma_2l3da3ma_2ļ3da3ma_2m3da3ma_2n3da3ma_2ņ3da3ma_2p3da3ma_2r3da3ma_2s3da3ma_2š3da3ma_2t3da3ma_2v3da3ma_2z3da3ma_2ž3da3ma_2b3ga3na_2c3ga3na_2č3ga3na_2d3ga3na_2f3ga3na_2g3ga3na_2ģ3ga3na_2h3ga3na_2j3ga3na_2k3ga3na_2ķ3ga3na_2l3ga3na_2ļ3ga3na_2m3ga3na_2n3ga3na_2ņ3ga3na_2p3ga3na_2r3ga3na_2s3ga3na_2š3ga3na_2t3ga3na_2v3ga3na_2z3ga3na_2ž3ga3na_2b3nieks_2c3nieks_2č3nieks_2d3nieks_2f3nieks_2g3nieks_2ģ3nieks_2h3nieks_2j3nieks_2k3nieks_2ķ3nieks_2l3nieks_2ļ3nieks_2m3nieks_2n3nieks_2ņ3nieks_2p3nieks_2r3nieks_2s3nieks_2š3nieks_2t3nieks_2v3nieks_2z3nieks_2ž3nieks_2b3nī3ca_2c3nī3ca_2č3nī3ca_2d3nī3ca_2f3nī3ca_2g3nī3ca_2ģ3nī3ca_2h3nī3ca_2j3nī3ca_2k3nī3ca_2ķ3nī3ca_2l3nī3ca_2ļ3nī3ca_2m3nī3ca_2n3nī3ca_2ņ3nī3ca_2p3nī3ca_2r3nī3ca_2s3nī3ca_2š3nī3ca_2t3nī3ca_2v3nī3ca_2z3nī3ca_2ž3nī3ca_2b3ša3na_2c3ša3na_2č3ša3na_2d3ša3na_2f3ša3na_2g3ša3na_2ģ3ša3na_2h3ša3na_2j3ša3na_2k3ša3na_2ķ3ša3na_2l3ša3na_2ļ3ša3na_2m3ša3na_2n3ša3na_2ņ3ša3na_2p3ša3na_2r3ša3na_2s3ša3na_2š3ša3na_2t3ša3na_2v3ša3na_2z3ša3na_2ž3ša3na_2b3ta3la_2c3ta3la_2č3ta3la_2d3ta3la_2f3ta3la_2g3ta3la_2ģ3ta3la_2h3ta3la_2j3ta3la_2k3ta3la_2ķ3ta3la_2l3ta3la_2ļ3ta3la_2m3ta3la_2n3ta3la_2ņ3ta3la_2p3ta3la_2r3ta3la_2s3ta3la_2š3ta3la_2t3ta3la_2v3ta3la_2z3ta3la_2ž3ta3la_2b3tu3ve_2c3tu3ve_2č3tu3ve_2d3tu3ve_2f3tu3ve_2g3tu3ve_2ģ3tu3ve_2h3tu3ve_2j3tu3ve_2k3tu3ve_2ķ3tu3ve_2l3tu3ve_2ļ3tu3ve_2m3tu3ve_2n3tu3ve_2ņ3tu3ve_2p3tu3ve_2r3tu3ve_2s3tu3ve_2š3tu3ve_2t3tu3ve_2v3tu3ve_2z3tu3ve_2ž3tu3ve__priek2š1_spil2g1tpa2s2t2s_pa2r2k2s_", + 10 : "d_vi1s2os_2b3da3mās_2c3da3mās_2č3da3mās_2d3da3mās_2f3da3mās_2g3da3mās_2ģ3da3mās_2h3da3mās_2j3da3mās_2k3da3mās_2ķ3da3mās_2l3da3mās_2ļ3da3mās_2m3da3mās_2n3da3mās_2ņ3da3mās_2p3da3mās_2r3da3mās_2s3da3mās_2š3da3mās_2t3da3mās_2v3da3mās_2z3da3mās_2ž3da3mās_2b3nie3ce_2c3nie3ce_2č3nie3ce_2d3nie3ce_2f3nie3ce_2g3nie3ce_2ģ3nie3ce_2h3nie3ce_2j3nie3ce_2k3nie3ce_2ķ3nie3ce_2l3nie3ce_2ļ3nie3ce_2m3nie3ce_2n3nie3ce_2ņ3nie3ce_2p3nie3ce_2r3nie3ce_2s3nie3ce_2š3nie3ce_2t3nie3ce_2v3nie3ce_2z3nie3ce_2ž3nie3ce_2b3ša3nās_2c3ša3nās_2č3ša3nās_2d3ša3nās_2f3ša3nās_2g3ša3nās_2ģ3ša3nās_2h3ša3nās_2j3ša3nās_2k3ša3nās_2ķ3ša3nās_2l3ša3nās_2ļ3ša3nās_2m3ša3nās_2n3ša3nās_2ņ3ša3nās_2p3ša3nās_2r3ša3nās_2s3ša3nās_2š3ša3nās_2t3ša3nās_2v3ša3nās_2z3ša3nās_2ž3ša3nās_1pa1d2smit", + 11 : "d_vi1s2iem_2b3da3mies_2c3da3mies_2č3da3mies_2d3da3mies_2f3da3mies_2g3da3mies_2ģ3da3mies_2h3da3mies_2j3da3mies_2k3da3mies_2ķ3da3mies_2l3da3mies_2ļ3da3mies_2m3da3mies_2n3da3mies_2ņ3da3mies_2p3da3mies_2r3da3mies_2s3da3mies_2š3da3mies_2t3da3mies_2v3da3mies_2z3da3mies_2ž3da3mies_" + } +}; \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/patterns/ml.js b/alt-implementations/readifry-master/hyphenator/patterns/ml.js new file mode 100644 index 0000000..19ff783 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/patterns/ml.js @@ -0,0 +1,12 @@ +// For questions about the Malayalam hyphenation patterns +// ask Santhosh Thottingal (santhosh dot thottingal at gmail dot com) +Hyphenator.languages['ml'] = { + leftmin : 2, + rightmin : 2, + specialChars : unescape("അആഇഈഉഊഋൠഌൡഎഏഐഒഓഔാിീുൂൃെേൈൊോൌൗകഖഗഘങചഛജഝഞടഠഡഢണതഥദധനപഫബഭമയരറലളഴവശഷസഹഃം്ൺൻർൽൾൿ%u200D"), + patterns : { + 2 : "ാ1ി1ീ1ു1ൂ1ൃ1െ1േ1ൈ1ൊ1ോ1ൌ1ൗ11ക1ഖ1ഗ1ഘ1ങ1ച1ഛ1ജ1ഝ1ഞ1ട1ഠ1ഡ1ഢ1ണ1ത1ഥ1ദ1ധ1ന1പ1ഫ1ബ1ഭ1മ1യ1ര1റ1ല1ള1ഴ1വ1ശ1ഷ1സ1ഹ2ൺ2ൻ2ർ2ൽ2ൾ2ൿ", + 3 : "1അ11ആ11ഇ11ഈ11ഉ11ഊ11ഋ11ൠ11ഌ11ൡ11എ11ഏ11ഐ11ഒ11ഓ11ഔ12ഃ12ം12്2ന്2ര്2ള്2ല്2ക്2ണ്2", + 4 : unescape("2ന്%u200D2ര്%u200D2ല്%u200D2ള്%u200D2ണ്%u200D2ക്%u200D") + } +}; diff --git a/alt-implementations/readifry-master/hyphenator/patterns/nb-no.js b/alt-implementations/readifry-master/hyphenator/patterns/nb-no.js new file mode 100644 index 0000000..5107247 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/patterns/nb-no.js @@ -0,0 +1,129 @@ +// The norwegian hyphenation patterns were retrieved from +// http://www.ctan.org/language/hyph-utf8/tex/generic/hyph-utf8/patterns/tex/hyph-no.tex +// and adapted to hyphenator.js format by Erik Erik Seierstad (erik dot seierstad at gmail dot com). + +// % This file is part of hyph-utf8 package and resulted from +// % semi-manual conversions of hyphenation patterns into UTF-8 in June 2008. +// % +// % Source: nohyphbx.tex (2007-02-07) +// % Author: +// % +// % The above mentioned file should become obsolete, +// % and the author of the original file should preferaby modify this file instead. +// % +// % Modificatios were needed in order to support native UTF-8 engines, +// % but functionality (hopefully) didn't change in any way, at least not intentionally. +// % This file is no longer stand-alone; at least for 8-bit engines +// % you probably want to use loadhyph-foo.tex (which will load this file) instead. +// % +// % Modifications were done by Jonathan Kew, Mojca Miklavec & Arthur Reutenauer +// % with help & support from: +// % - Karl Berry, who gave us free hands and all resources +// % - Taco Hoekwater, with useful macros +// % - Hans Hagen, who did the unicodifisation of patterns already long before +// % and helped with testing, suggestions and bug reports +// % - Norbert Preining, who tested & integrated patterns into TeX Live +// % +// % However, the "copyright/copyleft" owner of patterns remains the original author. +// % +// % The copyright statement of this file is thus: +// % +// % Do with this file whatever needs to be done in future for the sake of +// % "a better world" as long as you respect the copyright of original file. +// % If you're the original author of patterns or taking over a new revolution, +// % plese remove all of the TUG comments & credits that we added here - +// % you are the Queen / the King, we are only the servants. +// % +// % If you want to change this file, rather than uploading directly to CTAN, +// % we would be grateful if you could send it to us (http://tug.org/tex-hyphen) +// % or ask for credentials for SVN repository and commit it yourself; +// % we will then upload the whole "package" to CTAN. +// % +// % Before a new "pattern-revolution" starts, +// % please try to follow some guidelines if possible: +// % +// % - \lccode is *forbidden*, and I really mean it +// % - all the patterns should be in UTF-8 +// % - the only "allowed" TeX commands in this file are: \patterns, \hyphenation, +// % and if you really cannot do without, also \input and \message +// % - in particular, please no \catcode or \lccode changes, +// % they belong to loadhyph-foo.tex, +// % and no \lefthyphenmin and \righthyphenmin, +// % they have no influence here and belong elsewhere +// % - \begingroup and/or \endinput is not needed +// % - feel free to do whatever you want inside comments +// % +// % We know that TeX is extremely powerful, but give a stupid parser +// % at least a chance to read your patterns. +// % +// % For more unformation see +// % +// % http://tug.org/tex-hyphen +// % +// %------------------------------------------------------------------------------ +// % +// % TeX hyphenation patterns for Norwegian +// % +// % version of 2007-02-07. +// % Patterns of January 25, 2005, with later additions and changes +// % +// % Copyright (C) 2004, 2005 Rune Kleveland, Ole Michael Selberg. +// % Copying and distribution of this file, with or without modification, +// % are permitted in any medium without royalty provided the copyright +// % notice and this notice are preserved. +// % +// % Please send bugs or suggestions to tex-live (at) tug.org. +// % +// % Originally generated by a script written by Rune Kleveland +// % from dictionaries available from +// % http://folk.uio.no/runekl/dictionary.html. +// % +// % Adjusted manually by Ole Michael Selberg to prevent +// % numerous wrong hyphenations, especially in compounds. +// % +// % Changes from the former version of 2005-06-29: +// % 388 new patterns. Some old patterns have been deleted or changed. +// % +// % In Kleveland's nohyphb.tex there are 26017 patterns. +// % This version of the revised nohyphbx.tex contains 27149 patterns +// % --- plus 45 exceptions in the \hyphenation-list +// % (which you may change to suit your personal needs). +// % +// % To load these hyphenation patterns the parameters +// % of TeX must have the following minimum values: +// % trie_size = 33385 +// % trie_op_size = 815 +// % (The corresponding values for nohyphb.tex are +// % trie_size = 31900 trie_op_size = 636) +// % If you want to load more than one set of hyphenation +// % patterns the parameters have to be set to a value +// % larger than or equal to the sum of all required values +// % for each set. +// % +// % Notes on other Norwegian hyphenation pattern files, from Dag Langmyhr, +// % tex-live mail of 29 Jun 2005 11:26:21 +0200. +// % nohyph.tex -- manually created by Ivar Aavatsmark and others; +// % hyphenate according to pre-1973 rules; no longer recommended for use. +// % (Sometimes also known as nohyph1.tex.) +// % nohyph2.tex -- created by Dag and a student; the present file, +// % nohyphbx.tex, is more extensive and is recommended. + + + +Hyphenator.languages['nb'] = Hyphenator.languages['no'] = Hyphenator.languages['nb-no'] = { + leftmin : 2, + rightmin : 2, + specialChars : "æøå", + patterns : { + 3: "_a4_b6_c4_d6_e6_f4_g6_h4_i2_j4_k6_l6_m8_n8_o6_p6_r6_s6_t8_v6_y6_z4_æ8_ø6_å28aca1ha1ja1oa1ø2bc1be7bé6bg2bhbl26bnb2o4bpbr81by6cb4ccc2dc2lc1mcr81cuc6zcæ51da1de1di1do5dqdr48ds1du1dyd5z1dæ1dø2ea2ece1fe1he1je1ue1vey1é1aé1bé1dé1fé1gé1hé1ié1ké1lé1mé5oé1pé1ré1sé1té1vé5åè1r1fa1fe2ff1fi1fjfn61fo3fôfr22ft1fu1fy1fø4få1ga1ge1gé1gi1gjg1n1go1gu1gy1gåh2a4hc2hf2hh2hl2hnh4oh1p2hr4hthv4h6yh6å2ie2if2igi3hi1ii1j2ik4io2iri1ui5yi1øj1b2jdj2ej1f4jgj1hj2oj1pj1tj5vjy1j2ø2jå2kc1kekj22kkkl4kr6kv26ld1le7lè5lê2lg1li2ljl5q8lvl5wl3z1lø1mam1c1me2mé1mi1mom3q6ms1mu2mw1my5mæ1mø1må1nan1c6nd1ne1né6ng1ni2nk4nn1no7nón3q6ns1nun3w1nyn1z1nø2oa4oc2og2on2ooo4q2os2otow1ox3o1øo1åô4tó7tó8v1pa1pepl61po2pppr62ps1pu1pæqa5qu2r1c4rdr1j2rn4rsrx1r4z1se1sés1h1si1sjsl4s1ms1nsp2sv21sys4z1sæ1sø2tc1te1titr44ts6tt2tz1tæ2udu1hu1ju1uu1vu1wu1æ1vê8vs1vu1væw2aw1bwe2w1lw1mws5wy2w1zx7bx3fx7hx5kx1lx3rx7tx6uxy2y1by1cy1fy1hy1iy1j6yk2ysy1uy1vy1wy5æy5øz1cz1d1zez1fz1gz1kz1mz1pz5rz1sz1væ1fæg6æ2kø1bøg1ø1hø4iø1jø1o4øtå1aå1f2ågå1hå1iå1j6åmå3oås2å3uå1v", + 4: "_aa4_ai2_a6k_a6l_a6n_a6s_bl4_bæ2_ds4_ei2_ex4_gl6_gø2_ik2_i3ø_ji4_ks6_og4_om1_ph2_ps2_sk4_sn4_st6_sv8_sz6_sæ2_th2_tr6_ts2_u1i_u2n_u1o_u1p_u2t_vy4_xe2_ye4_ys4_yv6_zj8_øi5_øs2_å6e_å6f_å6g_å8l_å8m_å4t_å6va1ad4aafaa4gaa2ma1apaa2sa1ava5bhab1lab1raca5ack3a1co6ada1adgad1j2adl1admad5n1adv4aeaa4eda3ep6afa6afcaf4i6afo4agaa4gé4agoa5hiah4vai5øa7jea4jéa4jia6jl6ak_a1ka2akd2ake6akn2akva5kå2ale4alnalp22alsa1lå2amia2moam1s2anu6any2anøan7åao9aaog9a2oiao2pao4ra7péa1piap1j8apua1pyap7øa1ra1arba1re6arf2arsa1rya1rå6as_a1scas2has1la1soa1suas5å4at_a4té4ati2atsa1tuat5va1tya1tø4au_au3cau5i2auxa1va1avd1avg6avna1voav1r1avt2avua1waa5wea1wiay2aa5zua7å61b4aba3aba2d4bafba2k6bavba5z2b1bb3bab3bib4bøb6bå2b1d2beeb4efbe3gbe6i2bepb4er6beå2b5fbhu11b4ibi1dbi5gbio74bipb5khb5ljb6lu2b1mb7ni2boh2bojb4olboo61botbo6yb7plb2ro1bryb4rø6b1sbs4ebsk4b2smbså56b5t1b2u4bubbu1ibu1p4buv6buø2b1v4b5wbya23byiby5nby1s2byv1b4øbø4ebøf3bø2nbø1v1b4åbå6e1c4acab4ca4eca1tc1cicde6ce3dce1i1cel1cer2ch_2chb2chm4chn2chp8chs6chtch1vci1c3cidci2e2c6kck1ick1kck7rcku6cly4coa62cod6cof6cogco2mco2o2corc1pr5cru4c4s4c1tc6tacty54cu_2curcu6tcy2acys34daa2dafda1i2dap2dav4daø4d1c6d1dddø22deade7bde1c2dee2def2deg2deh2dei2dejd2erde1s2deu2dev2dey4deø2deå2d1fd5gid3go2d1h2dib4dih4dii2dij2dipd1jad1jodki6d5kjd3lad5lid5lod5lå2d1m8d1ndn6a2dof2dop2dov4doø2druds1lds1pdst4ds1v4d1td3tidt6jd7todtø8dtå4du1c3dug7duo3durdu1s2d1vd7vo2d1wdy9a2dyf2dyldy2t8dz_4dø_2døkd2ør2døsdøt31dåd1dåpe1ade1afe1ane1ape1are1aue1aveb3heb5se4caec4ce1cee8dée1dredæ4e3e2eea7ee3be2edee4n4efa4efi2efle2fn8efre8ft6efue3fæ4efø2ega6egm4egoeg2re1gø4egåei4cei7e4eii4eil4eime4ip2eir2eise1ki2ekke1kl4ekne1kue5kye3kæe1køe1kå2eliel1jelk2el5n2elæ2elø4em_6emd8emee5my6emø2ena4enb2eno2enp2enu4enw4enåe3o6eo3aeo5de2oke2oleo2peo1s2e1pep2l4erbe1ree8ré2erg2erhe1ri2ern2ero2erp2err2erue1ræ2es_e1sa2esee1sue1taet1c2ete4eté4eth2eti6etlet5m2etnets14etz4etæe1tøe1tåeu4ae8ufeu4heu2leum2e2ure2use2vjev1se2vøew3aey5ke1yre3zie1zue1æ2eær3e1ø4eøy4e1å6eåk4é5e8é2rjése2ê6raê1reêr7ofac8fa4ffai55fal2fap3far2f1b2f1d3fe_2fec2fef8fej2feo2feu2fev2feø2feå1férf2fjf2fof3fæf4fø2f1hfie2fi4ff6ig4fihfi2rf5juf2l21flof6lu3fly1flå2f1m2fo_2foe4fof3fonf1op1fra2f1sfs2hfsi2f2slf4smf2snfs2tf1taft5lft7nft3rft1u4f1vfyr2fy3s2fæ1fø1f2føkf8ør6gah6gakg2at2gaw4gaø2g1b2g1c8g1d2gebged42gee2gef2geh2gei2gejg2en2geo2gepg2erg6es2geug2ev2gey4geæ2geø2geå2g1f4g1gg2glg4gn2g1hghæ83gi_2gibgi8c2gidgi1e2gih2gii2gip2giugl2agl6e4gljgl5lgls42g1mg5még3mugn1dgn4egn5rgn1sg2nå2gob2gof6goi2gok2gom4gov1gr48gr_8gs1gsa2g2sigsu2g2søgså42g1tg3tag3tigt5t6gug7gum2g1v6g1w7gymgyr6g5æt4gåmgå2sha4a4haeha2ghai1h4au2h1b2he_he2ahe2ihe2khet2h5huhje42h1mh2nahn1shob6hoi5ho4oho4shou2ho1v2howh1rah1re6h1sh1trht5thvo2hya3hyd4hy2ehys3hæ5ghø4ehøf5hø2ghøk6hø2shå7aia1ti1avi1b2i5boib4rib8ti1ciick1i1coi5cy2idai8dji2dyi3døid7åi2edie1ii1eni1etieu2i8fti3føig3di6ghig1li5ini1kii1kjik1li1koik1ri1kuik1vi1kyi3køi3kåi1lai1léi1ly8im_4imai8méi7mjim5mimp24imu2in_6ina4ine8iné2inkin5l2inoin1s6inu1inv6inøi2obio1iiol4i1pii1pli1pri3pøi1rai1reir7gi1riirt6i1rui1røi1råi1sa8iséis1lis1p6isuis1vis7wi1tai1téit2ii1toi1tri1tui1tøiu6aiu2biu2niu8pi2uri1vei1véi1viiv3ni1voiv3riv7yi9væi1waiwi5i4zei1zoi4øsi1øyi1å41jaeja4j1jaz2jeb2jef2jehje1i4jej2jel2jem2jep6jeø4ji_6jik4jiø2j1k6j1l6j1m6j1n6jn_j5ni1job5jocjon24jop2jos1jou4j1r1jubju2l8jup1jusju1å1jø_1jøejø1f4jøl1ka_2kaa2kag2kah1kam1kas2kav9kayk5ce2k1d2keb4kecked44kefke5h2kei2kej2kek2kem2keo4kep2kev6keæ2keø2keå1ké4két52k1fk5fik3gek5ghkgu44k1hkh6m2kifkio42kip1kir4kiuk6ivk1kak1kikk5kk4knkk7skk1v6kl_k2læ2k3mkn5fk2nøko3e2koi2koj1komk6on1kos4koø4koå6k1pk2rok1sak1scks1lksmåk1sok8srkss6k1suks1vks5wks1å6k1tku2a2kud6kuf6kug1kunku4o1kup1kus1kvok2vuk1våk7wek5wuky5a4kyf2kyg1kyr2kyt1kø_1køek1ønkøs41la_2laala1b1lae2laf2lal2lao2lav1lawl5bel5bå2l1cl9déldø22lea2leblec42lee2leh2lej2leo2leplex14leø2leå5lée1lér4l1fl5felf3flg5glg5nl1gælg5ø8l1hl5hjli1a3lif3lig4lih2lip7liul5jél1jiljø36l1kl3kalk4elk2llkå12l1lll1jll5mll5p2l1mlm7blm5llm5mlm1slm3t2l1nl3nel7ny2lob1log4loh2lop1lov2l1pl7palp2hlp2ilp2l8l1sl4sfl2shl2sll2sml2su2l1tlt9blt9nlt2rl3ty2lublu5c1luflui61lujl4umlu6oluth1luvl1val9vél1vilv1jlv1åly1a2lybly5ely5l2lyo1læ16læd2løt2låilå2n2låp2lår2maa2mab2maom6at2mau2mav2m1bm6com3de2meb2mecme7e2mef4meh2mejm2el2mem2mep2mev2meø2meå2m1f2m1hmi1ami6c2mih2mii4mij2mim2mip2miv2mjem1ji8mjo1mjø4m3lm7laml6im3mémm5nm3mummø22m1n3moa3moe4moh2mopmo5w8m1pmp1smpø5m1scm2smm1soms1vms1å2m1tm3tamt4bm5tomt4rmtå5mu6amu2e2mugmu2k7mumm2us2mut2m1vmy5amys3mø6emø2o7møt2møy2må_må5amå1km6ål2mår8naf6nah2nakna7on5can1dénd5knd7v2nea2neb2nef2neg6neh2nei2nej2nek3nen2neo2nep2neu2neø4neå4néb4néd2néf6néh2nél4ném6néo2nép5nér4név4néå4n1fngd4ng1lng7nn1gø2nih8nij4nirn4it6niå4n1jn1kan1kin5kjn3kon1krn1kun1kvn9kyn1køn1kå4n1ln5len3ljn7lå4n3mnn9rnn1å2nob3noe2nof2nok2noo2nop4nouno1vn5pen9ran3renry6n2shn1su6n1tnt9gnt5lnt5n4nu_2nugnuk5nuo26nup2nut6n1vn5vin3vu2nyd4nyg2nyn4nyo4nypny1s2nyv4nyø1næ12nøe4nøfnøy11nådnå8j1nålnå2soa5co1afoa4ko1auob4e2obr2obu2obyo5bøo3båo5cy2o1dod4eo4dj6o1eoe6foe2loe2no2es2ofao1fé2ofio1fl2ofo6oft2ofyog5øohø4oia4oi5ko1imoi6ro1is4o1jo1kao1kj4okl2okno3koo1kro1kuo3kå8ol_2old2oleo1lé2oliol9no1luo1lyo1lå2om_2omaomb62ome8omhom1j2omm2omoomp21omromt26omyo5måon5bon7fon3jon1koo5s2op_2opa4opho1pi2opl4or_4orb4orc8ore2orfo1ri6orl4oro4orr2ors2ortor1u4ory2orøo1saos2lo2sno3soos1vo1tao1tjo1too1tro1tuo1tyo1tøot7åoub8ou4r6ovh2ovj4ovoowa8ow5ho1zao3zyô6raô2reô1rió9saò9re4paa2pac2paj2pamp6aspa1t2pavpce6pdø22pea4pebpec3pee62pef2peg2peh2pej2pekp6el2pem2peo2peppe2u2pev4peø4peå3pér2p1fp3fop5fr2p1h4pib2pid2pif2pih6pii2pim1pit2piu4piø8pl_p2lip1lyp1lå2p3mpo9apod82pofpog64poh2pom4poupow4p1pipp1jpp3kpp1lpp5npp5ppp1rpp1sp2pup6på4pr_6pru4pråp1scp2shp2smp2snps1opst2ps1vps5wps1å2p1tp3tep5ti5pucpu2k5pum2pur2p1vpy8o6pys4p5z5påb1pålp5ånpå1r1pås1påv1que2rao2rav4raw2raør5bør8dérd7mrd3nrd5t1re_2reb2ree2reh2rej2rem1rer2reu3rew2reå2r1frft2r9fæ2r1gr2gn2r1hr7hu2rib2rih2rii2rij2rip4riå2r1kr3kir8ks2r1lr3ljrl6or3ly2r1mrm3brm7pr3narn3drn3nrnu41roc1roi2r1pr5parp6jrp2lr3pu2r1rrr3drr6er3rirr5v6rs_r1sar1scr1sor1spr1svr1sz6r1tr4thrt2r4rukr4umru2rr4us2r1vrv4arv2jr3vr4r1w2ryrræ8v2rø_6røb2rølrø6m1rør2rå_rå7a4råb2råf4rål2råprå1s2saa1sas1sat4sca1sce2seb4sec2sef2seh2sejs2el2sep2sev2seø2seå2séa6séb4sée4séf4séj4sék2sél4séo6sép9sér4sés2sév2s1f6sfes5fo3sfæ4sh_6she4shj6shs2shus5høs7hå3sig4sih3siks2ils2is2sj_2sjb6sjd2sjf2sjg2sjk2sjl2sjm2sjn2sjp2sjr2sjs6sk_1ska4skb6skd2ske2skf2skh1ski2skm2skn2skv1sky6skæ1skå1slus1ly2snæ1sod5soe6soh3son1sos4sou2sov4sp_1spisp6o8s9rs5ro4s1ss2shs2sls2smss2ts6så6st_st7c2std2stg2stk2stl2stm2stp2stv1sty1stø1stå4su_1suesu2fsu2hsu2ksu4o1sus7suv6sv_s3vrsy4c5syes4yms2ynsæ2l4sø_sø2d4søfsøg44søjs4øp7søt2søv5sågså2pså2rså2s9såvta1ata1c4tadt8ae8tah1tau2tavt1cet5co2t3d4teb2ted2tef4teh2tej2tem2tept4es2teu2tev2teø2teå4téa2téb2téf2téh2téi2tém6t1ft7fo2t1h3thr2tib3tid2tih2tii2tijt4il2tir2tit4tiy2tiå2tjo2tjø4tjå2t1m8t1nt3nat5ni4toc1toe2tof2toh4tojt6ok1tonto1s2tov5tow4toøt7pa8tr_t6ræ6ts_t1scts3fts1lts1ots1vts1wts1åt1tat1tét4tht6tst5twttæ6tu2k2t1vtv4a1tyd6tyh1tyn1typty2st5zatæ5l4tøl4tøpt2ørtøs44tøt2tøvt4øytå2k4tåptå3stå2tua7gu1akua3tu1avub5hub1j2ubsu4båu1ciuck1ucu5ud1rud3tud5vu5eiu1elue7ou1eru1etu1flu1frufø6u4glugo1ui8aui2du4ilu1imu7jå4uk_u7kiu1kj4ukku1ko2uksu1ku6ul_u1lau1léul1ju1lo4ult1uly2uma2umb4umc4umd2ume2umh2umi2umk4uml4ummum3n4umo2ump4umrums1umå72un_un6i4unk4unsunu6u3nyu3nøu3nåuo9au1obu1omu1opu1ov6upfu3pi4upr6ups6upt6upuu1påu1raur4curd4u1re2urfu1riurø24usaus1c2use4usgu2shus1lu4snus1pus1v6usæ1utb1utd1utf1utgut1j2utout1ru1tu1utv8utzut1øu7utu5viu5vu4ux1uy6au7ynu1ø6uøv54vabvaf32vap4vauva4z6v1dvd6rv7dø1ve_2veb2vec2vee2vef2veh2vej2vem1ven2vepv4esv4et2veu2veø2veå2v1fv9gevgo42v1h1via1vid4vim1virv1jav1jev1jivls92v1m2v1n6vob2vofvoi11vok1vol2vom1vosvo1v2vr8v1rev1rov1ruv7ryv1råv1skv1slvs1v2v1tvta18vuévu8k2vul2v1v2vy1vya4vø4lv5øv1våa1våev4åk1vånwa6l2wap1watwa3zwe7bwe3gwes2wet5w4i2wi3dwi5fwk3rwn5swob5wou6ws6kw1yoxga6x1icx1p6x1s2ya7b1yacya5fya4hy1akya2ly7amy1anyas4ya5ty1avybo2y8cé4yddydo4y1dry2duydø44y1ey2eky2emye2nyes2ye2ty2evygi2yg7myg6ry1kay2key1kiy1kjy1koy1kryk1sy1lay1lyym1sy3noyns1y1omyon4you4yp8ey1piy5poy1pry3puy1ray1riyr3my1ruyr3vy1ryy1says4eys6iy1soys2ty1suy1tay6tjy3to4ytty1tyy6uay8ueyu8gyu4ly1å2za5b3zaez1b4zbu4zea15zhaz3hiz5hu5zie1zis4z1l5zo_5zoe6zos4z1tzu3ez1unæ5byæ2bøæ5deæ7diæ3keæ5kiæ8kjæk6læ1laæl5jæ1re4ærfæ1ri4ærmær3nær5rær3væ2sjæ5ta4æteæt4ræ5vaæ5viøau4ø2bløb4rød3dø5djød1rø2duø4edø5epøfe8øf6jø5fnøg2aøgs2øi4eø4it6øk_ø1ki4økj2økk1økoø1krø7kyø1laøl3døledøl1jø1loø1lyø5mi4ønnøn2sønt1ø1piøp5pø1prø1raø1reø1riør1oør5vø1saø1scøs1lø1tuø5tyø1u2øv1røv1sø5vå2øyløy3o6øypøy1sø1ø2ø5å6å2arå1b46å1då7diåds14å1eåe2nå3eråfe6åg4råg5øå1kaå1kiå1kjåk1kå1koåku8å1laål3dål5jål1uå1lyå3niån5oå9nyåp2eå1piåp6jåp7på1prå4på2årnår2så1røå1saås3hå1slå5soå1spåsu4åså9å1taå5ti2åtnå1to6åtpåt1tåt1uå5tyåv4aå7vyå1ø8åøy4", + 5: "_ad2r_af7f_ag4r_ak6r_am7b_a6me_an3n_ant2_ap8t_as5s_at4h_at3s_a5ty_au6e_au4r_avi2_bok5_bon2_ce6b_cos1_da2m_de4u_di2a_du4a_ecu6_efo7_ege2_egs4_ei3l_ei3m_ek4r_el3k_el5l_el6s_em5p_en5a_en5t_ep6t_er8a_er4e_es1k_es5l_es3p_es6r_et4s_fa2e_fe4e_fe2l_fi6a_fol2_fo2r_fug2_ful2_gaf7_gas4_ga2t_ge2a_ge4o_gha5_gi4n_gi4s_gos7_gus1_gå4v_he2n_hi4n_ho2d_ho2e_høi5_i3a4_i3bl_i4da_ik6k_ik5t_i5kv_i3la_i6me_in5s_i6sa_i3sc_i6se_ist6_i5ti_i3va_i3ve_ja6e_je2a_je2l_je2m_ju6a_kaf2_ke6e_kel3_kir2_kø3s_le2f_le2t_li8a_li2g_li2k_lo4e_lo4i_lo8o_lu4d_lu2e_ly8e_ma4v_mne6_mo5v_mur7_mø2t_nak2_na4r_nat2_ne2s_ne4t_no6e_no4r_nu4e_ny5a_ok1k_oli5_ol6m_op7r_opt6_ort6_osa5_os4k_os4s_ot5r_ove6_ov5u_pe2p_pi6p_pi2s_pøn3_ra2m_rei2_ri2d_ri8e_ro4e_ry2e_rød2_rø1v_råg8_sch6_se2b_se2e_se4i_si2d_små3_sne3_soa8_s8p6_syd5_sær1_ta2s_te4e_te6i_te6o_ti8a_ti4e_ti4s_tsj2_u5a6_u1b2_u3d2_u7de_u3e6_uf4f_u4ga_u5gi_ug8n_ui6m_u1k6_u6ke_u7kn_u3le_ul5t_u1lu_u1ly_u3lå_u5ma_umu7_une8_un2n_u3no_un4t_u5nu_u4pi_up2l_u2ra_ur4d_u1ro_ur1s_u3ry_u5rå_u1s2_u5se_u5sn_u7sp_u3tu_vai4_vi2e_vo6r_vå4d_wa4r_wi6e_yns2_yr6t_yt5t_øi6e_øko5_ør5k_øs4t_øv4d_øy2e_øy4n_å6k4_ål6t_å6se_ås3k_ås7l_ås3m_ås5va3afta1aksaak5vaa3laa1a2na6an_aar5n3aasea6babab7av4abevabie6abl7uabo3babo3eab8reab2slabu5ea4bufa4by_a4byba4bykaby3ra6ca_a5dalad9daa2deba2deka4dela2deoa2depa2desad8ge1adjuado7aa4dob4adora2dread1roa7drøad4siad5un2advea4dy_2a1e2ae3deaed7raek5ta4el_ae5laae3liael5oaen5taes4ta4fe_afei5afia1a2fiba5fjoaf3leaf5li1afriafs1laf5yrafø4ra2gaaa5gaeag5dea2gemag5geagg7ua4gi_ag5idagi6sag1laag5låag1ora5gosa3gotag5ovag1reag1riag1råag2slag2sya6gu_ah4n5ai1a4ai3e2ai4isai5koai9kvai5nea3inga1innai1roais4eai8smais5sai5veaja9da8je_ajes74aka_6akaf6akan4akarak4aua9keca2keha6kek4a1kia6kida6kikakis12a1kjakki4ak6kjak1koak1ku2ak1lak5nea5kno2a1koa5kona7kosak1ruak6sl4akso4aksr4aksu4akthak2trakut2ak5øl8ala_ala4ga5laha1laiala4o2alat4alaual1aval3de4aldoa2lefa2lega2lema2leuale5v2alg_al2gua2limal1joal1jøal6låa5lo_a5loial1oma1lonalow7al3psals1lal2sn6alsual1voalv3s6a1lyal3øva4maha2maka2mala3manam5bea2meia2mekame5uamhu76amn_amo5eam1opam1oram2påamru4am5råams4lamst6ams2vam2søam3ti5amtmam7tvam6ulam5yram5øy6ana_8anan4anar4and_6ando4andsa2neda2nem2anen2anera2nevang4eania7a6nib4aniv4anki4ankjan4kø2anlaan4nyan2nøa3no_2anoga6notan4sn2ansu6ansyan4såan5uta4nyaanær8a2nøkao6k6a5peaa2piaap1ida6pika2pioa1plaap3liap9loap2ly4apola4pona4pooapo3pa2potap3raap2s1apsa4a3psya5på_2aran2arar2arba2arbi4arbj6arbl2arbo2arbr2arbu2arby2arbø4arbåa4reba2reda2refa2reia2reka2reoa2repar4eta4rev8a1ré6argjarg4lar7go2a1ria3riba4rima2rivar3ke2ar2nar3niar3noar3nuar3nåa1ro_a5roka1ronar1opa1rosa1rotar9po1arraars7æar3te4artn4arto6artr6artu8artyar1ular1una1rusar7æ6ar1øyar7åp4a1saasab4asak4as6anasbe2a2se_asea4a2seda2sega2sekas4ela2semas5hua4siba2sipa2sira2sivas4jaask2ia5skja1skras4kva4so_as5ovas3peas5plas2sjas1taa1stjasu3nas1vaa6sym4ata1at6afatas4atat8a2tauatch5a2teaa2teca2teea4tei4atena2teo4atera2tesat3joato5aat1oia2toma1tora1traa9tru4att_att1oat1tra2tuta3t3wa3tå_a7tåaa1tåeat5år8a8ua4au5b4a6ueau7enau7er3auguaul5lau5luau6moa5undau5riau1ruau1saau1soaus5sau1suaut6aau5te1autoau4tyav5aba5vaeava7g6aval4avas5avbi2a1vea2veka2vesa2vev1avfaa1vika1vin2avira5vitav7naa4vokavo3ravo4vav5riav1saavs2iav5su1avviav3øl4a1våawat4ay5ara5y4tazz3obaby5ba5clb5addba3dibad1sba3ki4bakrbak1vba3labal3jba1lobal5tba1luban4aba3reba3riba5ruba3siba2stba1tab6bakb3be_b4bebb2befb4begb6behb2beib2bekb4bemb2beob3berb2bevb8b1hb2b1lbb5opb2by5bby3ebby1kb2dekb7denb4depbe2aube5edbe6efbega9be4gnbe5go4behube5kebek6l4beksbel3ubel5vbe4nabe3nebe5niber5dbe1robe1ru5bes_6besjbe3snbe5spbes3sbe6så3b4et5bet_be3te4betube9vobev9rbeån9bi5akbi5cebi8débid6rbidu8bi5el4bifabi3kabik1kbil3jbil1o6bi5mbi7nobi1robis2abi3seb5ish8bisnbi4spbi1stbjar3bjø6r2b1k4b1larb3latbla4ub4lefb4lekb3ler2bletblja41blokblå5nblå3rb3ne_b3nerbo2blbobs4bo3debo2dø4boef1boenbo2erbogn7bog1s3bok_bo2kabok1ibok1kbo2kubo7li1bombbom5mbo6mo4bonnbons4boom1bo1p4bo1rabo3rob4o1sbo2slbou3c4bo1vbow4e1b4rab6revbri5ab4rio3b4rubråe6b5s6ib4slibs2t6b7s6vb7t6sbu4arbu3dabu3debue5sbu6is6bukibuk3lbu5la2bu3obu3rubus6ebu1st4busybu1tab5utgbu2tubu1tøby5alby2erbyg3lby1lo4byløby1re5bys_4byse6bysi6byspbyst44bysvby1trbæ3ribæ3rubøne5bøn7obø5tabøye5bå4debå4labå1rebå6tobåt5rca5leca5meca5mocap1rca3racar5nca5rocash5cath5cebo9ce5le3cen_5censce5o4ce3recer3t6cerucha5t4chei4ch3hch5nechom4cie8ncil5lci3neci5tack1enck1o2ck5s2ckup3ck9utcoat51co4cco5macom5tcon5scon7tco7paco1reco4so4costcre2ecros2cu5lacu5lecu5lucup1lcu6pocup1rcup7scu4påcy6p78dabod5absd4adgdadø44daef5dagb4dagjdag7l4dagå4dahe5dahl2daka4dako4dakrda5kvda1lada1luda3mo5dan_d8ane9dani3dann7dano8dany2da3oda3ped3app3dar_5dara2darbd5arnda2ro2dash6dasida4sk6dasudata5d6aud2dautd5avbd1avl2d1b2d6byfd2dadddag4d4dakd2dekddie8d7domddsa4d2dybddør3dd1årdeak3de2al2debe4debl2debo2debr2deby4debø5ded_2deda2dedy5dee_de7erd5effd5eft5deggde3gldei4d5deik3deir8deka2deke2deki2dekj5dekkdek2lde5ko5dekt2deku4dekv4dekø4dekåd4el_d4elsd4elt4dely4delæ2delø2delåd3emb2deme4demj3demr5dems4demu2demø2demåd2en_4dena4deni4denod2ens4denu2denæ2denøde2obde4og2deol2depe4depi4depl6depuder5dder5kder3tder3v2derå2desa4desc2dese2desj2desk2deso2despdes6v2desydeså7d2et_2detade3te2deti2detj4deto2detu4dety4detø6detåd1eur5deusde5vu2d1g4d4geldgi6ndhø4rdi6akdi1ardia1s2diavdi1erdies43diff4difødig7g2digjdi2gudi5ka2dikj6dikn2dikodik7v2dilidi5ma2dimo4dimådi5nadini42dino2dinv4dinø3diog7diol3dipl5dis_di6scdis4id6iskdis5sdis1tdi5sv2disydi7tediv6i2divu2diøkd1je_d1jen5djupd4jø_2d5k2dko2r4d1l4dla4vd2lefd2leldli4fdmo4edmo8s2doavdo2b34dobado3be2dobådo4dadodø44doeud3offd5ofr2dogr6do5ido3ki4dokndo5le4dolj4domldo4modom7p2domrdo4mudon5g3dopido1redorm8do3ro5dorp3dorrdors6do1ru5dos_do1sk2doso4dosp2dost4dotrdo5vadov9n2d7p8d1ra_d5raa1dramd1rar2dre_2dredd5rej4drel4dremd1ren4drer4driad2rik3drukd1ruld1rumd3rup2drykd2rysd4rømd7røtd1råd3dråpd5sa_ds1add1sagd1sald2sasd5se_dse4dds1efdse2mds1evd2s1id7sild3sird2sjods6jud1skjds1kods1kvds3mad6smods3neds5nods1o2d7sotds2pids5s4dss8tds1tjds3tvds1u2d5sykd3synds1ytd2s1ød6sørds1å6d3t4adta4sd3temdt6økdub5bdub5ldue5s4dufo4duguduit6dul5l4dulydums2d3upkdu2skdu2sldu2spduss4dust4du2sv2d1utdve6sdvo8r2dyba4dykl4dykø4dynkdyr5ø7dys_dy8sa4dysedys7sdærs4dø3grd5økndø4madør3id6øs_dø9vadø1vi6døvl2døy_døya8døy8gdå5rid3ås_d7åt_e1a2bea2gue1a2ke4akr6eakte1al_ea2løea4m1e5amne2an_e4aniean7nea4peea2ree3aspe1assea7taeat8he8atoe1atteau5s2e1b2eba3deb3beeblæ5ebob3ebø6ne5chae3come2dade2dare3de_ed4ise7dived8obe4doled1oped1oved2raed2smed5taed3teedt6redu8aed7vae3dykee3dieeg6nee5gåeei4deek1eee3lae5enbeen6keen5te3eplee8raee3rie3e6tef7eaef5efef3feef3foe5fig4e3fjeflå3ef2sjef2skef2spef2taeføy9e3gafe7game2gemegg3legie2eg7lyeg6noe7gnåe4go_7egoiehea4ehog5ehov2e6hå_2e8iae8id_5eidf5eidge1idreie5dei8egeie2nei6esei1fl8eig_ei3gaeig6eei5giei6guei1krei6moein1dein9fe4ini6einvei5orei9paei3peeip5sei3rieir5se4iseei2toei3vi4e1kae4kese6keye4ki_4e1kjek1kjekk3lek6kuek4kye3klue5klæek2løek3noe1knue5knøe1k2oe4ko_e4kov2e1kre3kroek4ryeks1k1ekspek4sæ4ektoe1k2v6ekve6e5kw2e1lael1alel4chel5do4elede3leee2lele2lem4elenel5fiel5gie9liee4lifel3knel4læel5mu2e1loe2lomel1opel4otel5phel3siels1lel2søel2tue3luae3luke7lume7lupe1lure7luselv1r4e1ly2e1låel1åre5låte2made2mahe4mame4mibe4mig4emine6mirem7jee5mjuem5le8emnd6emniem1opempo3em2snems3ue3muge2mukemy4kemø8re5møyen1akena2vend5l1endren7dø4enem2enen4eneveng6aeng4r4enhje4ni_e2nife5nir2enna2enneenn2ienn2oenn7øen3oken3ogen1open3sien1sten2søens7åen3ti2en3ve4ny_e2nybe6nyre2nys4e7næenæ8menø4ken1åse6obeeo2ble1og1eo7gre2o1ie3okseo5nee7onke3onteo3paeo5pleopo3eo3preo9ree2orieo1roeos6le2o1uepa3tepe6pe3pese6peu3epidepp2seps1tep2suept6r2e1rae2rafe2rauerd2eer1drere4t6erfi4erfre2rid4eril4erka8erke6erkn4erkrer3meerm1ser2noe3roae1roee1roge1role1rome1roner1oper1over3ra6ersa6ersjer1sker1sl6ersper1su4ersver1så2erta4ertse1ruae1ruie3rume1rus6erviervs3e1ry4er1yrerys32e1rø2e1råe9rå_erå6eerå4kerå6te6råves5aae2sadesag6es4ale3seke4seue4shae4shie1shoe4silesi6ve1skje1skre1skue5skye1skøe7skåe1slaes2noes4nues2ny4e1soeso4be2some1s2pes3pl4essues7såe1stje1stu8eståes5ut2e3sy4eta_e4taee2tafe3take3talet4ape8taxet8ete3tit2e1tjet3jø2e1toe4tot2e1tr8etreets7let2sø2ettiet2tjet4tret2ty2e1tu2e1tyeu2keeu7kre3u2neu5nue6upkeure42eurie3urneuro1e3urteu4sieu1tae3utseut7te4u3z6eved6evegevi4eev2naev7nue4vreev9råevs8vevti4e1y2de1ynge1y2te7ytiey3treåt8té4n5eè2redè2refè2repè2revè6vesê8lanêr9sl4fabofa1cifa3de6fadmfa2gifa2gofa2gr2fakrfa1kufa1lafal5mfa4lo5fane4fank6fanufa3rafar5nfart24faryfa7sa2faslfa1tofat2rfa1vø5fea_fe4da3fedefe2dr2fe3g2fehj4fekl2feko4fekrfe5li2felofem9bfe4mofem5s5fen_4fena4feni5fens5fer_7fernfer2r3fes_2fesife2st4fesyfe5tif7fa_f4fabffa7lf9fasf6fatf2febf2feef6fehf2femf2fesf2fibf2fidf2fipff3laff3liff4olff1roff5slff5t4ffu6rff5ut2f3g2fia7lfia4n4fiapfici7fi7difi1erfi5fifi5fofi7flfi9kafi5ko4fikufi3lifi1lo4filæfin5d6finj2finsfi2nu7fio5fi3rafi3ri4fiscfi2sk4fitrfi7tyf1jegf5jen2f5k6f4las2flegfle6if4lekf6lelf3levflus8fl5utf3lønflø5sfo9ar6fobsfo4lufo4nafond2fo5nefor1aforh6fork8for3nforo6for5pfor9åfo9se4fosjfo4tafoto5fot3sfot3t4f1ov2f3p2fpo6efra5lfra1sfra7vf2re_8fregf4rekf1rin6frocfro7ffrus1f1rytfrø5bfrå9rfsho6fs5ovf4s9vf3ta_fta7fft1akf2teaf3tedf4teef2tegf2teif2tekf6temf2teof5tog3ftonfts1kfts1uft5t4fu6lefull3funn2fu7rofuru1fu6skfut4hfutu1fy5lafy1refyr7kfyr5tfysa7før6afå5rifår7ufå7va4gabaga1bo6gabøga3da4gadg2gadmg3aftg1aksga3kvga1la4gamb9gane4gann9gar_2garbgar2iga4sc4gasp5gastga3tiga1toga3tr9gav_2gavd4gavgg5avk2gavt4gavvg6bykgde3ag2debg2demg2desg2detgd5opgd1orgdy4d2ge1a6geba2gedr2gedy2gedøg5eft3gefæg5eggg1eie3geit2gek2ge9klge3kng1eks6gekt5gel_3geli2gelo4gelu4gely2gelæ2gelø2gelå5gem_2gema2gemi3geml2gemo9gemr3gemsge3mu2gemy2gemø2gemå3gen_gen5kgen3n4geny4genæ4genø5geog3geolge5on6geop3ger_ger3nger5pger5v4gerå5ges_2gesa2gese4gesige1sl4geso2gesu2gesy6gesæ2gesø5get_2geti2getj2geto2getr2getu2gety2getø2geve5gevågfe2lgg1eig2gemg2gevggie6g4gifgg4jeg7glug3go_g5gosgg4sygg3søghe8ngh4to4giakgi1ar6giavgi3de4giek3gien5gier4gifa2gifo4gifr4gifu2gigr5gika3gike4giki3gikk4gikugi5le4gimi4gimø4gino2ginvgio4r6giragi3regiro35gis_2gisagi3se5gisk4giso4gispgi5tagi7va4givo4givu2gjazgje5fgje2n3gjer2gjob2g1ju2g3k2gkly96gla_4glagg1lar3glatg5laug2lef6gleig2lekg2lel4glen4gler4gletg2levglig14gliogl7jag4lo_g2loa5globg4los6glov5glugg5luk6glungl5utg5lyd3glyfg2løg2gløsgmo4egn1akg2navgndø6g2neeg5netg2nevg4nibg4nidg6nikgni4sgn5k4g2nomgn6smgn5t47goango1argobe5go4da2goddgo9gago3lego5logo4lå7gommgo7nigon9s2g1op2gordgo1re2gorgg4orig5orvgo5røgos3p4gost6gotogot6r2g3p64grab6gracgra5tgra4u2grea2gref4grekgrib34grid4grif4gritg4ron2gryd4grøy6grådgråk4grå7ngsam3g2sasgs2cegs5efg2segg2seig2sekg2semg2sergse4tgse2vgsfø2gs5isgsi2vg5sjig2sjog5sjåg6skvg5soggs2pigs3s4gst6egsu5ggs7vægsy2dg7symgsy6tgs6øtg9t6egt7svgty8egt9ytgu2digu4elgui4dgul5ogul7øgun4ggur2ggu4rigu4stgu1ta2gutb4gutd6gutgg7utl4gutn2gutsg9y8agy3ne4g5økgør3s2g3øvgøy9agøy5ngå6as4g3ångå3sthaba9ha2el4hafiha3gaha5kaha1laha5luha5maha5moha5nahani1ha4pehar5kha4sjha2slhas5vhav4aha1viha4vohav1ø4havåheb5nhe3geheia33heimhel1ahel3oher5jhe1roher7phe2sphet3thi5aohie4nhi2ethi4f1hiff2hif9rhik7ehins4hi4plhip3phi1rohi2s14hiskhit7ohiv1shjar4h5lanhma8nhne6nho6daho5dyhogs6ho2lahol5lhols4ho4luho5raho1ro2horthos5aho4véh5s4eh5terhu4dahu4d3hu4erhu4gahu4lahu5mahus1ahus7mhus1thu2søhu4vahvas5hve2rhvor5hy2blhy8sahys5thø4nahø1vahø1vehø1vihøy5khøy7nhøys4hå8lehå1rehå1rihår3shår7uia9ali1ablia1boi1adjia1g2ia2geia1inia1kri1aksia5kui1al_ial1ai2alfial3gi4alkial1uia2løi1an_i2anai5anki1anmi1ansi1antia7nøia2pai3appi1ar_i2arei6asii1asmia4spi1astia5teiat6ri1atti7aukib5boib3buibo4eibo7nib3stibya7i5dali3dasid1av2ide_i2debi6def2idenid9na2idriid2s1idse4ids5lids3tid2t13idyli3dyrie1a2i1effie4geiego4iei6di1eiei3eigiek8li1eksi2elei1elsi9eltie3meie7nai2endie8néien7nie5noi5ensie5nui6enyi4erdi2erii2erli6eroier5tier5vi2e1si6es_ies4cie3seies5si2etaie9teie5téif2faifi6eifjø8if3leif1reift2si2gaei2gavi6gebi2gemi3geni5gibi4gimigl6dig5noigof6ig1omig2raig2reigs2jigst4ig1unig9utihen3i4huki7is_i6itai1k2ai2kabi2kafi2kaki2kaoi2ke_i2kedik9eiik4klik2koik4krik2kvik6kyi5klæi2koai2kobi4kodi4kogi4kohi2koki2kooi2kovik2ryik2sail7afil3alila5til5avil7dji2lefi2leki2lelile1sil5geil1gli4lidi5likil1jeil1joil1juilke3il5kuillæ4il4miilm5si1loei4lomi5lonilo1wil3slils2pils2til7suilu4hi5lukil3uni5luri9lusil1util5v6il1å8ilår6i2madi2magi2mami9mani2mapima5si8mb2i4meei2mekim8eti6meyi6mogimo9limp4l1impoimp9s1impuim9sei3mø2i4nagin2ani2napi6nauince2ind7åi2nedi2nevinfu94infyin2gring2s6ingui7niai2nibi5niei4nifi2nigi4nilini7mi2nip2inn_1inng1innt4innæino5ai4nodinok64ins_8insain3si6insj4insk1inspin2sv8int_int2rinu6iiny4iiny4tin7øki7nøtin3øvio1a4i1offio5gni1oksio3leio3muio4nuio1pli1oppio1reio1sti5papi4peeipi1ei2pleip2pri6praip5ruips1aip2siips1ti5py7ir5deird5sir6eki3reri3retiri4airi9tir5kvirk5øir9méi5roai1roei4roii1roliro1sir3reirs2pir3tairu8mi7sasisch5is3coi5scri2sedi2seii2seki2semi2sesi2seui8skeis1kris1kuis1kvi6sluis5neis5nu1isol3isotis1ovis5sii2steis6téi2stris5ufis5ulis1unisy5ris5yti4søyis7åkis3åritau4i4tavi4teci2tegi2teoi2tifi2tioi2tipiti3ri2tiuitiv4it7jiito9ai4tomito4sito8vit1sait1snit4tjitt1oit4trit4tyitu5eitær1i5tå9i5u6li5um_ium5miu4moiu5se4i1vai4vadi6vaji5vali2vegi4veii2veki2veviv7omiv2siiv2skiv2sliv2sniv4soivs5vi5za_i7zasi1ø4ki1ør_iør5iiør5siø3seja1akja9arja4daja7en5jag_jag6rja4haja4hvja7kuja3loja1lujam7b5jammjams2j5anl6jarøja6råja7seja5taja9vije5akjeb9b4jedrjeep16jeevje2fjje5ge6jegl4jego4jegr4jegy2jeka4jekl2jeko4jekøjelt3jemp6jen1d2jenijen3k4jenl4jeno4jenu4jenæ6jerå5jesf5jeshjets22jeu64jevejib5bji7e6ji7roji6sjj4kapjo4flj3omrjo5nejon7njons1jo5rajo1rejo3sejour52j3s2jubi3ju9boju3deju2dojue9s5jugo4ju2kju3kajull61jungjup7sju4raju9roju3ru5juryju1tajut5ojy2p31jøa_jø5b42jøef4jøeg6jøei2jøekjø3grjø9kjjø5mejø5pajø3rujø1røjøst2jø5tajø1tr4jø1v5kaa_k3aaska3atka7bo4kabyka3da4kadg2kadr5kadu4kady3kaenka3fe2kafoka9fr2kaft6kaføkag2r6kajo4kaktka3kukal2ek6alkka1lokal3p7kamu1kana1kanekan4i5kano1kant2kap_ka5pe1kapp1kar_1kara1karb1karf5karg1karmkar3n1kart5karu4karå7kas_ka4sk6kaspkass6ka4stka1tokat7s6k1b4kcen4k5d6vke9al4kebrke5dake5de2kedikedu64kedy2kedø2keeg2keek2keelke4ep2keevk3effk5eft2ke1gk3egg4kehjk1eigke5ilke1imkeis2kek2lke3knk1eksk6el_2kelakel5lkels4kel2tkel5v2kely2kelæ2keløke3ne3kenfke4niken3kken7n6kenøke3on6kepl3keri3kermk4ert2kerå5kes_2kesjkes1v2kesykes1å2ketake3te7keth2keti2ketj2ketokets22ketu2kety4ketæ2ketå2keu2ke5urkev2ak1evjk3evnke3vrke2yt4k5g2kh5akk4harkhe4oki3drk4ie2ki6elki5g4kik4ski5li4kilj2kiltki7lå6kindki5ne2kinf1king2kinnki2no2kins2kintki6nu2kinv4kiol7kioski5peki5reki5ri4kirski3seki7ti5kitokiv3skje1s6kjorkju9r1kjøpk2kabk2kamk4kaokk1avk2keek2kehkk1eik2kirk1kjakk5jukk1lokk1lykk3lækk5nekk5nyk1kodk1koek6kookk1opkko7sk4krakk3rokk3rukk7røkk7råkk1skkks4lkk3t2kk5ukk2kvok1ky6kkyl4kk5yrkk7ytk2k1øk8kølkkø6rkkøy6kk1å24kla_2klak2klegk2lem2klet8klia4klig1klip4klit1klos2klov4klunk5lydk6lør6kløskmål22k1n2kno7g5knop3k2nu3k2nykny4skn3øy9koa_ko7arko2b3ko3boko5da4kodd2kodø3koef4koek4koel4koes4koevkog3lko4guko6gåko1inko1ki4koko2koku2kolekol5p4koly2kolå6komg2komr4komu4komåkon3dko4nu1ko1o4koomko5pa4kopo2koprko1rako3ri4kormko5ru2kosako9siko2skko1sl2koso4kosø4kotrkot2s4koty2kou4kout3ko1va4kovrk3rad5krag4krapkra4u1krav4krei6krek2krel6kreo2krib4krif4krik1krimkri2pk2rit6krivk4ropkro3vkrum33kryskrø3v4krådkråe65kråkkrå9mk3sa_k7sask2sedk2seeksfø4k5siak2sifk7sioks1kjks5klks1krksk8uks5lok6sodk4sogk2sotks1ovks1prk3spyks3smks1tjks1trk2ståk6sunks5ærk3så_k4såpksår4ksåt4k5ta_k4tagk3tedk6teektem8k5tibk3tilk5tirk2tjakt7jukto9ak2tomkt1ovkt2rokt3t8k4tukktør7kt1øvku9anku3bjku4etku7iskuit6ku5li3kull1kultku6mikum2s3kumuk6unnku7ra1kurskur3t1kurv5kus_5kusekus3tku1taku5to2kuts1kuu8kuøy6kve7e2kves4kvid2kvivk1vog6kvokk4vot4k3væky6elky2p1ky8sa4kysek1æt3kø2arkø2er6k1økkø4lek3ørrkø5sek7øyd4kåkekå3lekå5nekå1rekå1rikå2t54labala6bl1labo4laby4lad_l6ade4ladg2ladm2ladr2laei4laepla3fl4lagglagi42lahala5ka4lakjl2akkla2kr4laktla5køl1alk4lambla3molan2c4lanl4lann4lanvla7pila8pl2larb5larfl2armlar3n4lartla6scla5sela2sk4lasml6astlas3vla1tala5ti4latmla1tolau7a2laudlaue64laun4laur2lautl5avh6lavs7lavåla6y52l1b2lba4kl4boal6buhlby4el4ce_l7da_l2debl5denl2depl3derldo9al2dolld1ril7dryld1røldse8lds1kldø5dldø5lld7øyle7agle3akle1al3leasle5at2leda2ledo6ledu4ledy2ledø6leei6lefa2lefi4lefl2lefrl1eft6lefy4lefø3legele3gi4legj2legu2legå2leinl6eit2lekalek6ele3ki2lekj2lekn2leko2lekr2leku2lekv4lekø4lekå2lele2lelo3lelsle1lul5elv2lely4lelæ2lelø4lemale3me2lemo3lemr2lemt2lemu6lemy4lemø2lemåle5ni2lenø4lenå5leolle5pa4lepoler5dl8erele1ru2lery2lerø2lerå2lesc2lesples1v4lesø3let_2letj2leto3lets2letule4tv2lety4letø8letå4leul2leunl1eur2leut2lev_lev5n2levolev1r4levs4levæ7lét_l4fa_l5farl5figlf5jal7fjel4foml4futl6gaflga5tl2gedl2gemlg1lolg5lylg3oblgo2dlg1oklg1omlg5ovlg2sklgu4llg3unlg3url6gå_li2amli4asliba5libi5lid3tlie5slif5f5lignli2guli9ki9liknli5ku6lilali3lel6ime4limhlim7rlim9ulin6c4lint2linv2liso4lisplit5j6litnli5toli5tyl1janl1jarljas4l4jedl6jeel2jeil2jeklje3ll1jenl2jevljo8el4jom3ljoslj5unl7jurlj7utlk4anl6k5bl3ke_l2kedl6kehl3kenlk4lil6ko_l2kotlku8tl2lakll1alll4asll3d2lle5al3leel2lefl2lemll6esl2leulle6yl2lé_ll7g2lli1el9ligl2liml3lipl4lirl4livll7k2l5lo_llob5l2lodll3opllsk4ll3t4l8lual4lufll7ugllu4kl5luml3lusll1v4l4løkl5ma_l4maplm3avl5mill7mislm1oplms6jlm3utl4mø_l2nablni4ulo1allo2bllo3de6lofj3loftlo5gelog2olo1in3lojalo1ki2loljlolo96londlo5nelo3palo1ra2lordlo1relo1rolo7salo1sllo7sp2lostlo3tolo1un7lovolpas5l4peel2peil2pell2peul4put2l5r4lre4ilrø5vl2sadlsag6ls4aml4scul3se_l2sedl2seel2semlse2sl2seul6sevl5sigl5sikl4sim8lsk_l6sklls8ksl4skåls5lol2snulsok3l5sotls1ovl2spal5spil4sprl8s7sl5subl3sukls1unl2s1vl4sørl2s1ål4taal4tafl3tall2tifl2tikl3toglto4sl3tral5trålt1s2lt7t8l2tutl5tv_l3tvsl4t5wlty8dlt7øllt3øvlua8rlu7go4luk_lu3kr4lulylu2molu4mø4luntlup4slur2elu5ri1lus_lusa5lus1tluta36lutf4lutglut6mlu1to2luts6lutvlu4val4va_lva6klv4enlv9iml6v3nlv1oflv9opl6v5plv9rilv1s2lv5selvs6llv9tal5vøel3våglvå6rlyes3ly8is2lykjly5kuly7kv6lykøly5me2lymply5okly3pely1r8lysk44lysp6lysyly1trly3vel6z5blæ6talø4er2løkol5ø6llø9melø2nalør5n5løs_lø2saløs3kløs3s6løy_4løya2løyd4løye2løyfløy4g4løymlågs4lå4gålå1k4lå9melå1rulå1sklå5su4lått3maa_ma3arma5br4maef4maek2ma1f3mafr3magnma2gr2mahema4isma4ja2mak_4maklmak2rma1kuma1lamal5lmals4mal3umal3åma3mom4an_ma3nem4anf2manl4manmma4no4mapa2mapr4marbmar5mmar7nma1roma6råmash34masp2masyma1tama3tema1toma1trmau4kmau7lma1un5maurm7avhm5avkma4zema3zom4baom2beam4bebm2befm2bekm2bemm4beombet2m2bibm3b4lmboe2mbo5nm4bopmbo9tmbu4embus52m1d2md7om2mea2me5almea5mmeck42medb4medfme3di2medm2medr4medumed5v2medy4medå2meef6meek2meel4mees4meevm3eff2megr2megumei2em1eig4meki4mekj2mekkme3kn4meko4meksmek5t4melame3leme1lumel5v2mely2melæ4melømen5km6enn2me3ome6os5mer_m4erimer9n5mers2mery2merå5mes_2mesj2mesp5mess4mesu2mesy2mesøme3te2metj2metu4metv2mety2metø4metå2meu4mfav5m2fekm4fi_m2fit2m5g6m4ga_m4gi_mhea4m4hu_mia2n2miav2midimid5jmid4t2mi5fmik6h4mikj2miko6mikumi7li4milæ5mimom7impmin2smi3num4invmi7ov4misami3se9misémi2sk7mism2misy4miså6mitami3te4mitj4mitomi5urmi5våm6ja_m6janm7je_2m3k2m4ko_mkro5m2lefm2lekm2lelm2lemml5jamløy32m1m4m6maimmal5m4mamm5marm2megm2meimme3um4miam2mibm4midm2mikm2neem2nevm6nipmn7skmo2ar4moba5modemo5di2modym1offmo6gi5moglmo5gom5ogs2mokamo8kemo1kimo3le4moltmo3lym5om_4momf2momrmo5nemo2nomon1smo3rem2orimo1rømos4omo5to4motrmot7tmour5m4peem6pepmpes2mp3idm6p5nmpoe4m4pogm6pokm2popmp1p8mps4pm9purmp5ysm9på_2m1r6m9rårm5sa_ms1akm4semmse5smsi6emsk8ums4lym1s2nms9nems5noms3næms1ovms3s2ms2tim1stoms1øymtbe6m2teem2tegm4telmti9amti5em6tifm2tikm4tiømt6vem1u2bmu3elmue7rmues1mug5lmu4hemu5lamull24mulymu3mimum2smun2c4mungmun3k2murnmurs46murtmu4sémust4my3kemyk3lmy8krmy2ramy1re4myrkmy6samy4somøb3lm3økn2møkomø6namør3ømø5semøt9tmå7g2må7plmå1remå1romå1rumå1s46måtfmå5trmå3tø2nabo4nabynadi44nadvn1affna3frnaf7tna3gena7gø4nairn6akk5naklna1krn1aksna7kvnal5gnal3t2naly4nalå5nam_5nams2namø9nan_4nanan6anenan5k4nanyna5pen4ar_2narbnar5s2nartnar7vnar5ønas7h8nasuna1ta4natlnaty52nauk4navd6navf2navgna1vi4navl3navn6navo4navrn1avs4navt4n1b2n5ba2nba3dn6bufnbyr5nbø6nncel5n3chen6cotn2cy1n4dadnda5fn3dalnd5d4n3de_nde5an2debn2dednd1eind6ekn2demn2depnd1jundo9an6dobn2doond1opn2dornd1rin1dron6dufn4dunn2dupn2dygndy1kn2dysndø5l5neaenea4gnea9mne1as3nebb4nebeneck52nedaned3d5nedg2nedoned1r5neds6nedu4nedø4neeg4neei2neekn1effn5eftneg8rn2eidn5eig5neirne3knnek2rnek5t4nela6nelênel7s4nely2nelæ2nelø2nema2nemi6nemjnem6k5nemn2nemo2nemu2nemy2nemø2nemå4nenanene44neni4nenu4neny4nenæ5neo_7neosne5pe3nerb5nerl2nery2nerå2nesa4nesc4nesene3si2nesl6nesn2neso2nesp2nesu6nesy4nesæ3net_2netane3te2netj3nets2netune4tv4nety4netåneu1rne5us3nevnnev1rn6foan4fobn4fomnfos4n4gafn6gagng1akn2gatng3drn3genn3gern2gesngfø4ng5g2ng5idng4lungo4dn7goen2gorn2gotng2sjng2skng5ye4n1h2nhat5ni1akni2bl4niby4nibå4nicrn8idan5idéni6donid7rnids44niegni1elni3ke2nikj2nikr4nikv5nilu4nimo2nimp4ninfn1inn2ninv5nio_nion24niop7niosni2plniss46nisu6nisy6nitj4nituni3tynit5z2niub2niut4niva2niven6jahnjav9n2jedn4jeen6jein2jetn2kakn2kaun4kehn4kidn4kienk1k4n1klan1klunk3lyn3klænk1lån1knun1knyn4kofn6kotn6kovnk1s2nk3ven6kvonlu4enmik3nmi8ln2nadnn4ann2natn2navnn5d2nndø4n2neen6nefnn1ein2nevn2neynn3g2n4nidnni3en2nimn5nisnn7k2n4no_nn5ofnn1opnnst6nn2sønn7t4nnu1inn1utnn1ynnny4tnn7øknn1øvnoa4gno1akno4blno5co4noef4noei4noekn1offno5idno3inno1kinok8rno9le2nolj4nomjnom9m5nomynon5tn1oppnor5g4norkn4ormnor2sno3ræ4nosp2nosynot3s4notyno3ve6n3p2n4påk2n1r2n4rebn6reon6ri_nro6tn1sa_n5sagn1schn3scon2sedn2seen6sefn2segn2semn2seuns5frns3hans7hens5hins1kvn1slåns3minso4dns1ofn1solns1ovns1prns7s6nsså5ns1tjns1ukns1vin4svunsy4dns1ytn5sønn5tabnt6asnt4atn2tean2teen4tefn2tein2teont4ernti1an4tidn4tign2tion2tipnto3an2tobn2tount1ovnts2tnt3t4ntu9entu4lnty6enu3annu4avnuft44nu4h4nulu6nulynu9me2n1unnu3plnu4renus7lnuss4nu6stnu7tan7utlnves14nyefny5geny3ke4nykony1lony8pany4runy5senyst4ny3teny3trnø2da4nøddnø1flnø1frnø7gr4nøko4nøksnø9monø5munø3p4nø7ranø1rynø3senø1sknøs4lnø7tenø7trn6øttnøv4dn7øyh4nøysnå6asnå8ennå6etnå2lanå8man1å4pn1å6rnå5sanåse4o1allo3alto1a2mo3a6no9ando1a6poa6réoar5moa9téo1a4v2o3baobb4lob4boo4beao3bes2o3bi1ob1jo1b2lob4loo1b4oobo9aob1reob1riob5stobyl5o6daboda4fod9doo2debo2depo2desodko5od3ovod3skods8todu7so4dy_o4dybod5øko5døsod5øyo4einoek6soe4muoen5ao7eneoen5toet2hoe5tio2fa_o2favo2febo4feiof6frof2fuof6fyo4fipof5leof1reof8sao2ga_o2ge_o4gedog1eio3getogie2o2gifo6gigo2gilo2gimo2gino2givog7laogly7o2go_og6raog5råogs4aog1skog5slog5syogt6rog1unog7ås2o1h6ohm9ao4ho_o1idroid5toie4noi5eroi6esoi4lao3in_o1ingo2is_o6isao2iseo4isio8je_o4jo_ok1akok2aro3kasok1efo6kev4okkeo1kluoklå5o8ko_ok8oloko4so6kovoks4eokst2ok5taok3tiok5tookt6roku6to5kvao3kviok5øy4o1laola5tolbu7ol3doo6lebo2ledo2lefo2leko2lelo2lemo2leso2levol4fj3o6ljol9kool6kuol5kvol2luol2låol4må2o1loo4lo_o3loeo4lofolo3iol3opol7sools8tol2trolu5lol5vaol1vooly7dol5ørom4asom1avom3bl1ombuo5metom1euo2miao2mibo2migo4mioo2miro2miu3ommøom1opomo1v2omre2omro2omru6oms_oms4øom3tiom3tvo2m1uo3muso2møkomø4ro4naco6nako4napo4ne_o2nemo3nero2nevong3don5giong2ron2guon4gyo9ni_oni1eo2nilo2nimon5kuon3nion5nyo4no_on4shons1ions1lons1vons1åont6aon3teon5tiont2ron5uron7å6ood1so1offoo2k1ool7aoo6moo1o2poopa8oo4peo6opio1o4roo6spo1o4vo4pabo2pako4pauo3peaope1i2openo2per2opeto4piro1plaop3liop9luop4ne2o3po2opp_4oppa4oppe1oppgop6pr2o1prop6reop7ruop7råo2ragor1ak2oralor6apo4rauor7by1ordnor1eior1elo2revor3geo3riao2rigo6rim6oris6oritor5kaor5koor5leormæ9orn3to3roao3roeo5rogoro5io1ronor1opo5rotor3sior1snor1suor3syor9søortå4oru8doru4ho5rumorv3so7ryaor1ynor5øror1øyor5åso6sado2safosbi7o2sego2semos2eno4seuos2hio1skoos3leoslo1os5luos5løos9maos5meos3mooss9los8svost1oo5støos5øyos7åro5tado5tasote7dot6eio2teootfø4oti2ko6tjaot6nåo2to_o2tobo6tofo4toio2tolo2toto2touot6shots6åoty8eot1ytoul5lou7riou5roou9saout8aouve4o5vaeo1vakoved3o1veio1vel4ovenove2ro1vet2o1vi6ovna2ovnio5vo_o7vomov1oro5votovs1po7wasowat2oy9aroys5lo1y2tôr5eip5ad_p4adgpads46pak_6paka4pakepa3lepal1j5palm4paløpa5mepa5ne4panvpa4ny2papapa3pe4papo4papr2parbpar5g2paripa1ro4parrpar5upar7v6parø4paråpasa5pa9se4pasp3passpas9vpa3te2patupau7k2p1b62p1d4pdø9dpeak34peddpe3de4pedr4pedu2pedøpe7dåpe3erp5eftp5eggpego4pe4ilpek4l8peku4pelapel9d6pelj4pelu2pely2pelø6pelåp1emb6peny2penåpep7p3periper5kper5n4pero2pery6perø2pe1s3pes_pe3sepe7si6peslpes4n5pesspe3tepe3ti2petj2peto4pett2petu4petø4petåpe5vip5evnpfri42p1g2phav27piarpi4as4piavpie2npi9frpi4ké8pikk4piklpiku5pi5lapi1lo3pingpi2nø3pi2ppi4pi2pisopis1tpi9tapi5té2piti4pitj4pitrpit5t2pi5v4p5k4pka5v2pladp4lakplap3p2lasp2lat2ple_2pledp2lek4plev4plitp3livp1lokplu4ep4lukplun32p1n4p7nerpo6empo5id2pokepo3le6poljpo2lupom5s4pon_pon5dp5opnpop1s2por_po1rapo8ré2pori2pork2porvpo1ræpo1rø4posjpo2st5pot_7potapo3te3poti4potr2po4vpove6p2padp2pakp2papp4peep2peupp1idpp5impp7irpp1ofpp5ompp1ovpps2ppps2tpp7t2pp1ukpp5utpp3ø4ppøs84prad2pran4pray5pref1prem1presp3rif1pris2prit1p2ro8pro_3prof3pros6prør5prøv2prøyp1sa_p3se_p2sekp6sibp7sisp2sleps4nop3sodps5pups3s2ps3tvpsu4rp2svap2svep4svæ4psysp2s1øpsøy8pte6kpto7gp4toup4tutpu4brpu7lapull62punn3puri3purkpur5upur3vpu7sapus4hpu1ta4putg2puts2putv6putøpver7py4dr3pyrapy1repy1ropys6tpø1kjpø9tapø9tepå1k2på3pepå1plp1åpnpå5smpå3t2que7r4raam4raar4rabr2rabyra3ch5raci4radf4radj2radmrael4ra2fj2rafo2rafr6raftra4fura6fy2ragl2rah67raidr2akkr6akr2raks4rakvral3gral1jral7mra5ly4raløram3bram1o4ramu6ramyr4an_r4aner4annra5nu4ranø4rapara1pl4rapo4raps4rapu2rarbr1arg6rarn4rarrrar5sra3rø4rasa2rascras3hra6slras7vra1tar6atera1to6raty7raud6raug6ravd4ravgra1vi4ravlrav6r4ravtra5vyraøy42r1b8rba3drbe2drbie8r2bigr2bikr4dabr5dagr5dahrdal4rd3d2rd1eir4deor4didr2difr2dilr2dior2ditr2diurd5jer1djurdnæ4r9dobr4dolrd1opr6dorrd1rird5trrd7tørd5ver4dygr6d5ærd3år2rean4reavre3dir1edl2redo2redr6redy2redøre3er8refa4reff4refi2refj6refr4reft2reføre3ge4regg1regireg1l2regr2regå2reid2reie4reikrei9l6rek_4rekjre7ko4rekur8el_re9la6relgr2ell4relv2relæ2relør1emb6remnrem1s4remu8remy4remåre5ni2renkr3enlre5no4renu5renz6renæ4renøre5og2reop5reou1repu3rers2rerå1res_2resare3se2resj2resk1resm2ress1resu2resy2resø4retj2rety2retøreu6r1revyrfat5r4fikrflå3rfyr4r5ga_r4gefr2gemr3georgi1ar2gikr2gilr2gimr2gior2girr2giørg2ler4gogr3gomr2gotr3grurg5scrg1snrg2syrgu7drg6utrhav2rho3dri1anri1ar6riau2riavri5dari5dirid3tri1elrie4nri1er2rifa6rifj1rifl2rifo2rifuri3gi4rigjrig2s5rij_5rikdri7ki4riklrikt64rikå2rila2rilø4rima2rimirim7l4rimm4rimo4rimu4rimy4rind2rink4rinn2rins2rint2rinvri6nø2rior4ripe4ri1r4rish2risj4risv4risy4risøri3teri7ti4ritjri5tr4rity2riunriu4r2riut2rivi6rivo4riøkr2jesr4kaor3ke_r2kehr6kekrki3drki3erk1k2rk2lirk2lør3knor2kobr2kohrk1strk5tirk5torkå4krle4ar2lefr3lepr4leur3l4irlog2rl4skrlu4er6l5zrm5avr2mekr4meyrm1jermo4er2mofrm1oprm1slrms6nrm1strm1surm3termue4r9må_rmål4r9mårrndø4r3ne_r2necr4nefr2nelr2nevr2nésrn5g6rn5k4r5no_r4noarno5br4nodr4noir6nokr2nomr2nosrn7sern1strn3tern5tirn7trrnt4vrn5ugr7nøtrn3åsro1akroa4s1robe7rodoro7faro2guro5kirok5nrok7srok5v4rolj2roly4romk2romrrom3t4ronn2roppro9pyror3aro3rero1ru4roslro4smro5tu6rotyroun2ro5utr5petr2påkr8raar2ragrra3rr4rebr2refr4reorre5ur6riprri5vrr3m4rro6er5romrr5s2rs3abr3sakr5samr3sesrs1inr7sjar4sjhr4skir1skjr6sklr1skrr1skursk5ørso9ars1ovr5spir4spårs3s6r1s2trst4rr7stårsu9rrs1versy3trt5adr4tecr2teer2teor4tevr2tior2tipr2tivr5to_rt8rart2sirt3t4r7tugrt5ytrt5øl6ruavru8blru5borud4rrue4rru9la4rulir2ullr7ulvr7ulyru5rarus5jr4uta4rutdrut8e2rutgr1utkrut9o6rutr2rutvru5varuvi8r2vesr2vevr4vosr4vovrv2s1rvå7rry1a4ry2drry7fery5flry7lery8rer1yrkry9rory5røry5ta1rytmr3ytrræ7lerær8trø8arrød1s4røeprøf5lrøk3l4røknrøk7trøk1vrøm1arøp9l5rørlr8øs_rø3serøs5vrø8tarø1varø1vi4røya3røyr4råag2råkjråk1vrå5lur5ånd2r1årrå5ru4råsb2råserå5si2råsjrås4t6råtarå5trrå5tu5saa_s6abes8ablsa5bysa3ce4sadmsa4do2sadvsae5d3saen7saer1safe5sagasa3iksa5irsa1is5sak_sa2ka3sakb3sakd5sakf1sakh1sakisa4kj5sakl5sakm4sako3sakps4akusa1la4salb1salgs6alisa5losa1lu3salv2saly1s2am5sam_sa2ma5saml5sammsa4mys5anmsa2nosan1s2s1apsa2po1sara2sarbs4ard3saris1arrsa4ru4sarvs4arys6ast2sasu4sasysa1tasa3tisa1to5sau_sau4d5saue4saug5saum3saus4saut2s1avs2avasav5n3savu8s9b4sbi6es6bugsbul32scels3cer6sch_6s7cl4sco_6scoc4scoss4cus8s9d6sdø8v2se1a3sea_sea4gsed5dse3de5sedl4sedo2sedr2sedu2sedø5see_see3d2seef2seegse5enseer15sees2seevs1eff6segase2ge3segm2seid2seigsei5k6seim2seinsei5r3seis5sej_3seke4seki2sekj5sekk2seko4seky4sekå2selasel1d2selo3sels2selu2sely2selæ2selø6selå3semb7semdse5me2semo2semås2en_s2enes2ens4seny2senæ6senø2seo27seodse3orse3pe3septs2er_se3raser5ds1erfs2eri5sernse1ru2sery2serå5ses_4sesc2sesese3sj5sesose1stses1v2sesy4sesøses3å7setl5setn2setos4ets2setu2setv2sety6setø3seum4seunseu2tsev4ds1evnse3vr2seynsfes5sflå36s9g6sga4lsha2ks7hats3haushea4s4hi_s6hip3show4s5hyshø8l4siap4siavsi2bl4sidy4siegsi1elsie4nsie4s6sifesi3fl2sifo2sifu4sifø4sigisi5grsi3kasiko35sil_3sildsil5jsil2k2silø2simpsi3musi4ni4sinj2sinn4sinvsi6nøsi4sksi4sn4sisy3s2itsi5ta4siut5sivas2ja_4sjams4jansje3g3sjels6jim2sjob5sjok4sjom9sjon2sjor2sjou2s6jtsju1a6sjub4sjun4sjur5s2jøsjø1p2ska_4skabs2kad8skae2skak2skam2skas8skays2kehs6keis6kevs2key7skia4skid5skie5skif5skip2skir6sklas1knu4skoa4skof1skol4skom4skoo2skoss2kotsk8ra5skud1skuf2skun4skup3skvus6kyas6kye4skyr4skys3skyt6skø_4skøe6skåt3slals1latsla1v2sle_6sleis2lel2slers5lev4sleys5lia2slid6slig2slin3slip6sluf4slugs6lups4lutsly8t2sløns6lør2sløss4låes1lån1slåtsma6d4smansmeg54smei6smess6mias4mies4migs2mitsmo7as2mok6smot3smugsmul26smøn4smøt5små_små5r8sna_s4nab7snak4snav4sne_4sneb4sneds6nees4neg3sneis4nel2snem4sner6snes4snets6nifs2niksnir4s8no_s6noes3nums4nur7snut8snyh5snøesnø1sso3also8ar4soav2s1obso2blsofa1soft1so2gaso8giso7glso5id5sokn4soks7sol_1sold2soljso2loso4lø3som_5somh4soml2somrs1omsso2nuso3pr1sor_7sora5sorbso2risor5n6sosf4sosjso4slso5tesots4so3va3sovjs2pal4spas4spe_spe4as4pees2pels5peps2pio2spip2s1pl4sple2spoe2spol4spotspo5v1sprus4pry5språ2s3ps8spub2spul5s2pøsp5øy9spå_5spådsro4esro2tsrø1vs6saes4sajss6ass2segss4els2sems2seus4seyssi4ass4kåss1loss5lyss2noss4nøs2sofs2somss9risst6rs2suls3surss1vessy5r4stah4stao2stap1stas1stat2stea2stebs2tee4steo2step2stes4stet6steåst5he4stib3stics2tifs5tij5stir2stis4stiås4tja4stjus2to_1stof4stoms1totst5ou8str_6strh2strys4tuas2tue6stur2stya2stydsty6l4styv2støk5støl6støm5støp5støtst8øystå5k1su4a1su2bsub7lsub3o5subss3ubåsu8er5s2ugsug3g3sui6suk3rs1ulu2sulysulæ53s2umsu2mosums63s2upsupi9sup4rsur5d1surf4susisus3psus3ssu2sysva5asvai5s4vie4svig4svil4svir2sviss8viv4svol3svuls3vy41s2vø4svæs2s7våsy2ersy8ka2sykosy7mesynk4sy4ras6yre3sy1ssy4sesy2sl2sy2t9syttsy2vå6szt_4sætts1øde9søk_5søkj5søkk2søko3s4øl3s2ømsø6må3sønns1øns7sørlsør3ssør5ø3s2øs4søs_sø8sas1øve3søvn8søye3søylsøy2r5s4ål6s1ån9såpasåp9uså6rasår7øs7åsas4åsbs5åsesås5ksås5tsåva74tabotab2rtab2s4tabøta2data6du6taei4taek4tael1taenta6es4tafl1tage4tagjta7is1tak_2takrta1kutak3v1tal_3tale1talg7taljta6lå2tambt4ametam4it6an_ta2na1tane1tank2tanl5tap_1tape3tapi4taplt6ara2tarb4tart4tasata3setas4p4tasuta1tatati19tau_7taue4taun2taut3tavlta9xy6t1b2tba3dtba2nt6be_tby3ktby4stcen4tch5e4tead2teaktea6m2teap2teartea4s2teau2teavt5ebbte1co4tedi4tedo6tedu4tedy4tedøte3e48tefa4tefi4tefl4tefo3tefø2tega4tegg2tegh2tegj2tegl2tegu2tegå5tei_t3eiete1im2tekj2tekl2teko2tekr2teku4teky2tekø4tekå2telo2tely6telæ2telø2telå6temntem3s4temø3ten_2teng6tenó4teny4tenæ2tenø2teom5teon4teop2teovte3pa9tepé4tepr3terhter5jter5rter7v2tery5tes_2tesa4tesj6tesp5tesr3tess2tesu2tesyte7så3tet_te3te2teti2tetj2teto2tetu2tetv2tetyteu8kt1eur3teust6eva3tevlte3vr2tey64téle2tése4tésttfe6etfe4ltflå32t3g2t4ga_tge4atgei5t4gi_t4gå_t4hapthu6sthy5r2tiadti3ag4tiau2tiav2tickti2datid7d4tido4tidr2tidu6tidy4tidøti1e22tief2tiei2tiemties3ti3et2tifa2tife4tifl2tifo4tift2tifu4tifø4tigj2tignti5ke6tikjti3ku6tiky4tikø2tile3tilg4tilm2tilu2tilø2timltim7s2timu2timy2timø2tind2tinkti5no2tinv4tiny9tiol4tiopti1orti1ovti3pa4tipr3tipsti1roti3setis5l4tisn4tiso2tisyti7tati3teti1tj3titltit4rtit3s3titt4tiub2tiut2tivoti1ø82tjel1tjen6tjep2tjert5jev2t1ji2tjubtju4e2tjun6tjur4t3k2t6kagtkly96t3l6t6leftlu4etlå7rtma3dt2mamt2mekt2most6neet8no_tn5sk7toantoa6t6toau2toav6tobsto5da3todo2toek6toeltoe4t4toggto6glto2gutoil3to3ki2tokj2tokkto3kl5tokt2toku2tolj3tolo4tolå2tomb2tomf4tomgto3mi4tomkt8omm2tomrto5na2tono2tonu2to3o4toprto1ra4tordto1reto4rø4torå4tosato2sh6tosj2tosy4totato5te6totyto1va6t3p2t4påk5trapt2rat3travtre1c4treit2rer2trest1ret4trevt6ribt4riut2riv5trix5troa3troet4roftro5gt4rokt2rolt2rostro1vt8ru_t8rua3trugtru1i2truttru5vtrø8a4trøk4trøm2trør5trøtt5sa_t5sabtsa2gts1ant5se_tse6dts2emts4ests4fæt5sirts2luts5løt5sokts2pits5s4t1st4t5stuts3tvt4suatsu4lt5sykts5ytts5øvtsåt8t3ta_t2tabt2taft4tavt3te_t2teat3tedt2teet4teft2tegt2teit2tekt4temt3tent2teott5hetti5atti3et2tift5tigt1to_t2tontto5ut5tryt1tumtt1untt1uttt5vet5ty_tty8et1tørtt3øvtt1å45tualtuba3tu6bå5tueltu1int5ukat1uke7tukt3tula1tuletum5mtum4s3tun_4tund3tune9tuns3t2urturi4tur1otur3ptur1ø1tus_tu1sa3tusb3tusftu4smtus5otus5u2tutgt5utjt5utkt1utrtva8kt2vett5vik6t7vo6twa26t5yo3tysktys3t2ty2tty8tatøf3l2t1øktørk4tør3ttø8satøt5atø3tetøtt6tøv6dtøy5atøy5rtå5kitåk6rtå3net1åpnuak3su1al_ua7laual5lual3oual3uu5anlu3ansu1ar_uar5du4arruash3u5au81uavhu4ba_ub4boub2brub4buubi6su1b4rubu8eu3da_ud2drud2dåudea9u2debu2deku2depu2desudia2udio5ud7irud7jiu7dobu6doeu2dotudse43u4dyue5a8u1e2nu7eneue5riu2ermue4seue2siues6nuet8rueul8u4fe_u6febufe6euf1f4ufi9lu6foauft3au5gagu5garugby7u2gemu5genu3geru2gevu5gisug1laug5lyug7nau4go_ug4reu4grøugs4kug7so3uhelu4i6cui3e6uil5lui3neu1ingu1ismu1ittu4jasu8je_u1k2au7karu5katu2ke_u4ked4ukemukho7ukk6aukk7nukks6uk8luu2krauk2sauk2siuk2souks5tuk2søuk6tjuku6eukys8uk3ø4uk5å4u4la_ula7du4lefu2leku2lelu2lesu2leuul4foul4fru3l4iulie8ul5kaul6lyul2løulm4uulo6iul5opul4skul8snulss8ul2stul4tou7luau3lue1uluku5lupu5lusulv3tum5auum3avum5be2umfoum9jaum3meumna8umo6gum5okum2snums3t6um7tum5ut4umveum7øyu9naru7nasu3nat2und_6unda4undsu2nedu4neeu2nelu2nev1ungdun4gou4ni_u2nidu4nimu3ninun7koun4krun2nou4no_uno7tun5utuom7suo1reuo5roup3avu5peru8pi_up3liup1p2upp5su3prau2radu2rafu4ramur7auur1avur3diure4lur3geu4ri_u3riku3rimurk5su4ro_u6roc5uroeu2ropur1orur3reur2svur5tiur4touruk6ur6uluru7vurv3su6rysur1ødur1øyus7auu2seku2semus4idu4sjiusk4lus1kou1skrus4kyu4sluus7møus1okuso5lus1oruss1lus2svu2steus5tius1tju4ståu2surusø6mus1øyu1taeu2tag4utbiutch5u2te_u2teau4teeu4teiu2tekut2enu2teo2uterut6eu6u3tiut6juu8tni1utnyuto5suto4v3utprut4påut3re5utruut4rø4uts_2utsjut3sk5utstut1trutu5e2u3tyu8ty_u5tørut7åku3tålut1ånut7åru7umau5umeuve3su6vevuvi6kuv5rauv9saux4a4u9årau7åreva3amva8an6vadjvad1rvaf6rvai5rvai5s6vakh4vakovak3r1vaktva1kuvak3vva1lu4valvval7åv4ane2vangv4ansva4nyva5po4vasava2skvat5a5vatnva1tova6trvat1s2v1av2v1b2v7devv7doiv7donve6agve2d1veds2vedø4vedå6ve4erve5ge3vegg2vegj4veglveg5n2vego6veit4veka2veki4vekj2vekl2veko2vekr3veks1vekt2vekå5vel_2velovels2vel5v2vely2velæ2veløve5mave2no2venuve1ru6veryverø64verå3ves_4vesh4vesi4vesj2vesl4vesp2vesøve1så1vet_2veta4vetj2veto2vetr1vets6vetv4vetyve8um2veva2vevi2v1g2v4ga_v4gi_v4gå_vi1anvi6blvi5devid3rvi1elvig4mvi4guvi5gø5vikb7vikgvik5n4vikt1viljvil5mvil1ovi2løvim7pvim7uv6ingvip5s4viro7viruvis5mvi1sovi4spvi4trvivi34v5jovju3t6v3k6vk4le6v1l2v6labv9ledv9legvl6elvli7vv3nadvn5alv9narvn5dyvne7bv2nedv2nemvne1sv2nevvn5t4vn5ørvo1alvo2arvo4gu4vokovoli7vo4navons62vordvo1re4voro4vosj6votr2v1p4v7rarv6ri_3vrid7vriev4robv4rofv4rokv4ropv6sa_v6se_v4segvse4nv2serv6si_vs1invs8kevs1kvv1s2nvs3nevs3nyvs3nævs5odvsom5v7sonvs1orvs2pevsøl5v8så_v4ta_vta6sv5t4iv5t4rv3t2vvty8evu2d1vud5dvuds42vung6vu6o2v1utvæ1rav3ø4dvø7li3vøre4v1øyvøy6evå5ne4vånu6våtfvåt7å5waldwal4kwal4lwash3wboy5we5rewes3swett4wich33wiczwi3niwi5rawi5tawout7wurs6wyor2xan5t5x6idxi5e4y6an_y2anayan7ky1arky7arrya5siybde3ybyg5y8ce_y2co3y6dabyd5avy4deoy2depyd6jeyd1jiyd3opyd5ovyd1rey4droyd3siyds4vyd1uny4dømydør5yd1øsyed8ly5eksy2enhye5niy2enky2enlyens4y3ernye5smye9teye5tyyfan9y4fley8ga_yg2doyg2døyge5iy2gesy4gevyg5gjygg5lyg6gryg6guy5gloyhes5y9in_yis7tykap3y3keny3keryk1kjyk4kyyk1lay1kloy5klæy2koay2kotyld1ry7lesy4levyl5k8ylke2yl3s6y6meiy4mo_ymo5eym3p2ym4seym8sly2nely6nevyn2grynko3yn5nayn5neynn4øy4no_yn2siyn2skyn4styn2suyo6nuy1o2py1o2ryo5reyout5y2pe_y4peey4pi_y1p2lyp3peyp5s8yr5avyr7dayr5døyrek4y1reny4reoy1retyr7gay4rifyr5kjy7roeyr1opyr5r8yr5skyr2spyr4svyr3teyrty8yr3økyrøy4y1rå1yråd2y2råmy4råty4råvy4sedy4seey2segy2seky2semy4seuysi8ey5sjkys4miys4nøys2peys2sjys2soys2spys4suys3tayst3rys6tyys1veys5åry2teey4tefy2tegy2teoy2tetyt9jayt8rayt1riy5tråyt3skyt5svytt4e2y3tuyt4ysy7tå8y4vaky2vedy6vevyv1år4zaesza4g5zani45za5vzebu9zeli5zen3s1zifi5zingz5int2zisyzo1f2zo4nozo5rez1za_æk1jaække7æ4le_æ4levær1d4æ2reaæ4redæ2refæ2regæ2rekæ2repæ2reværhø8æri6s4ærk2ær4nåærom5ær1skær2spæ2r1uærut5ær3å4æ8se_æ2s1kæ4te_æt4taævar5æve4s6ø1a2øa7reøbl9uød3agø4dakø2de_ø6defø4demø4deoød2scødt6rø6d5ø4ø1e2ø5eneøf3feøg5akøg5alø7garø5gasø3gerøg5gløg8gåø7g4jø2g2røgta54øg4uø5ingø5isk6ø1kaø5kavø6kehøke1sø1kjeøkk5r2øknaøk4siøk2soøku4røk7veø2lahø6lamø2levøl2keøl7opølrå4ø5lukøl7utølva6ølv5oølv7rø4me_ø9met1ømfiøm3opøm1stø2m1uøn2adø5nasø2nemønni4øn2nøø6nomøn2taøn2toøn7u8øpes4øp3liøp6pløp6s1øpsa4ø2ra_ørd4eø2reaø2refø2regø2rekø2repør6etør1euø2revør5feøri8mør4kåørn4eø1rosøro4vørri4ør4scør2siør2størs9uør2svørs1åør3toørum5ø6rutørø1vør1åpø2se_ø2semøs5joø4sluøs2meø1s2pøsto2øst1røstø4øt3akø9tarøta4sø2te_ø2teaø6tefø2teiø2telø3tenøt7riøt1saøt4tyøv5aaø4vekøve1sø5vikøv7neøv6nøøv9o8øv9saøy3aløya2nøyd8i5øyebøy2eeøye4nøy4epøy1gløyks4øyk5tøy5naøy5niøy3røøy5siøys2løy4smøy1trøy5tø5øyvååa4n5åber2å7danå9darå4dedå4dekå4demå4deoå4depå2desåd4raåd8reåd2skåd5stå2eleå7enså4ga_å4ge_åg7eiå2gesågna5åg5neågs6kåg5slåg7spågs4tågu4lå4gå_å3kanå3karåk7avå4kehå3kenåke5så6kidåk5kaåkk6låk7kråk3læåko4såk6raåk3rååk1s2åks7låk3t4å2k3åå9lasål9avå2lefå2lekå2lemå2levålgå6å6lioål3oråls7iål2spål5tiå6me_åm1omåm5øyå3narå9nasånd3rå4ne_åned4å2nelå3netå5perå1plaåpra5åp2s1åp6taår3akå9ranå2re_å5reiå6relåre7sårfi4å7rivår3k2årn5sår3onår3opårpo8års1uårs1vår5syår3unår5y4å5r8åås7auå4se_å4seeå4sekå4semå8si_ås8kiå1skjå1skrå5skuås5neås3niås7plås5saås5seås3siåss3k4å1stås3unås7utås7væås5øyå4ta_åta2lå2te_å2teaå4teeå4teoå9terå2tesåt7ovåt1reåt1ruåt5skåt4tiått3oåtts4åt4unåt5veåt1øvå4vegåve5lå2vevåv7s6", + 6: "_ab4ba_ab7be_ad1s2_af5t4_ak3kl_ak3kr_ak6ta_ak5tr_akva7_alfa3_al5gi_al5lo_al4na_als5o_alt4a_alt3o_am4s4_am6ta_ana3b_an3er_anes5_an3ge_ann4e_an5s8_ap1p6_arbi5_ari6a_ari8e_ar5ka_ar3ne_ar9ti_arvi6_as8ka_at4ki_at2o4_atte4_att6r_au8de_au8ga_au4ge_aus9k_au4sp_av7s6_ba6by_bi6en_bla4d_bo8da_bogs8_bo8la_bu4et_ca6se_co4st_da4ta_dau3s_de4so_di6er_di4sk_do4en_do4er_do8et_dome5_do4ra_du4er_duft3_duk3n_du4st_dø6r3_eb4ba_ed4da_ef4ta_ege5l_eg5si_eid5a_eik5a_ei3ni_eir9u_ei5te_eit9r_ekk4o_ek3li_ek3se_ek4sp_ek8ta_ek7to_els6a_els6t_em3b2_emfa9_end5r_en3ge_engs6_en6ka_en6sa_en5so_en3sp_ent4r_en3ø4_er4ke_es3ka_es4so_es5ta_es3te_es5ti_est3r_es7tu_et4na_ets4i_et6ti_ev8ja_fela9_fel5l_fe4ma_fe8me_fem5t_fer6s_fe8sl_fi4b5_fis6k_fjel4_fre6e_fy8se_ga4me_gel4e_ge3ne_gen5s_ge4st_ge9sv_gis7p_glo6i_glo9v_gly5s_ha6vi_hei5e_he4t5_hil4l_hu4di_hvit3_hø4re_hø4va_hå8er_i4her_ikke5_i3k6l_i4la__i3leg_i6les_il4ja_il6sk_in5ad_in5de_in3gr_in5k6_in4n3_io4na_i4rer_ir7k8_is7k6_is5pa_i5spe_is3s4_is5sk_is7ti_i6s5ø_i4van_i4vel_i6ven_ja4ne_je5re_je4ta_ju6la_jule3_ka5me_ka3na_kau9k_kier3_ki4na_ki7ni_kino3_kje4k_kle4s_ko7gr_ko4la_ko3le_kol5j_ko3pe_ku4le_kå6pa_la4ga_la3tr_la4va_la3ve_le8ar_le4er_le6et_lef3l_lemu9_le6o7_le7ta_le2u3_le3va_li4e4_liga3_lik3o_lik3s_li4ma_link6_li6ra_li4sa_li5ti_lo6na_lo6ri_lo6te_lo4va_lo3ve_lu4na_lu6pa_lyd3s_ly8ge_ly4sk_løv5i_lå8ma_lå5re_mag9r_ma3ka_ma4si_ma6st_ma8ta_me4d3_mek5l_me3ri_me4sk_mi6kj_mo5de_mo6er_mo4ta_mo4tr_mu8ga_my8ka_mål3o_nabo3_nan5s_na3tr_nei5e_ni8ar_ni6er_nig4l_ni8sa_nita9_ni4to_ni4va_no8ka_no8se_nød4d_obo5e_ok8ke_old3s_ol8la_om4me_om5s2_ond3s_on6kl_on6na_op5ar_op4pa_op4pe_op4pi_opp3l_or4da_or4dr_or5ga_or6va_ot3to_over3_ov8re_pe3do_pek5t_pep3r_pe4st_pi9ra_po4et_po3la_po2p1_pop3p_po8ra_po6st_på5d6_ra6et_ra4ka_raks7_ra4na_rap4s_ra7ti_re4al_ree6l_re6kn_ren4t_rep5s_res9s_rev9n_ri6ma_ro4an_ro8di_ro4mi_ro6pa_ro3pe_ro4sa_ro8va_ro3ve_ru8ka_run7g_ru4sk_røy7e_rå4en_sag6n_sau6e_sen7s_si6er_si4va_sje4i_skat4_ski6n_slim5_sma4s_smo9g_små9l_snø3k_so8de_son6a_spe6e_ste4i_stu8a_su4ri_su5te_sy3ti_sy6v5_sø8ka_sør3a_søye5_så3re_tak9r_tam5m_te7si_tid5r_ti4ki_ti4l5_tili6_tokk8_to3ro_to5t8_to6va_tra7c_tre3b_tre7p_tu6na_tve6n_två7g_ty8et_ty5ti_tøv9d_tåp9n_u4er__u6era_u4ere_uf8sa_u4ka__u4le__ule8k_u6let_u4lin_ul6ka_ul6te_und5r_u5nek_u9net_unn3s_u5raf_ur6an_ure4n_u2r2i_ur4ke_ur6na_ur8ta_u5rut_u4sa__u4sas_u3ska_us3se_us6t4_usy5r_uta4g_u3tak_u4ti__u5tol_u3trø_ut3t4_vei3s_ve4l3_vel5d_vel5l_ve4ly_ve8læ_ve4sl_ve4st_vete5_vide4_vin5n_vi5tr_væ4ra_vå4r3_vårs6_yn4kv_yr8ka_øg8la_øk6ta_øl3ed_øl3s6_øl3v6_ør4je_ør9sm_ør3st_ør8ta_øy6na_øy6ra_øy4re_åp6na_års3k_å3steaans9ta7antraa4ri6aa5t6hab9b8lab4butabi9erabi9laa4bistab4loka5bo9aa3boerabo3kla3borda4buela6buska4buteache3aad5anta4darta5denda3denea5der_a3desla3det_a3dets3adferad7oppa7doraad5rafad7ranad7relad5repad3retad3ridads5tead3stra4d5øyaf4fanaf4feiaffe3saf7fi_affi3daf5f4uafi5anafi7rea4fitiaf9la_af9lara4frikafra5saft5eiaf6t5oaft1s4afø5ria4ganfa4garta5gas_a7gersa5geruage5s2a4getaag5garag4gasagg1s2ag6gutag4lemagmo8eagn5omago5d8ag7ras4a3gruag4selag3semag6sjuag4skaags3tragu3ayagå8vaai3er_ai5ke_ai4s3kaisk2hais6omai5s4v1a2kadak3aksaka4o5ak6arba3kei5akel8ea4kerøake5smakes6pa8keteakhe6nak7indak5ke_ak3kenak4kesak5kimakk3olak4kulak4k5vak3levak6likak6lusak5om_ak1o2vak4pe6ak5regak3resak3ro_ak3roeak4sekak4ses3aksjeak2s1kak7skuaks5tiaks4trak4tabak4taiak4takak6tamak4tapak4tasak4tavak4tegak4tek7aktigak5titak6treakt3rå5aktueak3valal7adrala9gaa5lagmal3allal3anaa3landa5laneal3anlal3anvala5pra5lar_a3laraal3arka7larlal5arra5larsal3arta7larvala7tral5aukala4vaal4ba_albo4g5albumal7derald3rea9leg_a5lekea4leksa4lelial8en_a7lepta4leruale1s2ale7sea4leska4lesla6lesua4letaa4levaa4levi3alfabal3gebal4gåral3illa9lin_al3intal9ja_al3je_al3jeral4joral2j1ualk7s6al4lapal5leaal4lekal5let3alliaal4lidal6lulal6mekal4metal1o4bal3opeal7ordalori5al3oveal7sedals5løal6spuals4tealt6akal3tedalte4tal5undal5va_al4vedalve5salø5seal7å6tama5isa5makiam3aksam5alda3mar_a5maraa7mas_amaso7am4bar3ambasam4batam3eiea3meisam3eksami7naami7neamisk3am4madam4nedamo6veam4papamp5eiampes6am2p3lam4punams9utana3laanal4f3analya3nanea5nanganant8a6narban5artana3to6an7auanaus7an9av_3anbefan4dekan5denan9detan4dosan5eggane3rua5nes_a4nestane5sv3anfalan4gedan4gi_5angivang5ofan5gosang4sman4gunan4gå_a4nisjan4koban4kopan4kosan2k1rank3reank3ut8an2kvan5nenan5neran5nidan4nom5annonan4novann6slann3sta9noa_a7norma2no4vano5vaan3ove4ansan3ansatan4sekan4ses3ansikan4skian3skjan5skøan6sløans5oran1st61an1sv4ansvean3tedan4timan5toiant5s6an4tulanus7a3anven6anvina2n1æ2a6pinsapi6r5api7seap4pleap5pliap6priap5renap5retap3rinap3selapse4sap8s9lap4s5øa6p5utara9biar5aksarak5tar3alta4ramia4ransa4ranvar5augar7aukar7avh6arbeh4arben6arbetar7debard3re1a2rea4arearare3ina4relaar7emn3arenaa4renia6rerka4reroa6rerøa5res_ar3evnar7g6har5g6iariba9ar5idrar3innar3insar3intari3sear4kauar5kha3arkit3arkivar4klear6kodar4køyar4map5armbåarme7tar4nadar4nalaro6paar7ostar3ovear6pedar5reear3selar4sinar4sprars6trar4topart9raarts5øar4tyvar5u6rar5utbar5utnarve3sa6r5åta4saloas7augase5lea4senka7seola2se5sa6sesta4setea2se3ua7sis_asis5tas5joras3karask6etas5kisas5ko_as5koeas3koras3kotas7kraas3kulask5øyas4levas4lita2s5omas4panas7pisas9sa_as4sabas4salas4samas5se_as4sedas4sekas4sesassi3sas4sitas6s1kas2s3nas5so_asso9aas6s1pas2s3tas4stras2s1vas4sysas4søkas2s5åas6tabas5te_as3tedas4tegas4teka9stofa5stokast5ovas4troas9tuaasu9saasyn7das7øyea4tanga5tas_at5avhat7eddat5eidat3eigate3ina4tekaate7leat3emba4tenia4tenua5ter_at6e5u3atferat4ha_at8hasatili5atl9øy3atmosat4nelato5gra5tosea3to1vat5regat3renat3rera4trifat3rinat5rotat5røsat5røyat3serat7sjeat7skjat2s3øat6tatat4tidatti4sat3titatto6vatt3spatt3svat6tysatu5e4a5t6yvatør3satø9sea4t5øyat7åt8au9ar_au5da_au9detau4di_aue5reau3estau4galau4gasau4gel5aug2nau5ketauk5laau5kveau6lasau4lataul8laau9menau5raeaure5sau5retaur5s6auru4eaus9kjau6skrau5strau4sunau3ta_au7tarauto5vav3alvav3anga9var_av3art3avdela7veilave3ina4velaa4veleavens4a5ver_aver5davi4ar4a5vigavi9ke5avisaavis3tavlu9tav4nesav4resav5seg3avsniav1s2pavs4teav1s2vawe9neay9s8tba4bysba4da_ba7danba8de_ba4debba3karba3kenba3kerbake3sba8ki_bak6kobak5krbak4reba5kribak3robak3smbak5spbak7t6bal7akba4lesba4li_bal6læba4na_ba5nanba5narban9daba4nelba4nesbantu5bark5sbar5trba5senba4setba2s1kbassi4bas4sobas4stba7s8u2ba1trbat6tibau9lab6baseb4bedabb3eiebb5eigb6belob4bes6b6betab4betib6betob6betrbbi9e8bb7lenbb5rekbbu9rabb5ut_bb5utebe4bo_bebo9kbe4da_be9darbe3derbe4drebed2s1be1då3be4ga_be4gi_be4gå_be6ha_beha7gbehå4rbe2k3ibe4lekbeli9vbel5læbe2l1obe5nat4benedben5guben5spben5te4beraibe7rasbe4repber4gaberg3jberg3lberg3obe5ribbe7risber6klber5naber5nebe4ro_bero9aberri6ber5teber5tiberø5vb4e1s2be4se_be5s4i4besikbes5kebes7ne4be3sobeso9vbes7sibe4tab4beteibe7tesbe4ty_be6ve_bi6blabi5deebi6elebi5ervbik6kibi5k4l4bi7krbi6la_bi4lasbi4laubi3letbi4linbil5labil5m6bingo54b5intbi4ri5bis6hibis7kebis5sebi3s4vbi6ta_bi4te_bi5tesbi8ti_bi4trebi6tri1b2ladblad3abla6f3bla8gablak5rbla5meb4lankb4lantbleie5ble4mob6lesab4lestbli9kebli5mabli5meblis3sblo6drblom5mblues3blu9sably7glblå7sab7nes_boa5s4bob7labo6dinbo6d7rbo4et_2bo3f6bo4gelbo6kelbo6kop5bok1sboks4pbok3veboli7nbo7lo_bo5loibolst6bom1s4bo5napbon5nebo5nusbo4ra_bo6re_bo7relbo3renbo3retbo6ri_bor4ti3boskabos5sebo4stobo4ta_bo4takbo4talbo6te_2bo7to4bot6r4bot4vbra5kabrak5sbra5sebrei5ebrei3sbro9arbro1s4bru5kebru4nabru5plbru5sabrus4lbryn4sbrø5debrå9neb4s5elb2s1ofb6st7f4bu3embu4en_bu9enebu4er_bu4le_bul3lebun7debunk3rbunn3sbu6ra_bu4re_4bu3robu4se_busk7øbus6sjbus4snbus4spbus4stbuss3v4bustrbu4talbu7tem4butstby9areby7depby4en_by7eneby5ensby3ersby4ge_by6re_by4steby5tarby4te_bæ5rarbæ4re_bæ5renbø7ensbø4kesbø6la_bø6le_bø6re_bør4spbørs3tbørs3vbøy7arbøy4esbøy4etbå9desbå7enebå6regbå4repbå6t5jca4pe_ca2sa3ca6setcas5toca4to_ce4nedce4neece4nemce4netce4nevcen6toce1ro5cest3ocha5le3cham4cha7nechel5sche7techi4licho5s6cie2s5ck5ar_ck5artck3er_ck4ereck5et_cke8y5cmini4co6bidco4la_co4labco4lakco3r6aco4vercras4hcrack4creen7cures44daberdadør5da4gevda6go_da4g1rda6gunda8la_da4las6dalau4d5aldda4lesdal6soda4ma_da4manda3masda4me_da3mendame3sdam7pe6danal2d1anl4dannod4ans_dan3sa4dansv9dant_9danti4dareada4resdar5s64daseida9sko6dastrda4tek7d6atoda3toa4da5trdats6jdau5god3av5sdd3eied4demidder5sd4desud4d1redd5rundds5trd4d5øy6debar4debas3debat3debut6d7edd7dede_4dedek4dedel4dedia2ded4r3deig_d2e1inde5is_de3ist7de7itdekk3a6dekly5dekni4dekod4dekon4dekosdek6st6delad4delau4deledde4lef4delei4delid4delis4delivdel3sedel4sidel3tedel7tr6delukdel5ve6deløy2de5mademie4de4mo_de4mog5demok4demol5demosdem5pede7nakde5neb4dened6denel4denem4denet4denevde4nomdent3oden4trden6tå4deopp4de3orde4ove4depak4depapder8amder3av4derea4deredde4ref4dereg4derepde4rifde4ril5derinder5nede5rob4derog4derosdero4vder4spder5unde5rup6derus4derør3d6es_de5seg4desho9desk_5deske7despld4es2t5dest_de5sti4destj4desto4destu6desty6desup4detea6deteg4detel4deten4detepdetes74det6r3devikd7ev8ndhav4sdhu9gadi5algdia5lidia3redia7spdias6tdiats4did5ridi7elldi5en_diffe53difuldi4gat4digrudi8ka_di5kem2di1kr6dimed4dimes4dimet4d5imp2d1inddi7nendin3grdi4ni_4d1inndio3nadio4nodi3oridio5tr4dired4direg4d5irsdi6seddi4skjdis7kudis4vidi4tal4ditekditt3rdi9us_di4va_4divaldi7van4divekd7jes_dje9vedla4gad4ledid4legadle3ged5lekad4lerudli5kedlå9redmors6dodør54doled6dolisdol5l44domesdo5misdom8sadoms3ldom4sodo4na_4donkedon5stdon5t4do4pa_do4pe_d6o1rado5ran2d1orddor4dad5oriedo7ryedo4se_do4setdo3strdo5vendo4verd9rad_d5rade1d6rag3drakt3drap_5drapa3draped3rappd3rarbd5rarmd5rarr9drattd5reds9dreg_d3regj3dreied6rekad7rekk3drektd3ret_d3retnd6retrd3retsdrett43drevn3d2rif2d1rigd3rik_d3rike3drikkd9rikt5d4ril2d1rindring6drit5u1d2riv3dronndrop5s2d1ror3d4ros2d1rovdro5vadro3ve6d5rutdrykk4drø3ved3sabldsa9gad6salld9sameds1a6nds5aneds1a2rd4satfdsbø6nd2s1eids7eksds3elads3emid5sensds3e2pd7ser_d6serfds5erkds3etad5setjd3s2idd7sidads3idrds5indds3i4sdsi4veds7jords5kabds3kard4skatd5skotds3krods5la_ds5lands6lemdsli6kds6lo_ds4lukd4s5osd3spekd3speld9s8pyds3takds6tauds5teod3stord3stridsty8eds3tyvdsure6d5s6usdsy6nadt4engd5t4etd6trocd5t4rød6t1s2d3t2vadtørs3du9enedu9ensdu6ka_du4na_dun7de4d5unidun5s6du6ra_du6re_du6reidur8tadu5s4adu9semdu5s2idu6va_du4ve_dve6vady5ke_dy4na_dy4ne_dy3pesdy2p3rdy4ra_dyr5s4dy2r5udy6se_dyst7rdød2s1dø4pe_dø4pendø2st3dø3vel4d9øysdåd6s5då8na_då8ra_då8sa_då7semea2d1ieadli5e5alleea4love3altee3amanea4ne_ea4nore6ans_ean3slea5rerea5retea5r4iea2s1ieat6leea5trieau6gaeau6reeau8saeav8laeb4be_ebers6ebet5se5b6loebo4daebo6krebo6laebu6eteby4taed5ad_e5d4aged3arked3arved4dyred3eiee4dekse4denfeden5te6deprede4rae4derøe4deskede4slede4sme4desnede4tae5d6iaedi6gjedi3sied3reged3romed7skied3skredvi6sed5ynkeeg4gaeei7nieek4tee5e4lieem6naeen3ineer3ene4er3le6e5shees8kae4fanaef3anke4fark3effeke4f3idefo4noef6strefta5reft5eief5tereft1s4efyrs5efø5lee6galaegde8leg7dese5gedoegei9ee3gemeegen5se7geome2ges2ege5speg9genegi3ane4gikoegis4pe5g6løeg4neme7g8røegs4amegs4kiegs4taegå4vaehei9eeh5er_eh7erneher4sehø8vae9iaktei9a4nei7ar_e3ideae3ideoei9derei5dete6i2doei3d4uei9en_eier3aei4ertei6gevei6graei5kaaei3ke_ei6keeei6kehei4kelei4keteiks3aeik6seeik4soei9lede3illuei3lo_ei9loaeil5opei5loseil5s6ei7ma_e5imagei4medei6meiei7menei4met8e1impei5nedei7neleinga6ein3grein3k44e1innei4nomei4noveins6oei3numei2n3øeir9akei7renei5sarei3se_eise5iei3senei4sile3isk_e3iskeeis3koei4spiei4tekeit7taei3tveei6t7øei4vakeiva9rei9veneiv5s4eju6laekali7e5kavrek3eiee4keroek4kjøek5kokekko5vek6lege6klenek5letek9na_e3knekekne7sekni7peko7lee3k2rae7krefe3krene3k2rie3k4råek5rådek4sal3eksamek3sel3eksemek4sigek4skaeks5peek4staek3stiekst5oekst3åekt3avek3tefek5tesek4tidekti5mek5tivek4valek4vinek6vis3ekvivekå6paela4gael3agge2l1ake5lakeel7akte8lameel3anle4larre5las_e5laseel5atoel5avlel3avse4ledie4ledreleg5de7leire7leise5lekee5lem_e3lemme3lempele9naelens3e5lepa2e3lerele3ske4letae4leteel9ga_elg3s8el5la_el4ledel4legel5lerell7saell5skell5spell5svel5m4oe3lommel3omnel3omse2l1ore3lortel3ostel4petelro4sel4seiel3senel4sjeel6snoel4speel3sprel4stiel4stjels5økel5te_el6tegel4troe1lu2eel3ungel3utrelv3anel4vei5elvs_el5yndel9ærve6l5ætel3øy_el5øyael5øydemafo5e4magre4makoe4makue4manae6manue4maree4masie4mataema3ukema5ve3embed3embetemei9eeme4lie4mendem5e4vemi5niemi9saemle6sem5me_em5menem8mi_em4ne_em4nedem4nemem4pedem2p3lem6pliem4polem4posem4sesem4s1lem4sorem1st8ems4teem4tilemå4laemål4sem1å8ren3aldena5lien3allen5ande5nanee5nar_en8aree4narren3assen3avien4deken3delen3derend3stendø4ren5eggen3eieen5ekse3nekten5eng3energe4nesken7garen4gemen4gleeng5soeng5spen4guten4g5åen9nalen4nemenn4sjen3om_en4påsen4remen5sabens5afen4sekense3uen4simens4tiens4veensvi6ens3øken5ta_en4tapen5te_en4tecen4tegen4telen5tieen5tigen5tiken4treen6tul3entuse2n7ule4n5ure4nytae2n3øven5øyden6ås_e4o7loeom1s4eon4kleopp5reor4daeo4rideo4rikeo4rise6penoeper5repe4ste4petaepi7kr3episoe8plenep5ler3epletepo6et3epokeep6seme3p2syep6tine4raeler3afte4ra4ge2r1ake3rakeera5kleral3ue4ramaera4noer3apoe5rar_e4rarge4raske6rasoer6aste4ratrer5atter5aukerau8ser3av_er3avher5avle3ravner3avrer3avser8byler4deder4diserd4raerd8reerds3ter3d4ver3effer3efter3eider3eieere6kae9rem_e5remmer3emner8er_e5rerier3esse5ret_eret6here5toe7rets6erettergi3fer6glier4go_erg5spe4riade4riakerib3beri3ble4ricee5rid_e5ridne6rikner3inde3ringer3inner3inser3inte5ris_e4risaeri3see4risoe6risperi5søe4ritee4ritoer7ivo3erklæer4nader4neder6neeer3nober3obler3offer5okser3olyer5omkero5moer5onderono5e5rop_er1o2re5ror_e3rore3erosjer3oslero4taer4raeer4relers6aler3seper3skaers4laers4mier5sneer4svaers4veer5tiaer3tiberti4eer5tiler4topert3saerty6ee5rud3er1u2ker3unie3rup_er1u8rerure8er5ut_e5rutae3ruteer5utner9utoe4rutser7u6ve2r3yaer5økne4røkoer1ø4le4r5ønerø8raer3øyaerøy4nerå4daer5åkeer3å4le2r1åner3å4pes5arvesbi9ees5egees3eige4sekue3s2ene5ser_e5seree5seriese5s2e3seste4sesve5setje9setses6haresi6are5silies3illesi3stes3jore5skabes6kedes4keees4ker8eskiles4kjæes5k4ne5sko_es7koae3skotes3kvie6skyreskå7res4lekes4letes4lites4løkes4løves9na_es4nere2s3ode2s1ofes3okse3sommes3pases5pe_es3pole3spores3punes4sedes4seees4segesse7ies4seses4sjees4skress3omes4soses4spaes2s1ve7stades5taees3tape3states4teges4tekes4tel6estene3stifes4tige3stikes4tise4stive4stoge3stokest9rée3stråe5studes5tusestå6ses5viges3visesy4nae4s5ytes5øvies7øyeetafo7e6takoeta3laet5aldeta5leet3ambe6tande9tapae5tapeet8ar_et8areet5art1e2tate5tatoe3tattet5aune4teiee4tekaete5ruetes5ie4tesle5tet_e7tetse7tjeret6neveto4eret3orde5treee5trefe9tru_et5rumet4skuetsnæ4et4taket4talet8tapet5te_et6teiet6tiaet4tiletto5aett3reet3tuget4tur5e6tuietu6naet3uni2e3t2ve4t3vaetæ3raetå5reeug8laeu4ka_eu5keme4up5aeu6rateur8na3europevad6reva4lae4varbe6vatfe5vegg6evenneven5se4venye9ver_e5ves_e5vetae5vev_evin4sevis3tev7omse7vri_e2v3une5vyrkeybal4eyr6kaeøy9aneøy7eneån8daédø4r5é5n6etéva8laè2rek4ère3s2è4restfa6de_fa2g1afa5gerfage4tfag3skfa2g1ufakta3fal4sk4fa5mofa4na_7fan5dfanfa5fang4s2f3anlfan5s6fan5tifan3to9f8ar_fa4ra_fa4re_fa4resfa4ritfa4selfast3rfa3talfa4te_fav5ne2fe1a4fe5a6lfe3drafe7enefei5enfei5gefei4li9fein_7feine2fek4afe5lagfe5len6felikfel7læfel5okfel4tifem5akfem9nefe2m1øfend9r2fe3p2fe6ral4feramfe5rasfer6atfer5de4ferea4feregfe4rekfer6enferi6e2fe1ru2fe1skfe6ta_4fetapfe4te_4fetea4fetil2fet6rfett5j4fe4tyfe4venfe6øy_f4f3akf6fannf4farbffar6dffa7ref8f9auf2f3avf2fe3df4fetif4fetoff5evef4ficef9fienf4finnff5intffi5s4ff9legf2f3refi4as1fi9cenfigh9tfi7g6rfi7kenfik6kafik7safi4la_fi4ne_fi5nerfing3rfi4n3ofi9norfi6ra_fi5s4afi6se_fi8si_fi6ska6fiskufis5ti6fistufitt5sfi4ve_fje4skfje2t3fjære5f5lag_f6laggfla7kefle4slf4lettfli7neflis7tflo9gaflok9sflo2m3flue3sfly3s4flå9saflå7sefoi7lafo8ke_fo6la_fol4drfo4le_fo5ledfol5lifo4ninfon1s2fo6re_for9eifor4etfor9g6for3sefors8tfors4vfor7v6for5æ4for5ø4fo6te_fo4tokfo4tomfo6topfo4torfots6vfra6mifra7r8fra7skfras6pfre4e3fre4m5frems4fre7nefre6skfro8stfrø7kofråve4f5sjukfs7ne8ft3algf2t1amf4tanaf7taneft3anlf5tar_ft8as4f6t1avfte4naften3dfter5sf4testf4tetaft3indf2t1o2fts3eift2s1ift3stoft5støfu8ga_fulle6funns3fu6ra_fu6re_fu9retfu7selfus6o7fu4s5tfva8lafy8ra_fy4re_fy8sa_fø4da_fø4dekfø5denfø4desfø4le_fø5rarfø4re_fø4resfå7renfå7retga4ded4g5adrga4e5k6gaflogak8tega4la_galei5ga7len4galli5ga7loga4ma_ga5mer6gand_4gan5k2g1anl4gansa4gansvga6pa_ga4pe_ga4p5lgap3s2ga6p7uga6raf5garbr5garby7gare_4gareagar5es4garkigar3neg5arteg3artigar4unga4rylga5s2iga6skigass3lgas5tega5stoga4te_gate5s2g1avsgd5altg6d5aug3debag4dedigde5log4dendg2de5og4derag6derog3det_g6d1øyge4ark4ge5be3gebri4gebrå3gebyr4gedan6gedelgedia54gedos2ge1g2g3e2gng4e1ingei4r3gei9regeit3ageit3oge4lar4gelauge6le_ge7lea4geled4gelei4gelek5gelet4gelid4gelit6gelivge5lov7gels4gel3segel5sigel5t4ge5lungel7ve9gema_4g5emngem6nage2n1age3nea4genemge5nesgene4t4genevgen5gr6genivgens5lgen5tr4genumgeome5ge9opege5ra_ge6ralge9rasger5di4gered4geref4gereg4gerek4gerep4gerikge4rimge4risge4ritge4rivgerne64geroa5gerudge5rup4gesje2ge1skgeslu7ges4lø4gespege4spr2ge1st3gest_6gestå2ge1såge5tak4ge3te5gete_5get5sgety8e4gevir4g5evn4ge5vog6g5algg5askg2g1avg4gedig4gelag4geleg4genug4gerøgges6bgges5lg4gesmg6gesog4gespggje5sg2g1o2gg3radgg5ratgg8re_gg3redgg7rekgg3stog7g8ud4giarbgi9endgi6ga_gi5k4r2g1indgi4nin2g1inngin5nu4g1ins4g1int4gi5om2gi1opgip5sigi4re_gi6rob4gisel4gisen6giskagis8lugis4løgis5ti4gistu6gisty4gi5tegite4sgi2t9rgit5te4gival2g1jakg5jarn4g3jeggjels46gjentgje7sk7g6jutgjø9degla3degla4gag3landgl5artglar7v1g2las7glaseg6lass6glastgle3geg7lek_g5leke3glemtg9len_g9lensgle9plgle4rag9les_1g2lidgli8er3g2limgli9meglitt46g7liv1g4lorgl5ungglø8pagl7øy_5gløymg4meteg4metrgmini6gmå6lagna4logndør5g4nelog6nerog6nerøgne1s4g4neskg4nestg6netrgning4gni6stgn5o6pgn7o6vgn4skrgn4somgns4prgn4stign2s1vgnu5regnæ6re7goar_go5dalgod5argo4de_gods9tgo5ge_go9g8rgol6fagol4vag7o6mago9ne_go5nokgo5ra_go7raego7rasgor6dagor8vago8ve_go8vi_gra5ce9gradsgraf5fgra4m5gra6skgras3tgre4eng7refeg4rega2g5relg5rent4grepig7rese4grett4g5ri_4g1riggro9arg4ro7igrom5mgro5skgro3ve4g5rui4g3rulgrun7g5g4rupgru7sagrus5t2g1rut4g5ryg6g5rør4g5røvgrø5vegr7øy_grå6dag7sal_g7salegs3ambgs7amng5sardg7sastgsbø6ng5sekrg7sekvg5sensg3sentg5ser_g3serigse4stg3setegs3etig9setsgs4ettgs4jarg3sjefgs4ka_g5skadgs4kalg6skamg4skangs7kavg7s4kjg3skotg7skugg4slukgs4lung5slyngs5medg7snelgs9opeg5spalg3spelgs5pikg3spilg3spurgsse4egs5takgs5te_g3stifgs5tiåg5sto_gs4tolg3strøg5stuegst5utgs4tørg5s4tågs5vikgsy6nagsø6kig4t5ifgt6re_gtvek8guds3tg5ug6lgu4le_4g5ulkgul4lagur8nagu5ruagu3rueg5ute_4guttrgva8lagvi8tagy4da_gy8sa_gy6se_gy4te_gy4ve_gøye6rgå6en_gå4er_4g5å4kgån8da2g1å4p2g3åregå9vengå4vetha4ga_ha3genha7ismha4ke_ha5kenha6la_ha4le_ha4levhal6løhal4sohal4v5ha8me_ham4sthand5øha4ne_hanis4han2n3han4nehan3sehan4skha4re_ha5reiha4relha3remha4resha5rovhar7sehasj5eha3tarha4te_hat6lehau6stha4va_ha4ve_ha4vegha4veihave3shav4slha6vu6he7ansheat4rhe4de_he2d9rhef9tahe4ge_he2g3rhei5enhe3inshei4skheit4she4la_he4le_hel2s2hel3sahel3skhel5sphel3svhel9vehe4makhem5nehen5o6hen1s2hen5sehe5rethe4ri_4her5nhe4ro_hero9aher6svhe2r3øhe4se_hes7pahe6støhe4te_he5t6ihe6va_he4ve_hi4bakhi6ge_hi9se_hi3senhi5s4ihi4t5rhit5tihi8va_hi4ve_hjem7ehju6l7ho5ar_ho4de_ho5denhode3rhof4f3hof4fiho5lagho5lanho4le_ho4linho4lomhol7utho4me_ho4mo_ho4modho4mosho5n6oho8pa_ho4pe_ho8pi_ho6ra_hor2e1ho5senho5serho5si5hri5nehri2s3htere4hud5s6hu6et_hu4ge_hu8ja_hu6ka_huk8rahu4le_hu4leghu5leshu4levhun2n3hu1ru4hu8sa_hu4se_hu2s1ihu2s5jhu2s1khus5s4hu8strhu6styhu4ve_hu4veshva5lehver3ah4v4irhvits4hy6la_hy4le_hy4se_hy2s1jhærfø9hær3s6høg3rihøg7røhø6le_hø4ne_hø5rarhø5renhø5rerhø4reshør6sphøst7ahøst5øhøy5a6hå6na_hå5nelhå6pa_hå4pe_hå4p5lhå8va_hå4ve_i2a3deia5d8riale4tia4linial3opia6lovi5als_ials4ti3alt_ia4nalia5nari7andria8nesia7netia2no1ian3saian3sliar4doiar4dui5areai5arn_i9arnsias3s6i3assii7ast_i3bereibe4roib7lari2b3leib4legice5neid3delid6dep3ideali7dekii9del_id3elvi5dendideo3vi7derni5dersi6desmid6gemid4gesidi4en1i2dioid7jer1i4dolid9ranid5regid5samid6selid5simi2d1uni6d7øyi5einiie5l6ai5elemie4levi8e9maiem7b8i2e5niien4skie4ranie6re_ie5regi6eretie4rilie4risie4rivie7ro_ier4raier4spiers3vie3runies4tii8es6vi3etatiet4reie7vedife4s1if4lesiform4if4talifte5sig3anni7garkig4artiga3ruiga7teig3atti6gediige6noi5gersi4gerøi4gespig5ettig4gedigges4ig4graigg9s2i2g1iaigion4ig5loaig5neuigo5frigo4noi2g1røig3rådigrå5tigs4alig5seligs4muigs4taig4steihu9laikan9di4kapoi5kar_i5karaika5rei6kasaika3spi5keliike5lui5ken_i4kenai5kenei9kensi3ker_i4keraike5riike3sii6keski5kesoike5sui5ket_i5ketsiki9neik5inniki5stik4kafik4kapik4kasik4katik3kjøikk3reikk5svi9koariko5dei2ko3fi4koreik4rakik5remik3rosik4sekik7sotiks5tiiks5toik8stuik4tavik4tegik2t1rik4vinikå8pail5adri2l3aki4lanail6andi4larkil3artil5assil4dakild3reilea9ri3le7ei2l1eii6leigi4lenoi4leroi4lesei4lestile4tuili9gai2l1imi7linei4linsil3ja_il5keril4kesil4labil6lamil6lapil9lauil4leeil4levill3s2i9loloil5omvil3oppi5losoilot3ui4loveilret4ilsla7ils4muil5stril3s2vil6t7åil7ul8ilve8dilve4ri4maeni4makoimal8ni5mar_i4matri2me1gi6meluim5enhi9met_i4metai4metiimi9laimini6im4levim8l9uim5ordim7o6vimpse8im4refim4rekim4resims3krim1s4tim6stiin5aggi5nakki4na2min3amei9nanein5annin5appi5nar_i5narsi4naski4naspin7aukin5avlin5avrin7der6indigin4dogind9rain3druindr5øind5skind3spinedy6in5eggin5eidin3eiei6neleine4liin7engine8pai7nerni5nerti5nes_i4neski4nesø3infekin4fosin4fotin4gavin6gemin3gevin4goain4gosingst8ings5vin2g5øi4ninni4nisaini3sei4nito5injekin5kelin4kokin4nalin4nem4innet3innho2inni4in4ni_inn1s46inns_3innsainn5sein2nø4i5noarin7oksin9sa_in7salin5sarin5se_in4sekin3seninsis5in4sjain3sjeins4kiin3skjins6køin3sloin3sopin4spains4poin6ståin7sul6in3sy2in3ta4inte_in5ter4in5tiin7ut_6invevion3g4io4ninio5ra_ior8daio4rieiosk3vio3t4eio4traipela9i7pe6pipi9neipp4søip7punipse4lipsfø5ip2s1kip6tarir5arki9rastira6trir3eiei3repoire7sti8retoir3indir3innir5ka_ir4katir4kleir4magir4malir5oppir7skoir3s4tir5u4kir7å6li4saksi4sanbis3annis3antis5aud3isbryis6ceni4seeli4seenis3eieis5eigise5isi3sektise5nei4senoi5ser_i5sersis5essi4sete3ishavis5ildisis5tis7junis9ka_is3kalis3karis5ke_is8keeis4kelis3kjei3skjoisk3loisko5gis3kopis3kotis4kulis4kviisl7uti5smakis4medismo5ei6smus6isold5isomois5omriso3paiso5peiso7pris4panis6pisis7pruis4sesissis5is4skois7skris5skyis4skåis5sokis7stois6sveis5svois4søki5stabis5tapis5te_is4tekist6enis4tikis5tisis3tokis3tolis3tryis3tusis4vakisy8nai2s1økita4loita4lyi6tangi7tekyi4teniite3rei4teroi2te1si4tiesiti5mei4tisai4tisii4tisji4tistitivs5it7jerit5ordi4tra_i6traeit3relit3renit5rimit3rini5trisit3serit6sesit5skuit6stiit3sunit4tagit6takit4talit6tapit5tedit4tidit4tilit6tofit7tonitt4søit7tysiu2m1ii6umsei4umsui4vanai4varbivat3tive6geiv7eigive4raiver5di4veski6vesvi6vetøiv5insiv5is_iv5isbiv4sali2v3univ7åpni5wie6iårs7lja4ga_ja7garja4ge_jak4koja1k8rja8krejaktel6jambijan4grja6ra_ja9rekjar5tajar7tija8skija5sti2je1a2je4debjef4sajeg5geje5i8sje4klijekt3aje4lesjel7gejel4lojel4trjel9utje4miaje4mitjem5pljem5se2je7na4jendrje3ne_4jenet2je5o4je3rafjerd6sje3r6e4jered6jereg6jereije5rikje6rimjer4kvjerle7jer6muje6ronjer4spjert5s4je1ru2je3spje3str5jesutje5svejett3oje4t3vjety8e4jev6aje6vasjevi4sjev7ne2j3infjo4da_jo6datjo6disjol5t6jons5ajonse4jons3pjons5tjonsu4jord3rjord5sjor6dujo4riejort6ajo3r4ujo4sesju8areju7doejue7nijug9leju3ke_ju3kenju3la_ju5larju5lasju4li_ju6lidju4likjun7gej6u6niju7ras3jurisju5so5ju6va_ju6vakjy8de_jæ5le_jæ3ra_jæ9ranjæ7te_4jøend4jøeng4jøetajø4lesjøn5nejør4spjørs5vjør7utjø4sesjø3te_jøte4tjøtte4jø4veljå5ar_jå9ge_jå6la_jå4le_jå7lesjå5let6kabes4ka1brka5delkadi7ekaf5tak5a4gika5iskka5ismka4ka_ka4ke_ka4kedka4kelka4keska4ki_ka4kiska3lamka3lanka3laskald5s5kaldt3kalenka5lev5kalis5kalkykal7lakall4ska6ma_ka8me_kam4prka8na_4kandaka5nerka5nin2k1anl4k1anmk3annoka4no_ka8nom4kansa6kansi3kansl5kapadka4pak3kapas4kapen3kapitkap3re4karab4karamkaran5ka3rav4kareaka6rekka5relka4ri_ka6ridka3rolkar3omkarp3s3karri7karsjkars4tkar5tika3sekkas5evkas2ju6kasjøkas3kakasko5ka4spikas4soka3ted3kategka3tetkat5taka4t5yk7au4rka7vesk9avis2ke1a84kebuk4kedag4kedal6kedei4kedem4kedes2ke5drked8skke7ernkeg8ga3kehetk3ei2dk6e1ink5ek4t5kelalke6lat4keles4kelev3kelig4kelis5kelit4keliv4kelofkel5slkel5spkel5stkel3svkelt3e6kelua4kelue6keluvke4mit5kena_6kenamken6apke4nasken5de4keneb4kenek4kenel4kenem4kenev5k6enhke4nomken1s2kens6tken7te6ke3ny5kepi_9kepia7kepiekera7l4keramke4ran6kerau4kered4kereg4kerekkere6n4kerepke3res4keretke4rifke4rimke4ris7kerop5kerorke3rotker5toker3un4kerus4kesam5kese_k5eselke5sil4kesit4keski4keskj6keskå5kest_ke3sto4kestu4kestøk6etar5kete_4ketek2ket2rkety6e5kevas3kevelkev6jaki3a2rk3ideo4kidolkie5reki3er_ki6ka_ki1k8lki3k2rki8la_3kildeki4le_kil9jaki7loaki4logki3loski4lovki8ma_ki4me_5kimo5ki4mol2k1impki6ne_kin3geki4p5lkip5pekip2s3ki5skoki3smuki1s2pki5strki6tenki4tonki4vekki6vi_3k8jankje7fj4kjegg3kjeld3kjemp6kjenkkje9nykjet5t3kjærlk5jødi3kjørikjø4trkk3aftk2k1akk2k3alk4kanbkk5andk4kannk4karbk6kargk5kastk6kasuk6kattk2k1auk6kedok4keduk5kel_kkelu4k5ker_k4kesak4kesek4kesik4kespk4ketek4ketøk4k9g2kk3indkk3infkk9innkk3inskk3intkkjek8kkje7tkkla4gkk3lankk8larkk7laukk6s5vk4k1ofkk5omlkk7omskk9omtk4kosik6koskk4kostkk3ovekk5ramkk3rapkk3reakk5reikk3renkk3reskkri6kkkro8ekkro4skk4ruskks6alkk4sarkk5sedkk4sinkks4kjkk3slakk7slekk5slikk3spekk1s2tkkst4rk4kuni3k2lask7latikla4trklei9ek7leikk4leivkles7jkle4sp4klie_k5linjk3luktklun5t6k7lyfklø7naklø9vaklø5ve6k1lånklå5rekmann63k2napk4nedi5k2neek4nest3k4nipkni2t33k2nivkno6klkno9takno5te4k3numknø9le4ko1ak9koane4ko3brko4de_3kodek5kodenko4grekogst6ko7i6kko8ja_ko4ka_ko4kabko4ke_ko6kelkokk6ok3okku4kok4lkolba5ko4legko4leiko6lelko4letko4leu3kolleko5lo_ko4ma_4komafko4me_ko4mi_4komil4komsekom3slkom5sokom4st4kom5tko4na_kon6dr4konivkon3s24kopetko4pi_ko4pipko4p9lko4ra_kor4duko1r6e6korefko5remko7retko6rikko5rol6korpa6korpe1kor3rkor4svko6sa_ko4sedko4sekko5senko4seskosi9d4kosmuko6stakost5jkotes7ko5t4i4kotilko6trekot4tikott4skou7ta1k4raf3krakk6krank3kranskra9sekras5skra4to4kred_3kredi4k1regkregi3krei9ekrei5sk5rela4krentk5repr5kreps5kresjkreta9k4retsk3rett7k6rigkri9gakri5kekri4kjkri4me1k2ris3kritekro5b4kro5dek3rofokrok7kk6ronik5ronlkrop9nkropp4k4rostkru3i4kru5sakru3tr2k5rygkry7pakry5pekry4pikrø5ke6k5rørkrå8dakrå5lekrå7nek2s3adks3altksa5mek3sanek4sansk3sar_k7sarakse6gek2s1eik5sektk5selak4serfks3erkk4sesak5sesokses4pk5sessksi5koks3indk3singksi7niks3innksi3stk4sitiks9kabk6skioks9ku_ks7kuaks8kutks1k6vk7s6luks5løsks4melk5s4nok7s8nøk6s7oak4sombk2s1ork3spalks3pekks5pioks3pirk5stadk4stakks3talks6tavks4tegk3steik4stekkst3evks4tilk4stinks4triks4troks9tumk5stusks3tyvks5vegksy8nak6s3ølkta7f6kta6kak4taktkt3anlk4tanvkt3appk9tar_k6tassk5tastkt5avhkt5avkk4tedak4teføk2te5ik6tekakte5lekt7emnk9ter_k7tes_k6tesak6tesek4tetekt5evnktis5tkt5offk4tolikt5omfk2t1opk9tor_k7torak5torektor7skt3ralk2t1rektro5sk2t1rukts5arkt5sekkt7semkt6sinkt5skukts4kvkt6sokkt4spakt4stakt4ståkt7undk2t1utkt7yrkktør8ek6t5øsk2t3årku4be_ku4dalku4er_ku4f3lk5u4gr6kuldikuld3rku4ledku4legku6leiku4lemku5lenku4letku4levku6li_ku4man2k1ungku4pe_kup4plku4rekku8r7okur6skkur4spkurs3vku5ru6ku7sa_kus5arku4ska6k1ut_ku6t7rkva8kek4valik6vardkva9sekve3d2k6veil1k4velkve5la5kvernkves5t7k6via3k4viekvi5erkvi7la3kvinnkvi5se7kvistkyf5leky4leg2k3ynsky4p5rky6se_ky3skrkys6sk1ky4stkyst3aky6ta_kyte3skø4en_1k6øyrkån8dakå4pe_kå7penkå9rask5åt6tla4demlad3s44laent6lagnela2go8lag5omla2g1rlag4sj2la1inla4ke_l7aksjl5akslla5mabla4mesla4metl8a8muland3rl6a3ne3lane_4lanetlan4grl3annola4norlan5til3anvila6pallap5sa1l8ar_l8are_la9redla5remlare6tla7rialariar6l7arrlasi9e7laskjla5smi4la4sp4lastr6lataula4teglat6ekla6ti_latt6ulau7selau6stla4vellba3delbe9nald5aksld5aktl9dandl2de5ol7der_lder7al4deshldis7kl4doreld5ovnl3drakld3ranld5rasl6dre_ld4sekld4selld4sesld4skalds4kjld4s9mlds3trld6tuslea5lale4bem5lebæk5ledarled4dø4ledeble4dem6ledeple5derle3des3ledop5ledovle4drole5dryled1s24le3då4l1eff4lefor4lefot6legap5legasle4gedle9genle4gev7leggi6legifle4gol4legreleg3s46lehal6lehan6lehaule3idol6eie_leig6dle3intleis7tle4ka_6lekanlekk7s2lek2llek4na4leksp2le3la8l9eldl3elem4l5elg5lelig4lelukle8me_4lemet8l9emnlem8nalem4silem5tile4na_le4nal4lenavlend8a4lened4lenem4lenevl4engdleng9u4lenivlensa4len4trle4pelle2p3jle4ple4leramle9re_6lerea4leref4lereg4lerekle5res4leret4lerev9leri_7leriele4rivle5ro_4leromle3ros7lers_lers4pler7te4lerus5leryr5l6es_le4sab4lesam7lesar4lesaule5sedle4seg4lesekle5senle3ser4leset4leshole6si_4lesig4lesit4lesju4leslales3s64lestale3sto4lestø4lestå4lesug4le5sy5lesøyle4tab6letak5lete_6letea4leteg4letekle5ten4letes2le3ti2let2rle7trelet6sjlets8klet6trlety8ele4utele6vadle4ved4leveg4levei4leveklevi6dlf5antl5f6inl4gelal4gelelge3nalge5ril4geryl4gesllgie8nlg3reflgr9øylg3s2elg5år_lgå8vali4alali5anslibie6liby5eli4dakli4dedli4do_2l1idrli4eneli3er_4lifatli4ga_li4garli4getlig3selig3slli5kanli9karli7kasli5keeli3kenlikk3oli1k2lliks4t8l5ildli4marli4masli4me_limp3rli4na_linch54linduli4ne_li6nem2l1infling5l5lingvlin4kv2l1inn3linni6linnsli4norl4inse5linsklio4noli5o6slipes4li9rarli4rek4lisakli5setlis4kllis6splis5tilist3oli4teeli4tekli4tidli4tigli4tilli4timli4tivli2t1rli6va_liv5eglivi5eliv2s3l4jarblj9elvl3jer_l4je1sl5jes_ljes4tl5jet_l4jete3l2jodlj5oril5jøs_l5ka6ll3kedelkeei4l7ker_l4keral4keril5ket_l5ketsl5k4lulko9malko9salkras5lk4serlk1s4tlk9utel6kvegl5la6all6a5fl4lamil5lanell3anlllans4ll7apallap3sll5aspll5aurll7avlll5avrl5leaklle5grl5lehal5lehol5lehål4lekil4lelil4lenkl4lenulle4sol5let_l4letal5letsl8letæl5levål4linsll3intllo5idll5oksllo2m1ll5oppl2l1orl4losol6lotellra7nll4sakll4semlls5kvll5skåll3smylls4nolls4tells7økllto4el4lu4el6luksl4l1unllu4pil2l1url2l1utllva8nll5øksl4løvell7øy_ll5øyall3øyell1å8rll3å2slm3anml4melulme7rilm3indl5minglmini6lm3inslm5intlm5s2pl6m5øslm5øy6lmøya9lm5å4rl4m5ås7loanelo1a4r5loar_lo2d3alo6d5u6loenglo4girlo3goplog5salo5id_lo3idelok4ko4lokonlo1k4vl5omdrlo4nallo4nitlo4pealop5pa5l4opt4l1orglorie6lo7rødlo6seklo4seslo5sevlo9teslo8ti_lo3vanlo3varlov3salpa5rel4pedol3pelil3pesml4petilpin3elpo6etlra8dalre4delre8kalre8valri8malrot5sls5aldl7sanals5arkl4sat_ls3eidls5eigls5embl4senol7ser_lses3llses5sl5simul5sjefls3jegls3jenl6s5kelskif5ls3kjolsk3læls3koals5korls3kovl4skralsk5unls7kvals3kvils3kåpl5smørls5ondl2s1orl9spegl5speil9spells3pril6ste_ls4tedl4stegls4tells6ti_ls4tiels6tonl9strils7veals5veel4svikl2s1øylt3aktlt3anllta6nolt3artlta4stltat3rlt3avkl5tavæl3tedel4tekalt4en_lt3epiltid6sl4tietlti6g5l4tinalt3indlt9innlt3insl4tivil2t1jalto9arlt3ostlt3reglt3reilt3resl5trevlt3rollt3roml5troslt5s4ilt7s6tlt2s3vlts4vilt3undltu4ralu6brilu7ere3lugarlu4ka_4luket5l6uktlu6mellum6sklu4ne_l7u2nilun5ne3lunsjlu2p3u6lureilu5ren6l5urnlur8nalur8talu7saklu6sellush7elu2s5klus4o5lu3ta_lu7tetlutla9lu4t5rlu4ve_lu9venlu9verlva6lal4va4ml4vanalv8andl7var_lv7asal4velal4velelve9nel9ver_l4verul4vesklve5sllvi9erlv3irolvor4slv5o4vlvra8rlv7s6klvå4p4ly4d7rly4gelly5g6lly2n3aly4ne_lyn3s2ly8ra_ly6re_6l7yrkly4sa_lys3kjlys9klly2s1lly8ta_4lyteklyte5slæ6ra_læ5rarlæ4re_lære3ilæ3rerlær6svlø3de_lø4dellø5demløk5kj4l1øknlø4k5rløns5tløp6s55l4ørdlør5k64l5ørrlø5sanlø5serlø9ta_lø3te_lø4tegløva9rlø4ve_lø3verlø5vesløy8edløy5elløyg5elå6gallå6grelå6ke_lå2m5o6l5åndlån2s1l1åp9nlå8ra_lå9rarlå5raslå3rinlå6sa_lå6skolå4s5llå4stelå3te_lå4teglå4teklå8ti_lå4ve_ma3chema4delma3dram6ad9s7maene3mafia6mafråma8ga_ma4gedma4gelma4gesma5kab4makadma4kesmak7kemak6lema4kotma3kremak4to2ma1kvma7lebma4letma4lov4mamerma3nakm3anal6manam4manavman8cem6ange4mangrmania8m3anle5m4annmar5d67mare_6maregma3reima7relma5res3mar4ima3rinm4arkamar4kvmar7slmar5tema4ry_4maselma5setma4siama4sikma4sis6masjumas4ki4maskomassø97mast_4mastoma5tadma4te_ma6tedma4tel7maten7matet4matil4matramat3s2mats8lmat5tamau7suma6ve_ma5venmbar3dmbe9dam4bedøm4belim4benam4berombi6armbo5idmbo5re4medat5mede_me4dedmed5eime7denme7det4medik4medirme6dok4medommed1s4me6dun7medve6me2game7galmeie5nme3ildme3indmei5nime7isk4meisome2k1l6mekte5melarme4le_4meled4melei4melek4melik4melis4melit4melivmel5le4melok4melovmel4simelsk4mel7trmelvi6me6mo_men4nyme4nomme4normen4simen3smmen5temen5trme4nytme6rab4meradmer5di4mered4mereg4merei4merek4merelme3resmere6t5merinmer5osmer5skme3run4merusme2r3øme4råk2me5sa2me1skmes5ke2me1slmes6le4me3so7mest_4mestames4timest3r4mestu4metabme4tar4meteg4metei4metek4metel4metep4metil4metonme4treme4tru4metræmeva8nmfa9ram4fibrmgå8va5mi6al9miane7miar_8m9idémid3s4mi3er_mie9s8mik5sami4la_mile6tmi4lev4milinmi8ma_mi4na_mi5narmi4ne_6minntmin3spmins4tmi4n5ymi4san4misek4misel4mi7simis4komis9le4mistu2mit6rmitt3sm5jar_m7jarnmju7kemjøs5tmkå8pamla6gam4leram4leskm4letamma5klmmar7om4medøm4melum6menim4menummer5tm2me1smmest6m5met_m4metam4metim7mianmmie6nmmi5skmmi5sommi3stmn7eidm2ne9lmne4ram5nesem4neskm9net_m4netemo3demmo6di_mo4en_mo8ka_mo6la_mo4le_mon5t65mo1ramo4ra_mo4rar4mordlmores7mo4ri_mo6ridmor4klmo5rokmo4rommor4simor4spmo9senmo2s7k4motapmo4te_mo4teimo4tesmot7remot1s23mo3vam4panam6penam5pettm2pe5um8pla_mp5le_m6p5obmp3oppmp3radmp5retmp3ropmp3sekmp5s6tmp5ut_mrø9dems5antmse5lum9s6eim4servms4ingms3innm4s5jams5kabmska9kms6kinms3korms3lanms9luams3luem4somsms3orims7teams3timms4trums3unnmsu9tams3yndm4s5ørmteks7m9tidam6tinimtiør6mt4vin8m9uka4m1ukemu4legmule6smunes6mu6ra_mu4re_mu4se_mu2s3k3mu1tamu8ta_mvak5tmva6lamvari6mvi7e6myg4gamy9ranmy9rarmy4re_m5yrkemy4r5umy4se_my4te_mæ6la_mø7desmø9ensmøkk6amø4ne_møne9s3mørkemør5smmø9tasmøy9arm5øys_6måenhmå4ka_må4ke_må4kesmå5larmå4le_må6ledmåle3imå8pa_må4pe_måra6rmå6takna6ansna6botna4dedna8demn3adopnad2s1nafo7rna8ga_4nagennag3s4nagså5nak7kanak6konak8sa8n1aktna9lagna7legna4lekna4lesna4levna4lilnal3opnal5s2na3lurna2l5øna5mesna5mo9n3analnanfø84n3anlnan4nena4n5onape4snap3s4na4rapnar5dr4nareanar7einar5tinasa3rna4sas8nasikna4skinasta5nate8kna7tem4natomnat8ranat3spnaus6pna6va_2n3avh4n5avknben4snbo5etn6butrnbø9lench3ein7daa_n6dabin7dag4ndags5n4daksn4dalfndals3n4darkn8daskn5defind4einn4dekln4dekon5dem_nde5mon5den_n5densnd6erkn4desin4destn4desundi4enndi6sknd3jernd4lemnd4levnd3orgnd5ormn6dotend5raend3rannd6reknd4sagnds3aknd4sernd4sjend4skjnd7spundu3isnd3ungndu6sindus7kndy5spn2d1øyne5alpne5als6ne7avne4ble3nedal4nedeb4nedeg4nedelne4di_nedi4sne6drened3stne5dårne3gla6negrun2e1inn3einine4ka_6nek2lnel3de4neled4nelei4nelid4nelis4nelit4neliv2ne1lu4nelås4n3emb4nemel4nemer6nemesnemie86nendr4nened4nenemne3nes4nenet4nenevnen5sene5o4r3n4er_4nerad6nerap4nerea4nered4neref4nereg4nerek4nerepne5res4neret4nerev4ner2gner3ganer3ge4nerik4neritn3erob6nerocne7rofne5rok4neromne5rotn6ers_ner7seners4pner5un3neryr4nerørne4sa_5nesar6neseknes6er4nesit2ne5sjnesk4e4neski4neskj4neskr6neskune3sline7slønes6mine7snø3nesot5nest_4nesto4nestu4nestø2ne1svnes8va5nesøy4ne5så5nete_4ne3ti6netid2ne5to6netom2net4rne6va_ne4ve_5nevikne4y5tnfall4nfan5tn4folen4foran8g8adng3ankn4gartngar5ung5atong7aving4dedng4delng4depn4gedan4gelan4genan7genen6genon4genunge3sln4getan2ge7vn5glemng5oddn3g4okng9omeng5ondng5ordng3orkngos6png3ra_ng7reang3regng3renn4grerng3retng3revng3ridng3rinng7ro_ng9roang7roeng3rådng8sa_ng4semng4sesng6skjngs3neng3undngvi4sn2g1øyngå8vanhet4sni1a2nni4delnid5stni3er_nie5rini7ersni5ertni5glani9glo4ni5koni5l4i4nimar4nimas2n1indning3onin5gr2n1inj4ninnb4ninnh4ninns4ninnt2n1ins2n1intnions34ni5ovni4petnip3linip5si4nisemni5setnis5imni9solni3str4nisty4nistøni3tedni4togni4tosnitt4rni4umf4n5ivoniv3s2n2je1sn3jes_n3jet_njet6rn5jettnk3aksnkal5ln4kedon4keernk5eienkel5snkelt3n8kenon6ketønk3iernk5indnk7infnk3innnk7intnk3loknkofi8nk5oksnko5len3kravnk4taknk6talnk4tinnkt3sknkuri9n4ku6tnk9uten7kvitnkå6panly6dinmini6nn5ad_nn9aftnn5airn6n1akn4nalann5algn4namenn5anan9nanenna8nin5nanln9nar_n4narin6nasin4nasknn3avlnnbo9ennbu9enndør3n5nea_n5neapn5nebun4nedin3neken4nelon3n4enn9ner_n4neron7nes_n6nesjn4nesøn4netenn3idenn7infnni4sjnno2m1nn6omsnn7ordnns3arnn5segnns5opnns3ornns3tvnns3vanns3øknn6ungnnvi4s5noaneno7ar_nobe4lnob5leno3b4r4noent3no3ftn6ogran3oksino6midno6mikno4milnom7s2non1s4no1r4ano5ranno5rarno5rasnor4da4nordnnor4døno9reeno3rekno3renno7ret3norge7noritno4selno4sesno3stjno4ta_no4te_note5i5notekno4telno4tes4no5vi4n5ovnnpo8tanra8nanra8sanrei7enrå8dans1a4dn5sakkns3aksns5akvn3salans3aldn5sanen4sanfns5antns6armn6sartn4satins5eddns8edense5einse6erns5egensei6dns9eign4seksn5sen_n4senin7sensn3ser_n4seran4sesan4sesinse3sln4sestn6sesun4seten9setsnsin5dns3innnsi8ransis7kns3jakn4sjavn5sjefn4skann9skimns5kirn5skisn6skjan3skjæns5korns3kron4skugn5skumns5lasns5lidn5slynn4smaln4s5mon4smurn4smusns5nesn3s2okn4sondn3sovnn5spetn7spurnsse4ens4ta_n4stakn4stagn3stamns4tauns4teln6stepns4tinn5sto_n3strun3stuen6stukns5turnst3utn4sungn2s3vens9vegns9visn3s4væn4s1øvns5øyan5såpens7ås_n4tagrntall4nt3anlnt4anvnt3appn7tartnt3avint5avrnt7avsn5teatn4tegen4tegin7tegnn5teisn4tekan7teknn5telln4telsn9teltnt3embn5ten_n5tensn5teppn5ter_n5tersn7tes_n4tetan4tetent4e3un4tiatn5tiemn5tikin4tikln5tilenti3lon6tinin4tisant5omfnt5omnnt3omsn2t1opn5tor_n6torgnt6rann4trepn5trern6tromn6trulntrøy4nt5skjn6t7ubn2t1utntyr3snt7år_nufts5nug6lanuit8enul9t8nu5sa_nu5sennu7sernus3tanu3te_nute6rnu6umenva6lanvand5nvi4etnvi5kenvæ8rany5ar_ny9astny4de_5n6yheny6ra_ny4re_ny7revny9s6knystu4ny8va_ny5vakny8ve_næ8ra_nødde5nød3sknø9dunnø4le_nø6rednøtt6rnø3ver2n1øy_n3øys_nå5dedn1å2k4nå5levnåp8naoak4kuoa4r5iob4b5rob4b3uober4sobi5e6ob5la_ob3le_ob3leno2b5li3obligob5rar3obserod7attodd5eiod4delo6d5eio4dekoo5dekuo5det_o5detsodie4nod3omlo2d5reo4d3røods4kao2d1å6oeng5doeng3soeng3uo5ens4o7ens_o3e4reo6ereroer8mao3erskoe6sipoe6sitoes8kao4etanofag6ao4faraofa4seo4feraof4fekof5fesof6fiaoff5ido6fra_of9ras6o5friof8se_of4teloft2s3og7anko4gareo2g7avog4g5jogg3s4og6g7uogi3a4o4gievo4gikoo3gingo2gi1oog5jerog4nedog6nelog4re_og4rero4g3riog3rydo4g5røogs6anog3s2eogs4kjogs4leog1s4pogs5paog5steog3stiogs4toogs4trohe5teo4inspok7aftok5arkok5elvo5k6eno4keskok3kjeok3ko_ok5kolok4kunok8la_okla5mok8le_ok7lutok3omtoko5peok5oppok3ormoko9seok5reoo6kreto4k5ruoks4alok4sekok4semok7senok4sesok5s4ioks6tioks6tr3oktanok5u4kok7uteola8gaol5anlol3anto9lar_olber4olbo7eol4bolol9danol5de_ol4demol5detol3driol5eigole5ino7lekio5lem_o5lemso4lenio4lenoo4leruo9let_ol4f5iol3g4eol1g4lo4libaoli5neol2k3lol5la_oll3akol4lamol7le_ol4ledol4lelol7lenol4lesol4logol4lomol5losol4lovolls4toll5svol4løpol6løsol6løyolme5so5loanol5oksol3omsolo5veol4pedol5svaol3tedol5tepo4l5urom3aldo2ma2mom5angomann4oman5tom3arsom4betom4bis5ombodo2m1eko5mekaomer6so6mese3omfan3omgreomi3e4o4mieko7mikko7mineom7inno4misjo4mistom6matom4medo4mofoompa3toms3alom4sek3omsetom4somoms3un3omtalom4tesom5øy6on3aboon3appo6narbonat5ron4darond3reonds4ion5eieo4neleo7nello4neruonesi6o4nesko4neteon7ga_on5ge_on6gedonges4on5go_on8groongs4jon4g5øon5ildoni6mion3info2ni1oo4ni5po6nisoon5k6a3onkelon5k6ion4kleonle6gon5nado5nor_o4no4von3oveonsi3sonsi4vons1k4ons7keon4sveon4tedon5tenon4tokon5toron7ul8onu4sko4n5ø4on6øy_oo5k8aook5esoo4m5ioop9anoop5enoop5etoor6daopan9do4pasjo4penao9pendo7pent3operao7peroo5perto4petao4piekop4na_op4pasop4pi_op6piaop4pisopp3li3opplyop6poeopp1å2op6sa_o8p8siop2t1ror3adror5aldo3r4amo4ranao3raneo4rango4ransor3attora3ukor1a4vorbit5or3dea6ordelor7dikordi4sord3itords6eord3sto8redio4relao6reldor3enkoren3so6rerfo4reroore1s2o5resco4retao6retv4orga_or5gerorge4sorg4skorha9gori5b4o7rietori7kaor3indor3inkor3innor3insoriro8oris4ao4riti3orkesork7s2or6mapor5melor4narorned5or5netor4nolor3offo4r1oro5rosaor3oveor5ovnorpe6sor5senors4kuor1s4lor3s2oorso9vors4paor4tekor3temor5tiior7tilor5tis3ortodor6tokorto4ror4touor9udeoru4t5oruta4or4utfor5vegor9ø8korøk8tor3ø4vorøv8do4sa5bo4saku6o5sauosefi5o6senaose5slose5smos7hisosk3eio4skilosko5po3skrios8k3vos3lodos7oveos6pa_os6pe_os4pilos4poros4sekos3semosse5vos6skioss3kjos6spaos7styos5talo8ste_os4tegos4tekost6elos5teoo4sti_o8stiao4stieo4stinos5tisost3reo3stroost7råot5aldo9taneo9tar_ot3argotek5io4tenao4terooter5so4teråotet5aotet5ootika3ot5jero4to3ao5toa_ot3offo6togaoto5neotor5dot7redot5rerot5revo6t7rio6t5røots5elots6opots5prot7steot5tasot5tinot5toaot7tugot4typo6t5utovan9oov3anvo7var_o6varbova9reov5artov7arvove4lao4vendover3aovere63overg5overrover9voviso3ov4nesov1o2vov5salov4sekov4senov9skeov4sleovs5teov4stiov7sunovsy5kpa8cenpa3deb4pakti3pa1lapa7limpal5inpal5løp3analpa4nappan9depan3kapan5sepan5slpant8rpa8pa_pap4prpap3ripa4ra_5parad4parekpa4ri_pa3ris4parkipar4kvpar3m8par9s4parvi6pa4s3tpas5tipa6trep8attap8at6vpa4ve_3pa1vipbo6dape7d6a5pedaspedfø9pe6doape6donpe4dro4pedy62pe1inpe6ismpe8ka_5pelalpe5lar4peledpe4lef4peleipe6lep4pelerpe6lev6pelivpel4lo4pelovpel7stpe5lunpe4nanpen3de4penerpe3net5peng8pen7glpeni4n4penivpenly4pen5skpens4tpen5trpe7o6spera3a4peradpe4raipe4ral4perappera5t4pered4perei4perek4peretpe4rev4peritper5mupe3ros5perropers6m4pe7råpe6se_p3eske3pest_4petab4petal4petas4petau5pete_4peted6petei6petek4petel4petem4petid4petilpe4tim2pet4rpet1s6pfø5repgjer4pha9vaphavs5phe9tephe7vaphe5vephi5li7piasepi6ca_pid3s26piendpi3er_pi9erspig5gep7i6gjpi4kehpi6kelpik3kopi6la_pi3leppi4na_pi4ne_pi9nedpi4nelpine4vpin6goping3r6pinnspin4slpion5spip9lapi4rarpi4respi4rutpisi9epi4skipiss4lpis4sppis4stpka8vap4lan_plan5gplan5s4p1larpla4st4pleispli7vaplo4gjp4lo8i4p5lovply5d8plæ5replø6papo6da_po4de_po6f7rpo6lanpo4lekpol5lipo6lompon4grpongs62pon1spon5sapon4svpo2p1apo6pe_2p5ordpo1r4epo4refpo6reg2p1orgpo4se_po4sespo4stapos3te4pos4vpotak9po4te_pp3aktp9panepp5ankp9par_pp5arrp7pastp4p7atp4penappe5p8p4penøppe5rapp9esnp4petap4petepp5ettp2p1ilpp3infp4pistpp3ledpp5leipp9levp2pol4pp3oldp2p1oppp3orkpp5reipp5rinpp4rispp9rivpp9ro_pp7rotpp3skapp9spepp3splpp7sto3prakspra7lipran3s5prat_5prate4preiipren4s6pres_4prettpri5ke4pring5prinopris3tpri9ve6p7roc4prog_4proge4progl4p3roip5rop_7prosepru5tapru5teprø5s4prå8dapråk3iprå4kops5a6np2s1elp3sen_p5sensp7ser_p5setep5setsps5insp3s4jop2s1kop3skodp3s4låps5pleps7talp5s6tåp3s4uspsy3ke3psykop3s2økpt7arkpte7reptus5t6pu6dypu8le_pu4ma_pu4re_pu8reapusl7upu4ta_pu5taspu5terpu5tevput6trput4tupy6sa_py4se_pæ4re_pø8sa_p1ø2v8på4by_på4la_på4le_på7sko6påtå7qu9ar_4rabisra1bo4ra3cetra3d2a4radir2ra1drr3adrerad2s3radvi4ra5ede4raerkra4fiura5fo_ra4fosra5frera7geara5geera5intra3iskra9karra7kelra5krorak6sarakst64raktirakt3rr4a5ku5ralds4raledra5leora4linral5leralo6iral3opra4magra4mas6ramed4ramilra4naara5narran9csrand3r4ranfaran5ge6rangirania8ra6ninran3kv2r5anlr6anli2r1anm4ransvran6utra4pel4rapinra4pirra4pisra6pitra4pos4rappa3rappo2ra1pr1r4ar_4rarea4rareg6rargu4r1armrar3rera3sea4raselras3kera4skirass4lras7st4rasti4rastj6rastyratak9ra4te_4ratfera1t4rra4trø4ratubrat5utraud3srau6ga4rau4kraus6sra3vørraz5z6rbede4rbi9errbist6rbo4nirbon7srbo5rerbra5srbrei6rbu5enr4d5akr4dalardals5r4dantrd5atlr4datmr4d3aur6dedirde4enr3defir9dekar4deklr4deksr6delor6demir7denar6deporde6smrdfes5rdi3anr6diaurdi3e2r4dikar4diklr4dikur6dimirdi3ovr4dishrd3ostrd1o4vr9dradr3drakrd5ranrd3rasr3dreird3retrd3rotrd3seird8skerds4kvrd3stords7turd3undrdy5perdy3rer6d7ytr7d6ærrd1øs6rd7å6srear5e3redak6redamre3defre5denre3des3redigred4sl3redukre4el_6refos4regar4regebre5gel4regen4regerre4giare4gil4regub4regud2r1eigrei9rarei5sarei3sire7ismrei7varei5vere5ka_re5kavre7ken4rekob4rekom4rekon6rekos4rekra3rekrur3eksa6reksp4relag2r2ele6relekre7lenr3elit4re3lj5r4elmrel4sk4re1lu2re5lyrelå7rremi6lre7misrem9jirem8narem5p42re3na4rendr8renedre5negre7nei4renek6renet6rengdreng5l4rengnren6klren5sar3enss6renture3o2r8repen6repus6reradre5re_4rered4reref4rereg4rereire4rek4rerep4reret6rerfa4rerig4rerik4rerol4reromre3rosre5rotrers4pre2s3c4reselre4sem4reset4resinres5keres6klre6sky6re1slre4slure5smore3sovre9spe4respi4resprres4sjres6skres4spres4stres4syres3tére3str7restv4restå6resuk4resunre3svi4retalre4tap4retea6retelre5ten4re5ti4retoarets4iret4strett8o4re5tu4re7tå4revakre5van6reveg4revei4revelre5verreve5sre7vomrfa5rerfe8errfu8serga8lirg5andr7gannrga3rirg3artr6gedirgent4r4gesjr4geslrgie4nrgi7slrg5le_rglem5rg3lenrg3lerrg5rabrg3rearg3relrg5rinrg5storg9sturgå9asrgå6varhavs3rhø5rerhå9ne4rianf4rianl4riarb4riarrri4avari2b3lri8ca_ri4co_ri5der2r1idr4rieie4rieig4rieks6rieldri3end4rienh4rientrie5rarie5ririf4firif5la4rifø4ri4ga_rig4gr4rigreri5kanri3kesrikk5j2ri7ko6rikonrik4skrikts3riku6mri3k4v6riledri5lei2ri5loril4snri9mabri9mar6rimesri5metri4mi_7rimisri4mor4r1imprim9utrina5l4rinas4r5incr3induri4neeri4nes2r1infring3r2r3inj4rinorrins6krin6smrin4tr2ri1of6ri3om2ri1oprio5s4riot3r4risau4risedrise5i6risek4riselri6sju4riskari4ski6risku4riskyri4sto6ristøri6stå6riteo4ritilri5t6orit1s6ri6tun4rivarri6vedri5vei8riøyar4jerer4jetir4jetrr4jeturju6lark3aktr6kanfr4kaprr6katrrk5eikr4kelor3ken_r3kener4kenir5kensrke5rir4keror5kersr4kerørke4ser9ket_rk4hanrki4virkjek8rk5jorrk5lunrk9lutr3knekr5kneprk7nesr6kofor4kolar4kolir4koper4korar4korur4kosjrk5reirk4sarrk2s1irk4skark4stjrk4storkti4srk9veir5kvelr4kverrk3vesrk5vikr4k5ølr2k3øyrk9øysrk5åkerkå6park5å4srle4str4lesurli9kerli8tarlo5verlys7kr5løy9rm3anlrm4ansr6manvr4marer4marrr2me7grme5ner4mesermini6rm5i4vrmo7strmu7anrm5øy_r6m5åpr4n1akr4narbrnat7rr4natvrn3avlrndør5rne5a2r3nellr3nelsr4nenhrne3rorne1s2r5nes_r8nesir4nesmrne3sor4neterne5vrr4ninnrn5omnrn3omsr4n1oprn3orkrn5skern3skrrn5slarn4stirntre4r6n3utr4n5øvro5asi9roban9robarro4bedro4bef5robenro4besr3oddsro5endro7ensro4felro4femro7ga_ro7ge_ro6gryrog1s4ro4kelrok5klro7k6lrol6lyrolo9vro6makro4mal2rom7b4ro3merome5d4r3omnro4morr7omsyromsø3ro5ne_ro7nimron4narono5sron1s4ro4pad5ropetro4piaro4satro5selro3senros3laro6sovro1s1pros4stros4syro3stiro3strro5tesround3ro5va_ro7vasro5vekro7venrov5smrovve6rò6te_r6parbr5pefor4penor6penør5peskrp3ladrpun7gr6p5øyr4raror4reklr4replrre5skr4resmr4resor3ressrre4strro8sarro8tar2r3unrrå5der2s7adrsa5kar6saktrs3allr4sarrrs3arvr8sedirse6g7r4sekurs4elars7eldr4selir4sesir6sesurs6ettr7sim6rsimp7r4sinsrsis5trsj3orr3skadrs4kamr3skapr4skasr5skilr5sko_r5skoersk3opr4skorr3skotr5sku_r5skuers5kysrs4lefr4sleirs4lekrs4lesrs3lokr4slunrs4mo_rsmål4rs6nevrs5omlrso6n5rsons4r2s1orrs5ordrs4panrs6patr5spelr4sperr7spesrs4porrs3tapr6st7brs4tedrs4temr3stilr5stisr4stitr6st5kr5strørst7utrstyg7r3st6ørs5uklrsu7sars5usirs8vakrs5vitrsy4narsøks3rs9øyer4t5afr4tanart3anlrta9par4tarrrt3artrt3avsr4tedar3teder4tegor4tegrr4teier4tekar4tekir4tekur3tempr7t6err5terdr5terkr4terår4teser6teskr4tetar4teter4tiarrti5enr4tilar4tilir4tilorti7sar4tisprtis3sr3titurt3offr9tofor9tok_rt3omkrt3ordrt1o4vr9tre_rt6redrt3regrt3reirt5relrt5repr7tribrt3rutrts3arrt4segrt5skert3skjrt4stirt3undr2t1utrtyr5srty6rartæ9raru3andru6avhru4di_ruds4lru4elerue3s4ruga8lruga5trui3d6ruk4surukt3s6r7ulkrum3alrund3r4ru2nirun5krru4nøyru8ranru8rarru9rerrur8tarus2h3rus7luru1s4orus4stru3talr4utberute3iru4telru9terrut4reru6trørutto5ru4vedru4vegru4veiru4velru4vesrva7karva6larve3der4vegar4vegir4vegrr4veimrve5klr4velar5ver_rve5rervil9lrv5ungry5ke_2ry1klry4nesry4pa_ry4tekrær5inrø4be_rø4dekrø4ke_røk5s4rø4pe_rør5d6rø7retrø2r3orør4sprø5slarøt9asr4ø5væ2r1øy_røy9arrøy6edrøy5esrøy4et5r6øykrøy5rerøy4st3rådetrå9ene4rå5g4råk3rerå2k3urå4letrån6darårs5ksa4ba_sa5boks3abonsa4dag4sadamsa4ga_sa4gassa4gat6s5aggsag8nasa6go_sa4gogsag3s43saka_4sakadsa5kaisakh5esak5krs4akkysa1k2rsak4sp5saksr5saksu2s1akt4sa7kø1s4al_7sala_1sa3lesa9lets4algesals4asa5ma_sa5massam5eisa4melsa4metsa9na_sa7narsa3natsand5r5sang_3sange2s1anlsan5ne6sannos5anorsan5os4sansa6sansvs8ant_san9te6santr4santy4s1anv1s2ar_6sarab4saregsa5revsa4ri_2s1armsar5me2s1art8sasju4s1ass4sastysa5ten2s1atls5atsk5satt_sau6gas3auge2s1auksa4ve_sbo4dasbu6etsby8tas4cene8schl_sdam9psdu8ersea9re4sedag5sede_se6e3ise3e4l4s1eftsega6lse6gesse3gev9segl_sei5ge3se8ilse3inds3einise6inkse3insse3int2se5ka2sek4l4se3knse2k1r4sekra4sekri4sekro4sekspsek4stse6la_3selak5selarse4le_4selei4seles5s6elg4selik4selil4selis7selolse3lomsel5t62se3mase4mi_2s1emnsem4na9semndsem5pe6senau4sendr4senedse3neg4senem2s1enhse6nins3enkj5sen3nsen4sjsen3so7s6ent4senum4seram5seran4serap5seras6serau5sere_4serea4sered4seref4sereg4serei4serek4serel4serep4seret4serev4serik5serkr2se1rose4ropse4rorse4ros9s6ertser4tr4serulses5in4sesjeses5kvse3snases3pr5sest_4sestoses5un3s2et_3seta_se5taese5tar6setea4seteg4setei4setekse7tel4setes2se3tise8ti_4setje2set6r3sevågsfo8rasfra5ssfyrs5sfø5risga8vasgen9ssge4stsgå4vas5hei5sh5isk3shortshø6va4sia5msi7ans3si2dasi4deos4ider2si2do4s1idrsid8rasi5er_si3estsi4f3rsi5ke_sik2h7sik4kasik4kosi4komsi4kopsi4kossi4kotsi6mel4simet4sindesi3nek2s1inf7singus3innhs5innks3innl4sinntsi5nob2s1int4si5ovsi4pa_si8pe_si6re_si7rensi4ri_sir8klsi5selsi6sin6sisjusis5kesi4stisis3tosit8jisi4trisit3s4si4umfsi9vansi6veksi8vi_si9våt4sjanls7jarn2sj3av6s7jaz5s4je_sjef5tsjons76s7jugsju8la2s7jussjø3k6sjø9røsjø1s2sjø3t8skabe34s6kags4kaml4skane4skano6skant4skapp2sk2ar5skard6skars4skart4skates4kedas6kedoskel3ts4kelus3ken_s4kenas4kenos5kens5skepts5ker_s4keros5kerss2ke1sske3siskes4mske5sn5s6ki_5s4kiks6killskino65skiols4kiresk5irss6kis_7skiss5s2kivs6kje_3skjor5skjøn6skjøp2sk1k42s1k2lsk5laks5klassk9legs6kleisk3leksk5lits2klyd7skodd3s2kog2s3koi3skoles6koma6s1konsk5ords7kors4skort3skotts4krat6skreg3skrib3skrif4skrig3skrik3skrip3skrivs3kronsk6rud1s2krå2sk1s22sk3t41s4kuesku4er3skule4skulls4kulp4skultskum3s8skurvsk5va_3skvadsk3vass6kvensk3versk5vitsky3re6s5køaskå5resla8das3ladesla5gesla5kes5laks3slakts5lare4s1laus5laus3slaves8ledas4legis4legns6legrs4leivs5lekks4leme8s5less6lesjs4lesos6lests4letas4levasli5kes4likk4s5livslob5bslott48slu7a2slu2eslu5ess3lunds5lunsslu7sa1s4lyn4s5lys8s5løpslø5vaslø5veslø5vi5sløydsløye79s4lå_3smak_s4med_s4medes4medksmek7ls4mekt2s5mens6mesis6mil_smi7las6milesmini6s6mulas4mulds6mule5smurt1s2mørsmør3ss8mått4s3nas6s3nats7nektsne9sasnes9vsni6gl3s2nil6s3nin3s2nip5s2nit2s3nivs5nord6s7not5s6nud5s6nø_1s2nørsnø5viso4da_so4fagso4fas6s5off5s4oi4so4la_sol5avso4le_sol5f61so7liso8lo_sol3s2sol5t4so4lum4s1omg2s1omk1som5msom5sls4omst4somsy1s2omt5somt_6somtaso4na_son7da7s6oneso8neaso4n3osons4kson5stso4ny_2s1o2pso7pakso9parso7pet3sopp_5soppa3soppesop4piso3ran4s1ordsor4da1so1reso4reksor4gl7sorisso5riu4sorke3sor5s7s8ort4s5oscso8se_so8te_so4trasot5tesot4tiso4ve_so5ven5sovet7spak_7spaka5spake8spakks3pall5spalt3spari8spedaspe9dé1s2peis4pent6speri4sperls4perrs3pers3spesis4pests9pet_4spingspi7rispi7ro2s3pizsp9lars4plin3splitspo6ets4poras4pore3sporv2s5poss3pote9sprag5spran5spreis4preks3prems5prio8s7pros3prod4sprof3sprøy3s2pyd6s3pølsre8kasri8e9sri8kasri8masro6pasro6sasro9tesrot5osrå8mas7sablss5allss5amps5sanes4sarrs6seetsse5gess5eggsse5lissel5ss5sen_s5senes4senis4senus6senås5ser_sse7sks4sests7set_s9setss4siffs6siloss3injss3inns5sis4ssis5mss3karss3kofs7skogs4skorss6ky_ss4kyess5kåls7skåpss6narss5nøks4sok6sso5loss4omasso3rass3ovess6pilss4pors5stadss4tedss3tekss5teps7stipss4tråss3tusss3t4vssy6nass7øye2s1ta_stabs3stad3as5tafa3stafesta5flst3aftsta7ge5stakk4stakl6stal_st5ald4stale5stalts3tame3stammst8anes4tanfs4tangst3anlst3anvs7tapas4tapps8tapås3tari4statosta3tu3stave2s4t5b2s3te_3sted_s4teda5stedt2s4tefs4tege3steghs4tegrs2t4eis6tekes4teki4stekos4tekt4stela5stemd5stemn4stemøsten5as4teni6stenk4stenos5teolst8er_6sterrs4teses4tetas6tetø4steve4stevi6stevl5stevn2s4t5f2s6t5h2s3tias5tibes9tibl6s5tidsti5en3stift3stigns4tikl4stild3stiles6tilk6stilns4tilo4stime6stimés6tinis6tint1s2tip6stips4stitt5stjel3stjer2st5n22s3tog4stoks6stokt3stoli4stoljs5tolls9tommst3oms4stonist3opes6tormstor3o4storsst5o4s5stovast3ra_st3ralst4ran4strap4strars4tred9stria5striest3rin6stroest3rolst3ron6stryg4s3træ1s2trøst6røm4strør4strøs4strøy6stråd2st5s64st7t6st3t4r1s2tub3s4tudstu4elstu4er3s4tum6stunn2s4tut3s4tyk2s5tyn2s7typ3s4tyrstyrs36stysksty5ve6størkstø3vestø5vi5s4tåesu7a8lsu6ga_su4ge_su3is5suit5a4s1uke3suk5k1suk5ssu4le_3s4ulfsu4lik5sund_9sundssu4pe_super3su8presu4re_su4riesu4riusurs5ksur4spsu3sansu4se_su4sik5svak_3svake6svakssva4la7s6vams4var_s3varm6s1vas6s1vegs5veies5vekasve4res5verks4verm7s4vev6svikg3sviktsvi4sesvi9ve5s2vorsvor7tsy4de_sy5densy4kersy6kogsyn6sksyn3tesy5rarsy4re_2s1yrksyr4kasy2s3tsys4trsy5tensy5t6hsz3c4zsæ4r1isærle9sær5s83s6økesøk7kjsøk4sksøk4tasø4la_sø4le_sø5letsø4rassø4re_sø8retsø7telsø5tes2s5øy_4s3øya6s5øyd2s7øyss3å2keså4le_sån4daså5pet6s1åpnså4re_sår3skta4bu_4taend4taenh2ta5fetaf7f65tafista4ka_4takauta7kenta5kertak4si5taksttak4tot5aktøta9lamta3lanta7lasta4leita4lektal4lytal3opta6l9ut3ambi4tametta3narta5nasta5nattand5rtandø4ta4nelta5nemt3anfatanfø66tangft3anle2t1anm3tannlt5annotanns4tan6sk4tansvt3anve2ta3o4ta4pa_ta4pe_4tappa5tappi1t4ar_4taram3tarbo5tarbø4tarratar9sitar7sptars6v6t9asftasi3eta4sifta4siltas5s4ta7strta7testat3optat2s1tat3tet3attr4t5augtau4sk6tavin4tavlitbo6datbu8datby7tetdy5pe4te3ag2tea2nte5arb3teatr4teatt4tecel3tede_4tedebte7def4tedek4tedel4tedemte5den5tedilte4dorted4skted4sltefo8rt3efte5tegat4t3egdte7geate9geete4gimte3gla8tegs_6tegsvtegvi85tegås2tei4dt3eiga6teigr3teikntei5le6teinfte5i4s6teisote7kente5ker4tekil5tek1ktek4li4teknute7kra9teks_t3ekse4teksptekt4stek6tyte2k3v2te3latel6ak3telav4teled4telei4telek6telerte4les4telid4telik4telil4telinte4lir4telis4telit4telivtel4lotel3set3elsk2te1lu7telut3temae6temant5emba5temiktem9matem5pe3tempote5nabten8amte4nante4nat6t7enc4tendr4tenedte5neg6tenem5tenes4tenet7tenik5tenis4tenivten9note4nomte5nor4tenotte6novten3saten3sotens5v4tenumte6ora4teord4tepak4tepas4te5pe7tepee4teract6er5d4tered4teref4teregte4rel4terep3ter5gte4rig4terikte4riv4terk_4terke4terkh7terkr4terktter3notern5ste5ro_tero6ete3rof4teromtero6v5ters_ters4lters4hter5sv3ter3tter9toter9ul8terumter5ør4terøt4teråd5tesarte7sen2te1sh4tesid4tesik4tesit4te1sk6teskite5sko2te1sn2te3so5test_4testy4testø4te1svtes8væ2te3søte8sårte4tap5tete_tete4e4teteg4tetei4tetek4tetem3tetik3tetis3tet2stet5titett3s5tetu_te2t3åtevo6rt4hea3thei5mtho7litho3rethu5le2ti1akti5als2tia2m2ti1apti3asp4tidan4t7idé4tidistidvi44tienhtie5ra4tierf4tierkti4ertti3esk4tieta4tiettt8ifråtif5teti9ge_3tignoti6gunti3ka_4tiket4ti5kitik4kj2ti3kotil1d43tildeti3lei3tilfetil3id4tilke3tilkn4tillhtillø77tilnæ3tilsttil3t44tilteti7mab5timatti4me_4timo72t1impti6nab4tinazt3induti4nem4t1inf6t5inj7tinks4t1inntinsk54tinsp4t1int4tinva6ti7omti6platira4tti4ref6tisak4tisam4tisek4tisel4tisem4tisep6tisig4tisio4tisje4tisjutis4ka6tisku4tisty4tistøtiv6istiv5sitiv5skti5ær_ti7ære6t3jag2t1jakt5jarn2t1je_2t1jegt5jord3t8juvtkå8patla4gat4ledrtle5titligh6t6l7uttl7øy_tlå3net6makut2meg4tme3intmini6t4nelit4neskt4nesttnæ6re7toar_tobe6rt3o2blto9de_6toff_t3ofreto5frito7gento4gretog3st2to1in1to3ke5toksi5tolatto5lel7tolkitol5trto9ma_4tom1s5toms_to4nedto4nelto8nibton3saton5spto4ny_4to1pl4toppd6toppgtop4po4topptto4rak6toregto4rekto7rem5torertore4t4torgator7metorm5stor5nators4itor5t84to3setos5keto8sku4tos2pto8ti_to5to_to4torto7vegtpi7netpi7pitpo4et3trafit5ranetra3petra5potra5r45trase5trasét3refu6t1regt5regi6trek_4treke4trekl4trelatre5net6rengt7repet4rero6tresitres4l3tresnt5resut4retat6retotre9va4t1ric4t4ridtri7eit5rig_t4rikkt8rina3trinn7t6riot4risttri5totri7vi3t4ro_tro9ar3t2roitro3int6rondtros3l7trua_5trued5truet5truknt3rullt3rund4trupet5rutat3rutet3rutitry3dr3t2rygt5rød_t5rødt5trøya4trøyr6trøys5trøyttrå4drt6råklt3råstts4angtsau6rt6schatse4erts5egetsei4dts3eigt3sen_t5senst5ser_t3seritser3ot4seskts3etats1e4vts7illts3innts5jegts5jort7sjukt4sjurt5skadt4skants6kists6kjøt5skolt7skottsk5ruts5krøts1k6vts9kvits6ky_t5smitt5spekt3spelt5stadts3takt5start5statts6taut3stedt4stegt4stekts6tigts4tikt4stint4stitt2s1tjts5tonts3trytsu7gets3ulits3u4rts5usit3sviktsø8katt9abott5adrtta9frtt3aftttall4t4tanst4tanvttare6t4tarrt4taset4tasjtt3avitt5avktt5avrt4tedat8tedrtt3efftt7eidtte3intte7kvtt5emnt5ten_t4tenat4tenitten5st5ter_t4teråt4teset4tesit4teslt5tet_t4tetat4tetett3indt5tinet7tinét5tingt4tinit4tisjt7titettlin5t5tofrtt5om_t7tomrtt3oppt5toratt3ordtto5rett3ormttpar4tt6påstt3ramtt3raptt7rattt3restt3revtt5romt5tropt2t1røtt7saftts3artts5kjtt3soktt3ugltt8utett6vuntt1y6ttt3ø4l4tu4avtu4be_tu6demtu4er_tug8la6tungdtung9s6t5unitu4niotu4rastu4rektu4rintur5s4tur3uktu5rustu4sintust6rtu8va_3tvang8t9var3tveit4t7vertvert53tvet_7tvetstvi5lat6ving3tvungty4medty4ne_5t6ypety4petty4rak6tyregty4repty4ri_tyri9et3ytelty5tenty4ve_5t6zel6t6z5ltær4ertær4ettær5s4tø9kettøk8ta5t4øm5tøp5setør3in7tørk_9tørka5tørketør5netø5ta_t9øyemtøy5tetå4en_tå2l3atå9la_tå4legtå7leltål5s4tån8datå6pe_tå6re_tå4rept3året4t5åri3t8årnt3åtaktå7tenu5ars_ub7altub7antub5arkubel5subis7tub5rinuch5enuch5eru7das_ud4dagudeie5ude3luu6derou3d2etu5devoudi3anudi4enud5legudy9raud5å4suem8nauend5rue4re_ue5renue4rerue4resuerle7ue4skjufi5neufor3suf4tanuft3spu6g5avu4gerøu9get_u8getaugg3s4ug4le_ugle7sug7ne_ug5s4iug5øynuid5eluid5eruid5inuista7uit3enuit5erukare6uke5l4uker5iuk8k9lu5klemukl7utu5k4nou4k5oguk3rusuk4sekuk4seluk2s1kuk7skiuk2t7rukts6lukt3spuku5leuk5viku6l1aful3aksul5artul4detule5mau3len_u6leniu3lensu5ler_ule3riu4leroule3stul4f5luli9en3ulikhuli5neu7linjul4k3vul4lagul4lamul4legul8li_ul8ligul8lotullo3vulls4tull3svul2lu4ulo7vauls4poul4tegul4tekul4tesul4tilul4timul7torult3riul9ut_u7lutau9luteul7va_ul5vanul4varul4ve_ul4vegul4veiul4vesul4v3uulæ6raulæ5reulø3seuløy6eul5å6lu6mareu4mendume5rau6middumie6numi9nau4mintum4milum4misum7panum4pleum7se_um4skuum4sorumta8lumør3suna6daun5algu4n3ap6unde_un4dekun4del6unden4undetu9nei_u4nenou3nes_unev5nun4gemun2g1jun4g5lun2g1r1u2nif3unionuni4stun4k5lun7nakun5nesun4nivun4n3yu2n3osun3skrun5s4punst3oun1s2vun4talun4tamun4tasun3t2run4triu7nøyguor8dau3pea4uper3au4petaup3insup6nevupo9peup4pedup4plaup6preup6senup2s3kups4keups5prupåvi6ur3aftu2r1akura6lyu5raneu3ransu5rar_ur3arvu9ras_ur5aspur3attur4bodur4d5oure8alur5egguregi63ureinur3eleu4reliu7reomu4resuu4retau4reteur4e5vur4febur6feduri5neur3innur3insur3inturi6spur7k6jur8klaur4kleur6k5nurma7gur3neaurn1s2urom5suro7piur3oppuro3s4uro8taur4pelur4salur4sinur4skrur4speur5steur4stjurs3vaur2s1øur3teourts4tu6rug8ur7ugluru4keuru7knurumo7urun4gu7runkur4velu9saneus3angu9sar_u5sealu2s1eiu4seleus7erku6sesius3evaus3indus5innus7jagus5kafus7katus5kenus5klous7kruus5linu3sorius5sarus6satus4sjåus4skjus7smiuss7møus4stru4status3tavus3tedu5steius7tenust5ofuston8us5toru6streus4trius3troust7utus3ungusva8nusæ9leu7taggu9tal_ut3albut5aldu3talluta7nout6anvut3armut3artuta1s4u5tas_ut4ba_utbe8dut6by_4utdatut3eksu5temmu9temtu6tenau3tenku4tenuu6terøu4tetau3tettuteva9utfa7s8utgåeu4t5ifutiku9u4tiliu5tjen3utleiut7omsu3trivu3trolu3trosut9rød1ut1s44utseiut4tidut4tilut4tra3uttryutt1s2u6t5unu2t5utut4ø8sutøs7t1utø4vut5øyauve5diuve3inu7ves_uvet5øuvø9reva6ka_va7kanva5kerva8ki_vakt5rva3lanva4led4valelval3lava6l1ova4lunva4løyvam8puvand5svane5sva4netvan4grva8ni_1v4annva4nom5vanskvan3smvan3tivan9trva4ra_va6rakva4ralva4ramva4rapva4re_va4regva6remva4resvar8kavar5mavar4savar4skvar4svva4sa_va9set6vasidva6sieva4sifva4sikva4silva6sisvass5a4vastava3ta_vat7ravber5gvbo6davdu6er2ve1a2ve6ar_ve9dobvedom5veggs4ve3gle6vegre4vegruve4gutve4g5å1vei1evei3en4veillve4ke_ve4ked4vekeevek8lavek8leve4klivek4stvek5to6veld_8velds4veled6velei7velet4velis4velit6veliv5velocvel3sevel3smvel5spvel5st4velugvel5unve8na_4venemve5net4venevve4ninvent6avent4s4ventyve4nusve5ny_4venyave4nym2ve3o41v8er_ver5akver3al8verauverd7vve3re_4vered4vereg4verekve4rel4verepve5rerve9ri_veri3ave7rie4verikver3il5verknver5m6ve9ro_ve3rom2ves4ave5san4veset4veskive9slive1s2m6ve3so4vestr4vestu4vestøvesva74veteg4vetek6vetev2ve7tive4to_veto7eve4torvety8eve6vakve5vanve9varvev4smvev4spvfall4vga6livice5svid3s4vi5endvi4katvi5kedvik5ke3viks_vik5sa5viktivi2l1avi5la_vilt7o4vindl5vindu4vingnving3rvin3na6vinnh4vinntv2in2svi8pa_vi6pe_vis3abvis3akvi4seevi3senvi2s1kvis3omvis9paviss4pvis5tivi4takvi4t3ovit7ravit5revi4va_vi6vesvjet3tvje4tuvk4lervla6gavlei9ev5lesnv6lesvvlu9savmord4vmå8lavne7dev4nelev4neliv4nelov4nerovn1s4tvoks3kvok6s5vo9nalvo9narvon5devon5sh2v1o6pvo9ren2v1orgvors7kvos4sevo4tegvo4telvo4ve_vo6vi_3v6rakvregi3v3ringvrin5svrø3vev7salivs3eggv3s4elv5sen_vs3lanvs6letv6slikv6s7nav4s3nøvs7s6tvs4s5åv1s2t2vs3tilv2s5øyvså7rev5teppvti8navva8lavvi5kevy7ensvæ9retvæ8ta_vø6re_v3ørkevø3se_4våendvå8ka_vå4ke_vå4le_vå3renvå8sa_vå5tesweate7wi9ar_5wi6enwi9er_wi3renwyork3ya4ne_yan7slyb4bedybu6eryd4depy4deroy2d1isyd5remye6dreye4lenye6letyel4skyels3my7e6ney8enery4ensey3e6reye4relyer8sky4erstyf5le_yg4dalyg4dekyg4delyg4depyg2d1ryg2d1yygen5syg6gamygges4ygg3s2yg6g5åy6karay7kel_y3keliy7kelsy4keroy5ket_y9ketsy4kjarykk5niy3klubyk3lusy6koliy4komoy5kosay5kotiyk3varyla8gayl4danylde4syligh9yl4levyl5tety8luse3ylvenylæ7rey4meteym8sa_ym6ta_ym6te_ymå6layndes8yn5detyn7eldyner3gyne5s4ynesi8yn5gelyn4gemyn4g5øyn6k5vynn3s4yn4semyn9setyns7kiyn5skjyn4tapyn8tegynt5eiyn4tekyo4gatyo6gi_yor6day4penay6petay7pingyp5innyp7p6ayp4tokyra8kay7rarby4r5auy7realyre3iny5reisy3relsy5remsyre9ney4reroyre5scy4retay4retey4retoy7retøyr3innyris6pyr4keeyrke4sy3rommy5roskyr4sanyr7setyr6skjyr6skryr3stiyr6tekyr2t3ryr3trayrå8day4rådiy6råstyse4buyse5eiy4seray4sesjy4sesky4sesty6sesuy9set_y7skagysk9auys2k3lysk5øsy4s5orys5pisy5s4poys6sakys6samys4skuyss5peys4stays2s5vys4tatys3telys3teny2s3tiyst3opyte3iny4tekay4tekiy4tenay4tenoyte6royters6y2tes2y3t2hi6y5tilyt5jenyt9jeryt4meiyt4mesyt4re_yt5reryt4rikyt5t6ayttes6yva8lay4vesey6vesyyvi8sayvå5teza5k6hzania54z3ent6zistyz2z3elæk7je_ækkel6æ2le3dæ4lenaælsle9æ4r1akæ3raneæ4ransæ4rarbæ4r1atærbu5eæ8r7eiærei6eæ5rernære4slære4spæ4retaæ9retsærgen5æ4r3ilær3insær5is_ær5ne4æ2r7o6æroms4ær6selæ2r1ø4ærøy7eøbe4liød9de_ø4dedeø4delaø4deriø4deroød4redød4rekød4repøds7keøds4koøds4muød3undø4d5urø3e6reøf8la_øf8le_øfte5søg5re_øg4steøg4strø4keloø6keseø8keslø4kestø4keteø5kjasøk5keløk5ketøk4k5løk3lagøk3lanøk5oppø8krarøk8sa_øk6se_øk4sesøks1t6øks5tiøk5ur_øk5ureø4lediø6leluø4leroø6letaølke7søl6levøl6seløls6t4øl5s4vøl4varøl6vekøl8velømini6øm4medømmet6øm4peløm7s6pøm5sviømå8laø6n5alø3nes_ø9neseøn4nalønns3lønns3tøn9sa_øn5sakøn5samøn5se_øn3serøn3skjønst3rø4pedaø6pe5iø4penuø5peroø4peruø4peteø4petiøp5steøp4s5øø2r1afø2r1akø4ransøra8saøra6siø4r7auør7eddø6reduø6reinørek6lør3eksør5ektø4reruøre1s2ø5res_ø4reseø6resiø8resoø4restø4retaørge5sør4jetør4kesør6k5nør4kveørm9utør4n3uør4n5øø5r6okør4rekør4repør4råtør4sakør6sesør5skiør4skrør4somør4speør3stoør9tarør4tekør6tifør1ø2søseri7øs7karøs4lagøs8tasøs6tegøst5oføst5ovøst3reø2s1ø2øt5asaø6tegeø4teniø3ter_øte3ruø2te1søte7snø4tetaøt3s4pøt7s6åøtt5avøtt5raøtt7riøtt1s2øt4turøug8laøv5ansøve5inøve5noøves4tøve3teøv5reb7øyan_øy4dekøy4eleøy4erføy3ke_øy4ledøy4legøy3pe_øy4peløy4ra_øyri6vøy4spiøy4teiøy4teløy4veiåak6taå5aranåau4reåbo9taå4dereå4deriå6deroåd7sloåd3slååd1s2nåd7spuåem8naåfø5reåg7aldåg5rinå4karbå4kenaå4kereå4keslå5keviåk7lauåk3oppåk5røkå5k8ulå6larbål5au8å4leniå4leteål4sanål4sekål4serål4stiålti5då2l1øyåløy4eål5å6kåm4li_ånd4saånd4seånd4soåneds5åne5i6ånely6å5nes_å4netråpen3så6peroåp4ne_å7raraå4restår4le_års5afårs3elår3semårs3koår8skuår3solårs3taår7steårs3tiår7stoår5stuår5u4kås5eidåse3s2å4sesmå4sesoåse5taås5ka_ås7kopå7steiåtaks5åta9laåtale3å4tangå4tarkå2t1eiåti7daåt4tedåt4triåt6t5æå2ve7då4veniå9ver_", + 7: "_ab6s5t_ac6tin_adel4s_ad8la__ad6le__af5f6u_ag6na__ag6ne__ak6ka__ak6ke__ak6ne__ak8sa__ak4se__ak4te__akte4r_al4ge__al6ka__al4ke__al4kom_al4la__al4le__al5leg_all5s6_al4ma__al8me__al6s7k_al4ta__al5tar_al4te__al6ve__am6ma__am4me__an4da__an4de__an4d5ø_an4ga__an4ge__ange4s_an4ja__an4ka__an4ke__an4la__an4na__an7nal_an4ne__an4sa__an4se__an4ta__an4te__an5tem_an5tep_an4ti__an6tin_an4tis_an4tiv_ap8lan_ar6de__are4o7_ar4ge__ar5ges_ar8ka__arlan9_ar4me__ar7mea_ar4na__ar4ne__ar5nes_ar6ra__ar6r7u_ar6ta__ar4te__ar6va__ar4ve__ar4ved_ar4ver_as4ke__as4le__as6pa__ast5ru_at4le__at4na__au4ka__au8le__au6sa__au6se__av7i6d_av4la__av4le__ba6la__ba4le__ba4ne__ba4re__ba4ri__ba8te__be4de__bede4n_be8di__be3e4d_be6ke__be4la__be9nar_be4ne__be6ra__be6re__be4res_be8ri__be7ska_be4ta__be6te__be5t4v_bi6de__bi4le__bilet5_bi6t3r_ble4k3_bling5_bo8de__bo4na__bor6t5_bort6e_bort9r_bu6da__bu3d6r_bus6sy_by6de__by8ta__bø6k5a_bø8nen_bø8ner_ca4en__car4s5_da4ge__da4le__dags6e_da4ne__deka9r_deko7d_de4le__del5s6_de4mi__demo7e_den5sl_de4re__de4ri__de6s5m_de4sto_devi5s_di5e4l_di4et__di9f6t_di4ne__di8s3t_do6re__drau4m_du4en__du4ge__du4se__dy4re__dø6la__dø7r4a_dø7r4e_dø4ve__då5ren_då7ret_ed4le__efta5s_ef6ter_eg8de__eg6ga__eg4ge__eg4gel_eg8la__eg4le__eg6na__eg4ne__ego7t8_eg8se__ei5den_ei4ga__ei7ger_ei4ke__ei8ma__ei8me__ein7as_ei9rar_ei5res_ek4le__ek6ne__ek8sa__ek8se__eks6pi_eks3t4_ek4te__el8da__el4de__el4g5r_eli5ne_els4kl_el6ta__el6te__el6veg_em4ma__em8me__em6na__en4da__en4de__en4ga__en6gav_en4ge__en6g5r_en4ke__en5og5_en4se__en6te__ent8re_er4g5r_er4la__er4le__er6ma__er4me__er4mek_er4na__er6ta__er4te__es9ast_es8ka__es4ke__es8la__es8le__es6pa__es8sa__es4se__es6te__es7tet_et8la__et8le__et4ne__et8sa__et5s4e_et6se__et1te4_et6ter_ev4je__ev4ne__fag3s4_fa4ne__feil5i_fel4ta_fer8ro_fe8st5_fi4le__fo4bi__form5s_fu6ge__fu8se__fø8rel_ga4le__ga8li__ga4ne__gas5ta_ga4ve__ga9vee_ge6ni5_gift5s_gi8v3a_glø9se_gnå7la_go5des_grei4e_grus5s_gu4de__gud3v4_gu4lat_gu4tu__gås4e5_hai5s6_ha6ka__ha8ma__he4er__hen3i2_hes4s5_het6s5_he5t6e_hi6re__ho4re__ho5ren_ho7ret_ho8ta__ho8va__hy6ra__hy4re__hø4ve__hå8en__ifø5re_ig8la__ig4le__ik8te__il6d3r_il6de__il6je__il6ke__il4le__il4te__in8ga__in4ge__in6gri_in6ka__in4ne__in5n6e_in4n3i_in7tes_io4nom_ir8ra__ir6re__is6lam_is4le__is4let_is4me__is8na__is8ne__is6sa__is4se__is8te__i5sted_i5stem_i6s7tj_i6s7tr_is8ut__i4var__i4ver__i4vere_iv8ra__iv6re__ja4de__ja8se__ja4va__jo8en__jo4se__ju4li3_jø4dep_ka6la__ka6li__ka4ne__ka4p3r_ka4ra__ka6re__ka5rin_ka4te__ka5t6h_ka6va__ka4ve__ki4se__ki8va__ki6ve__kjek7l_kjønn4_kli5ne_klo9va_kly7sa_kna7se_ko6da__ko8le__ko6pe__ko4se__ko6ta__ko4te__ko6ve__ku5f4l_ku8ra__ku4re__ku8ta__ku8te__kve9ka_kve5ke_ky8la__ky4le__ky6te__la4da__la4de__la4ge__la5ger_la4ma__la6ta__la4te__la4ve__le4da__le4de__le4ge__le4gel_le8gi__lei4ve_le4ke__le4k5r_le4ne__le7s6a_le4se__le4sek_le4ses_le4s5p_le4va__le4ve__le4ves_li4de__li5ene_lik5k6_li4re__li4se__li4ta__li4te__li4ve__lo6ge__lo8gi__lo6g5r_lo8sa__lo4se__lo4ve__lu4pe__lu6ra__lu4re__lu6se__lu4ta__lu9tas_ly4de__ly4se__ly5s6e_lys5s6_ly8str_ly4te__ly4ve__lø8de__lø6en__lø8ne__lø6pa__lø4pe__lå6re__lå4te__ma4ge__ma4ke__makt5s_ma4le__ma4li__ma4na__ma4ne__ma4ni__ma4ra__ma4re__ma4ri__ma4sa__ma6t8h_me6d4i_me6d5r_mei5et_me6la__me4l5ø_me4ne__mes5ti_me4tri_mi4le__mi4me__mi4ni__mi4nik_min4k3_mo4na__mo8ne__mon4st_mo4re__mo4se__mo4tek_mo4ter_mu8ge__mu6le__mul5es_mu5r8e_my4ke__mø4re__mø5res_må6la__na6ge__na8ke__na4sa__nat6tr_ne4de__ne4den_ne4d5i_ne4d3r_ned3s4_ne8pa__ne6pe__ni4na__ni4pa__ni6pe__ni6se__no6de__no4me__no8mi__no8si__no4va__ny8sa__ny6se__ny4te__næ4re__nø4re__nå4de__nå6le__od4da__od4de__od8la__od8le__offsi6_of4te__of5teb_ok8ka__ok4se__ol4ga__ol8le__om4ar__om6bo__om4e6n_om4gå__on4de__on5des_on8ne__opp7el_opp5s6_or4de__or4del_ord5s4_or6ka__or4ke__or6me__or4re__os4te__ot7t8a_ot4ta__ot4te__ot4tes_ot4to__pa8la__pa4le__pa5n6e_pa5n6i_pa6re__pe4ke__pel4sj_pe4ne__pe8sa__pese5t_pi6le__plø7se_po8la__po4le__po4log_po2p2e_po3p2u_po6re__po4res_po8ta__po6tek_pøn9s6_ra6da__ra4ga__ra4ge__ra4ja__ra4ne__ra6pa__ra6pe__ra4re__ra6sa__ra6va__ra4ve__re6da__re4de__rege4l_re4gi__rei7de_re4ins_re6ka__re4ke__re8kle_re4kli_re8le__re4ma__re4na__re4ne__ren6sk_re4ve__re4ves_rie5ne_ri6ka__ri4me__ri4pa__ri4pe__ri4p5o_ri4sa__ri4se__ris5ko_ri4s3ø_ri4ta__ri6te__ri6va__ri4ve__ro4de__ro8ke__ro4ma__ro9par_ro4pe__ro9sar_ro4se__ro4sed_ro4ta__ro4te__ro8ve__ru8ga__ru4ge__rug9le_ru4na__ru4ne__runes6_ru4se__ru8va__ru4ve__rye7ne_ry6ke__rød7s4_rø8le__rø4re__rø8va__rø4ve__rå8da__rå4de__rå8er__rå6ka__rå4ke__rå3k4l_rå6na__rå8sa__sa4ge__sa4la__sa4le__sa4me__sa4mer_san6d7_se4k5l_sel4v5_se6na__se4ne__se4ra__se4te__si6ga__si4ge__si8la__si4le__si4ne__si4ra__si5str_si4ve__ska7ka_ska5ke_skei5d_skog5u_sku6m5_skå5ra_slu9ka_slø5se_smas5k_små7k6_små5t4_småt5t_somma4_sop4pa_sor4t5_so4ta__spa5ra_spi9la_sta9ka_sta5li_stat4s_sted4s_stem4m_sti7me_sto5ne_sto6ra_stu9va_sva5la_sva5re_svar5s_sver8n_sy5d6e_sy6na__sy4ne__sy5ter_sø4ke__søl6v5_søy6en_så5pen_ta8ke__tak5sk_ta4la__ta4le__ta4les_tal4li_tan5de_ta4p5r_ta4ra__ta4re__tei9er_te8ke__te4ma__te8ne__te4se__te4sta_te4str_tid6s3_ti4de__ti4g3r_ti4med_ti4na__ti4ne__ti4p5l_to5arm_to6en__to4er__to6et__to6le__to6na__to4ra__to4re__to6reb_to5rye_to4str_to8te__to4ve__tre3sp_tu4en__tu4ne__tu6ra__tu4re__tu8ve__ty6da__ty4de__ty8re__tyr8s9_ty5ter_tæ4re__tø6ve__tø9ver_tø5vet_tå5ker_tå4le__tå5ren_tå7ret_u6berg_ug6la__ulen4d_u8lene_ul4ke__ul4la__ul8le__ul8ma__ul4me__ul4ne__ul4v5i_un4ge__un4se__u6rane_u4ret__u6rets_ur4ne__ur4te__ur6tet_u7stek_u5stel_ut5age_u4ten__ut5esk_ut4ne__ut3o6v_ut6rer_ut6rov_ut6se__ut4si__va4da__va4de__va4ke__va6les_valg5s_va4ne__van4n5_vari4e_var5sk_ve8en__ve4ga__ve6ge__ve4g3i_veg3s4_vei3g4_vei4ta_ve4l3e_ve4ne__ve4net_ve4ra__ve4ras_ve6re__vermo9_vers4t_ve8te__ve4ve__vi4da__vi6de__vi4ka__vi6ma__vi8me__ving7s_vi4sa__vi4se__vi4ta__vi4te__vok4s3_vo6ta__vye5ne_væ4re__yn8da__yn4de__yn6ge__yn8ka__yn6ke__yp8pa__yp4pe__yr8ja__yr8je__yr4ke__yrkes5_yt9ren_yt6te__ære4st_æt4te__øg4le__øk4te__øm4me__øres8t_ør8na__ør4ne__ør6ski_ørt9an_ør8te__øve4r5_øv4re__øy6de__øy5ene_øy8rer_øy4str_ål8ut__ån8da__ån4de__ånd6s5_åt4te_abe4leiabel5t4abe9na_abes9kaab9lara5aborteade5i6sa4d5elvaderle7adi4eneadva5reaes8ke_a6f5innafo7ra_afo7r8eaga6ve_a7gelen3a4gentage4r3aage6rekag6lesaag4sambags4angag3s4eiags4kulags3t2vagå8ve_ai4n5o4aka4t5rake5l4iake4rekakk6andak4k5isak6k5riakra8saakregi4ak7s6idak5stolakt5allak6tansak5temealag8raal3a4mealan5gra5laren3a4larmal3a4sialeie6na9l8eikal5e4mua4l3enhale4posa4lereda4le5roa4le3teali5na_a4l3inda4l3insalj5endalj5ø6val9keraalla4gaall5artal5len_alle3s4al4lest5alli5ealli9neal4lo3mall4senall4stial6løs_al4løseal8løstalo6rital9skapals6teral7temaal4t3opa4l5u4kalul8laalu8re_alv5aksal5v6eral9ves_alvi8se3a4matøamen4s3ame4rama4meret3a4meri4amerinamis4kuam4leseam6lestam4pareamp7innam4p4ream7s6kuam4s3tram4s5veamti5daanda5taand4sela4n5elvan4g9raan4gre_an6gresan4gretan4g3ryangst5yang5svaang6søyan4kanaan6k5å6anland6anlø9paann5ansan6nemean4ninnann4seiann4sidann5staann4s3uano6debanri7keans5aftansa7kaan4sentans5indans5insans4k3lans6kunan4s3pi6anstarans4te46ans6tianta8laan4tansant5emi5antennan4teslanti7klant5ordant5rabant7romant5rygantus4taon8de_api7r6ea5p6las3ap3par4appar_6appareapp7eskap5plasa3p8ølsa4ranora4r5assara5te_arbo8daar6deliard5staareba4ra6r5ektar7eleka4r6elia5remo_a6r5enga6rerelares8kaa7reta_ar7e6vaarg5stjaria7nearins9karise4aa4ristoar4ke5sark6steark4strark7vegarla4gaar4mediar6metrar4minfarmå6laaro8de_a4r1o4rarp5retar7reskarri8e7arrå6daarsa6kaars5ansars5kamar5skarars5kesars7krears4veiarta4laar7tele8artetsart4ha_art4hasar4tika6ar4timar6trinart6s5tar6vetearvi8saarø8ve_arå8de_a6seneta6sjettas5ketias6kuleask9u8ta5s4lagasla8gaass5aldass5altas4servas6sifras5singas7sos_as4stanass5trua4statuast5renast5ø4va5taeneata8ka_ata8la_ata9rara6t7arvate5k8ea5tene_a6terata8tereka4terila4t3ettatik6kaati5neaati4repati8sta5atlantats6kul4at5te_at5tensatt5iseatt7o6pat4trafat4t3reat6trinatt3s6katt5s8lat2t3ø2at5å4seau6e5taau5keli1auk7s6aum5s6kaum7s4tausti6saus6tonau6striau2s5ø4au3t4rea4v3anda4v5anla2ve3d2a5vede_a5velegave7rasa6vereia4v5intavi5sa_3a6viseavlø5seavsko7gavta9kaa6v7å6lay7ane_ba5den_ba7densba5kan7bakars9ba9ket_bak9ettbak5strbal4lagbal4lanbal4ledbal4legbal4leibal4levbal4ligbal6lovball5s6ban6kapban4korban2k3ubaret5tbar5skrba4serubas6sakbas4sanbassis5bass6trb4b5arbbbel6t3bbelte4b9bene_b4b5erfb7beskab6betenb4b5innbedi9e8bed5redbedy9rabefa5rebehers7bek6kelbekke5rbek4kesbe4l3abbela9gabel5eiebel5eigbel5einbeli9nabel5letbel5s4pbel7s4tbel4tagbel4t3øbelæ5rebelå7nebe4nestben5s4iben5skj8berestbere5teber5gesber4g3åberi5keberu9sabes6k5nbes6selbes6tesbeto5nebe6trarbe6tre_be4t3ribeva5rebilet5rbil5legbi4nansbin4golbi7ris_bir4kenbi5s4labis4p5ibi5s6tabis4tilbis5trublan9dablan5keb8lararblei5erble4k3able5kesble7r6ablæ5re_blå5se_bob5by_bob9byebo4k3etbo6k5ribol5eiebol5s4pbom4belbon5atobo4retebor6teibor4tesbort5s6bred5spbret7tebre4vinbruk4s3bru7na_bru5nesbru7renbrå5te_bud5d6hbund4s3bun8ge_bus4h5ebus6sekbus4selbus6setbæ6rar_bæ5rer_bæ5rerebæ5res_bæ5ret_bæ4r5isbøn6nesbør4s5kbøy4enebå4s3tebå6s7tica6priscar4te_cel4lescel4levce5nes_ck5e4t3clai4r5co4la5rco6n5os6d5adeldak4se_4daktig7d6al5jdame5t6dan5nebdan4seldard3s4dar5os_dar4ta_dar6va_dar8ve_4dasjef4da4taldaud7s8dba8le_dba4ne_dbe8ta_dbe6te_dbling7dbo6en_d4d5armdde4lapdde4l5oddel5svdd4saladd4skapdds5tabdd3s4te5debon_6d6e5ge5dehavsdei4enedei8ge_5deigendei4g5rdek4kandek4kelde6k6kv2de5k6rdeks7tideks6tr6delagede6lansdel5eie4de4lekde5lele4d5elemde4lest6delinjdel5intdel4lapdel6leidel4lekdel6ligdelses7del4spodem8na_demo5noden4sin4dentif4dentitdent5s8de6rantde4rarede4rarkdera5te6deresider5est4derettde4rinæde5rose6de7rotder5s6ndes5ers4des4le5deste_des6tem4destråde4s3tå6detekk4di5enddig8la_dig6le_4digrendig5retdil4les4d5ingkdin8g9ådis6kamdis6k7ldi4sk6odis5ko_dis7koedis7tikdit4tetdjer5vedju8la_6djupardka8ra_dku4le_dla6te_d7legardlem4std4lenetdly8se_dlø8pa_dme6la_dmø4re_dmå6la_dno8de_dog6med4dokinedok6kan4dolinjdom6s5idom4s3kdors7ke6do7s6ldra5gendra6kes5d6rangd6rarardra6retd9ra8sadrau7ma5dreassd5rede_d5rederdre7d6r9drege_drei5end7religdretts55drevetdri8ka_drik7s6drit7trdro6pa_dro8ta_drø6re_drå4de_dsa8la_d4s3alfd4s3engds5e4stdse4te_d4s3jend4s3kands5kjendsmå6lad7somstd4s3tald3s8tard5s4tatd8s9te_ds9teikd3s4tigd3s4tikdstu8nad5stundd6s7uskd3s4vetdta6la_dta4le_dte4ma_dterle7dte4se_d5t4ragdun7stadva6la_dva6leldva4ne_dve8ve_dynk6s5dy5rebadøv8le_eak6se_eal8le_e6a5netear6ka_ear8ma_ear4ta_e5a4telea4t3eteau6ge_eau8ra_eau8se_eav8le_eba4ne_ebesku5ebu5ernedag4s5ed7delaed5e6geed5eg4nede8le_e8d5engede4s5pe6d5ettedi4eneedi4s5ke5drev_e6d5ryged3s4lae3d6ø1reer4me_ees6ke_eev4ne_efal6s7efar6s5e5f4ilmefi7renefo8bi_ega4ve_ege4leteg8g9ute3g6lade3g4ledeg7lesae5g4lite9g8nagegrans5egå4ve_e4h5ereehy6re_ei3d8arei6kerieil5eggei4me5seim9ettei4n3alei4nansein5antei7nare4e3indu6ei6nite5inkareinsi9dein4s3le4inspiein7stoei2n1u4ei3s4haei6s3kjei3s4peei4teraei4tereei6t7utejo8en_ekalie6ekam6s5eka6ra_ek5e4tae5k6hovekke7leekk9iste8klanee3k4nokekords8eko6te_e3k4rede5kretse5k4revek3s4akek4stil5ek3tepek6testek4t3raeku4le_ek6var_e4k5vikeky6te_e6l5argel7artiela4te_elbo8daeld4rereld5sleele7gereleg8nae5lemat5elemene5lemete4l5enhe4lentuele8ra_e7lerete6l7erge6lesku5e8lev_ele4vak6e5levnel5gelee4l3indelin5ese4linspeli6o5seli8ta_eli4tet6e5littel6k5alel4ke5sel4keteel5l6arell5eieel3le4sel6leteel4lisjell5s4lel5l4urelo6ka_e4l5ovnels5eieel4skalels4tenel4teroel4t3opelt5rope4lu4heelu8pe_el4ve3del6vereely8et_elæ5rese4l3ø4re6l3øynema4ge_ema4ke_em5aktiema6le_5e4maljema4ni_em7ar8me6masku5emballembe6r5eme5triemi5erte4minoremo5nole2m3o4vem6periem4s5juemta8laemå9lane6n7ange4n3antenbe9naen5demien4deslen4d3roendør5eeneg8gaene7venen4gerieng4leseng3s4eengs4tie4nierken4keraen4keriennes6tenn5stae6n5orden4seli5ensemben4ses4ensle7gens6levens4terens7unden9timaen4to4rent5orient5rabent5renen4t3råeod8de_eon8de_eori5e6epi6ka_ep5leneeple9s6ep4ses4ep6s5lue4r3abbera8da_era6na_e5ra7neer7anlier5ape_er5aperer5appee5rasare4rasjee4r3asse4ratekera7torerbi9tierbo8daerden8serd4skjerd4stoere6ke_e4r3eksere4lite6rellie4r3else4r3enge4r5enhe3re4o7e4r3erfe4r3etaeretts5e4r3evn5erfarierg5elverg5reterg5skoeri4kate5riorie5rist_e7ristae5risteer7jes_er4kesaer4keseer4kete4er5k4oer5nedeer4neroer4neste7ro6pae5ropene7ro4saerrie9nersa8kaers4ka_ers5korers6leders5terer7stever4s5årer4tareerti4moert5role4r3ungervele8erye7nee9r4æree5r6ønner7øyskerå8de_er3å4seer7åta9esa6la_esa9mete4s3antes5arabes3ei4des5eie_esel5s4e4s3erkese5tasese4te_esh9ar_es4h5ere7s8hopesi5erte4s3inse4skinge6skjønesku5etes7let_es7letse4s5lokes4makeesnæ5ree4s3oriespa9rae4s4pedes5permes4p5lees4setees4s3jaess4letes4stoless5toress9tuaess5tuees7taktes9talae8stanee5stanses5tante5startes5tatoe4s3taue7stav_est5avse6s5te_est5eieest5eige5stelles5telse4stemae6stemee4stemoes5tempe7stenges5tenkeste3s4es4testes4tienes4tikkes3t6one3s4toles6toneest5ordest5ories5trakest5reres5tribe5strykest7åseesva5ree5s4veke5svikteta4la_4e5talletal4s7eta4nen3etappe4e5tatiete4ma_e5teranetning4et5oppde5t4rade7t6rake4t3riset9sar_ett5altet4tanket6teltet4tenket4tennettera45etterk5etterrett5eskettian8ett4skiett4stieun4ge_eur6ne_ev5aktievann4se4varare4v5arkeve5d6aeve5delevei6s55eventyevi5ereevi5ertevi4se_evn5a4kevta8laeyr4ke_eør6na_évo8re_è4renerfag5eti6f5agrofakse9tfal6kesfal4k3lfan4tryfar4gelfar4gesfar6skjfar4velfa4serufa3t6refba4ne_fe3d4rifei5er_feig4defeil5esfei7terfek6tesfekt5evfeli7e6felles5fel9ta_fel4tekfel4trafem4tidfer4damfe7rer_fer5ersfers7kefes9t6ifes8t3rfes9tumfe6st9øfett7s6f2f3a2gf6ferdiffe4rerffla8gafibi6enfi7e6refikali7fik6k5nfil6lelfil4lesfilt6refil4trifin5artfinn5ei6finnsafi9renefi5res_fiser6sfis7kalfis4k3l6fiskolfjer5neflit9t8flo6r5oflos6klfol6k5vfol9lerfo3n4idfor7drofor5d6ufor7e6nfor5entfor5essfo4r9inforlo7vformo9rfor3s4mfor9stefor5t6efor7t6ifor3t4vfor3u4lfra4m5efranko5fran7sefra5se_fra7sepfrasi8efra7v6rfreds5tfre8s9v6f5ridifri4erffris6kafri5s4pf2s3tabf6s5tanfta8la_f4t3enhf4terinf4t5ettf2t5i4sfts5altfts5ersfts5ervft2skafft2s1ø4ftta8kafug9le_ful9larful9le_ful4lenful4lerful7lesfyr8ke_fø5des_fø7resvfø8retefør6tingak8ta_gal4les6gandengan4g5jga6r5akgar4dekgar6ta_gar8te_gas8ka_gas8ke_gas6selgas5sengas7sergas9triga5tensgat6tapgau5la_6ga4veiga4verigba4ne_g4de5regeak8tagea7ren9gedom_7gedoma9gedome6gedomsgei8s7pgei6st5gei4t3r4g3elemge5len_ge5lensgel5ett6geligggelsk7lge7n6amgends6tgen5erfgen5etigen8ga_ge4ni6ngen6sungeomet4ge6rene6gerese4gerettger4i5dgeri8ka6gerikegerle9g4gerom_4geromm6gerop_4gerope5gesen_5gesens4ge5sjage5spra5geste_ges8ti_geså5re6getat_6getate2ge7v8agevi6sagev6ne_g6gereigge4ring6ge5svg4g5i4mggra6dag4g5u4rght5ene4gimessgi4metrgi3s4pagi5s4prgist5ragi5strégjen5s8gje4s3pgla8ge_g5last_gleg8gag9lene_g9lenesgle6se_g4le5skg6le7smgli4delgli7e6n5g6lomegloria7glo5stegly4se_gmu8le_gna5lemgne8se_gnings5g6ni5skgnist9rgok4se_gol6vargore8a7gori5e6graf5t6gran5togrant4rgra9se_gra9setgra8te_grati4sgra7visgravta84g5redsgreie5n6g3reisgrep4s36g5rest6g5rytmgrø5de_grå5te_g5salg_g5salgeg3s6ankgse9la_gsel4stg5siderg5skallg4skapag5skapeg4skapig5skiltg7s6kjæg5skrengsla6gags6lerigsl9ut_gs5pileg5stanggs4tasjg7s4tatg5ste4egs4tellgs5temag7stemtgs4tereg5s4ti_g3s4tieg3s4tigg5stol_g7stolag5stolegs5tollgs4trapg5straugst5reagst5reigs6tretg5s6trågs4vanegta8ka_gta8ke_gta6la_gta4le_gte6ke_gte6ma_gti8de_gtu8en_4g5u4båguid5argul8ke_gur6ne_gut4takgut4tesgva4ke_gvedli6ha7keraha4ke5shald4s7hal6leihal4s3khal4s3than6d5rhan6nelhan5nenhar5trehar4trihas6p7lhau5ke_hau4t5rha5van5hba4ne_hef7teshek4sekhel4se7helses4hel5stehel4teshem3s8khera9daher6reiher6rether5un4hes5pelhes5penhes9perhes4teshet4s5phev9na_hi6n7anhin4neshins9kehjorte5hju7l8eho5der_hog6strhove5rehun6deshu4s3edhus4trehu6s5u6hvi5l6ihvor5i6hye5ne_hye9neshyg5gelhyldes7hyr4deshøy7rariak8se_ial5einial5etiian5aldi5a4ne_iard5s4i7arskaiaty6raiba4ne_ibi5er_ib4le5siby9ar_ick7eteiddel5uid5e4geiden5svi6derapi7dereni9deres4i3drevid4s5tui7e6limielø8paien4s5vien4t3rif4tereig3e4taigje9vaig5s4kaig3s4krig3s4paig5stekig7stelig5stemigs4traig5s4vaiho7le_ihu5le_i5kabeli4kareii9kelegi5kere_ike4r5oi2ke1s2ik6kanaikk5arvikk5attik4keruik8keskik4kestik4kjøpikk5lagikk5ord4ik2ku2ikk5undiko5na_i5k6ordik5robeik5speliku6le_i6k7u6tilas5t6il4dekoil4deteild3s4tile8areile4ge_i4l3egni4le5skile6triilet5teilfø5reili5ersi4l3indi4l3i4ril5jeseilk4o6sillei9eil6leskilli9gail4lo5mills5kåilm5e4vi4l1o4rilta9lai6m5akkimor8da5imperiims4k5lim5s4meimta8laina4leti4n5assind5s4tine8areine8pe_i7nere_i5nereni9neresine4rikines8kaines4stin5gebj5ingeniin5geriin4geruing5jening5reping7risings5omini9ar_i4nises5initiain4keroin4k3lainla8gain4nerøin4nesiinnes6tinnfa9s5innhalin4n5ominn9seninn9steinn7svein4n5u4in5skatinske4tins6korins4k3vinsle7gin3s2løin5s4main5s4pl5instalin4stinin5stra5instruinta8la5in7tegint5essinti5meintran4int4rerin5tresi8n9ul8in9u8teio4dereiol7jenio4nansio4narrio4r5inipa4ti_ip4peliipp6lanipp4s3ti9r6andire6r5airi8ka_ir5instir5ker_irke3s6ir4kestir4mastiru7sa_i4s3angi4s3ansise5erni4sektei6s7eldis4e5liisensi6iset8jeisha7neis4h5inishø9veisi6enei4s3indisk5elsiske5s4is6k5leis7kogri5skulaisl9øy_is6s7kjis9s4ærista9leis5tanei4s5tarist5avbist7aviist5ektistel5lis5ten_is5teneis5ter_is5ternis6terøis5tilbi5streri4stresi6stretita4l3aite8ke_i6t7elgiter6s5i4te5ruite6se_itet6s5iti6er_i4tikami4ti3kvi4tiseni4tiskoi4ti3spiti5stritnes4sitri8mait7ro6sit4s3eiitta9lait6tannit4t5atit4tenkitte5s4itt5ettitt5skri4v3aksiva6la_i4v5ankivar5s6i4v5assiv5eg6nive5rasi6vereti4vestiiyr8ke_iåt4te_jak4keljakk5s4ja6r5apjarn3s4jar5te_jau4ere6je4dekje4f3etjef5lagje4f3rejef6s5ijef3t4rjeg6lesjek4tanjek6tesjekt5evjek4t3rjekts4tje6legrje7lelejel6lagjel5lenjel7va_jem4stije7ne8sjen5gedjeng5s4je2n1y4jer4dep6jerennje6rinæjer4kesjer6k5ljern5sljes4kiljes4teaje6stimje4t3agjeta6kaje9tar_je7taraje9tareje4t3rujett5s6je7varkjev7na_jok9kerjokk9o8jon6stijon4strjor6dekjor4d3ojords4ljor5tetjo5steiju4e5rejuk9sarju8l9eijul7innju6p5å6jæ9res_jøl6verjør4keljør4teljø6t7avjøt5eta5ka4an46kadaleka6del_ka4deri6k5aksjka6lantkal7s6vkal4ves4kameri4kammelkam4p3ikan6da_kan6t9r5kapellkap4s3t4karbei6k3arki6k5arktkar5peska5se4ikas6sadkas4sak4k3assi8kas5tokas2t3r1ka7t6aka4t5op4ka1t4rkat4telkatte5skat4tilkat4trikav8l9u5kedan_9kedant7kedes_ke3l4akke6lanskel5eigkel7eik6keleiskel3e4l4k5elem4keleng4ke5lep7k6eletkeli8e8keli9en4kelign4kelinjkel5intke4lise6kelov_4kelovekelsva9kel9ukakel5ukeke4l3ur6ke5l4åkelå7re4kend5r6kenett4ke5niv4k5enseken5t6r4k3entuker5antkerei4d4kereir6kereis4ke5rem6kerene4kerenn4keress4kerest4keresu5keret_5kereta7kerets6kerik_4kerike6keriktke4rineke4rinæ4ke3rosker3t4v9kesam_4k5eskekes8ke_kes5ped5kespot5ke4spu4ke3sta5keste_kes6tem4kestrike4s5unketa6ka5ketalsket8teskev4je_kev6ne_kevæ8rakhjul8skikk8s9kin9andki4narkki5nas_kin5ingkinn4spki5stavkjap5pe6k7jarnkje7f6r5kjemaskje6t5rkju5le_kju5lenk8kand_k4k5angk4k7artkke6leikkel3t4kke4lukkkel5unkke6nank4kereik4kerelk4kerigk4keritk5kesaukke3s4lk5ketetkk5jentkko6ligkk3s4eikks5takkks7tepkk8s7vakk5s4å7k2k1u6t4k5lagtkla9ke_kla4melkleby7t3k4leddkle4debkle4des5k6lem_7k4lenok6lerikkle5snokle5stikles7s81k2lim23k4lini3k4lyngklæ5reskne4b3lkne8se_knippe6kog9ger4komisbko4misekon6s7vkon6tonko5perskop5perkor6da_kor4d3okor4salkor4s5lkor6strkor5teskor6topkor4t5rkort5s4ko6rume5kosele2ko1s2pkost7askots5trkotts5tkover7e1kov4s3kre4kli4k3renn4k3ress6k7retnkrig6s5krik6ka3k6rinsk4roforkro4nomkro9t8ekroten9krutt5ik4s3antk6s3arkkse5levksen5tok5serolk4ses6kk4se3smkses4spkses4stkse6te_k4s3insk6s3kalksko7naksko5nek8s7lugkslø8vak5s4makks5tantk7s8vakkste4dakst6rank6strenk6strerk5s4vinksy8s7mksø4ke_k4t3akskta6la_k4t3anakta9na_k4t3annk4t3arrk4t3artk6t7atlk6t3avlkt5e4gek4t3enhkter5s6kt5eskekt5estik4t3inskt7i6tekt5ord_kt4s5erkts5krakt5sprekts6tonkts5topktu9er_kue4r5akun4ge_ku7r6opkuro8pakur4s3tkur4v3ikus5a6kku4s5elku7s6pe4ku5te_5k6vartkvei9se4k3verdkverns8kvi4enekyr8ke_kys4telkøy7ar_2l3abonladi9e8lag5san4l3anallan6daslan6deblan6gellan4gemlang3s46l5ansilap5senlap5s4i6l7arab4l7areal6aren_4larena4l3arkilar6ta_lar7vetlas6saklas6samlas6satlas6sellat5angla4tenolate5s4lat7ra_lat9ranlat5rarlat4trala4v5allav5innlba5ke_lba4ne_lbe8re_lda6t5olda6t5yl4derekl6derikl6destrl8d5oksld7regnld5rer_l8dres_lds6leglds4letld5s4omle4gerale4gerole4geta2le1g2l6lehamr6lehavel6ei8etlei4gerlei4getleig4h5leig6naleig8nelei6r7u4l3ekso4l3elsklelø6palem9pedlem5peslem4s5ølen9dan6lendenl6endre4lendrilen4g5r4lensemlen5seslen4stalen4tamle8pla_4leraba4lereso4leresule6rieile7rina4l5ernæ6lerope4le3rotle7singles5innle7skaple4s3kj6leskol6lespal9lesta_7lestalle5stedle5stegle5stelle4stim4lestrø4lestyrle5s6vileta8kal5e4tas6letenk6le7teple5ter_l5e4tikle5t4rilet6tealett3s4le6valu6levern4le4vevl6f3nullga8le_l4g5altl4g3analga4ve_lge4raplger5unl6ge7splgsle9glg5s4trlgå8ve_lha8ka_lhav6s5libe5roli5ers_li4g3anlig9artli8gas_li4g3relig3s4ilig3s4plig5strli5kesålil5letli6mate4lina6l5l4indrlind3s4l5indusli3ne6alin4g3j4l5injulin5keslin5klelin5net4l3instli6n5ø6lion5splion5svlipp4s3lis7tanli6s8trlist7røli4st5yli4ti3aliti5stlit5rerlitt5s6li4v3akljar5s6l5jete_l5kedall5kelegl4k5ersl4ke3rul6k5ninlk5ri6kl4k3s2hlku4le_l4l5anoll5anskllau6relle8da_lle4d3rlle5gevl4l5eigl4lendrl6lendtl5l8ensl4lentull5eplel4leroblles5prlle5støll5evenlle7vevlli5e4nl4l3indl9lint_lli6senllmu9erl4l3offllom5s6lls5endlls6karlls5laglls6tigl8l7ukal4l3ukelly4se_llø6pa_lløy6erll5øy6nl4markil4m3elslm5e4pol4m5erflme7stilme5t4rlmi8le_lmin7nelmu4le_lmå6la_lob5by_lob5byelo4d3rilod3s4mlod7stelod7s6vlog8reslo6g5rolok6kul2lo1k4l2lok7s4lok8se_lo4m5inlom4mellomst9rlon4g3rlon7skjlor6da_lor4g5llos4kle4lottetlov7aldlo9vandlo7vanel6over_love5rel5overnl5pelegl4pelinlpi5ne_lradi4ulra6ne_lre8ke_lri4ve_lro8de_lro6pa_lro8sa_lro4se_lrø6re_lrå8da_lrå4de_l4s5anol4s3ansl4s3elel4s3elvlses5kulses5palse4te_l6s5illl4s3innls5jakkls5kabil4s5kanls5karilsk5artlskinn6ls1kjedlskå6palsla4gal7slagnl5s4lukl6s5løslsmå6lals7o6sel5spredl4s3takl4s3tall6stankl3ste4ils5terrls5trenl6s5veklsve7rels6vindlta4la_l4t3alblta6levlta8teslta4t3olte6ma_l4t5enhl4terasl6trekol6t5rell6t7reml4trensl4t5ritltro8pal4t5rødltur5e6ltur5s6ltur5å6ltva8laluid6erlun5d4rlun4gellur8ne_lus4sidlus4s3tlus2t3rlut4tallut4tapl4vaktil4v5asslve3d4alve5i6slve9raul7v6et_lve5strlvi8enelvi6ka_lvo8re_ly4n5illyst9raly4teril5y4tinlær4armlæ4re3slæ5res_6l7øv8d6l5øys_løy5terlås7tenlås5termada5memak5ronmak4tal4m3aktimakts4tma6lengman4domman4donman5g4aman4nemmanns5l5ma9ren4markitma4ro6pmar3s4hmas4seemas6setma5stem4ma5str7mater_6matera6m7atfe7matil_ma4t3rem4beregmbo4endmbo5er_mbo5erembu7ar_mbue7reme6dretme5d4us2me5k8r5melanemel2s3jmel5s4t4m5engamen5splmen6tekmen4tomme4ra5l4meress4me5ribmeri5kemerle7gmer5und4me5s4h5meste_6me7stome5stro6mestrø4mestrå4me9tapme4t3ramet5renmet7rermet5resmet5rik7m4eu3smfar8tam6f3essmfu6se_mgå8ve_miche6l4mi3ele5migrafmik5ro_mik5ronmil7etimil6s5v4m3innh4m3innsmi3s4lamis4s5kmis4s7pmista9k5mis7temis4tramku6le_mle6se_mle4ve_mly6se_mlø6pe_mma8le_mmando5mmar7inm2me3k2mme4runm4metrammå8la_m4nestamo7le6smom4s5ømo4nisamon4stemo7rar_mor5d6emor6d5rmor4skjmor7sky6mostabmote7klmo5ter_motsva5m4pelotmpe5resmpes6tempe4stim4pinjem3p4lanm6p5linm4poetampro8pamro8sa_mro6se_mru7te_m4s3engms5e4plm5s6etnmsk5ingms6legam4s3talm8s7te_ms5tilbm4s5topmst5ordmst5redms5trefmst5renms5trikmsu7tenmsva9ramsva5rem3s4vetmsø4ke_m6te7kvm6testum6tien_mull6s7mul6tivmun6ge_6m5univmunn5s6mun4t3rmu4ses4mus5tanmut7t6rmveg5s4mvi6se_myk4kesmytt6s5mø8nest6m5ønskmør4k5rmø4teremå9nesenak8se_nak6ta_na6lare6nalarvna4l3einal5eponal6ge_nal6lagnal4løpna3lå5rna7mere4n5angrnan6ke_6n5anlen4n5ansnan4sinnan4skjnan4s5t4na5rek4narkiv6n5armé6n5armenar8ma_nar8stenar6ta_na2s5t4nat6taknat6teanav4lesnba9sern4d5alln6d3artnda5taln5d4e5lnde4le_n4delikndel4skndel4stn6denern2de5o2n4derabn4derasn4derein4derimn4d3intnd4lesend4lestn6d5okkn4d3ramndre4rand5rettnds5elvnds7kulnd3s4tends9tegnd5stryne7a6lenea9ren5negatinei8dannek5rinn7ekser6nelegg4n3elem4neliganel4lovnelø8panem5ne_nem7nelnen5at_4neneslnen5etanen4ga_4n3enhe6nenhetnent5ei4nerent4neress4neresu4nerfar4ne3ribne4ri9vne1r4ovner5s4i4ne3rul5nesetsnes5evanes5indne5skam4ne5skones6samnes4stu4nestasnes9te_nes5tor4ne3strneså5re4netaksnet5s4pnett3a4net6telnevi8sanfalls5nfø5desnføy8edng5and_n4g5armng5art_n5gartanga4ve_n4g3engn4geretnge5runngjen5gn8g7o8mng7o6pen5grad_ng5randn4grendng5restngs5elvngs7legng5sløyngs7tepngs9tørngu5ru_ngå8ve_ni7dele7ni3e2n4n3i4frni6n7alning6s5ningse4ni9pet_ni9petsnir7kel4ni3skjnis4k3oniso5ne4nistas6nistatnis5tik4nistilnitt4s3nitt6sknitær6eniv5ei8n5jede_n4k5enhnker4stn4ke1s4n7k4lisnkol4lanku4le_nkurie8nland9anle8ma_nli4en_nly6de_nly4se_nlø6pa_nma4le_nmo6se_nmå6la_n4n5ankn5nebarnnebe8rnne6natnne4n3on4nereln4ne3stn5n6et_n2n1o4rnnsa9kanns5andnnsei8gnn4s3emnn4s3esnnsi7dann4s3innns5kannns5talnns4tennns5tepnns7tinnns5topnns5tronn4s5ulnn6s5vonnsy8nann3så5rnnto9ganok6se_nor4d5rnord3s4norges5n3o4rienor6klanor6klenostra4n6renemnro6de_n5sa4kr6n5aktin6s5alpn5s6annn5sansens5ansinse9a8lns5eie_n4s3elvn5sene_n4senern9senesn4senetn4se3skn4ses4pnsi5de_nsi4entnsi6er_n3s4ingn4sintens7kelens4ketens5kjennskog6snsku9etns5kulin5s6ky_n5s4kyen5skyssn5slangns6lerin5s4narnso5risnspa9rans5pelsn6sprosns5taken4stanknst5artn3s6tedn3s4teins5tenkn5s4tikns5tildns7tilfns7trøyns5vangnsva9rans5verdns5vernns4vindnså7pennta4lannta5na_n4t5andnta5siant5eininte5insn4teksen9telegn5telignte4ma_nte4misn4te7nan5tene_n4t3enhn5teorin7terekn4teselnt5e4van4tikapnti5klin9time_n7timesn4t3indnti6netn5to5rent5resin4t3rinnt5s6lan2t1u2nn4t5urontva8lanun4ge_nus4k5lnut5erinverle9nvi4ka_ny3k4lenyn8da_nyn4de_nær9andnød5stonøy8a9nnån6de_oar6d7eobakk8sober5etock5ersod4destoderle7o4d3iglod3s4pooen2g7roes8ke_oev6ne_o4fe3stoff9andoge7na_og4gerao6gista5o4g5nio5g6noso4g3rego4g3reiog7rettog4s5tjog5stre5o4g5åto1i2d9ioi2n1o4ok5els5ok4kandok6keraok4ke5sokna8sao4k3omsokse5krokse9teoksi7daok6s5vioku8le_ola6dedo6larbeol4destol5drevo5leakso7lene_o9leneso4leneto6leredole5staole5stroli9e6noli7ertolke3s4ol4keseol4keskol4kestol6linjol4mesto6l7os_o6l5osfols5vikol6t7raolt5re_olt5rerolt5reto4l3ungoma4nifomar7ø8o7menesome4takome7tarom3in5som4metromsko9do4n3ango4n3argo4n3arvo2n1a4vonder6eon4d5riong9roso2n3i2do6n7innons5undo4pa3reo7parenopel6løo4penet6o3per_ope6raroping9sopp5ropopp5undo6r7addo4r5algoral4stor6alt_orda9taordy9raorear8aorear8eo5rebraore6na_ore4nedore4netores6teor9et8norfi7ne1or3g4aorha9le5orientorla7teorm5angor4m3unorne6droror9daors5altor4serkorse9taors5karors8k9lorso9naorso9neors4tenor4t3akorta9peor4t5avorto9neort5oriort5resort5rådor4t3årorva9rao9r4æreo5seleioses4skoses6sposes4stosfa9taosi5ereosi5erto2s1ingoskei6eosk9larosk5lenos5sensos4s5kooss7troost5adrosta5leost5eggos6tonsost5ranost5rupota4l5aotal7evota4lovo8t9armote5intote4kleot5elemote5levotel4liotel8løo4teramo4tereto6terevote5r8uote5stéotet3s6oti7ertot7i6koot6nerooto6en_oto4ralo6t5romot4s3kiotsopp6ots5tabot6tankot5tegnot6tenkot5teseott4s3kotts5pootts4tioun6ge_ovanfø8o5vendeove6nyaove7ra_ove9raso6verdr3o6verfo5verksovers4povveg7ipak4kaspakke4spang5s69panne_4parenapar5esspar6k7lpar8ra_par6tidpar4tigpar4tinpase6r5pas5sabpas4tarpa4tistpat6takpba4ne_pde4le_pe4a3repedi9e8peg8ge_pei4legpek4tropel5s6epel5s4ipe4n3arpen4gelpen7s8apensa7kpen4s5lpen3s6mpen5s6open9stapen7stepen7tagpep5ar_4pe4rab4perate4peresp4perest4peresu4pe5rikperi3s4per6lesper6reiper4tropervi6kpes8ka_pes4ke_5peste_pes5tilpeta6kape4t5rupev6ne_3p6fenn7pi3anepig6g9upil4lagpillba6pil6ledpil4legping5skpis4t5rpla8de_plan7de4plane_ple5n4aple6r5uple8se_pne6se_pom6p9upor6s7vpor4torpor4tråpos5taspo5statpotek5lpo5t6hapover6np2p3a4lpp5angrp4p3anlp2pe5i4ppel5s6p4pendrppe9nesp7pere_p4perklppes8tip4p5innpp5lastpp7rissppska9kpra5te_pr5elempri4l3epri6s5kprun7geprørs5tpråk5k6psei8geps5e4lyp4s3kilps7kjenp7s6ko_p5s4koep9s8lo_pslø8vapspi9lap3s4prep4s5prop4s5temps4vingpsø4ke_pta8la_pta4le_pte4ma_punk4t5pvi4se_pør4ret3radio3raf4fer6r5akadra5k6harak4kelrak3s4erak6se_ral5ans6ralbum4r5alge4r5algo4ra5l8å6r9ambi4ra4merram8et_ram6p3u6r3analr5andelrang5strann3s4ran4tik4r5appl7rarbehrar5e6l4ra3reprar7etarar8ka_rar8ma_2r1ar5trar6ta_ra7s6korast5re6ra5tegra4t5rorat5telratte4srau6ge_rave5s4r3a4visravlø8srbed5enrbed5etrbed9rarbis5trrbo8di_rdag4s5rda4le_rda4mesrda8n9ord5antar4d3armr4d3artrd5e4ger6d7engr6d7enhrden4s3rdense4r4derikrd3e4tar6d7ettr4dianar4diansrdig3s4r4d5o4drdover5rd7rarar5drev_rds5tanrdsto5grds7trerdsva9rrdta8kardø4ve_re4d5rired5skureds5larega7tarei8ga_rei8ge_rei5na_rei7nasre5inderei5ne_rei7nesre4invarei7skarekk6anrek4k5v5reklamrek4ledrek4terr4e5lei7relenerel4lagrel5ledrel4levrel5ses4re7l6åremann6remmed5ren4delr3e4nel4renestreng5st6r5e6pi4rer6at4rerent4rerese4reresu4r3ernæ4rerutere6r7øyres7kodres4salres4sekres4sit5restaures4tes4re3stires4til4restre4re5sty4retaki8retek_6reteke4retekn6re5tem2re5t2rret7tedret5terr3e4vigre4v5åprfe8en_rfe4et_rfei5lirfe5m6ørga8le_r4g5anvrga4ve_r4gereir4geretr4ge3rur4gestarg3i4rirg5repsrgs6korrg5s4lergå6ve_rhjul8s6riansv3ri6avo4ridale4rielem6rielimriel4la4rietatri5evenrig6s7tri4kalirik7kenri8k9la2ri1k2rrik4s5u6r5ilderi5n6amrin7gomrin9nesrin4t5jripo4s3ri4seli5risiko6ristadris5tik4ristilris5tofri5stunriti9darive9ge4riverkri4vi4sriv5iseriø4r3arj7ambirkei8kar4ke3lur4kenavr4kerisr4ke3rur5k8ledrklæ5rerklå9rarko6b5rr4koselr6k7rasr5k6remr6k6segrk6stalrk4stenrk4s5tirk6s5virku4le_r6k7u6trla4te_r6le7slrli4te_rlø8pa_rma6ge_rma5k4lrme6lapr4menetr6merevrme9tarr4m5idermi6enermlø8parm5s6korms5tilrmta8larmue5nermu8la_rmu6le_r6m7åtar4n3aldr4n3artr5neboer4n3engr4nereir6nerisrne6se_r4ne3skr4n1o4vrn4s3inrn7s6mirn5sponrn3s4prrnå8le_roff5riroga9tarog5retrok6katrok4komrok8se_roli7garol4labrol4laprol4legrol4lisro4materom5sla6ronismro8pla_ror6da_ros7tasrost7røroti7karot5ordro9varerove5rerprø5ver6p5ut_rre7intr5relatr4re3rur4resperres5tarre7stirre5strrret6s5rri6ka_rrmå8larro8se_rsa6la_r8s9ald5s6ch6lr4s3elvrse4te_rsett8or5s4ingr6s7kafr4skar_rskla8grsk5larrs4k5lers4k3lær4s3krar5skrivr4s3krorsku7etrsk5undrsk5varr5s6litrs4makerso5n8erso5n6irso7risr5spredrs5tankrs5tendrsten6srs5ter_rs9tre_rs7treer4strinr4s5trorstu9varsva9rar3s4vekrta4ka_r4te3inrte6ke_rte6ma_r5teresr4terisr6testirtian8dr4tiansrti8ar_rti6grar4ti3kvr4ti7nar6tiskar4tiskirt6i9sor4t3opprt6opp_r6t7o6sr4t3risr4t5rosr5t6rålrts5engrt4s5jart5s4nort3s4pertu6en_rtu8ve_rty8da_rty8de_r6t5ås3rul8ke_rum4p9l5r2underun5delrund3s4run6ge_rus5selr7utan_ru4vereru6v7isrve4denr4ve5drrvel9ler4v5eng4r5yndlry5nes_ryr4ke_rys6sal8r3æ4rerø4kerorøn5nesrønn5skrøn5sko5r6øntgrø5vederø9versrøy6enerådy9raråle7s8rå5let_sa4dere6sagent6s5a6gi2s1a2gr3s4a3ke5s4aks_sak4s3i4s3aksjsak6ta_5s4akto5sa5lat4s5algosalg6s5sal4mes5sal2s34saltersal5vedsam4an7sam4levsammen54s1a2nasan6da_sand5stsan4d5ø1s2a5ne4s3angrs7anken5s4ans_san7s6k9s8are_4sarealsar6ka_4s3arkisar8me_sar4ta_2s1a4sp4sa5t6r4s3attasatte4ssau5di_sau6ge_sba4ne_sdag4s5sde6le_sdu8en_se3an5dse7ansaseg8ga_7segletsei8dansei9dens5ei4etsei6ga_sek4kes3s4eksjsek6te_3sek5to5selanesel5arts3e4lasse6l5at4se5led6selega4s3elem4selengsel6løpsel4sinsel4sposel4vanselv3e4sel4ve_selvei4sel4versel8vinsemini6sen9d8a6senden8senesa6seneses5engassen5ters2e5r4e4serenn4serent4sereso4seress4serest4seresu4serkjeser7nevser4takser6tatse4r3unser4vedser4vel2se5r6øses5ald5sesalsses5altse4sene4sesjukses5kalses5karses5lit5seste_2se2t6aseta8kase4terase5teros3e4tiks3e4tis5setje_s8e5varsevi4sasev4ne_sfa4ne_sfe6et_sforlø9sfø9rensfø5rersga4ve_sgå4ve_6s7hoppshø6ve_sial5v63si4de_3si3densi5der_si4detesi6erensiger4s4s3iglosikt4s3sil4delsil4dersil4dessil4les4s3indu3s4inn_7s4innas6inne_5sinnetsinsk5esi4serfsis5e4vsi4s5tesi6t7rasi4t5resitsva9sit4tes8s5ja9gsje4f3isje4flasje4lev3s2jen_5s2jene4s3jent5s4jer_s2je5s45s4jet_sjet4tiska5lar4s5kana4skande5s6kap_4skapas6skapitsk5arabsk7arbe4s5kark3s8karvs6keliks6kenavs4ketet5s4kiltski6netski4nin6s5kirk4s5kist5skjema7skjerss6k5lansk5lings4k5luf7s4kola4s3kolls5k6omes6korpis4k9ra_5s4krals2k7re_4s3kref5s8krek4s3kret5skrevn4skrite5s4krog4s3kropskru3s66skrysssku4endskue5re5skulan5skular8s5kurs6s6kyss5s6kysksla8ge_4s3landslap5pes5laran4s5lastsla4te_sla4vin8s5leke4sle7nes6lenersli4en_8s3linjslin6t55s4lit_3s4lites6lott_sluk3s6slum4p5sly8et_slø4pa_slø8s5a3s4løsislå5nersma9let6s5medi8s5meld3s4mell5s4melt3s4mertsmi4enesmo8de_6s5mugg1s2my4ksnei5ersne4krisnik5kosnæ4re_snø5d4r6s5ofresog6nemsok4se_so4leneso6mend4s3omfa3s6omme7somren5somrer6s3områsom5stisong3s48sopple7sorga_4s3oriesover5esove3s4spa5g6h3s4pannspe4legspe4les5spelet3s4penn6s5pilospi7res5s6piss5s6pole6s7poli5s4pors6s3pregspre5ke5s4pren6s5pres5s4prets6print8s3pris6s5prob5sprog_5sprogesre8ke_sri4ve_sro6se_srå4da_sråde9rs7sabelssa8ke_ssa6la_ssa4me_s7s8ar_s7s6armssau8sass9elv_sse8na_s6serabs6serats4seskis8s9imes6s3indss5inits4s3insss4kapesska8ras4s5nøds4sorgass7tilpss5trenssva7ra3s6t2adsta6d3osta6ka_6sta4lasta5laksta4le_5s6talista5na_3s4tandsta8n9o3s8tasj4s5taststa5top3s6teg_stega6l4s5tegn4stegspste4herstei5er4steikn3s4tek_4s4tekaste4ket4s5tekns8te5kvste5le_s5telegste5levs5telig3s4temmste4nars4tener3s6tengstens5l8s5teras4terams4terevs7t6erfs4teridste7ris4s3termste5runste7sleste7t6rstgå8vas6tidels4tigen7s6tigist9i8gj6s5tika4s5tike3s6til_5s4tilasti4lag6s5tils5stiltesti7mer3s6timus6t3ind4s6tinns6tinst4s3tipp6s7tisk4s3tjen6s5tomtst5opplsto4retsto4t5r4s5trads8traff6strafi6strail5strand4strane6stransst7ras_s4tre3ast5reis7strek_st5rekl6strenist5rer_6strers9s8tridst5rige5stri3ss5t4rog5s4trokst7rop_s6tropes6t7rug9s6trukst5rum_s7trykt6s5trøbst5røses5trøststsy8nastue5re6s3tung3s8tunts3t4vedstø7va_stø5varsul4t5r4s3umid5sundet5s4undisun6d7rsun4ge_6s7u2nisur4stisu6s5es2s1u4t1sut6ra_sut8reg8s5u6visva4les6svalet5s6valis4varet3s4vartsve6g7i3s4veis6s5veks5s4venssve8res3s4verg5s4verjsver4ki6s7vervsvi6e3lsvi5ke_4sviks_svi4nessvi4sa_svi5sensvi5ser5s6vulmsvye7nesy5kere4s5yndlsyr4ke_8s3æ4re3s6økna5s6øksmsør9ettsø7tastsøy8de_6s5øy4nsån6de_ta8d3eitad5spatad7s6vtak7keltak5k4lta8k9latak4saltak6se_4t3aksjtak4tal4taktigtal5angtal5eieta5ler_tale7s6tal6ge_talj5estal4ledtal4legtall7es6talter2ta3m4o4t3analt5andak4tanett6t3angrtans5kat5an5sl8tantiltan4trata4r3akta6rare6t7ark_tar8ka_4t5arke4t3arkit5artiktar7tittar4t3rt3a4sia6ta7stotat5e4v2t1a4uktau4ne_tbe6te_tbe6t7r2te9a8ltebu8da6t5edditedo4ertedyr9kteg8ga_te9g8li6tegspltei6ga_te4innete5intete5k4late6k5ru4t3eksat4ek8sttek8t9r8te4le_4telemete4lenete5lesk4te4levte6levatel5leftel4leitel4levtelses5tel7s6v5teltette4mans6temenntem5ne_tem5ordte4n5alten5at_6tenerg7tengont5e4nig6tenormten5skoten6sluten5økstepa9rat5e6plete7rakk6terammter7apa4terappte4rare6terasa4terase7terast4tereis8terem_6teremm6terennte4rerk4terett6terevo4terisi6terks4ter8ma_4teroll5teromr4te3ros4te3rotters4klter3s4mters6nete4r3øvte4r3ås6te3sin6tesjef2te1s2m7tesmåe4testaftes5tas4testat5testidtes4tik4te3sto4te3strteså9reteta6ka2t8et2rte4valutgi5rostgrei9e4ti3all6t3idee4ti5dem2ti5f6r6tikarr2ti1k2r6tikulttila6ga4tille_4tillinti4mera5timeritin5art6ti4nit6t5inne4t3insttion9s6ti5s6an4tis4ei4tisers4tiskan4tiskiltis5kok6tisprå4tistattis4ti_tis4tilti5streti8støytiva9reti9ært_tjen6sttjæ4restka8ra_tku6le_tla8te_tle6da_tle8se_tlight5tli6nestli4te_tlø4pa_tma8ge_tmin5s6tmå4la_t7neligtne4rektne4r5øtne8se_to4derato2g3at6togravtolele75tolera1to4l3ktol4labtol4lagtol6legto5miseto7misttong5s4ton5s4ltor5alttor5angto4r3astor8da_tor7eks6torenttor5etetor5inttorvei5to5verdtove7ret5overstra8ka_trak7to3t6ranstra5se_tra5sest5rate_tre4al_4t3redstre5int3t6reni4t3renntren6skt4re3rutre5skot4ri5ne4t5ring4t3rom_5t4rongtro5per5t6rosk2t1run9tru5sa_7t6rusktryg5ge7trykk_5trykketry7pe_5trøye5trøy9ettrå8da_4trådett6sch5kts4endet5senditsen8kat4sentut4s3erkts5e6sttse4te_t7s8hopt4s3inst6skollts5krent6s7kynt7s6lo_t3s4lott4s5o4dt5somstt3s4port4s3talt5standt5stangt4stilkts5torsts5treet4s5trots6trålts5øknitsøy8ertta4la_t6t3aldtta7lelt4t3anat5t6anet4t3angtt5appet7t8ar_tt5ar5ttt6artat5tede_tt7elevtte4ma_ttem8nat5tene_t9tens_t4tereitter5untte4r5øt4tideltti4g5jt4t3inst6tistitton6natt5o4ritt9rakatt5raket4t3reptts5kantts5toptts5tratts5tøyttva8latt7øy6rtul5les5t4un5ntur7ant4tu4reitus7s6ttut5tortutt5ovtva6ne_t4v5anltve5deltvi8ka_5t4vil_5t4viletvi4sa_tvi4se_tyg9geltyg5gestykk5s6ty4pere5tyranntyre5stty4ri5stær6enetæ4renht7ø4lettøn5nestø4r3astø7veletå5ket_tån6de_2t1års1u3a4ne_uble3s4udd4s5eude8areudei5eru6d5ettudover7uensar4u2ge5s4u5g4ladug9lar_ug9ler_ug3s4pruid5en_uid5ensukar5t4uker5anuke4rekukse7teuk4s3unuk4t3idukt9s6vukt4stiu5lere_u2l3erlu5lest_uli5ke_uli9na_ull7armull5eggul6lengul9lereull5i4vull5sleull3s6mul4t3reuma8ge_u4m3enhum4p7ut5undervun6d7imund5s4iu4n5engu2ne1s2un9g8ruung3s4iunn5erfunn5steun6sj5iun3stekunt5repun5øy6dupe6renu6r7arlureer6eu7r8ellu7r8eltu4r3elsu4r5engure7o6suri9en_uri9er_ur4ke5sur6k7jaurla8gaurnæ6reuro4staur6p9utursa8kaur4s3elurs5tilur6t5riurue7reu7sarenu6s7arkuse4al_u4s5ermuset8jeu2s3h4au2s3h4ou4s3kanuska8rau6s5kisus6k5leusk7u6tuso6l5du1s2pinuss5korus4skurus4s5tiu5s6tigust7onnust5o6vus8tra_us8tranus8trarust5renust5rødu6st5råu5svaleu5tandeu2ta1u4u5tekstute6ma_u2te1s6utfø5reutikk6uu6tivenutlø5seutlå7nautmå5leu5trengu5t6rul7uttak_5uttakeut4terkutt5evau3t4vilutvi5se3u4t6yduve6ris7v6aksi4v3aksjvak5s6tval9eksval4g3rvali9e8val6mes4v3analvang4s7van4nanvan4nivvan5semvar4meevar6temvas4sauvas4selvas6s7øva2terfvba4ne_vdu6en_ved5s4k3ve8d5tve6g5av5ve4ka_vek4t5rve4l5as5velat_5velatpvel4delvelses5velø8pave6neteven6n5ivennle7ven6stiven6strven5t6rver6desver6dinver6dir5vereig4verennve5res_4verett4veretuve4rialver6nalvern6s5ver5skiver7spo5verum_ver3øs4ve5stedveså5re8vetaka9vetokevett5skvevi8savfø7re_vga4le_vga8ve_vhø4re_vide4o7vi4d5o4vi2k3o6vik5s6lvi4k5ø4vi4les4vi4l3invil4ledvil4leivill9ep6v5illuvil4stivil4trivine5stvin8g9uvin4ned4v5innl4v5innsvin7sjavin4tesvin5trevis5andvi6sengvisk6revi5tese5vi6t5jvit5skrvi4t5unvje4t5avje5t6evje4t5rvku4le_vle4se_vle5strvma8le_vmo8de_vna8ke_vne5r6ev4nestav6nestevn4s5pavnæ4re_vof8fanvo4lituvol4tesvor8da_6vrenge4vrengiv6rengjv6rengtvrett4sv6rigasvri6ma_vri8me_vri6ve_vro8te_vrå8da_v4s5engv5s4ensv6s5kumvsmå8lavs5oms4vsø6ke_vsøy4ervta8ka_vta6ledvta9lenvta4levvti8ne_vuden5tvun4ge_vvi6k7lvvi4se_vøm4metvør8na_vå4kenewalk5o4wester6yak6te_yba4ne_ybue7reybu7ernyd6delay6d7enhyel4s5jyel6s5tyfjell4yga8ve_y6geretygg7arty5keleny4kerely5kjareyk4kanayk5kesjykk4s5kyk6lestyku6le_yl4derkyld5s6kyle6ge_ylke4s3yll5is_ylst7reym5jaray9n8andyns6areyn6teteyon5neny4penetype4relypin8nay4r3a6ly7rek7ky6rerely5rest_yre5steyrin5g6yri8ka_yrs7tanyrs5taryr5ut5ryråde7rys7ekteyse7ridy5sesteys6karays7kareys4s3eiys4s3ekys4s5ilyss5tabys4s5tiy8star_y4s3terys7teslys5t6ryy4t3anayt5e4gey4teretyte5r6øyt4s3enyt4testyve4riayve4risyvi6se_4z3ense4zi5s4væk9jer_æ6rarbeær4arteæ6r7eldære5ne_ære7nesæresa4mære6skræ4retekærmå8laær4s5ilær7s6noøbe6levød6s5ekød6sku6ød8t5omøglo8veøgn6s7pøg5res_øka8ve_ø6kerelø4ke5ruø5kjareø4le5teøl4geraøl4leseøl9letiøl4sereøl4se3søl4v3eiølv7erkøl4v3inøm4meroøm4metrøn4n5itønns5alønn4s3eønns5kuønst9raøps8legø2r1a2mø4r3antø9reletø4r5engø2re5o4ø6reretøre6s7vør4keriørla8gaør4nereør4nes4ø4r3ostør4r5isørsa8kaørs6levørs9tarørste5iørs5tigør6ti9aør4tideøsa6me_ø8sararøse4n5oøserie6øst9astøst9ettø2t5eksø5tela_øtså9reøt4teroøt6testøtt5eksøtt5etaøtt5eteøveren8øv6l7ut9øy8ansøy4dereøy7e4deøy5rer_øy5s4ar5øysundøy4tereøyte5s6øyti7daøy2t3y6åan8ka_åan6ke_åba8ne_åd3s4laåd3s4peåd6s7teå3e6re_å4k3enhåklist7å5l6ampål5einiå4l5enhåle6riså2le1s2ålla6gaålsy8naålul8laålå8te_åpe4n3aåpe4n5iård5strås9keneåta5le_åta5lenå4t5armåte6ke_5åtferdåtva5raåtva7reåun8ge_åvæ4re_", + 8: "_akter5e_albu5en_al5m6in_an5d4ra_arie5ne_as5kese_av7inde_ban4k3l_be4d5et_ber6ett_be6sten_ble5k4e_bor8ti8_de4l5ei_de4r5et_de6r3i4_de4r5om_dings7a_ein5og5_ek5s4ta_en6t5ra_fan3t4o_fes3t6e_fla4t5o_for5en__for7s6o_gang5s4_grunn5s_ha6v5ak_he6r5i6_he6r5o6_he9r6oe_he7r6oi_he7r6ol_he9r8os_het7s6e_hus6val_hvi3t4e_i8lande_ilbo8da_imø5te__isla8ga_jern5s4_kje3de5_kne4p3r_kring5s_kva4r1a_lega5ta_lei5er__let6tan_li4v5en_liv4s5v_løye5ne_mat5t8o_me6d5ei_me6d7in_mei5er__mel3l6o_me2t6a3_min5k4e_mi6s3t4_mor5d6e_ni5o6g5_over3i4_over5k8_pa6n7eu_plen5g6_plus6s5_ran7s6a_rap5s4e_rei5er__re8klar_ro4tek4_san7d8e_san7d8i_ser7vel_sha9ke__sik5k6e_sinn6s5_skinns6_sko7de__slotts5_slu5ke__spri5s6_stev9na_stål5l6_sund5s6_sva5ra__sær3e4g_tak9s8p_to5o6g5_tor4s5v_tre5s6t_u6lende_unde6ri_urte5m8_vann5s4_va6reta_ve5l4ar_ve5l4os_ve4l5ov_ver5ste_vi4d5å4_vi6seri_vok5s6e_ære4s5a_øve4r6saarie9nea5de4serad4s5amtad5s4letad5s6tekafore5neaf4t5e4lagang7s8age5riskag5s6ingagsmå6laakk5erstak4s5andakse3l4oak4s5elvakst7renakta6le_akt5s4laa5lande_albu7er_ale6s5kralla6ge_alle6ge_all5erstal6list_al7skarealta8le_5alternaal4t5etaal4t5etea2l5y4teamen8de_am8periaam6perieam5p4letanak8te_an4da5m6anderle7and8sendand7sleta5netikean5e4tisanfø5re_an4g5enhang5ermean8gesteangs6troang4t5reang5t6veann6s7kåan9s6und5ansundaan5t6andapo5s4tiarau9kenarba8ne_ardfø5rearen5tesa4r5erfaarev6ne_ar4k5løfar6s5ersarta6le_arvi8se_a4s5kopia5s6kulaa6standeas4t5enhastu8ve_ateke7taa6t5ektea6t5opprat7s6katattfø7reatvi5er_atyr8ke_auba6ne_au5e6te_au6s8tasaus8tett3a4van5savar6ta_av5isingavspe9g4ba4k5endbak6kersbak5s6tibari6e7nbebo5er_be4g5re_belle5sabel4te5sbes6s7a6bes7tensbe5stes_bevi5se_billa8gabjek4t5oblings6iboksi8dabo4l5o4rbor6t7efbor6t7etbose8te_bus6sentbørs8ta_ca5s4tilce4ne5s4cen4ti9mdalbu8er6d5ameridata6le_del5ei4d6d3e4levdel6lerfdel4s5atdel6taladelø6pa_den4s3t8den6t5u65de7rastde4r5edd8derest_6derestedero8se_de8s9hopdesi4s5t6de5s6prdeta8ka_deva8ne_devi9er_dheim2s5di8g9anddi3ge4s56d5i6meldisie5ned6jingand6jingardland7asdlei7er_dog4me5sdoli8ne_dom8s5e66d7on6kldor6gestdrei5er_drei7ernds3a6deldsak6se_dsel4s5ad6s7endadsen8de_d4s5e4skds5identd6s5kjøtd9slott_dste6ma_d6s5tempd5stillidsva8ne_dsvi6ka_eate6renebe4d3e6ebei7er_eben6s5kebo5ers_ebu4e5reedi6a5needle6ge_edok8se_edyr6ke_efisken8efle6ge_3e4genskei4m5a6le4k5ret_ek7s6telek6t7armektori6ae4k5ve4delak8se_e4li5g4reli6v7enelli7ga_el3se6s37elskandels5kareel5s6åpeelta8le_el4t5ettelun6ge_elvæ6re_emini6stemse8te_enat6s5pen4d5andenge6r5uenne4s5vensi8de_ensi5erten7s6opten6s7talen7timenen4t5rolentropi5e5rande_er5a4pine5rasaneerau9kenerbo8de_er5e4gene6r5ektee4r3e4leer5endene4r3e4vae4r5e4veerev6ne_erhø6re_e7ri6ma_6eringarering6sieri5stilerkeri6eer6k5etterle6ge_erle7s8termo8de_ermå6la_5ero4b7rers5tenser4te3s4ertå7renervæ6re_e6r5ør6se4r5øy7ee4r5øys_esei8ge_eskinns5e7s4mettes6sendies4s5enkess5e4vaess5tilte8s7ter_e5s6terkesterne8est5reneestå5renetall5s6etnings7etsla8gaetta6le_etter5atet5t6erfettvi5see5t6vange4v5antafal6lersfan7teskfa6t7ersfentleg5fers9karfikalie6fil6lerifil7letifil8m7atfil7tresfin6slegfin6te5sfisk5a6dfisk5andfis6kartfiti6me_fjæ4res8fol5lesefolke5s6for9drevforlø9paforlø9seforsi9dafortei9eforti5daforva9refosfo5refred8selfres7ko_fres5koefri5a6refsle6ge_ften5s6vfte4r5a4ftsla6gaft5s4lanft6s5topft5s6trifug6l7egfy4r5a4bgamme6l5gan5g6en4g5antregass5ettgas7t6ragdevi8sageak6te_7gedommegeen8de_gehø8ve_gelei5er3gem4s5tgene5ve_ge4r5antg9er8ma_ger4s5afgerø6re_ge4r3ø4vges6tekkgest5ridges5vik_geta6le_gg5s4par6gingenigiste6rugje8v9akgle6deroglei7er_glori6anglun8ge_go4n5and3g6or4a5grand3s4gra4v3akgrei6enegres6sakgri5setegs5akersgsel4s5ags6ende_gsen6ke_gsle6ge_g9s6mertg6s5porsg9s8tandgste6ma_g5s4terfg5s4terkg5s4terng5s4tersg5s4tervg5stredeg5strekeg5s4trofgstyr8kagtråd5s6ham6nesthams4t7rhand7skrhan5n4o5heder6s5he4l5ei4hel6lesuhenfø5reherle9geherli9gaher6resiher6ska_heste5rihet4s3a4he6v7armhof4f3a4hof4f3e4hof5f6erhog7strahudså9rehu5s6a6rhu6s7arrhusa7r8ehust9ranhånd5skria4l5ettia5r6e8l5identif5identiti9de5re_iderle7gidsla6gaien6delaie4r5engi5e4tabli6gedommigedoms5igli6se_ik6k7entiksmå8laillan8daillæ9re_il4m5estilset8jeilsle7geilsva9railsva5reilt5rettina4t5ak5industrines8ke_ine5s4tiin4g5aldin5n6ovain9s8kasins5kjøtins8legain8s5te_ins5ten_ins9tens3in3s4ti4in3s6toinst5relin8t7egein5te4t5iorla8gaiota6le_i4p5ingsippel7s6ippsy8naipru8te_irti6g5ri2s2e3g4isk9art_isk5arteiskla8gais6k5rinis5pane_iste6ma_i8s8tre_i4st5reni6strer_itan7s6vit7jaranitma6le_itostra6itsla8gaitte4l5oium4f5ari4um5s4tivle6ge_ivyr8ke_jak7kelejar5tet_jek6kerujek4t5injelei7erjell5angje4r5antjer6n5asjet4t5anjet6termkaf5ferekal6lero5k6ande_kat6term5kegladhkel5eierkels7karkelø8pa_5kenattskenne4l3ke6r5engke4r5ert6keringi6keringj8kerist_8kerista6keristekero6se_keru6se_kerø6re_8ker8øya6ker6øye7kesdalek9es8ka_4ke5sted4ke5stei4ke5struketa6le_ketøy6s5keva8ne_kevi6sa_king5andki4v5enhkjel7legk6kandenkkar6ta_kk5e4levk6kerentk6kestadk4k5jernklon7a8lklyse7tekna5t4reko4g5engkoi4e5nekone5l6åkord5s4ø4ko7rei97k8ra4sjkrin6s7t7krisenekses6selksla8ga_kslø8ve_ks4t5rekk9s8vakeksva8ne_k7s6vertk6t5elskkt5e4litkterie5nktes6ke_k4t5e4taktev6ne_k6togramktori9e8kt4s5ambktyr8ke_kund5s6lkuru9kenkuru7kerkyrie5nekyse8te_køy4e5nelan6germlang4s5elan6g5ø6la6r7etalari6e7nlat4t5isl6derklælderle9gldsla8gale6bostalefa6ne_le9geranle9geraslei5endelei4e5nelei7ger_lekt5ordlekt4s5tlen4s5aklen8t9rale2r3amb4le9r8eileru8se_leta8le_lge4r5anlg5s4kreli4g5enhlig5s4tilil5lebe6l5inntrlis6terk4lis6tillis4t3u4lit6telelit6terklit6terml6je5t6rlkali9e8l5kestadl6l5ekstllen6da_ll5endenllmue9nellmu7ensllsa6me_llun6ge_lmyr8ke_lob9byanlo6g5e8vlole6ge_lo3ve7d66l5overs6l5overtlsan6ke_lse8s5trl2s3kildlskinns5lsle6ge_lson6de_lsve8en_l4t5erstltle8ge_l5t4restltsa8me_ltu5r6enltu5r6erlub6bandluk6keri3lu5t6helut4t5atlvin5g6rlvly8se_lyk6kerily4s5a4klyse6te_mali9e8nmal4t5ekma4t5rasma6t7romm8at7t8rme5l4aks6m5e6lemme4l5engmello6m34me5l4å5me4r5antme6rensem5fru5s6mi4n5ersmisha9gem8jinganm8jingarmlei5er_m6le5s8vmman6dolmme5t6remnes9tiemofo6bi_4m3o4riemorla8ga6motsagdm4p5antam6peressm4p5erfampun6ge_m5s6toppm8strandm5stranemutsa8lamålø6pe_må4ne5s6na4l5ettnari4e5n7nariksknditori5ndit4t5and4om4s3nd5resennd4s5ambnds5endendsla6gands6lettnds5trekndta6ka_ndun6ge_6n5eddik5ne4e4r5neg5lesp7neleggjnelei5er6n3en5trnere6de_nerla8ganers8ten4ne5skar5neskinsnes9tas_neta6le_netå5ker6ne8ventnfor9en_n8gan8dan5g6ros5ngst5ridnian5depnings5ten4k5erfan5k6langnland6senlei7er_nmusik7kn6n7antan5nes4lannhø8re_nni4s3t6nnle6ge_nnlø6pe_n4n3o4venn4s5ambnn6s5enknnse6te_nn4s5i6snn6s5jaknn5s4klinn6s5tabnns5teltnn6s5trennte6se_nodi4e5nnors6ka_nose8te_nsak6se_n5saren_nseri7e6n4se3s4vn6s5jordn6s5kaukn6skjelen7slararnsle6ge_n3s4lektnsmå6la_nson6de_nste6ma_n4s5tilsns4t3i4sn5s4villn6t5arvin6terestnte6riskn4ti5stintrol6linæ8rast_oak6kanaoar4d5inoa4r5e4goa4r5enhobers5taobers5teod5s4tolo6gi7strogs5t6raoka4n5i6ok6serinokto4r5iolbo7ge_oldo7ve7old3s4kroll5overo6l7o6seolun8ge_omsku9laomvæ8re_omyr8ke_o4ne3s8tonsla6gaonst5rumo4p5landop4p5artord7e6plor4d5iseore6o5g6orfa6re_orfø9re_ori4e5neorko6se_orse7te_orsk5ei4orsmå8laorsva9reorta8la_or4t5andorte5i6gor6t5erfor4t5ermosi6e7neossis5teote6k7laotel6lanotel6leko4t5endeoten8de_otes6terotno7te_o6togramove8r5es5oversikovta6le_pakk7eslpekt7rospe5l4akspensa8laperie8nspero6se_per6regjper4t5råpeva8ne_pike5r6opillega6pille6rapio6n5anpita7la_platina5p6le5n4upol6s4kapor4t5ropp7e6senpp5e4tasppir8re_ppropri6ppse6te_prei7er_pres6sakp6restasprø5velspslø6ve_psmå8la_psøy9enepunk5t6erali5e6nramperi8r4an9de_rand5s6aran4n5inrans7kar8rarinna6rarinneraska8rara5s4tilra5t6røyrav8l9utravlø8par4d5erstrdi6gresrdon8na_rdvi8ka_rein6skjreis6ledre5k6lirrele8ge_rel6landremi6eneremti9da6r7entit4r3en5tr6re9rangrero6se_resi7ereres6sortres9tanerett6set5retøya_reva5re_re6v7enhre4v5innrhånd6s9rien5t4rril6lestring4sa4rings5akring8spa4ri5stedritt8s7trko6seler4k5ve6dr4l5e4rirling3s4r4m5altermin5skir6m5instrn5e4tabrnsle7gern6s3ovn5robølgjrok6keri3ro5m8an6ronista8roniste6ronistirot5ekters5e4rikrsk7innsrs5kjensrso7n6alr4s5tabbrstev9nar4s5tilfr4s5tilhr4s5tilsr4s5tilvrsvar4s5rt5e4litrten4s5krtentle8r4ti5strrtma6le_r4t5rekort4s5tøyrts5unde6r3underr5unders6r7u6sikru4s4t3rruta8la_ru9tene_rveis7e6rville9d8r3æ4renrønn5s4a6røy4s3kråta8ka_4s5alarmsan7d8al5s6ande_4s3a6nek5s4ansen4s5ans8l4s3atmos6s5atten4s2e7g8rsek2t3ansekte9ra4s3e4lev4s3e4lit8s5elskese6l7u6rsel4v5akselø8pa_sen6delasene8se_4s5ensemseperso5ses4s5ins5ettersseure9neseva6ne_sfisken8sik4k5elsit6termsjek4t5os6j3t6sj5s4kal8a9s8kapa_5skapen_skei5er_s3ke4t3j6skjemas4s5kjærlskjø5res6s5kulis7slegare5s6legasslei5er_s6len6t37slottetslum5p6eslæ6rari5s4makensolei5ersommar5a5s6paser8s9plantsport6s58sprinsi5s6prosssrå6dersssar8ve_ssau6se_ssel5v6åss5endenssen6ke_s5s6jargsstel6li6stande_stang5s6s6t5antr5stegspl5s4tenen4ste5nesstep7pers6terests6teri6vstga6ve_stgå8ve_stile9ge5s4tilt_6s5tiltas6t5jent6s8t5ord5s6tore_stra8na_st7rast_5s4traum7s6treik3s4t6rip6s4t5romst7ro6pastsa6me_stta6le_8s5under4s3u4reisverd5s44s5viktis6vindelsving5s4ll6svint8s3æ4ren7s6æ5te4søk6s3e6sø4r5endsår9ast_ta6d3e4ttal8ligntall6s9at5altern5t6ande_t7andel_t5andeletandør5e4t5anstr6t7antre4t9arenatart7estta6r5å8kta4si5s4tate8se_tbe6t8ratedo6en_tedo8et_t7ei6ge_5te4l5artel8ligntelø8pa_tempe8l7ten4t5intep6perete4r5engteren6gater5estiterla6gaterle7ge5tersjøoter7s6kotervi6set9es6ka_5tes7te_4te5steite5s6tivteta6le_tifa8ne_6tikular5timedie4tim6o8rtin5ge4stise8ra_ti4v5andti4v5arttlei5er_tokk5endto4l5armtoli8ne_tol6lettto5mene_tomlø8pa6t5opple4t5opplæto4r5ant6t9rabattran7ske4t3rekor3t6re7nat5represt5rettedtsak6se_tsen6ke_t5s6ers_5t6sjov_t4s5kjedtsmå6la_t2s3piket2s3tabbt4s5trenttem6ne_t4t5ensettes6ke_ttle6de_ttsla6gatt5stillttun6ge_tun5gesvtut6tenkt8viklast4vi5l4itørs7ta_tørs7tertørs5tinudle6ge_u5e6rastuf4f5ermuft5s4laugrei9erug5s4va7uinnsmi8ukt5e4skuk4t5oriuktue5reu5leste_ulleg8gaul4le3s4ulling7sul4l3o6sul8s3t6rulyk5kesumau7kenumen4t5i5underskun4n5ersun4n5ervunnta8launst5e6lurau9kenuregist5uri6a7neuri4e5neurle6ge_urle8se_u6s5endiusle6ge_u6standeust9etteu7s6valtusvi8ka_u6t5a6sau6t5a6seutda7ta_u5t4radiut5toreautun8ge_uærle9gevann6stivan5s6kivar4s5tivarta9lava6t7e8lvding5s4ve5g6lødveg5rettveks4t5rvek4t5anve6r7engverfø5rever8ska_ve6s3pervest5o4v5vesyndsve5te6s79vetoks_vgjer6s7vil4l5anvil6tretvin5gom_vi4t5øy4v4s5e4livsre6de_vste6ma_vven7n6ivvi8s9anvøy7ene_vøy9enesvå9kene_war6d7erwestern7y4d4r5auyk4k5enhyk8k5vi6ym4fe5d6yns9ket_yn4s5very5reste_yres6tenyri6ene_yrs7teneyrs5tensyrul8la_yrå6dersyseri7e6y4se5s6lyter5skeyt8tien_æri6e7neærle6ge_øffe8l7aø6keradaølge5s6vønhø8re_ønns5kjeønns5kreøpsla8gaørele8seør8k9lagørsa6me_ørs5tensør8tien_øs5terseøttså7reåkva8la_årsla8gaåseri7e6åtri6pa_åtri8pe_", + 9: "_be6d5ene_blek4k3f_bo4k4en__brudd7s6_bruddså7_de7r4i5v_ein5s6ta_ein8s7to_fem5o6g5_for3d6ri_for7d6ra_fri5e6re_ge5s6tap_hand5s6l_handsla9_høy6st5æ_hånd5s6l_in6n7eks_in6n7ets_in6n7ett_kalve5l8_ka5r6a5v_kor6s5ed_liv8s7u6_mak6t5at_me3ta4ll_mons6t5r_mor3t6a5_nær9ast__overen6d_plus7s6e_rap5s4o4_re5s6tan_san8s7ku_sel4v5i6_sju5o6g5_skudd5s6_skuddså7_sky6f7la_snitt5s6_stein7a8_stein7s8_strek5s6_torsk6e5_tota9la__tre5o6g5_tre6skja_tre3s8ko_ut6e7sko_ve6l5art_ysterie8adsle6ge_akelei9eraktle6ge_a4l5en5tralere6de_alvak8se_al8v9er8mand5s6trean5e6tikaan5e6tikkangs8t9råankra8na_armle6ne_arneva7laasseri7e6assku6le_aus6t7isebaken6de_bi3o8m3s4blesse9nebobba6ne_brevi9er_bunnla8gabusse6te_cerba6ne_dan9s8kandatali8na6d5engen_den6t5antdfø6rararding8s5ending6s5erdleva8ne_8do9b8landomsla6gadyrle8ge_eftle8ge_egøy6e5neeiseri9e8eli5e6rerelo7vers_eme6triskemp9lane_endelø7seentun6ge_erdsto8gae4ri5s6toerland7aser8skarane8s9kjer_esstu8en_5e6s5timaetal6list5e6tasjesetsku8le_fangst7evferi8e5nefis6k5endfjel6lendfor9e8te_for9e8tenforsi7de_forta8le_fri5s6tilfrite8re_friti8me_fronta9lefruta6le_ftsle6ge_fullfø7regares6ke_gart5s6lagenle6ge_gesta7b6lg6ges6tiogi6st5rerglere8de_glorie7ne6gometrisgres6sentgstatsrå7gst7evnengstri8de_hek6serinhimme6l5ohøyse6te_8icanarariderla8gaiktsla8gaildsfa9reili5s6tikin6n7etteio6n5erstipplæ8re_ipsle6ge_ita6l5ersjamhø8ve_jor6d7ervjor6d7is_kan6t7endkelei8ke_6k5en6den6k5en4derkesle6ge_4ke5s4tenket6t7enhkil6le5stkinnsi8dakinsi6de_kinti8me_kke5r6undkor6s5innkos6t5erskrani6e7nkspor6t5r6k6s5porskstev6ne_kterie7nskti6v7endktsle6ge_kumen6talkvari6e5nkyn6skjerkøn6skjerlakterie6lder5s6telder6s5tile6sk9u8tlesse6ne_ling7sen_l6l5e6rikllet6telelob9byar_ltesa8me_mari8e9nemarmo9ra_menle6ge_m5funn8s5mmatik7kamo6te6g6empera8te_mperi6e7nmse8t9jasmuske6l5a7na7bortrnatori5e6nderla6ganditorie6ne9a8r9anned5over76n5en6denngsmå6la_nnomsy8nanor6d5endnormlø7senstar8ta_olele6ge_ordre8gi_ordsa6me_orgi6e5neoriti6me_osseri7e6otekla8gaotshusvæ86p5enden_pil4le5s6pis9t8ra_plun6d7rip8p9ender3pr6in6s5rambu9ensramse8te_ramta8la_ramta6le_ran6n5ett8r7a6telir7d6æ5r6ere7a6r7anred7s6ledren8ne8slrennes9lare6s7kje_res6t5erv7retøyetsrfø8rararrg5s6tillriferi9e8rkeslø7ser6n5apparr6n9a6visrnele6ge_rolle8ge_rolle8se_ronta6le_rote7sterr7rebart_rt7s6trek7r4under_ryl4l5i8sr6ørende_røy8senessand5s6lo5s6a5v6in5se4au3sk6sedvanlesei8e9nessel9s8lagsen6s5endseri6e5nesfri5e6re7sh6e4rifsing4s5a4s8k5e4lev5sk8inns5spe4r5andssari8e9nssi7e6rerssi6v7endste6in6s5v4s5tekstsøren6de_8t7allergtamba6ne_tek6lede_6t5en6denterba6ne_terle6ve_tersø6ke_4te5s4til5t6jingan5t6jingar5t6retteltsje5t6sjttaba6ne_tteli6te_ub7lande_uguay7ansuinnsmig9uk7kestaluktu8e9raulele8ge_umsku8le_unele6ge_un7s6tenkuntun8ge_uran6t5reusove7r6eutse8t9javar4t5i4svatle6ge_verta8la_verta6le_ves6t5endville6de_vit6te6s7vitun6ge_y4d4r5oksyenle6ge_ykke6s5tayns7kjeleys6a7kersysterie7nyttsa6me_ønn4s5i4døn8skjer_åkøy8rar_åle9s6und", + 10: "_fire5o6g5_gra4v3end_oppla8te__skritt9s8_sy6v5o6g5_tver6r5a6_ut3kan6t5_vil5l6a5l_vil5l6a5t_øyele8ge__åtte5o6g5amen6t7arvansport7s6augele8ge_be4g5rene_ber4g5endeb5s6e6a5m46d5en6den_dritun8ge_en6s7a6kerer9s6kararframma8ne_fremma8ne_fullen8de_funnsla8gagestri8de_her8s7kareil6l7enderkinnsi8de_kses8serie8lemetriskle8p9endenlistyr8ke_mse6t7jarengstyr8ke_nteriø7ra_5og5s6y4v33pr6in7s6e3pr6in7s6irdenta8le_9relandsk_9relandskerifiserba88s7en5trepsikk8artet5s6kjer4m33skjer5m4es6k5undervsomme6r5e6tentle8ge_ukteslø9seungele8ge_us7edvanlevi6n5o6vervnor9s8kasvve8g9ing_vve6g7ingaykjeva8ne_ylkesla8gayn8s9kjer_ytte8r9endø7reskrivi", + 11: "_blekk3s4t6_blekk9s8v4_rett7s8kri_sek4s5o6g5anseri8e9nedgjø6re7n6hgjen1opp3s4inseri8e9nentres9kjareonstitue9raonstitue9re" + }, + exceptions: 'atten-de, aust-røn, aviser, betre, bortan-for, bortre, Dansk-øya, der-etter, dess-uak-tet, dit-over, fram-ifrå, før-enn, her-etter, her-etter-dags, hvor-etter, hvor-over, høyt-ærede, gi-vet-vis, lands-øl, lands-ølet, lands-ølets, langt-ifra, ned-imot, noens, Not-odden, Not-oddens, nøye-reg-nen-de, opp-imot, oven-ikjøpet, promp-te, spleen, sel-ves-te, smal-enden, sørpe-is, sørpe-isen, skrov-is, skrov-isen, Steins-land, syd-enden, tvert-om, velan, velet, welt-schmerz' +}; \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/patterns/nl.js b/alt-implementations/readifry-master/hyphenator/patterns/nl.js new file mode 100644 index 0000000..292fb6f --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/patterns/nl.js @@ -0,0 +1,17 @@ +// For questions about the dutch hyphenation patterns +// ask Remco Bloemen (remco dot bloemen at gmail dot com) +Hyphenator.languages['nl'] = { + leftmin : 2, + rightmin : 2, + specialChars : "", + patterns : { + 2 : "1b1çè1ê13ëî31ï3ñ1q1ü1z", + 3 : "_a4_b4_c4_d4_e4_é2_f4_g4_h2_i4_j4_k4_l4_m4_n4_o4_p4_r4_s4_t4_u4_w4_y2_z44a_4aea2ë2aha2qa1ta4üä3hä3r4b_3ba4bbb4o4bvby34bz4c_1ca2cbc4d1ce1céc3g3cic3j1coc3w1cy4d_1da2db1de3dè1di1do2ds2dt1du2dv2dw1dy2dz4e_4eae1de4ee2ie3oé3aé1dé1gé3hé3jé3né3pé3ré1t4ècè2lè2sè5tê2pê5t4ë_ë2bë3cë3dëe2ë3jë1l5ënë3pë2së1t4f_1fa4fbf1c4fd1fe1fé3fè3fê1fif1jf1n1fo3föfr44ft1fu4fv2fz4g_1ga4gd1ge1gé3gè1gigl41go4gs4gt1gu4gv1gy2gz4h_4hb2hdh4eh3hh3j2hlh1n2hr4hs2ht4i_i1a4ic4iei1è4ifi1hi3ii2j4ik4is4iti5w4izît42ï_ï5aï1cï1dï3oï1tï5z4j_j3bj1cj1gj3hj3j2jkj3r2jsj3vj1w4k_1ka1ke1kik1j1ko2ks4kt1ku2kû2kvky32kz4l_4ld1li2lm4lp4lsl1w1ly4lz4m_1ma4mb1me3mé3mè3mê1mi1mo2ms2mt1mu2mv1my2mz4n_1na2nb4nd1ne3né2ng1nin3n2ns2nt2nvnx31ny2nz4o_4oao4e2oë4oio3ï2oko1ö2oso2v4owo4xö3lö1pö4rös44p_1pé3pêpr42ps2pv5qequ44r_r1cr1gr3hr3lr1mr1p4rs4rtr1wr3x4rz4s_1sc3se3sé3sès1h1sisj2s1ms4qs2t1sus4y4t_1te1tétè33titr44ts4tv4tzu1a4ucu1du3èu1hu2i2uk4up4uzü4bü1n1v22v_v4bv4e3viv3j3vlv3tvy32w_2wbw1cw1gw1hw1j2wnw1p2ws2wtwu2w1wx1cx4ex1fx1hx3lx1mx1px3rx1tx3wxy3y1ay1cy1ey3èy1fy1gy1hy1iy1oy1py1rys3y1t4z_4zb4zc4zdz4e4zf4zgz2i4zm2zs2zvz4w5zy", + 4 : "_af3_es3_eu3_ik3_in1_om1_os5_st4_ts4_ui2_xe3a4a44aad4aag2abr4ac_4ace4ack2acl2acr4acu4ad_2add2adh4adk2adl2adp2adsad3w2adyae3ra3eua4ër4afa4afe4afiaf3l4afoaf1r2afy4ag_a2gr2agta1hiah3la3hoah5ra3hua3hyai1ea1ijai5ka2inaio4aiu4aïn42a1jaka2a2kr2aksak1wa1la4alda1lea3lèa1lo2alpa1lu4am_am4i4amm2anca1no4ans2a1oao4gao2la4oma3os4ap_a1paa1peap1j2apl4apr2apt2apu4ar_a1raa1rea1riark2a1roar2sa3ru4arwa1ry4asaa2sc2asea4sjas3kas3las3mas3n4asoas1pa2st2atg2atm2atnat3waua41augaup2aur44aus4auz4avia2vo4avy2a1way2a4b1cb5de3b4ebe1abee4be5gbet24b3f2b1g4b3h3b2i5bilbir34b1j4b1k3b4l2b1m4b1nbo2kbo4sbo3v4b1p3br4b5scb3sibs5s4bt4b3tab1trbts53b4u2b3w3ca_ca3bcae3cau3ca3v4c1ccca3c5do3cedcee43celceo4ce2s4ch_2chc1ché4chn2chp4cht4chw1chy5cij5cilci3o5circ3ky1c4l5clu2c1nco3dco4i5com2cooco5vc3p4c3soc3sp2c1tct5c1c2uça4o3da_3dae3dag3daida3ïd4am2d5cd5do3de_de3g2dei5dekde4ode2s2dex2d1f2d3gdg4l2d1hd5hedi2a3dig5dildi2o5div2d1j4d3l2d1md5ne3do_do3a3doi2dop5dou2dov2d3p1dr43dra2dredse2d2shds4ld2smds3nds5sdst4d1syd1tad1thd2tjd1tod1trd1tu5duedu4ndu2od1wed1wid3wre3aae1abe3ace1ade1afe1age3aie1ale3ane5ape3aqe1are1ase1ate1ave3boe5br3ecde3ce4eck4ect3eczed1seea4ee5bee2fee3iee2kee2l4eemee2nee2ree2tee5vee5zeën3e5ër4efie1fle1fr4e1ge2gle1h4e5haei5a4eidei1ee3ijei3o4eize1j2e3jee3koeku4e1lae1lee3lé2eli2ema4enf3enqe1nueny4eo3de5oee5one5ooe4ote1pae1pee1piep1je1ple1poe1prep2se1ree3rie3röe1rues4ee3sles2me1sne1soe1spe3sue3sye1tae3tee1the1toe1tre1tu1euceu3ee1ume3uu2euw4e1we5wae5weew2he5wi4ex_4exi1expeys4e5zae3zoezz4édi3èta5ëen3ën4eëns2ënt2ë1raë1reë1rië1roë3siës3tët4sëve54ëzu3fab2fadfa3gfa3mfa3vf3dafe2af4er4f1ff5fef5fiffs2f3fuf3g2fge34f5h3fib5fie5figfi3ofi4rfi4sf3kef2l24f1m3fob5foc5fokfoo4f4orfo3t4f1sf3scfse2f2shf2sifs2mfs2pfs4tf3syf1taft3hf1tof1trf1tu3fus2fuufva23fy13ga_3ganga4s3gat2g5b2g1cg3deg3drg3du3ge_ge3age3c4gex4g1fg5geg5gig5gl2g1hght4gi2f2gijgi2m5gir3gis4g1j4g1k4g1m2g1ng3nagn4e4gnu3go_3gob2goc2gofg4og4gohgo2kg2oogos12g5p1gr43grag2scgse4gs1jgs3lgs3ngs3pgs5qgs5wg5syg1tag3teg1tog3trg1tu5gu_3gueg5vo4g1wg5wa4gypha3gha3v2heahe2fhe4i2h3f4h5ghi5dh3la2h2mh3mah3meh2nahno32ho_ho3aho2fho3v2h1phpi4h4rehri4h3sah3sph3stht3w4h1w3hypi3aai4abi4aci3aei3aii2ami3ania3oi3ati3cei2drid3wieë2i2ekieo4i4epie2uie3vie3zi3ési1éti4ëgif3lif3rig4ai3geigs4i5ieii2ni5is4ij_ij5a4ijd4ijeij3i4ijnij5ui3kei3kli4krik1wi1lai3léil5fi3liil2mi1loi1lu4im_4imfi3mu1infi1noi1nu4i1oio5aio5bio3fi3oli3oni5ooio4si3oxi2ozi1pai1pei1piip1ji1pli1poi1pri4psi3rai3réi1rii1roir2si1rui1sai4sci4shi4skis3lis3pis5qi5syi1tait2ii4tji1toi3tuit3wiu4miu3ri3veiwi2i3zeïn3uï3riï3ro4ïs_ïs3aï4scïs3lï3soïs3tja3b2jaf1jag1jar3jawjaz4jda2j3drjd3wjea4jel4j1en5jepje2t5jeu2jewj3exjf3ljf3rjf2sjft2j3gejif3j3igj3kaj2krjk3wj1laj1lejl5fj1loj3luj3mijm3sjnt44joij3omj3opj4oujoy3j3paj1pejp1jj1pojps4js1ajs3nj2suj3syjt1hj3trjt1sj1tu1j4uju3d4jumjus32kafk3ahka3i3kamkao3ka4s2k3b2k1ck3ca2k5dk4eb2kefke2sk2et2k1f2k3gk3ho2kiëki3ok3jo2k1mk3makni2k4ockoo42k3p1kr43krak4siks1jkso4ks5sks4tk1syk1tak3tekt1hkt3jk1tok1trk3tuku5kku2rkut3k3ve2lac2laf2lall4anla3q2laula3v5lawl4az2lb42l1cl3drl3duld1wle2alee4le5ole2sl4folft42l1g4l1h3lid3lièl4ig2lixl3kel3kil3kolk2sl3kwl3ky2l1ll5lal3lol3mel3mil3mo2l3nlo3alog42lorlo3vl1pal1pel3pilp3jl1pll1pol1pr4l3rl3sils4jl1sll1spl1stl2sul3sy4l1tl3trl3tuly5im4agmaï4ma3qma3vm5blmb4r2m1c2m1dm5dam3dom3drm3dwme1cme4im2el3menm4es2mex2m1fmf4lm5fo2m5g2m1h3midm2is2m1j2m3l2m1m2m1nm5na5mo_mo3amog24mok3mom2mop5mosmo3vm3ox2m1pm3plmp2r2m1rms2cms2jm1slm1snmso4ms4tm3sym1tam1thm1tom3trm1tumue42muk5mut3muu5muzmve42m1wmy3emze43na_2nac5naen3aëna1h3nai3naï3nam2napnas22n1cn3cen5con3dend1wn3dy3ne_nee43nemne2n3nesne2u2nex2n3fng4ln3grng2s4n3h3nilni3o3nisn1j4n3je4n1knk2jn4kw2n3lnn4i3no_1noc3noï1nom1nos1notno3v3nox3noz2n1pn3ps2n3rn5ren5rin3sin1slns3mn1snn1sons5qns5sns4tn3syn3tan3ten3tèn3ton1trn3tu3nu_3nuc3nue4nuf2nui3numnu2n1nus4nuu2n1wn3xenxo4o3aao2ado3afo1ago3aho3aio1aloa2mo3auo3avo3ax2o3b4ob_3obj4obr4ocaod3woe3e2oep4oerof3l4ofoof1r4oftog1lo3gy2o1h3ohmoi1eoi3joi5k2o1joku4ok1wo1la4oldo1leo3lo4ols4oma4omeom2i4omm4omo3omz2onco4o24oo_oo3c4oofoo4goo4l4oonoo4soo4t2opa4opfo1piop3l1opno1poop1ro4ps2opto1rao1reo1ri4orpor1uo3ryos3fo3sio4sjo4skos3los4no3suo5syo3teo1tho4tjo1to2otro1tuot5w4ou_ou5aou1cou1e4ous2ovi4ovl4ovrovu3o1wao1weow3ho1wiow2no3woow3roys4öpe1ös5tö5su3pabpa3e1pag3pakpa4m1pap5paz2pb42p1c1ped3pegp4el3pes2p1f2p1g4pho2pidpi5op3jip1jo2p1kp2l22p1m2p1np3na3po_3poë1pol1pom1pospo3v4p3pp5pap5pep4psp2ra4psep3sip1slp1sp3psy4p1tp3tep5tipt3jp3tr1p2u3pubpu3e3pun2p1w1py12p5z5quor2aa2racra3ora3q2raur3cer3co2r1drd5lr3dor3du3re_r4ef1reg4reqre2ur3fer1flr1frr4igr5j4r3knrk2rrk1sr3mo2r1nr3narns4r3nuro1ar4oc3roë1roïro3v3royr3pa2r5rr1slrs4mr1snr1sor1spr3sur3syr1tart5cr3tor1trr1turt3wru1e4rufru2gru2kr2umru4r4rut4ruur4whr3yu5sa_s1aa1sab3sah3sai3saj2saks2alsa2p1sat1sax4s3bs5bas5bes5bo2sca4sce5scè2sci4scl2sco2scr2scu2scy4s1ds5des4dhs3dos5drs3dw5se_se2as4ebs4ees2els4ems4ens4esse4t4sez2s1f4sfi4sfu4s5g4shesh3l4shm5si_5sicsi5è3sirsi4s3sit3siu3siz4sj_s1jesjt4s5jusk4is3ko4skus2l4s2n43so_so1c1soe5soi3soï3soks2ols2om3soosos4s4ot2sov4sp_sp4asp4o4spt4s5rs5ses5sis5sls5sus5sy4st_2stb2std2stf4stg4sth2stk4stl2stm2stn2stp1stu2stv2stz5su_5sua5suc5sud3sug2sui5suk3sul5sum5supsu4s4s5v4s1ws5wo3sy_4syc3syn4s5z2tac4tadt2alta3ota3q3tas3tau3tax4t3b4t3ct4ch3tea3tectee2t4ef3teht4elt4emt4ent2er3test4ev2tex4t3ft5ge4th_4thm3thr2thu5ti_5tia5tibt4ilt2is1tj22tjo2tju4t3l4t3m4t3n5to_toa23toc3todt4oeto2f3toit2olto3vts2jt1slts5qts5st1sy4t3tt5te3tua3tub4tukt4umtu1ot3ve4t1w1ty13typtys4t3zat3zit5zwu3acu3anua3puat42u2bu5biu3bouda2ud1wu3ecu3efu3eiu1elu1eru1euu3ezu1fluf2su5gaug1lu2goui3e4uig4uik4uim4uisui3v4u3juk1wu1lau1leu1lou3lu2umeun2cun3gun4ou3olu3onu3oou1oru3osu1pau1peu3phu3piu1plu1pou1pru1ra4urfu1ri4urku1rou3ru4urvu4scu4sju4smuso2u1taut5cut2hu2tju1toutt4u1tuut5wu4u44uutuw1au1weu1wiuw1ouw1ruw3uuxa3u3yaü3riüs3lva2nva1pva3z4v3c3ve_5veb3vek5vel5vemve2rvi3ovje45vo_3voe3vog3voi3voovos33vot3vouvu2lw2adw4ag4wam3wapw4ar3way2w1dwe2a3wed3wegwe2mwe2n2wex2w1fw4ijwi4k3wil2w1k2w1l4w1mw3new3niw3now3obw2oewo4lw3scw1slw3spw1tow1trwva2xaf4xa3gxan3xi3gxi5ox4opx3sox3spy3aty3coy1d4y5dryes3y3ésygu2y4iny5isy3lay3ley3loy3nay3noyn1ty3ony3osyo3typo3yp3sy5riys4iy3syyto3yu5ay3uiy1w4ze5k2z3h3zifzi4t4z3k4z3lzoi4zo1pzo2tzo3v4z3p4z3r4z5tzus32z3z", + 5 : "_aan5_aat5_ab5l_adi5_af5l_af5s_al3f_alk4_ar5d_as5h_as5l_as3t_as3u_at4a_bos1_coo5_cus5_da2k_dan2_de2k_di4a_di3o_do3v_du4w_ede2_ed3w_ee4n_eet3_ei3l_ei5t_en5s_ep4a_er2f_ert4_es5c_et4h_eus5_ge3s_gid4_go4m_ij4s_ink2_is5c_jor5_ka3d_ka5g_ke4s_ko3v_kun2_lof5_lu3e_lu4s_ma5d_ma5ï_me2s_mo4s_na3d_na3n_ne2p_ne4s_no5v_ol3f_on3a_on3d_on1e_on5g_on3i_on5k_on1o_opi5_op5l_op3r_op5s_org4_ove4_pu2t_re5o_ro4l_ro5v_sap3_sa5v_sci3_see3_set3_se5v_sno2_te4a_te4f_tek2_te4s_ti2n_to4p_to5v_tsa3_ty2r_ui5s_uit1_uke5_ur4a_zes5_zit5aad1aaad1oaad1raaf5aaag1aaag3eaag3oaag5raags4aai3laak1aaak1oaak5raal1eaal1iaal5kaal5maal1uaam1aaam3oaan1aaan5gaan5i3aanj3aannaan3oaant43aanvaap1aaap3iaap3raar3aaar1i4aarnaar3uaas3eaas3i4aastaat3aaat5eaat3haat3iaat1oaat5raba4la2bonab3rua3cala3car4ach_a3chaach3la1choa3chr4achsa1chuac3kl2a3co4actaa5da_ad3acada2dada4ladas5a5de_ad3eia5desa3det4ad4i4ado_a3dooad5sead3soad3uiaege4ae5k4a3e2pae2s3af3aaaf4asaf4atafd4iafd2rafee4a5fo_a2foeaf3opaf3s4afs2caf5se3afsl3afspaft4aaf5traf3uiag3afag3arag3dia5ge_ag3exa4gil4ag1lag3ofag4raag3ruag3slags2pag1stagu5a4a1ha4a5heah5t2ai5a2ai4drail3mai2loai3ovai3s4ai5scai5snai1soai1stai5tjai3traïns5ak3afak3agake2tak3idak5is1akkoa2k3nak5neak4nia3kofak3onak5ruak4soak1stak5toak3wia3lala5le_2alegalf3lalfu4al2gla3liealk3sal5leal5mealo2nal3ouals5jal2slals5mal4sna2luiama4f4amag5ambta2meu3ampèam2plam4sma3nad4anda2andja4nema3nen4aner4ang_an2granij4ani5t4aniv4ank_ano3sano5van1stan3th2antiant3w4a1nua5nufan3uian3uran3uua2op2aor5taos3paos5ta4paka4pas4a1piap3leap3liap3loa1pluapon5ap3ooapo3p1appaap3raa3preap3ruap2saap4siap3snap3tjar2daardo4ar4duard3wa3rega3remar4ena3revar3ghar2glarm3ua3roka3rotarpi4ars2ear3siars3lars5mar4soar4spar4su4artear2th4artoar3uias3adas4agas3akas1apas5cea4secas5haasis1as5jaas3jias5kaas5kias4luas5mias4neas4nias3obaso2laso4ras3pla4s5qas5sa4assm3assuas3teas3tèas1to4astras4tuat1acata3s2atekate2nat4euat3hua2t3jat4jea2tooat5ruatsi4ats5mats3nat2stau3chau3coau5deaud4jau3naaun3tau5reau3soau3t44aut_1autoauw3aave3cavee4a5vooa5voraxis44azifämme3ba4dabad3sba3gl5b2akbale4ba3lobals4ba4meba3saba4stba2trbbe2n4b1d4bdi5abe3asbe2aube3chbeet1beie4bei3sbe5kibe1kwbe3lebel5fbe3libel3kbel4obelt4be5otbe1raber4ibe3rube3rybe1s4be4shbe3sobe5spbes5sbe3twbid3sbi2dubi4enbij5dbij3fbij1pbik4abi3lobi5obbi3okbi5ombi5owbi4stbi1trb5ledbles3b5lidbli2kblu2sbody3boes4bolk4bo5nabond23bonebo3nobo3p2bos3abo5sibo5sobos5pbot3jbo4tobot3rbo2tubove4bri4lbro2nbru2l4b1s4b2s5absi3dbs5jeb2s5mbul4kbu4lub5urbbu5ribus5cbus3obut4abut3jbu2tobut4sca1ch5cadaca3doca3drca3g2ca3loca3nacant4ca2ofca1prca3racar4uca5secas3tca3tacces53ceelcel3dce5licel5k2cenece3no5centce3racer2nce5roce5scce3taceto43chaï5chao3chas1chau1chef5cheq5ches5chirci5abci3amcie3kci1euci5lecil3m4cindci5omci3t2ci5tac2k3ack3efck3idc2k3lck4lec2k3nc4k3rck5seck3sock5stcla2ncle3uco3adcoin5co3k4co3la5condcon1g5cons3copa4copico5ricor2o5corrcors4co3ruco5scco5seco5spco3thco3tr5coun2cout1c4r23crascre5d2crip3criscro5fcro5kcroo3cro5vcrus5c3stect3adc2t1hc2t3jc3tolct4orct3slct3spcu5d4cu3encu3éscui5scui2tcu3k4cu3racus3o3daagd4aald3aap5daat4daboda4ce4dadr2d1afda3geda2guda3ke2dakk4dalad3alcda3le4dalfda3li2dalmdam4a2d1ap5dapud3arb3dare3dari3darodar3s3das35dasa3d4atda3tadat5j5daue3dauwdbei54d3d4dde2nddi3addo3pde2alde1chdee4ldee4rd3eied3eigd3eild1eisd3eiwde3kedek3wdel3kdel2s2demh5demid2en_de3nude5oldeo3vder2edes3mdes3ndes3pde3stde3t4de5twdeve44dexpd4gafdge2tdi5aedi4ak5dichdi4dodie2fdie2tdi1eudi2gadi3jo2dinfdi4oldio1s3di4sdi5sedi5sidis5pdis1tdi3thdit3jdit3r2d3k2d5le_dli4n2d3n2dni3s2dobj3d4oe5doe_doe5d4doef5doek5doen5doetd4ole5domid3omr5domud3omv4domz5don_d4ona5donedo5nido3nudo5ny5donzdo3pad3opbd3opd5dopj3dopod3opsd3opzd3orkdo3spdot3j3dovl3dovo5dra_d4rac5draf4drap4drasd1redd2ree4dretd3ric3dris5drop2drou2drozd4saadsa4bd3salds2chd4sefd4seid5send4setds3hods2imds5isd4s3jds4jod1slads5mods4ned3snuds1o4ds3obds3omd4sonds2oods3opd4spad1spid1stad3steds3thd1stods5tyd2su4ds3uu2ducadu3endu3et5duid5duif5duikd3uil2duit5duivdun5idu4ol3durf3durv5du1sdut3jdvee3d3wacd3wasd3watd3wekd3wetd3wez4d1wod3wor4d3yody4spea3boea4caeac5tea3daea3doea3lae3alie4alsea5mie4an_eang3ean4sea3prear2ce2ascea3soe4at_eat3se1chee1chie3chuec5le4ecorec3taed4age3damede3aedem4ede5oed4ere5die4edired3ove3d2red5seed2sled4soed5sped3sue4d2wee5caee5deee5doeed3wee3faee3fieef3leef3reeg3lee3kaeek1eee3kiee3kleek3neek3weel3aee3leee3lieema4een3aeen5gee3nieen5kee5o2ee2paee3pleepo4eer1aee3reeer5kee2s3ee3sjee3snee5teeet5hee3tjee3toee3tref3adefa4zef3doef3eie5feref3lie3fluef3ome3fooef3opef3sfegas4e3g4iegip4e4go_e2goseg3s4eg5soegut4ehit4ei3do4eienei3f4ei3gl4eigneik4lei3knei5kreiks44eil_4eileeil5mein5kei2noei2saeis4p4eit2eive4e5kamek4eeek1eie3kemekes3e3kete5kice4kile5kisek4nie5kofe5koreks4eek3toek3urek1uuel1acel1ale3lane3lapel1aue3lazel4drel4due3le_e4lele3lere3lesel1flel3gue5liee5lig3elixelk3sel4kw4e1loe3lokel3ole3looe5loue5lozelp4oel4ps4e1luemes3e5mokem3opem3saem5scem4smem1stem3suemut4en1acen5afe2nale2nane3naten1avenci4en3daen3dre3neee3neuen5gaen3gleng4rengs4e3niee3niveno3sen3ouen3su3entèent4ren3twe2nunen3uren3uueodo3eoes3e5offeo3freo5nieo3paeo3peeo3ple5opseor5de5orge5orieo3roeo3s4eo5steo5tee3paaep3ace4pafepa4ke3pale3pape3pare5pe_e5per3epide3potepou4ep4rae3prieps3leps5neps3pep2tjep4tr4equae3ra_e1raae3rader3afe1raierd4o4erecer3efere2oerg2le5rife5rige5rike5rioe5riser2kner5moer5nue1ro_e3rober3ocer3ofero2ge3roker3omer1oner1ove3rozer3sjer5teer3tre3rube2ruie2rune3ruser5uu3erwte4safe3same5sanes3ape5sece5seles5exes2fees5hee4shie3side3siees1ine4sires5kres4laes4lee3soles4ooeso4pe3sples4sme3styesu4re3ta_et3acet3ade3take2tape5tate4taue2tave5teae5tek4etele5teset3haet5hue5tiee4tiqe5tise4tjae5toce3toee3toleto4pet4slets3nets4uetu4ret3weet2wi1eua4eu5dreu4lie3um_e2umdeu2naeun3t1eu1oeu2poeur5keus4peu4steu3tjeu1treu4wa4everewo3vex3af4exco3exeg3exemex3inex5ope3y4oey3ste3zeeédee4égee5ê3perënce3ën5scën5thën5twëro3sëven4f4aatfa2bof3accface4f1ach2f1affal3sf3angfant2f4armfa2tofda4gf5danfd1arfde4kfd3offd4rafd5sefd3sifd3sofd3spf4d2wfd3wofede3f3een5fees3felife3no3fes32f3exff3shff3sifge5tfi5acfi4alfi3amfia4sfi1chf3ijs3f2ilfi3lo4find3finif3inj4fink2finrfi5sef5isofjes54f1k4f1laff4lamf3leif4lesfle2t4flevf4lexf3lez2flie2flijf4likf4lipf4litf3lokfoe5d2f3of2fomsfo5nafo1no4fontfooi5f3oom5foon2fo4pfo5ri5formfo1ru4f1ov4f5p45fracf3radf2ras5frauf1recf3rek5freqf4rikf4rodfrus3f2sa4fs3adfs3anfs3arf5schf4scrf4seifs4fefs5hef3siefs3imfs1infs3mafs4mifs3mofs3mufs3obfs3omfs4oof3stef3stif3stof3strf3stuft1acfta4pft4smfts3nft4softs3pftu4r2fuitfu4ma3f2unfur4ofval34f1w4fzet5g4aat2g1acg4af_g3afdga3fr4gal_ga3lagal3s4gambgan5d5ganega3pl3gar_ga3reg1arm3garsgas5cgas3igas3ogas3pgat5jgat3s4gautga5veg1avog5dacg5daggd3atgd3img2ding5drugd3sagd5spgea3qge5au2gebbge3d4ge5drge5dw3gee4ge3f4ge5g44geig5geitge3kege5kige3krgek4ugel5fgel5kge5ma4gembge5mogems3g4en_3genigen5kge1no5genwge5omge5osge5otge5p4ge1rager4ige3sage3scge5sege3sige5slge3snge3soge5swge3tage2thget4oge3trge5tuge3ui5g4ev5g4ezgédi44g3g4g4g5hg2hetgh5teg2humgi1eugif5rgi3gag3ijs4gijzgi3na5ginggin3o2ginrgi4ocgi2odgi2org5lab3glaig5lat3gle_g3leng3lesg5lev3gliëg2lifg2limg2lob3glofg5log3glomg3lopg5loz3g2lygne5ggne5m3go2ag1och4goefgoe1r5gom_go2mag3oml4gomzgo5no3goot2g1opgo3pag4oprg4oragor2sgo3tr2g3ovgpes35gra_g5rakgra2m5gravgre4sg4reug3rev5griagrof5g3rok2grougro5vg3rupgs1a2gsa4ggs3eigs3engs3etgs3evgs5heg3siegs5isgs4lags1legs4logs4lug4snag5solgs3opgs4pigs5psgs5scgst2ag1stegs3thg3stugs5tygtes4gu4eu2guitgu4nigu2s3h3afdha5ge5hals5halz2hamp4han_hap2shat5jhat3she2ar3hechhe3co4hee_hee4kheis4he2klhek3whe3lehe3lihelo4he5mohe5ne4he5ohe2prhe1rahert4he2ruhe5sehe2sphi3kwhil3mhin5dh3ins2hir2his5phi3trh4lagh3leph3loch4merhoa3nho3chhoe4shoe3thof5dhof3eho3g2ho2kaho5mohon3ghoni4ho1no4hoom2hootho3paho1pehop3r5horlho3roho3ruho3sahot3jho3tr2ho4whow3ohra4bh5reahro2kht3ach3talh3te_ht5emh3tenh4tevht3exh2t5hh2t1jht1o4ht5oph4t1rhtse4ht2siht4slht1u2hu4ba3huizhut3jhy4lahypo1i5abii3adyi5ae_i3agri5ak_ia3klia3kri3al_i3alii5am_i3amiian4oia5pai5apiia3scia5seia3soiave4i5blei1chai1chei1chii1choi3chrick5licos4i3damide3aides4idi3ai3dokid3ruid2s1ids5iids5jids5lid4smid3uuidu3wie1a2ie3deied3wi1ee4ie3fiie2flie4frie3geie4klie2knie2kuiel4eiel5kie3mai3ennierk4ie3ruie3sfie2siie4slies3mie3tji3etyieu3ki1euri1eusi1euzi4ëvaif3aaif3adif4raif3uiig3aaig5aci5galige2sig3ijigi3oig5noig4opig3skig3slig3spig3unija4dij3efij3eiij3elij1erij3o4i3jou4ijso4ijsp4ijstij5teij4tr4ijvo4ijzoi4kamik3efiket3i2kijik3lai2k4ni3komi2kooiko2pik3reik3riik3roik5seik5siiks3nik3spik1sti3la_il4aail3acil3adil3afi3lakil3alil2dailds44i3leile3lile4tile3uilk4l1illuilme2il4moi3looil1orils5jil2thi2magim5auimee4im3exim3opim5paim1stin1aci2nau1induinek4ineo2i5neuin2goin4gr4ini_i3nie4inkjin2kn3innoi3noci3nodin1onin3ov1inri4ins_in5sein3slin3soin1spin5tein3thioas5i3o1ci3odeioes3io3g2i5ol_i5ongi2op4io3paio3pri3optio3rai3oriio3rui3os_ios3cio5shio5siio5soio5spi3osyi3otiiot3jio3tri2o3vip3afi3papip3luipo4gi2priip3ruipse4ip4siira3ki1r2eires4irk4siro3piro5vir4scir3spirt3ri2saais3apise2dis5hoisi2di2sijis3jais3kais3keis5lei4s5mi4s3nis5no5isoli4sooiso3si2sotis2piis5plis5sais5soi2s3tis1tais4this1toi3stri3styisu2mit3acita5di3teni3terites4ite4tit1hoit1huit1ruit1sp4i3u2ium3eium3oiwie2iwit3ize3tïe4n3ï2n3aïns5mïn3sp1jaarja3knja3mija3plja1pojare41jas3jas5pjba4ljd3anjdes4jdi3aj2do4j3domjd5onjd3opjd1stj2d3u3jebaje3ch2j1eeje3laje3rojers4je4s33jesajes5ljes5mjeso23jesr3jevrj2f1ajf5lejfs3ajf4scjfs5fjfs3ljfs5mjfs3njfs3pjf3stjf5tijf5twj2g3ljg3snjg2stjin3gj4kaaj4karj4kauj4kavj2kijj2k4lj4klejk5lij2knaj4krajk3rejk3roj3laaj2loejm3opj4naajn5acjn3akjn2amj2nefjne4njn3gljn3k4jn4sijn2spjn1stjn3trjoet3jol4e1j4onjone2jo3pejo3rajo3ru1jourjp3ijj1pinj3pioj1plajp3lij4prejp3rij4sefj2s1ijs5injs4irjs4lejs3lijs4mej5soejs3olj3spejs3plj4spoj1stajs3thjt1acj1tagj3takj3tanj3te_j3toejt3rajt3rijuve5jve2njve3tkabe2ka3bo2k1acka3dok3advk3afdk4affka3flka4gaka3le5kalfkal2k4kalt5kalv4kambkan5d4kang5kap_ka3pekap3lka1poka3prkap3sk3arckart4kas5ckati4kat5jk3atlkato4ka5trkat3s2kavokdi3a2k3ecke4dikee4r4keffk4ei_k4eiek2eilkei5tkel5f2kemm2kempken5kke3toket3w3k2euke4vl4k1ex2k1h42ki2d4kiedk3ijs4kijvki3loki3na4kinb5kingki5sekit4s2k3jak3jew2k3ju4k5k41k2l45klack4las5klemk3lesk5lic4klidk3ligk4limk5lob4klod3klok5klos4kluc1k2n44knamk4nap5kneck5nemknip13knol2knumko4bl5koekkoes3koge43k4okko5ko2kolm5koloko4ly4komgkom5p4komzk4onikoot3ko3pa4kopbko1pe4kopg5kopjko2pl2kops4kopz2kordko3rukos4jkoso44koss4k1ov4k3oxkpi3skra4bk3refk2regk4rit2krolk4ron2krou3k4ruk5rubkru4lk3salks3anks3apks1arks3asks2e2k5secks3edks3epks3etkse3vk5silks1ink5sisk5sitk1slaks3leks3lik4smoks3naks3noks3nuks3omk1spek3spik3spuk1stak1steks3thk3stik3stokt3ackte2ck4texk5tijkt3imkt3ink5titkt3omkto4pkt4orku5bekui2f2kuitku5me5kunsku3raku3rekur3s3ku2sk2wadk1wag4kwat2kwegk1wei5kwelk2wiek4wik2kwil2kwin4k1wo2laanla4cal4aci2ladj4ladmlad5sla2du4ladv3lae3la2fala3fllafo2la2golag3rlags4la4kila3kr3laldlal4o3land4lannlan2sla3pilap3l2larmlase4la2sila3telat5j5laufl2auwlava3la4vo4lazildak4l2dauldi3ald1ovld1reld3sald3slld5spld3uule3atleeg3lee5lleem33leen4leep2leeu2leffleg3lle4goleg5s4leig4leks5leldle2le5lelil3elp3lenele2no4lep_le4sale3scles3mle4sples3tlet4ileus45leuz4lexc4lexpl2faclfa3sl2faulfe4nlf3lilf3lul5foelf1opl5foul1fral3frulf4sllf4solf5talf5twlf3uul4gapl3glal3gogl3goolg3s4lgse5li3agli3am5lid_5lidmli3eu3liftli3go5lijn4lijp4lijtli5krli4kwlim4ali3mi2limp4linfli5ni3linn2linrl3inv4linzli3obli5omli3otli2pali3pi2lisol5iswlit3r4l1j2lk3afl5koel5korl5koul5kral2krelk4selk4solk3willa3dlle3kll4ellleo4l3l4illo5fl5lonll3shl3maalm3aflma5ïl3maklm3aul4medlme2sl5moglm3orlm5sclm3shlm3sulni4s2lobj4loeg4loesl3oeu5loevlog5llo3go5logrlo4krlo2ku2lo2llo3lal3omll3omtl3omv4lomz3lon_4lond5longlon3o2lont3looklo3pa4lopbl3opdlo1pe2lopn4loptlo3relo3rilo3rulost4lo2talot3jlot3rlou3s2love3lo5zl3paalp3aml3parl3paslpe2nl2pexlp3ofl3pomlp3onl3posl3potlrus5l4saal1samls3anl3sapls3asl2satls4cul4sefl5senl4sinls5jal3slal3slols3nal3snel3snol3socls3ofl3solls3opls1ovl2spals4pel3spil2sprl3stal3stels4til3stol3stuls5tyl3surls3uslt4aalt1acl4taml3thulto4llt3sllt3splu4b1lub5elub5llu1en3lui_5luia5luid2luitluk2slu3na3lunclu3talut3jlu3wily3stmaas3m3actm3aflma3frma3glma5goma3grma5kama5kema3kwma5noma5pama3prma1so5massma5tamat5jma3trmdi3amdis5mdo3pme5demee5g5meesm5eg_m5egdm5eggm5egtmei2n5melome4mim4en_me3namen5k4menqme5nume1ra5merkmes3mme3some4sp3metime5trmeve4mfa3tmf3limger44mid_5middmi3kn5milimi3lom3imp2minf5ming4minhmi5numis5fmi4stmi1tr2m3k25moda5mode2moef5moeimoe2s5mogemo3gl5mole2moli4moltmo5no5mons3mooimo3pam1opem4oppmop4smo3ramo3romo5scmot3j5mouwm5panm5penm4plum5ponm4ps2mp5scmp3shmp5sum3samms3apms3coms3cum3sjem2slem3s2mms3mam3solms3orm3s2pm3stam1stem1stim1stomst5smtes4mu5da2muitmul3pmu2m3mu3nomu3samut3jmuts2mvee3mzet53naal2naap5naatn3abd5nabena2can2aci3naconad4e3nadi4n1afn2akena3krn3albn3alm2naly4nambn4amin3ampn3ank3nantnap3s3naro4narsna1spn4at_nat5jna3tonats45nau_5naus2na3v3navinbe5tn3chencht2nch3un5da_n4dapn2darn4dasn4davndi3andi3on5do_n5docn4donnd3ovnd1rend4smnd3spnd3sune5acne3am3neckne2clne3don3edune5dw4neednee5k3neemne3g24n1ein2eigne2la4nelf5nenbne4ni5nenpne5ocne5okne5omneo5pne5osne5otne3pene1ra2nergner3une3ry4neumng3afn2garn3gavn5genng3ijng2lin3goeng3ofn3goïng5opn3gotng4senhek5n4i2d3nieunij3fnij3kni5krnik4s3nim_5nimfn3impn3inb2ninfn3inj2ninrni5ornip3lni4slnis5nni1trnits4njes4nje3tnk3afn3kefn3kennk3idn3knenk4rank5senk5sink3slnk3snnk1spnk1stnk3wi2n3m4n5n2enno5v1no3d2noefnoes3n5ogi1nogrno3klno2li1nolon2oman3omln1omsn3omv2nomz3nonc4nont3noodno1pen1opg2nops2nordno3re1norm4norr3nors3norzno3sfno3snno3sp3nota5notinot3jnot3r3nou_3novano4ven3sagn1saln1samns3ann1sapns4cin4scon4sefnse4gn2sinn1sjon4slen4smun2snan5snen2sofn3soln2sonns4orns1ovn1spens4pins1pon1sprn1stan3sten1stin1stons5tyn5tabnt1adnt4asn5tecn5temnt3han4thon5tignt4jont4ognt4oln5tonnt4oon4topn5trynts3ant1snnt1spnt1stntu4nnu3ennu3etnu2lo5numm3nuncn3uni2nu4rnu5ronu3tr5nuutnuw5a4n3yi4n3yoo1a2nobal4o3chao1cheo3chio3choo3chrocke44o3cooco3aoc3t4od5acoda3godes4odi3ao5druod5scod2slods4toe5anoe3asoe4droed3woe5er1oefeoe2fioe2floeg1loeii4oei3noe2kuoek1woel5foelo4oen3ooe4ploe4psoe1raoer4eoero24oes_oe3sioe2tjoet3wof3arof3ato4favofd3wo4flio4floof3omo3fooof3opo3forof3oxof5seof4slof2spof4tuof3uiog5acoga4log5deog3dioge4d2ogemo3ger2og5h1ogigog5neog3opog3spog3uioi3doo3ingoi3o4oi3s4oi5scois2poist2o3ka_o3kaaok3abok3ago3kalok3efo2k4lo4kliok5luo2k3nokos5o2k3rok4raok1saok3snok5teok3urok3uuok2wiol3aco3lalo3le_ole5gol1eio3leno5leroleu2ol2faolf3lol3frol2glo3liao3lico5lido3liko3lino3litol5keol2krolk4solk2vo5locolo3kol4omo4lopol5seol5siol1sjol3sool3sp4o1luolu4rom2aaom1acom1afo3manome5tomo5lomo3s5omroom3slom3uion1acon4agon4anon3apon2dro5ne_o3nebon3eiong2rongs4on5ido5nigon3knon5kwono3lon1onon3scons4eons2fon1st4ont_3ontvon1uion3ur4oo4dood1aood1oood1roo3fioog1aoog3eoo5gioog1roogs4ook3aoo3keook5loole2ool5fool5gool3kool1uoo3meoom3ioon5aoon1ooo4p1oopa2oop3roor3aoor5ioor5koor5moor1o4oortoos3aoo5seoos5noot1aoot3hoot5ooot3rop3adop3amo3pan3opdro3pe_op3eeop3eio1pelo5pico5pis4op1jopoe3op1ofo5pogo5poio5polo4pruop5seop5siops4mop3snop3soop3spop3su4opt_op5trop3uior1afora4gor4door3drord3w4orecoree4or2glo5ria3oriëork2aor3klor5knor3kwor3nior3oeo3rolor1onor1ooor3oro3rosor5ovor5scor5seor3soor3spor2too4saco5saso3sauosca4o4scios3cuo5sedos4elo5seros4feo4shao3shios2hoos5koo4s3mos5noo3s2oos3paos1pio4spro2s3tos4taos4thos4toos1tuo3sty4o1taot1acot3afo3tagotas4o5tato5tegot3eio5teno5terote4tot3huotli2o5tomoto3sot3ruot2slot3snot3spot3uio3tulou2doou3k4ou3saous5coust4ou2taout3hout1jout1rouw3a2o3vao5ve_o5ves4o3voo5wenozet54paan5paasp3acc2pachp4aci5pacu3pad_pa4da4padvpag2apa3ghpa4ki3palepal3fpa3lipa3na4pank5papipap3lpa3popa3pr4par_p3arbpard43park3parl4parmpa5ro4parrpa5rupa5sapas5cpa5sepa5sopa5te1pathp3atl2paut5pauzpa4vl2p3d2pe4al4pecipe3depe3dop4ee43pee_3peeë4peen5pees4peispek5spe3lepe3napen5k5pennpent4pep3opep5sp4er_pe1ra3perc1periper1o3persp2ertpe3sa3pet_pe5ta3petipetu53peuk5peutpge5s2p1h44p3hap4hispi3ampi5anpi4at5pieppi3gl3pij_pij3k3pijn5pijp2pijz2pind4pinr2pinspis5npi3thpit3jpit3r2p1japjes5p3la_p3lapp4lecp3lepp4lex4plijp4lompoda53poei3poezp2ofa3pogipo5grpol4s5ponypoo3d3poolpoot34popd2popepop5hpo3rop4ortpo3rupo1sapo3sfpo5tepot1jpot3r3poul3pra_p5rad4pram3praop4ratp4rax1prem3pres3pret4pric1prij3prik5priv1proj3promp4roq3pros4proypru2tp3sabp3sakps3arp4sinp5sisps3leps2meps5mip4sofp3solpso4rps2plp1s4tp3steps5thp3stups5ty5psycp3syspt3adp2t1hpu3ch4pun_3put_put1jput3rpvan4que4s2raan3raarra4cara3ce5raclrad4a3radbra3di4radm4radv2rafdr4affra5gira5gorag4s3raisrak5rr3altra3mir2amp4rana4ranj4rap_ra3pora4skra4slra1sora2spr4atirat5j3rausr1aut5ravrrces3r3chirda2mr3danrd3eirdi3ardi5or5docrdo3vrd2rurd3sard3sord1sprds4trd3surd2wird5wo1reac4reakre3co3recr3reda3redd3redure5dwree4kree2pree4s4refb2reff3reflre3fu4reg_4regd4regg3regire3gl4regt4reie4reil5reizre4kore4kure1kwrel5k3rem_2rempre2nar4end5renfr4enn4renqre4ofre5parer4s2rerwre3sare5sere4slres3mres3tret4i2retn3revo2r3exrf3alr3fasrf2s2rf3smrf3sprf3uurg3eir3glorg1s4rg2smrg5sori4agri2akri5anrias4ri4avri4bl4riceri3cori3diri1euri3flri3frri3glr4ijlrij5o4rijvrik5nril5mri3ma4rindri5ner4ingr3inl4rins4rintri5onri3scrit3j3rittr5ka_rk3afr2kahrke4nrke4sr2klor4kner2kobrk4rirk5sirks4prkt3hrk4tirkt3orkt1rr1kwar1kwirmes3rmi2sr5moer4moprm1strmun4rnes3r2ninr5notrn3smrn3sprn1strn3thrn5tjrn5tornu5rro5acro1ch3roe_4roef4roeg3roem4roevr4ofiro3flro3kl3rokmr4ol_2roliro5maro3mo4romzr2on_r2oner2onir2onkr2onnr2onsro3nu4ronv3roof2roog4roonro3pa4ropbro1pe4ropnr4oporo4puror5dro3roro3saro5sero3sfro3shro3spro5terot3jro3trr1oudro4ve4roxir5peerpi3sr2p3jrp4lorp4ror3psarp4sirp2slrre5orreu2r3salr3sanrs3aprs3arrs3asrs2crrs4etr4sj4r5sjtr3smers5mur5solr2sorrs1ovr3sper4spur1s4tr3ster3stir3stor3strr3styr5ta_rt1adrt3amr2tarr4taur2tavrtes4r4thart1hert3hir1thort3hurt3hyrt4ijr5tokr3trart3rirts5mrt1sprt2wi5rubrru4grruk3iru2lirul5sru2mi3run_r2undru5rar2u4srus3erut3jru3warves41saagsa3bo2s1acsa2ca3sacrs1adv2s1af3safe3safosa3frs5agg3sagnsa3go3sakss1akt5sal_3sald5salhs3all4salms3aln5sammsam5ps4ancs4ant3sap_sa3pasa4prsa3ras1arb3sardsa2res1armsaro4s4ars4sas_3sasasa3sc5satis3aud1saurs1aut3sauz4sch_sch4as2chi3scoosdi5asdis5se3akse3alsear4se3ause3cr5sect4secz5seeisee4t4seevs1effse3geseg2rs4ein2seis5seizse1kwse3le4selfsel5k5selmselo45selp5selts5emm5sen_5senhsen5ks4ergser4ise3roser2sse3ruse5scse3sf5sessse5tase5tise3tjset3rset3wse3um4s1exse2ze4sfeds5fei4s5frsfu5msgue4s4ha_sha4gs5hies3hoes3hoos2hot3shows5hul5s4iasi5acsi3amsi5ansici4si3co3sie_3sieësiep4sies4si1f45s2igs3ijv5sile3simu5sinas3inb2sinfsing4s3inhs4inn4sinr2sint5siros3irrsis3isi5tosi3trsi5tu5sjab4sj3ds5jeb3sjee1sjers3jes3sjew5sjofsj3s22s1k2s5kads5ken3skiës2k3js5kres3k4w4slabs4lac3slap4slaws3leds4leps5less3li_4slid2slies3lifs5ligsli2ms4lip3slofs3lols3los3slot4slun4s3ly3smad3smals5mapsmie2s4mijs5min5smoks3mons5nams4nar3snau3snees5negs3nies5nim4snods3nog2snoosno5v3snufs4nui2snumso4bls3oce2soef3soepsoes33soft2so2gs1ogeso3gl3sogy5sol_so3laso3le5sols5somms3omv2somz3sonas3onb2song3sonns4onss3onw2s1opso3prs2orbs3ordsor4oso3sfs3oudsou2lsou3ts1ove3so5z2spad2spaks4pans3paus4peks5pep4sper4spess3pezs3pids3piss3plos3plus2poe4spoë4spog4spols2poos3pop4spou4s3pss2p4u4spub4spuns4pur5spuwsro5v4s3s4s4scosseo4s4spa3stad2stafs4tags4taks4tap2stas4staus4tav4staz2st5c4stea4stecs4thast1hi2stia2stibs4tim2stiv2stob2stocs4tols4tops4tov1s4tr3strust3scst5sest3sfst3skst3slst3sost5spst5st4stub4stuc5stuk4stus2st3w2s4ty1styls5typsuba4sub5esu5bl5suik5survsus3esuur5sve4r1sys5t4aalt3aap3tabe3tablta2cata4de5tadot3adr2taf_4tafft4afr4tafztag3r5taka5takgta3kl5takn5takp5taks4talbta3li4talt4tamb4tamp5tan_t4ape5tapita3pl5tapota3ra5tari3tarw5tasa5tasj5tasota3sy4tatatat5j3tatr4tautt3a2ztba2lt5chat5chet5chit5chu4t3d2tdo3v4tecot3edutee4g4teekteem13teertee4tt5eff3tefl4teigt4ein5teit4tekk3teko3tekste3kwtel3ftel5ktels42temb4temmtene23tenh3tent5tenu3terj3termtes3mte3sote3tate5tr5tevl3tevr3tex_4texp4t3g2tger42t1hat3haat4hadt3hakt5hamt3hart3hav5theat3heb5theo3thes3thett4hint1hoet2hogt3hokt1hoot1hul4thumt4hurti5abti5aeti3ap5tica5tice5tici5ticuti3d45tie_5tiep5tiesti1euti3feti3frti2ga4tigm5tijdtije45tijntij5pti3koti5kr4tils5timm5timo4tinft3inht3inq4tinrti3nu4tinwti5omti5sati3slti3so5titeti3th5tiviti4vo2t1jat5jaat5jeet5jekt3jent5jet4tjeut1jou4t3k2t5le_5tlebt5lestli4ntmos5tne4rtnes4to3acto3arto5bl1tochto3da3toejtoe5k5toen3toer3toev5toeztof5dto4fr3togn5togrtok3sto3lato5let3olf2toli5tolot3oly4tom_t3omlto3mo5ton_4tondto3no5tonstoo4m5toont4op_to3pi2topmto4pot4oppto4pu5tor_to3rat3ordt4oritor3ktoro45torr3tors3tos4to3sato1sl5totato3tr3tourto3w44t3p4tpi3s3tra_3trag5trau4trea2trec3tref4trelt4reutrig22trij3trogt4roï5trojt4ros3troutro5v5truf4trugt3rukt4rumtsa4gts1amt3sapts3astse4dt2sijts3ja3tsjits2mets4nots3nuts3obtso2lts3omts1onts1ovt3spit3stat3stets3tht1stots5tyt4su4ts3urts3usts3uut5t4atte2nttop2t5t4rt5tumtt3uu3tuch3tu3e5tueutu3és3tuig5tuin4tuip2tuit5tune5tunn5turbtu3ritut3jtu3wat2winua5neu5ar_uar5tua3saub3acub5emub5oru1cheuc4kiucle3u5da_ud5amud3eiudi4oudoe2ud3ooud3ovu4d1ruds4mud1stue2cou1ee4u4eneue3stu5eulu1f4rug2doug4drug3ijug3oru2g1rugs4pui5acuid4suid3uui2fauif1luif5rui2fuuig1lui4guui2koui2kuui2lauil5muin5gui2nouis5cui4sluis5pui4st1uitguit1j3uitl3uitw3uitzuk3asu2k3lu2k3nu2k3ou3kocuko2pu4k3rul3aculam4ula4pul3flul5foul3frul5keu3losul2paul4piul2poul3saul3soum3afum3ar3umdaumee4umes4um3omum3opum3soum3stun3acund4sune4t1univuno3gun2tjuo3ruuota3upe3ku3polup3omup3opup4trur1acuras3urd4ou1r2eu4remure4nu3resur2faur3giur3oruro5sur5prur2slur2snur4spur3taur3uiu1r4y4usaaus3adus1apu5sieu4s5lu2s5nus3oïus3osu2s3pus5pius5puus4tau4stiustu4ut1acut3afu3tanu4tekut3emut3exut3houto5futo5suts2mut1snut3sput2stut5suuur5iuur3kuut3auut3ru3waguw3aruw3ecuwe5duwes4u3woeuzie2ût3s4va3deva3g4va2kiva4klva2koval5mva3lovalu5vand4va3nova3reva5seva3suva3tevat5jvee4lvees4ve3level3kvem4ave4na5vendven5k2venrver1aver3over5pver1uve3ryve2s3ve2tj5ve5zvi3euvijf5vik4sving4vi5omvi1sovis5pvi4stvi1trvjet1v3larv3lovvoge4vo2levo2livol5pvoo5dvo3ravot3jvous53v4r2vrei5vues4vul5pwaad3w2aarwa4b3wa2bawa5blwa3drwa2law5arc5wardwa2si1watewat5jwa3trw4doo2we2cwede4weg3lwei3swe3liwe2lowel3swem3awe3mewena4we3niwen3ower2f4wergwer4swe2s33wet_we2thwie4t3wijdwij4sw4ing2winrwin2swit3jwit3rwn3acwoes3wol3aws3a2w3somws2plw4sprw1s4twtes3xan5txen4dxe3roxie4txo3noxo3s4xpre2x2takxtie2ya3s4ycho3ydi3aydro3yl3alylo3lym5payn3ery3p4hypot4yp5siy3r4ey1s4ay3s4cy5s4eyse5ty3s4fy3s4hy3s4oy3s4pys5plys4tays5tryt3huy2tofytop4y3u2rza3f2zak3rzan2dza3poza3s4zee3kze5gezen5kze3rozer2sze4s3zes5ezes5lze4tizeve2zik2wzin4szi3o5zipi3zit3ezit3jzodi5zo3f2zo5iezo3lazome4zo2nazot3hzo3trzz3inzz3orz4z5w", + 6 : "_ac5re_al3ee_al5ko_al5ma_al3om_al4st_ana3s_an3d2_an3en_an3gl_an5th_ar5tr_ave5n_be3la_be5ra_be5ri_co3ro_daar5_da4gi_dag5r_debe4_dek5l_dek5s_de5od_de3ro_die4p_doet3_eest3_ei5sc_ei3sp_el4s5_en5th_ere5s_erf3l_er3in_erts3_es5pe_es5tr_eten4_fel4s_gaat5_gea5v_ge5le_ge5ne_ge5no_ge3ra_ge5sk_ge5ta_ge5tj_ge5to_goot3_ho4lo_ide5o_ijs5l_ijs3p_ijs3t_in5d4_in3g4_in5gr_in5kr_in5kw_in3s4_in5sl_in5st_in5ta_koot5_ko5pe_kop5l_le4b5_leg3o_le5r4_le4s3_le5th_lin5d_loot3_lo4s1_me5la_me5ni_me4st_moot3_naat5_na3s4_nee5s_nep3a_ne5te_noot5_nos5t_oe4r5_oe4s5_oeve4_omme3_ono5v_on2t3_ont5s_op5ee_peri5_po4st_puit4_ran4d_ren4o_ro4st_se5re_side3_sneu3_so2k3_song5_ste4m_te3le_te3no_te3ra_ter5s_tin3a_tin3e_to4lo_ve4r3_ves5p_vet3j_vie4r_vol5s_we4l3_win4s_zooi5aag3saaag5soaag3spaak3e2aak3spaal5a2aal1o2aal3slaal5soaand4raan1e2aan5k4aan3sp3aantaaap3o2aar3e4aar1o2aas5trabat4sab5eunab3ijzabot4jace3st2a1che4a1chiac5resada2r3ade5rea5detaadi3aladi4ocadi4odad3reia3d4riad3rolad1s4tad5staae4s5ta2f3acaf5d4wafon4daf5orgag1a2dag3a2magee5tager4sag3indagi5ota4g3orag4o3vag5rapag4sleag5sluag3speag3spiag3staag5stra2g3uiag3u4ra2g3uuahe5riai4s5laïs3o4a4k3ara4k3edak3emiak3ink4a2k3lak3o2pak5speak5t4wa2k3u4al3adra3l4aga5lapral3artal3effa2l3elale5roale4tjal4fenal5fonal3intalk5eial5kleal4kuial4maca4l3olal3sanal3scrals5lial3thaalt4stal3uital3u4ralu2s5a4m3acam3adram3artame5tjam3oliam4pleam4s3oam4spra2m3uian3algan4a3nan3arcanda4dan4dexan4domanen3ian3estane3usan4gananga5pang5leaniet33animaan5ionan4kaaanka4nan2k3jan4kluank3ofan2k3ran3ochan3orkano3t4a4n3ouan3sanans3cran4segan4sidan2so4ans5orans3pian4tacante4nant5slanze5sap3as_ap3assap3ijzap3o4v4appena4premap2s3lara3s4ard3acard3akar2d1rar4draard3re5a2reaare4noare3sparij3sar3insark3acar3k4lar4mapa2r3obar3ogearo4koar3oogar5schar3scrar5seear4slaar3sniar5spoars3taar4strart4aaar4tanar4tapar3tarar4teiar5tij4ar4tjar5tofar2t3rar4troart5ruart4slarwe3sa4s3egaser5aase5tjaseve44as3taa4sta_as5tagas4tasas4tata3steka3stemas5tenas3tobast3opat3adeat3af_at3anka5tellate3noati5niatjes5at3oogatos5fato3stat3racat3reiat3ribat4roeat2s3lat4sloat4sneats3pra2t3uiaure3uau4s5pau3stoauto3p2auts3avast4aver3aave3re1a4vonbad3arba4d3rba3g4hbak4spba3lanba4larbal3dwbal3evba3liëbal4klbal3sfba5n2aban4klban4krbank3wba3trobben3abe5dwebe5dwibe5dwobei5tjbe3k4lbe3larbel5drbe4lexbel3scbel3spbe3nepbe5n4ober4glber4grbe1r4obero5vbes5acbe4sjebe3t4hbe5tonbe5twibe3undbeur4sbie4libij3g4bij5k4bij1s2bil3s2bin4drbin4stbi3osobit4se2b5lapble2t3blijs44b5loiblok5lboe4knboe4koboe3stbo3f4lbok3anbokje5bok4stbo2m3oboot3jbo5scobos5tobot4spbot4stbou5tabouw5sbrie4tb2s5lab4stijbuit4jbune5tcal4l3came5rca4praca5prica3s2pcas5trcate4nca3t4hcau4stceles5ce4l3oce3s2ace3s2hce3stacesu5rce4t3jcet3ogcet3oo5chauf5chef_5chefs5chemiche5riche3ruche3usc4k3edcke5rec5k4etc2k3o42co1no2co1p2cor4drco4relct3actctee5tcte2n3c4t3ofc2t1onct3rapc4t3recuit5ecula5p5cur3sdaar5e2d3accda5denda4g3rda4kerda4k1rd3alarda2l3uda5macdames3dam4pl2da2nadan3asdank3ldan4sidan4smdan4stda2r3adar4modar5stda3stu4d5atl4d5atmda2t3r4d1autddags4dden5addera4ddere4dder3od5dles5dedirde4ditdee4g3deel3i4d3een4d3eff4d5eg_4d5egg2d5egydek3ludel4aadel5dadel5dr4delemde4levdels3idel4soden4acden3eiden3evde4nocden3sh5denvlde5ofodeo4lide3rabde3rakde3ramde3rande3rapde3rasde4repde4retde5rijder3k4der3ondero4rder5thder5twde2r3ude3rupde3savde3spede4spldes5smde4stide3us_deu4tj4d1exadge3ladgeto4dge4trdheer43d4hi_di4anodia3s4di4atrdi3esrdie3stdiet3rdig5aadiges5dijk3r2d3ijz2d3impdi5n2a2d3ind4d3inj2d5inr2d3ins4d3int2d3inv2d3inw2d3inzdi4onedi4onidio5sc2d3irrdis5agdis4krdis5trdlot4s4d3obsd5oefe4d5oev2do2lid4olindolk5s5dol5s3d4om_dom4sn5d4onndo3pee4d1opl4d5orgdo4riëdors5mdo3stadpren4d3raamd3raapd5race5drachd3rad_d3rada5d4ragd4ramad3rame4d3raz4d1recd5reco4drendd4ress3d2rev5drevedries45d2rifdri5gad3rijdd3rijkd3rijmd3rijs5d4rin4d3ritd3roer5d2rog4d3rokd3romad3rond3droog4droosdrug4sd3ruimd3ruit4d3rusd2s1a2ds4ated5schids3ecod4s3edd4s5eeds3eisds3elfdse4lid4s3esd2s1i2d4s5iddsig5ads4ingds5jonds5lasds5licds5limd3slinds4makd3smijds5neud5spand5specd4s3pld5spoed5spokd5spord4stabds3takds4tand5stavds4te_d5steed4stekds4terd4stevd3s4tid4stitds3ure4duit_d3uitd5duite4duitgd3uitvdu5wendvaat5dve5nadvies53d2weidy2s4te5ademead3s2ead5shea5s4eease5tec4taae3d4ane4d4ased3ei_ede5leedi3aledi3ame3d4ooed3opved3roded3roled3uite5dwanee5cheee2d3aeed4aceed5aseed3rueed3sieef3acee4gapee5kaaeek3akee5keteek3reee3krieek3roeek5stee3ladeel4eeee5lijeel5k4ee3lobeel3ogee3lu4eel3ureel3uueena4reen3e2een5ieeep3aneep3rueer3aaee4radeera4lee3ramee3ranee4reeee5reiee4r3iee5riceer3ogee3rotee5schees5etees5loee3s4pees5plee3stueet5aaee3talee3taneetna4eet3ogeet3ooeeto4ree4troeet3spefde5lefie4tef3inse3fis5ef3looef3rije5froneg3as_ega5skeg3ebbe4ge4ceg3eigege4raege4roeg3ijzeg3orgeg3oude5grafeg5slee4g3uueheis5eid4sceien5seie5re4eild4eil5drei4levei2l3oein4doein5grein5slei5shaei3sloei4tooeit4s3eits5ceits5nek3aanekaat4ek3af_ek3al_ek3altek3ange5ker_e5kersekes4tekla4mek3leve5klime4k3obek3oliek3opzek5os_ek5osse5kranek3rozek5setek4strek5t4eek3uitek3winel3aanel4adeel3adjel3admel3adrel3advel1a4fel5anae5lap_e4lappel3arbel3arcel3armel3artel3asie4lautel5aziel4decel3eeuel5effe5leidel3eig3e2lemel3empe5l4eneler4sel3erveles4tele4trel3excelfi4delf3s4eli5kwel3impe3lingel5inzel4keee5loepel3oesel3omsel5ondel5onte5loode5loosel3opsel5optel5opvel3o2rel5orgelot4jel4s3kel5tweel3uiteluks5e4manaema3scema5toemees5emer4sem3oliem3orge4mo4vem4sliem3uiten3aape3naare2n1aken3al_en3alsen3amben4ameen1a2pe5narien3arsenas3p3ency_en5daaen3d4oenede4en3eedenee5ten5eg_en5eggen3elaen3elfen3emae2ne2pen3epoe5nere5energe4nerven3etaen3eteen5grieng5seeng3sme5nijde2n3imen3k2aen3offe2n1onenoot5e3nor_en3orde2n1oven5sceen4seiensek53ensemens4feen4sinen1s2pen4tacen5teeen5teien1t2hen5tomen3treent4slents3me4n1uie4o3k4eop4laeo3p2rep3aakep5akeep3aspep5eenep3ijsep3ijzep3insepit4sep3lede5ploeep3luseprot4ep4sereps3taeps5toeps3trep4takept3raep5troep3uite5raader3aane5raate4r1ace5rac_e5racee5racoe5rad_er3adoe3raffer3amaer3anae5raneer3arce3raree3rarie1rat4er3azier3d2aer3d4ier3d2rer3d4wer5eater3eene5reeper3eeter5effer5eg_er3egder5egger5egter3eieer3eiger3eilere3kler3elker3empe3rendere4nee3renme3rentere4oger3epier3e2qer3erie3res_er3eske3ressere4ster3etne4r5exeri5aberig5aer3ijler3ijser3ijver5inder3inser3inter3m4ier3oefe5roeper3oeve1ro2le5rol_er3olie5rolle3ron_e3roneer3onver3ooger3oore5roose4r3operop3ae2r3orer3oxier4pluer3screr3t2her5t4ier5t4oert5seerts5ler3t4uer3t4we3rug5er3uite3runse4r3ur3ervares3arre3sa3se3scope3s2cres5eenes5enees5je_es5jese3s4joes5jone4s3kae5sla_e5slages3lakes5lates5leges4muie3s4nees3orees5pases4pele3stake3stapes4tares4teaes3tenes3teres5teses4tete3steues4tice4stiee3stotest4sces4turet3aanet3afz3e2tage5tak_et4anae5tande4tappet3edie5tel_e5telset5embet5emmete3roet3hore5toevet3opeet3opleto3sfet3rece3troee5trone5trooetros4e4t3ruet5sluet3speets3pret3spuet4steet5stiet5suueudi5oeugd3reu3g2reu4lereu4radeu4receu3reneu4reseu4rijeuro5veur4sueu5scheu3spaeu5streu5wineval4sevari5eve4loeve3raewen4s2ex3aa4e3zenezers5ëro1g2ëts3tef3aanb2f3a2p3fa5sefbe5dwfdek3lfde4s3fdes5efdes5lfde5smfdes5tf2d3inf3d4rufec4trfe4delfel5drfe4lomfel3spfe3rabfe3ranfe3romfe3ronfe4t3jfetu5rfge5r4fi3apafi3apo2f1ijzfik4st4f3laaflet3j3f4lorflu4t3foe5tafon5tefop5s43fo5re2f3oudfraam5frie4sfrie4t4f3rolf4rolof3romaf4s3ecf4s5eef5slaaf5slacf5slagfs3lapf2s1o4fs4prefst3asfs5tecf5stiff4stonfta4klft3artf5tondf4tontft2s3lfum3ac4g3adm4g3afs4g3afw2g3a4hga5lerg4a3mi4g3arb2g3artgar5tjga3sliga5slogas3trgd3artgd5ateg5der_gd3ervg4d3idgea3drgea5nage4ari4g3eb_gedi3age4ditgeet3a2g3effgege4s2g3eikgeit3jge3k4age5k4lgek4stge3k4wge3lauge3l4egel5sigel3slgel3sp4g3emf2g3empge3m4uge3nakgen4az3ge3nege4noggeo5pegera4pge5regge3remge1r2oger4ofge5rolger4spge3r4u3ge1s44ge3skge5spoge3strget4aage5tamge5t4ige3t4jge5trage5troge5truge5tsjge5t4wgge3lagie5ragier4s4g3inb4g3infg5infeg5infr2g3inhgip4st1gla4sglas3e3g4lazg5leerglee5t2g5lep4g5ler3gle4tglet3jg5liceg5lichg5lijs3g4lio4g3long3loon3g2losgo4d3agod4s3gods5tgo3f2r2g3ong2g1ont2g3oor4go4rego5re_5g4orig4ram_gram3ag3rampgra4s32g3rec2g3red5gredig5redug3reekg3reelg4reepg3reis4g3rek2g3remgren4sg5rijdg5rijkg5rijmg5ring5g4risgrit5s2g3rivg3rookg3room2g3rugg3ruimgs3altgs3ecog4s3edgs5eengs5enegs3ervg2s1i2gs5lamgs5lasg3slepg4sleugs5liegs4lings5loggs5lokgs5long4s5mag3snijg4s1o4g5som_gs5onsg3specg3spieg3spilgs5pirgs5polgs5tacg5stadg5statg5stedg5steeg3steigs3tekg5stelg3steng3sterg5stofg5stopg5storg4strug2s1u4gsver3g2t3apgte3rogte3stgut4sthal2f1han4drhan3gahang5lhang5shan3sohan4sthap4sehar4tahart3jha2t3r4have_hee3g4heek3aheek5lheep4shei5tjhe2k3ahek4sthel3smhen4krhe3n4ohe4pijhe2p3lher4aahe4r3ihe3roshero5v3hersthe2s5theu5lehie4f3hie4r3hier5uhie4trhiet5shij4slhik4s5him4plhim4prhi2p5lhit4sthoes5lhon3drhond4shool3ehoort4ho2p3ohor5dehor4sthot4sthrok3ohroot3h4t1a2ht3alah5tansh4t3echt4ecoh2t3eeh2t3efh2t3eihter3aht5eveh5tevoht5oefht5rooht4sapht4serht5slaht3smeht4s3oht3spehts3plht3sprht4stihur4t5huur5si2a3f4i2a3g2i3ake4ia4kemi4a3lai2a1p4ia3staia3t2hi5atriiboot4i4dee_idi5abi2di5oid4makid3ranid4s3aid4serids5maid4s3oids3taid4stiids5trid3u4rie4droie3fleie3fonie4gasiek3liie5kluiek4spie3kwaie5lanie5lapiel5doiel3sciem3ovien4drien3ijien5spie5peniepou5iep3s4iep5stiep5trie4puiie3ramie3rapier3asie4ratie3r2oie4rofier4slier4uiie5sleies3liie2s3nie2so4ie3staie3stoie4taaie5talie5tenie3to4ie4tooie4topie4toriet3uriet3uuie3twiieu3spif4taaif4tarif4treiftu5ri4g5avig3eski4gindi3g4omig3stoik3aarike4rai4k3loi4k3lui4k5naik5o2gik3opeik3ordik3s4lik3snoik4spaik5staik5waril5aanil4acti5landil4d3ril3eenilet5rilie5gilie5til3inkilk3s2illa3sil4minilo4geil3ondi5loonil3oorilo4reilo4veil3s2hil4stii4magoim3eeni4m3emim3enci2m3ofim3orgind4aaind3scin3ediin3eedinet4sin2ga4ing3aaing3aging3al3inganing5loing4stini5onini5sl3inkomin4kriin4o2gino5pein5schin3smiin5spoin5swiintes51int4rinuut3i5oleni5olusion4s3ions5ci3o5sei3o5sfi5osi_io5s4ti5o5sui2p1aci4perwip4sleire3stir5stei4s3adis3a2gi2s1ari2s3asi5schai5schris5coli5scooi4s3eiis3ellis5engise3stiset3jis4feeis4feri2s3imis5lagis5lasis5nedis5nijis4ooris3ottis5pasi3stakist3apis4tatis5triit3eenite3stit3hieit5oefit3oogi3t2oui4to4vit3redit3sjeit3sliit3sopits4teit4tooium3a4iven5sive3reï3n4urï5schejan4stj2d3aaj4d3arj2d3eejden4sjde3spjde5stj4d3rej4d1rij4d3roj4d3rujd5seijd3spojec4taje2na2je3n4ojer3sp5jesalje5sch3jesknjes5pajes4prjes5tr5jesvo3jeswa3jeswijet3erjeto4vjet5stj2f3eij4f3ijjf3inkj2f3o4j3f4raj3f4rojfs5pajf4stajf4stijg4s5eji5t2jjk3arbj3klaajk5lakjk5lapjk5lasj5kledjk5lesj3klonjk5lopjk5lucj2k3ofj2k3onj2ko4pjk3opbjk3opejk3oplj3kopsjk3raaj5kranj4k5rujk3slojks3pljk4staj2k3uijl5anaj2l3efj2l3eljl3inkj2m3afj5m4arj2n1a4j3na5gjna5mej3n4anjn5d2rj4n3imj2n1o4jn2s3ljn3slujns5orjns3pljo5lijjou5rej4p3acjp3armj2p3emj2p3orjp3rokj5selij4s5emjs3leejs5liejs5meljs5metj4s1o4js3pacjs3parjs3pooj5sporj4starj2s3tej3steejs4tijj4stoojs3touj3taaljt3aarjt3optj5tredj5treejt3reij5trekj5trokjt3rotjver4sjvie5sk3aanbk3aanl5kaart4k3adm3k4aft2k3albka3l4ikalk3akamen4kam4pakam4plkam4prka5naakan4slkan4st4kappak4a3rokar3tr4k3asika3strka4tan2k1aut2k3eenkeer4skei3s4ke4lapkel5dakel5drke5lel4kelemke4lomkel3sp5k4emake4nauke5nenke2n1o4k3e4qke3ramker3klker4knker4kuker4kwker4noker3o4ke3rosker4sm4kerva4kerwtke3s4pke3stake3sto5ketelke2t3jke2t3r2k3e2zkie4spkie4tjkieze4kijk5l4k1ijzkilo5v4kindukin3en2k3inhkinie4k3inko4k1inr2k1ins2k3int4k3invki2p3lki3s4pkker4skke3stk3ladikla2p15klas_5klassk3lastk3lat_k3latt3k4lav3k4led5kledi5kleed4k5leg4k5lenk3ler_4klerak3lers2k3lij4klijskli4me3k4lin5klok_k5lokak3lokek3lood5kloofk3lope2k5loz4kluih3k4nar5knie_4k5nivk3note2k5oct4k1oefkoe3tj5ko5grkol2e2kolen3ko2m3ak3omslkonge4k3ontb2k1oogkoot4j4k3opd3ko5pikor5do2k1org2k3orkkor4takor4tr4k3os_kot4stk4plamkpren4k5raad4k5radk5rand2k1rea2k3reck4ree4k5reepkreet32k3rel2k1rick3rijkk3rijpkrij4tk5ritmkron3t5kroonkrop3akro4tok3ro5v5kruiskrul5aks3almks5ei_k4servks3labk4slank5songk2s3pak4sparks3pook5sporks3potks3pruks5teck3stenkste4rks5tonk5stook4stopk5stotks3trik3stuekt3aank3taarktaat5kt3artkt3ecokt5ordkt5orgkt5orikt3o4vkt3resktro3s3k4u2n4k5uni2k3wac5k2wal5k2wam3k4wark5warek3weer4k1wer5kwetsk3wijzk3wind4laandl3aanhlaa5rel3abon5lach_la4cha5lachela2d5ala4detla2d3o4la2dr4l3afsla2g3alag5sala2k3a4la2nalan3aclan4dalanel5lang5llank3wla4norlans3llan4stlap3aclap3o4la5prela2p3ular3da4larm_lar5stlas3a4las3to5lastt4lats4lat3sllau4stla4zijlber4tlboot4lce4l5ldaat5l2d3acld3alfl4da4rld3arcld3arild3artld3ecoldeks5ld5oefld3olil2d3oml2d3onld3oogl4do4pld3opild3ordld3ramld3ratl5dreeld3rijld3roeld3rolld3romld3ruild3smald5steld3uitle4aneleba4lleege4leeg5i4leekhleep3olees5elees5llega5sleg3ecle5go_3leidi4leierlei5tjleit5sle4ko4len5kwlen3oplen3sflen3sm3le1rale5reiler5g4le3r4ole4ronler4slles5etle3s4hle3speles4tale3strle4s3ule4t4hle3thale5tinle4tople2t3rlet4stle2t3uleu3koleum3aleur4ol3f4aglf3enel2fe2zl3f4lolf3o4llf5ordlf5orglfs5eilfs3lelf2s3ml5gaarl3g4oelid3s4lie4grlie3kalie4splie4tolijk3a4lijmv3lij2s4l3ijzlik5spli3kwilin4da4l3inhl3inna2l3insli2p3lli5seeli1t2hlit4salit4sllit4stlk3armlk3artl4k3eil4k3emlken5elken4sl4k3eplking4lk3laalk3lagl5klasl5klimlk3ontlkooi5lk3opblk3replk3reslk3rijl2k3rolk3sonlks3oolk3stelks5trl4k3uulla3g4lla5trll3eiglle5thlmaat5lm3arclm3artlma3s2lm3edil4m3eplme5telm3olilmro4zlo4booloed3rloe4grlo4faalof5d2lof4s4log2s3lon4grloo5pi3looshloot3e2l3oph2l3opllop4lalo3p2r4l3opv4l3opw3l4or_4l1org3l4orslo3spelos5tolo5s2ulo4tetlo2t3hlo4toflp3aanlp3a4gl5pinglp3insl3p4lal4plamlp3opelp3ramls1a2dls3a2gls4corls3ecol3s2hil4s3imls3injls3inkls3intl3s2kil2s4lels5ledls5leels5legls5lenl2s3lils4linls4medls4meel3smidls3norls3o4rls3pacl3spanls3parls3plil3spool3sporls3pral4stafl4stakl4stekl4stevl5tamel5t4anlt4hanl4t3hil2t3holt3oliltra3slt3rugluids35luie_luks3tlu3stalut4stlven5slvera4lzooi52m3adv2m3afs4m3afwma3l4ama5lacmal5st5m4an_man3acm3analman5daman5domand4s5m4ann5man2sman4seman4somans3pman4thmant4rm4a5ri5m4arkmar3shmar5tima4stema3str5materma4tommat4stmbo5st5media5mediumee3lomee5remee5rime3g2amega5smei5tjmel5drmel4komel4krmen4asme5norment3wme3p2j2m3e2qme4rapme3raume4ravmer3eimer4klmer4knmer4kwmer5ocme3roome3rotmer4simer4slmers5mme2ru4me3s4hme4s4lmes5lime5slomes3pame5spemesto4me3stume3t4hmf5liemie5klmie3st4m3ijs4m3ijzmimie4mi5nar2m5inr2m3ins4m3inwmi2s3imi3t4amit4stmoed4smoes3pmo4lie4m3omvmond3rmon4somon5tamo3r4emor4spmor4stmo4s5lmo3stamo3t2hmot3olmot4st2m3oudmou4wimp3achm4p3afmp3armm4p3ecmp3insmp3lamm5planmp3legmp3leimp3levmp3liempon4gmp3opemp3recmp3redm5presm5p4sems3anams3lenms3liems3neems5tecm5stelm5stenms5tocmte5remunt3jmus5tamvari5mver3e5n4aam4n1aann4aar_5naars5naast4n3actna5d4a3nade_3nades4n3admna5dra2n1advn2a3g4na3k4l3n4ale5nalen4n3alf4nalysn3a2na5nant_5nantenap3acna3p4rnap5st2n1arb5nares2n3arg2n1armnar4st4n1art3na3sana1s4lna3stana3stu3n4ati4n3atlnat3sp5naven3nazifna4zijnbe5stnces4tnch5trnd3aannd5aasnd3abond3actnd3adrnd3alfnd3almnd3artnd3assnda3stn4d1ein5den_ndera4n4dijsn3d2jin4d5ofnd3olind3omdn5donand5ondn5donsnd3ontnd3oognd3opend3oppnd5rapnd3ratnd4rekn4dresnd3rotnd3rugnd4secnd5setnd3s4ind3sjond4spond3uitnd5uren4d3uunebe4sne4ditneel5dneel3o4n1eennee5rinee5seneet3aneet5oneet3rneet5s4n1effne4gel5neienn5eier5neigd5nei5tne4k3r4nelem4n3emb5n4eme4n3emm4n3emp3n4en_nen5done5nignen5k4nen1o4nep3agnepi3snera4dn3erfene3rosner4slner4spner4stness5aness5tne3stanes3tene4ternet3onnet4sine3umsng3anan4ga4pnga5slnge4adng3embn4gigsn4gindng3inkng5ladng5lamng5lanng5ledng5leung5linng5lopn2g1onng5oorng3oreng3orgng3racng3radng3rain4grasng4redn4g4ring5rieng3rijn5gronng3ruings5lung3uitni3erinie4trnig3ra2n3ijzniks3p2n3in_2n1indning3r2n3inh2n1ins2n1int2n3invni4on_ni4oneni4sauni4selni3sfeni2s3ini3sotnis5toni3t2hnje5spnje5stnk3aann5k4amnkar5snk3effnk3empnken4enk3ladnk3lodnk3lucnk3lusn2k3nan4ko4gnk3ogenkoot5n4krimnk3rolnk3s4mnk4s5onk3waank3weznnee5tnne3nennepo4nne5tennet4jnnoot5noen5snoet5sn5offin3o2geno3k2w4n3om_2n3omw3n2on_3n4onb4n5ondn4o5ni4n5oof4n1oog3noot3noot4j3no3pa4n3opbno4poono4por2n3opz2n1orgnpi4s5npoor4ns3a4dns3alpn3sancn5schonsee5tns5egens3eisns5empns3idin5singns3injns3inkns3intn5sla_n5slagn5slepns4letn5sleun5slibns3lien5slimn5slipns5macn3s4men3smijn3smolns3nodn4snoon4snotn2s3obns3ongns3onzns4oppn2s3ouns3padn5speen5spelns3pern4spetns3poln4spotn3stalns5tecns5tesns3then3stign4stonn3storns3uiln5taalnt3achnt4actnt3agan5t4atn4t3einte4lon5te2nn5tholnt3inwnt5oognt3oplnt3opmnt3optnt3recnt3reint3relntre4snt5rijnt4rount3rusnt5slunt4snont4sprnt5ste4n3uilnu2m3anu4s3onut4stnu2w3inve5nanzet5sobalt31o4bliob5oorocaat55o2ceaoco3s4ode4moode5reod5seiod3s4iod3sliod4s3ood3spood4sprod5staod4steoe2d3aoeda4doede4noed3reoed3rioed3rooe2d3uoe4f1aoef3laoef5leoef3looe2f3roege3loeg5ijoe4gouoei5s4oei5tjoei3troe4kaaoeke4toe2k3loe4k3roe4lapoe4laroel5droe3lemoe5loeoelo5poel3spoem3o4oen3aloe5n4eoen5groen4snoe5plooe4p3roe3praoeps3eoe2p3uoe4raaoe3roeoer3ogoer5omoer4sloer4spoe3sfeoe4slioes4taoes4thoe3stooe4taaoe2t3hoe5t4ioe5toeofd3eiof2d3oof2d3ro3f2raof5slaofs3leof3speofs3plof3spoofs3profs3troft3uroft3uuog3al_oge4roog3staog3stoog4strois5tjok3ankok5letok3o2lok3op_o2k3ouok3s4lok1st4o3l4abol3a2pol3armol3d4ool3d2wol3eksol3emmole3umol3exaolf5slol2g1ool4greol2g3uo5lingol3intol3kafollie4ol3op_ol3oppolo4veol4praol4s5hol3s4lol3s4nol3uito4m3efom3elaomen4some5spo4n3amona3thon5derond3reond3roond5sjon3d4uon4duron3erfon3ervone3st4onet_on1e3vong3ap4ongenong5leong5seong3spong3ston3k2ionnes4o4n3ofo2n1ovon5seion3s4mon2s3nons5opon3soron1s2pons4peon3splon5stron4taa3ont1hon4tidont5sp1ont3wood1e4oo5de_ood3slood3spoog3shoog3slook3s4ook5stoo4k5wool5a2ool3edoo5ligool3ijool1o4oom5a4oom1o4oon5duoon5k4oon5taoop5eeoop3o4oop4spoor1e4oor3g4oor3smoor4thoot3esoot4slo4p3aco4p3afo4p3akop3andop3at_op3att3opbreop5eeto3pen_o5per_o4peraop3e4vop3i2dopie5top3ijzop3in_o5pinaop5losop3ondo5poniop3ontop3ordop3o4vop3ricop5s2c3ops4lop3smaop3staor3achor3actor3admor3anao5rateor4daaord3orore5adore4noo5rig_or3insor5k4eor4masor3ontor1o2por3sagor3slior3smior4sonor5spuor4tofort5sporzet54o3s2co5s4clos5li4os3peros4piros4s5mosta3cos5tanos5taro3staso3statos5te_os4temos5touost3reost3rio3stroot3aarot3aktot3appot3artot3e2do5tee_o5teesote4stot3etao2t1hoot3offot3olvot3ontot3opmoto5poot3opro5t4oro1t4root5s4iot3slaots3liot3smoot4stuou4d1aou4desoue2t3ou4renou2t3oout5spouw5do2o5veeovi5so4p3afdpa4genp4a5gipa2k3a4p4akepa4k5l2p3albpalle4pal4mo5panee5panelpan5sppan4tr3pa3rapar3dapar4kapar5ta3partipart3j3partnparu5r1pa4s3pas4thpas5topas5tr3pa3trp3e2co3pectupee5li1p4eilpek5eepe2k3lpe2k3npel5drpe3l4ipel5sipel3sopel3sp2p3emmpe4nakpe4nappe4naupe4nazp3encypenge5pen3sapen5slpen3smpen5sppen5to2p3epiper4atpe5reqperi3spe3ronpe5rosper4sm3p4hecpie4tjpi2g5apij5kepij4lipi4k3lpilo5gpi5nam3pinda3p4ing5ping_pin4ga4p3injpink3rpink5spin4tapis5tapit4sp2p3ladpla3dip4lant1p4las3p4lat5p4layp3leid3p4len2p3ligp3lonep5loodp3loonp3luie3pneumpoe2s3poes5tpo4kolpo5l4opolo3p2p3oml3pondspon4smpon4stpon5tapoo5de4poog_4poor_po4p3a2p3org2p3orkpor4topo4taappe5nippie5kppij5pp5raad3praktp5rand4p3rapp3remm3prentp3resopret3r4priet3princ5prins3p4rio3p4riu5p4rob3p2roc1p2rodp3roed3proef3proev5p4rof5p2rogpro3lap3roodprooi5pro5papro5sc3proto3pro5vps3a2gps3assps3erkp4s3etp4s3naps3neups3optps3plep3statps5tesps3torpt3albpt3ricpuil3opul4stpunt3jpu2t3oput4stpvari54raand5raar_5raarsra5den5radia3radio4r3adr3rad3sra3fra3ragezra3g2nraket3ra3k4l4r3alfra4manr5ameuran4drran4grra4nimran4klrank3wran4saran4str3antw4rappa2r3arbr4a5re4rarit2r1arm4r3arr2r1artra5seiras3pora4tomra4trara5trirat3sprat4stra3t4ura4zijrbe4tird3alkrd5amar2d3arrde5o4r4d3olrd3ontrd3oosrdo3perd3rasrd3resrd3s4crd5stard5stere4adere3amb4re5atrec5ta2r1eenr5eenhreeps54reersr3eerwree5shrege4s4reindrei5tjre4kapre2k3lre2k5nrek3sprel4direld3rre4mai3r4en_re4naare3nalre5ne_re4nel2r1enire4nocren4ogre3nov5r4enpren4slr4entor3entwre4op43repetre4piere3qua4r1erf2r1ergre3r2o2r3ert4r5ervres5lere2s1pre4temre3t4hre4tikre5tinreus4t3revisr4f3aarf3actrf3levr2f3lirf3lusr4f3opr4f3rer5frear4g3abrg3ambrg4eisr5gen_rge4rar5glasr4g3lurg4o3vr5grijrg3ritr3g4roridde4ri4dolri4doorie5drrie5klrie3kwrie4larie4rorie4tariet3ori4gaar5ijldr5ijltrij3plrij3prrij3spri4k5lri3k4orim4pr4r3inb4r5infring5l4r3inhri4nitr3inko4rinkt4r1inrr3inst4r1invri3o5sri4samri3sotris5torit3ovrit4strk3adrrk3angr2k3eirken4srk5ieprk3ijvrk3inbrkjes5rk3lagrk3loork3lusrk3olmrk3omgrkoot5rk3opgrk3ordrk5os_rk5ossr5krisr5kronrk3s4frk3uitrk3waark5watrk3weerk3winrlofs5rmaf4rr2m3ebr2m5egrm3inhrm3opmrmos5frm3s4arm3uitr5n4amr4n3aprn3arsrnee5trne5ter2n5idr2n1onrn3oorr5nootrn3opsrn3overn3staro3d4oroens4roep3lroet4jr5offiroges5rok3spro2l3arol3g2rol3ovron4daron4kar2o1no4ron2tront3jront3r2r1oorro4paaro4panro5peero4pinrop3shr4opter4o5siro3t2hro5tonrp3aanrp3advrp3ankrp3eisrp5lodrp3ricrp3slirp5sperrie4trron5krrot4jrs3a2drs3a2grs3almrs3ambrs3anarsa4ter5schirseve3r2s3ezrs4ferrs4halr3s2hirs3hotrs3inirs3intr5sjacr5sjour4slanr5slecr5slepr5sleur5slibrs4liers3lobrs5makr3smijrs5misr5smitr2s3nars3neur2s3nors3ongr3spaars3padr5specr5speer5spekr5spitr5spoer5spogr5sponr5spoors3potr5spulrs3putrs5tasr5statr5stesr4stitr4stonrs3usar4t1acrt3af_rt3affr5tansrt3artr5tecort3eigrt3eilrt5embr5ten_rte3norte3ror3therrt3holrtij3krt3offr5tofort3om_rt3ondr4t3opr5torirt4raprt3recr2t4rurt5rukrt5rusrt5seirt2s3lrt3slerts5lirt4slurts5nort4soorude3rr5uitr4ru3kerul3aarul3apru3linrunet3ru3nivru5re_ru5resrus5trrut4strvaat5rve3sprw2t3j5s2aaisaai4s3s2aal3s4aats4a3gi3sa3lasal5ma3s2ame4sa2nasa3nats2a3ne2s3apesa5prosar3ol4s1art3s4ast3sa3te2s3atl2s1att3s2aus5scena3s4ch25schak5schap4schau5sche_s5chec4schef5schen4scheq5scher5schev5schew4schir5schol5schoo5schotsch5ta3scope5scopi3scout4scris4s3ech4s5eed4s1eens5eenhsee5ts4s3ei_4s3eig5sein_5seineseis4tsei5tjsek4st5s4el_sel3adse4lakse4lassel3el5s4elssel3spse2l3usem3oose5nanse4net5sengrse4n3o4s5enqsen5tw5s4er_se1r4aser5ause4reese5ren5sergls5ergo5sergrse5rij4s3ernse5ropsers3pser3stsert5w2s5esk4s3eteset5st4s5etuse4vens5hal_3shampsheid45s4hir3s4hops3hotesie5frsie5klsie5slsie3sosie3stsie5tasie5tosi5go54s1ijz4s3inc4s1ind3sing_s3ingasin3gl4si2nisin5kr4s3inm2s1ins4s5inv4s3inzsis3e4sis5eesis5trsito5vsi4tru3s4ja_2s3je_3s2jeisje4ri3s4jez4sj5k44s3jons4kele3s2kes3s2ki_3skiedskie3sski5scsk3ste3s4la_5slaap4s3lad3s4lag5slagmsla4me3slang5slapesla3pl4s3las2s3lat3s4laz5sleeps4leet4s3leg2s5leis5lengs3leni3slent4s5ler3s4leus5leugs5leus5sleut2s5lev4s3lics5lieds3lief5slijps4li4kslim5as5lini4slinn4s3litslo4b52s3loc3s4loe4s3logs3loods5loons5loosslo4tr4s3lou4s5loz4s5luc1s4lui4sluid5sluit5sluiz2s5lus3smak_2s5mans4mart4s5mat4s5mec3smeed4s5mei4smelo4s5men5smid_smies55s4nap3s4nav3s4nedsnee5t5s4nel2s5nes4s5netsneus4s5neuz1s4nij3s4nip4s5niv3s4noes4nor_s3norm3s4o3d2s1off3so3gaso3lissolo5v3s4om_2s3oms5s4on_so5nar2s1ond3so3no4s3onv4s5oog4s3ooks3oord5soort3s4op_4s5opeso3phis2o5posop4re4s5orkso3rorsor4st3s2ort5spaaks3paal5spaan5spaat5spake3spann4s5pap5spar_s4pari5sparr2spas55spatt5s4pea3s4peespeet34s3pei5spell4s3pens5pen_spe4nas4per_s5peris4perm1s4pie4spijn4spijps5ping5s2pio2s1p4l4s5plas4plets2pli45splin3splits3poes2s3poms4pon_s4ponns4pori4s3pos5spots5sprays5pred5spreis4prek4sprem4spres5spreu4sprik4sprob4sproc4sprof4sprogs4proo4spros5s4puissa1s2s4s5cussei3ss5spaass5pas5staafs4taatst3abo5stads5staf_sta4fo5staki4stakkst3akt5stam_5stamm3stampstan4s4stapo4starist3aut4stavo4s5tax5steaks5tech5steco3s4ted4stedu3steek3steens5teerstee5t5stein5stekk3stell5stem_5stemd5stemm4stemo4stent4stenu4sterms5teru4ste4sst3hedst3heks5thems3thers4t1hos4t1hus4t3hy4sticus4t3ids5tiev4stijdst3ijs3stilsst3impsti5ni4stins4stitest3ivo4s4t1j4stoef3stoel4stoen4stoer4stoes4stoez3s4tof5s4toksto5li4stoma4stomzs4tong3s4too4stora4stordsto5ri4s5tos4stra_s5trag4strais5tref4streg5strel3strepst3rifs5trisst4rom4stroz4st1s42st5t25s4tud4stuin2s4tunst3uni5su4b14s1uit5suit_s5uitl4s1u2nsvaat5svari5sve5risy4n3e3taak_t3aankt3aanw4t3aas3t4acit3adertad4s3t3adve2t3afd5ta3fet3afhata3fro4t1afs2t3afwta4gaa5tagee5tak3rta3laa5tale_5taligtalm3ata4makt3amba5tament3amputa3nagta3nat4t3arb4t1armta2ro4tar5spt3artita3s2pta3stata3str4tatio4t3atl2t1avote3akt5tea4mte4dit4tee4n4t3eeutei4lot5eindtei5tj2t3eiw4tekerte4laptel5da4telec5telef5telegte5lel5televte4loetelo4r4telsetel3sotel5sute4mortem3ov5tempote3nakte4nauten3edten3eltene4tten5k44t5enqten3snten3sptensu45tentaten5tot3entwte4radter3agte3ralte4ranter3apter3as5terecte4reite4relte4rem4terfdter3fr4terk_4terkt5term_5termiter5octe3rodte3rofte3rog5terontero4rte3rostes3tatest3u4t3euvteve4r4t3exetgaat5tge3lat4haant4hans5thee_4t3hei4t3hel3t2hen1t2her4t1hout3houd5thous4t3hovtie5d45tiefstie3knti3enctie5tatie5totie5twtig5aati4gu4tig3urtij5katij4klt3ijs_tij3sttij3t2tij5trtij5tw4t1ijztina4dtin3as4t1indti4nit4t3injt3inko4t3inl4t3ins4t3invti3s4jti4sonti3s4pti3stati1t2rtkars3toe5d4toe5letoe5pl5toeri5toerntoe5sttoe3tj3toetstof5artof3thto4kan5tolaa5tolet5tolicto4lietolk5stolp3r5tomaa3t2one5toneeto5ner3t4ong5tong_3t4oni5t4onnton3sktoom3etop3asto3pento3petto5posto5pust3opvato5rec4t1orgt5orga3toriato4riëto3romto3r2uto1s2ptos5te2t3oudtpe4t35tracé3t4rai5train5trakat3rake3trakt3trans5trap_4t3raz3t4re_5tred_4treda4tredu4t5reg4treizt3reset3resutre2t3t3rib_5tribu5trico5t4riltri5nit3risit3rit_5trodyt3roedt3roes5trofy4trol_5trola5trolo5tromm5tron_5tronat5rond3trone5tronn5trono5tronst3rood5troont4roostro5pi5trotu5truc_5trui_5truiet3ruimts3a2dts5eent4s3eits3intt3sjents4laat3slacts3lamt2s3let5slibt5sloet3s4luts4moets3neuts5norts5notts3olits4oppts1o4rts3padt3spant5spect3spoet3spoots3pott4sprots4prut4start4stast5stedt5steet5stemt5steut1s4tit3stijt5stilts5tints5t4jt3stritte5rit5tlettt3oogtuit4jtu4k3itul5pi3tu4s3tvaat5ube4liuc4t3auc4tinud3essu4de4zud3ezeudi3omud3onduds5louds5maud3smeud3smiud4staud4stiuer3ilu4f3anug4da2ug4derug5sceug4secugs5paug1s4tui2d3aui2d1ouid3spuien4tui2g3oui4g3rui2k3aui4k3luil5aaui4loouil3ovui2m3aui3magui4n1auin5oguin3oruin5toui2p3lui2p3rui2s3aui5sluuit5aauit5alui5tarui2t1o1uit5ruit3sluit3snuit5spu2k3alu3klasuk3s2muk3spauk3spluk4stiul4d3aul5dopul4d3uule5spul3in_u5lingul3innul3k2aul2k3lul3o2pulp3acul2p3lul4p3rul2s3pume3stu2m3uiunch3run4draun4k3run5o2punst3aunst3oun4tagun4t3uupe4rour3aanur3adaur3advur3echur3eenuree5sure5luur3embur3essure3stur3etauri4glur3ijzur3indur3intur4kieur3k4lur5opburs5liur4s5murs5paurs5thur4stiur4trous3a2mu5s2cruse5tjus5tagust3alu2s3teust3oous5trous5truust3urust3uuut3aanutaar5uta3s4ut3eksut5emmut3ooguto3peutop4luto5poutop4rut3saaut3s2cut4spaut4spout3struur3a4uur3e4uur1o2uvel4suve5nauw5artuw3eenu2w3eiu2w3ijuw5ijzu4windu3wingu4winsuw3inzuwo4geuze3t4va2l3ava4loeval5sivan3acvang3avan4grva4nocva3s4ovast3rva2t3hveel5evee3p4ve3g4hvei3s4vei5tjve2n3oven4slven4spve4radvera4gver5dove3recver3edve3regve3reiver5k4ve3romvero5vver5twves5tive2to4vet3ogvet3oove3torve2t3rvid5stvie4s3vies5nvie4tjvings3vis5otvis5trvlot5svol3ijvond5uvooi5tvoorn4vorm3avrie4svrijs4vuur5swaar5ewa3lanwan4grwa2n1owan3s4war4stwart3jwar4towa4s5lwa4s5pwas5trwd3oomwe2d3iwe4d3rwee4kiwee3lowe4g1awe2g3owe4g5rwei5tjwe4k3rwe4le24welemwen3adwe3ne4we4nemwen5tower4kawer4knwer4prwe3spowe2t3jwet4stwe2t3uwie4lawij4kawijs3lwijs3pwind3awi4t3hw2s3lew5spraw4stijxi3staxi3stoxi4t3ixpres5ya4s5pyba2l3yksge4y4l3etym2f5lyvari5zaar5tzags4tza2k3azan3dizan4drzang3szeel5dzeer5szee3s4zeg4slzei3spzel5drze3lemzel2f1zel4soze4ninzen3o4zen4ogze3nonze4r3aze5schze5steze2t3aze2t3hze2t3jze2t3rzeven3ziek3lziek3wziel4szie5slzi2g5azij5klzij3pozij5s4zings3zins3tzit3u4zoet3jzon3sfzon5tazor4glzor4grzui4dr", + 7 : "_aarts5_alko5v_as5tra_de5sta_edel5a_eesto4_gang5s_ge3l4a_gelo5v_ge3n4a_gena5z_ge5r4e_ge5r4o_her5in_hits5t_houd5s_ka4taa_kerk5l_kerk5r_kerk5u_le4g3r_len4s3_meel5d_merk5l_met5ee_ne4t3j_onde4r_on4tee_on4ter_ooi5tj_pee5tj_piet5j_pui5tj_rand5a_re4men_reno5v_rie4t3_rij5sp_roe5tj_ro4t3h_ski3s4_tan4da_ten5ac_toe5pr_tri3s4_tuit5j_uit4je_vaat5j_wee4ko_wee4t3_west5raad5sapaal5f4oaalfo5laal5speaal5steaam4staaam4ste5aandeeaans4poaarts5labak4s5aboot4jach5tecachuut5ad3e4te4a5gen_a4g3insajaars5a4l3achale5stea4l3o4val3s4agal4s3ooal4stemal5stenals5toualtaar5al4t3roament4jame4rana2m3o4vams5te_and5ankan5d4riand5rooands5loan4d3ulange5stang5snaangs4tea4n5islan4k3asa4n3ooran4servans5piran5struap5etenapo5staa5p4risap4ste_araat5ja4r3appar4d3omar4d3opar4d3ovarie4tja2r1o2pars5talar4t3akart5ankart5oogart5steast5remas5tro_ater5adater5slat5jesbat5jeshat5jesmat5jespat4s3a2at4s3ecat4s3idat4staaat4ste_at5stenat5stijats5tolat4t3u4ave4n3iaven5spave3r4ubaar5tjba4k3o4ban4k3aban4k3obe5l4asbe4l3ecbe3lo5vbemen4sbere5s4bes5te_be5stiebet5renbie4t3jbin4t3jbit4s3pblad5ijble5spebloot5jbo4d3ecboe4g3aboet5stbo2m3a4bond4s5bon4t3jbor4staborst5obraad5sbran4dabra5strbrei5s4bron3o4buts5tebuur4tj2ce3n4acen4t3jcer4t3rce3s4ti5chromocier4s53con5t4da2g3a4da4g3edda4g3ondag4s3td3a4matd2a5me4danoot5dan4s3pdans5ta4d3antw4d3a2pedarm5onddag5spddel5evdder5aldder5eedder5epd4e5dendel5eekdel4s3edem5ondden5ateden3e4p4d3engtden3o4rden5strde4r3adder3a4gder5ededer5egdde4r3eide4r3emde5re4nde4r3im4d3erosder4s3ader5steder5sto4d3ertsde5speldes5takde5stalde4s3tede5sticdes5topdget5ondget5ovdie4r3odi2k3o43d4ing_4d3inkodintel5di5ofon2d3i2rodo4m3o45do3n4odover5s4d3rand4d3reek4d3roei2d3ro5v5d4ru4kd4s5lieds5patid5s4peld4s3petd5staatd4s3tald3s4tatd4sterrds5tramea4k3o4eau3s4techt5ecechts5oede5nacede5rogedoe5tjeek5allee4k3loeel4as_eel5d4ueelo4geee4p3reeer5oomeer5stree4s5emees5potees5teneeto4geeet5rokeet5steefiet5jege4netegen5ofeger5onegiste4e2g3u4reil5antei4n3abei3n4aceind5ooein4d3rei3s4laei3s4taeits5tre4k3a4gekes5trek5etereklam5aek5looseks5erveks5trael5aande4l3as_e4l3aspe4l3assel5eierel3ei5sele5r4ae4l3etae4l3etue4l3indel3o4veel4s5emel5smedemie4tje4n3aase5n4acce4n3ange2n3a2sena4tele4n3atte2n3a2zend5amaen5dreke2n3e2cene4tenen4g5lee4ningae4n3inke4n3oche4n3olie4n3oore2n1o2pens5einen5slaken4s3onens5poten5stanen5stenen4stinente5reen4tervent5rolent4s3p5enveloe5o3t4he4p3appep5ingre4p3lodepoot4j3e4pos_ep5rodeep4s5eeeps5taaeps5taleps5troe4raak_er5aanpe4raap_era4gene4r3alle5randae5ra3pler3a4trer5eerser5einde4r3emmeren5eger5enthe5rentoeren5twere4t3je4r3etse4rijs_e4r3ijze4r3inier5inkte4r3oederoe5tjero5pener5slager5spaners4poter5steme4s3a2ge4s5enges5oor_e4spriee3s4tale4s3te_es4teelest5ei_e4stekae3s4temes5temoe4sten_es5tenbes5tra_es5traces5trake5stralest5rapes5treie4t5elfetens5ueten5tjete5r4aeter5sme4t5i4de4t3ince4t3orke4t5resets5lapet4s3ooets5teket5stenet5su5retui5tjeur4staeuw4strevel5opewest5rfan4t3jfant4s5feest5rfe4l3eefe4l3opfe4r3etfil4m3afilm5onflen4stfond5enfonds5lfon5engfor4t3jf4raak_friet5jf4s3ethf5stellfste4m3f4sterrf4st3ocfter5shgaar5tjga4l3apgan4s5tga5sla_gas5trag4d3elfgeest5rgei4l5a4ge4lem5ge3l4ogel5stege4n3edge4nend4g3engtge4n4ofgen5sfegen5stugeorke5ger5aalger5apeger5as_ge5ren_ger5iniger4sli4g3ertsge5sperge5stanges5te_gges5tiggings5gids5te5gigere5gigstegi4onetgmaat5jgne4t3jgnie4tjgo4n3azgraat5jgroet5jgroot5jgs5alarg3s4ke_gs5laagg5slinggs5pandg3s4pelg3s4petg5spin_g5spinng3s4pongs5taalg5s4tang4st3apg5s4te_g5ster_gs5terrg5stersg5s4ticg3s4tiggs5tijggst3o4vg4s3trags5tradgs5trakgst5ramgs5trapg5stratgst5resgs5troegs5trong5struchaar5slhaar5sphaar5tjhaf4t3uhal4stohand5slhan4s3lharte5lhar5trehart5slhee4l3oheeps5chee5stoheids5phe4l3eehel4m3ahel4p3ahe4r3adhe3r4auhie5renhie4t5ohin4t3jhoboot4hoe4kerhoor5trhop4strhor4t3jho4t3reh4ten5tht5entwhte4r5oh4t3eskh4t3intht5slotht5smijhul4deria4s5po5i4cepaichee4tic4t3opict4s5cider4spider4stids5takids5tekid4stemie4d3aciek3e4viek5ondiek4s5niel5d4riel5ei_i5enne_ien3s4mien4staien4striepiet5iep5oogiep5reliepro4sie5r4adier3a4lier5el_ier5elsie5ren_ie5ringier5sluie4s3plies5te_ie5steliet5antie4t3ogieto5reie4t3ovie5troeieu5r4eiezel5aij5e4n3iks5te_i4l3ervil3e4veilevin4i4l3e2zim4s3ooin4deneind5stein3e4deini5staino3s4tin5stenin4t3apioneel4i5othekipe4t3jips5te_ip5steni5scopei4s3ervi4s5tasis5terdis5tereist5ongi5stro_ite5reiitie5stit4ste_ïe5nen_jaar5tjjagers5jan4s3ljbe4l3ijde4n3ejdens5pj4d3ervj3d4wanjepiet5j2f1en5j3f4latjf4s3erjfs5takjf5stanjf4steljf4s5tojger5sljg3s4tejk5aardj4k3o4ljks5takjk5stanj3k4wasj4n3erkj4n3ervj4n3inkjns5lacjn4ste_jraads5j4s3elaj4s3e4rj3s4tekj3s4telj5stondjst5ranj5strokjvers5pjze4r5okade4t5k3a4genkalf4s5kame4rekan4t3j4k3artikast3o4kast5raka5strokas3u4rkat5aalka4t5ioka4t3ogkee4p5lke4l3opke4n3anken4ei_kens5pokepie5tker4kleker4k3rker4n3aker5speker4sprker4staker4sti4k3ertskes5ten4k3e2tukeviet5khoud5skie4s4tkie5stekings5lkits5tekke5neik5leer_5k4le4ukoe4ketkoers5pkom4strkon4t3jkon4t3rkooi5tjko5pen_3k4o4s3kraads54k3redekrijt5jkroet5jksges5tks5pandk5staank5staatk4st3edks5tentkster5ak4sterrks5trekkst5uitk5trollkven4t35k4waalkwen4st5k2wes1kwes5trlaar5tjlach5telacht4sla4gentlam4p3jlam4p5llam4po4lam4s3pland5aalan4d3rla4n3ec5lange_lang5splan4k3alan4k3llan4t3jla4t3hela4t3rolbert5jl4d3e4zl5dradeld5ranglees5polek5strlen3a4kler5spo4l3erts4l3essales5taale3t4releu5steleven4sl4f3endlge4n5alie4g3alie3s4tlij4m3alijst5alim4p3jlin4k3alin4t3jli5o5s4l4k3ankl4k3levlks5taalks5telller5onlle3s4mllevie5lm3a4caloe4d5aloen4stlo4k3arlo2k3o2lom4p3jlom4p3llon4gaalon4g3olon4t3jlo4s5trlot3a4llraads5l4s3e2dl4s3e2plsge4stl3s4kells4maakls5tak_l5straals5trakl5stratl2t3o4vlts5te_2l3u2nimaat5stma5esto5ma3k4rmans5eeman4s3tmans5tamariet5mar4s5tma3s4pomboot4jmee3k4rmee5lasmee5strme4l4asmel5as_mel3s4mmeng5ramen4t3jme4r4amme5rong4m3erosmers5tame5spotme5stelmest5ovme5ta5nm3e4venmi3s4lami5stramis5tromoers5tmoes4temogen4smol4m3amp5artsm4p3ervmp5oliem4s5tonmte5stamuts5te4n3aardnaar5tjnacee5tna3f4luname5stnan4t3j3na3p4lnarie5tnd5adelndags5pn4d3anan4d3a4zn4d3edinde5laan4d3emmnder5alnder5ognde4tenndie4tjnd5ijs_n4d3inknd3s4cund4spran2d3u4rnege4re5n4end_nen5t4a3n2e5rene4r3idners5tenes4teineu5stengaat5jn2g1a2dn4g3eennge4rapnge4rasn4gigern4g3insng5rassngs5lopng4s5neng5strinie5klenie4s3pni4g3eeni5o5s4ni4s3evni5stelnk5aardn4k3arbn4k3aspnker5kunning5rnooi5tjno4p3asnot5a4pn3s4caln3s4laans5laagns5lap_ns5lappns5lot_n4s3paanst3a4gn4st3eins5teksn5sten_ns5tentn5ster_n4stijvnst5oefn5streens5troens5trogn4t3artnte5radnte4rofn4t5olint5ribbn5troosnts5pren4t3uitn5twijfn5t4wis3n4u5rioa4tievo4b5o4rods5lamod5slanod5smakods5te_od5stekod5stenoe2d3o2oe4f5o4oek5erkoe4k3opoe4l3eioe4m3acoep5indoer5aaloer5ei_oer5eieoer4staoe4s3o4oe4t3o4oe4t3raoet4s3pof4d1a4ofs5traoge5laaogel5eioger5onoge4s3tog4stonogs5troo4k3aaso4k3a4zok3o4peok5sprioks5te_ok5stenok4s5trokter4sola3s4molg5rapol4g3riolo3s4tol5sterome5renomer5klo4m3intom4p5eiom4ste_on4d3acon5d4asond5eteon4d3idond5ijsond5om_ond5sloo2n1e2cong5aanong5aapon4k3apon4k3loonne5ston5sten3ont1s4oon3in5oord5aaoor5dopoor5steoor5sto3o4peniop3e4teop3o4reo2p3u2no4r3algor4d3asor4denvord5ondord3o4vor4drado4r3inkor4m3acor4m3eior4n3acorno3s4or4p3acorp4s5cor5s4paor4t3akort5eenor4t3ooor4tredort5steos5jer_os5taalos5taarost3a4gos5toliost3o4vos5tra_os5traaos5trumote4lanoter5spotje5spot4s3paot4ste_ots5tekot5stenou5ren_ou5rennou2r3o2out5steouw5ins3o4vergover5sppaar5dupaar5tjpacht5spalm5acpa4pe4tpar4k5lpei4l3ape3l4aape4l3akpe4l3eepe3l4orpen5d4rpera3s4pe4r5egper5stiper4str5pe5terpe4t3rapets5tepiek5lapie4r3opie4s3ppij4p3apin5griplaat5j4p3lamp4p3langpla4t3rplee5tjpleu5ropmans5tpo2k3i2poo5lenpoor4tj5portefpo4t3aspotes5tppe4l3opraat5j4preekupre4t3j4p3riekproet5jpro4s5tpro3t4aprut3o4p4s3i2dps5tentps5tronp4t3o4v4r3aardraar5tjraf5ond4r3a2lara4l3eer3a4limran4g3oran4t3jrap5roerast5rir4d3actrden5drr4dervarde5s4trd5olierd5roosrede4s3ree3n4erege5ne5rekenire4k3rerel4d3ore4l3eire4lu4rre5mo5vren5aarre5nadere4n3anren3a4r5rendeere5nen_ren5enkren3e4pre5ner_ren5erfren5erv5r4enklren4oplre4t3ooreur5esreu5ster2f3a4gr4f3engr4f3lagr4f3u4rr4g3eenrgel5drrge5rapr4g3insrg4s5prri5abelriel5aarie4lei5rigste4r5ijl_rij4strrin4k3l4r3innarjaars5r4k3artrker4slr4k3ervr4k3inkr4k3latrk5leidr5k4ranrle4g3rrlink4srlui5t4r4m3artrme4t3jrmet5str4n3enerne4t3jroe4g3rroen5smroe4reirole5stron3a4d5r4onalron4d3oron4d3rron4d5uron4stero3p4larop5rakros4s5tro5stelros5trarot4ste3rou5t4ro5verir4p3o4vr4p3recrp4s5torre4l3urren5s4rri5er_rs4asser4s3eisr3s4hocr3s4katr5slingrs5loepr4s3loor5sluisr5smaakrs5maalr4s3parrs4parers4pener4s3petr5spraar4s3te_r5ster_r5sterkrs5termr5stersrste5str4stevars5tomarst5orars5traprs5treir5strenrs5trogrst5rozr4t3aanrt5aandrt5aanvrte4leirte5star2t5e2vr4t3inir4t3inkrt5jescr4t3rasr3t4rekr4t3resr4t3rolrt4s3prrts5tenrt3ui4tru4l3ij4r5u2nirval4strvloot5rwen4strzet5st3s4a3losan4t3jsart5se3s4cola2s5e2go4se4lemse5ling4s3elitse4m3ac5se3r4ese5t4rasheids5s3in5gr4s3inkosk5ruim5s4laan4s5laars5lamp_s5lampe4s5land3s4la5v3s4lee_4s5leerslee5tjslen4stsle4t3j3s4lier4s3lijf4s5lijs4s5lui_5sluis_sluis4t4s5maat5smeden5s4meet4s5mes3s5muile5smuiltsneu5st4s3oor_4s3oorl3s4opra2s1or3g4spectu5s4perrspie5tjspi5sto5s4pore4sprakt5spriet4s5prij4s5prod5s4pron5staan_4staang4staanwstaat5j2s4t1ac4s3tali3s4tands4t3arcstasie45statio4steenh5stekar5steldhste4leest5elemste5ranster5og4s4t3exs4t3e2zst5heer5stiefe3s4tijg5s4tijl4s5tint5stoel_5stoelest3o4ge4st3oogstoot5jst3o5pest5optosto4rat4st4rad3stra4f5straf_4st3rec4s3treist5rijp4s3troes5troep5strook5stroom4stroos4s5trou4strui_5struikstui5tjst5uitkstu4nie5suits_t5aandotaan4sttaar5sptaat4st5ta5g4l5takkenta5lact5talentt5allia4t3a2natan4d3rtan4k5rtar5taatdor5st4t3echttee4k3lt5eenhetee5rin4t3eier5tekene5tekenste4k3omte4k3witel5ant5telecot5electtel5eentel5ei_tel5eietel5eit5te5lextel5oogte4l3opte4l3uu5temperten4achten3a4gte5narete5noreten5scrtens5uuter3a4btera5catera4dete4r5after5eikte5ren_4t4erf_4t4erftter3k4wte5ronstero5pe5terrei5terreu5terrorter4sprte3s4apte5steltes5tentest5optest5rit5e4van5the3ra4t3heretie4kontien5sttie5s4l5tieven4t3incutin4g3iting4sati3o4p5tmen4sttna4m3o5toelicto5ende5toe1s45toets_5toetsetomaat5tom4p3j4t3om5s5to5nentop5artto4r3ag5torenstor4m3atou4r3etove5nato4vens4toverg4t3raad5trafo_4tragez5transat5redes4t3reistrie5ta5t4rio45t4rititront5j4t5routtrui5t4ts5eindt4s5enet4s3engt4s3ergts5erget4s3e2vt4s3inkt5slag_t4s3pett4s3pilt5s4port4staakts5tantts5tekot5stellt5stelst5ster_t4sterrt5sterst5stijgts5toepts5tongt4storets5tradts5treits5troette5loe3t4wijfucht5sluds5takuge4l5ougs5traui4g5aaui4l3emui4l3ogui4p3o4ui4t3a4ukkers5uk4o3pluld5erkuls5te_uls5telunds5taund5steun4ste_un4st5runst5uiunt5eenun4t5o4unt3s4muper5stu4p3leiu2r3a4ru4r3a2zurelu5rurken5surk4s5tur4servur4s3evur3s4feurs5laaur5spelur5sporurs5tikur5troeus4t3eius5tra_us5tre_u4t3eesuter5anuts5enguts5takut4ste_ut5stenuur5steuur5stiuwe4nenvaar4tavaart5rval4s5pvel4d3ove5nareven4s3evens5lover5aasve4randver5eisve5ren_ve5rendver3e4tver5ijdver5ijlver5ijsve5ringver5spever5staver5stovet4roevet5ste4vicepavie4r3avil4t3jvi4s3anvlei3s4vlie4s5voe4t3avoe4t3rvoet5spvol4g3avol4gravon4detvoor5navrij5k4wan4d5rwang5slwars5tewee4k3rwee3s4twee5stewe4gervwe5nen_wen5enkwen4k3awer4k5lwer4k3ower4k3rwerk5ruwer4k3wwer4p3awer4p3lwer5stewes4t5owijs5tawin4d3rwinst5rwi2t3o4woest5awolf4s5woon5sfwor4g3ewren4stwtje5spxamen5tyber4t3zand5a4zee3r4ozeero5vzen4d3azer4s5ezie4k3ozi4n3a4zin4k3lzins5tazin5strzooi5tjzor4g3azui4d3i", + 8 : "_aftu5re_den4k5r_eer5ste_ets5te__gerst5a_leid5st_lui5t4j_mij4n5i_neu4t5j_nie4t5j_oot5jes_poort5j_ring5s4_seks5te_taart5j_ten4t5j_ter4p5a_ven4t5j_wen4s5taar4d5asaar5spelaar4t5onan4d3e4dan4s5te_apij4t5jar4s5tekart5jesvart5o4gear4t3o4vataart5jaten4t5rat4s5takats5top_ats5trekbaar5stebbe4l5agbbe4l5eebe4l5intber4g5afber4g5etbes5ten_bis5trooblij5stebon4t5o4bor4st5rda4g3e4tdbou4w5i4d3e4lek4d3e4lit4d3e4maiden4k5ofde4r5as_de4r5assder4s5omder5stra4d3e4tapdeu4r3o44d5ingelds5trekkdtaart5je4d5ernsedors5teeer5stonegel5ei_ege4l5oveger5engeits5te_eit5stenekaart5je4l5inktel4k3u4remens5te5endertie4n3en5te4n3i4voenst5ijven4stu4repits5tee4p5o4geepoort5jerd5uit_er5editie5rendeler5enen_erkeers5errie5tjerui5t4je5smuil_esp5riemes5tatiees5tekamestere5oeters5laeurs5taaeurs5te_eur4s5trevaar5tjeve5n4aafdors5tegast5rolgel4d3a4gen5stongenstu5rger5aap_ge4r3a4lger5slangers5lijge5spendges5ten_gge4r5ongou4d5eegrie4t5jgst5aangguts5te_haams5tahaars5tehar4t3o4hee5tjesheks5te_hek5stenherm5engher4p5aaherts5tehets5te_hits5te_hit5stenhors5te_hor5stenhots5te_hts5taalht4s5takht4s5tekhts5torehuts5te_idde4r5aid5s4meeie4g5insien4st5oienst5uries5tereiets5te_itper5stjks5taakjks5taalj5s4tengkeers5toke4l5intke4r5enkker5ste_ke5straakets5te_4k5indelkors5te_kor4t3o4ko5sjerekots5te_laat5stalan4d5oolang5stalecht5stle4n3a4dle4n3e4m4l3en5thle4r3a4kle4r3e4vle5s4tellets5te_levink5jlicht5stlits5te_lit5stenl4o1r2o3l4s5pootluts5te_ma4l5entmats5te_meest5almee5stovmen4s5uume4r5aakme4r3a4kmer5antemets5te_mits5te_mit5stenmkaart5jmors5te_mots5te_5muilde_naars5tr5n4a5denn5antennnars5te_nar5stennder5aalnde4r5annder5in_nds5taalnegen5en4n3e4migne4n5enkne5s4tekngs5tak_ngs5takengs5treknkaart5jnne4p5olnpoort5jnraads5ln5s4liepnst5aangnst5aansn4s5tekonst5radens5trekknst5roosn4t5aardntaar5tjnte5nachode4m5aroe4r3a4loers5takoers5te_og4st5eionke5lapooms5te_o5rigereor4t5ijlo5steroïover5stepaling5spa4n3a4dpats5te_pe4l3e4tpkaart5jplooi5tjpols5te_pons5te_por4t5rapper5stepren4t5jprie4t5jpring5s4puter5inputs5te_r5angst_rats5te_4re4ditiree5r4adreer5steremie5tjr5endertr5enveerre4t3o4grets5te_rie4k5aprij5ster4r5inganr5ingenirits5te_rit5stenrkaart5jrk4t5e4vrme4r3a4rmors5terons5te_root5sterots5te_rpoort5jrsek5stersorkes5r4s5taakrst5aangr4st5redrte5nachrt4s5ecoruts5te_3s4co5reseks5tense4l3a4g4s3e4lekse4n3a4g4s5impers5ingeniskaart5j5s4loot3slui5ste3so5l4o32s1on4t3sraads5lstaart5jst5e4ros5sterrenstraat5jst5roos_taats5tatament5jte4l3o4g5tenten_teraads5te4r5aakte4r5enkte4r5envte4r5in_ter5ste_ter5stonthoof5ditmens5te5toe3l4atoemaat5to4r5olitors5te_t4s5tankt5s4tes_tte5l4optten4t5jtuurs5lauid5spreuid5ste_uin4s5louits5te_urs5takevals5tekve4l3a4gvens5lanvens5tekven4s3u4vors5te_vor5stenvrij5stewaar5stewer4k3u4wezen4s5winst5aawoor4d5rzoet5ste", + 9 : "_acht5end_handels5_ker5sten_laat5ste_mor5sten_pers5te__pits5te__raads5le_spoor5tj_wals5te_asting5spboots5te_brie5tje_ebots5te_ekwet5steemor5stenepers5te_espit5steewens5te_flens5te_fpers5te_fpits5te_gfijn5stehaats5te_heers5takhielsges5hts5trekki5otorensjspoort5jkaart5jeskaats5te_ka4t5a4leketting5skinds5te_kkers5tenklots5te_koets5te_kwens5te_lands5te_loens5te_nbots5te_n4d5e4recngels5te_n5opleidinpers5te_ntene5tenomen5ste_poets5te_r4d5e4lasrke5streerke5strerrlaat5sterlinks5ter5treden_rvals5te_rvers5te_rwens5te_slens5te_5smuildenteeds5te_toets5te_udi5ologevens5taakvens5takewrens5te_zwets5te_" + } +}; \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/patterns/or.js b/alt-implementations/readifry-master/hyphenator/patterns/or.js new file mode 100644 index 0000000..ce9bfc4 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/patterns/or.js @@ -0,0 +1,12 @@ +// For questions about the Oriya hyphenation patterns +// ask Santhosh Thottingal (santhosh dot thottingal at gmail dot com) +Hyphenator.languages['or'] = { + leftmin : 2, + rightmin : 2, + specialChars : unescape("ଆଅଇଈଉଊଋଏଐଔକଗଖଘଙଚଛଜଝଞଟଠଡଢଣତଥଦଧନପଫବଭମଯରଲଵଶଷସହଳିୀାୁୂୃୋୋୈୌୗ୍ଃଂ%u200D"), + patterns : { + 2 : "ଅ1ଆ1ଇ1ଈ1ଉ1ଊ1ଋ1ଏ1ଐ1ଔ1ି1ା1ୀ1ୁ1ୂ1ୃ1େ1ୋ1ୌ1ୗ1୍2ଃ1ଂ11କ1ଖ1ଘ1ଙ1ଚ1ଛ1ଜ1ଝ1ଞ1ଟ1ଠ1ଡ1ଢ1ଣ1ତ1ଥ1ଦ1ଧ1ନ1ପ1ଫ1ବ1ଭ1ମ1ଯ1ର1ଲ1ଵ1ଶ1ଷ1ସ1ହ1ଳ", + 3 : "1ଗ1", + 4 : unescape("2ନ୍%u200D2ର୍%u200D2ଲ୍%u200D2ଳ୍%u200D2ଣ୍%u200D") + } +}; \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/patterns/pa.js b/alt-implementations/readifry-master/hyphenator/patterns/pa.js new file mode 100644 index 0000000..d6469ba --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/patterns/pa.js @@ -0,0 +1,10 @@ +// For questions about the Panjabi hyphenation patterns +// ask Santhosh Thottingal (santhosh dot thottingal at gmail dot com) +Hyphenator.languages['pa'] = { + leftmin : 2, + rightmin : 2, + specialChars : unescape("ਆਅਇਈਉਊਏਐਔਕਗਖਘਙਚਛਜਝਞਟਠਡਢਣਤਥਦਧਨਪਫਬਭਮਯਰਲਵਸ਼ਸਹਲ਼ਿੀਾੁੂੇਾੋੈੌ੍ਃ%u0A02%u200D"), + patterns : { + 2 : unescape("ਅ1ਆ1ਇ1ਈ1ਉ1ਊ1ਏ1ਐ1ਔ1ਿ1ਾ1ੀ1ੁ1ੂ1ੇ1ੋ1ੌ1੍2ਃ1%u0A0211ਕ1ਗ1ਖ1ਘ1ਙ1ਚ1ਛ1ਜ1ਝ1ਞ1ਟ1ਠ1ਡ1ਢ1ਣ1ਤ1ਥ1ਦ1ਧ1ਨ1ਪ1ਫ1ਬ1ਭ1ਮ1ਯ1ਰ1ਲ1ਵ1ਸ਼1ਸ1ਹ1ਲ਼") + } +}; diff --git a/alt-implementations/readifry-master/hyphenator/patterns/pl.js b/alt-implementations/readifry-master/hyphenator/patterns/pl.js new file mode 100644 index 0000000..05433b6 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/patterns/pl.js @@ -0,0 +1,25 @@ +Hyphenator.languages['pl'] = { + leftmin : 2, + rightmin : 2, + specialChars : unescape("ąćęłńóśźżਂ%u200D"), + patterns : { + 2 : "a1ą1e1ę1i1o1ó1u1y1", + 3 : "_a1_b8_c8_ć8_d8_e1_f8_g8_h8_i1_j8_k8_l8_ł8_m8_n8_ń8_o1_p8_r8_s8_ś8_t8_u1_v8_w8_x8_z8_ź8_ż8ś1cc4hc4zd4zd4źd4żr4zs4z8b_8c_8ć_8d_8f_8g_8h_8j_8k_8l_8ł_8m_8n_8ń_8p_8r_8s_8ś_8t_8v_8w_8x_8z_8ź_8ż_ae2ai2ao2be1bi1bo1bu1ca1cu1de1du1ea2ei2eo2fi1fo1ga1go1hi1hu1ja1ka1ki1ko1le1lu1ly1ma1mi1mo1mu1na1oa2oe2oi2ou2pa1po1ro1se1so1sy1to1tu1ty1ua2ue2ui2uo2vo1we1ya2ye2yi2yo2yu2ze1", + 4 : "_ae2_be1_bh8_bj8_bl8_bł8_br8_bv8_bw8_bx8_ca1_ci1_cj8_cł8_cr8_cv8_cw8_cx8_ćh8_ćj8_ćl8_ćł8_ćr8_ćv8_ćw8_ćx8_da1_de1_dh8_dj8_dl8_dł8_do1_dr8_dv8_dw8_dx8_dy1_fb8_fć8_fd8_fg8_fh8_fj8_fl8_fł8_fń8_fp8_fr8_fs8_fś8_ft8_fv8_fw8_fx8_fz8_fź8_fż8_ge1_gh8_gj8_gl8_gł8_gn8_go1_gr8_gv8_gw8_gx8_hi1_hv8_hx8_ja1_jv8_jx8_kh8_ki1_kj8_kl8_kł8_ko1_kr8_kv8_kw8_kx8_lu1_lv8_lx8_łv8_łx8_mi1_mo1_mv8_mx8_na1_ne1_ni1_nv8_nx8_ńv8_ńx8_ot2_oa2_oc2_oć2_of2_og2_oh2_ok2_om2_op2_os2_oś2_ow2_oz2_oź2_oż2_pe1_ph8_pi1_pj8_pl8_pł8_po1_pó1_pr8_pv8_pw8_px8_re1_ro1_rv8_rx8_sa1_sc8_sć8_sh8_si1_sj8_sk8_sl8_sł8_sm8_sn8_sń8_so1_sp8_sr8_sś8_st8_su1_sv8_sw8_sx8_ść8_śh8_śj8_śl8_śł8_śm8_śn8_śń8_śr8_śv8_św8_śx8_ta1_te1_th8_tj8_tl8_tł8_to1_tr8_tv8_tw8_tx8_ty1_uć2_uś2_vb8_vc8_vć8_vd8_vf8_vg8_vh8_vj8_vk8_vl8_vł8_vm8_vn8_vń8_vp8_vr8_vs8_vś8_vt8_vv8_vw8_vx8_vz8_vź8_vż8_we1_wh8_wi1_wo1_wv8_wx8_wy1_xb8_xc8_xć8_xd8_xf8_xg8_xh8_xj8_xk8_xl8_xł8_xm8_xn8_xń8_xp8_xr8_xs8_xś8_xt8_xv8_xw8_xx8_xz8_xź8_xż8_za1_zb8_ze1_zg8_zh8_zi1_zj8_zl8_zł8_zm8_zn8_zń8_zo1_zr8_zv8_zw8_zx8_zź8_zż8_źh8_źj8_źł8_źń8_źr8_źv8_źx8_żh8_żv8_żx82b1c2b1ć2b1d2b1f2b1g2b1k2b1m2b1n2b1ń2b1p2b1s2b1ś2b1t2b1z2b1ź2b1ż2c1b2c1ć2c1d2c1f2c1g2c1k2c1l2c1m2c1n2c1ń2c1p2c1s2c1ś2c1t2c1ź2c1ż2ć1b2ć1c2ć1d2ć1f2ć1g2ć1k2ć1m2ć1n2ć1ń2ć1p2ć1s2ć1ś2ć1t2ć1z2ć1ź2ć1ż2d1b2d1c2d1ć2d1f2d1g2d1k2d1m2d1n2d1ń2d1p2d1s2d1ś2d1t2f1c2f1k2f1m2f1n2g1b2g1c2g1ć2g1d2g1f2g1k2g1m2g1ń2g1p2g1s2g1ś2g1t2g1z2g1ź2g1ż2h1b2h1c2h1ć2h1d2h1f2h1g2h1j2h1k2h1l2h1ł2h1m2h1n2h1ń2h1p2h1r2h1s2h1ś2h1t2h1w2h1z2h1ź2h1ż2j1b2j1c2j1ć2j1d2j1f2j1g2j1h2j1k2j1l2j1ł2j1m2j1n2j1ń2j1p2j1r2j1s2j1ś2j1t2j1w2j1z2j1ź2j1ż2k1b2k1c2k1ć2k1d2k1f2k1g2k1m2k1n2k1ń2k1p2k1s2k1ś2k1t2k1z2k1ź2k1ż2l1b2l1c2l1ć2l1d2l1f2l1g2l1h2l1j2l1k2l1ł2l1m2l1n2l1ń2l1p2l1r2l1s2l1ś2l1t2l1w2l1z2l1ź2l1ż2ł1b2ł1c2ł1ć2ł1d2ł1f2ł1g2ł1h2ł1j2ł1k2ł1l2ł1m2ł1n2ł1ń2ł1p2ł1r2ł1s2ł1ś2ł1t2ł1w2ł1z2ł1ź2ł1ż2m1b2m1c2m1ć2m1d2m1f2m1g2m1h2m1j2m1k2m1l2m1ł2m1n2m1ń2m1p2m1r2m1s2m1ś2m1t2m1w2m1z2m1ź2m1ż2n1b2n1c2n1ć2n1d2n1f2n1g2n1h2n1j2n1k2n1l2n1ł2n1m2n1ń2n1p2n1r2n1s2n1ś2n1t2n1w2n1z2n1ź2n1ż2ń1b2ń1c2ń1ć2ń1d2ń1f2ń1g2ń1h2ń1j2ń1k2ń1l2ń1ł2ń1m2ń1n2ń1ń2ń1p2ń1r2ń1s2ń1ś2ń1t2ń1w2ń1z2ń1ź2ń1ż2p1b2p1c2p1ć2p1d2p1f2p1g2p1k2p1m2p1n2p1ń2p1s2p1ś2p1t2p1z2p1ź2p1ż2r1b2r1c2r1ć2r1d2r1f2r1g2r1h2r1j2r1k2r1l2r1ł2r1m2r1n2r1ń2r1p2r1s2r1ś2r1t2r1w2r1ź2r1ż2s1b2s1d2s1f2s1g2s1s2s1ź2s1ż2ś1b2ś1d2ś1f2ś1g2ś1k2ś1p2ś1s2ś1ś2ś1t2ś1z2ś1ź2ś1ż2t1b2t1c2t1ć2t1d2t1f2t1g2t1k2t1m2t1n2t1ń2t1p2t1s2t1ś2t1z2t1ź2t1żtr4z2w1b2w1c2w1ć2w1d2w1f2w1g2w1j2w1k2w1l2w1ł2w1m2w1n2w1ń2w1p2w1r2w1s2w1ś2w1t2w1z2w1ź2w1ż2z1c2z1ć2z1d2z1f2z1k2z1p2z1s2z1ś2z1t2ź1b2ź1c2ź1ć2ź1d2ź1f2ź1g2ź1k2ź1l2ź1m2ź1n2ź1p2ź1s2ź1ś2ź1t2ź1w2ź1z2ź1ż2ż1b2ż1c2ż1ć2ż1d2ż1f2ż1g2ż1j2ż1k2ż1l2ż1ł2ż1m2ż1n2ż1ń2ż1p2ż1r2ż1s2ż1ś2ż1t2ż1w2ż1z2ż1źdni1mne1pne1wc4zwła1wło14b3b4c3c4ć3ć4d3d4f3f4g3g4h3h4j3j4k3k4l3l4ł3ł4m3m4n3n4p3p4r3r4t3t4w3w4z3z4ź3ź4ż3żbr4zdr4zpr4zrs4zsc4ha2u1a2y1a1a2blo1bro1chu1dże1er4ze2u1e2y1e1e2gra1gro1i2a1i2ą1i2e1i2ę1i2i1i2o1i2ó1i2u1i2y1o2y1oc4ho1o2pre1roe2sko1sza1sze1szy1u2y1u1u2_by1", + 5 : "_a2d3_a2u1_c4h8_c4z8_cza1_ćwi1_dłu1_dro1_dwó1_d4z8_dzi1_d4ź8_d4ż8_ego1_gru1_i2n3_izo1_kro1_kró1_na2j_o2b2_o2d2_ob3r_oa3z_obu1_oda1_odu1_ogó1_oka1_okr2_ole1_osi1_pła1_poe2_pra1_pre1_r4z8_ską1_skl8_skr8_spo1_spó1_ste1_s4z8_sze1_ś1c8_śró1_świ1_toa3_tra1_tró1_u3b2_u3c2_u3d2_u3f2_u3g2_u3h2_u3k2_u3l2_u3ł2_u3m2_u3n2_u3p2_u3r2_u3s2_u3t2_u3w2_u3z2_u3ź2_u3ż2_ube1_ubr2_ukr2_upo1_uro1_utr2_uze1_wni1_ws4z_wyo2_wye2_wyi2_zao2_zai2_zde1_zdy1_zło1_zma1_zni1_zro12cz1b2cz1g2cz1l2cz1m2cz1n2cz1ń2cz1ź2cz1żd2ł1s2dz1b2dz1g2dz1l2dz1m2dz1n2dz1ń2dz1ź2dz1ż2dź1ń2rz1b2rz1g2rz1h2rz1j2rz1l2rz1ł2rz1m2rz1n2rz1ń2rz1r2rz1w2rz1ź2rz1żs2t1s2sz1l2sz1m2sz1n2sz1wwcza18b8b_8b8c_8b8ć_8b8d_8b8f_8b8g_8b8h_8b8j_8b8k_8b8l_8b8ł_8b8m_8b8n_8b8ń_8b8p_8b8r_8b8s_8b8ś_8b8t_8b8v_8b8w_8b8x_8b8z_8b8ź_8b8ż_8c8b_8c8c_8c8ć_8c8d_8c8f_8c8g_8c8h_c2h2łc2h2rchr4zc2h2w8c8j_8c8k_8c8l_8c8ł_8c8m_8c8n_8c8ń_8c8p_8c8r_8c8s_8c8ś_8c8t_8c8v_8c8w_8c8x_8c8z_8c8ź_8c8ż_8ć8b_8ć8c_8ć8ć_8ć8d_8ć8f_8ć8g_8ć8h_8ć8j_8ć8k_8ć8l_8ć8ł_8ć8m_8ć8n_8ć8ń_8ć8p_8ć8r_8ć8s_8ć8ś_8ć8t_8ć8v_8ć8w_8ć8x_8ć8z_8ć8ź_8ć8ż_8d8b_8d8c_8d8ć_8d8d_8d8f_8d8g_8d8h_8d8j_8d8k_8d8l_8d8ł_8d8m_8d8n_8d8ń_8d8p_8d8r_8d8s_8d8ś_8d8t_8d8v_8d8w_8d8x_8d8z_8d8ź_8d8ż_8f8b_8f8c_8f8ć_8f8d_8f8f_8f8g_8f8h_8f8j_8f8k_8f8l_8f8ł_8f8m_8f8n_8f8ń_8f8p_8f8r_8f8s_8f8ś_8f8t_8f8v_8f8w_8f8x_8f8z_8f8ź_8f8ż_8g8b_8g8c_8g8ć_8g8d_8g8f_8g8g_8g8h_8g8j_8g8k_8g8l_8g8ł_8g8m_8g8n_8g8ń_8g8p_8g8r_8g8s_8g8ś_8g8t_8g8v_8g8w_8g8x_8g8z_8g8ź_8g8ż_8h8b_8h8c_8h8ć_8h8d_8h8f_8h8g_8h8h_8h8j_8h8k_8h8l_8h8ł_8h8m_8h8n_8h8ń_8h8p_8h8r_8h8s_8h8ś_8h8t_8h8v_8h8w_8h8x_8h8z_8h8ź_8h8ż_8j8b_8j8c_8j8ć_8j8d_8j8f_8j8g_8j8h_8j8j_8j8k_8j8l_8j8ł_8j8m_8j8n_8j8ń_8j8p_8j8r_8j8s_8j8ś_8j8t_8j8v_8j8w_8j8x_8j8z_8j8ź_8j8ż_8k8b_8k8c_8k8ć_8k8d_8k8f_8k8g_8k8h_8k8j_8k8k_8k8l_8k8ł_8k8m_8k8n_8k8ń_8k8p_8k8r_8k8s_8k8ś_8k8t_8k8v_8k8w_8k8x_8k8z_8k8ź_8k8ż_8l8b_8l8c_8l8ć_8l8d_8l8f_8l8g_8l8h_8l8j_8l8k_8l8l_8l8ł_8l8m_8l8n_8l8ń_8l8p_8l8r_8l8s_8l8ś_8l8t_8l8v_8l8w_8l8x_8l8z_8l8ź_8l8ż_8ł8b_8ł8c_8ł8ć_8ł8d_8ł8f_8ł8g_8ł8h_8ł8j_8ł8k_8ł8l_8ł8ł_8ł8m_8ł8n_8ł8ń_8ł8p_8ł8r_8ł8s_8ł8ś_8ł8t_8ł8v_8ł8w_8ł8x_8ł8z_8ł8ź_8ł8ż_8m8b_8m8c_8m8ć_8m8d_8m8f_8m8g_8m8h_8m8j_8m8k_8m8l_8m8ł_8m8m_8m8n_8m8ń_8m8p_8m8r_8m8s_8m8ś_8m8t_8m8v_8m8w_8m8x_8m8z_8m8ź_8m8ż_8n8b_8n8c_8n8ć_8n8d_8n8f_8n8g_8n8h_8n8j_8n8k_8n8l_8n8ł_8n8m_8n8n_8n8ń_8n8p_8n8r_8n8s_8n8ś_8n8t_8n8v_8n8w_8n8x_8n8z_8n8ź_8n8ż_8ń8b_8ń8c_8ń8ć_8ń8d_8ń8f_8ń8g_8ń8h_8ń8j_8ń8k_8ń8l_8ń8ł_8ń8m_8ń8n_8ń8ń_8ń8p_8ń8r_8ń8s_8ń8ś_8ń8t_8ń8v_8ń8w_8ń8x_8ń8z_8ń8ź_8ń8ż_8p8b_8p8c_8p8ć_8p8d_8p8f_8p8g_8p8h_8p8j_8p8k_8p8l_8p8ł_8p8m_8p8n_8p8ń_8p8p_8p8r_8p8s_8p8ś_8p8t_8p8v_8p8w_8p8x_8p8z_8p8ź_8p8ż_8r8b_8r8c_8r8ć_8r8d_8r8f_8r8g_8r8h_8r8j_8r8k_8r8l_8r8ł_8r8m_8r8n_8r8ń_8r8p_8r8r_8r8s_8r8ś_8r8t_8r8v_8r8w_8r8x_8r8z_8r8ź_8r8ż_8s8b_8s8c_8s8ć_8s8d_8s8f_8s8g_8s8h_8s8j_8s8k_skr4z8s8l_8s8ł_8s8m_8s8n_8s8ń_8s8p_8s8r_8s8s_8s8ś_8s8t_str4z8s8v_8s8w_8s8x_8s8z_szc4z8s8ź_8s8ż_8ś8b_8ś8c_8ś8ć_8ś8d_8ś8f_8ś8g_8ś8h_8ś8j_8ś8k_8ś8l_8ś8ł_8ś8m_8ś8n_8ś8ń_8ś8p_8ś8r_8ś8s_8ś8ś_8ś8t_8ś8v_8ś8w_8ś8x_8ś8z_8ś8ź_8ś8ż_8t8b_8t8c_8t8ć_8t8d_8t8f_8t8g_8t8h_8t8j_8t8k_8t8l_8t8ł_8t8m_8t8n_8t8ń_8t8p_8t8r_8t8s_8t8ś_8t8t_8t8v_8t8w_8t8x_8t8z_8t8ź_8t8ż_8v8b_8v8c_8v8ć_8v8d_8v8f_8v8g_8v8h_8v8j_8v8k_8v8l_8v8ł_8v8m_8v8n_8v8ń_8v8p_8v8r_8v8s_8v8ś_8v8t_8v8v_8v8w_8v8x_8v8z_8v8ź_8v8ż_8w8b_8w8c_8w8ć_8w8d_8w8f_8w8g_8w8h_8w8j_8w8k_8w8l_8w8ł_8w8m_8w8n_8w8ń_8w8p_8w8r_8w8s_8w8ś_8w8t_8w8v_8w8w_8w8x_8w8z_8w8ź_8w8ż_8x8b_8x8c_8x8ć_8x8d_8x8f_8x8g_8x8h_8x8j_8x8k_8x8l_8x8ł_8x8m_8x8n_8x8ń_8x8p_8x8r_8x8s_8x8ś_8x8t_8x8v_8x8w_8x8x_8x8z_8x8ź_8x8ż_8z8b_8z8c_8z8ć_8z8d_zdr4z8z8f_8z8g_8z8h_8z8j_8z8k_8z8l_8z8ł_8z8m_8z8n_8z8ń_8z8p_8z8r_8z8s_8z8ś_8z8t_8z8v_8z8w_8z8x_8z8z_8z8ź_8z8ż_8ź8b_8ź8c_8ź8ć_8ź8d_8ź8f_8ź8g_8ź8h_8ź8j_8ź8k_8ź8l_8ź8ł_8ź8m_8ź8n_8ź8ń_8ź8p_8ź8r_8ź8s_8ź8ś_8ź8t_8ź8v_8ź8w_8ź8x_8ź8z_8ź8ź_8ź8ż_8ż8b_8ż8c_8ż8ć_8ż8d_8ż8f_8ż8g_8ż8h_8ż8j_8ż8k_8ż8l_8ż8ł_8ż8m_8ż8n_8ż8ń_8ż8p_8ż8r_8ż8s_8ż8ś_8ż8t_8ż8v_8ż8w_8ż8x_8ż8z_8ż8ź_8ż8ż_be1e2bino1bis4zb2r2dbroa2bus4zbusi1c2h2jc2h2lcur4zde2u1dus4zd2ż2jd2ż2ld2ż2łd2ż2rd2ż2werza1fis4zfor4zgado1his4zhuc4zi4n3ni2n1sj2t1łj2t1rled1wly2o2mar4zmis4zmi2e1moza1mur4zo4f3fó2w1cpoli1połu1p2r1cprc4hs2m2rsowi1syno1szto1to2y1tygo1we1e2ź2d4ź_gd4z_ina1", + 6 : "_a2b1s_ad4e1_ad4i1_ad4o1_ad4u1_ad4y1_ad5op_ad5or_a2n1t_anty1_a2r1c_arcy1_au3g2_au3k2_au3t2_auto1_4b3b8_2b1c8_2b1ć8_2b1d8_be2z3_beza1_bezi1_bezm2_bezo2_bezw2_2b1f8_2b1g8_2b1k8_2b1m8_2b1n8_2b1ń8_2b1p8_br4z8_2b1s8_2b1ś8_2b1t8_2b1z8_2b1ź8_2b1ż8_cało1_2c1b8_4c3c8_2c1ć8_2c1d8_2c1f8_2c1g8_c2h2r_ci2e1_2c1k8_2c1l8_2c1m8_2c1n8_2c1ń8_2c1p8_2c1s8_2c1ś8_2c1t8_czte1_czwó1_2c1ź8_2c1ż8_2ć1b8_2ć1c8_4ć3ć8_2ć1d8_2ć1f8_2ć1g8_2ć1k8_2ć1m8_2ć1n8_2ć1ń8_2ć1p8_2ć1s8_2ć1ś8_2ć1t8_2ć1z8_2ć1ź8_2ć1ż8_dale1_2d1b8_2d1c8_2d1ć8_4d3d8_de2z3_deza2_dezo2_2d1f8_2d1g8_2d1k8_2d1m8_2d1n8_2d1ń8_do3b2_do3c2_do3ć2_do3d2_do3f2_do3g2_do3h2_do3k2_do3l2_do3ł2_do3m2_do3p2_do3r2_do3s2_do3ś2_do3t2_do3w2_do3z2_do3ź2_do3ż2_dobr2_dosm2_dotr2_2d1p8_dr4z8_2d1s8_2d1ś8_2d1t8_dy2s3_dy2z3_dyzu2_e1me1_e1se1_e2s1t_egoa2_egoi2_egou2_e1le1_2f1c8_4f3f8_2f1k8_2f1m8_2f1n8_2g1b8_2g1c8_2g1ć8_2g1d8_ge2o3_2g1f8_4g3g8_2g1k8_2g1m8_2g1ń8_go2u3_2g1p8_gr4z8_2g1s8_2g1ś8_2g1t8_2g1z8_2g1ź8_2g1ż8_2h1b8_2h1c8_2h1ć8_2h1d8_2h1f8_2h1g8_4h3h8_hipe1_2h1j8_2h1k8_2h1l8_2h1ł8_2h1m8_2h1n8_2h1ń8_2h1p8_2h1r8_2h1s8_2h1ś8_2h1t8_2h1w8_2h1z8_2h1ź8_2h1ż8_i2s3l_i1ni1_i2n1f_izoa2_izoe2_izou2_2j1b8_2j1c8_2j1ć8_2j1d8_2j1f8_2j1g8_2j1h8_4j3j8_2j1k8_2j1l8_2j1ł8_2j1m8_2j1n8_2j1ń8_2j1p8_2j1r8_2j1s8_2j1ś8_2j1t8_2j1w8_2j1z8_2j1ź8_2j1ż8_2k1b8_2k1c8_2k1ć8_2k1d8_2k1f8_2k1g8_4k3k8_2k1m8_2k1n8_2k1ń8_2k1p8_kr4z8_2k1s8_2k1ś8_2k1t8_2k1z8_2k1ź8_2k1ż8_2l1b8_2l1c8_2l1ć8_2l1d8_2l1f8_2l1g8_2l1h8_2l1j8_2l1k8_4l3l8_2l1ł8_2l1m8_2l1n8_2l1ń8_2l1p8_2l1r8_2l1s8_2l1ś8_2l1t8_ludo1_2l1w8_2l1z8_2l1ź8_2l1ż8_2ł1b8_2ł1c8_2ł1ć8_2ł1d8_2ł1f8_2ł1g8_2ł1h8_2ł1j8_2ł1k8_2ł1l8_4ł3ł8_2ł1m8_2ł1n8_2ł1ń8_2ł1p8_2ł1r8_2ł1s8_2ł1ś8_2ł1t8_2ł1w8_2ł1z8_2ł1ź8_2ł1ż8_2m1b8_2m1c8_2m1ć8_2m1d8_2m1f8_2m1g8_2m1h8_2m1j8_2m1k8_2m1l8_2m1ł8_4m3m8_2m1n8_2m1ń8_2m1p8_2m1r8_2m1s8_2m1ś8_2m1t8_2m1w8_2m1z8_2m1ź8_2m1ż8_na2d2_na3b2_na3c2_na3ć2_na3f2_na3g2_na3h2_na3k2_na3l2_na3ł2_na3m2_na3p2_na3r2_na3s2_na3ś2_na3t2_na3u2_na3w2_na3z2_na3ź2_na3ż2_nakr2_napo1_naro1_nasm2_nazw2_2n1b8_2n1c8_2n1ć8_2n1d8_ne2o3_2n1f8_2n1g8_2n1h8_ni2e1_nieo2_2n1j8_2n1k8_2n1l8_2n1ł8_2n1m8_4n3n8_2n1ń8_2n1p8_2n1r8_2n1s8_2n1ś8_2n1t8_2n1w8_2n1z8_2n1ź8_2n1ż8_2ń1b8_2ń1c8_2ń1ć8_2ń1d8_2ń1f8_2ń1g8_2ń1h8_2ń1j8_2ń1k8_2ń1l8_2ń1ł8_2ń1m8_2ń1n8_2ń1ń8_2ń1p8_2ń1r8_2ń1s8_2ń1ś8_2ń1t8_2ń1w8_2ń1z8_2ń1ź8_2ń1ż8_o2t1c_otc4h_ob3l2_oblu1_ob3ł2_obra1_obry1_o3be1_o3bi1_od3i2_od3r2_odra1_odrę1_odru1_od5z2_odzi1_o3de1_o2l1ś_ob3h2_ob3j2_o1bo1_ob3w2_oc4h2_oc4z2_od3h2_od3j2_od3l2_o1do1_od3w2_od5ż2_odbe1_od4ź2_ogni1_o2p1c_o2r1t_or4z2_os4z2_ośmi1_2p1b8_2p1c8_pc4h8_2p1ć8_2p1d8_pe2r3_pe1e2_2p1f8_2p1g8_pi2e1_pi2ę1_pi2o1_2p1k8_2p1m8_2p1n8_2p1ń8_po2d2_po3b2_po3c2_po3ć2_podi1_po3f2_po3g2_po3h2_po3k2_po3l2_po3ł2_po3m2_po3p2_po3r2_po3s2_po3ś2_po3t2_po3w2_po3z2_po3ź2_po3ż2_podó1_pobr2_pokl2_pokr2_pona1_poni1_posm2_potr2_poza1_pozw2_pó2ł3_półe1_póło2_4p3p8_pr4z8_prze1_przy1_2p1s8_2p1ś8_2p1t8_2p1z8_2p1ź8_2p1ż8_2r1b8_2r1c8_2r1ć8_2r1d8_2r1f8_2r1g8_2r1h8_2r1j8_2r1k8_2r1l8_2r1ł8_2r1m8_2r1n8_2r1ń8_ro2z3_rozi2_rozm2_rozw2_2r1p8_4r3r8_2r1s8_2r1ś8_2r1t8_2r1w8_2r1ź8_2r1ż8_samo1_2s1b8_sc4h8_2s1d8_2s1f8_2s1g8_si2e1_2s1s8_su2b3_subi1_subo1_supe1_2s1ź8_2s1ż8_2ś1b8_2ś1d8_2ś1f8_2ś1g8_2ś1k8_2ś1p8_2ś1s8_2ś1ś8_2ś1t8_2ś1z8_2ś1ź8_2ś1ż8_ta2o3_tar4z_2t1b8_2t1c8_tc4h8_2t1ć8_2t1d8_te2o3_2t1f8_2t1g8_2t1k8_2t1m8_2t1n8_2t1ń8_2t1p8_tr4z8_trze1_2t1s8_2t1ś8_4t3t8_tysi1_2t1z8_2t1ź8_2t1ż8_u4d3k_u4f3n_ukle1_u4l3s_u4l3t_u2m1b_u4n3c_u4n3d_u4p3p_u4r3s_uc4h2_uc4z2_ud4z2_ud4ź2_ud4ż2_u2p1c_ur4z2_us4z2_2w1b8_2w1c8_2w1ć8_2w1d8_we3b2_we3c2_we3ć2_we3d2_we3f2_we3g2_we3h2_we3k2_we3l2_we3ł2_we3m2_we3n2_we3p2_we3r2_we3s2_we3ś2_we3t2_we3w2_we3z2_we3ż2_2w1f8_2w1g8_wi2e1_2w1j8_2w1k8_2w1l8_2w1ł8_2w1m8_2w1n8_2w1ń8_2w1p8_2w1r8_2w1s8_wspó1_wsze1_2w1ś8_2w1t8_4w3w8_wy3b2_wy3c2_wy3ć2_wy3d2_wy3f2_wy3g2_wy3h2_wy3k2_wy3l2_wy3ł2_wy3m2_wy3p2_wy3r2_wy3s2_wy3ś2_wy3t2_wy3w2_wy3z2_wy3ź2_wy3ż2_wybr2_wydr2_wykl2_wykr2_wysm2_wytr2_2w1z8_2w1ź8_2w1ż8_za3b2_za3c2_za3ć2_za3d2_za3f2_za3g2_za3h2_za3k2_za3l2_za3ł2_za3m2_za3p2_za3r2_za3s2_za3ś2_za3t2_za3u2_za3w2_za3z2_za3ź2_za3ż2_zabr2_zado1_zadr2_zady1_zakl2_zakr2_zani1_zasm2_zatr2_2z1c8_2z1ć8_2z1d8_ze3b2_ze3c2_ze3ć2_ze3d2_ze3f2_ze3g2_ze3h2_ze3k2_ze3l2_ze3ł2_ze3m2_ze3p2_ze3r2_ze3s2_ze3ś2_ze3t2_ze3w2_ze3z2_ze3ź2_ze3ż2_zekl2_zesm4_2z1f8_2z1k8_zo2o3_2z1p8_2z1s8_2z1ś8_2z1t8_4z3z8_2ź1b8_2ź1c8_2ź1ć8_2ź1d8_2ź1f8_2ź1g8_2ź1k8_2ź1l8_2ź1m8_2ź1n8_2ź1p8_2ź1s8_2ź1ś8_2ź1t8_2ź1w8_2ź1z8_4ź3ź8_2ź1ż8_2ż1b8_2ż1c8_2ż1ć8_2ż1d8_2ż1f8_2ż1g8_2ż1j8_2ż1k8_2ż1l8_2ż1ł8_2ż1m8_2ż1n8_2ż1ń8_2ż1p8_2ż1r8_2ż1s8_2ż1ś8_2ż1t8_2ż1w8_2ż1z8_2ż1ź8_4ż3ż81ś2ci12b2ł1k2b2r1n2c2h1b2c2h1c2c2h1ć2c2h1d2c2h1f2c2h1g2c2h1k2c2h1m2c2h1n2c2h1ń2c2h1p2c2h1s2c2h1ś2c2h1t2c2h1z2c2h1ź2c2h1ż2c2z1c2c2z1ć2c2z1d2c2z1f2c2z1k2c2z1p2c2z1s2c2z1ś2c2z1t2c4z3z2d2ł1b2dłs4z2d2r1n2d2z1c2d2z1ć2d2z1d2d2z1f2d2z1k2d2z1p2d2z1s2d2z1ś2d2z1t2d4z3z2d2ź1b2d2ź1c2d2ź1ć2d2ź1d2d2ź1f2d2ź1g2d2ź1k2d2ź1m2d2ź1n2d2ź1p2d2ź1s2d2ź1ś2d2ź1t2d2ź1z2d4ź3ź2d2ź1ż2d2ż1b2d2ż1c2d2ż1ć2d2ż1d2d2ż1f2d2ż1g2d2ż1k2d2ż1m2d2ż1n2d2ż1ń2d2ż1p2d2ż1s2d2ż1ś2d2ż1t2d2ż1z2d2ż1ź2d4ż3ż2g2ł1b2k1s4z2k2ł1b2n2t1n2p1s4z2p2l1n2r2z1c2r2z1ć2r2z1d2r2z1f2r2z1k2r2z1p2r2z1s2r2z1ś2r2z1t2s2ł1b2s2n1k2s2t1k2s2t1n2sts4z2s2z1c2s2z1ć2s2z1f2s2z1k2s2z1p2s2z1s2s2z1ś2s2z1t2s4z3z2ś2ć1c2ś2l1m2ś2l1n2t2l1n2t2r1k2z2d1k2z2d1ndni2o13m2k2n3w2ład3w2łosbe2ethbizne1bi2r1mbu2k1sca2l1dchus1tcurzo1d2rz2wfisha1fo2k1sforza1fo2l1kfo2s1ffosfa1ga2d1ggadge1go2l1fhuxle1in2n1sin2s1bja4z3zka2r1lki2r1ckirc4hko2n1glu2k1smier4zmo2n1tmozai2murza1na2ł1knałko1na4r3vochmi1offse1pa1na1po2d1npodni1po2m1npo2r1tpo2w1spows4zprcha1pres4zskor4zsyste1sze4śćto1yo2tu2r1bturbo1vo2l1kze4p3p_byna1_gdzi1_o2w1s_ows4z_póła1", + 7 : "_a1d4a1_ae3ro1_aeroi2_aerou2_antye2_antyi2_antyo2_antyu2_arcye2_arcyi2_arcyo2_arcyu2_autoe2_autoi2_be1ze1_be2z1c_be4z3z_bezzw2_chr4z8_2c2z1t_ćwi2e1_de1ze1_długo1_do4k3t_do4l3n_do4ł3k_do4m3k_do4r3s_do4w3c_doc4h2_doc4z2_dod4z2_dod4ź2_dod4ż2_do2p1c_dor4z2_dos4z2_dwó2j3_dy3s4z_dzi2e1_e2k2s3_emes4z_e1goe2_ego1o2_eks4y1_grubo1_i3n4ic_i3n4o1_i3n4u1_infla1_ino3w2_i1zoi2_izo1o2_jadło1_ki2l1k_kilku1_ko1ło1_ko2n1t_kro2ć3_mi1li1_mo2ż1n_nad3i2_nad3ł2_nadłu1_nadmu1_nad3r2_nadre1_nadrę1_nadru1_nad3w2_nadwo1_na1da1_na3daj_na3dą1_na3de1_na3dę1_na3do1_na3dy1_nad4z2_na1ja1_na3ją1_na3je1_na3ję1_na4f3c_na4f3t_na4r3c_na4r3d_na4r3k_na4r3r_na4r3t_nac4h2_nac4z2_nad3h2_nad3j2_nad3l2_nad3u2_nad5ż2_nadtr2_naj3i2_naj3o2_najro1_naj3u2_najbe1_najdo1_najkr2_najsm2_najzw2_nar4z2_nas4z2_na2t1c_naz3m2_nie3b2_nie3c2_nie3ć2_nie3d2_nie3f2_nie3g2_nie3h2_nie3k2_nie3l2_nie3ł2_nie3m2_nie3p2_nie3r2_nie3s2_nie3ś2_nie3t2_nie3u2_nie3w2_nie3z2_nie3ź2_nie3ż2_niedo1_nieob2_nieoc2_nieoć2_nieod2_nieof2_nieog2_nieoh2_nieok2_nieol2_nieoł2_nieom2_nieop2_nieor2_nieos2_nieoś2_nieot2_nieow2_nieoz2_nieoź2_nieoż2_niepo1_niero1_niesu1_nietr2_nieuw2_niewy1_niezw2_o1bło1_o1bro1_o1dro1_od2r1w_odr4z2_odrze1_o3l2śn_obrze1_obrzę1_obrzu1_obrzy1_o2b3c2_o2b3ć2_o2b3d2_o2b3f2_o2b3g2_o2b3k2_o2b3m2_o2b3n2_o2b3p2_o2b3s2_o2b3ś2_o2b3t2_o2b3ź2_o2b3ż2_obc4h2_obc4z2_obd4z2_obd4ź2_obd4ż2_obe3b2_obe3c2_obe3ć2_obe3d2_obe3f2_obe3g2_obe3h2_obe3k2_obe3l2_obe3ł2_obe3m2_obe3p2_obe3r2_obe3s2_obe3ś2_obe3t2_obe3w2_obe3z2_obe3ź2_obe3ż2_obi3b2_obs4z2_oc2h2r_o2d3b2_o2d3c2_o2d3ć2_o4d3d2_o2d3f2_o2d3g2_o2d3k2_o2d3m2_o2d3n2_od3o2s_o2d3p2_o2d3s2_o2d3ś2_o2d3t2_odc4h2_odc4z2_odd4z2_odd4ź2_odd4ż2_ode3b2_ode3c2_ode3ć2_ode3d2_ode3f2_ode3g2_ode3h2_ode3k2_ode3l2_ode3ł2_ode3m2_ode3p2_ode3r2_ode3s2_ode3ś2_ode3t2_ode3w2_ode3z2_ode3ź2_ode3ż2_ods4z2_oka3m2_opc4h2_or2tę1_o2r2ż2_osi2e1_pe3c2k_pe2ł1n_pełno1_pe1pe1_pe1ze1_pię2ć3_pod3ł2_podmu1_podna1_pod3r2_podra1_podre1_podrę1_podró1_podru1_podry1_podr4z_pod3w2_podwa1_podwó1_po3da1_po3dą1_po3de1_po3dej_po3dę1_po3do1_po3du1_po3dy1_po3r1ż_poc4z2_podza1_podzi1_po4l3s_po4m3p_po4ń3c_po4r3c_po4r3f_po4r3n_po4r3t_poc4h2_pod3h2_pod3j2_pod3l2_pod5ż2_podsm2_po2p1c_po1po1_po1ro1_por4z2_pos4z2_poz4m2_półkr2_pó2ł1p_pra3s2_predy1_przyo2_retra1_ro1zo2_ro2z1p_roztr2_skąd4ż_so1bo1_spo2d2_spo3b2_spo3c2_spo3ć2_spo3f2_spo3g2_spo3h2_spo3k2_spo3l2_spo3ł2_spo3m2_spo3p2_spo3r2_spo3s2_spo3ś2_spo3t2_spo3w2_spo3z2_spo3ź2_spo3ż2_spó2ł3_sze2s3_sześ1c_śró2d5_śródr2_świ2a1_tró2j3_tróje1_u4m3br_ube2z3_ubezw2_u2m1k2_upc4h2_upo2d2_upo3b2_upo3c2_upo3ć2_upo3f2_upo3g2_upo3h2_upo3k2_upo3l2_upo3ł2_upo3m2_upo3p2_upo3r2_upo3s2_upo3ś2_upo3t2_upo3w2_upo3z2_upo3ź2_upo3ż2_uro2z3_u2r1ż2_usc4h2_u2t1k2_uze3w2_we4k3t_we4l3w_we4ł3n_we4n3d_we4n3t_we4r3b_we4r3d_we4r3n_we4r3s_we4r3t_wec4h2_wec4z2_wed4z2_wed4ź2_wed4ż2_we2p1c_wer4z2_wes4z2_we2w1n_wewną1_wielo1_wielu1_wi2l1c_wilc4z_wni2e1_wo1do1_wyc4z2_wy2ż1s_wyc4h2_wyd4z2_wyd4ź2_wyd4ż2_wy2p1c_wyr4z2_wys4z2_wy2t1c_za4k3t_za4l3g_za4l3k_za4l3t_za4m3k_za2r1c_zac4h2_zac4z2_zad4z2_zad4ź2_zad4ż2_zai2n3_zar4z2_zas4z2_zde2z3_zdeza1_ze4r3k_ze1te1_zetha1_zec4h2_zec4z2_zed4z2_zed4ź2_zed4ż2_ze2p1c_zer4z2_zes4z2_zi2m1n_zimno1_zło3w2_zni2e1_zro2z3_ź2d4ź82sz2l1n2t2rz1n3d2niow3m2nest3m2nezj3w2czas8b8r8z_8c8h8ł_8c8h8w_8c8z8t_8d8r8z_8k8s8t_8m8s8t_8p8r8z_8r8s8z_8r8z8ł_8s8c8h_8s8t8r_8s8t8w_sz2cz1b8s8z8k_8s8z8n_8s8z8t_8t8r8z_8z8d8r_be1khe1biszko1bi1rmi1blokha1bu2sz1mbusine1caldwe1deu2t1sduszpa1dże4z3bdże4z3me2r5zace3u2s4zgol2f3sgra2n1dgrandi1gro4t3rhu2cz1winn2s1binsbru1kar2l1skongre1luftwa1luk2s1fluksfe1mi2sz1mmiszma1montre1o2c2h1mó4w3c4zpaname1pa1sca1por2t1sportla1poli2e1poli2u1powsze1pr2chalroe2n1tro1kro1ro1sto1sowi3z2s4zas4zszezlo1szy2n1k_inac4z_ni2g1d_nigdy1_nigd4z_owsze1_skądi1_trója1", + 8 : "_a2b2s3t_ad5i2u1_a1eroa2_ae1roe2_aero1o2_a1ntya2_arcy3b2_arcy3k2_arcy3ł2_arcy3m2_a1rcya2_a1utoa2_auto1o2_au1tou2_be3z4an_be3z4ec_be3z4ik_bezc4h2_cało3k2_cało3ś2_cie2n1k_cienko1_ciepło1_cza2r1n_czarno1_2c2z1k8_cztero1_czwó2r3_daleko1_dezabi1_de3z4el_de3z4er_de3z4y1_dobr4z2_dogr4z2_dopc4h2_dopr4z2_do2r1ż2_dosc4h2_do2t1k2_dro1go1_dy3s4e1_dy3s4o1_dy3s4y1_dy3z4e1_e2s1ha1_ele2k1t_hipe2r3_hipera2_i4n5o2k_koło3w2_kontru2_kró2t1k_krótko1_ludo3w2_mili2a1_mo1żno1_na3d4ir_na2d3m2_na3dzi1_na3d4ź2_nadoki1_nadrze1_nabr4z2_na2d3b2_na2d3c2_na2d3ć2_na4d3d2_nade3t2_na2d3f2_na2d3g2_na2d3k2_na2d3n2_na2d3p2_na2d3s2_na2d3ś2_na2d3t2_na2dz1m_nadzmy1_nad5zo1_nad5zó1_nadzwy1_nadc4h2_nadc4z2_nadd4ź2_nade3b2_nade3c2_nade3ć2_nade3d2_nade3f2_nade3g2_nade3h2_nade3k2_nade3l2_nade3ł2_nade3m2_nade3p2_nade3r2_nade3s2_nade3ś2_nade3w2_nade3z2_nade3ź2_nade3ż2_nads4z2_nadśro1_nagr4z2_na2j3b2_na2j3c2_na2j3ć2_na2j3d2_na2j3f2_na2j3g2_na2j3h2_na2j3k2_na2j3l2_na2j3ł2_na2j3m2_na2j3p2_na2j3r2_na2j3s2_na2j3ś2_na2j3t2_na2j3w2_na2j3z2_na2j3ź2_na2j3ż2_najc4h2_najc4z2_najd4z2_najd4ź2_najd4ż2_najr4z2_najs4z2_napo2d2_napo3b2_napo3c2_napo3ć2_napo3f2_napo3g2_napo3h2_napo3k2_napo3l2_napo3ł2_napo3m2_napo3p2_napo3r2_napo3s2_napo3ś2_napo3t2_napo3w2_napo3z2_napo3ź2_napo3ż2_napr4z2_naro2z3_na2r1ż2_natc4h2_na2t1k2_nie4c3c_nie4c3k_nie4m3c_nie4m3k_niec4h2_niec4z2_nied4z2_nied4ż2_nieodw2_niepr4z_nier4z2_nies4z2_o3b4łą1_o3b4łę1_o3b4łoc_o3b4rać_o3b4ron_o3b4roń_o3b4ryz_o3b4ryź_o3d4rap_o3d4ręt_odrobi1_o3d4rut_ob3u2m2_obe3r3t_obe4c3n_obe4z3w_obec4h2_obec4z2_obed4z2_obed4ź2_obed4ż2_obe2r3m_ober4z2_obes4z2_ochr4z2_od3a2u1_od3u2m2_odbe2z3_odec4h2_odec4z2_oded4z2_oded4ź2_oded4ż2_ode2p1c_oder4z2_odes4z2_ode2t1c_odkr4z2_ogó2l1n_o1le2o3_osie2m3_pe3r4e1_pe3r4i1_pe3r4o1_pe3r4u1_pe3r4y1_pepee2r_pepee2s_pie2r1w_pierwo1_pi1ęci1_pię2ć1s_pięćse1_pio1no1_płasko1_po2d3m2_po2d3n2_pod2r1w_po1dro1_po1dwo1_po3d4z2_po3d4ź2_pode3k2_podobi1_podobó1_podoc4h_podoki1_podopi1_podory1_podosi1_po4d3ów_podura1_podus4z_po2dz1b_po4st3h_po4st3l_pobr4z2_poc2h2r_po2d3b2_po2d3c2_po2d3ć2_po4d3d2_po2d3f2_po2d3g2_pod3i2n_po2d3k2_po2d3p2_po2d3s2_po2d3ś2_podśró1_po2d3t2_podc4h2_podc4z2_podd4ź2_podd4ż2_pode3b2_pode3c2_pode3ć2_pode3d2_pode3f2_pode3g2_pode3h2_pode3l2_pode3ł2_pode3m2_pode3p2_pode3r2_pode3s2_pode3ś2_pode3t2_pode3w2_pode3z2_pode3ź2_pode3ż2_pods4z2_pogr4z2_po2ł1k2_pom4p1k_po2m1k2_pona2d2_pona3b2_pona3c2_pona3ć2_pona3f2_pona3g2_pona3h2_pona3k2_pona3l2_pona3ł2_pona3m2_pona3p2_pona3r2_pona3s2_pona3ś2_pona3t2_pona3w2_pona3z2_pona3ź2_pona3ż2_ponasm2_ponazw2_poni2e1_popc4h2_popo3w2_popr4z2_por4t1w_por4t1f_por4t1m_poro2z3_posc4h2_po2t1k2_poza3u2_pó3ł4ą1_pó3ł4ę1_pó3ł4y1_pó2ł1k2_pó2ł1m2_półob3r_półpr4z_pra2w1n_pra3w2z_prze2d2_prze3b2_prze3c2_prze3ć2_prze1e2_prze3f2_prze3g2_prze3h2_prze3k2_prze3l2_prze3ł2_prze3m2_prze3n2_prze3p2_prze3r2_prze3s2_prze3ś2_prze3t2_prze3u2_prze3w2_prze3z2_prze3ź2_prze3ż2_przebr2_przeci1_przeda1_przekl2_przekr2_przesm2_przetr2_przy3b2_przy3c2_przy3ć2_przy3d2_przy3f2_przy3g2_przy3h2_przy3k2_przy3l2_przy3ł2_przy3m2_przy3p2_przy3r2_przy3s2_przy3ś2_przy3t2_przy3w2_przy3z2_przy3ź2_przy3ż2_przybr2_przyoz2_ro3z4a1_ro3z4e1_ro3z4ej_ro3z4u1_rozani1_ro2z1d2_ro1zpo1_ro2z1ś2_ro2z1t2_samo3k2_samo3p2_samo3w2_sie1de1_sie2d1m_sobo3w2_spo4r3n_spo4r3t_spoc4h2_spoc4z2_spo4d3d_spod4ź2_spod4ż2_spor4z2_spos4z2_ste1re1_supe2r3_supera1_superi1_super4z_supero1_ta1rza1_transi1_transo2_tysi2ą1_u4k3lej_u4p3p2s_u4s2t3n_u4s2t1c_u4s2t1k_u4z3be1_upo3da1_upoc4h2_upoc4z2_upo4d3d_upod4ź2_upod4ż2_upor4z2_upos4z2_wes2t1c_we4z3br_we4z3gł_we2m1k2_wepc4h2_we2t1k2_wilczo1_wniebo1_wodo3w2_wspó2ł3_współi2_współo1_współu2_wybr4z2_wygr4z2_wyi2zo1_wykr4z2_wy2m1k2_wypc4h2_wypr4z2_wy2r1ż2_wysc4h2_wytc4h2_wy2t1k2_za4uto1_zabr4z2_zagr4z2_zai2zo1_zai1ni1_zain4ic_zakr4z2_zani2e1_za2r1ż2_zasc4h2_za2t1k2_zde1ze1_zdysko1_ze3t1k2_zepc4h2_ze2r1ż2_zesc4h2_zma2r1t_znie3b2_znie3c2_znie3ć2_znie3d2_znie3f2_znie3g2_znie3h2_znie3k2_znie3l2_znie3ł2_znie3m2_znie3n2_znie3ń2_znie3p2_znie3r2_znie3s2_znie3ś2_znie3t2_znie3w2_znie3z2_znie3ź2_znie3ż23k2s2z2t3m2s2k2n3p2ne2u18ch8r8z_8sk8r8z_8sz8c8z_8sz8t8r_bi2s2z1kbi2z3nesbo2s3ma1bu2k1s4zbukszpa1cu2r7zondeutsc4hdu2s2z1pfi1szbi1fo2k2s3tfo2r5zacfo1lklo1ga3d2getgado2p1tgolfs4z2hi2s2z3pinnsbru1in4sbrucja4z4z3bja4z4z3mkarlsru1kirc4h3hkirchho1ma2r5z1lma2r5z1łma2r5z1nmontrea2moza2i3kmurzasi1of2f3setpa2s3calpa2s3c4hpodni2e1po3m2ną1po3m2nę1po3m2ni1poli3e2tpołu2d1nroen2t1gse2t3le1sko1rzo1sy2s1temszynkwa1to3y2o3tturbo1o2tygo2d1nwe1e1ke1we4s2t3fwe4s2t3m_bezac4h_bezami1_gdzi2e1_inacze1_półac4h_półami1_przyna1", + 9 : "_ad5a2p1t_bezo2b1j_czte1re1_długo3w2_do5m4k2n_drogo3w2_dwó3j4a1_dwó3j4ą1_dwó3j4e1_dwó3j4ę1_dwó3j4o1_dy3s4ta1_dzi1esi1_dzi1ewi1_elektro1_grubo3w2_hipe1re2_in4f3lan_jadło3w2_kilkuse1_kon2t2r3_ko1ntro2_możno3w2_na3d4łub_na3d4r2w_na3d4ruk_na3d4r4z_nado1bo1_nado2l1b_nadzi2e1_na4j3e2f_na4j3e2g_na4j3e2n_na4j3e2r_na4j3e2s_na4j3e2w_na1deta1_nade4p3c_nade4p3n_nade4p3t_nadec4h2_nadec4z2_naded4z2_naded4ź2_naded4ż2_nader4z2_nades4z2_naj3a2u1_naj3o2b2_naj3o2c2_naj3o2ć2_naj3o2d2_naj3o2f2_naj3o2g2_naj3o2h2_naj3o2k2_naj3o2l2_naj3o2ł2_naj3o2m2_naj3o2p2_naj3o2r2_naj3o2s2_naj3o2ś2_naj3o2t2_naj3o2w2_naj3o2z2_naj3o2ź2_naj3o2ż2_najbe2z3_najbezw2_najdo3b2_najdo3c2_najdo3ć2_najdo3d2_najdo3f2_najdo3g2_najdo3h2_najdo3k2_najdo3l2_najdo3ł2_najdo3m2_najdo3p2_najdo3r2_najdo3s2_najdo3ś2_najdo3t2_najdo3w2_najdo3z2_najdo3ź2_najdo3ż2_najob3h2_najob3j2_najob3l2_najob3ł2_najob3w2_najoc4h2_najoc4z2_najod3h2_najod3j2_najod3l2_najod3w2_najod5ż2_najod4z2_najod4ź2_najor4z2_najos4z2_naj2t1k2_naj2t1r2_najuc4z2_napo4m3p_napoc4h2_napoc4z2_napo4d3d_napod4ź2_napod4ż2_napor4z2_napos4z2_nie4d4ź3_niedo3b2_niedo3c2_niedo3ć2_niedo3d2_niedo3f2_niedo3g2_niedo3h2_niedo3k2_niedo3l2_niedo3ł2_niedo3m2_niedo3p2_niedo3r2_niedo3s2_niedo3ś2_niedo3t2_niedo3w2_niedo3z2_niedo3ź2_niedo3ż2_niedokr2_nieob3h2_nieob3j2_nieob3w2_nieoc4h2_nieoc4z2_nieod3h2_nieod3j2_nieod3l2_nieod3ł2_nieod5ż2_nieod4z2_nieod4ź2_nieor4z2_nieos4z2_niepo2d2_niepo3b2_niepo3c2_niepo3ć2_niepo3f2_niepo3g2_niepo3h2_niepo3k2_niepo3l2_niepo3ł2_niepo3m2_niepo3p2_niepo3r2_niepo3s2_niepo3ś2_niepo3t2_niepo3w2_niepo3z2_niepo3ź2_niepo3ż2_niepod5ż_nieposm2_niero2z3_nierozm2_niesu2b3_nie2t1k2_nieuc4z2_niewy3b2_niewy3c2_niewy3ć2_niewy3d2_niewy3f2_niewy3g2_niewy3h2_niewy3k2_niewy3l2_niewy3ł2_niewy3m2_niewy3p2_niewy3r2_niewy3s2_niewy3ś2_niewy3t2_niewy3w2_niewy3z2_niewy3ź2_niewy3ż2_niewytr2_o3b4luzg_o3b4r4z2_o3d4i2u1_o3d4rwi1_o3d4rzeć_o3d4rz2w_o4b5rzą1_o4b5rzez_o4b5rzęd_o4b5rzuc_o4b5rzut_o4b5rzyn_o4d7ziar_o4d7ziem_obe2r1ż2_obesc4h2_obe2t1k2_od3u2c4z_ode3m1k2_odepc4h2_ode2r1ż2_odetc4h2_ode2t1k2_o1gni2o1_o1gólno1_osie2m1s_o1śmi2o1_ośmio3ś2_pe4r5i2n_pe1e1se1_pee2se2l_pe1pe1e2_peze2t1p_pięci2o1_piono3w2_po3d4łu1_po3d4naw_po3d4rap_po3d4raż_po3d4roż_po3d4róż_po3d4ryg_po3d4waj_po3d4woj_po3d4wór_po3di2u1_po4c2z3d_po4c2z3t_podobra1_po4d3o2f_po4d3o2g_podokre1_podokrę1_podo2b1s_podo2l1b_po4d5zam_po4d5ze1_podzi2e1_po4s2t3d_po4s2t3f_po4s2t3g_po4st3i2_po4s2t3k_po4s2t3m_po4s2t3p_po1stro1_po4s2t3s_po5r4tę1_pochr4z2_podec4h2_podec4z2_poded4z2_poded4ź2_poded4ż2_pode2p1c_poder4z2_podes4z2_podro2z3_pona4f3t_ponac4h2_pona4d3d_ponad3h2_ponad3j2_ponad3l2_ponad4z2_ponar4z2_ponas4z2_ponaz3m2_ponie3k2_ponie3w2_póło2m2d_półprzy1_pra1pra1_przed3ł2_przedłu1_przedmu1_przed3o2_przed3r2_przedra1_przedru1_przedry1_przed3u2_prze3dą1_prze3dę1_prze3dy1_przedzi1_przec4h2_przec4z2_prze1de1_przed3h2_przed3i2_przed3j2_przed3l2_przedsi1_przed3w2_prze2p1c_przes4z2_przetra1_przyc4h2_przyc4z2_przyd4z2_przyd4ź2_przyd4ż2_przy2p1c_przys4z2_rozbr4z2_rozec4h2_rozec4z2_rozed4z2_rozed4ź2_rozed4ż2_roze2p1c_rozer4z2_rozes4z2_rozpo3w2_samo1ro1_siede2m3_si1edmi1_spo3d4z2_stere2o3_stereoa2_stereoi2_stereou2_supe1re2_sze4ś2ć3_sześ2ć1s_światło1_ta2r7zan_tra2n2s3_tran3s4z_tra1nsa2_tró3j4ą1_tró3j4ę1_tysią2c3_wielo3d2_wielo3k2_wielo3ś2_wszecho2_wy3o2d3r_wy4ż3s4z_wye2k2s3_za3o2b3r_za3o2b3s_za4r3c4h_za5m4k2n_zado2ść3_zadośću4_zanie3d2_zde3z4el_zde3z4er_zde3z4y1_zdyskre1_zdyskwa1_ze4t3hap_zmartwy1_znie4m3c_zniec4h2_zniec4z2_znied4z2_znied4ż2_znier4z2_znies4z2_zro3z4u18s8t8r8z_8szc8z8b_8z8d8r8z_be2f3s4z2bi2sz3kopbirmi2n1gblokha2u1broa1dwa1bu2sz3me1buk2s2z1pfi2sz3binfol2k1lorfo1sfazo1karlskro1lu2ks1fermie2r5z1łpo1rtsmo1portsmou2pre2s2z1proe1ntge1skorzone1szto1kho1vo2l2k2s3_byna2j1m_n8i9gdy__ni1gdzi1_niechby1_trójac4h_trójami1_podó2w1c", + 10 : "_arcy3b1z2_auto3c4h2_a1utotra1_cienko3w2_czarno3k2_cztero3ś2_czwó3r4a1_czwó3r4ą1_czwó3r4e1_czwó3r4ę1_czwó3r4o1_ćwie2r2ć3_daleko3w2_długo3tr2_dziesi2ę1_dziewi2ę1_e1me1sze1_elektroa2_elektroi2_elektrou2_hipe3r4o1_kon3tr4a1_kon3tr4e1_kon3tr4y1_krótko3w2_nadre2p1c_na3ja2z1d_nado1bro1_nadoki2e1_na4d5rzą1_na4d5rzę1_na4d5rzy1_na4d5ziem_na4j3e2u1_nad3e2tat_nad5z2mys_nade2r1ż2_nadśrod4z_naj3a2k1t_naj3ro2z3_najdoc4h2_najdoc4z2_najdod4z2_najdod4ź2_najdod4ż2_najdor4z2_najdos4z2_najo2b3c2_najo2b3ć2_najo2b3d2_najo2b3f2_najo2b3g2_najo2b3k2_najo2b3m2_najo2b3n2_najo2b3p2_najo2b3s2_najo2b3ś2_najo2b3t2_najo2b3ź2_najo2b3ż2_najobc4h2_najobc4z2_najobd4z2_najobd4ź2_najobd4ż2_najobr4z2_najobs4z2_najo2d3c2_najo2d3ć2_najo4d3d2_najo2d3f2_najo2d3g2_najo2d3k2_najo2d3m2_najo2d3n2_najo2d3p2_najo2d3s2_najo2d3ś2_najo2d3t2_najodc4h2_najodc4z2_najodd4z2_najodd4ź2_najodd4ż2_najods4z2_napo2m1k2_niedoc4h2_niedoc4z2_niedod4z2_niedod4ź2_niedod4ż2_niedo2p1c_niedor4z2_niedos4z2_nieo2b3c2_nieo2b3ć2_nieo2b3d2_nieo2b3f2_nieo2b3g2_nieo2b3k2_nieo2b3m2_nieo2b3p2_nieo2b3s2_nieo2b3ś2_nieo2b3ź2_nieo2b3ż2_nieobc4h2_nieobc4z2_nieobd4z2_nieobd4ź2_nieobd4ż2_nieobs4z2_nieo2d3c2_nieo2d3ć2_nieo4d3d2_nieo2d3f2_nieo2d3g2_nieo2d3k2_nieo2d3n2_nieo2d3p2_nieo2d3s2_nieo2d3ś2_nieo2d3t2_nieod3w1r_nieodc4h2_nieodc4z2_nieodd4z2_nieodd4ź2_nieodd4ż2_nieods4z2_niepod3ł2_niepodmu1_niepod3r2_niepodra1_niepodrę1_niepod3w2_niepodwa1_niepo3do1_niepo3du1_niepoc4h2_niepoc4z2_niepod3h2_niepod3j2_niepod3l2_niepodsm2_niepor4z2_niepos4z2_nie1prze1_niero2z1t_nieroztr2_ni1esubi1_niewyc4h2_niewyc4z2_niewyd4z2_niewyd4ź2_niewyd4ż2_niewyr4z2_niewys4z2_o2t3c2h2ł_o3b4raso1_o3d4robin_o3d6zi2a1_o3d6zi2e1_o4b5łoc4z_o1d3i2zo1_ognio3tr2_ogólno3k2_osie1mse1_pełno3kr2_pierwo3w2_pięcio3ś2_pięćse2t3_płasko3w2_podre2p1c_po3d4rętw_po3d4ruzg_po3d4rze1_po3d4woi2_po3e2k2s3_podobi2a1_po1do1bo1_podoki2e1_podopi2e1_po4d5zakr_po4d5zast_po4d5zbi1_po4d5ziem_po1dzi2o1_po4d5ziom_po4st3rom_pod3a2l1p_pode3t1k2_podepc4h2_pode2r1ż2_podesc4h2_pona3c4z2_po1na3do1_pona3d4ź2_ponabr4z2_pona2d3c2_pona2d3ć2_pona2d3f2_pona2d3g2_pona2d3k2_pona2d3p2_pona2d3s2_pona2d3ś2_pona2d3t2_poro3z4u1_pó3ł4ec4z_pra3w2nu1_prze2d3m2_prze3d4um_prze3d4z2_prze3d4ź2_prze4d5zj_przedzwo1_prze4d5ż2_przec2h2r_przeci2w3_przeciwa2_przedago1_prze2d3b2_prze2d3c2_prze2d3ć2_prze4d3d2_prze2d3f2_prze2d3g2_prze2d3k2_prze2d3n2_prze2d3p2_prze2d3s2_prze2d3ś2_prze2d3t2_przedc4h2_przedc4z2_przedd4z2_przedd4ź2_przedd4ż2_prze2ł1k2_prze2m1k2_przepc4h2_pr4zer4z2_prze2r1ż2_przesc4h2_prze2t1k2_przy2m1k2_przypc4h2_pr4zyr4z2_przy2r1ż2_przysc4h2_przy2t1k2_ro3z4e3b2_ro3z4e3c2_ro3z4e3ć2_ro3z4e3d2_ro3z4e3f2_ro3z4e3g2_ro3z4e3h2_ro3z4e3k2_ro3z4e3l2_ro3z4e3ł2_ro3z4e3m2_ro3z4e3p2_ro3z4e3r2_ro3z4e3s2_ro3z4e3ś2_ro3z4e3t2_ro3z4e3w2_ro3z4e3z2_ro3z4e3ź2_ro3z4e3ż2_rozepc4h2_roze2r1ż2_rozesc4h2_samo3c4h2_samoro2z3_siede2m1s_siedmi2o1_ską2d5że1_stereo1o2_su3b4i2e1_supe3r4at_sze1ś2ci1_sześci2o1_sze1śćse1_tran3s4e1_tran3s4y1_trze2c4h3_tysią3c4z_we4s3pr4z_wie1luse1_wilczo3m2_wniebo3w2_wspó2ł1w2_wsze2c4h3_wy4cz3ha1_ze1te1me1_ze1te1se1_zimno3kr2_znie4d4ź3bi2n3o2ku1birmingha1blo2k1hauzbuk2sz3panbusine2s2sdeutsc2h2ldeutschla1du2sz3pasthu2x3le2y1kongre2s3mluftwa4f3fmi1e2r5zi1mon2t3realmurzasic4hpa2n3a2merpoli3u2re1połu3d2ni1powsze2d1npre2sz3pa1ro2k3roc4zsy2n3o2p1tsza2sz1ły1szyn2k1wasturboodr4ztygo3d2ni1_bynaj2m1n_bynajmni1_be9z8ami__gdzi1eni1_n8a9da8l__nigdzi2e1_nie2c2h1ż_nie1chże1_nie2c2h1b_ow9sze8m__pó9ł8ami__pó9ł8e8k__ską1diną1_podówcza1", + 11 : "_ciepło3kr2_de3z4a3bil_de3z4a3wu1_dziewię2ć3_elektro1o2_kilkuse2t3_kilkuseto2_kon3tr4o3l_kon3tr4o3w_krótko3tr2_mili3a2m1p_na3d4muc4h_na3d4ręc4z_na4d3o2b2ł_nadobo2j1c_na4j3e2k2s_na4j3e2ko1_na4j3e2m1f_nad5zwyc4z_nadśrodzi1_najdo2t1k2_najro3z4u1_niedobr4z2_niedo2m1k2_niedopc4h2_niedo2t1k2_niepo2d3m2_nie1podre1_niepo1dwo1_niepo3d4z2_niepo3d4ź2_niepodoc4h_niepo2d3b2_niepo2d3c2_niepo2d3ć2_niepo4d3d2_niepo2d3f2_niepo2d3g2_niepo2d3k2_niepo2d3n2_niepo2d3p2_niepo2d3s2_niepo2d3ś2_niepo2d3t2_niepodc4h2_niepodc4z2_niepodd4ź2_niepodd4ż2_niepods4z2_nieprze2d2_nieprze3b2_nieprze3c2_nieprze3ć2_nieprze3f2_nieprze3g2_nieprze3h2_nieprze3k2_nieprze3l2_nieprze3ł2_nieprze3m2_nieprze3n2_nieprze3p2_nieprze3r2_nieprze3s2_nieprze3ś2_nieprze3t2_nieprze3w2_nieprze3z2_nieprze3ź2_nieprze3ż2_nieprzekl2_nieprzekr2_nieprzesm2_nieprzetr2_niero3z4u1_nieroze3r2_niero2z1ś2_niewybr4z2_niewy2t1k2_ob3o2str4z_osiemse2t3_pe1ze1tpe1_po3d4muc4h_po3d4r2wi1_po3d4ręc4z_po3d4roba1_po3d4robó1_po3d4roby1_po3d4roc4z_po3d4wor4z_podobo2j1c_po4d3o2bóz_po1do1cho1_po4d3o2d1m_po4d3o2k1n_po4d3o2ryw_podosi1ni1_po4d3obs4z_po4d3o4d3d_po4d3u2c4z_po4d3u2d4z_po4d3u2pa1_po4d3u2ral_podu2s2z1c_podzie1le1_po4d5z2w2r_poduszczy1_pod3śró2d5_ponad3c4h2_ponad3c4z2_ponad3d4ź2_prapra2w1n_prze3d4łuż_prze3d4ruk_prze3d4ryl_przedłuży1_przedosta1_prze4d5za1_prze4d5zim_prze4d5z1l_pr4zebr4z2_przeci1wi1_przedsi2ę1_przed3s4z2_pr4zegr4z2_pr4zygr4z2_retra2n2s3_ro4z5a2gi1_ro4z5e2mo1_ro4z5e4g3z_ro4z5e4n3t_siedmio3ś2_ste1re1oe2_su3b4o2t1n_supe2r5z2b_superodr4z_sześcio3ś2_sześćse2t3_światło3w2_tró3j4ec4z_trze2c2h1s_trze1chse1_tysią3c4a1_tysią3c4e1_tysią4c5zł_we4s3tc4h2_wieluse2t3_współo2b3w_wszec2h2w2_zady2s3po1_zde3z4awu1_zdy2s3kred_zdy2s3kwal_ze4t3e2m1pbe2k1he2n1dbi2z3ne2s3mbusine2ss3mfi2s3ha2r1mfos2f1a2zotga1do3p2ta1gran2d1ilo1karl2s1kronna4ł3ko2w1soch3mistr4zro2e3nt2genro2s3to3c2ksko2r5zoner_n8i9gdzie__nie8ch9że__nie8ch9by__przyna2j1m_tró9j8ami__tró9j8e8k__podó4w3c4z", + 12 : "_cztere2c4h3_dziewię2ć1s_e2s1e2s1ma1_e1le1ktroe2_na3d4repc4z_na3d4re2p1t_na3d4wo2r1n_na4d3o2brot_na4d3o2dr4z_na4d3o2kien_na4d3olbr4z_na4d5rzec4z_niepo3d4łu1_niepo3d4rap_niepo3d4raż_niepo3d4waj_niepo3d4woj_nieprzed3ł2_nieprzedłu1_nieprzedmu1_nieprzed3r2_nieprzedra1_nieprzedru1_nieprzedry1_nieprzed3u2_nieprze3dy1_nie1prze1e2_nieprzec4h2_nieprzec4z2_nieprzed3h2_nieprzed3j2_nieprzed3l2_nieprzed3w2_nieprze2p1c_nieprzes4z2_nie1ro3z4e1_nierozbr4z2_po3d4repc4z_po3d4re2p1t_po3d4ro1bo1_po3d4wó2j1n_po4d3e4k2s3_po4d3o2biad_po4d3o2braz_po4d3o2choc_po4d3o2kien_po4d3o2kres_po4d3o2kręg_podosini2a1_po4d3olbr4z_po4d3u2sta1_półprzy3m2k_predy2s3po1_prze3d4o3br_prze3d4o3st_przedra1ma1_prze3e2k2s3_prze4d5z1g2_prze4d5zwoj_pr4zechr4z2_przeci4w3w2_przed3a2gon_przed3a2k1c_przed3a2l1p_przed3e2g1z_prze1de1me1_przed3e2mer_pr4zedgr4z2_sie1de1mse1_siedemse2t3_supe3r4i2o1_supe4r5a2tr_tran3s4i2e1_tran4s5e2u1_trzechse2t3_wewną2tr4z3birmin2g1hamcal2d1we4l3lin4nsbru2c1kkarl2s1ruhe1kir2chho4f3flu2ft3waffe1mi2s4z1mas4zpo3d4niepr4zpo4rt3la2n1dpowsze3d2ni1sze2z1lo2n1gtu1rboodrzu1we2e2k1e2n1d_bynajmni2e1_be9z8a8c8h__in8a9cze8j__pó9ł8a8c8h__przynaj2m1n_przynajmni1_podó3w2czas", + 13 : "_autotra2n2s3_cztere2c2h1s_dzi1esi1ęci1_dziesięci2o1_dzi1ewi1ęci1_dziewięci2o1_dzie1więćse1_e2m3e2s5ze2t_kon4tr5a2gi1_kon4tr5a2se1_kon4tr5a2sy1_kon4tr5a2ta1_kon4tr5a2d1m_kon4tr5a2k1c_kon4tr5a2l1t_kon4tr5a2r1g_na4d3o2bowi1_nadśrodzi2e1_nadśrod5ziem_niepodre2p1c_nieprze2d3m2_nieprze3d4um_nieprze3d4z2_nieprze3d4ź2_ni1eprzedzi1_nieprze4d5zj_nieprzedzwo1_nieprze4d5ż2_nieprze2d3c2_nieprze2d3ć2_nieprze4d3d2_nieprze2d3f2_nieprze2d3g2_ni1eprzed3i2_nieprze2d3k2_nieprze2d3n2_nieprze2d3p2_nieprze2d3s2_nieprze2d3ś2_nieprze2d3t2_nieprzedc4h2_nieprzedc4z2_nieprzedd4z2_nieprzedd4ź2_nieprzedd4ż2_nieprze2ł1k2_nieprzepc4h2_niepr4zer4z2_nieprze2r1ż2_nieprzesc4h2_nieprze2t1k2_pe1ze1tpe1e2_peze2t1pee2r_po4d3o2str4z_po4d3u2szc4z_po4d5rę2cz1n_podzi1eleni1_po5d4uszczyn_prapra3w2nu1_prze3d4muc4h_prze3d4o3zo1_prze3d4ramat_pr4ze3d4r4z2_prze4d5łużyc_prze4d5z2w2r_przed3się3w2_przedy2s3ku1_przetra2n2s3_ro4z5a2ni2e1_su1perodrzu1_zdy2s3ko2n1t_ze4t3e2m1e2s_ze4t3e2s1e2l_zmartwy2c4h3bro2a2d3wa2y1szto2k1ho2l1mturboo2d3rzut_gdzi2e1ni2e1_skąd9i8ną8d__tró9j8a8c8h_", + 14 : "_czte1re1chse1_czterechse2t3_dziesięcio3ś2_dziewięcio3ś2_dziewięćse2t3_na4d3o2bojc4z_niepo3d4muc4h_niepo3d4ręc4z_niepo1do1cho1_nieprze3d4łuż_nieprze3d4ruk_nieprze3d4ryl_nieprzedłuży1_nieprze4d5zim_nieprze4d5z1l_nieprzed3s4z2_niepr4zegr4z2_po4d3o2bojc4z_po4d3o2piec4z_po4d3o2siniak_po4d5zielenic_po4d5zielenić_po4d5zielenil_po4d5zielenił_po4d5zielenim_po4d5zielenis_prze4d5o4stat_supero2d1rzut_zmartwyc2h2w2mu2r7zasic2h3lpo4rt2s3mo2uth_gd4zieniegd4z_przynajmni2e1", + 15 : "_niepo3d4repc4z_niepo3d4re2p1t_niepo4d3o2choc_niepr4ze3br4z2_nieprzedra1ma1_nieprze3e2k2s3_nieprze4d5z2a1_nieprze4d5z1g2_nieprze4d5zwoj_ni2e1su3b4i2e1_po4d5zielenien_prze1ci3w4i2e1deut4sch3la2n1d_2g1dzienie2g1d", + 16 : "_niepo4d3o2str4z_nieprze3d4muc4h_nieprze3d4ramat_niepr4ze3d4r4z2_nieprze4d5łużyc_nieprze4d5z2w2r_po4d5zieleni2ą1_po4d5zieleni2ę1_po4d5zieleni2o1_by9naj9m8nie8j__gdzi1eni1egdzi1", + 17 : "_podzi2e1le1ni2e1_gdzienie9g8dzie__po8d9ó8w9cza8s_", + 18 : "_przy9naj9m8nie8j_", + 20 : "_gdzi2e1ni2e1gdzi2e1" + } +}; diff --git a/alt-implementations/readifry-master/hyphenator/patterns/pt.js b/alt-implementations/readifry-master/hyphenator/patterns/pt.js new file mode 100644 index 0000000..b5b4d5a --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/patterns/pt.js @@ -0,0 +1,14 @@ +// For questions about the portuguese hyphenation patterns +// ask Lailson Bandeira (lailsonbm at gmail dot com) +// based on LaTeX patterns in Portuguese, by Pedro J. de Rezende and J.Joao Dias Almeida (http://www.ctan.org/tex-archive/language/hyph-utf8/tex/generic/hyph-utf8/patterns/) +Hyphenator.languages['pt'] = { + leftmin : 2, + rightmin : 4, + specialChars : "áéíóúãõàçâêô", + patterns : { + 2 : "1-", + 3 : "1ba1be1bi1bo1bu1bá1bâ1bã1bé1bí1bó1bú1bê1bõ1ca1ce1ci1co1cu1cá1câ1cã1cé1cí1có1cú1cê1cõ1ça1çe1çi1ço1çu1çá1çâ1çã1çé1çí1çó1çú1çê1çõ1da1de1di1do1du1dá1dâ1dã1dé1dí1dó1dú1dê1dõ1fa1fe1fi1fo1fu1fá1fâ1fã1fé1fí1fó1fú1fê1fõ1ga1ge1gi1go1gu1gá1gâ1gã1gé1gí1gó1gú1gê1gõ1ja1je1ji1jo1ju1já1jâ1jã1jé1jí1jó1jú1jê1jõ1ka1ke1ki1ko1ku1ká1kâ1kã1ké1kí1kó1kú1kê1kõ1la1le1li1lo1lu1lá1lâ1lã1lé1lí1ló1lú1lê1lõ1ma1me1mi1mo1mu1má1mâ1mã1mé1mí1mó1mú1mê1mõ1na1ne1ni1no1nu1ná1nâ1nã1né1ní1nó1nú1nê1nõ1pa1pe1pi1po1pu1pá1pâ1pã1pé1pí1pó1pú1pê1põ1ra1re1ri1ro1ru1rá1râ1rã1ré1rí1ró1rú1rê1rõ1sa1se1si1so1su1sá1sâ1sã1sé1sí1só1sú1sê1sõ1ta1te1ti1to1tu1tá1tâ1tã1té1tí1tó1tú1tê1tõ1va1ve1vi1vo1vu1vá1vâ1vã1vé1ví1vó1vú1vê1võ1xa1xe1xi1xo1xu1xá1xâ1xã1xé1xí1xó1xú1xê1xõ1za1ze1zi1zo1zu1zá1zâ1zã1zé1zí1zó1zú1zê1zõa3aa3ea3oc3ce3ae3ee3oi3ai3ei3ii3oi3âi3êi3ôo3ao3eo3or3rs3su3au3eu3ou3u", + 4 : "1b2l1b2r1c2h1c2l1c2r1d2l1d2r1f2l1f2r1g2l1g2r1k2l1k2r1l2h1n2h1p2l1p2r1t2l1t2r1v2l1v2r1w2l1w2r", + 5 : "1gu4a1gu4e1gu4i1gu4o1qu4a1qu4e1qu4i1qu4o" + } +}; \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/patterns/ro.js b/alt-implementations/readifry-master/hyphenator/patterns/ro.js new file mode 100644 index 0000000..43f7897 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/patterns/ro.js @@ -0,0 +1,16 @@ +// For questions about the romanian hyphenation patterns +// ask irragal at gmail dot com +Hyphenator.languages['ro'] = { + leftmin : 2, + rightmin : 3, + specialChars : "țîșă", + patterns: { + 2 : "1k1ț1b1c1d1zî21ja11l1m1x1v1s2ș", + 3 : "2lvă3v_n22b_2bc2bdb2lbo1z4m2bs2bt2bțbu3_p44c_2ccc4l2cm2cs2ct2cț2cv_s44d_2dc2dj2dm3du2ec2zbe3ee1he1î2ele2m2ene1r2eș2z_2ețe3ue2x2ez1f42f_3fa3fo2ft1g22g_g4l2h_2i14i__ș4i2î3xui2n3xo3xii2s_z2î3dî3eî3tî3țî3zu2s2j_2jd2jlj4ua3ea2m4l_3xe2lb2lc2ld2lf2lg2lm2lp2ls2lt2lț3lu_g4a2n2m_3ma3mă2mb3xă3me2mf3mi3mî3mo3xa2mp2mt2mț3mu2mv4n_3na3nă2nc2nd3ne2ng3ni3nîn3jn1n3non1r2nt2nț5nu2nz2odo3e2x_2au3vr2ono1oo3u1p22p_3pap4l4r_2rb2rc2rdr2e2v_2rf2rg2ă12rk2rl2rm2rp2rt2rț2rv2rză3i4s_5sa5să2sc3se3si3sî4sms1n3so2sp2st5suă3ș4ș_3șa3șe1și3șî3șoș2p3șu1t24t_u3șt4lă3u2ț_3ța3țățu32u16u_uă3u3eu2l", + 4 : "li3eiz3v2ci_3ziici2oî3loîna3în5șî3riî3rîîr5șîș3tcis2î4tiao2gî4ți2atr2c5nco2ț2ața2ji_ji2ț2ață_ni2ju3t3culcu2ța3uaa3uda3ugda4mda2țle2aa3ul2zi_4li_li3a_a2zli3oa3un2l5na3ur2d1n2l3șa3use1ace1aje1ale1așe1atea2țe1ava3uz2z2gzu2țme2z3zonee2a4mi_mi2ț1efa2m1năi2ee3iie3ile3ime3inza2țmu2țe3ită2m2ănu3mon4_i2ae5nee1o14nefe3on_u4i4ni_2era2eră2erc2e2sno4șă2zins3fn4sîn3ș2n4șie3șin5ti_i2e_i3țnu3anu3ănu5mba2țo1ago2al2ocaeu5ș2acăo3i2_i3veză5bi2eom4n3biiafo32v1no1rao1răor2co1reo1rio1rîo1rovi2țo1ruo3și2vi_o5ti3făș2fi_fi3e2z1n2p3cve2zpe2ț2pi_pi2epi3opi2țpi2zb4lupo4șpo2ț2p3s2p3ș2p3t2p3țve2țpu4șf5tua3ila3iugă3ț2gi_2alt2g3m2g3n2r1h4ri_ri3ago5nu3umri3v3gu32g3v_î4m2r1nu3ui2hi_2r1r2rs2r3spr3st2r3șhi2ahi3chi4u2h1n2z2v3zili2aii2așsă4msă4șia2ț4sc_i3căse2ases2se4ș4s2f5sfîi2edsi3pi3ia3s4li3iei3iii3ilu2toi3ini3irsto3i3itsu2ț2an_an4s4ilașa2ț3șă2i3lei3lo4și_5șii5șil3șin2anu4ș5nșnu5că2can2zș2tice2a3invi3od2t3c2t3dte2au4știo2ț2t3f4ti_ti3ati3e3til3tinti2ț2tî_ipă52t3m3tol3tor2t3ttu3atu4ș4t3zce2țis3f4ispiș3tțe2ț2ți_3ția3ție3ții3țilți2ț3țiui5tițu5ixe2zi3uau2a_u2adu3aui3uluăs2i3um4uguu3inu3iru3isu3itu3izi3usu3lau3lău3leu3lîu3lour2zi3utu4st", + 5 : "e3i2e3s2coiți2aa5t4use4e_2ghi_se3spachi5cu3imi3undi3unuopi3eopla2_u5nie3i2oărgi5_a3ice3i4uă4ș3to2rică2ti_ăti4eemon5a3i2aos5tia5n2ede4sc2m3s2ot3odzi2an3i2acia3g4di2anpăr3țca3utî5țiiani2e4n1adna3inpi3e_4ști_4ș3trpi3ezcătu53z2olta3utn2cisn2cizes3cote5nies5tine1abne1anne1apdo4ilp4ți_3tii_pu3b44n1egne3s24nevi4n1exa3i2eng3ăt_cre1to2to3tru_3trul3truo4t3s2re2bive5nitu3im4t3un2chi_re4șini3ezbănu5ai3s21evita3utelă2tiri3ețți3a_ri3ezri5milătu52n3s2bi2a_ci3spns3poezi3arna2țe2z1oebu5iin2găn5t4uciza2u2biau2b3lu2b1oub3s2eci2abi2atu3i2au3i2ei3oni3utora3u2țru3ilu3i2țru3spnu3s2_i4u3zi2arati4au3liio2bi_alie6umi5rocu5ie3i2aus2prodi2az3vă", + 6 : "te3s2pso3ric_de2aj_de2z12ri3unri4ali_pre3șani3ș4puri2epecți2otați4or2te_3b4limbo3ricci3aleoi3s2pdez3india2tămblîn3e3i3s2etan4ținți4ii4n1edi3ți2o", + 7 : "rtua2leedi4uluecla2re_a4n3isoiecti2larați2bți4ne_oplagi2recizi2re3s2criitu2ră", + 8 : "copia2tăteri6alăimateri6rografi6vorbito2omedi2e_" + } +}; diff --git a/alt-implementations/readifry-master/hyphenator/patterns/ru.js b/alt-implementations/readifry-master/hyphenator/patterns/ru.js new file mode 100644 index 0000000..1b45900 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/patterns/ru.js @@ -0,0 +1,20 @@ +// For questions about the russian hyphenation patterns ask +// crymos at yandex dot ru +// Вопросы по русскоязычным таблицам переноса отправлять на адрес +// crymos точка yandex собака ru +Hyphenator.languages['ru'] = { + leftmin : 2, + rightmin : 2, + specialChars : unescape("абвгдеёжзийклмнопрстуфхцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯਂ%u200D"), + patterns : { + 2 : "1г1ж1м1п1ф1ц1ш1щъ1ы1ь11э1ю", + 3 : "а1ба1да1еа1иа1ка1уа1ча1я1баб1вбг21бе2бжб1л1боб1т2бф2бц2бш2бщ1бы1бь1бя1вав1дв1л2вмвф22вц2вш2вщвъ21вы1вяг2а2ггг2и2гп2гф1дадв21де1дид1л1до2дп1ду2дфд1х2дщ2дъ1ды1дяе1а2ебе1ее1и2еоеэ2е1яжг2ж2м2жф2жц2жъ2зг1зе1зиз1лз1н2зт1зу2зцз1ч2зш1зы1зяи1аи1еи1ии1ки1л2ипи1ри1ти1чи1я2й1йд2йя12кг1ке2кмк2о2кп2кск2у2кф2кц2кш1кьк2ю2лб1ли2лм1ло2лпл1т2лцл1чл2ю1ля2мж2мм2мп2мф2мц2мщ2мэм2ю1на2нг1не1нин1л1но1нун1х2нц2нш2нщ1нын2э1няо1вог2о1ео3и2ойо1ко1т2оюо1япе1пх22пц2пш2пщ2рг2рз2рм2рп2рф2рх2рц2рш2рщ2рър2ю1сасг2с1зс2мс1н1сосп21ср1сусч2сш21сы1ся2тг2тжтм22тф4тц2тщ2тъ2ть2тэт2юу1ау1еу1иу1оу1у2уэу1я2фгф4и2фм2фф1ха2хг1хе1хи1хохп22хшца12цгци12цм3цу2цц3цыцю11чач1в1чеч2ж1чи1чм3чо1чуч2хш2в2шм2шфш1х2шц2шь2щмъю2ъя2ые2ыи2ыу2ьб2ь2еь2оь2юь2яэ1в2эгэ2мэ2нэ2пэс1э2фэх2э2цэя2ю1аю1бю1вю1ею1ию1к2юмю1хю1чю1яя1ея1ия1кя1ля1уа1ё1бё1дёе1ё2ёб1зёи1ё1кё1нёо1ёпё1у1ё1чёь2ёю1ё", + 4 : "_аи2_ау2_ии2_ио2_ис3_ль2_оз4_ск2_ст2_уб2_уд2_уе2_ук2_уо3_уп2_ус2_ую2_юс14а3ааа2паа2раа2ца3буав1ва1веа1виа1воа2вта1вуа2вх2агаа2гд2агоа3гу2адва2длад2цае2ла2епае2сазв2азг2аз1ра2ихак1в1аккак2лак1са1лаа1леа3лиа1луа1лыа1лю2амаамб42амоа2мчан1ра1нь2а1оао2дао2као2рао2с2апоа1раа1реа1риа1роа1руар1ха1рыа1рюа1ряа1таа1тиа1тоа1туат2ха1тыа1тюа1тяа2убау2дау2хау2чауэ1ах2аах3с2ачаа2члач1та2шла2эрая2бая2вая2зба1зба2о2б1ббвы22б1д3бев3бее3бец2бещб1з21б2и3биаби2б2биж3бик3биоби1х2б3к2блы2бля2б3н3бот2бр_2брсб1ру2брьб1ряб3скбс4л1б2убу1с2б1х2б1чбы2с2бь_2бьс2бьтбэ1р3б2ю3вагва1звах13вац3вая2в1бв1вив1вр2вг21вев3вег1вее1вез1вес1вец1вею1веявзг2взд2взъ21визви1овиу3ви2ф2в1квк2лв2ла2вли2влю2вля1вме2в1нвно1в3нывов21вод1воквоп21вох1вою2вп22вр_1врюв1ряв1т21вуаву3г2вуиву3п1вхо2в1чвып2вых22вь_1вье2вьс2вьт1вью1вья1в2юга1зга2у2г3бгба2г1ви3ге_2г3ж2г1з2г1кг1ле2г3мг3няго1з3гойг2ол3гою2гр_2грюг4саг4сб2г3тгу1вгу1с2г1ч2г3ш2г3эда1зда2о2д1бд1ве1двид3вкд1вл2двя2дг23дез2дж_2джсдип2диу3ди1х2д1к2д1нд3надо1здоп2до1с2др_д1ред1рид1рыд1рядск22д1тду3гду2оду1х2дцу2дцы2д1ч2дыг2дыд2дыт2дыщ2дь_1дье2дьк2дьт1дью1дья1д2юеа2деа2зе1вее1вие1вое2вте1вуе1вхе1вьег2дед2жее2хе2жг2ежее3зее3зяеи2деи2меи2ое1каек2зе1кие1куе1лае1лее1луе1лые1люе3ляе2мче3наенс2е1нэе1оде2оие2омеоп2еос22епее2пле4пн2епое4пте1рае2рве1рее1рие1рое1руе1рые1рюе1ряе1сге1ск2есле3со2еспе1сте1тае1тие1тоет1ре1туе1тые1тюе1тяе1у22еубеуз2еф2л2ецве1чле2шлею2гея2зжа1з2ж1в2жгаж2гиж2гу2ж1дж2диждо3жду14ждь3жев2жжаж2жежи1о2ж1к2ж1лж3ма2ж1нжно1жоу32жп2жпо1ж2ру2ж1с2ж1ч2жь_2жьс2жьт1за1заа2заб2заг4зап2зас2зат2зау2зах2зая2з1б2з1вез1виз1воз1вр1звуз1вьз3га2зж2з3з23зи_3зис3зич2з1кзко12зм2з3мн2зне2зно2зну1зов1зое1зои1зон1зоозос21зохзош21зоэ1зоюз1раз1роз1руз2рюз1ря2з1сз1ти3зу_зу1в3зуе2зупзы2з2зыщ1зье1зьи1зью3зья1з2юи2аби2авиаг2иао2и2апи2аф2и1би1вии1ву2ивыиг2ди3ге2игли2гни1двид1ри1дьие2гие2дие2ри1зоиз1рийс2и3кои3куилп2и2ль2имаи3мии2мчинд21инжинс21инф1инъи1оби2оги1оди1ози1они1ори1ошип3ни2рви2рж1ирри2сби2сдис1ки4сси1сти2тми1у2иу3пиф1ли2фри1хуи2штию4лию2нию2тия2дйно1йп2лй2сбй2снй2сшй2тмй2хм1кавк2ад1кае1кай1кам1кан1кат1ках1каю2к1бк1вик1ву2к1дкда22кеа2к1з1кивки1о1киткк3ск3лы2кль1клю2к1н1ков1код1коз1кос1кош2кр_кс3гкс3мк3сок3су2к1ткт2р3куе1куй3кум1кур1кут2к1ч1ла_1лаел2аклау11лаял1брл1вел1вил1вол1вул2гллго11ле_1лен1лехл1зо2л1клк2в2л1лл2льллю12л1нлс3б1лу_лу1влу3г1луе1лунлу1с1лую1лы_1лые1лыж1лый1лым4ль_2льд3лье3льи2льк2льм2льн3льо2льт2льц2льч3лью3лья1лю_1люж3ля_2ляд3лям3лях3магма2умаф23мач4м1бм3бимб2л2мг22м1д3мкн2м1л2м1н3мод3мон3моп3мофмп2л2мрим1ры2м1смс2кмс2н2м1тмфи32м1х2мш2мым1мы2с2мь_2мьсмью1мэ1рмя1р2нач2нащ3ная2н1внг4лнг2р2н1днд2жн2длн2дцнег23недне3енеи23неунея23нийниу3ни1х3ниц3нищ2н1кнк2внк2лнк1с2н1нноб2ноэ2н3п2н1ро2н1сн2сгн2слн2сн2н1тн2тмну1х3ную2нф2нхо12н1чн2члнш2т3ны_2нь_1нье1ньи2ньк1ньо2ньс2ньт2ньч1нью1нья1н2юо3авоап12оба1обмоб1р1объ2обьов2то2вхо1дьое1бое2дое1оое2цо1зооие3ои2зои2мои2оойс2ок2в1окто3лао1лео3лоо1луо1лыо1люо3ляо3ма2омеом2чо2мьо3наонд2о1нронс2о1о2о2оло2офо1рао1рео1рио1ро2орцо1рыо1рюо1ряос2бо1ст2осхотв21отг1отдо3тио2тм1отхо1у2оуп2о3фе2охио1хро1хуо2цооч2ло1чтош2тоя2воя2доя2зпа3ф2п1дпе2з4п3к2пл_2п1нп3нап3ны3пой2пп22пр_при12прсп2руп3со2п1тп3ту3пуб2пф24п3ч2пь_2пьтп2ю11ра_раа21раю1рая2р1бр1вир1вор1вьр2гвр2гнрг2р2р1дрд2жр2длр2дц1ре_р1зори3ариб2р2ин1риу1риц1риш2р1кр2кврк1ср2льрлю1р3ляр2мч2р1н1ро_1роу2р1р4р1срс2кр2снрс2п2р1тр2тм1ру_1рулрф2лр2хврх1лрх1рр2цв2р1чр2члр2чмрш2т1ры_1рыб2рыз1рым2рь_1рье1рьи2рьк2рьс2рьт1рью1рьярэ1л1рю_1рюс1ряю1сб2с2бы2сбю1с2вс2гис2гнс2го1сд2с2дас2дес3дис2до1с2е1с2ж1с2и3сизси1х4ск_ск2л2скнск2рск1с2сль2снос2овсо1дс3пн2спь2ср_2с1сс2сбсс2лс2снсс2псст2сс2ч2ст_2стбс2те1сти2стк2стм2стн2стп2стс2стф2стц1стыс4тьсу2бсу1всу2зсу1хс1х22сца2сцо1счас1чл2счос3шн1съ2сы2зсы2с2сь_1сье2ськ2сьт1сью1сьясэ1рс2эс1с2юсю1с2сяз1тагт2ан1тас1тащ2тв_2тви2тву2твы2твя2т1д1т2ете1д2т1зтии2тик23ткн2т1лт2льт3мщ2т1нто1д1тощ2тп22трб2трв2трг2трд2трм2трн2трп2трр2трф2трщ2трът1рыт2сб2т1тт2тм1тущ2т1х2т1ч2тш24ть_3тье3тьить2м4тьттью1тю1т1тяг1тяж1тяпу2асуб1ру1виув2лу1воу1вуу2гву2глу2гнуд2ву3дууе2дуе2луе1суе2ху2жжу1зоу1каук1ву1киу1коу1лау1леу1луу1люу2мчу3нау1ньуо2буо2вуо2куо2пуо2суо2фу2плу1рау1реу1риу1роу3руу1рыу1рюу1ряу1сгус2лу1сму2снус2пус3су1сф2усцу2счу2сьу1тау1тиу1тоу1туу1ты1утюу1тяууг2уу2су3фиуф1лу2фру2хвух1лух1р1учру1чьу3шеу3шиу2шлу2шпуя2зфа2х3фашфаэ12ф1б2ф1в2ф1дфи2жфи1о3фит2ф1кф2лаф2лиф2ло2ф1н3фон3фотф1риф1роф1ру2ф3с2ф1тф2тм2фуф2ф1ч2фш22фь_ф2ю1ха2дхао32х1б1х2вх3вых3д2хео3х1з2хие2х1к2х1лу2х1нхоп2хоф2хоя2х1рых1ря2х1т1ху_2хуе2хуй1хун1хус1хуш2хуюх1х2хью13ца_3цам3цах2ц1бц2ве2цвы2ц1дце1зце1кце1т2ц1зцип2циу32ц1л2ц1н2цп22ц1р2ц1с2ц1тцы2п2ч1б2ч1дче1очжо23чик3чиц2ч1кч2ле2чли2чма2чмеч2мо2ч1н2ч1сч2те2чтм3чук2ч1ч2чь_1чье1чьи2чьс2чьт1чью1чья2ш1бше1кш1лыш2лю2ш1н4шниш2п2ш3пр2ш1р2ш1сш1ти2штс2ш1ч4шь_3шье3шьи3шью3шьяш2ю1щеи2ще1сще1хщеш22щ1н2щ1р2щь_ъе2гъе2дъе2лъе2съя3ны2блы3гаы3гиыг2лы2гны2длыз2ды2злы2зныиг1ык2лык1сы2льы2мчы3поыр2вы3саы3сеы2сны3соыс2пы2схыс2чы2сшыт2ры3шьь2вяь2дцье1кь2знь2и1ь2кльмо1ьс2кь2снь2тмьхо2ь2щаь2щеь2щуья1вэв1рэд1рэк1лэкс1э3маэ3ньэо2зэ1реэ1риэ1руэ1рыэск2эс3мэ2соэ2теэхо3ю2бвю2блю1дьюз2гю1зою1лаю1лею2лию1люю2мчю2нью1о1ю1раю1рею1рию1рою1рую1рыю1тию1тою1тую1тыю2щья2бря1воя1вуя2гняд1вяд1ря1зояк1ся2лья2мья3наянс2я1рая1рия1роя1рьяс1кяс1ляс2тя1таят3вя3тия1тоя1туя1тыя1тяях1ля1хуяце1я2шл2яю_2я1я6зь_й2кь6тр_а1вёа1лёа1рё1веё1вёз1вёс1вмё1вьёг1лёд1вёд1рё1дьёе1вё2ежёе3зёе1лё2епёе1рёё1веё1воё1ву2ёжеё3зеё1каё1киё1куё1лаё1леё1луё1лыё2мчё3наёнс22ёпеё2плё4пн2ёпоё4птё1раё1реё1риё1роё1руё1рыё1ск2ёслё3соё1стё1таё1тиё1тоёт1рё1туё1тыё1тюё1тя3жёвж2жёз1вё2знё3зуё1каё3куё1лён1лёх1луё3льёне3ё1ньёо1лё2омёо1рёо3фё1рьёс2дё1с2ёс2тё1сьё1т2ё3тьё_уё2у1лёу1рёу3шёц2вёч2тё1чьё3шьёы3сёь2щё_не88не_8бъ_8въ_8гъ_8дъ_8жъ_8зъ_8къ_8лъ_8мъ_8нъ_8пъ_8ръ_8съ_8тъ_8фъ_8хъ_8цъ_8чъ_8шъ_8щъ_", + 5 : "_аб1р_ади2_ак1р_би2о_го2ф_дек2_ди1о_до3п_епи3_за3п_иг1р_изг2_из3н_ик1р_ле2о_на1в_на3т_не3т_ово1_ог3н_ос2п_от1в_ри2ч_ро2х_су2ж_тиа3_ти2г_ти2о_ум2ч_ур2в_ут2ра3блааб2люаб1риав3зоави2ааво1са2вотав1раав2сеа2глеаг2лиа2двеад2жиад1роаду3ча2дынае2гоае2диае2реаз1влаз1драз1обаи2г1аи3глако3т2акриа3лаг2алекало1залу2ша2льщ2аметамои2а2нафан2спанс1уаост1а3плаап2ра1аргуар2жа2ас1кас3миас3ноа1сьи1атакат3ваат1виат1ву2атезато2шат1риа1тьеа3тьюа3тьяау3доа2улеаут1рау3чьа2ф1лахми2аэ2лиаю1таба2бвба2дрба3зубалю1бас3мба1стба1трбе2глбе2гн3бе2збе3зибез3нбез1рбес3пби2обби2одби2онби2орби2тв1благб2ланб3ленб2луд2б2льб2людб2люеб2люлбо3вшбо2гдбо1з2бо2мчбо3мшбону1бо1рубо2сабо1скбо2твбот2рбоя2рб3рабб2равб2ран1брасб1рахб1рейб1рекб2ремб2рехб2ридб1рол1б2рю2б1с2бук1лбы2г1быс1кбыст1бю1тава2брвадь2ванс2ва1ства1трв2дохвед1рве3ду3везе3везлвез2у1вей_ве2п12вердвет3р1в2з2взо1бви2азви2акви2арвиа1тви3афви2гвви2гл1винт1винчв2левв2лекв2летв2лечв2лияв2люб4в3нав2несв3ну_во1б2во3вкво1двво1дрво2ерво2жжво3м2во1ру2ворц2ворьвос1кво1смво1снвот2рво1хл2вра_в2равв1рас2врац2вре_1вридв1риив1рикв1рилв1рисв1рит2в1ро2в1ры2в1с23все33в2сп3в2сювто3ш1ву1з2ву1кву1с2вух3вву1члвы3г2вы3знвы3т21вьин1в2э1г3дан2г3диге2б1гено1ге2обге2одге1орги2блги3брги2грги1слгист22гла_г2лавг1лай2глаяг2лет2гли_г2лин2гло_2глов2глог2глое2глой2глою2глую2г1лыг2ляж2глякг2навг2нанг3не_г2невг3ненг3непг3несг2нирг2ноег2ноиг2носго1б2го2влго2злгоз2нгоиг2гоми2го2сдго1сн2готдгоу3тго1члг1раег1райг1рарг1регг1рекг1рецг1рикг1рилг1ринг1рисг1ричг1ровг2розг1рокг1ронг1ропг1ротг1рофгру2пг1рывг1ряег1рялг1рят2г3с2да2б1да2грдат1р2двиз2дводд1воз2д1д23деврде2зиде2зудеио2де1кл3демеде2оддео3пде3плдес2кде2срде1хлд2жамд2ж3м2д1з2ди2аддиа2зди2арди2асди2обди2ордио1сди2пиди3птди3фрд2лев2д3м2днеа2днос24д3ныдо2блдов2лдо1д2до3дндоз2ндои2р2доктдо3плдос2п2дотд2дотл2дотъдо3ть3дохлдо2щуд1рабд1рард1рахд1рачд2раюд2реб2дрезд2релд2ремд2рий2дринд2рипд2рихд1родд1роед1ройд1ролд1ронд1росд1ротд1роюд1руб1друг1дружд1румд1рую2дрывд2рябд2рях2д1с2дс3кндуб3р2д1удду2дадуп1лдус1кд1услду1стду2чидуэ1т2д3це2д3ш2дъе2м2дымедь3яреади3еа3доеат1реба2се1браеб1рие1броеб1ры2евер2еволев1риев2хое2глее2глие2глоег2наег2но2ег2ред1вое1джее2дохе1друе2дуге2дусе2дынее2гиее1с2ее2стеж3дие2ж1резау3езд1реззу3е3зитез1обе1зомез1опез1отез1ошез2ряез1упез1усеи2г1еис1лека2б2е1ко2е1крек2роек1скеми3кемо1с2емуж2емыс2е1нрен3ш2е1о2бео3даео2деео2дое1о2жео3кле1ол_е1олаео3лие1олке1олые1олье1он_е2онае2ониео3ное1онсе1опеео2прео4пуео1ске1осме1оснео3схе1отле1о2че1о2щепат2е3плаеп1луе3плые4п3сер1вее3ре_ере3перо2б2еролер3ске3с2аес2бае2скее1слуе1слые1с4ме2спуе2стле3стует1веет1вие1тво2етечето1сет2ряе1тьее3тьюе3тьяеуб3реф1рееха2тех1обех1реех1ружа2блжа2бржат1в2ж1б23ж2глж2дакж2дачж2деп4ж2дл3ж2дяже3д2же1клже1о2же3п2же1с2же3ск2жжев2ж1з22жирр2ж3мо2ж1обжоу1сз1авуз1адрзае2дзае2хза3з2з1акт3з2анза3назанс2зар2взар2жзаст2за3ткзач2тза3ш2з2вавз2ван2зваяз2везз3в2кз1вла2зволз2глизг2наз2гнуз1д2вз2дешздож3зе2б1зе2евзе2од3зий_з1интзи2оззи1опзиу3мз2лащз2лобз2лопз2лорз2лющ2зна_з2навз2наез2найз2накз2нанз2натз2наю2зная2з3ни2з3ныз2обезо2бизо2глзо1дрзо1з21зой_1зок_з1окс1зол2зо1лгзо1лжзо3м21зом_2зомн2зонрзо2осзо2паз2оплз2опрз1оргз1оснзо1спзо2твз2отез1откз2отозо2шиз2ракзра2сз2рачз2ренз1ресз2риш2зуве2зу2г2зу1к3зумезу2прз1урбзъе2м2зыме2зымчи2агри2адеи2адииа2муи3анаианд2и3атуи2а1хиа2цеи2б1р2иваж2и1веи2в3з2и1вои1в2ри3в2сив2хои2глеи2глиигни3иг1роиг1руиг1рыи2дейи1д2жие3деие2зуи3ениие1о2иепи1и3ж2диз1в21из1дизо2ои3к2аик2ваи2квии2кляик1роик1скильт2имои2им3пли2м1рим2чаино1с1инсп1инсуио2боио2врио2деио3зои1окси1олеи1опти3ораио1руио2саи1отаи1отки1отсиоуг2ио2хоипат2ип2ляириу3ис3кеис3киис1лыис3меис3муис3нои2стли1сьиита2вит3ваит1виит1вуи2т1ри3тьюи3тьяиф2люиха3ди3х2оихо3ких1реих1рииш2лии2шлыию3тай2д3вй2о1сйо2трй3скайс2кейс4мой2с3фйх2с3ка2блказ3нка1зо1кал_1кало1калс3к2аска1стк2вакк2васк2вашк2возке2глкед1ркиос1ки2пл2к1к22клемк3ленк1леок2ликк2линк3лияк2лозк3ломкло3т1клук2кля_2клям2кляхк2ноп3ковако1др3конскоп2рко1руко1сккос3мко1сп1котнко2фрк1релкре1ок1реч1крибк1ридк2ризк2ритк1рихк1роак1робк2роек1рокк1роок1рорк1роск1рофк1рохк1роэкру1ск1рядк2с3вк2с3дк2сибк1скикс1клк1скокс3тек1стокс1трк1стукта2ккто1ску1ве1кулякуп1лку3рокус1кку1стку3ть1куче1куют3кующ2к1х22лабела2бл2лагола2грла1золак2р1лам_ла2усла2фр1ла1х2л3д2ле1влле1джле3доле1зрлек1л2лемнле2сбле2скле1твле1хрлиа2м3ливо3ливылиг2ллие3рли2кв2лимплио1сли2пллис3мли2твлиу3мли1хлли1хрл2к1ллни2ело2блло2влло1др2лоенло1звло2клло2рвло1рулос1к2лотдлот2рло2шл2л1с2лу1брлу1знлу1крлуо2длу3ть2л3ф22л1х2л2х3в1лых_2льск1льща1льще1льщу1люсьлю1таля1ви3ляво3лявыля1реля1рума2взма2гнма2дрма2дьма1зомас3лма2чтм3бля2м3в23м2глмеан2ме2егме2елме1зомеч1т2м1з2ми1зв2миздми1знми2крми2озми2ор2м1к2м2леем2лел4м3намне1д4мноем2нож4мной4мномм2нор4мноюм2нут4м3нымо1б2мо3влмо1дрмо2жжмо1звмо1зрмо3м2мо1румо1сммо1сн3мотим1раб2м1рому1стмут1рму3тьм2чавм2чалм2читм2чиш3м2щемы2мрмя1стнаб2рнаг2нна3ждна1з2на2илна2ин4наккнап2лна1с2на1твна1х2наэ1р2н1б2н2г1внги2онго1сн2дакн2д1внде3знде2сн3д2знд2рен2дрянд2спне1б22невннед2оне3дунее2дне1звне1знне1зоне1зрне1клне2олне3п2нес2кнест2не2фрне1хрне3шк2н1з2нзо1сни3б2ни2енни2клнила2ни1слнис3пнкоб2но1брно2влно1двно1дрно2ерно1звно2здно1зрно3кн3номеном3шно2рвно1руно2сч2нотдно3ф22н1ре2н1рин2с3внс2кен3слан2с3мнст2рнсу2рн2с3фн2съ3н2т1внт2рант2рент2рунт2рынут1рня1ви2о1а22обиоо1блюобо2с2обото3влаов3ноов2се2о3гео3гря2одано3де_о2дыно2дьбое2жиое1с2ое2сто2етоо3жди2озавоз2вио1здрозе1ооз3но2озоно2зопоз1уго2зымо3зысои2г1оиг2нои3мо2ок2ло3клюоко1бок1ск2окти2окумом2блом1риом2шео3мьяоно1боо3псоос3мо2отио3пако3паро2плиоп2лоо2пляоп2риоп2тоо1р2вор2тро1руео1руко1русо3садо2скеос1кио1с2лос3миос2пяос2свос2тао2сучо1с2чот3ваот1веот1виот1вло3терот1риот3смоту2ао3тьюо3тьяоус2коу3таоу3то2офаш2офит2офон2офото2фриох1лыо2хляох2ме2охороча1соч1лео3члиош3ваош2лаоэ1тиоя2рипави3пав3лпа2вьпа2дрпа2енпа1зопас1лпа2унпа1хупа2шт2п1в2пе2двпе3запе3зопе2льпе4плпе2снпе2сцпе2счпе2трпе2шт3пинк3пися4пла_пла1с2пленп1лею2плив2пло_2плов2плог2плый2плымп1лынп1лых2плю_п1лютп2лясп2ляшп3но1по1б2по3влпое2лпое2хпо1знпои2щ3полкп1оргпор2жпо1рупо1с43послпо3сспот2впот2рпо1х2поэ3мппо1д3превпре1зпрей2пре1л3претпри3вприг2при3кпри3лприп2п2риц3проипро3п2п1с2п3синп2т3впуг3нпу1стпу3тьпэ1рара2бл1рабора2гвра2глрад2жра2дцрак2в1ралг1рамк1рамн1раслрас3прас1трат1в2рахи1ращи2раятрб2лар2блерб2лорб2люрбо3ср3вакр3варр3вежр2вео1рветр3винр2витр2г1лрда1ср2д1врди2ардос2ре1вррег2нрее2врее2дрее2л1резкре1зррез2у1рейш1рекш3ремо1ренк1реньре1онре1опре1ох1репьре3р2ре1слре1счре1твре1чтре3шлр3жа_р3жамр3жанр3ж2др1з2ври3бр2риги2риджрие2лрие3рриз2врик2р1ринсрио2зрио2сри1отри3р2ри1с2ри3сб2риспри2флри3фрри1хлр2к1л2р1л2рнас4рне3оро2влро1двро1длро1др1родьрое2лрое2мрое2хро1зр1рокрро3псро1руро1ск1рослро1смрос2ф1росш1росю1роткроуг2ро2фрро1хлрош2лро3шн1роязрп2лор2плюрств2р2т1врт3варт2влрт1рарт1рерт1риртус1р3тьюрт1яч1рубаруг3н2руксрус1крус3лру3ть1руха1рухо1ручнр3ш2мры2двры2клры2х1ря1виса2блса2дьса2квса2клс1аппса1трса2унса1х22с3бусег2нсе1з2се1квсек1лсекс4семи1се2сксе2стси1омси1опси2пл2скам2скахск2вас2квис2кляс1кон2скошс1кра2скуе1слав1сладс1ламс3левс3леес1лейслео2с1летс3лею2слицс2ложс1люс2с3ля1смесс4меяс3мурс2нас2сная2сную2с3нысов2рсо1з2со3м2со1русо1сксо2сьсот2рсо1члсош2лс2павс2пеес2пелс2пенс2пехс2пешс2пеюс2пим2сполс2посс2рабсра2сс1ратсс3во4с5сис3с2к1ста_4ств_2ствлст2вя1стей1стелсте3хс3тешс2тиес2тиис2тичс2тиюст2ла2стли2стля1сто_1стов1стог1стод1стое1сток1стом1стон1стос1стотс2тоц1стою2стр_с1тут1стуюс2тыв2сть_2стьс3стью1стья1стям1стяхсуб1осу3глсу2евсу1крсума1супе2сус3лсус3псу1стсут1рсу2ф31с2фе1с2хе2с3цис2часс3чив2счикс2читсъе3дсъе3лсы2г1ся3тьта2блтаб2рта2гнта1з2та2плта1стта1тр2т1б22т2ват1вейт1велт1ветт1воет1вос2твою2т1врте2гнте1зо3текатек1л3текште1ох3терзтер3к3терятест2те2хотиа2мти2блти3д2тиис1т1импт1инд2тинж2тинфти1хр2т1к2тло2бтми2с2тобъто2влто1з2ток2р2томс2тонг1торг1торж1торсто1ру1торш2тотдто3тктпа1ттрдо2т1реат1регт1редт1реет1рецт1рею1трибт1ривт1рилт1римтри1от1риттри3фт1рищ2тройт1рортро3т2трою1трубт2руд2трукт2румт2рутт1ря_т1рявт1ряет1ряжт1ряйт3рякт1рятт1рящт1ряя4т1с2т2с3дтсеп2т2с3мт2с3пту2грту1слту1стту2фл1туша1тушо1тушьты2г12тя2чу2алеу3белубо1дубос21убрауб3рюу1ве_уг2науг2неуг1реуг1ряуда1суд1роуес2лу1з2вузо3пуко1бу1ку1у1лыху2озауост1уо2т1уп1люу3проурке3у2родурт2ру2садус1каус1киуск3лу1скрус3лиу1стеу1стяу3сьяу3терут2ляут1риу1тьеу3тьюуф2ляух1адуха2тух3ляу2чебуш1лафа2б1фа2гнфа1зофан2дфа1трфев1рфед1рфе1о3фи2глфи2зо2фобъфо2рвфо1руфос1кф1рабфра1зфра1сф1ратф2ренфре2сф2рижф2ризф2ронф2торфу3тлха2бл2х1акхан2дх1арш2х3ве2х3вихиат1хи1с2х1лавх1ласх1латх1лац1хлебх2лесх1летх3ло_х2лоп1х2му3х2ныхо2пехо1рух1осмхох1лх1раз1хранх1рейх2рисх1ров1хром2х1с2х1у2гх1у2рху3ра2х1ч2ца2плце1отцеп1лцес2лци2к1цик3лци2олци2скциф1р2ц1к2ц1о2б2ц1от2ц3ш2цып3лча2дрча2дцча2ер3чато3чатыче1влче2глчер2сче1сл1ч2лач3легч3лежч2ли_1ч2ло2ч1таша2блша2гнша2дрша1стш3венше2глше1о2ше3плше1с2ши2блши2плшиф1р2ш1к22шленш2ли_2шлив2шлилш2линш2лисш2лифш2ло_2шловш2лог2шляе2шлякш2ляп2шлят2шляч2шляю3ш2мыш2нуршу2евшуст12щ3в2ще2глщед1рщеис1ще3шкъе3доъ2е2ръе2хиыд2реы2дряы3ж2дыз2ваыз2наы2к1выко1зыре2хыс1киыс1куыт1виы3тьюы3тьяы2ш1лье1зоьми3дьми3кьне2оь2п1ль2стиь2стяьти3мь2тотьт2реьт2руьт2рыьхоз1ь3ягсэк2стэле1оэпи3кэс3теэт1раюзи2кю2к1вюре4мю2с1кю1стаю1стею1стою1стяюха1сяб1раяб3реяб1рияб3рюя1в2хя2г1ляз2гня2к1вя2к1ляст3вя1стояст1ряти1зя3тьюя3тьяа2ньшгст4ре2мьдзаи2лзао2ззаю2лз2рятзу2мьпое2ж2стьт6хуя_ы2рьмыя2вяьбат2а2двё2алёк2амёта1тьёб3лёнб2люёб1рёкб2рёмб2рёх3везёвёд1р2вёрдв2лёкв2лётв2нёс3всё3г2лётг2нёвг3нёнг2ноёд2рёбд2рёмдъё2м2евёре2глёер1вёет1вёе1тьёё1браёб1рыё1друё1зом2ё1ко2ё1крёк2ро2ёмужёпат2ё3плаёп1луё3плыё3ре_ёр3скё3с2аё2скеё3сту2ётечёто1сёха2тёх1ружё1с2з2вёзз2наёз2отёзъё2м2зымё2и1вёих1рёк3лёнк2роёлё3долёк1ллё2ск2лоён1льщё3м2щёнд2рёнё1б23номёоё2жио2скёот1вёо3тёрпё2тр2плёнп1лёюпоё2ж3прётр2блё1рвёт1рёзкрёз2у1рёкш3рёмо1рёнкроё2мсёкс4сё2ст2скуёс1лёт1стёлстё3хс3тёшт1вёлт1воётё2гнтё1зо3тёкатёк1л3тёкштёр3ктё2хоуг2нёуг1рёу1стёу3тёру1тьёу2чёб2х3вё1хлёбх2лёсчёр2с2шлёнъ2ё2рыд2рёырё2хьё1зояб3рё", + 6 : "_аг1ро_аль3я_ас1то_аст1р_де1кв_ди2ак_до3т2_зав2р_ио4на_лес1к_люст1_ми1ом_мо2к1_на3ш2_не3вн_не1др_не1з2_не1сл_нос1к_нук1л_ос2ка_ос3пи_от1ро_от1ру_от1уж_по3в2_по3ж2_поз2н_прос2_ре2бр_ри2ск_септ2_те2о3_тиг1р_уз2наабе3ста3в2чеага1с2а2гитиа2глосаг2лотади2ода2д1руаза4ш3аз3веза2зовьа2зольа1зориаз2о1сак3лемако1б22аконсалуш1та2минтам2нетамо1з2ана2дцан2драан2сура2н1узап2ломапо4всап1релара2стар2бокар2валаре1дваре1олар2торар2т1р1ассигаст1вуас3темас2тинас2тияас1тооас1туха1стьеас2шедас2шесат1обеа2томнат1рахба2г1рбе2д1рбез1а2без5д4без1о2бе2с1кбе2с1тбес3тебес3ти1б2лазб3лази1б2лее1б2лея1б2луж2б3лю_бо1брабо1драбо1л2жбо1льсбо3м2лбо3скобо3стибра1зо1б2рал2б1рамб2рать1б2рач2б3рая1б2редб2ритоб2ритыб1ром_3брукс2б3рю_бу2г1рва2д1рва3ж2два2стрве2с1квзъе3д3в2кус2в3лаб3в2нук3в2нучвои2с1вос3пево2стрво3х2т2в1рам2в1рах2в1рен1в2ризвро3т2в3ская4в3ски4в3скувто1б2ву2х1а3в2шиввы3ш2лга1ст2г1лами2глась3г2лифг3лоблгнит2рго3ж2дго2с1аго1склго1спагу2с1кда2гендаст1р2д1вид2двинт2двинч2д1вис2д1вит1дворьде1б2лде1б2рдез1о2дерас2де2с3вди2алиди2алодио3деди1отиди3фто3дневн4д3но1дно3д23д2няшдо3в2мдо3ж2д2долимдо2м1р2допледо2предо2рубдот2ридо2ш3вдо3ш2кдо2шлы1дравш2дразвд1ране2д3реж1дрема1дремлдрем3н1дремы2д3рендре2скд2ресс1д2рож2д3роз1д2рыг1д2рягду2ста2дут1рды2г1р2ды2с1еб1ренеб1рове2б3рюе3в2меев2нимев2нятевра1с2е1вреев1рееев1рейев1реяега1с2е2гланедноу3ед1опре2дотве2д1още2дру_е2ду2бед1убое2дувеед1уст2е3душе2евидее2в1реест1ре4ждевеза2вре1з2ваез1о2гез1о2рез1у2дез1у2кезу2соезу2сыез1у2хез1учаеис1трек1стееле3скеле1сцеми3д2ен2д1реоб2рое2о3глео2гроеоде3зе2о3роеост1реот2руепа1трепис2кеп1лешеп1лющер1актере3доере1дрере1к2ере1х4ерио3зер1обл2ерови2ерокреро3ф2ес1кале2сковес1ласес2линес2ловес2ломес2пекес3полес2танес2четеук2лоефи3б2ех1атоех3валех3лопех1опоех1у2ч3ж2дел4ждемеже1к2вза2вруза3ж2дза3мнеза3р2д2з3ва_з3валь1з2вон2з1вуюзи2онози3т2рзко3п2зо3в2мзо2о3пзот2резот2ризро2с3зу2б3р2з1уз3з1у2моз1у2тезу2час2зы2г12зы2с1иа2зовиа2налиа1с2киа1стаиа1стоиат1роиг1рени2г1ряиди1омиди1оти2еводиз2гнеиз2налика1с2ик2с1тило1ски2менои2мену2имень1инстии3оновио3склио1с2пио2т1випа1трипо3к2ира2сти2р1ауири2скиро1з2ис3ка_ис3камис3кахис3ковис3ку_и2сламисо2ски2с3при2ст1вис1тязи2т1веит2ресит3роми2т1учи2х1асих2ло2ихлор1й2с3мука2брика3днека2д1рка2п1лка2прекар3трка1т2рка2ш1тке2с1кке2ст12к3ла_2к3ле_к3лем_2к3ли_2к3лив2к3лис2к3ло_2к3лос2к3лю_3к2ниж3к2няж1кольс2коминко2р3вкре2слкри2о3ксанд2к1стамк1стан3к2то_ку2п1рла3ж2д1лами_ла1сталаст1вла1стела1стола1стула1стяла1т2р1л2галлев1рале2г1лле1онтле1о2сле4скале1с2лле1спеле1т2рли2гро2л1испли2х3вло1б2р2ловия3ловодло2г3длого1слок3ла3лопас2л1оргло1с2плу1д4р1льсти1льстяма2к1р2м1аллма1с4тма2тобма2т1рме2с1кми2гремик1рими1опими1с2л3м2нешмоис1тмо2к3вмос1камо1с2пмо2т1рм2с1ор3м2стиму1с2кму1с4лнаби1она1в2рна3м2нна1рвана1т2рн1а2фрна3ш2лнд1рагнд1ражнд2риане1в2дне3вняне1д2лне2дране1дроне3ж2дне1з2лне1к2вне3м2н3не1о2не2одане1р2жне3с2нне1с2пне1с2хне1с2чне1т2вне3т2лне1т2р2нинспнист2рнко3п2н2к1ронно3п2но3з2оно1склно2слино1с2пн2сконн2с1окн3с2пентр1ажн2трарнтрас2н2тривн2трокнтр1удн2т1ря2н3ю2роб2левоб2лемобо3м2о2бра_о1браво1брано3в2лоо2в1риов3скоог3ла_ог3ли_ог3ло_од1вое2оди3а2о3димод2литодо3про2досио1драгод1ражод1разод1рако1дралод3ребо1дробод1рово2дымао2дымуо2е1вло3ежеко3ж2дуо1з2ваоз2вено1з2вяоз2глооз2доро2з1обозо1ру2о3кан2о3колол2ган1олимполу3д2о3множоне3ф2он2труоост1ро2пле_оп2литоп3лю_о3плясопо4всопоз2но3п2теора2с3ор2б3л2о3регоре2скор1испор1уксоса3ж2о2с3баос3кароск1воо2ски_о2сковос1койос1комос1коюос1куюос3лейос3логос3лыхос3мосос2нялос2пасо1с2пуос2с3мо3страос2цен2о3тек2о3техо3ткалот1работ1радот1разотра2сот1режот1рекот1речот1решот1родот1роеот1рокот1росот1рочот1ругот1у2чо2форио2ч1топас1тапа1степас1топас1тупа1тропери1опе2с1кпиаст1пи2ж3мпи2к1рп1лем_п1лемсп2ленкп1ле2оплес1к3п2ликпо3в2спод1вопо1звепо1здопо1з2лпо3мнопо3мну3по3п2по2шлопо2шлыпо2шляпре1огпри3д2приль2про1блпрод2лпро3ж2про1з2п1розопрофо23п2сал3п2сих3п2тихпус1кура2б1р1равняра2журра2зийра2зуб1ракизра2к3лра2нохран2сцра2п1лрас3к21растара2такра1т2р1р2вавр3ватарег2ляре2досре3ж2дре1з2лре1зна1ре1зоре1к2лре3мноре1о2рре1о2фре1о2црес1кире1с2пре3старе3сторе1т2рреуч3три3в2нри2глори3г2нри1д2рри3м2нри3м2чри3стври3т2рриэти2рне1с2рно3слро2блюро1б2р1рогол1рогруро3д2зрод2ле1розарро1з2в3розысрои2с31рокон1ролис1ролиц1ромор1ронаж1ронап1роносрооп1рро2плю2р1оргро1р2жро2скиро2скуро1с2п1рот2врот2рир3ствлр2таккр2т1обрт1оргрт2ранру2дар1ружейру1старуст1рр2х1инр1х2лор2х1опры2с1к2с1арк2с1атлса2ф1рсбезо3сбе3с22с3венсе2к1рсере2бсе3стасе3стесест1рс2канд1с2каф3скиноск3ляв2сконас2копс2скриб2с3ла_2с3лая2с3ли_2с3ло_с3лому2с3лос2с3лую2с3лые2с3лый2с3лым1с2наб1с2неж2с3никсно1з2со1б2рсо1л2гсо2риесо1с2п1с2пец2списяспо1з2сре2б1сре3доссанд2с3с2нес2сорист1верст2вол1с4те_1стен_с3тет_с3тете2стимп2стинд2стинф2стинъс2тишкс3т2лест2лилст2литс2то1б3с2тои2сторг2сторж2сторсстрас24страя2стредст1рей2стривст1риз2стрил2стрищст1роаст1родст1рохст2рубст1рушсуб1а2с2ценасы2п1лсыс1ката1вритак3лет1во1з2т1войтеле1отем2б1те2о3дте4п1лте2рактере2оте2скате2скути1знатила2м2т1инвти1с2лти3ствти3ф2р3т2кав3т2кан3т2кеттмист1то2бесто1б2лто3д2р2т1оммто1с2нто1с2пто1с2цт1рага2т1раж1требо1требут1ребьт1ревет1ревшт1резат1резнтреп1л3тре2стрес1кт1рестт1ретут2решь4тринст1роглт1роидтро3плт1росо4т3роц2т1рядту2жинты2с1к1у2бытуд1рамуе2с1кун2д1руро2длус1комус1ку_у3х4вофанд1рфе2с1кфиа2к1фи2нин2ф1оргфор3трфото3п2ф1у2п2х1изы1х2лор2х1о2кхо2пор2х1оснхри2плхро2мч2цетат2ц1о2дча2евоча2евычаст1вча1стеча1стуча1стячерст1ша2г1ршан2кршар3т2ша1тро3ш2кол2ш1лейш2лите4ш3мы_ще1б2лщи2п1лы2д1роы2к3лоынос3лыра2с3ье2с1кь3п2тоь2трабэри4трэро1с2эс2т1рэтил1аю2б1рею2идалюри2ск3явиксям2б3л_вст2р_реа2нбезу2свиз2гнвыб2редос2ня4ж3дик4ж3дичла2б1рлу3с4нни4сь_о2плюсоти4днпти4днреж4ди2стче_сы2мит2сься_аз3вёзам2нётас3тёмбё2д1р2в1рён2доплёдо2прё2д3рёж1дрёма1дрёмы2д3рёнеб1рён2е1врёерё3доерё1к2ес2чёт2ё1вре2ё3душёз1о2гён2д1рёс2танёх1атоёх3валёх3лопёх1опоза3мнёзот2рёиг1рёнла1стёлё4ска3м2нёшод3рёб2о3тёкот1рёкот1рёшп2лёнкплёс1к_рё2бррё1зна1рё1зорё3старё3стород2лёсе3стёсёст1р1стён_с3тёт_с3тётес3т2лётё4п1лтё2скатё2ску3т2кётт1ревёт2рёшьчёрст1", + 7 : "_во2б3л_во3ж2д_за3м2н_ле2п3р_му2шт1_не1с2ц_обо3ж2_ра2с3т_ре2з3в_ро2з3в_ро2с3л_хо2р3в_че2с1ка2д1облаз2о1бра2н1о2бан1о2храпо3ч2тбили3т2б2лес1к2б3люсь1б2роди1б2росибро2с1кве2ст1вви2а1с2ви1с2ниво2б3лагри4в3нде2з1а2ди2с1тр2д1обладо1б2рад1о2сенд1о2син2д1осно2д1отря1д2разнд1ра2с3дро2г3неан2д1ре1д2лине1о2свие3п2лодере3м2не2р1у2пе2с1ка_е4с1ку_2ж1о2т1за2в1ри1з2о3ре2з1у2беи2л1а2ци2л1у2пино2к3лино3п2лисан2д1ки1с2ни2к3ласько1б2рикохо2р3ла2д1аглан2д1рла2ст1рле1з2о3лу3п2ломан2д1рме2ж1атме2ст1рна2и1с2на1р2вине2р1отни2л1ални2л1ам2н1инстнти1о2кобо1л2го3в2нуш1о2деяло2д1отчо2д1у2чоза2б3воко3п2ло3м2немо3м2нето2п1лейопо2ш3лоро2с3ло2с1ка_о1с2копо2с1ку_о1с2нимо1с2шивошпа2к3па2с1тыпе2д1инпе2к1лапе2ст1рподо3м2радо1б2рас3т2лрво1з2дремо2г3рес2с3мро2д1отро2ф1акр2т1акт2с1альп2сбе3з2сто2г3нс4т1ровсче2с1кте2с1ките2с1ко3т2ре2хтри2г1л2т1у2пруре2т3русла4ж3уто3п2сх1ра1с2ь2т1амп_бо2дра_об2люю_об2рее_об2рей_об2рею_об2рив_об2рил_об2рит_пом2ну_со2плаатро2скбино2скдро2ж3ж2дружейилло3к2ме2динсмис4с3ннар2ватне2о3рен2трассо4ж3девойс4ково2м3че_он2тратосо4м3нпо2додепо2стинпрем2норедо4плроб2лею2сбрук1б2лёс1кё2с1ка_ё4с1ку_1з2о3рёлё1з2о3о3м2нёмо3м2нёто2п1лёйпё2ст1рсчё2с1ктё2с1китё2с1ко3т2рё2х_чё2с1к", + 8 : "_ар2т1о2_ме2ж1у2а2н1а2ме2д1о2бедло2к1а2ун2тр1а2го2д1о2пео2д1о2пыпо2д1о2кре2д1о2пр2т1у2чи_доб2рел_до1б2ри_па2н1ис_ро2с3пиди1с2лове2о3позиере3с2со2з1а2хавни1с2коло1и2с1трони3л2ампере1с2нсо2стритсо3т2калтро2етес_доб2рёлтро2етёс", + 9 : "е2о3платои2л1а2минме2д1о2сммети2л1амо2д1о2болпо2д1у2роприче2с1крни3л2а3мпричё2с1к", + 10 : "но4л1а2мин" + } +}; \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/patterns/sk.js b/alt-implementations/readifry-master/hyphenator/patterns/sk.js new file mode 100755 index 0000000..6a34a5d --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/patterns/sk.js @@ -0,0 +1,23 @@ +// Created based on sk-spell.sk.cx +// For questions about the slovak hyphenation patterns +// ask Zdenko Podobný (zdenop at gmail dot com) +Hyphenator.languages['sk'] = { + leftmin : 2, + rightmin : 2, + specialChars : "áäéíóôúýžčďľňšťŕ", + patterns : { + 2 : "a1á1ä1e1é1i1í1o1ó1ô1u1ú1y1ý1", + 3 : "i2ai2ái2ei2uo2uc2hd2zd2ž", + 4 : "2b1b2b1c2b1č2b1d2b1ď2b1f2b1g2b1h2b1j2b1k2b1l2b1ľ2b1m2b1n2b1ň2b1p2b1r2b1s2b1š2b1t2b1ť2b1v2b1w2b1x2b1z2b1ž2c1b2c1c2c1č2c1d2c1ď2c1f2c1g2c1j2c1k2c1l2c1ľ2c1m2c1n2c1ň2c1p2c1r2c1s2c1š2c1t2c1ť2c1v2c1w2c1x2c1z2c1ž2č1b2č1c2č1č2č1d2č1ď2č1f2č1g2č1h2č1j2č1k2č1l2č1ľ2č1m2č1n2č1ň2č1p2č1r2č1s2č1š2č1t2č1ť2č1v2č1w2č1x2č1z2č1ž2d1b2d1c2d1č2d1d2d1ď2d1f2d1g2d1h2d1j2d1k2d1l2d1ľ2d1m2d1n2d1ň2d1p2d1r2d1s2d1š2d1t2d1ť2d1v2ď1b2ď1c2ď1č2ď1d2ď1ď2ď1f2ď1g2ď1h2ď1j2ď1k2ď1l2ď1ľ2ď1m2ď1n2ď1ň2ď1p2ď1r2ď1s2ď1š2ď1t2ď1ť2ď1v2ď1z2ď1ž2f1b2f1c2f1č2f1d2f1ď2f1f2f1g2f1h2f1j2f1k2f1l2f1ľ2f1m2f1n2f1ň2f1p2f1r2f1s2f1š2f1t2f1ť2f1v2f1z2f1ž2g1b2g1c2g1č2g1d2g1ď2g1f2g1g2g1h2g1j2g1k2g1l2g1ľ2g1m2g1n2g1ň2g1p2g1r2g1s2g1š2g1t2g1ť2g1v2g1z2g1ž2h1b2h1c2h1č2h1d2h1ď2h1f2h1g2h1h2h1j2h1k2h1l2h1ľ2h1m2h1n2h1ň2h1p2h1r2h1s2h1š2h1t2h1ť2h1v2h1z2h1ž2j1b2j1c2j1č2j1d2j1ď2j1f2j1g2j1h2j1j2j1k2j1l2j1ľ2j1m2j1n2j1ň2j1p2j1r2j1s2j1š2j1t2j1ť2j1v2j1w2j1x2j1z2j1ž2k1b2k1c2k1č2k1d2k1ď2k1f2k1g2k1h2k1j2k1k2k1l2k1ľ2k1m2k1n2k1ň2k1p2k1r2k1s2k1š2k1t2k1ť2k1v2k1w2k1x2k1z2k1ž2l1b2l1c2l1č2l1d2l1ď2l1f2l1g2l1h2l1j2l1k2l1l2l1ľ2l1m2l1n2l1ň2l1p2l1r2l1s2l1š2l1t2l1ť2l1v2l1z2l1ž2ľ1b2ľ1c2ľ1č2ľ1d2ľ1ď2ľ1f2ľ1g2ľ1h2ľ1j2ľ1k2ľ1l2ľ1ľ2ľ1m2ľ1n2ľ1ň2ľ1p2ľ1r2ľ1s2ľ1š2ľ1t2ľ1ť2ľ1v2ľ1z2ľ1ž2m1b2m1c2m1č2m1d2m1ď2m1f2m1g2m1h2m1j2m1k2m1l2m1ľ2m1m2m1n2m1ň2m1p2m1r2m1s2m1š2m1t2m1ť2m1v2m1z2m1ž2n1b2n1c2n1č2n1d2n1ď2n1f2n1g2n1h2n1j2n1k2n1l2n1ľ2n1m2n1n2n1ň2n1p2n1r2n1s2n1š2n1t2n1ť2n1v2n1w2n1x2n1z2n1ž2ň1b2ň1c2ň1č2ň1d2ň1ď2ň1f2ň1g2ň1h2ň1j2ň1k2ň1l2ň1ľ2ň1m2ň1n2ň1ň2ň1p2ň1r2ň1s2ň1š2ň1t2ň1ť2ň1v2ň1z2ň1ž2p1b2p1c2p1č2p1d2p1ď2p1f2p1g2p1h2p1j2p1k2p1l2p1ľ2p1m2p1n2p1ň2p1p2p1r2p1s2p1š2p1t2p1ť2p1v2p1w2p1x2p1z2p1ž2r1b2r1c2r1č2r1d2r1ď2r1f2r1g2r1h2r1j2r1k2r1l2r1ľ2r1m2r1n2r1ň2r1p2r1r2r1s2r1š2r1t2r1ť2r1v2r1w2r1x2r1z2r1ž2s1b2s1c2s1č2s1d2s1ď2s1f2s1g2s1h2s1j2s1k2s1l2s1ľ2s1m2s1n2s1ň2s1p2s1r2s1s2s1š2s1t2s1ť2s1v2s1z2s1ž2š1b2š1c2š1č2š1d2š1ď2š1f2š1g2š1h2š1j2š1k2š1l2š1ľ2š1m2š1n2š1ň2š1p2š1r2š1s2š1š2š1t2š1ť2š1v2š1w2š1x2š1z2š1ž2t1b2t1c2t1č2t1d2t1ď2t1f2t1g2t1h2t1j2t1k2t1l2t1ľ2t1m2t1n2t1ň2t1p2t1r2t1s2t1š2t1t2t1ť2t1v2t1w2t1x2t1z2t1ž2ť1b2ť1c2ť1č2ť1d2ť1ď2ť1f2ť1g2ť1h2ť1j2ť1k2ť1l2ť1ľ2ť1m2ť1n2ť1ň2ť1p2ť1r2ť1s2ť1š2ť1t2ť1ť2ť1v2ť1w2ť1x2ť1z2ť1ž2v1b2v1c2v1č2v1d2v1ď2v1f2v1g2v1h2v1j2v1k2v1l2v1ľ2v1m2v1n2v1ň2v1p2v1r2v1s2v1š2v1t2v1ť2v1v2v1w2v1x2v1z2v1ž2z1b2z1c2z1č2z1d2z1ď2z1f2z1g2z1h2z1j2z1k2z1l2z1ľ2z1m2z1n2z1ň2z1p2z1r2z1s2z1š2z1t2z1ť2z1v2z1z2z1ž2ž1b2ž1c2ž1č2ž1d2ž1ď2ž1f2ž1g2ž1h2ž1j2ž1k2ž1l2ž1ľ2ž1m2ž1n2ž1ň2ž1p2ž1r2ž1s2ž1š2ž1t2ž1ť2ž1v2ž1z2ž1ž2x1t2x1n2b1ŕ2ŕ1ba1í2a1o2e1á2e1í2e1o2e1ó2e1u2i1o2o1a2o1e2o1i2o1o2u1a2u1á2u1i2u1í2u1o2u1u2y1a2y1e2y1ó2y1u2a2u1a2i1_vy5_vý5_cv6_ch6_sp6_st6_šk6_šp6_št6_tk6_uh6_uk6_um6_up6_us6_ús6_úš6_ut6_uv6_uz6_vd6_vh6_vk6_vp6_vs6_vš6_vt6_vz6_vž6_zb6_zg6_zh6_zm6_zr6_zv64lt_4rd_4st_4sť_", + 5 : "b2l3bb2l3šb2ľ3šb2r3db2r3zb3s2cb3s2tc3k2tc3t2vč2r3pd2l3nd2r3ld2r3nd3s2vd3s2td3v2rj3s2tj3t2mj3t2rk2r3bk3s2ľk2s3nk3t2rl3d2rľ3k2nl3t2rm3b2lm3b2ľm3b2rm3f2lm3f2rm3k2nm3p2lm3p2ľm3p2rm3p2sm2r3lm2r3šm2r3tm3s2tm3š2tn3dľan3d2rn3f2ln3f2rn3g2hn3g2ln3g2ľn2g3nn3g2rn3g2vn3k2cn3k2hn3k2nn3k2rn3k2vn3s2cn3š2pn3š2tn3t2gn3t2ln3t2nn3t2rn2ž3mp3š2ťp3t2rr2b3nr3g2ľr3g2rr3g2sr3k2dr2k3nr3k2tr3k2vr3p2cr3p2čr3p2rr3s2pr3š2čr3š2lr3š2rr2t3mr3t2nr2t3ňr3t2rr3t2vs2k3ls2k3ms2k3ns3k2rs3k2vs3p2rs3t2ks2t3ls3t2ms2t3ns3t2rs3t2vs2ť3hs2ť3ms2ť3pš3k2lš3k2rš3t2rt3k2lt3k2nt3h2lz3d2nz3g2nž2d3n3ž2ľtž3s2tx3p2lx3p2rx3t2rb3s4kd3s4kj3s4kl3s4kľ3s4kn3s4kp3s4kr3s4kš3s4kt3s4kv3s4kz3s4kž3s4kn2d3č_bez5_do5o_do5u_ge4o_o5p4_po5u5päť5_usk6_úsl6_usm6_úsm6_vzh6_vzk6_vzl6_vzp6_zd6n_zd6r_zd6v8c4h_8d4z_8d4ž_", + 6 : "2b1c2h2b1d2z2b1d2ž2c1c2h2c1d2z2c1d2ž2č1c2h2č1d2z2č1d2ž2d1c2h2d1d2z2d1d2ž2ď1c2h_atmo32ď1d2z2ď1d2ž2f1c2h2f1d2z2f1d2ž2g1c2h2g1d2z2g1d2ž2h1c2h2h1d2z2h1d2ž2c2h1b2c2h1c2c2h1č2c2h1d2c2h1ď2c2h1f2c2h1g2c2h1h2c2h1j2c2h1k2c2h1l2c2h1ľ2c2h1m2c2h1n2c2h1ň2c2h1p2c2h1r2c2h1s2c2h1š2c2h1t2c2h1ť2c2h1v2c2h1w2c2h1ž2j1c2h2j1d2z2j1d2ž2k1c2h2k1d2z2k1d2ž2l1c2h2l1d2z2l1d2ž2ľ1c2h2ľ1d2z2ľ1d2ž2m1c2h2m1d2z2m1d2ž2n1c2h2n1d2z2n1d2ž2ň1c2h2ň1d2z2ň1d2ž2p1c2h2p1d2z2p1d2ž2r1c2h2r1d2z2r1d2ž2s1c2h2s1d2z2s1d2ž2š1c2h2š1d2z2š1d2ž2t1c2h2t1d2z2t1d2ž2ť1c2h2ť1d2z2ť1d2ž2v1c2h2v1d2z2v1d2ž2z1c2h2z1d2z2z1d2ž2ž1c2h2ž1d2z2ž1d2ž2d2z1k2d2z1n2d2z1r2d2z1s2d2ž1š2d2z1ŕ2ŕ1d2z2d2z1ľ2ŕ1d2ž2d2ž1ľ3b2l3č3b2l3k3b2ľ3k3b2l3ň3b2r3b3b2r3k3b2ŕ3k3b2r3l3b2ŕ3ľ3b2r3n3b2r3ň3b2r3v3c2r3č3c2ŕ3č3c2r3k3c2ŕ3k3č2l3n3č2r3č3č2r3t3č2r3v3d2l3b3d2l3h3d2l3ž3d2ľ3ž3d2r3d3d2r3g3d2r3k3d2r3m3d2r3v3d2r3z3d2r3ž3d2ŕ3ž3f2r3č3f2r3f3f2r3k3f2ŕ3k3f2r3m3f2r3n3g2l3g3g2r3c3g2r3g3h2l3b3h2ľ3b3h2l3t3h2m2l3h2r3b3h2ŕ3b3h2r3č3h2r3d3h2r3k3h2r3m3h2r3n3h2r3ň3h2r3t3h2r3vj3š2le3k2l3b3k2ľ3b3k2l3č3k2l3z3k2ľ3z3k2r3č3k2ŕ3č3k2ŕ3d3k2r3k3k2ŕ3k3k2ŕ3m3k2r3p3k2r3s3k2r3t3k2r3v3m2l3č3m2l3k3m2r3h3m2r3k3m2r3v3m2r3z3m2ŕ3z3p2l3n3p2l3ň3p2ľ3ň3p2l3z3p2ľ3z3p2ľ3ž3p2ŕ3c3p2r3č3p2r3d3p2r3s3p2r3š3s2l3n3s2l3ň3s2l3z3s2r3d3s4ŕ3k3s4r3š3š4t4v3t2l3č3t2l3k3t4r3č3t4r3h3t2r3l3t2r3k3t2r3m3t2r3n3t2ŕ3n3t2ŕ3ň3t4r3p3t2r3v3t2ŕ3ž3v2l3č3v2ľ3č3v2l3h3v2l3k3v2l3n3v2r3h3v2r3l3v2ŕ3š3v2ŕ3t3v2r3z3v2ŕ3z3v4z4d3v4z4h3v4z4n3v3z2ť3z4d4r3z4d4v3z4h4r3z2r3k3z2r3n3z4v4l3ž2l3č3ž2l3t3ž2r3ď4m3s4kz3š2t2_belo5_bi2o5_biok4_biop4_bios4_bože5_b2z2d_c4t4n_čo5s4_de5f4_de5g4_dek4l_do5d4_do5f4_do5h4_do5i4_do5k4_do5p4_do5s4_do5v4_do5z4_do5ž4_ex5k4_foto5_ľ4s4t_m4z4d_na5a4_na5b4_na5c4_na5h4_na5i4_na5k4_na5m4_na5o4_na5p4_ná5p4_na5s4_ná5s4_na5š4_na5t4_na5u4_na5ú4_ná5u4_ná5ú4_na5ž4_ne5a4_ne5e4_ne5i4_ne5m4_ne5p4_ne5s4_ne5š4_ne5t4_ne5u2_ne5ú2_ne5v4_ni5k4_ob5k4_ob5s4_ob5t4_ob5z4_od5b4_od5c4_od5d4_od5f4_od5h4_od5i4_od5í4_od5k4_od5p4_od5s4_od5š4_od5t4_od5v4_od5z4_t4v4r_o5h4l_o5h4ľ_o5h4r_o5k4l_o5k4ľ_o5m4l_o5m4n_o5m4r_o5v4r_o5z4n_po5b4_po5č4_po5h4_po5i4_po5k4_po5m4_po5o4_po5s4_po5š4_po5t4_po5v4_po5z4_re5g4_re5k4_re5p4_re5š4_re5t4_sú5h4_sú5s4_sú5v4_sú5z4_troj5_vo5t4_vo5v4_vy5b4_vy5c4_vý5c4_vy5č4_vý5č4_vy5d4_vý5d4_vy5h4_vý5h4_vy5k4_vý5k4_vy5m4_vy5p4_vý5p4_vy5s4_vý5s4_vy5š4_vy5t4_vý5t4_vy5v4_vy5z4_vý5z4_za5b4_zá5b4_za5c4_za5č4_za5d4_za5h4_za5k4_za5m4_za5p4_za5r4_za5s4_za5š4_za5t4_za5v4_za5z4_za5ž4_zá5k4_zá5z4_zo5b4_zo5h4_zo5s4_zo5š4_zo5t4_zo5v4_zo5z4_zo5ž45b4lah5b4lok5b4lúd5b4rať5b4ruč5b4rús5c4muk5c4nie5c4vak5c4vič5c4vik5č4len5č4lov5d4ňov5d4rať5d4vih5d4viž5d4voj5d4vor5f4ľak5f4ráz5g4raf5g4ram5g4réč5g4rob5h4lad5h4las5h4lav5h4ľad5h4mat5h4mot5h4nať5h4ned5h4nev5h4noj5h4nut5h4núť5h4nút5h4rab5h4ran5h4rať5h4rob5h4rom5h4roz5h4rub5h4ryz5k4lad5k4laď5k4ľak5k4lam5k4lep5k4les5k4ľúč5k4ruh5k4rúž5k4ryt5k4vet5m4nož5m4rav5m4ráz5p4lán5p4lat5p4lav5p4rávs6práv5s4fér5s4koč5s4kok5s4kop5s4kor5s4kôr5s4lav5s4láv5s4led5s4lep5s4luh5s4lúž5s4ľub5s4maž5s4mel5s4mer5s4pev5s4por5s4tav5s4tup5s4ved5š4ľah5š4pin5š4tát5š4tep5š4tít5t4lač5t4lak5t4ras5t4rub5uhoľn5v4lád5v4las5v4rás5v4rav5v4rat5v4rát5v4ták5v4tip5z4lom5z4luč5z4nak5z4nám5z4rak5z4väz5z4vod5z4vuk5z4vuč5ž4ráč5ž4reb5ž4rút_uc6h6_úsc6h_ús7ti_ust6l_ust6rr4p4t_r4š4č_r4t4z_", + 7 : "b2l3c2hd3c4h4nj2c2h3nm2r3c4ha4t2r3nnoz5d4rb3s2t2rd4ľ4ž3kd4l4ž3nd4ľ4ž3nh2r4d3lj3s4t4rj3s4t4vm3p4r3pm3p4r3vn4g3s4tn3š4t4rn3t4l3mp2ŕ4c3nr2s3k4dr2s3k4ts3t4r3bs4t4r3vš4t4r3nt2r4č3kk4č3ný_k4č3né_k4č3ná_k4č3nú_k4č3ní_k4t3ný_k4t3né_k4t3ná_k4t3nú_k4t3ní_n4č3ný_n4č3né_n4č3ná_n4č3nú_n4č3ní_n4k4č3nn4t3ný_n4t3né_n4t3ná_n4t3nú_n4t3ní_r4d3ný_r4d3né_r4d3ná_r4d3nú_r4d3ní_r4m3ný_r4m3né_r4m3ná_r4m3nú_r4m3ní_r4p4č3nr4t3ný_r4t3né_r4t3ná_r4t3nú_r4t3ní_s4t3ný_s4t3né_s4t3ná_s4t3nú_s4t3ní_z4d3ny_z4d3ne_z4d3na_z4d3nu_z4d3ni_z4d3ný_z4d3né_z4d3ná_z4d3nú_z4d3ní_b2l4š3kn2k2t3kl4p3s4kl4t3s4kn4d3s4kn4t3s4kp4t3s4kr4t3s4kr4z5s4kb3s4t4vč3s4t4vd3s4t4vď3s4t4vľ3s4t4vm3s4t4vn3s4t4vp3s4t4vr3s4t4vš3s4t4vt3s4t4vv3s4t4vž3s4t4v_a2e2ro_ap4rio_ap4rió_bez5b4_bez5d4_bez5h4_bez5k4_bez5m4_bez5p4_bez5s4_bez5t4_bez5v4_bez5z4_bielo5_blaho5_bledo5_čo5ch4_da3k2d_desať5_dez5i2_dez5o2_do5č2m_do5š4p_do5t4l_do5t4m_do5t4r_do5t4v_dvoj5u_fol2k5_hydro5_juho5a_koso5u_lesos4_malo5o_mimo5ú_nad5h4_nad5p4_na5st4_ná5st4_na5šk4_na5v4l_na5z4r_na5z4v_náz5v4_ne6t5t_ne5z4l_ne5z4m_ne5z4n_ne5z4r_ne5z4v_nie5k4_obi5d4_obo5s4_obo5z4_od6i5ó_odo5b4_odo5h4_odo5k4_odo5p4_odo5s4_o5h4na_o5h4nú_o5c4h4_o5k4ra_o5k4rá_o5k4ri_o5k4rí_o5k4ru_o5k4rú_o5s4lo_o5s4p4_o5š4k4_o5š4ľ4_o5š4m4_o5š4p4_o5š4v4_o5v4p4_o5z4l4_o5z4re_plno5a_pod5h4_pod5k4_pod5p4_pod5re_pod5v4_pod3ža_pod3žu_pol5d4_polo5a_polo5i_po6š5v_po5t4ľ_po5t4r_pra5o4_pra5p4_pre5b4_pre5c4_pred5i_pre5č4_pre5e2_pre5f2_pre5h4_pre5i4_pre5k4_pre5m4_pre5o4_pre5p4_pre5s4_pre5š4_pre5t4_pre5v4_pre5z4_pre5ž4_pri5b4_pri5č4_pri5d4_pri5h4_pri5k4_prí5k4_pri5m4_pri5p4_pri5s4_prí5s4_pri5š4_pri5t4_pri5v4_pri5z4_pri5ž4_re6k5v_re6p5n_štáto5_sú5k4r_sú5m4r_vo5p4r_vo5s4p_vy6h5ň_vy6š5š_vý6š5k_zo6d5p_zo5d4r_zo5d4v_zo5m4l_zo5m4rauto4rkauto4rs5b4ledn5b4lesk5b4lysk5b4lysn5boh3z45b4rázd5b4ronz5b4rýzg5č4lánk5f4lias5h4liad5h4luch5c6hran5k4lásť5k4liat5k4liať5k4resb5k4resť5k4rídl5k4rôch5k4vadr5p4leta5p4letú5p4riam5s4ladk5s4lovn5s4love5s4lova5s4lovk5s4piev5s4tati5šes4ť55s4t4la5š4liap5š4kola5š4tart5š4tude5š4tudo5š4tyli5š4ťast5štiep45t4resk5t4ried5v4čera5v4šimn5v4z4du5z4mysl5z4náša5z4vest5zv4esť5ž4rane_usc6h6_ús7ta__ús7toč_úst7ny_ús6t6r4b4s4ť_4c4ht4_4j4s4ť_4m4p4r_4m4p4s_4m4š4t_4n4k4t_4p4r4v_5k4rát_akci3a2", + 8 : "_a2u1to32c2h1c2h2c2h1d2z2c2h1d2ž3h2r3d2z3c2h2l3p3c2h2r3b3c2h2r3č3c2h2r3l3c2h2r3t3s4c4h4n3v2r3c2h3b2l4č3n3b2ľ4č3k3b2l4n3k3b2ľ3k2n3b2r4b3l3b2r4b3t3b2r4č3k3b2r4d3c3b2ŕ4d3n3b2r3h2l3b4ŕ4k3n3b4r4m3b3b4r4n3č3b4r4n3k3b4r4š3l3b4r4t3l3b4r4t3n3b4r4v3n3b4r4z3d3b4r4z3l3b4r4z3n3c4ŕ4č3k3c4r4k3n3c4v4r3č3c4v4r3k3c4v4ŕ3k3c4v4r3l3č4l4n3k3č4r3č4r3č4r4p3k3č4r4p3n3č4r4t3n3č4v4r3k3č4v4r3l3d4l4b3n3d4r4c3n3d4r4g3ľ3d4r4g3n3d4r4h3n3d4r4n3č3d4r4n3k3d4r4s3n3d4r4ž3b3d4r4ž3k3f4r4c3k3f4r4c3n3f4r4č3k3f4r4f3l3f4r4k3n3f4r4n3d3f4r4n3g3f4r4n3k3g4l4g3n3g2r4c3k3h2ľ4b3k3h2l3t4n3h2r4b3č3h2r4č3k3h2r4g3ľ3h2r4k3ľ3h2r4k3n3h2ŕ4k3n3h2r4n3č3h2r4s3t3h2r4s3ť3k4l4b3č3k4l4b3k3k4l4z3k3k4l4z3n3k4r4č3m3k4r4č3n3k4r4k3v3k4r4m3n3k4ŕ4m3n3k4r4p3č3k4r4s3t3k4r4š3t3k4r4t3k3k4r4v3n3m2l4č3k3m2ľ4k3n3m2ľ4k3v3m2l4s3n3m4r4k3n3m4r4k3v3m4r4m3l3m4r4n3č3m4r4n3k3m4ŕ4š3t3m4ŕ4t3v3m4r4z3l3m4r4z3k3m4r4z3n3p2l4z3l3p2ľ4z3n3p2r4č3k3p4r4d3n3p4r4s3k3p4r4t3k3s4l4n3k3s4k4r3z3s4m4r3c3s4m4r3č3s4m4r3d3s4m4r3k3s4m4r3t3s4r4d3c3s4r4k3n3s4r4s3t3s4t4ľ3k3s4t4r3č3s4t4ŕ3h3s4t4r3k3š4k4l3b3š4k4r3k3š4k4ŕ3k3š4k4r3t3š4p4l3h3š4t4r3b3t2ľ4c3ť3t2r4b3l3t2r4d3l3t2r4h3l3t2r4h3n3t2r4k3n3t2r4k3v3t2r4m3n3t4ŕ4p3n3t2r4ž3k3t2r4ž3n3t2v4r3d3v2l4h3č3v2l4h3k3v2l4h3n3v2l4n3k3v2l4n3n3v4r4h3n3v4r4k3n3v4ŕ4z3g3v4r4z3g3v4r4z3n3v4r4ž3l3z4h4ŕ3ň3z4r4n3n3ž4l4č3n3ž4l4t3n3ž4r4d3kk4č3nom_k4č3ným_k4č3nej_k4č3nou_k4t3nom_k4t3ným_k4t3nej_k4t3nou_n4č3nom_n4č3ným_n4č3nej_n4č3nou_n4t3nom_n4t3ným_n4t3nej_n4t3nou_r4d3nom_r4d3ným_r4d3nej_r4d3nou_r4m3nom_r4m3ným_r4m3nej_r4m3nou_r4t3nom_r4t3ným_r4t3nej_r4t3nou_s4t3nom_s4t3ným_s4t3nej_s4t3nou_z4d3nom_z4d3nym_z4d3nej_z4d3nou_z4d3ným_l2t3k2a_l2t3k2y_l2t3k2e_l2t3k2u_n2t3k2a_n2t3k2y_n2t3k2e_n2t3k2u_p2t3k2a_p2t3k2y_p2t3k2e_p2t3k2u_s2t3k2a_s2t3k2y_s2t3k2e_s2t3k2u_5p4r4s3t4m4p3s4kr4z3š2t2_arci5k4_belo5h4_bielob4_bieloh4_bielov4_blahop4_blahos4_boha5p4_boho5s4_bože5d4_celo5d4_celo5k4_celo5p4_celo5s4_celo5u4_ceno5t4_cyto5p4_čaro5k4_čaro5s4_čaro5v4_čaro5z4_čudo5t4_de5š4t2_divo5t4_dlho5h4_dlho5p4_do5c4h4_do5š4tí_drevo5o_dvoj5al_dvoj5č4_dvoj5d4_dvoj5h4_dvoj5i4_dvoj5k4_dvoj5p4_dvoj5s4_dvoj5t4_dvoj5v4_dvoj5z4_gala5p4_gama5g4_hnedo5o_hnedo5u_holo5b4_holo5h4_holo5k4_hore5z4_jasno5o_juho5s4_kata5k4_koso5d4_koso5š4_krvi5p4_krvi5s4_krvi5t4_málo5k4_málo5v4_melo5d4_meru5ô2_mikro5o_mimo5š4_mimo5v4_mnoho5u_mnoho5v_mnoho5z_modro5o_mravo5u_na6š5sk_na5v4na_na5v4r4_ná5v4r4_na5v4z4_novo5u2_novo5z2_od5c4h4_okolo5i_o6p5lan_o6p5rat_o5s4lab_o5s4lad_o5s4lav_o5s4láv_o5s4lep_o5s4tar_o5s4tať_o5s4tan_o5s4taň_o5s4táv_o5s6to5_ostro5u_o5s4ved_o5s4vit_o5s4voj_o5t4ras_o5t4rav_o5t4ráv_o5t4rep_o5t4ria_o5v4dov_o5v4lád_o5v4laž_o5z4v4l_plno5p4_plno5š4_poda5k4_pod5b4r_pod5c4h_po5d4rh_po5d4rm_po5d4rv_pod3zem_pod3zol_po5c4h4_pol5i4z_polo5b4_polo5d4_polo5k4_polo5m4_polo5o4_polo5p4_polo5s4_polo5t4_polo5u4_polo5ú4_polo5v4_polo5z4_pol5s4t_po5ob4h_po5ob4l_po6š5ta_po6s5ti_po4v5ra_povy5h4_povy5k4_povy5p4_povy5s4_povy5v4_povy5z4_pra5v4l_pred5c4_pred5h4_pred5k4_pred5m4_pred5op_pred5p4_pred5s4_pred5v4_pred5z4_pre6s5n_prí6s5p_pri6s5p_ro4z5i4_ro6z5í4_rozo5b4_rozo5d4_rozo5m4_rozo5p4_rozo5r4_rozo5s4_rozo5š4_rozo5z4_rozo5ž4_ro6z5u4_ro6z5v43s4polu5_šikmo5o_široko5_št4vor5_su4b5s4_viac5k4_viac5v4_vide2o5_vo5p4ch_vy6h5ne_vy5c4h4_za5c4h45alkohol5b4rec2hčí6s5lov5č4lánok5d4ramat5e2u2róp5f4rancú5h4niezd5h4r3mot5h4viezd5c6h4lap5c6h4leb5c6h4rán5c6h4ráň5c6h4vál5c6h4vát5c6h4vat5k4ritic5k4valif5k4valit5p4letie5p4liesť5p4rirod5p2risám5p4roduk5s4k4lad5s4k4lon5s4k4rot5s4k4rúc5s4k4rýv5s4kúsen5s4kutoč5s4k4vúc5s4tatic5s4t4ran5s4t4rán5s4t4raš5s4t2rat5s4t2red5s4t2rek5s4t4rel5s4t4reľ5s4t4rih5s4t4riž5s4t4rom5s4t4rúh5s4t4run5s4t4ruž5š4k4rab5š4k4rie5š4print5t4retin5t4r4vaj5t4r4val5t4r4van5uholník5viac5h45v4z4ťah5v4z4ťaž5z4mysel_ús7tretkli3e2nt", + 9 : "_as4t4ro3c2h2r3c4h3ch4ľ4p3kčer4s3t4vmaš3k4r3tb3d4ľ4ž3nh2ŕ4s3t4ks3t4r4n3kk4č3ného_k4č3nému_k4č3ných_k4č3nými_k4t3ného_k4t3nému_k4t3ných_k4t3nými_n4č3ného_n4č3nému_n4č3ných_n4č3nými_n4t3ného_n4t3nému_n4t3ných_n4t3nými_r4d3ného_r4d3nému_r4d3ných_r4d3nými_r4m3ného_r4m3nému_r4m3ných_r4m3nými_r4t3ného_r4t3nému_r4t3ných_r4t3nými_s4t3ného_s4t3nému_s4t3ných_s4t3nými_z4d3neho_z4d3nemu_z4d3nych_z4d3nymi_z4d3ného_z4d3nému_z4d3ných_z4d3nými_l2t3k2ou_l2t3k2ám_n2t3k2ou_n2t3k2ám_p2t3k2ou_p2t3k2ám_s2t3k2ou_s2t3k2ám_n4k4t3s4kn4t3s4t4vr4v5s4t4v_aero3g2r_aero3p2l_aero3s2k_aero3s2t_aero3t2r_anti5k4l_anti5k4r_apo5p4le_as3k2lep_balne2o3_božec2h4_cudzo5k4_cudzo5o4_cudzo5s4_cudzo5t4_cudzo5v4_černo5b4_černo5h4_černo5k4_černo5o4_dis2k3d4_dobro5d4_dobro5p4_dobro5s4_do5š4tie_drevo5p4_drevo5v4_druho5s4_elektro5_horno5u4_hrôzo5v4_hrôzy5p4_hrubo5s4_jasno5z4_jedno5h4_jedno5i4_jedno5p4_jedno5s4_jedno5u4_jedno5z4_južno5s4_kmeňo5t4_krivo5p4_kruto5v4_lásky5p4_ľudovo5u_makro5k4_makro5o4_makro5s4_márno5t4_medzi5h4_medzi5i4_medzi5p4_medzi5š4_medzi5t4_mikro5e4_mikro5k4_mikro5p4_mnoho5s4_mnoho5t4_mrako5d4_mucho5t4_na5d4p4__na5d4ŕ4__na6z5vyš_ne5na5h4_ne5na5i4_ne5na5k4_ne5na5m4_ne5na5p4_ne5na5s4_ne5na5t4_ne6s5tor_ne5z4d4r_ne5z4d4v_ni6k5toš_nízko5k4_odo5m4k4_okolo5s4_o6s5tatn_o5s4tatk_o5s4vetl_o5s4viet_o5s4viež_päť5izbo_plno5kr4_po5d4ráž_po5d4rep_po5d4rie_po5d4r4ž_po6h5reb_polo5h4l_po6m5ník_po6s5tul_po6š5tov_po5t4k4n_poroz5p4_poroz5s4_poroz5v4_po5v4z4b_pra5v4nu_pra5v4nú_pred5ch4_predo5h4_pre5d4ri_pre5d4rž_pre5c4h4_pri5c4h4_pri5s4pô5f4rekvenpro6g5ram5g4vardej5c6h4vostna5d4ž4gana5d4ž4gánav3š4tevnáv3š4tevnav3š4tív5p4lastik5s4c2hopn5s4k4rutk5s4potreb5s4p4rávn5s4p4ravo5s4tarost5s4t4rach5s4t4ráda5s4t4riel5s4t4rieľ5päť5s4to5š4t4vera5t4ran4s5_ús7tami__us7t4ric5t4ľ4c4ť_t2ri3u2mf", + 10 : "3č4r4c4h3n3f4r4n3d4ž3c2h2r4b3t3c4h4r4s3t3p4ŕ4c2h3n3s4p4r3c4hko4s3t4r3č4s4ť5k4rát3š4t4v4r3t3š4t4v4r3ť3t2v4r3d4z3t2v4ŕ3d4z3b4r4n3k4n3c4v4r4č3k3c4v4r4n3k3č4ŕ4s3t4v3č4r4t4t3n3č4v4r4k3n3d4r4ž3g4r3f4r4n4g3n3k4r4s4t3n3k4r4s4t3ň3s4m4r4š3ť3s4m4r4t3k3š4k4l4b3n3š4k4r4t3n3š4k4v4r3č3š4k4v4r3k3š4k4v4ŕ3k3š4k4v4r3n3š4m4r4d3k3š4m4r4n3c3š4p4l4h3n3š4t4r4k3n3š3t4r4n3g3t4v4r4d3n3v4r4s3t4v3v4r4z3g4nl2t3k2ách_n2t3k2ách_p2t3k2ách_s2t3k2ách_5s4r4b3s4k_ane3s2téz_aristo5k4_austro5s4_brato5v4r_cáro5v4ra_ces2t5maj_cirkevno5_čierno5b4_čierno5h4_čierno5o4_drobno5z4_kata5s4t4_ktovie5a2_miesto5d4_miesto5p4_na5d4nes__národno5o_ne5do3u2k_o5k4resať_o5s4tatok_o5s6t4rap_plocho5d4_pod5s4koč_pol5o4blú_po6st5g4r_prá5vo5p4_pra5vo5s4_pre5d4rah_pre5d4rap_pre5d4rať_pre5d4raž_pre6k5vap_pri6š5la__pri6š5li__pri6š5lo__rozo5c4h43s4polu5h43s4polu5p43s4polu5v4_široko5p4_t4v4r4do5_vnútro5s4_vnútro5š45boles4t5n5p4ne2umat5s4k4romne5s4p4ravod5s4p4raved5d2ve5s4to5t2ri5s4to5osem5s4to5š4p4liech5š4t4vorecakvári3u2mgymnázi3umle2u3kémia", + 11 : "maš3k4r4t3nl2t3k2a1mi_n2t3k2a1mi_p2t3k2a1mi_s2t3k2a1mi__a2e2ro3d2r_a2e2ro3k2l_ane3s2teti_bac2k3hand_červeno5a4_červeno5b4_červeno5h4_červeno5k4_červeno5o4_červeno5p4_hrôzo5s4t4_chorobo5p45d4vanás4ť55jedenás4ť55šes4ť5s4to5sedem5s4to5deväť5s4to5š4t4ruktúr", + 12 : "3c2h2r4c4h3l3c2h2r4c4h3ľ3c4h4r4s4t3n3c4v4r4n3g4n3š4k4v4r4k3n3š4k4v4ŕ4k3n_akcie3s2c2h_cirkevno5p4_ďatelino5t4_na5d4robno__o5k4resávať_pravicovo5o_pred5ostatn5jedenás4t5k5m4ladis4t3v5š4tyri5s4to5vy5s4t4rája5s4to5k4rát_", + 13 : "5boh3vi4e3a2k5š4t4v4r4ť5k45š4t4v4r4ť5l45š4t4v4r4ť5r45š4t4v4r4ť5s4", + 15 : "ôs4t3k2ár3s4t4v_po6s4t5s4k4rip5boh3vi4e3o2d3k" + } +}; \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/patterns/sl.js b/alt-implementations/readifry-master/hyphenator/patterns/sl.js new file mode 100644 index 0000000..5d2571c --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/patterns/sl.js @@ -0,0 +1,15 @@ +// For questions about the Slovenian hyphenation patterns +// ask Mojca Miklavec (mojca dot miklavec dot lists at gmail dot com) +Hyphenator.languages['sl'] = { + leftmin : 2, + rightmin : 2, + specialChars : "čšž", + patterns : { + 3 : "_č8_š8_ž81fa1hu1kn1sc1sp1wa1ye1zi1zn1zo1zu1čj1čl2cc2ck2ew2ft2jh2nč2vč8č_8š_8ž_a1aa1ba1ca1da1fa1ga1ha1ia1ja1ka1la1ma1na1oa1pa1sa1ta1va1ča1ša1žb1hb1mb1zb1žbe1bi1bo1d2ed2oe1ae1be1ce1de1ee1fe1ge1he1ie1je1ke1le1me1ne1pe1se1te1ve1ze1če1še1žfe1fu1go1gu1i1ai1bi1ci1di1fi1gi1hi1ii1ji1ki1li1mi1ni1pi1ri1si1ti1ui1vi1xi1zi1ši1žju1ki1ko1le1lo1na1ne1nu1o1ao1bo1co1do1eo1fo1go1ho1io1jo1ko1lo1mo1no1oo1po1so1to1uo1vo1yo1zo1čo1šo1žpe1po1qu2r1fr1rr1žre1ri1ro1si1su1t1ftu1u1bu1cu1du1eu1fu1gu1hu1iu1ju1lu1mu1nu1pu1su1tu1vu1zu1ču1šu1žv1fv1gvz2wo2x1fy1jy1ly1wz1cz1gz1tz1šz1žči1š2č", + 4 : "_is1_iz1_od1_st41ind1inp1inš1kre1liz1loč1naj1nas1naz1neh1peč1str1usp1viv1z1r1z2a1zlj2b1c2b1d2b1k2b1n2b1s2b1t2b1v2b1č2b1š2c1n2c1t2ch_2d1b2d1c2d1d2d1g2d1h2d1j2d1k2d1p2d1s2d1t2d1v2d1č2d1š2d3m2f1n2f1s2g1d2g1t2h1k2h1n2h1t2h1č2h1š2ine2iss2j1b2j1c2j1d2j1g2j1k2j1l2j1m2j1n2j1p2j1r2j1s2j1t2j1v2j1z2j1č2j1š2jos2jus2juč2k1c2k1d2k1m2k1t2ks_2l1b2l1c2l1d2l1f2l1g2l1h2l1k2l1l2l1m2l1n2l1p2l1s2l1t2l1v2l1z2l1č2l1š2l1ž2lj_2ljk2ljn2ljs2ljč2ljš2m1b2m1c2m1d2m1f2m1k2m1m2m1p2m1s2m1t2m1v2m1č2m1š2m1ž2n1b2n1c2n1f2n1g2n1h2n1k2n1l2n1n2n1p2n1s2n1t2n1v2n1z2n1š2n1ž2nj_2njc2njk2njs2njš2p1c2p1k2p1s2p1t2p1š2r1b2r1c2r1d2r1g2r1h2r1j2r1k2r1l2r1m2r1n2r1p2r1s2r1t2r1v2r1z2r1č2r1š2rae2s1b2s1f2s1j2s1s2sk_2st_2stk2stm2t1b2t1c2t1d2t1k2t1m2t1s2t1t2u1a2v1b2v1c2v1d2v1j2v1k2v1m2v1n2v1p2v1t2vzo2y1f2z1b2z1h2z1j2z1k2z1m2z1p2z1s2z1č2č1b2č1g2č1k2č1n2č1p2č1s2š1j2šč_2ščk2ščn2ž1b2ž1c2ž1j2ž1k2ž1č3ktr3ste4bmi4eth4hl_4igh4ile4ilo4ire4job4jož4ljc4njv4ogl4opy4phs4sc_4stf4tz_4urg4vjo4všk4zri4zru4čop4čup4žmia1e1a1raa1rea1ria1roa1rua1u1a1zea2uka4hma4jfa4mza4nma4pha4sša4tfa4ufa4ula4vžad2laf1tak4sat4ib1jaba4ube4vc1kack1sd1lod2lid4urdis1e1o1e1rae1ree1rie1roe1rue1u1e4dfe4epe4ffe4rfe4rre4wte4ywe4zte4zže4čde4čte4špeb4jed2lei2zez2gez4lh4loha4uhe4ii1e1i1o1i1čai1čei1čii1čui2zri4csi4kči4mhis4aiz1liz1uj1hijra1kok4ks1cks1pks1tl2i1le4en1čan1čen1čin1čun4dmn4ghn4gvn4tgn4tvnz4io1rao1reo1rio1roo1ruo2olo4aso4bzo4cro4kbo4kto4lro4omo4pmoiz2oz2noz2ooz2roz2voz4boz4gr4inr4thrz2ls2cis2kns4ids4onsis1taz4u1kau1keu1kou1rau1reu1riu4bpu4thub4jv1čav1čev1čiv2zav2zuv3zpve4ivt4kz1igz1liz1luz1obz1ogz1v2z2olz3dvz3kuz3vnz4omz4ujše2s", + 5 : "_av5r_ek3s_ek5v_si4s2d1z22j1od2n3d22p3č22v3zk2z1d22z1is2z1od2z1up2z1uz2z1z23inse3intr3razl3raču3real3rodi3v2pa3v2zg3zbir3zlil3zlog3zlož4d3vi4dind4dnas4dobč4idor4inšk4jime4kst_4ktra4mind4minp4minš4ploz4skre4tind4tinp4tnaj4zrez4zreš4zrež5dlet5obla5obro5oseb5redč5stim5tema5zlit5zliva4ksta4ziga4zoba4zraa5ju_ab5baac5ciad5uraf5gaah5miah5moai2n1aj3osaj3ugaj3učaj5fiaj5foaj5haaj5heaj5imaj5žnan5mian5ziao2b1ar5xaar5xoar5xuas5ščav5šiav5žaay5toaz3laaz3leaz5foaz5vpaž5mib3jemb3lepb3rabb3rašb3rezb3robb4ja_b5jelb5jetb5lilb5litb5livb5ordb5rasbo5vpbu5kibu5kubu5kvbu5ryc5ko_ch5mack1o2ck5weckov3d3repd4revd5litd5livd5nivd5razde4mndi5ckdo5rddo5včdu5rodu5ume2č1ve4zobe5stae5zije5zised5iged5obed5včed5zbef5feef5taeiz5eeo4dleob4jeob4res5daev5haew5leew5toez4moez4reez5djez5glez5izeč3leeč5deeč5dieč5doeč5opeč5tieč5toeč5treč5upeš5poff5mafre4uft5vego5vzh5reni4skvii2n1ik5čaim5hiisis4it5priv5joiz4laiz5meiz5moiz5poič5raič5vrj5aktjod4ljraz4ju2ž1ju5dmk5satk5vipke5tiko5kdks4poks5teku5rola4irle5melg5čalu5kilu5kum5nivm5urnme4drmy5hin4ostnad5rnaj3ond5gand5hine3d2ne3zmnez4vng5hang5vino5rdnsis4nt5gant5gent5viny5quo2d1žo2v1zo5vzaob5glob5jooc5keoc5kiod5dvod5zdoele4ok5baok5beol5reood4lop5meou5kiou5kuov3zdov5škoz5loozd5jož5mipe4ktpet3lph5sopi5zoprez4pč5kar3v2jrav5zre5jore5kmre5čvriz4griz4lriz4nro5zort5haru5klrv5jory5anrž5das4lavs4tens4tirs4tičse5mase5vpsoni5su4bosve5tta5witch5ote5xatrt5uub5pouth5oux5emuše3sv4pijv4pilv4červ5sknv5šekve4člve4čmvi5dvvo5rdz4gniz4venz4vokz5gotz5lasz5lomza1z2za3vpza5ukza5zdzd5juzliz5č5mes", + 6 : "_ob5it_obi4d_voz5l_voz5n_zliz62d3o2f3z4voj4d3nac4d3nar4d3nož4d5nap4d5nač4d5neb4d5niz4d5obd4j5int4l5izd4t3int4tinos4tinse4z5išč4zredč4č3let5načela4j5eka4z3oča6doblab6rodad6rl_ad6rlaad6robaj6imoaj6stban6dgaan6dhiar6dwaaz4lilaz4litaz4livaz4redaz5oraaz5orob5letab5režeba6bbaban3č4bo6chmbr6ždabre4zgbre4zibre4zrd4i5nodd6vojde4minde4z3idi4skrdi6sprdo5v4zdre6pndteks6e3z4dre4d3oče4dobse4tinše4z5ore5sti_e5stihe5stileb6lized6obeed6obrei6pziek6malek6treeo4z5nep5nikev5stvev6preev6steew6indez5imnez6ijoez6istez6lomez6maneč6vrsfe6ljtfi6zljfo6urige6igege6njčgel5č4gi6tprhu6ffmil5č4kis6ertiz6odeiz6ureizli4zje4ks4jsis6tjz6vesko6všekoz6loks6tazla6vz_le6ipzli6dž_me4d5nme6dosmi6th_mo6vš_mo6št_na4drena4j3una4v3zna6drana6durna6jakna6jočnavze6naz6ornteks4o6drepob5ideod5nalol6gčaor4dečose4m5ov5semoz5nicoz5nišoz6ložpe4tlepe4v5spev5t4po4d3lpo4dnapo6dfapo6lobpo6stdpz6ig_ra6jžnra6vzare6chtre6digre6ibare6sdare6zusre6zverev6skri5n4orob6ids4plods4tra_sek5sisi6gn_sonič4spod4ltek6stto6vž_tr6turud6mi_up6čkave4tinvi6žg_vid6vavoz5lez6ane_", + 7 : "_di6spo_po4d5n_po4v5s_se4k5s3i4n3os4d5njač6d5elem6tletnoera5z4rera5z4vera6z5leve6t5llju5d6jna4d5njna4j5ennje4v5so6l5avtpo4d5očra4z5idra4z5orre6dnjure6značse4k5savetle6t", + 8 : "_pre6d7ne4z5u4m5" + } +}; diff --git a/alt-implementations/readifry-master/hyphenator/patterns/sr-latn.js b/alt-implementations/readifry-master/hyphenator/patterns/sr-latn.js new file mode 100644 index 0000000..657d654 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/patterns/sr-latn.js @@ -0,0 +1,19 @@ +// For questions about the serbian latin hyphenation patterns ask Sonja Keljević (sonja dot keljevic at gmail dot com) +Hyphenator.languages['sr-latn'] = { + leftmin : 2, + rightmin : 2, + specialChars : "žšđćč", + patterns : { + 3 : "š2ćt2jt2vd2jd2ld2rd2vg2jg2lg2rg2vh2jh2lh2rh2vk2jk2lk2rk2vd2žn2jl2jt2lp2jp2lp2rv2jv2lv2rb2jb2lb2rf2jf2lf2rm2jm2lm2rs2cs2js2ks2ls2ms2ns2ps2rs2ts2vz2bz2dz2gz2jz2lz2mz2nz2rz2vš2cš2kš2lš2mš2nš2pš2tš2vt2rš2čž2bž2dž2gž2lž2mž2nž2vž2đc2jc2rc2vč2v_h2_j2_k2_l2_m2_n2_p2_r2_s2_t2_v2_z2_š2_đ2_ć2_č2_ž2_b2_c2_d2_f2_g2o3ao3eo3io3oo3uu3au3eu3iu3ou3ua3aa3ea3ia3oa3ue3ae3ee3ie3oe3ui3ai3ei3ii3oi3u2a12e12i12o12u1", + 4 : "2hvs2gr_2gv_2hj_2hl_2hvp2hr_2hv_2hvn2kl_2hvm2kr_2kv_2tj_2tl_2hvk2tr_2tv_h2ljt2ljp2lj2d1b2d1c2d1dv2lj2d1f2d1g2d1hb2lj2d1k2d1m2d1nf2lj2d1p2d1s2d1tm2ljd2lj2b1ž2b1b2b1c2b1d2b1f2b1g2b1h2b1k2b1m2b1n2b1p2b1s2b1t2b1v2hvh2hvg2b1z2b1š2b1đ2b1ć2b1č2f1ž2f1b2f1c2f1d2f1f2f1g2f1h2f1k2f1m2f1n2f1p2f1s2f1t2f1v2hvf2hvd2f1z2f1š2f1đ2f1ć2f1č2m1ž2m1b2m1c2m1d2m1f2m1g2m1h2m1k2m1m2m1n2m1p2m1s2m1t2m1v2hvc2hvb2m1z2m1š2m1đ2m1ć2m1č2p1ž2p1b2p1c2p1d2p1f2p1g2p1h2p1k2p1m2p1n2p1p2p1s2p1t2p1v2ščž2ščč2p1z2p1š2p1đ2p1ć2p1č2v1ž2v1b2v1c2v1d2v1f2v1g2v1h2v1k2v1m2v1n2v1p2v1s2v1t2v1v2ščć2ščđ2v1z2v1š2v1đ2v1ć2v1č2bj_2bl_2ščš2br_2fj_2fl_2ščz2fr_2mj_2ml_2ščt2mr_2pj_2pl_2ščs2pr_2vj_2vl_2ščr2vr_2dž_2d1z2d1š2d1đ2d1ć2d1č2g1žs2lj2g1b2g1c2g1ds2nj2s1ž2s1b2s1d2s1f2s1g2s1h2s1s2ščp2s1z2s1š2s1đ2s1ć2s1č2sj_2sk_2sl_2sm_2sn_2sp_2ščn2sr_2st_2sv_2ščm2sc_2g1f2g1g2g1h2g1k2g1m2g1n2g1pz2lj2g1s2g1tz2nj2z1ž2z1c2z1f2z1h2z1k2z1p2z1s2z1t2ščl2z1z2z1š2z1đ2z1ć2z1č2zj_2zl_2zm_2zn_2ščk2zr_2zv_2ščj2zb_2zd_2zg_g2ljk2lj2g1z2g1š2g1đ2g1ćš2lj2g1č2h1žš2nj2h1b2h1c2š1ž2š1b2š1d2š1f2š1g2š1h2š1s2ščh2š1z2š1š2š1đ2š1j2š1r2šk_2šl_2šm_2šn_2šp_2ščg2št_2šv_2ščf2šć_2šč_2šc_2h1d2h1f2h1g2h1h2h1k2h1mž2lj2h1nž2nj2h1p2ž1ž2ž1c2ž1f2ž1h2ž1k2ž1p2ž1s2ž1t2ščd2ž1z2ž1š2ž1ć2ž1č2ž1j2ž1r2žl_2žm_2žn_2ščc2žv_2ščb2žđ_2žb_2žd_2žg_2h1s2h1t2hvž2c1ž2c1b2c1c2c1d2c1f2c1g2c1h2c1k2c1l2c1m2c1n2c1p2šcž2c1s2c1t2šcč2šcć2c1z2c1š2c1đ2c1ć2c1č2cj_2cr_2cv_2hvč2č1ž2č1b2č1c2č1d2č1f2č1g2č1h2č1j2č1k2č1l2č1m2č1n2č1p2šcđ2č1r2č1s2č1t2šcš2šcz2č1z2č1š2č1đ2č1ć2č1č2čv_2j1ž2j1b2j1c2j1d2j1f2j1g2j1h2j1j2j1k2j1l2j1m2j1n2j1p2šct2j1r2j1s2j1t2j1v2šcs2šcr2j1z2j1š2j1đ2j1ć2j1č2l1ž2l1b2l1c2l1d2l1f2l1g2l1h2l1k2l1l2l1m2l1n2l1p2šcp2l1r2l1s2l1t2l1v2šcn2šcm2l1z2l1š2l1đ2l1ć2l1č2n1ž2n1b2n1c2n1d2n1f2n1g2n1h2n1k2n1l2n1m2n1n2n1p2šcl2n1r2n1s2n1t2n1v2šck2šch2n1z2n1š2n1đ2n1ć2n1č2šcg2šcf2šcd2šcc2šcb2scž2scč2scć2scđ2scš2scz2sct2scs2scr2scp2scn2scm2scl2sck2sch2scg2scf2scd2scc2scb2r1ž2r1b2r1c2r1d2r1f2r1g2r1h2r1j2r1k2r1l2r1m2r1n2r1p2šmž2r1r2r1s2r1t2r1v2šmč2šmć2r1z2r1š2r1đ2r1ć2r1č2šmđ2šmš2šmz2šmv2šmt2šms2šmp2šmn2šmm2šmk2šmh2šmg2šmf2šmd2šmc2šmb2zmž2zmč2zmć2zmđ2zmš2zmz2zmv2zmt2zms2zmp2zmn2zmm2zmk2zmh2zmg2zmf2zmd2zmc2zmb2smž2smč2smć2smđ2smš2smz2smv2smt2sms2smp2smn2smm2smk2smh2smg2đ1ž2đ1b2đ1c2đ1d2đ1f2đ1g2đ1h2đ1j2đ1k2đ1l2đ1m2đ1n2đ1p2smf2đ1r2đ1s2đ1t2đ1v2smd2smc2đ1z2đ1š2đ1đ2đ1ć2đ1č2ć1ž2ć1b2ć1c2ć1d2ć1f2ć1g2ć1h2ć1j2ć1k2ć1l2ć1m2ć1n2ć1p2smb2ć1r2ć1s2ć1t2ć1v2žmž2žmč2ć1z2ć1š2ć1đ2ć1ć2ć1č2h1z2h1š2h1đ2h1ć2h1č2k1ž2k1b_lj22k1c2k1d2k1f2k1g_nj2_dž22k1h2k1k2k1m2k1n2k1p2k1s2k1t2hvć2hvđ2k1z2k1š2k1đ2k1ć2k1č2t1ž2t1b2t1c2t1d2t1f2t1g2t1h2t1k2t1m2t1n2t1p2t1s2t1t2hvš2hvz2t1z2t1š2t1đ2t1ć2t1č2dj_2dl_2hvt2dr_2dv_2gj_2gl_2skb2skc2skd2skf2skg2skh2skk2skm2skn2skp2sks2skt2žmć2žmđ2skz2skš2skđ2skć2skč2skž2stb2stc2std2stf2stg2sth2stk2stm2stn2stp2sts2stt2žmš2žmz2stz2stš2stđ2stć2stč2stž2škb2škc2škd2škf2škg2škh2škk2škm2škn2škp2šks2škt2žmv2žmt2škz2škš2škđ2škć2škč2škž2štb2štc2štd2štf2štg2šth2štk2štm2štn2štp2šts2štt2žms2žmp2štz2štš2štđ2štć2štč2štž2spb2spc2spd2spf2spg2sph2spk2spm2spn2spp2sps2spt2spv2žmn2žmm2spz2spš2spđ2spć2spč2spž2svb2svc2svd2svf2svg2svh2svk2svm2svn2svp2svs2svt2svv2žmk2žmh2svz2svš2svđ2svć2svč2svž2špb2špc2špd2špf2špg2šph2špk2špm2špn2špp2šps2špt2špv2žmg2žmf2špz2špš2špđ2špć2špč2špž2švb2švc2švd2švf2švg2švh2švk2švm2švn2švp2švs2švt2švv2žmd2žmc2švz2švš2švđ2švć2švč2švž2ždb2ždc2ždd2ždf2ždg2ždh2ždk2ždm2ždn2ždp2žds2ždt2žmb2zbž2ždz2ždš2ždđ2ždć2ždč2žgb2žgc2žgd2žgf2žgg2žgh2žgk2žgm2žgn2žgp2žgs2žgt2zbč2zbć2žgz2žgš2žgđ2žgć2žgč2žgž2zdb2zdc2zdd2zdf2zdg2zdh2zdk2zdm2zdn2zdp2zds2zdt2zbđ2zbš2zdz2zdš2zdđ2zdć2zdč2zgb2zgc2zgd2zgf2zgg2zgh2zgk2zgm2zgn2zgp2zgs2zgt2zbz2zbv2zgz2zgš2zgđ2zgć2zgč2zgž2žvb2žvc2žvd2žvf2žvg2žvh2žvk2žvm2žvn2žvp2žvs2žvt2žvv2zbt2zbs2žvz2žvš2žvđ2žvć2žvč2žvž2žbb2žbc2žbd2žbf2žbg2žbh2žbk2žbm2žbn2žbp2žbs2žbt2žbv2zbp2zbn2žbz2žbš2žbđ2žbć2žbč2žbž2zvb2zvc2zvd2zvf2zvg2zvh2zvk2zvm2zvn2zvp2zvs2zvt2zvv2zbm2zbk2zvz2zvš2zvđ2zvć2zvč2zvž2zbb2zbc2zbd2zbf2zbg2zbh", + 5 : "2n1nj2zvdž2žbnj2žvdž2žvnj2zgdž2zbnj2zbdž2zgnj2zddž2zdnj2žgdž2žgnj2žddž2ždnj2švdž2švnj2špdž2špnj2svdž2svnj2spdž2spnj2štdž2štnj2škdž2šknj2žmnj2žmdž2stdž2stnj2skdž2sknj2ć1dž2ć1nj2ć1lj2đ1dž2đ1nj2đ1lj2dž1č2dž1ć2dž1đ2dž1š2dž1z2dž1v2dž1t2smnj2smdž2dž1s2dž1r2dž1p2dž1n2dž1m2dž1l2dž1k2dž1j2dž1h2dž1g2dž1f2dž1d2dž1c2dž1b2dž1ž2nj1č2nj1ć2nj1đ2zmnj2zmdž2nj1š2nj1z2nj1v2nj1t2nj1s2nj1r2nj1p2nj1n2nj1m2nj1l2nj1k2nj1j2nj1h2nj1g2nj1f2nj1d2šmnj2šmdž2nj1c2nj1b2nj1ž2r1dž2r1nj2r1lj2lj1č2lj1ć2lj1đ2lj1š2lj1z2lj1v2lj1t2lj1s2lj1r2sclj2lj1p2lj1n2scnj2scdž2lj1m2lj1l2lj1k2lj1j2lj1h2lj1g2lj1f2lj1d2lj1c2lj1b2lj1ž2n1dž2žbdž2n1lj2l1dž2l1nj2l1lj2šclj2j1dž2j1nj2j1lj2šcnj2šcdž2č1dž2č1nj2č1lj2c1dž2c1nj2c1lj2žnj_2žlj_2ž1dž2šnj_2šlj_2š1dž2znj_2zlj_2z1dž2snj_2slj_2s1dž2ščlj2vlj_2plj_2mlj_2ščnj2ščdž2flj_2blj_2v1dž2v1nj2p1dž2p1nj2m1dž2m1nj2f1dž2f1nj2b1dž2b1nj2tlj_2klj_2kj_2hlj_2glj_2dlj_2hvnj2hvdž2t1dž2t1nj2k1dž2k1nj2h1dž2h1nj2ž3vl2c3vl2z3vl2š3vl2č3vl2č3vj2d3vl2d3vr2k3vj2k3vl2t3vj2t3vl2g3vj2g3vl2g3vr2h3vj2h3vl2h3vr2ž3mj2ž3ml2ž3mr2z3ml2z3mr2š3mj2š3ml2š3cj2š3cv2š3čv2š3tj2š3tl2s3tl2s3kj2š3pj2š3pl2ž3dj2ž3dl2ž3dv2ž3gj2ž3gl2ž3gr2ž3gv2z3dl2z3dv2z3gj2g1dž2ž3bj2ž3bl2ž3br2d1nj_be4o_bi4o_ge4o2d1dž2g1nj2zvnj3r2je3r2đa", + 6 : "2c3vlj2g3vlj2š3plj2lj1lj2z3vlj2ž3dlj2nj1dž2h3vlj2š3vlj2ž3glj2nj1nj2č3vlj2ž3mlj2z3dlj2lj1dž2s3vlj2lj1nj2d3vlj2z3glj2ž3blj2š3mlj2z3blj2dž1dž2dž1nj2k3vlj2dž1lj2ž3vlj2š3tlj_a2d3j_u2š3č_u2š3ć_u2s3p_u2s3k_u2s3c_izr2k_ist2k_nag2n_u2z3v_u2z3r_u2z3n_u2z3m_u2z3l_u2z3j_u2z3i_u2z3g_u2z3d_u2z3b_o2d3v_o2d3r_o2d3l_o2d3j2t3vlj_o2b3r_o2b3j_i2š3č_i2š3ć_i2ž3đ_i2s3t_i2s3p_i2s3k_i2s3c_i2z3u_i2z3o_i2z3i_i2z3v_i2z3r_i2z3n_i2z3m_i2z3l_i2z3j_i2z3g_i2z3d_i2z3b4r3je_4r3jem2nj1lj_u3g2n3č2lan3c2mok3c2mač3h2tel3h2tev3c2mak3c2miz3t2mur3t2muo3t2mul3s2fer2s3klj3p2suj3p2sov3p2sič3p2sik3m2naž3m2nog3m2nož3b2det3k2než3k2nez3g2nev3g2mil3g2naj3g2miz3g2nos3g2noz3g2noj", + 7 : "3g2milj_u3s4rđ_u3s4rt3g2njev3g2njav3g2njes3g2njet3g2nječ3g2njil3g2njio_u3s4rp3g2njit3g2njur3b2djet3b2denj3k2njiž3k2njig_u3s4rn_u3s4rk_u3s4rž_u3s4ra_a4e2ro3t2mast_u3s4rd3t2mulj3h2tjev3h2tjel3h2tenj_u3s4re3h2teti3č2lanj_u3g2mi_za3g2n_be2z3j_be2z3l_be2z3m_be2z3n_u3s4ko_be2z3r_be2z3v_izd2no_be2z3b_be2z3d_be2z3g_be2z3i_be2z3o_be2z3u_izd2nu_izd2na_o2d3že_o2d3žv_o2d3ži_u3z4rn_u2z3nj_nag2nj_u2z3lj_be2s3c_be2s3k_be2s3p_be2s3t_ra2š3č_ra2š3ć_be2š3ć_be2š3č_iz3g2n_a2b3ju_i2z3lj_i2z3nj_a2b3la_a2b3lu_ra2s3t_ra2s3p_ra2s3k_ra2s3c_ra2z3v_ra2z3r_su2b3l_ra2z3n_ra2z3m_i3z4iđ_i3z4id_ra2z3l_su2b3a_ra2z3j_ra2z3i_ra2z3g_ra2z3e_ra2z3d_ra2z3b_ra2ž3đ_a2nart_po2d3j3g2nezd_a2neor_o2d3uč_o2d3um_o2d3ul_o2d3uk_o3d4rž_o3d4rt_o3d4rp_o3d4rn_o3d4rl_o2d3ok_od3g2n_od3m2n_o2b3ud_o2b3už_o2b3uz3g2nežđ_o3b4rč_o3b4rš_o3b4rt_o3b4rs_o3b4rn_o3b4rl_o3b4rk_o3b4rđ_o3b4rv_o2b3lj_po3g2n_na2j3u_i3z4un_na2j3o_po3r2đ_po3r2v_na2j3i_na2j3e_na2j3a_i2n3eg_i2n3ed_na2d3v_na2d3l_po3m2n_i3s4uš_i3s4ut_i3s4us_i3s4uk_i3s4rk_i3s4me", + 8 : "_iz4omer_i3s4luž_i3s4pav_i3s4pon_i2n3unk_i3s4pur_i3s4red_i3s4luš_i3s4tam_i3s4tar_i3s4tas_i3s4tać_i3s4tin_i3s4tir_i3s4tic_i3s4tok_i3s4tup_i3s4lov_i3s4lin_i3s4lik_i3s4led_po3m2nj_i3s4leđ_i2nokor_i2nogen_i3s4lab_na2d3lj_i3s4lam_i2n3obl_i2n3epc_na2d3oč_i2n3eks_i2n3ekv_i3s4koč_nu2z3re_na2d3um_na2d3uč_i3s4kin_i3s4kat_i3s4kak_i3z4upč_nu2z3už_na3j4ah_na3j4aš_na3j4ec_iz4ohro_iz4ohor_obe2z3b_obe2z3d_obe2z3g_obe2z3j_obe2z3l_obe2z3m_obe2z3n_obe2z3o_obe2z3r_obe2z3u_obe2z3v_i2n3art_obe2s3c_obe2s3k_obe2s3p_obe2s3t_obe2š3ć_obe2š3č_o2b3igr_o3b4jek_o3b4jer_o3b4jet_o3b4ješ_o2b3laj_o2b3lam_o2b3lep_o2b3let_o2b3leć_o2b3lež_o2b3leg_di2s3lo_o2b3liv_a2n3org_a2n3oft_o2b3luk_o2b3luč_o2b3oru_o3b4ran_o3b4rat_o3b4rać_a2n3orh_iz4ohit_iz4ohim_o3b4rem_o3b4res_o3b4ređ_o3b4reč_o3b4rež_o3b4rec_o3b4red_o3b4rij_o3b4ris_o3b4rit_o3b4rič_o3b4ric_iz4ohij_iz4ohel_iz4ohaz_o3b4rlj_iz4ohal_iz4ofot_iz4ofon_iz4otro_o3b4rok_o3b4ron_o3b4roć_o3b4roč_o3b4ruk_o3b4run_iz4otop_o3b4ruš_o3b4ruč_iz4oton_iz4oter_iz4otal_o2b3umi_o2b3umj_o2b3umr_o2b3ume_o3t2kam_o3t2kah_o2d3lj_iz4otah_iz4oste_o2d3arg_o3d4vaj_o3d4važ_a2n3oks_o3d4vis_o3d4vić_o3d4voj_o2d3igr_o2d3isk_o3d4jel_o3d4jen_o3d4jev_o3d4jeć_o3d4laz_o3d4laž_o3d4lag_o3d4luk_o3d4luč_o2d3ozd_o2d3ozg_iz4osei_o2d3ono_o2d3onu_o2d3ond_o3d4raz_o3d4rać_o3d4raž_o3d4rem_o3d4ren_o3d4ret_o3d4ređ_o3d4red_iz4orah_iz4opol_iz4ople_o3d4rlj_iz4oper_iz4opat_o3d4rin_a2n3idr_o3d4riš_o3d4rič_o3d4rib_o3d4ric_o3d4ron_o3d4ruž_o3d4rug_o2d3uvi_o2d3uve_o2d3uzi_o2d3uzl_o2d3uzd_o2d3uze_iz4onom_iz4onef_i3s4mje_iz4odoz_a2n3erg_iz4odin_a2n3epi_iz4odim_iz4ogon_a2n3ekl_a2nahro_a2nahor_a2nafor_a2nakru_po2d3oš_po2d3oč_po2d3of_a2nakol_a2nafon_a2nafaz_a2natro_a2natri_a2natre_a2natoc_a2natom_pre2d3j_pre2d3v_a2natim_a2nasta_a2nasei_a2nasar_a2n3arh_iz4ogeo_a2napti_a2napro_a2napno_a2napne_a2naple_a2napla_a2n3ant_a2naneo_a2namne_a2nalit_a2nalis_a2naliz_a2nalep_a2n3ald_a2n3alg_a2nakoj_a2nakli_a2nakla_a2nakef_a2nakat_a2nakam_a2nakal_a2nadoz_a2nadem_a2nagra_a2n3ago_a2nagno_iz4ogam_iz4obat_i3z4noj_i3z4nim_i3z4log_i3z4lož_i3z4loz_i3z4imi_i3z4grt_i3z4grn_ra2z3lj_i3z4vor_su3b4aš_ra2z3nj_a2nagen_a2nabol_a2nabio_a2nabat_a2nabaz_a2nabap_a3g2noz_a3g2nos_a2d3rog_a2d3ren_ra3z4ev_ra3z4ij_ra3z4il_ra3z4in_ra3z4ir_ra3z4it_ra3z4iz_ra3z4iđ_ra3z4ić_ra3z4id_a2d3lat_ra2z3od_iza3g2n_ra2z3ot_i3z4vir_i3z4vin_i3z4bav_i2z3aka_a2b3rog_i2z3aba_a2b3lok_a2b3lep_a2b3leg_i2z3daj_pro3g2n_iza3t2k_ra3s4pn_raz3g2n_u2s3tuć_u2s3tur_ra3s4rđ_ra3s4rd_ra3s4re_u2s3tum_u2s3trč_u2s3trć_u2s3trp_u2s3trn_u2s3trk_a2n3jon_i2n3jek_oda3d2n_oda3g2n_be3z4ub_be3z4up_i2n3jur_u3z4bor_u3z4van_u3z4vat_u3z4viž_u3z4voj_u3z4dic_u2z3igr_u3z4lan_u3z4lat_u3z4lim_u3z4lit_u3z4lić_u3z4lic_u3z4lov_u2s3trg_u3z4nak_u3z4nač_u3z4nič_u3z4nic_u3z4noj_u2s3tov_u2z3oho_u3z4ret_u3z4rev_u2s3teg_u2s3teć_o2d3žal_u3z4rnj_u3z4roč_u3z4ruj_na2d3že_za3t2ka_be2z3nj_u3s4kak_be2z3lj_u4s5kom_u4s5kov_u4s5koš_u3s4kup_u3s4pav_u3s4peh_u3s4pel_u3s4pem_u3s4pet_u3s4pev_u3s4peš_u2s3ter_u3s4pon3h2tjeti3h2tjenj3g2dekak3g2dekadni3g2de_ne3g2de_3g2njilj_u3s4rlj3b2djenj_o3b4rus", + 9 : "_o2b3ubož_su2b3inv_i3s4mije_i3z4vjed_i2n3just_inte2r3a_i3s4pira_i3s4plit_i3s4plić_inte2r3u_inte2r3o_i3z4vojc_inte2r3i_i2n3util3g2djekak_i2n3unda_o3d4vesn_o3d4vest_o3d4vesa_i2n3umbr_o3d4vikn_i2n3ofic_i3s4pupč3g2niježđ_i3z4gred_a2n3ovar_a2n3iridne3g2dje__o2d3isti_i3s4tavi_i2n3opse_i3s4taknni3g2dje__i3z4drav3g2nijezd_na2d3žup_o3d4laka_na2d3živ_na2d3žir_uza3t2ka_i2n3opor_tran2s3v_o2d3onl_i3s4tori_i3s4točn_i2n3oper_o3d4rani_o3d4rano_o3d4ranu_o3d4rana_o3d4rane_i3s4toča_i3s4trav_i3s4trad_o3d4rapi_a2n3izur_o3d4rapa_a2n3izom_o3d4rven_a2n3izog_o3d4rveč_i3s4tran_i3s4trić_i3s4triž_i3s4tric_i3s4trug_tran2s3u_nu2s3pro_tran2s3t_tran2s3p_iz4oanem_iz4oanom_be3s4tid_po3d2nev_i2n3okup_iz4obron_tran2s3o_tran2s3n_iz4oglos_o3d4ronj_tran2s3m_na3d4val_iz4ograf_i2n3efek_na3d4vij_na3d4vit_na3d4vla_tran2s3l_na3d4vor_na2d3igr_na2d3inž_na2d3ina_po2d3adm_a2n3este_po2d3vez_po2d3več_po2d3vež_po2d3vik_po2d3vil_po2d3vir_a2n3erit_na2d3isk_na2d3jah_po2d3voz_po2d3vođ_po2d3vož_po2d3vod_na2d3jač_a2n3ener_po2d3vrć_na2d3jek_po2d3vrg_a2n3elek_po2d3vrs_po2d3vuć_po2d3igr_po2d3izv_na2d3jez_po3d4jen_po3d4ječ_a2n3ekum_na2d3ječ_po2d3lep_po2d3let_po2d3leć_po2d3lež_po2d3leg_po2d3liz_a2n3eger_na2d3jun_na3d4lan_na3d4leš_a2n3alfa_na3d4lež_po2d3lok_po2d3lom_po2d3lup_po2d3luč_po2d3luž_a2nakron_po2d3okn_na2d3ora_na2d3oso_na2d3ose_i2n3elig_na2d3ofi_po2d3rad_a2nafila_a2n3afij_tran2s3k_po2d3ram_po2d3ran_po2d3ras_na2d3ran_po2d3rep_po2d3res_po2d3rez_po2d3rik_po2d3rit_po2d3ron_po2d3rov_po2d3rož_po2d3ruk_po2d3rub_na2d3rač_tran2s3e_iz4oklin_nu2s3pos_po2d3usm_po2d3usn_na2d3rep_na2d3ruk_na2d3ruč_a2nastom_a2nastig_na2d3rug_a2naspaz_i3z4olat_i3z4olac_i3z4olir_i3z4olov_a2n3apto_pre2d3id_iz4oleks_iz4oluks_na2d3žnj_iz4ometr_na3j4avi_i2n3evid_na3j4ava_na3j4ave_a2n3andr_na3j4adi_na3j4ada_na3j4ade_na3j4aži_na3j4azi_na3j4ako_na3j4aka_a2n3akuz_na3j4alo_na3j4ami_na3j4aml_na3j4amn_na3j4ari_na3j4arm_na3j4arc_na3j4ati_a2nadipl_na3j4auk_iz4omorf_na2d3ždr_na3j4edi_na3j4edn_na3j4edr_na3j4eda_na3j4eži_na3j4ežu_na3j4eže_na3j4ezn_na3j4ezd_i2n3afek_na3j4etk_va2n3evr_na3j4uri_i2n3aura_tran2s3c_be3z4bol_ra3z4ban_ra3z4bar_ra3z4bau_ra3z4bad_o3t2kast_ra3z4boj_ra3z4bor_ra3z4val_raza3g2n_pro3t2ka_iz4opsef_pro3t2ki_pre2d3že_iz4osint_ra3z4vit_ra3z4vić_ra3z4voj_ra3z4von_iz4osist_iz4oskel_ra3z4vrt_ra3z4vrć_ra3z4gađ_ra3z4grt_obe2z3lj_iz4oskop_iz4ostaz_tran2s3a_supe2r3e_i2n3apst_i2n3anic_i2n3amor_obe3z4ub_pre2d3ži_ra3z4laz_ra3z4lag_ra3z4lik_ra3z4lič_ra3z4loz_ra3z4lož_ra3z4log_ra3z4met_ra3z4meć_supe2r3a_ra3z4nat_ra2z3obl_ra2z3obr_ra2z3oba_supe2r3u3g2degod__a2d3verb_ra2z3ort_ra2z3oru_i2n3akce_ra3z4red_ra3z4rok_ra3z4roč_ra2z3uve_ra2z3udi_ra2z3uda_ra2z3udb_ra2z3uzi_ra2z3uzd_ra2z3uze_a2d3erac_ra2z3umr_i2n3akur_i2n3adek_pred3m2n_po3t2kav_ra3s4kak_a2b3uzus_ra3s4kin_po3t2kat_a2b3reak_a2b3orig_di2s3ton_di2s3pon_i2z3bija_i2z3biva_ra3s4koš_o3b4jesi_ra3s4paj_ra3s4pav_i2z3vedi_a2b3irit_a2b3erir_a2b3erac_a2b3evak_a2b3anac_a2b3alij_i2z3vedn_i2z3vedb_i2z3vede_ra3s4pon_ra3s4por_o2b3lakš_o2b3lask_iz4ohips_o2b3lizi_be3z4jak_ra3s4taj_ra3s4tan_ra3s4tat_ra3s4tav_i3z4rael_ra3s4til_ra3s4tir_ra3s4tis_ra3s4tit_be3z4jač_ra3s4toj_di2s3poz_i3z4rači_di2s3kur_ra3s4trt_ra3s4tup_ra3s4tur_ra3s4tuć_di2s3kri_di2s3kre_i2z3anal_u2s3treb_ra3š4čić3g2djekad_po3t2kam_u2s3tres_u2s3trep_na3t2kam_na3t2kah_na3d2nic_na3d2nič_o3t2kasm_na3d2nev_o2b3list_o2b3loka_po3t2kah_supe2r3o_o3b4ljan_o3b4ljut_u3z4vijo_u3z4viju_u3z4vija_u3z4vije_o3b4ljuz_supe2r3i_o3b4raže_u2z3inat_u2z3iskr_o3b4razi_o3b4razn_o3b4razo_o3b4razu_o3b4raza_o3b4razd_o3b4ramb_su2b3ord_o3b4ranj_i3z4bojk_u3z4neve_u2s3tral_i3s4kanj_nu2z3rje_o3b4rašč_u2s3traj_i3s4kvas_u2z3orat_u2z3orav_i3s4kvrč_i3z4vali_i3s4kita_i3z4valu_i3z4vala_i3s4kram_i3s4krit_u3z4roko_u3z4roku_u3z4roka_i3s4kriš_o3b4reti_u2z3ugar_o3b4retn_i3s4krič_i3s4kric_i3s4krat_u3s4klađ_u3s4klad_o3b4riv_i3s4kren_nu2z3bel_i3s4kroj_u4s5koko_u4s5kolu_u4s5kole_u4s5kopa_u4s5kora_u4s5kosi_u4s5kotr_i3s4krsn_i3s4krsa_u3s4palo_juri2s3p_i3z4vale_su2b3rog_i3z4vižd_su2b3rep_juri2s3k_u3s4pjeh_u3s4pjel_u3s4pjem_u3s4pjet_u3s4pjev_u3s4pješ_u3s4pent_u3s4pija_u3s4pije_inte2r3e_u2s3tvrd_o3b4ronj_u3s4pori_u3s4pora_u2s3tvrđ_u2s3tara_i3s4ljeđ_i3s4ljed_o3b4rova_a2n3opis_i3z4vija_su2b3oks_o2d3žalj_o3b4runj_raz3d2ni_i3z4vinj_po2d3vrž", + 10 : "_u3s4prema_u3s4posob_u3s4poreč_u3s4rijed_u2s3talas3g2djegod__u3s4poren_u3s4pikuš_u3s4pijuš_u3z4rijev_u3z4rijet_raza3t2ka_u2z3obest_u3z4nevje_u3z4ludob_na3t2kasm_na3t2kast_ra3š4ćenj_ra4s5turč_ra3s4troj_ra3s4tret_ra3s4trel_ra3s4tinj_ra3s4tenj_ra3s4prem_ra3s4prav_be3z4bedn_be3z4beda_ra3s4plin_ra3s4pinj_ra3s4piku_ra3s4pete_ra3s4peta_ra3s4peto_ra3s4peti_ra3s4krop_na2d3žanj_be3z4beli_be3z4vučn_ra3s4klon_ra3s4klad_be3z4vuča_ra3s4klap_ra3s4kand_ra2z3ular_ra2z3orav_ra2z3orat_ra3z4mrsk_ra3z4vrać_ra3z4vrat_ra3z4vije_ra3z4vija_ra3z4viju_ra3z4vigo_ra3z4vest_ra3z4vede_be3z4lobn_ra2z3anal_be3z4loba_be3z4račn_proti2v3r_be3z4rača_tran3s4ud_tran3s4um_tran3s4ep_tran2s3nj_be3s4porn_be3s4pora_be3s4tvar_be3s4tija_be3s4tilu_be3s4tilj_be3s4tras_pre3t2kat_pre3t2kam_pre2d3ruč_pre2d3rad_pre2d3rač_pre2d3rat_a2n3amert_pre3t2kah_pre2d3ose_pre2d3osv_pred3m2nj_i3z4bojak_pre2d3obj_i3z4valji_i3z4vijen_su2b3junk_pre2d3izb_pre2d3igr_pre3d4jen_pre3d4vos_pre3d4vor_i3z4vitop_i3z4vojac_i3z4gomet_i3z4ježlj_pre3d4var_pre3d4vaj_po2d3upla_po2d3ruča_po2d3ručn_po2d3ruči_po2d3ranj_po2d3razu_po2d3razr_po2st3onk_po2st3lim_a2n3afrod_po2d3ravn_po2d3ljut_po2d3list_po2st3egz_i3z4lopać_iz4okolon_i3z4railj_i3s4konsk_po2d3lakt_nu2z3ljub_po2d3vris_po2d3vrać_po2d3vrat_po2d3vlaš_po2d3vlas_po2d3vinj_nu2z3bilj_o3d4rinj_o3d4rvenj_o3d4rači_o3d4raplj_i3s4krenj_o2d3i2z3v_o3d4vikav_o3b4rovc_u3s4premi_o2b3lizav_o2b3lizat_di2s3akor_di2s3junk_di2s3kval_di2s3kont_di2s3kord_o2b3leden_o2b3lijeg_o2b3lijež_o2b3lijet_di2s3orij_i3s4lijeđ_o2b3lijep_inte2r3je_di2s3prop_o2b3istin_di2s3trak_i2n3abrup_i3s4lijed_obe3s4tij_obe3s4tan_obe3z4nač_i3s4pokoj_i2n3aplik_obe3z4nan_obe3z4vij_i2n3augur_na3j4uren_na3j4esti_na3j4avlj_na2d3udar_na2d3real_na2d3rašć_na2d3rast_na2d3osje_na3d4voje_na3d4vest_na3d4vesi_i3s4polin_i3s4porav_i3s4pravi_i3s4točnj_i3s4tifan_i3s4tavlj_i3s4prava_i3s4pravk_i3s4pravn_o3b4rašn", + 11 : "_i3s4pravlj_iz3be2z3um_u3s4porenj_obe3z4nanj_i3s4paljiv_obe3s4tran_inte3r4egn_inte3r4esi_inte3r4esn_inte3r4eso_inte3r4esu_inte3r4esa_inte3r4ese_ra3s4polož_inte3r4ije_o2b3istinj_ra3s4plinj_di2s3parit_i3s4kuplja_o2d3i2z3d_po2d3varij_po2d3lakat_po2d3lijep_i3s4kariot_po2d3lijet_po2d3lijeć_po2d3lijež_po2d3lijeg_po2st3indu_po2d3ravnj_ra3s4klopa_po2st3oper_pre3d4vest_pre3d4voji_pre3d4voja_pre3d4voje_pre2d3ispi_pre2d3isto_i3z4viiskr_pre2d3istr_pre2d3odre_be3z4bjedn_be3z4bjeda_pre2d3okus_pre2d3osje_pre2d3ubeđ_supe3r4ior_ra3s4klopi_va2n3ustav_bes4tseler_ra3s4klanj_be3s4trana_pre2d3uver_be3z4istan_be3z4isten_pre2d3ugov_pre2d3udar_pre2d3upis_ra3z4bašur_pre2d3uslo_a2n3a4e2ro_tran3s4kri_proti2v3ud_be3z4načaj_proti2v3us_proti2v3of", + 12 : "_iz3be2z3obr_be3s4krupul_proti2v3otr_proti2v3akc_be3s4pokoja_pre2d3uvjet_pre2d3uvjer_pre2d3ubjeđ_iz3va2n3evr_ra3s4kloplj_be3s4pokojn_i3z4bleušan_po2d3ra2z3d_inte3r4ogat_inte3r4eždž_be2z3atomsk_u2z3obijest_i3z4bičkava", + 13 : "_be2z3alkohol_pre2d3ubijeđ" + } +}; \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/patterns/sv.js b/alt-implementations/readifry-master/hyphenator/patterns/sv.js new file mode 100644 index 0000000..010e3c7 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/patterns/sv.js @@ -0,0 +1,17 @@ +// Swedish hyphenation patterns by Jan Michael Rynning, jmr@nada.kth.se +// Patterns modified for Hyphenator by Andreas Johansson, andreas@ibuypink.com +Hyphenator.languages['sv'] = { + leftmin : 2, + rightmin : 2, + specialChars : "åäöé", + patterns : { + 2 : "c21df21hx12y", + 3 : "_b4_d4_f4_g2_k4_l2_m2_n4_p4_r2_s4_t4_v2_x2a2ba1ja1oa1t2aua5å1b23ba4bb3be3bib3k3bo3bub3v3by3bå3bä3böc3c1ci4ck4cr4cs1cy3da2db4dc2dd3di2dj3do4ds3du3dy4dz3dödé4e1a4eb4ece2de1ee1fe1ge1me1o2epe1v4eä3faf3d3fef5h3fi1fl1fo2ft3fu4fv5fy1fä3fö2gb2gd2gg2gh2gl4gw3gyh5c4hdh3gh2ih1k2hl2hm4hnh3ph1s2hth2öi1ai2di1gi3ii1ti1ö1ja2jb2jd1je4jh1ji4jk2jmj2o4jp2jt5jé2kb4kc4kjkl2k2o2kskv41le2lh1lil1n2lv3lé1ma2mb2mc2md1me2mh1mi1mo4ms1na2nd1ne2nh2nk1no4nsn5zo1ao2bo2do1eo1go1io1jo1ko5qox5oy2o3åo3ö1pa2pc2php2jp2l1po2pp2ps1pu3péqu41ra2rb1re2rh4rj2rk2rsr3w1sa4sbs2c1se2sh1si2sm1sos2t1su1så1sä1sö1ta2tc2th1tit2j2ts2tt2tv2tz5téu1au2bu2du1eu3ju1ou5uu5åu3ö1ve2vhv4i1vo2vs3vy1wawe2w2hxk2xs4y1ay2dy1ey1iy5wy5å1za1ze1zi1zo4zpz5s3zuå1aå1eå1få3iå1må3oå1på1vä1aä2b2äcä2dä3eä3i4äk4äs2ätö1aö2dö1eö1iö1vé3e", + 4 : "_a4b_ac3_a4d_e2s_ex3_ib4_ik4_o3o_o1u_sk4_st4_u3k_up2_y2a_y4ea5beab1la5buad3jad2sa5eda1gaa1geag1la4hjaib4a3iva3kaa5kea1kiak3na1koa1ku4aköa1laa4lja1loa1lua1lyam4iam1sa3möan3ca1nua5nya3nöa1pea1piap2sa5pya5pä2ara1arb2arha1ri4arla1ro4arp4arua3rya3rä2asaa1scas2has5la3suas3va1sya2söa5tea4tja2trau5b1avgav3rbbb4bb3l4b3dbe5ebe1kbe1sbe3u4bex2b3f2b5hb3je4b3m2b3n5bonbo1sboy54b3p3bry3brö4b3sb4spbst44b3tby5r5cap1c4e4ch_4chtcim2c3kac3kec3kick5jck1lck3nc3kock3rck5äck3öco2aco4m5da_2dak5dam4daxddd4d3djdd2s3d2ed4en5derde2sd4et4dex2d1f2d1gd3gl2d5hdi1o4d5l2d1m2d1nd2ol5dondo3y2d1pd2sed4sfd2sid2sjdsk2ds1ld2sod2suds1vd2sö2d3t4dupdu1s4dut2d1vd3vr2d3w5dåg2dås4dåt4dägdä2r4dög4döpe4ame2bre3che3coed3je3dåe2ede4eief4se3gae3geeg1legs3e5gåeig2e3ike1ine1joe3jue3jäe5jöe3kae1kie1klek3ne1koe1kue1kye1käe1lae1loel3p2enj2enye2ogeo4ie5ore1pee1pie1prep3se3påe1rie1roerp4e1rue3rye1räe1sc2esees2ke1sle1spes2ue1sye5tie1toet2se1tue1ty2etze1täeuk44eure4vjev3r3expfac44fav4f3b4feffe2l4fex2f1ffff4ff3lff3nf3foff3rffs4f3fäf3g22f3k4f3mfma44foffol24f3p2f3sfs2kf4slf4smf4snf4spf4stf4svf3taf3tif3toft5tft1vg4av4gaxge2a2gefg4emge2o2g1fg1gag1gegg5ggg1lg4gu1g2igi1o3givgi2ög2jog3jä4glj2g1m2g1ng2no1g2o3go_3gol2g1pg2r4g4rå2g2sg4sfgs1lgs1mgs3ngs3sgs1vgs1ä2g1tg3tr1g2u4gug4gup2gut2g1v1g2åg4älg2ärgä4s1g2ö4göghav24hirhi4th4leh2na4howh5ruhu2shä4shö2ghö4sia3gi3cai5coid1rid2si3dåi4dö2i1ei5fni1frig1li1kiik3ni1koik1vi3kyi3kåi3köi1lail5ki1loi3lui5läi1mui5måi3mäi5möi3niin5ji1nui1näi5oci1ogi3oki1oli5omion2i1opi1ori1osi1oti1pei1pii3rai1rii1roi1ruis2hi2skis3mis3nis5vi3syi4såit5ci4tj4i1ui1vai1viiv3riv2si1våix2tjd3rj4duje2a5jef2j1f4j3g4jinj4klj3kojk3v2j1l2j1n3job3jouj5pl2j3r2j1sj5saj4skjts42j2u4jur1k2a3ka_2kafka3i2kak2kap3kas4kau1k2e3ke_2kepke2s4kex2k1fkfö22kh44kif1kigk3jä2k3k2kle2k1m2k2nk4ny4koc1kom1kon1kor2k1pk2r4k2sok2su4k1tk2tr4kug3kusk2vek4vok1vå4kög3la_2laf2lak2lau2lav2lb44l1c2l2dl3dj3le_2lex2l1f2l1gl2gjlgs43lif3ligli1o2lip1ljul5jål1jä2l1kl3kel2kll2krlk3tl1lalld4ll3kll1ll1loll3pl1lull5vl5ly4l1m2loml1pel1pi4l3r2l1sl2scl2skl4sml2spls5sl2stl2sul2svl4så4l1tltu4lu5i2lunl1val1vil1vä2lå_4läc4löl4löm3lön1lösm4dim4domeu42mex2m1fm4fnmis22m1k2m3l2m1nm4odmo4i2m1pm2plm4på2m1rms2m2m1t4mud5mum3mur2m3v1mynmåg44mårmå1s4mägmäk31män1mäs1mät3möj3mös4möv3na_3nad2naf2nak2nb42n1cn2chn5de3ne_2nex2ng1n2gin2go1n2i4nid3ninni1o4nip2n1jn3jän1kin1kon1kun1kö2n1l2n1m2n1nnn3dn3nenn3k2n1p2n1rns2ins2k2n1t4nug3nui3num2nup2n1v4når4nä_4näc3näm3nät3nöj4nölnös4oby4o3däo4flo3fro4gjo4gäo4ilok3no2kvo1la1oljo1loo1luo1lyo1lä1omron3con3jo1nyon5åo1näo3nöoo4do3oro1peo1pio3på4orao1ri4orko1roo1ruo3ryo1räo1röo1too1tuo1tyo5tåo3täoun4oup44ourou4so1vao1viov3ro1väo3weo3än4pafpag43pappa3u2pb44pem4pex2p1f4p3g1pigpi1o3pipp3lj2p1m4p1np3ni5poa2poc2pofpo2i3pos4povp3pep1pipp3jpp1lpp1rp2pup5pypp3åp2r22pra3pro4prå4psop2sö2p1t4pug2p1v3päl4pör3que3ra_2rak3rarr4as2rav2r1c2r2dr3djr3dår3dä3re_re3b4recre3o4rex2r1f2r1g4ribri1or3jor5jur5jör1kirk3nr1kor1kur1kä2r1lrld22r1m2r1nrn1krn3tro3b2r1pr4pö4r1rrrd4rr1sr1spr1svr1sy2r1trt3t2rut5ruö2r1vry5o4rål4räm4räs2rögr3öi4röp3rör3sa_2safsa3i2sap2sau4s3dse2gsem22s1fsfö2s5hö5sie3sik3siosiu41s2j4sjn4sjts4ju3sjö4sk_4skhsk4i4skl4sknsk3s2skt2skv1skå2sl2s2lus3mjs4nå3soc2sod5soi2som3son3sots2p21spe4spls3ps3spö4s1r4s1sss2kss1lsss4s2sv2st_st3c2stj2stmst3t4stv1sty1stå1stä1stösu4b3sugsu3i3sum2sun2sup5suss2v24syk5syl3syn3syssyt25såg4såks4äds4äl2säp5säs3sät4söd2sög4söl4söp3ta_tat22tav3tax2tb43t2e5tec4tegte3i4tej5tib3tidt2il3tisti2ö4tje2t3l2t1m3tokt2opt4ov2t1pt2r42tra2tri5trét3sets2kt2sotss4t1stt2sut5syt1tot3tutt1vt3tyt3tä5tuöt1va4tve3typ5tys3tågtås44tåt4täm4tög4töpu4bou5clu5deud3ru4duu4dyu2esu1geugn4u5ieu1inu3isu5kiu4kluk3nu1kouk2su3kuuk3vu1lau1lou3luu1läu1löu1muu5nuu1peu1piu2plu3reu1riu1rou5ryu3seus3nu2spus3vu4såu4säu2sö1utbut3ju1tout3r2uttut1vu5ty2u1vu4vju4vä5vap4vau4vav2vb42v1c5vecve2k4vepves42v1f2v1gvi4c4vjo2v1l2v1m2vomvos42v1p2v2rv3ruv4scv2sov1stv2sö2v1t4vut2v1v3vägvä4l2vät3väx4vög4vöp3vörwhi2wi2ew4naxis4xli4xti2x4tåyb4sy4day4doyd3ryds4y4duy4döy1gay1gey1kiyk3ny1koy1lay3liyl5ky1loy3måy3ory5ouy1pey5poy1riy1roy1toyt5vy3vay3viy3väå3djå1gaå1geåg3lågå4å1kiå1laål3kå1läå2plå4pöå1riår5öås3nåss4ås4tåte2äd3rä1gaä1geäg1läg3rä5joä1kiäk3näk3rä1laä4noä3peä4prä1riä4såä3toä1vaä3viä5vuöd2sö4duö4döö1ga1ögdö1geögg4ög1lög2n1ögoö3joö1kiök3nök2sö1laöl2pö5läö3peö3piö4prörb4ör3gö1riör1uör3yör1äös3növe4ö2vj", + 5 : "_ab5i_ab3r_a3dr_ad3s_a5kl_a5le_a3lu_a5mu_an5s_ap1p_as2k_as4t_a5ta_at3t_bo2k_cis4_där3_ek1v_e4nä_es4t_e3tr_gus3_he2m_im3p_i2n1_i4na_in3d_ink2_in3t_i3so_ner1_no4n_ok3t_o3kv_o2ma_o2mo_o3mu_on4k_o5sc_o3sl_o3sv_o3tr_sa2k_si5o_sjö1_ta4k_ti3o_u4ra_ur3s_u2t1_u4ta_ut5s_vä2g_ång3_å3st_ä3ro_ö3roab4buabe2sab3laab4scab4ska5daga5deka5delad5epad3opa3dread3ruaf4fo3affäa2ge_ag1grag3roa4gurak3vea5kårak5åta2linal2kval4käal3låal3tral4tual4täalu5salv3sa4mafam4pram3åtanci5a4nefan3gian1graniu4ank3rano2ia4noka4nopan4sjan1stan4tja2pe_ap3seaps5laps3papu5s4arbi2arbo4arbrar3drar3kaar5kr4arn_a2robar2saar2sva4rura5rusasbe4a2skoa4skras3kuas3paas2skas2spas2stas3taas3toas4tra4sulas2uta2s5åati5öat4tjatt3saut5s2a1va2a1vi4a3väba4diba4dobak5lba4koba4kub4bakb4b3rbb4so4beldbe5lube3lybe3låbe5löbeng4be3nåbe1röbe3slbes5sbe5sube3trbe3tvbi3d44binvb5larb5latb5len3bles5blidbo4grbo2klbo1mubo4sc4brarb5scebs3chb4sofb4stjbång3båt2sbör2sceu4s3chau3chef5chocchäs3chör4ci4lucipp4ck4reckus2ck3vack3veck3väcle2acros24dadrdags35dakoda3lida3må4d1ap4darb4dartda4trdat5tdcen3ddi4sd4dosdd3radd3redd3rid3drädds3vde1k44deko4deldde3prder1kde2rode4rude3sede3spde3trdias4di5eldi2grdi3kadi5ku4dinf4dinr4dins4dintdi4oddi3scdi4sjdis1pd3jor3djur2d3k2do5lo4domr4dori4dortd5ost2d2r2d3rad3drejd3ren5dresd3retd4ric3drifd3rigd3rind5rocd3ror4drot5dränd3rätd5rödd3skids3klds5knds4mod4småds5nåds3plds3s4ds4tedu2scdu5södu4vudy4rodöds1d5öste2akeecis4edd4redi4ued1skedso4ee2k5e4en_e4ene3efteege2le5gruei5gnei5she1iskek4leek5roe1kve3eld_el3k4el3liell3sel3läe4lobel2siel5uge5luv2e1läe5mate5mise2naven4cee4nede4neken3knen5kren5käeno2men3siens2men2spen4såe5nus2e1näe3plaep5leep4trepu3ber1ak4eraser3d4erg4ler4gue5riberlä4er5nae3robe2romer3raer5scer3sler3sve5rume5råde2sales4hiesi4ues2mies3ples2skes2stes4tre3ståeta3beti3öe5träets1lets3met4svett3ret4vaet5vuetäc4e5um_e5up4ext4r4fans4farbfa3shfa4stfa4töfi2brfi3lifi2tifolk12f5omfo2nafra2mf4rerfre4sf4ri_5fritfrån5f4taff4takf4tapfte4rf4texf4tinf4t3rft2saft4sjfts4tfu5rufu3tufy4mafå3töfö2rafö2riför3kfört4för1öga5br3g2ag4gakt3g2alga5läga4no2garb4garmga2ro4gartga4stga4sugaus4g3d4rge5b42ge4jg2eligel5y3gelägen5g3genj4genm4genvge5ny3genä5gesege4toget5sg4gapg4gosggs4mgh4tegi5sn3gjor2g3k2g1larg2lasg4lidg4lög5glömg4nag4gont2gord4gorm4gortgo3sl3graf5gral4gras5grecg3rig5grip3grisg5roigro2v4grum5grå_grä4ngs1ang3selgsi4dg3sjugs4kigs3kng3skyg4smegs4nigs4nögs1orgs3plgs3pogs3pugs3tjg4suggs3vigs3vågs3ytguld34gulägu2magu5rugus4kg3utbgö5roha3blha5geha4liha5raha4scha4sphas3thavs3he4athe4frhe4lähets1h2nitho5nuhop3shos3phyg5rhys4thäll2hä4rihög5ria3fria4luia4skia3tri2b3li4ce_i5chaid4gei4domid3roids3vi4dunifes44igani2gebig5ejig3noi3kloik3rei3kuli3kumi2linil1jö3illuil2tji4lupim5smim4soi4nau1induin4gai4nif5inre1inri3inräin3slins4min3snin5te1intrint3si4nunin3ymio4krio5lii3onoions3ipos4ip5pii4resirk5liro3pi5sceisel4is3kuis3kyi2s3pis3sais3seiss5nistå4i4teii4texit4tui2t5åi2vaki4vinix5tu4jarbjas5pjo4kr4joljjo5löjs4mejs4tejuk3sjul3kjuss4jus4tjä5lojär5sjör2sjös4t3kad_ka4dr5kafäka5ju4kalf4kalg3kamp3kamr3kan_5kano3kapi3kar_ka3ra4karbka5ri4kark4karp4karvka4sk3kat_2k3d4kdom42ked_2kedake3drked4ske4er2kefu4keldkels4ke5nå3kernkes3s2k5g4kid3skik4skilt45kimå4kins2kintki4nuki4trkiv3s5kjol1klag2klat5klavk2lej2kligk2lim3klipk2lis3klos1klub4kluk1klädk4nal5knip3k4nuk5nykko5dek5odlkog3nko4gr4kola4kolj3komm5kompkom4s3konf3kontko3nu3korgko3ri2korrko3sl3kost4k3ou3kraf1krig4krivk3ryg4krälk3rätks3chk4serks2k4ks3klks5kvk3skäk3sköks2lik5slyks3plk1s4tk4texk2todk2tomkt3rekt2stkt5t4k4tugk2tutk4tälk5ugnku5la4kuld3kulö5kunnku4ro3kursk1vär3kyrkkäl4m5kämp5känn3käns3kärl5köp_kör4l2ladm4ladr5lagmlag3r5lakila5lo2larb1larnlar5s4lartlas3h4laskla4st1lat_la5trla5vuld3ral5dryle5igle2klle4kv3ler_ler5k3lernle5tåle3umle4vul3g2llg5stli5chli4golig3slik2llik3s2lind2lini5linj2lintlis3cli4volivs1l2jak4l1jol3jörl5kjul5kläll3drlle5bll2sell2soll3trll5unl5lödllör4l4mollm3stlo2af4lodllo4do2lolj4lord2lorglor4slo4vol4pakl5plalp5lölp4stl4sjol4själ3skilsk3nl3skyl3skål3skäl3sluls4mol3spels3pll3stals4tel3stol3styl3stål3stäl5stöl5surl4svil4tefl4tifl4tihl4tosl4trölt5sklung32lupplu4pu4lutb4lutsl4voslv3rilv3splväv4lyg3rlåg3s1långlå4skläg5rlä4splö4väma5frmag5nmag5sma5jumak3rma3limand4ma5nimash5mas4vmb4skm4datm3d4r2medsme4dume4klme4ko4meldmelo5me5lumen5kme5nume5nyme4somes4t2metam4fes2m1g4mid3smi4lu2mind4mink4minvmi3nömi5sfmi4spmi4tr2m1m2mme5dmm3s4m4mulm2namm4navmn5drmn3g4mn5stmn5tum2n3å2momrmo3namos3kmo2tamo4tumot3vm2pakmpos4mp5p4mps4kmp5spm4salm4skems3lämste2m1stom2strms5äp3musi1mål_5mån_mäns43märkmö4blnads3na5gr3nako3nakrn1akt2nalf4nalgnal3sna2lun5amb5namn4nanv2narb2nark4narm2nartn3chan3chen3chincis4n4dakn4davnd3d4nde3sn4dilnd3rind3snnd5åsne4di5nedlned3sne4döne2gr4nek_ne5ly4nenlne1ut2n1f4nfis3n4garn4getng3igngi4sng4lyng5omng3orn4gröngs1kn4gödni5ecni4kini5lin4jarn3junnju4sn3knynk3rin1kronk5slnk3spnnis42nodlno4kl2nolj2nomr2nord2norgno5sano5scno4tun1skin4socn1spins3plns3pons3s4n1svans3vin4trönts3cnt4sen4tutn3tvån5ugnnums5n3upp2nutbny5gr4nög4nö2janö5kro2ard5o4bjo4blioc3kuode4kodi4a1odlio3droods4kod2sto4gavog3gro5gloo5glyo4grio4gröog3seo4kliok3slok4suo5lakol5auolfö4ol3kaolk3rol4kuol4käol3läolm4soln3sol4saol4tåo4lugo4lurol5åro3menom5paom3pl4omraom1skom4trom3tvon5gion1gron1k4ons3cons3mont4soom5sop4plop4prop4puo3priop4sto3rako2rap1ordno4reh1orgaor4gror4gåor4möor4nuor4näor4plor5pror5teor2trosk4lo3somos4skos4tr4oti_4otie4otino5troot3svot5tiott2so5tunou3röova4nov4siov3slpaki3pa5lapals5pa5lä2parb4parmpar3s2paskpa2st3patr2p3d44peld5peng3penn3perspi4elpi5so3pjäs4p3k2p4lacp3lev3plex3plic1plik4plit1plomp3lop4poljpoly32porgpo4väp4paxpp3lapp5lupp3lypp3läpp3löpp5ocpp3ofpp3p4pp3rapp3ripp3rupp3rypp3räpp3tr5prax1presp3rigp3rik5prilpro3gp3ror3präs3prövp2salps2lip3snap3sodp1s4tp3tri5pung3punkpus3tpå3drpä5ro4radrra4du5ra1era3frra5isra2lora3plr4ar_4rarbr4are4rargr4ark4rarmr4arnr4ars4rartra5röras3hra2stra5yor4dafr4dosr4dulr4dös5recore5du4reft4reggre1kr4reldre3lurem5p3remsr4en_2reni2renk2renlre3nö3rer_3rern3reso3ret_4retyre5tårg3g23rial3rifi2rifr3rifu3rigtrik2sri4mo2rind2rinr2rins2rint3riotriv3sr4jisr4kekrkes3rk2ler4klörk4ner4kodrk3trr4kupr5körr5lavrlds3rl5spr4milrm5trrnal4rn3g4r2nomrns4krns4tro2kr2roljrom4aron4vro3plro4ra2rord2rorg3rornro4snros3vro5ter4plörra4nrres4r5ribrr5k4r4robr4romrrs2kr4rurr4sexr2sinr1skir2skur3skör4sler4slors4mors5när2splr2spors3s4rs4ter1storst4rr3stur2svär2tafrt4anr4tomr3trär4tutru3brruks13rum_runn24rupprus2hru4virv4sjrå5rarå3st4räkträs3sräv5sröd5rröd3srök3srör4srö4str1övr3sad_3sade4sadjsad5ssa5lo3s2amsa2ma4sang2sanl2sarb2sarm3sarn2sart4sarv4sass5sat_sa4tus3auk2s1av2sch_1scha4schb1schi4schk4schm4schp3schy3schösci3p3seglsek3r3sel_se5ly3sen_3set_2sexp4s3g2shi1ssid5s3s2ig4sinrsis4t2sjak5sjuk4sjur2ska_s4kags2kal1skap4skar4skass2kats4kav4ske_3skif5skin5skiv3skju1skol1skot1skris4krus3kups4kve1s2kys4kyns4kål4skår4sla_4slass1lats2levs4lic4sliss2lits5lors3lucs3luf4slus3slut3slå_s4läks5läms2läts2maks2mals2mids2mit5smug5smygsmå5gsmå3ksmå3s3smäd3smäl4smäs3smör2s2n43snabs3nams5ner3snib3snil3snits3niv3snut5snår5snäcs4när3snö_snö5g3snörsnö3s5sock2solj5sommso4pu3sor_2sord2sorg3sorn4sott4spas4sped2spen2sper3spirs1plaspli4s5plä4spre2spros3pry3språ1s4på3spån3spår5späns5sads5silss5klss2läss2löss3nass3vi4sta_5stacs4taf1stau4stea2stia2stib2stid2stil1stits5tju5stoc1stol4stom1stru2styp4ståg5stål3stäl5sun_5sunes5ung5supasu2pu2s1utsu4tosu4tr5svam4svap4svass3vat4svec3sven5sveps5ves4sviss5våds3väss3vätsyn3ks3yrksys4tsy5thsång34sätas5ögasö4kosör2sta1ch4tadi2taff3taga5tak_4talf4talv3tame3tami3tan_4tanl3tar_4tarb3tarntars44tart4tarv4task3tasttats32tatt4tavetav2st3chat3che2t3d4te4aste3b4tej2ste4kl4teld5tema4temote4mute4nä5ter_5term5terster3tte4ru5tes_5testtets34texa2texp2t1f42t3g4t4hen3tial5tici5tideti4du4tidöti4ed3tighti4goti2gr3tigttik3l3tiks5tilj5time2tind2tinr2tintti4od3tionti2os4tisc5tisk3tiva4tjob2tjou4tjäl4tjäm3tjän2t3k22t5n4tne4r4todl4tol_4tolj2tomr4toms4torm3torntos4kt4raf4trar4treg4tren2troct4rogt4rup1tryc4tråk5trä_3träd3träf3träg4träkt4ränt4rött4segts4ent4sext1skits3klts3nät3snöts3plts4tets3tjt3sudt3tact4taut4tedt4temtte2nttes4t4text4tiptt3jatt3rett3ritt4rytt4sett2sit4tugtt4våt3tör2tund5tunn2tupptu5re2tutbt3utvt3utötu4vut3vigt3vit3tvivt3våg3tvånt3vänty5da5tyg_ty3pi4t5äg4tärm3tävl4tö4dtö5detö4piub5alu3chau4dakuds4auf4fäuf4to4u1gaugg3sugns5ug3s4u2kebuk5laukos4ukt5suk4täul4diul4duul4döul2trum4fäum4soums4tu3mörund3run4dåung3r3unifunk3lunk3nun4krun1skun4tr1uppgupp3sup5utur5aku4robu4romu2sakusen3u2s1kus3kaus4kru5skyus4kåus5läu4ståu4stäu4taku4tefute3sutik2u5tiluti3öu3toputo5sut4ro1utruut3slutt4jut3övu2vak1vagnval3k5valv5vama4vanp2varb4varkvar2sva1ru5vavi2v3d4ve3ke4veldve3nyve5növer5g3verkve1st3veta3vetevid3svil4tvi2novi5ny3vis_vi5savis5hvi4stvi2tr2v3k22v1n44vok_4vord2vorg5vrakv1s2kvs4miv3snivs4tevs3våvu4d1v1und4v5up5våld3vård4vårivå3ru3vänl4värj5värky5danygg3ryg4gåygs4pyl4gjyl5läyl4trym2flyng3rynk5lyn4sayns4typ3riyre4syr4kuyrk5vyrs4kyr5styr5tuy1rå3ys2stys3tays3tiy2taky4te_y4teaytt3rze4roz4zinåds4låge2låg3stå2linål3stånd4rån4duåns4tåns4vå5plaår4doård2så4relå5rorår2svås4keåt3riå3trååt2sjått5säck5vädd3säd4duäde4säd5seäd3stäg4goäg4reäg3seäl2tuämp3länd3räng5ränn3säns1län4stän4sväpp3läp4stä4rapärg5lär4grärib4är4käär2nåär4nöär5obä5rolä3ropä5rorä5rosär2siär2soär4spär2svär2trärt3säs3paäs5piäs4skäs4späs3taäst3rä4stää5treät5teätt3rät4tuät4tvä2vakö4dakö4dalö4disöd3raöd3seög5akö5garö5gerögn3eög3siög3sköj4svök3slöl4kvöl4kööman4öm2klö4nalö2nomön4soö4pelöp5liö5plo1öppnö3rasö3resö3retö5rigör5irör5ivör3olör1orör3slör5teört5sör3vrörö4dö2sakös4sjös2skös4spös3taöst3vö2taköt4stöver1öv3raöv3riöv4sk", + 6 : "_ab5ol_a5gre_al4pr_am4br_amp3l_an5go_a3sti_au3st_a4val_av3s4_bak5s_ben5s_bort1_e3l4a_en5st_e2r3i_evan5_feb3r_fram3_fres5_för1a_gu4lä_hu5sa_in3s2_is5ka_ko5li_köp5s_lak5r_lu2st_me4re_mon2s_mån3s_må4st_nöd5r_oc1ku_om3s4_ord3s_o1s4k_re4gr_runs4_rym2d_röve5_seg3r_sta2m_sup3p_ta3bl_tak5l_tig3r_til4l_tre3s_trä5k_ult5r_ung2e_var4t_ved5s_väg3s_år4s5_åter1abel4sab3ortab5ricab3rioac4kesac4kisack3ska5dran1adresad3ril1af3riaf4toraga4raag5orda4kartak5ramakri5sak3robak4sta1aktigak3trial5admali2bra5lin_a3lineal3insalk3akall3stalms4kal5ortals5paana4boan3alfan3arkan5dakan4dunan4dänang4esan5sceans5kuans3lian4stoan4styan4treape4n3ap4lanapps4kap3ricap3rifa5prisa4ranna4rarvard5sta4rendarg5siar4nalarsk5lar4troarts5par4turar4vägasis5tas3kisas3pigass5upas5terasti5oas5töra4sundata5raa3tral4atrara4t3reat3riaa3tricat3riea5trika3trisa3t4roa4tro_at4ska1attacat2takat4tosa4tungau2t5a3automa4vartbad3s4bank5lbas4taba5stub4battbb4lerbe3d4rbe4stabe4stebis3kobi5skvble4mo5blera3blikr3bliksbor4tibort3rborts22b5raf3brik_b3rika3brike3briksb5riköbru4stb4slanbund4sbus2stcens3t3centrck5lisck3orgc4kortck3sla4dand_del2sade5lutden2tode5roldes3tidfö3ra2dinspdis3kodis1krdis5todi4tredjup5pdom2skdo4pak4d5ord3d4ragd3randd5rarbd5ratu4d5rik3d4riv3droppd3räkn3dräktd2s1ands5enhds3insd3skefds4kends4lotds3tald5statdste4ad5stigds3tinds5trodu4stedy4kaneb3rile4danse5draled2skoed3s2leg2lere4graneg5rateg3rinek3latek3orrek5visel1aktel4arbeleb3rel4fraeli5kuemon1sem5ortemp5leen5artene3röen5kloens5keens4teent4haen2t1rent3rient5ruepp2s3epps5ter4gåse4rinfers4leer4staer2steer3stres5alles3arme4skanes5kares3keres5kule5slagess5läe3stales3tine3struest4röe5tri_et3risets2adets3krets5paetu4rieu4se_eu5troe4varmfac5kefes5tafe3stoffö5refin5smfisk3rflo4dafor4mofost3rfram5p5frerifri5spf4tarmft4setft2s5ifts5väfäs5tifö2renför3smför3sugall3s5g2atig5avsn3gelisgel5stgel5änge4nap3g2enigenom5gen4sag4ense1g2ent1g2era3g2erigers5n5g2ettggs4lagg3s4tgg3s4vgi4stegis4trg4lans5glaseglas5k5glasögon3s4gra2m55grans5grett4g5rikgrus5t5gränsg5sattg5skafgs4kotgs4porgs5pregs3takgs3talgs4teng3stifg3stolgs3tragst4reg3stämg4s3vegul4dagytt3jgårds52g5åri2g5örthal4sohalv3åham4sthasp5lhets3thets3vhis2skhjäl3shos5tihust5rhys5tahälls1hälso3hä4varhö5genhörn5shöst5ri5brilick3u4iden3s3ifråni4kartik5läni5krobik5rofik5rosik5s2hik5u4til4danil5lakil4likill3s2il5läril2minim2b3rin4ge_ing5isin5kve1innehin4sem1inspein5sprin4ståin4trais5kepisk5nais4kuni5slamis3länis4priiss3täi1stalis4tesis3tigist5roit5rani5trini3trisit4t3r3jakt_jd4styje5staju4kosjus5krjus5tajäl4sa3kade_k3aktikal4lokall3s4kand_ka5plakap4prkaps5t3karnakarp5s4kart_4kartekas3ti3kats_4kensekfö3riking3r4kinnek2lamakla4mi3klass2k3läg3k4nap3k4nivkog4s3ko2linkol5tr5kolv_2k3omr3konstko5s4kko4str4krang5krerakrigs33kroppkråk5skrå4pakräk5lksaks5k2s5asks5kraks5tidkti5gek4tinnk2tinskt3rink5trodkt5rogkt3rolkt5rätkum5plkungs5ku4penkust3a3kvalik5vare3kvarnkvar3s3kvartk4vato1kvinn5kvire3kvällkydds3ky4linköks5tkör4sl1lade_3lagd_la4ginlan4dilder4slds4anle4ge_lem4sö2l5enlle5s2lli5kli5limerling5o4lingrli4stalk5lagl3k4rallok5vll4sanll3skall4svall4tigll5örtloc4kulod3stlo2ge_l5skotl3skrälskå4pls5nytls3poll4stakls5terl4stygls5vidlta2tul4tretluk4to4lull_5lust_l4varmlvers4ly4gatlyg3s23lyste5lystnly4strlång3slås5telå4stå1ländslä4sanlätt3s3lörermang2amani1k5ma3rimas3koma5skömas3time3stimet3roming4omin4krmiss3tmi4te_mitt3smnas3tmo4tinm4partmp3ladmp3latmp3linm3slagmulls3mult5rmun4komu3stamut4slmys4temäs5tamör4klna3kro5nalfl4nand_na4rapnast3rncyk3lnd5raknd5rasnd3ratn5driln3dropnd5rosnds3ornds5väne4d3rner5smnes3s4ne4stane3tren4gen_n4gendn4gensn4germng3radng4serngs3panings1nip4prni3t4rniv5skniv5stn4kartn4kis_nkrus4nk4tinnn3s4tnom3s4n4sintn4sis_n4sisens3kanns3korns5lasns5mitn3stapns4teln3stifns3tigns4transt5upn3s4tyns3värn4tarkn4tinfnt3radn3trahn3trakn5tramnt3repn3trernt3riant3rinnt3risn4trornt4strnufts4nös5keoc4k5rock3sko5dralods4tiod5stuoffs5tognos4og4s3toll4siolo5kvom4bräo4mordom4ste3omsätongs4lo4ninsonsi3son4treopp3leor4d5äor4spaort3reort3roo3s2fäo1skopos5pigos4s4tos3tigost5röos3tulot5runot4träotvin4o3ut3tovs4mepakis44pand_pan4trpa5skipent5rper4bl3perioper4slpe5tropi5stapi5sto5plan_p4lanep3larn3politp4partpp5askp4pinspp3linpp5lispp3lånpp3låtpres4t3princpring3p5riol3psalmp5s2hops4kenp4stakp4stävpul5trraci4t3rade_2raffär4anderand3s2ransvr3arta3rativra3trirda5grrd3ranrd3rat4reausre3d4r3regn_ress5kre1sti4retetret3ro2revigrfö3rir3ifrå3riktnrind3sring3rri5pleri2stäri4tutri4visrk3aktr3klasr5lakar4marbrm2s5jro4grorol4li5roman5ronau5rond_ropp2s2roriero4sinr4seldr4skidrsk3nars4kosr4s5lörs5natrs5takr5stekr4stonr3strörs4vagr4tinsr5tritrubb5lru4danruks3vrunns5ru5sha5rutigrut4rarydd5sråge5lrång3sräck5sräng3sräns5trä4sanrä5stiröd5elröns4tröst3r2sa3drsak5ri2s1aktsa2morsand3ss3anlä3s4ar_s5arm_2schau1schen1scher1schetse4at_2s3eggseg3rasek5lesek5trs5ersäs4fär_5s2hawsi4erisi4esksi2ettsikts35sill_silv3r2s1ind2s1inf3sinni2sin1ss1inst5sint_2sintrs3jaktsjäls3s2kado1skaft3skal_5skap_4skapiskaps1s4kara5skarv3sked_s4kene3skepp4skis_5skjorsk5laps3klas3s4ko_1s4kog3skolas4kolos4korp3skratsk4ret3skrev3skrifs3krig5skrin3skrips5kris3skrivs5kron5skrub3skruv5skräc3skulp2skyrk5skåp_5skänk3skärvs5lad_s3lands4lants3lar_3slev_slins3s3lustslu4to5s4lårs5länn3s4läp4s3lär3s2löj3smak_s3makts2met_3s4nacs5nares3nast1snittsol3s2son4stso5pras5ord_s4park5sparvs3passspa5tr3s4pek3s4pel5spets3spills3plans4plin5splits3pres3sprit5spränss3kunss3unn3stadi5stam_5stamm1stant1state3statl2s5te_5steg_s4tek_2stekn5stekts4tell3stem_3steme1stera3stick3stil_3stink3stisc3stjäl3stjär4stolkstor3s3strec3strejst3ren1strer2stria1stridst4rif3struks3tryc5stryk5stråk3strål3sträc4sträd5sträv3ström2st3s4s3tvis5svag_s3vagn4s3vaksvars33svart4s3ver4s3vils4vines5vitt3svåri3sväng2sålde2s5ägg2s3ört3tade_4tads5ta5kretak4totall5sta4nabt4ap3ltar4mita1strta4tan3tavlote2g1rte3grete4int5te5löten3g45tensiten3trte5nör5teriöter3k45ternates4tete5stu5tetiktifts5ti2gel5tikul3tillv3tilläti4van5torapt5ord_torm3stor1st4tort_t5ost_3trafit4rala5tralo3tralst4ralt3transt3ras_t3rat_t4rato4trer_4trern3tribu5tricktrids3t5rielt1ringt3rockt3rono5tross5trotnt4rump3truppträds4t3räkn5träni5tröjats5artt3s4att5slotts5läkts3ordts5tert3stolt4stont2strat4stryt4sturt5styrtte5g4t4tinstt3radtt3rattt4sta4t5ugn3tungatung3s3tvingtvär3s3tvätt3tyngdtäc4ko3törertörs3ttö4vasubb4leub3licud4retuf4tanu3itetuks5koulds2mull3änuls5tiun4domung5itungs4pu4pernu3pletup3lik3uppfaup4pin1uppla5uppläup4p3rupp5spur5arvur4stäus5anlu3schaus4klaus3penus5tatus3tigu3stikus5tinust5ro3utjämut4rerut5rop2utsid3utslä3utvecva5droval4lival4st4vand_van4stvan5trva4resva4ri_vart5rvas5ti5vattnve2s5pvet5savett5svild3s3vind_3vinklvis5kovis3tavi4varvmörk43vrerav2skrivs5tråv5stycvångs3vägg5s3värdevä4ril3världxan5d4y4brisyk5lonym4fory5schoyst3razo4nalåg3s4k5åklag1ålderåll4spål2s5eåman4sård4ra5årsavås4skräl4papäl4segäl4sluäl2t3räl4vinänd1stänni3säns5teän2t3rär2breär4nisärn3stär4skoät4s3kät4topö4darvöde4s5ö4karmöns3keönst3rö4raskör3d4rör1eniö3ringör3intör4kalör1k2lör5kliör4nisör1s2kör4släöts5ko5övere", + 7 : "_a5g4ra_a2n5es_ang4er_a3sket_a5sten_bild3s_e2l5in_e5skad_es3kal_es5kap_fågel3_för1en_in4ger_kans4k_kort5s_kring3_lek5tr_mas2ke_minis4_mörk5r_o3stra_papp5s_pa3ste_pa5sti_pi5sti_pres2s_re2ste_slut3s_sten3s_tes3ta_topp5s_tred2s_u5trerack3u4pa5kvariandel2sansis3tans3par1ansvarapo3str1apparaa4rigenark3lanar5skalas2s5opa5stardast5raka5stralast3rolbors5tebort3sl2b5ratic4kordndels5tidenti5öder5stidin3g4odis3tradrotts3dub3bleechiff5e3glerae5gleriekord5sek4ret_enning5ens4vinerings3erk4liners4kene4s3kenes5ten_esti2gees5tor_est5rerfib5rigfi3skalfros5tafru5strfurs5te4gerarbg3starkgs3tillhands4lhan5g2ahop5plohy3sterhård5s4ic4kordik5skorilufts5ind5skäind5stiing4es_in5glasings5tein3skrä3instruis3kopais4s3tri1stansist5attis5ten_i1stentis5tingis5tor_is5toreit2t5opjor4dinjord3s4jut4stajäl4p5rjärn3sk5kaptenk5arbet3klang_k5lock_5klocka3korres5kra3gek4retenkrid5s2kropps5k5rädd_k5slag_kstavs32kvente5lakan_3laktis3lande_5laste_lat4tisler3ste2linga_lings5tli3strölläggs5lt5ratilus2s5plycks5tman5g4omask3romer2skome5trinm5planemst3rin4mun3g45målet_mö4gen_nd5skalne5gresne5s4tinfalls5n4gentings5timngs3valnings3knings5vnist3ranslags5n3stansn2striknst5vilnter5s4n2t5ombn5tralant3ralints5koroförmå4ogno5stoll5släon5stelons4teron3traso5plineoran3g45organi3orientors5tigo5stillost5ronota2lanpek5tripekt3ropel3s4ipos4terpre3stapres5to3rande_3raste_rek5trirgs5toprhands5rs5kollrs5tendr5stenirs5tillr2taktirv2s5käsamman3san3slasilver33s2kada3skaffn5skapet4skogsgskor1sts5kran_3s2langslotts33smitta5spann_4spelsls3plats4s3prissse4linss2lag_3stalla2stalli5stark_5stenar3s4tene3stense5stensms4teriu3sterne5stetiss4tiken5storis3straff3strato5stride2striel1striktst5risk2strumm3strängs1under5svärm_sys5ter2taktig3tande_2t3anfa2tappar5tavla_3tavlan5teknik5tekniste5stik3tillst5tivite3t4ral_3t4ralet3rets_t3ring_t5ronik4tropi_trus5ta5tryck_5trygght5s4andt5skallt3skatttt3randuk3trisull3ste5underl1undervun5g2efurs5tin2v1aktivensk3äving3s45vinst_5vinsteväll4s3xem3play5klistys4tik_åk4sträård4s3tår5s2liäls5kogär4tandö3randeö4reströr5evigör2p5la", + 8 : "_and4rar_cy5klop_e5strad_krings2_mjölk5s_män5sko_skott3s_string4_vatten3ali5stikas5tikerelekt3riennings2ent4rat_ent3ratieri5stikgi5stralhandels35inspeln3instink5klist3r5korterakrings2kkru5stad2lapparallust3ral4skensv5längderni5sterinkrafts5n4tropinos5tikerpul2l5ov4ran4d3r5ringen_rreligi5rskotts3rslags4v5rullerasinne2s35stalgis5startad1steringstori4eu4strativ5tallise5tartavl5torietttran2s5atskotts5ts5tillf1undersöun3gerskun5tratiutlands35ventera4ändligh", + 9 : "_ma5skeri_pub3likad5rasseragi5st4rat" + } +}; \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/patterns/ta.js b/alt-implementations/readifry-master/hyphenator/patterns/ta.js new file mode 100644 index 0000000..2245aeb --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/patterns/ta.js @@ -0,0 +1,12 @@ +// For questions about the Tamil hyphenation patterns +// ask Santhosh Thottingal (santhosh dot thottingal at gmail dot com) +Hyphenator.languages['ta'] = { + leftmin : 2, + rightmin : 2, + specialChars : "அஆஇஈஉஊஎஏஐஒஓஔாிீுூெேைொோௌகஙசஜஞடணதநபமயரறலளழவஷஸஹ்னஂஃௗ", + patterns : { + 2 : "ா1ி1ீ1ு1ூ1ெ1ே1ை1ொ1ோ1ௌ11க1ங1ச1ஜ1ஞ1ட1ண1த1ந1ப1ம1ய1ர1ற1ல1ள1ழ1வ1ஷ1ஸ1ஹ", + 3 : "1அ11ஆ11இ11ஈ11உ11ஊ11எ11ஏ11ஐ11ஒ11ஓ11ஔ12ஂ12ஃ12ௗ12்1", + 4 : "2க்12ங்12ச்12ஞ்12ட்12ண்12த்12ன்12ந்12ப்12ம்12ய்12ர்12ற்12ல்12ள்12ழ்12வ்12ஷ்12ஸ்12ஹ்1" + } +}; diff --git a/alt-implementations/readifry-master/hyphenator/patterns/te.js b/alt-implementations/readifry-master/hyphenator/patterns/te.js new file mode 100644 index 0000000..7360f98 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/patterns/te.js @@ -0,0 +1,10 @@ +// For questions about the Telugu hyphenation patterns +// ask Santhosh Thottingal (santhosh dot thottingal at gmail dot com) +Hyphenator.languages['te'] = { + leftmin : 2, + rightmin : 2, + specialChars : "ఆఅఇఈఉఊఋఎఏఐఒఔకగఖఘఙచఛజఝఞటఠడఢణతథదధనపఫబభమయరలవశషసహళఱిీాుూృెేొాోైౌ్ఃం", + patterns : { + 2 : "అ1ఆ1ఇ1ఈ1ఉ1ఊ1ఋ1ఎ1ఏ1ఐ1ఒ1ఔ1ి1ా1ీ1ు1ూ1ృ1ె1ే1ొ1ో1ౌ1్2ః1ం11క1గ1ఖ1ఘ1ఙ1చ1ఛ1జ1ఝ1ఞ1ట1ఠ1డ1ఢ1ణ1త1థ1ద1ధ1న1ప1ఫ1బ1భ1మ1య1ర1ల1వ1శ1ష1స1హ1ళ1ఱ" + } +}; diff --git a/alt-implementations/readifry-master/hyphenator/patterns/tr.js b/alt-implementations/readifry-master/hyphenator/patterns/tr.js new file mode 100644 index 0000000..ccb0063 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/patterns/tr.js @@ -0,0 +1,13 @@ +// For questions about the turkish hyphenation patterns ask +// Andreas Lappe nd at off-pist dot de +Hyphenator.languages['tr'] = { + leftmin : 2, + rightmin : 2, + specialChars : "âıîöüûçğş", + patterns : { + 3 : "2a12â12e12ı12i12î12o12ö12u12ü12û11b11c11ç11d11f11g11ğ11h11j11k11l11m11n11p11r11s11ş11t11v11y11z12bb2bc2bç2bd2bf2bg2bğ2bh2bj2bk2bl2bm2bn2bp2br2bs2bş2bt2bv2by2bz2cb2cc2cç2cd2cf2cg2cğ2ch2cj2ck2cl2cm2cn2cp2cr2cs2cş2ct2cv2cy2cz2çb2çc2çç2çd2çf2çg2çğ2çh2çj2çk2çl2çm2çn2çp2çr2çs2çş2çt2çv2çy2çz2db2dc2dç2dd2df2dg2dğ2dh2dj2dk2dl2dm2dn2dp2dr2ds2dş2dt2dv2dy2dz2fb2fc2fç2fd2ff2fg2fğ2fh2fj2fk2fl2fm2fn2fp2fr2fs2fş2ft2fv2fy2fz2gb2gc2gç2gd2gf2gg2gğ2gh2gj2gk2gl2gm2gn2gp2gr2gs2gş2gt2gv2gy2gz2ğb2ğc2ğç2ğd2ğf2ğg2ğğ2ğh2ğj2ğk2ğl2ğm2ğn2ğp2ğr2ğs2ğş2ğt2ğv2ğy2ğz2hb2hc2hç2hd2hf2hg2hğ2hh2hj2hk2hl2hm2hn2hp2hr2hs2hş2ht2hv2hy2hz2jb2jc2jç2jd2jf2jg2jğ2jh2jj2jk2jl2jm2jn2jp2jr2js2jş2jt2jv2jy2jz2kb2kc2kç2kd2kf2kg2kğ2kh2kj2kk2kl2km2kn2kp2kr2ks2kş2kt2kv2ky2kz2lb2lc2lç2ld2lf2lg2lğ2lh2lj2lk2ll2lm2ln2lp2lr2ls2lş2lt2lv2ly2lz2mb2mc2mç2md2mf2mg2mğ2mh2mj2mk2ml2mm2mn2mp2mr2ms2mş2mt2mv2my2mz2nb2nc2nç2nd2nf2ng2nğ2nh2nj2nk2nl2nm2nn2np2nr2ns2nş2nt2nv2ny2nz2pb2pc2pç2pd2pf2pg2pğ2ph2pj2pk2pl2pm2pn2pp2pr2ps2pş2pt2pv2py2pz2rb2rc2rç2rd2rf2rg2rğ2rh2rj2rk2rl2rm2rn2rp2rr2rs2rş2rt2rv2ry2rz2sb2sc2sç2sd2sf2sg2sğ2sh2sj2sk2sl2sm2sn2sp2sr2ss2sş2st2sv2sy2sz2şb2şc2şç2şd2şf2şg2şğ2şh2şj2şk2şl2şm2şn2şp2şr2şs2şş2şt2şv2şy2şz2tb2tc2tç2td2tf2tg2tğ2th2tj2tk2tl2tm2tn2tp2tr2ts2tş2tt2tv2ty2tz2vb2vc2vç2vd2vf2vg2vğ2vh2vj2vk2vl2vm2vn2vp2vr2vs2vş2vt2vv2vy2vz2yb2yc2yç2yd2yf2yg2yğ2yh2yj2yk2yl2ym2yn2yp2yr2ys2yş2yt2yv2yy2yz2zb2zc2zç2zd2zf2zg2zğ2zh2zj2zk2zl2zm2zn2zp2zr2zs2zş2zt2zv2zy2zz", + 4 : "a3a2a3â2a3e2a3ı2a3i2a3î2a3o2a3ö2a3u2a3ü2a3û2â3a2â3â2â3e2â3ı2â3i2â3î2â3o2â3ö2â3u2â3ü2â3û2e3a2e3â2e3e2e3ı2e3i2e3î2e3o2e3ö2e3u2e3ü2e3û2ı3a2ı3â2ı3e2ı3ı2ı3i2ı3î2ı3o2ı3ö2ı3u2ı3ü2ı3û2i3a2i3â2i3e2i3ı2i3i2i3î2i3o2i3ö2i3u2i3ü2i3û2î3a2î3â2î3e2î3ı2î3i2î3î2î3o2î3ö2î3u2î3ü2î3û2o3a2o3â2o3e2o3ı2o3i2o3î2o3o2o3ö2o3u2o3ü2o3û2ö3a2ö3â2ö3e2ö3ı2ö3i2ö3î2ö3o2ö3ö2ö3u2ö3ü2ö3û2u3a2u3â2u3e2u3ı2u3i2u3î2u3o2u3ö2u3u2u3ü2u3û2ü3a2ü3â2ü3e2ü3ı2ü3i2ü3î2ü3o2ü3ö2ü3u2ü3ü2ü3û2û3a2û3â2û3e2û3ı2û3i2û3î2û3o2û3ö2û3u2û3ü2û3û2", + 6 : "tu4r4k", + 7 : "2e2cek_m1t4rak" + } +}; diff --git a/alt-implementations/readifry-master/hyphenator/patterns/uk.js b/alt-implementations/readifry-master/hyphenator/patterns/uk.js new file mode 100644 index 0000000..e20c2f1 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/patterns/uk.js @@ -0,0 +1,23 @@ +// For questions about the Ukrainian hyphenation patterns +// ask Alexey Grekov (athens at ukr dot net) +Hyphenator.languages['uk'] = { + leftmin : 2, + rightmin : 2, + specialChars : "аеіоуюяєїибкпстфхцчшщвгджзлмнрй’'ґь", + patterns : { + 2 : "6’6ь", + 3 : "2а1а3аа3еа3іа3оа3уа3юа3яа3єа3ї2е1е3ае3ее3іе3ое3уе3юе3яе3єе3ї2и1и3аи3еи3іи3ои3уи3юи3яи3єи3ї2і1і3аі3еі3иі3оі3уі3юі3яі3єі3ї2о1о3ао3ео3іо3оо3уо3юо3яо3єо3ї2у1у3ау3еу3іу3оу3уу3юу3яу3єу3ї2ю1ю3аю3ею3ію3ою3ую3юю3яю3єю3ї2я1я3ая3ея3оя3уя3юя3яя3єя3ї2є1є3ує3ює3єє3ї2ї1ї3еї3ої3юд4жд4за2йе2йи2йі2йо2йу2йю2йя2йє2йї2йь6о", + 4 : "2б1к2б1п2б1с2б1т2б1ф2б1х2б1ц2б1ч2б1ш2б1щ2в1б2в1г2в1д2в1ж2в1з2в1к2в1л2в1м2в1н2в1п2в1р2в1с2в1т2в1ф2в1х2в1ц2в1ч2в1ш2в1щ2в1й2в’32г1к2г1п2г1с2г1т2г1ф2г1ц2г1ч2г1ш2д1к2д1п2д1с2д1т2д1ф2д1х2д1ц2д1ч2д1ш2д1щ2ж1к2ж1п2ж1с2ж1т2ж1ф2ж1х2ж1ц2ж1ч2ж1ш2з1к2з1п2з1с2з1т2з1ф2з1х2з1ц2з1ч2з1ш2з1щ2к1б2к1г2к1д2к1з2л1б2л1в2л1г2л1ґ2л1д2л1ж2л1з2л1к2л1м2л1н2л1п2л1р2л1с2л1т2л1ф2л1х2л1ц2л1ч2м1б2м1в2м1г2м1д2м1ж2м1з2м1к2м1л2м1н2м1п2м1р2м1с2м1т2м1ф2м1х2м1ц2м1ч2м1ш2м1щ2м’32н1б2н1в2н1г2н1д2н1ж2н1з2н1к2н1л2н1м2н1п2н1р2н1с2н1т2н1ф2н1х2н1ц2н1ч2н1ш2н1щ2н’32п1б2п1д2п1з2р1б2р1в2р1г2р1ґ2р1д2р1ж2р1з2р1к2р1л2р1м2р1н2р1п2р1с2р1т2р1ф2р1х2р1ц2р1ч2р1ш2р1щ2р1й2р’32с1б2с1г2с1д2т1б2т1г2т1д2т1ж2т1з2ф1б2ф1г2ф1з2х1г2х1д2ц1б2ц1г2ц1д2ц1з2ч1б2ч1д2ч1ж2ш1б2ш1г2й1б2й1в2й1г2й1д2й1ж2й1з2й1к2й1л2й1м2й1н2й1п2й1р2й1с2й1т2й1ф2й1х2й1ц2й1ч2й1ш2й1щ2б1б2в1в2г1г2ґ1ґ2д1д2ж1ж2з1з2к1к2л1л2м1м2н1н2п1п2р1р2с1с2т1т2ф1ф2х1х2ц1ц2ч1ч2ш1ш2щ1щ2й1й3ння3ття3ттю3лля3ллє3ллю3ддя3й6о_б’8_в’8_д’8_з’8_м’8_н’8_п’8_р’8_т’8_ф’8_ш’8_бд6_бр6_вб6_вг6_вд6_вж6_вз6_вк6_вл6_вм6_вп6_вс6_вт6_дж6_дз6_дл6_дс6_зб6_зг6_зд6_зл6_зс6_зч6_зш6_зґ6_йш6_кл6_кп6_кс6_кх6_кш6_лс6_ль6_мс6_мф6_нб6_пр6_пс6_пх6_рт6_ск6_сл6_сп6_ст6_сх6_тк6_тр6_тх6_ть6_фл6_хл6_ць6_чх6_шк6_шл6_шп6_шт66бв_6бз_6бй_6бл_6бн_6бр_6бс_6вб_6вв_6вд_6вж_6вз_6вй_6вк_6вл_6вм_6вн_6вп_6вр_6вс_6вт_6вх_6вч_6вш_6вщ_6гв_6гг_6гд_6гл_6гм_6гн_6гр_6гс_6гт_6дж_6дз_6дл_6дм_6дн_6др_6дт_6дь_6жб_6жв_6зв_6зг_6зд_6зк_6зл_6зм_6зн_6зр_6зь_6йб_6йв_6йг_6йд_6йз_6йк_6йл_6йм_6йн_6йп_6йр_6йс_6йт_6йф_6йх_6йц_6йч_6йш_6кв_6кк_6кл_6кр_6кс_6кт_6кх_6кш_6лб_6лг_6лд_6лк_6лл_6лм_6лн_6лп_6лс_6лт_6ль_6мб_6мг_6мж_6мк_6мл_6мм_6мн_6мп_6мр_6мс_6мт_6мф_6мх_6мш_6нв_6нг_6нд_6нж_6нз_6нк_6нм_6нн_6нр_6нс_6нт_6нф_6нх_6нц_6нч_6нш_6нь_6пд_6пл_6пр_6пс_6пт_6пф_6пц_6рб_6рв_6рг_6рд_6рж_6рз_6рк_6рл_6рм_6рн_6рп_6рр_6рс_6рт_6рф_6рх_6рц_6рч_6рш_6рщ_6рь_6ск_6сл_6см_6сн_6сп_6сс_6ст_6сь_6тв_6тл_6тм_6тр_6тс_6тт_6тц_6тч_6ть_6фм_6фр_6фт_6фф_6фь_6хв_6хм_6хн_6хр_6хт_6хш_6ць_6чб_6чм_6чн_6чт_6шв_6шм_6шн_6шт_виї4оо4боб’3од’3’ї4в’ї4з’ї4д’ї4ж’ї4л’ї4м’ї4с’ї4хге4ооо4куя4вді4омі4оі4онзо6ооу4с", + 5 : "2дь1к2дь1с2дь1т2дь1ц2зь1к2зь1с2зь1т2ль1б2ль1в2ль1г2ль1д2ль1ж2ль1з2ль1к2ль1м2ль1н2ль1п2ль1р2ль1с2ль1т2ль1ф2ль1х2ль1ц2ль1ч2ль1ш2ль1щ2ль1й2нь1б2нь1г2нь1з2нь1к2нь1л2нь1м2нь1с2нь1т2нь1х2нь1ц2нь1ч2нь1ш2нь1й2рь1к2рь1ц2сь1б2сь1д2ть1б2к1сп2к1ст2п1сп2п1ст2с1пк2с1пп2с1пс2с1пт2с1пх2с1пч2с1тк2с1тп2с1тс2с1тт2с1тф2с1тц2с1шт2т1ск2т1сп2т1ст2т1шк2ф1сп2ф1ст2ф1шт2х1ст2ц1ст2ц1шк2ш1тк3п4ре3п4риприї43п4ро3п4ріооб’3ооб3мнао4рнеу4к3блаж3ближ3близ3блок3бран3бруд3глад3глиб3глин3глоб3глуз3глуш3гляд3глян3гнан3гнил3гноз3грав3град3грай3грам3гран3граф3граш3граю3грає3грес3гроб3грож3гроз3груп3грів3гріт3гріш3д4ан3двиг3двою3двоє3двій3двір3драж3дром3друж3друк3дряп3дріб3жвав3зваж3зван3звед3звел3звич3звищ3звук3звуч3звіт3змін3зйом3зміш3знав3знай3знак3знал3знан3знат3знач3знаю3знає3зниж3знім3зрюв3зрів3зріл3зрін3й4ма3с4пі3х4то3ї4зд3ї4ставі4абі4о3дої4ддої4мдої4хдої4жзаї4дзаї4жзаї4ззаї4лзаї4мзаї4хзо4казо4кезо4кизо4кузо4кіий4тиій4тинаї4жнаї4знаї4лнаї4мнаї4снаї4хпоя4в_пої4пої4дпрої4сеї4ду4к4рвия4вз’я4взая4вная4веті4одея4као4хаео4ханія4кдоу4кдоу4мнею4ннея4кое4копоя4соа4ктеа4ктий4няпій4мвий4мзай4моа4на", + 6 : "2к1ськ2п1ськ2с1ськ2с1тсь2сь1кк2сь1кс2сь1кт2т1ськ2ф1ськ2х1ськ2ш1тсь_вб6’6_вв6’6_вз6д6_вм6’6_вп6’6_вп6х6_вс6т6_вш6к6_зв6’6_зд6з6_зм6’6_зс6к6_зс6т6_зш6к6_лк6с6_ск6л6_сп6’6_сп6л6_сп6х6_сх6л66б6ль_6б6ст_6б6ць_6в6др_6в6дь_6в6зь_6в6ль_6в6сь_6в6ць_6г6ль_6г6сь_6д6зь_6ж6дь_6ж6сь_6з6дв_6з6дн_6з6дь_6з6нь_6з6сь_6з6ьб_6з6ьк_6й6кл_6й6ль_6й6мс_6й6нс_6й6ст_6й6сь_6й6тс_6к6ль_6к6ст_6к6сь_6к6тр_6л6ль_6л6мс_6л6хв_6л6ьб_6л6ьв_6л6ьг_6л6ьд_6л6ьз_6л6ьк_6л6ьм_6л6ьн_6л6ьп_6л6ьс_6л6ьт_6л6ьф_6л6ьх_6л6ьц_6л6ьч_6л6ьш_6л6ьщ_6м6бр_6м6ль_6м6сь_6н6гл_6н6гр_6н6гс_6н6дж_6н6дз_6н6дп_6н6др_6н6кс_6н6кт_6н6ск_6н6ст_6н6тк_6н6тр_6н6ть_6н6ць_6н6ьб_6н6ьг_6н6ьк_6п6сь_6п6тр_6р6дв_6р6дж_6р6дь_6р6зн_6р6зь_6р6кс_6р6кт_6р6ль_6р6нс_6р6нь_6р6ср_6р6ст_6р6сь_6р6тв_6р6тр_6р6ть_6р6ць_6с6дп_6с6ль_6с6тв_6с6тй_6с6тм_6с6тр_6с6ть_6с6ць_6с6ьб_6с6ьк_6с6ьм_6т6вт_6т6зт_6т6ль_6т6мр_6ф6ть_6ц6тв_6ц6ьк_6ш6ль_6ш6нл_6ш6сь_6ш6тв_6щ6сь__бе4з3_безу4віду4ч_ві4д3_від’3_мі4ж3ові4д3_пере3_під’3_пі4д3_пі4в3_ро4з3ооб3рона4д’3за5о4рдо5о4рпо5о4рз3в’4яза3ю4шу3в’4яз3м’4яу3м’4яв3м’4язу4рочприо4р3й4ш4л3блиск3блоці3брати3брест3бризк3в4бив3в4дал3в4лад3в4лов3в4сюд3в4тіл3гнучк3грати3грець3грунт3д4бав3д4бал3д4бан3д4бат3д4бає3двічі3дріма3жміть3жріть3з4був3з4бут3звест3звись3з4год3з4дат3з4чеп3й4мищ3й4му_3й4шов3м4нож3м4щен3п4сов3п4сон3п4сув3р4вав3с4кид3с4кок3с4коп3с4кор3с4коч3с4пад3с4пин3с4піш3с4тав3с4тад3с4таз3с4тал3с4тан3с4тар3с4тат3с4тач3с4тає3с4теп3с4тиг3с4тиж3с4той3с4тою3с4туп3с4тяг3с4тіб3с4тій3с4тір3с4фер3с4хил3с4хов3с4хід3т4кан3ш4код3ш4кол3ш4кіл3ш4кір3ш4таб3ш4туч3ґрунт3е4тап3о4бід3о4біц3о4дяг3о4соб3о4хоч3о4чищ3у4ваг3у4важ3у4гав3у4мит3у4міл3у4ряд3я4зик3я4кіс3я4рус3є4д3н3є4дин3є4рей3ї4ждж3ї4хав3ї4хат_заї4к_заї4ц_заї4ч_наї4давої4дае4тилахої4дауді4обе5конб’4єтьбран4дви3й4дви3й4т3в’4яз4д7земді3й4тді3й4д_дої4в_дої4лдої4стеу4стрео4свіек2с1кек2с1пек2с1тек2с1цигої4діе4тилйо4свіквої4д3м’4ятна3з4внаї4вснаї4вшна4й3ана4й3енедої4неї4стоної4доо4палео4палонаї4доо4свіоу4строа4томпоч4непоч4нипоч4нупої4здраді4оз’4єднрмої4дсор4тнцук3роубої4дясої4дви3у4чза3у4чна3у4чне3у4чгелі4ополі4осоці4офізі4охімі4огоме4оао4пікка5налоі4золмете4оабия4квия4сннея4снпоя4сннеа4биео4ціноо4цінео4бурео4зорпіво4спале4оао4хотео4хотео4щадао4щадоо4чищоо4бігоу4суноу4комз3а4ктеу4богзай4нянай4няприй4мдій4манай4маобой4мпрой4мобій4моу4годау4годеу4годео4писоо4писао4пис_ом4рі_ум4ри_ум4рі_ум4ру_ум4ревиу4ди", + 7 : "_бе4з’3_ві5д4а_ві5д4іневі4д3_пі5д4о_пі5д4і_пі5д4е_пі5д4и_пі5д4у_спі4в3_ро5з4і_ро5з4е_ро5з4а_ро4з’3до3в’4єза3в’4єзі3в’4єпо3в’4єуі3в’4єпо3в’4яза3в’4язі3в’4яна3в’4яоб3в’4язі3м’4яно3м’4яза3м’4яна3м’4яоб3м’4япо3м’4ясу3м’4ядо3в’4юза3в’4юзі3в’4юна3в’4юпо3в’4юуі3в’4юза3я4локоу4рочпоу4роч3м4к4не3м4к4ну3м4к4ні3с4к4ле3с4к4ло3британ3в4довз3в4ласн3в4лашт3в4певн3громад3груван3г4ідро3з4бага3зворуш3з4довж3знаход3зрозум3й4менн3й4муть3й4міть3м4ріть3р4вати3р4віть3с4кіль3с4кіпл3с4пект3с4перм3с4піть3с4тайн3с4тара3с4тисл3с4титу3с4товб3с4тосо3с4тосу3с4тоян3с4тіль3ш4кідл3а4гент3а4грес3а4зарт3а4ктив3а4куст3а4кциз3а4птеч3а4соці3а4тлет3а4халі3е4моці3е4мігр3е4нерг3е4стет3о4бира3о4даль3о4збро3о4крем3о4плат3о4птим3о4пуст3о4пуше3о4пуще3о4ренд3о4сяжн3о4холо3о4чисн3у4згод3у4клад3у4рбан3у4спіш3у4твор3я4дерн3є4писк3і4снув_бе5зе_бйор4нсвер4х3нвід7знаві5д4енві5д4омво4с5ко_дої5ль3з’4ясозна3й4дзна3й4ткорої4д3м’4якшна3в4чанео4палобі3й4добі3й4тпереї4дпереї4жпереї4зпереї4лпереї4спереї4хпре4й4спо3д4вопри3й4тпро4ф3спор4т3нпри3й4дроз5винроз5витро5з4умспе4цпрспе4ц3ссь4квугтран4с3під3у4чво4єводво4єначді4алогді4огенпроя4снрозо4рарозо4рерозо4рннапоу4мне4олітне4ологне4онацне4офітнея4рок_пе4ом_д3у4сімроз’я4рте4ологте4ософа3у4даро3у4дарз3у4дарв3у4дареі4стотоі4стотоо4чистнайа4ктпіва4ктао4бразео4бразоо4бразиа4варіяа4варіоа4варіеа4варіаа4дресеа4дресоа4дресіа4дресае4фектее4фектое4фектое4місіие4місіяе4місіее4місій3у4богздій4няобій4няд4о3й4мперей4мбезу4глоа4каціоо4держбіблі4о_на3в4ч_ви3в4ч_до3в4ч_за3в4ч_по3в4чана3в4чена3в4чови3в4чеви3в4чедо3в4чоза3в4чпо3в4чае3м4рій_ви3м4р_за3м4р_зі3м4р_на3м4р_по3м4рие4стетое4стетее4стетоо4ктаніо4ктано3в4казе3в4каз", + 8 : "6б6с6тв_6б6с6тр_6б6с6ьк_6в6с6тв_6в6с6ть_6в6с6ьк_6г6с6тв_6д6с6тв_6д6с6ьк_6д6ь6сь_6й6с6тв_6й6с6тр_6й6с6ьк_6л6ь6дс_6л6ь6сь_6л6ь6тр_6м6б6ль_6м6с6тв_6м6с6ьк_6н6г6ль_6н6с6тв_6н6с6тр_6н6с6ьк_6н6ь6сь_6п6с6тв_6р6л6ьз_6р6н6ст_6р6с6тв_6р6с6ть_6р6с6ьк_6р6щ6сь_6с6д6рп_6с6т6рь_6т6с6тв_6т6с6ьк_6т6ь6сь_6ф6с6тв__ві5д4ом_ві5д4ун_ві5д4ербезві4д3неві4д’3_пона4д3_напі4в3ро5з4йом_чере4з3пере5о4рпі6д5о4робі3в’4євід3в’4япри3в’4япід3в’4япри3м’4янаду4рочприу4роч3в4б4лаг3в4к4лад3в4п4лив3в4т4рут3в4т4руч3з4б4рой3з4б4рою3з4б4роє3з4в4’яз3п4с4ков3с4к4лад3с4к4лит3с4п4лав3с4п4лат3с4п4лач3с4п4рав3с4т4вор3с4т4рах3с4т4риб3с4т4риж3с4т4рой3с4т4рок3с4т4ром3с4т4роф3с4т4роч3с4т4рою3с4т4роя3с4т4роє3с4т4рої3с4т4рій3с4т4ріл3с4т4річ3т4к4нен3т4ь4мар3у4п4рав3в4веден3в4довол3в4живан3в4поряд3в4рожай3з4доров3з4дійсн3с4короч3с4повід3с4пожив3с4табіл3с4тереж3с4теріг3с4торон3с4торін3а4дитив3а4ктуал3а4курат3а4кцепт3а4лергі3а4матор3а4наліз3а4натом3а4парат3а4пеляц3а4ромат3а4спект3е4колог3е4коном3е4лектр3о4б’єдн3о4б’єкт3о4береж3о4борон3о4перат3о4хорон3у4компл3у4крупн3у4перед3у4рядов3у4стпіш3у4тробн3я4скрав3і4зотоп3і4люстр3і4мовір3і4нтенс3і4нформальбі5онбей4сболбо4г3данбо4є3голбо4є3готбо4є3запбори4с5пвина3й4двина3й4тві5д4е4оджен4тльди4с3локди4с3пледи4с3путди4с3тилд4ні3п4рдо3з4волдо3з4вілкон4трремо4к5рийна3б4лизна3в4рядна4д7з4вна3в4ченне3в4томне3д4банна3д4банне3з4вичне3з4важна5п4ливні4т5ратоб5у4мовпере3й4дпере3й4тпі5в4еньпо3в4торпо3в4ченпо3д4робпо3д4разпо5з4бавпри4нципрай3в4нороз5вантро4з5ділро4з5горро4з5верро4з5чепро4з3ливсан4к4т3серцеї4дстат5упрукр3а4втукр3а4грукр3е4кснедо3у4чпед3у4чипере3у4чсамо3у4чсво4єчассво4єрідоо4динокміжу4собнай3я4снроз’я4снро5з4ориро5з4ороро5з4оруро5з4оряро5з4орюро5з4орірозо4решео4голошбальне4оне4окласпі5в4оніп4о5берео3о4кисли3о4кисле3о4кислх3о4кисли3і4сторо3і4сторі3і4стора3і4сторя3і4сторе3і4сторар4т3мінар4т3підар4т3ринар4т3хімперей4няпідій4нябезу4пин_при3в4чмона3в4чжона3в4чіона3в4ч_зав3м4р_при3м4р_роз3м4рй3е4стет", + 9 : "6л6ь6ств_6л6ь6ськ_6н6с6ькй_6н6т6ств__бе5з4о3д_безві4д3_ві5д4озвді4єві4д3за4вві4д3співві4д3_пере4д3г_пере4д3д_пере4д3м_пере4д3р_пере4д3ч_пере4д’3_пона5д4і_пона5д4и_пона5д4я_чере4з’3непо3в’4япере3м’4япіді3м’4япозау4роч3в4п4равн3с4к4рипт3с4п4ритн3с4п4рият3с4п4ромо3с4т4ражд3с4т4рукт3с4т4рукц3т4ь4мяні3в4разлив3з4баланс3й4мовірн3с4постер3а4вторит3а4декват3а4постол3а4ргумен3е4легант3е4лемент3е4стакад3о4рдинац3у4люблен3у4разлив3у4рочист3у4станов3у4сувати3і4ніціатай4с3бергбактері4оба4с3енербез5і4менбо4є3здатбо4є3компбо4є3постбо4є3прип4в3антрацге2ть3мандер4ж5виддер4ж5думдер4ж5комдер4ж3бездер4ж5стрдисбалансди4с3гармди4с3квалди4с3комфди4с3контди4с3кредди4с3кретди4с3крецди4с3кримди4с3кусіди4с3кутуди4с3персди4с3петчди4с3плейди4с3позиди4с3пропди4с3трибди4с3трофєв4р3атомєпі4с5копєпи4с5копза4п3часті4л3е4тилкиї4венермі4н5е4кона4й3маслна4й3сприна4й3якісна3в4чітьобі3д4раноб4лдер4жперег4нійпере4д5смпід5о4динпо3б4лизупо3в4чітьпо5ж4нітьпос4т3каппос4т3компос4т3натпос4т3соцпор4т3ретпор4т3фелпро4ект3нпро3б4лемпро4м3майпр4о5платро4з5д4вороз5у4ченроз5і4менро4з’5єднро4з3громспе4ц3курспе4ц3мон3с4проможтур4к3менро5з4ора_ро5з4орахне4омальтне4окомунне4оландшне4оліберно4к3а4утте4одолітпів3о4валнаді4сторар4т3афішар4т3кафеар4т3майсар4т3мейсар4т3фактнаді4стотнайі4стотау4т3еколбеза4варібезе4місіо3а4налізц3а4налізз3а4налізм3а4налізпів3у4годроз3у4год_віді3м4р_пере3м4рво4станнєоо4плачувео4плачув", + 10 : "_без5о4соб_без3ро4з3те4х3ві4д3_пере4д3св_пере4д3фрбе4з5і4дейінтер3в’4юна4й3у4бог3в4р4одливба4с3антравід5о4бражвід5о4бразводо5с4токводо5з4бірго4с4п5роздер4ж5а4дмдер4ж5бюдждер4ж5нафтдер4ж5реєсдер4ж5служдвох4а5томди4с3паритди4с3функцкон4тр3аргмі4н5е4нерна4й7о4берна4й7о4гидна4й7о4голна4й7о4пукна4й7о4хайпере5п4ливпере3в4томпів5о4с4трпос4т3процпос4т3фіксспор4т3вирспор4т3залспор4т3комспор4т3майтор4г3предсво4єкорисро5з4о5рамро6з5о4ри_ень7о4кислнай3і4сторпів3і4сторар4т3взводар4т3медіаар4т3о4динар4т3о4збрар4т3центргіпер3а4ктнай3о4бразар4т3мейстго4ф3мейстдо4к3мейстхо4р3мейстміж3а4варінад3а4варібез3а4дреснай3е4фектбло4к3пост_блі4ц3ана_блі4ц3турнт3а4налізре3а4налізбо4р4т3мехбо4р4т3пробо4р4т3радпан3е4стетпар3е4стет", + 11 : "про4ф3ві4д3спе4ц3ві4д3_пере4д3бач_пере4д3виб_пере4д3ост_пере4д3пла_пере4д3пок_пере4д3усібрі4дж3портволь4т3метргі4д5ро5метдер4ж5а4томдер4ж5замовзе4кономитиказа4х3станквар4т3платжко4м5а4томкому4ненергна4й3обережна4й7о4грядоб4л3а4дмінперед5о4бідперед5у4мовпо4с4т5комупо4с4т3декрпо4с4т3радіпо4с4т5соціпро3с4тирадполі4т5еконро4з5міннийруко5с4тискспор4т3клубспор4т4с3мечорно3б4ривхво4є3г4ризпа4н3о4тецьконтр3у4дарпост3і4сторар4т3десантар4т3о4бстрар4т3у4станграф3о4бразгро4с3мейсткра4н3мейстшта4л3мейстєге4р3мейстпост3а4варі_блі4ц3криг_блі4ц3опит_блі4ц3торгбак3а4налізген3а4налізміж3а4налізгос4п3у4годбо4р4т3і4нжнай3о4станнперед3о4пла", + 12 : "_пере4д3умовволь4т3ампердер4ж3резервдорого5в4казінфор4м3агенпо4с4т5радянпо4с4тприватукр3і4н4банкперед3і4сторсупер3о4бразбаге4р3мейстбале4т3мейстбран4д3мейстполі4ц3мейстпо4ш4т3мейстшапі4т3мейстнапів3а4варіперед3а4варісупер3а4варісупер3е4фектгіпер3е4місіполі3а4налізбо4р4т3о4пер", + 13 : "по4с4т3контрацен4т4р3енергва4ль4д3мействе4ль4т3мейстдекре4т3мейсткапе4ль3мейст_блі4ц3і4спитперед3о4станн", + 14 : "енерго3з4береженерго3з4берігкварти4р3мейстфо4р4с4т3мейст", + 15 : "по4с4т3менопаузконце4р4т3мейст" + } +}; \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/reducePatternSet.html b/alt-implementations/readifry-master/hyphenator/reducePatternSet.html new file mode 100644 index 0000000..4dc7bd6 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/reducePatternSet.html @@ -0,0 +1,227 @@ + + + + Hyphenator – reducePatternSet + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Reduce the Pattern Set for Hyphenator logo

    +

    + Hyphenator uses a large set of patterns to hyphenate words. If you have a static site (i.e. a site that will not be changed) it may be convenient to reduce the set of patterns to those wich are actually used. This helps to save lots of bits of your pageload.

    +

    + The script loads the version of Hyphenator.js that resides in the same directory as this page. +

    +
    +
    + Reduce Patterns for this text: +

    Enter the text(s) of your static site here:

    + +

    Select the language:

    + +

    + + +

    +
    +
    + Output: + +

    Copy this to the inputfield in compressor.html:

    + +
    +
    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/files/YanoneKaffeesatz-Regular.otf b/alt-implementations/readifry-master/hyphenator/testsuite/files/YanoneKaffeesatz-Regular.otf new file mode 100644 index 0000000000000000000000000000000000000000..6a766695a8057ddc32447fb9b75f4e654cfc7d2c GIT binary patch literal 67936 zcmeFZcVH98wm7^(mgFQL0%VENCcB~}ln{DC@4XjOOm~wD*pe;DlDjRr$hPEOBw2E= z*kIFpC!zNa0n`JI(yN)q1X<>ub+kMAKY&Cbr8HfPSvo;hb{&!0b=c!P*1 zxJ1A4lO~B*^tt~dL39i!2>+(Zb7s32#QypYK_pHgh$Oek?hD3^ncJOD5ZVBO;M|_= z-gm&jyJN0FSxgXwr%$j~$oIb-@F0lxj|hUhEI{Jr`%_fkx8UAx`1?2jDg+ca1j@g_ zU$=l@Wq5R$sF@&Qp^wX(!Cv7Z9G5w8i{l1ge5qHkr0L=CTW}pu5bYvDWD4bz8^mOw z584xAg2Of?68>>-@6eTPNBl}~xnDpHakTxfUM;^*@}CUguHo*1YcA1>t%ZNkkGto| z5aM0#CAhzWyT%U5anI4fg&^h-9QY<$aa5cvf(M1&tF4c9DJ>~}ljwzJ%d z5D-5)%UtMZbCz9*P8^Z5%p=-x20F`p!i_V=Sr!nzI3CWjE5YYzo#oe_E5FVS2$8_-Y{Mt|2{t*)0%E@4p0n&qw00frEWh?#`E~wRuH&8cZxBP;e&{T>ey-ex zn9x?@tQQi4+OBby-z2)Uy*XYM5+M)t4^WDG`1BMH=-0nrZ}DO;sZ1&n_XtobLx%P3 z8)3if<16W_j0lnVN)&ik*g%WeO{j*5U3DOl1Y_fcbT73 z?Io9pp&}^IMUx{3-43LQ3r_K=14v|P5jb}I-^cF9a$Q6Mysknci{!U=d zzAP9ol~-Vpmv@jvtPWHLh`q#<#?BRcDTj%jlq!7WfgwsoA4OnLADP_0@9ar4oV-l; z^7E5O6kf{6c@qDyATRmiS;L%sKD+gy^WHGK9RAQ#?7aPq#D4t-I9mM?#vgmL^ox~p zFJDQpmwdHY=I6xkX!*zXYA=P@FHo*fibKM@g8~%+Aih8;kk)UI*h>m!g%d#cmUa>q z$ks1V>S)UjmYp&2QXw8E3$k~SOM=-3FdRyjg#JSZ^izm^WUO?=0kSZKL=638 z{&KI7fQa5=bwD5pn;kB>7kslL2PF8x@G8XK@<3mI$4!5)5V2Aw4q?>*;3@-yC5k@c z8D2iC1Ev0Ag(S!iP)Pj(eI-&KiJkb>QkgnP!uI#_mW4qVK*16$W+{`jXrQme2m1Kh zVLN1CZ|LV092gV42IESh3WfNY@`zda zgYr+7$b+E)FsBIkPz?a(V*iL>MQ`zhFmJCwaj+N6ybwSk1C;_zm?cq*mq@&V*z!!D z2{NfykS{2OmoE&$Sf~Ted}LvA2W;n9vu*ukGGB!<%+F680z>8H&khz_@8jhs0fDje zT54y(d`B_R~hLr$pd{rV8E6Z3(lK&TZHlkC`8`rM)9 z2k_N^RSqr1&K5!N>jT$PI}~524}&sGjU38KfW)?SC#DiJ;CHs2Iw_Q%L7wpf1eWiG z_TDW0Ebn5FM<4s&^OU`aw}l!n;KB>~1;MvBe6zUKaLv*ohB_ASSYocdtOPlV?b3fH zQw8wCj!FphPykkzh9LNrL9IVXayImz@w;)E4siY8BY}?s%1R;<;Ld|9e~<-BiTrn0 zi-}ow+|Q5ipF#QXcl}s;TlC}4WYiDzX21*7y$aOlsSp!?*5jFU*%6fkN9_0p+c{ee zG_jiTqP9K{^ZD}2;ImrA>YE?PTMi{w<3d1s>=?3|$Z8R*TY+|cU}eyc7zEes{BYE> zy`RU_{SWXYb`58>lEor@0dC8@@dJpgHna0(s$B=f#5mwD=s7H`_6I+O;Lv@RUWXL= z6GQD|#M0wquXAVyt7$Ueh@ES!6xn$y0}WxN83Okr>@!{sC064cZ5(rlZQ+S#8SY*VR>%&q8Ktap*=1<=#-|&~XPR&oq;r zQ!Ks~{bRMpF*Ddctn^uWSb0l0+hD z%D^F2hs{?59&ezJwVG@jFFPid57suf%(w{X7Y5fp_L>$e%eGR$=VkM}MgLj3h~XiX zT_sqa*(=A$u@e2zzRIxJ*%9@J@eKx;EcOY2(;M0cLYeL7SkYL`X1S2rF}F}S3;L^} z-4gg^Tej5C1ezy6TdBR)mvC4LR_>0OFc$7OB+6PfR{Pmeba5IV_TQJ=;Fk5<9iX$j8HW^G zYFmCCbBeW2ELZG2eSTK9@WyHlJ5ub3uoj73r6<8RyB4wQIm_{4yG)+x8#~L{F=KgT zId*93GrQy9!(l1e5fVd-aJxpcbG^j^uvD@0!w00xLh!cJxY$0ISS_9dwGKUGuN&#Y}dZSTV%(#-8zY=cdosAoo2+HyL9dL-uvBq^z8LP z?+^R*?bm<6z(F5)jy$jHpj%E`?u$TylzMb_eyTep|qxx4*dg6E2TUd!(X z#XNZU_@B!@|KiK9zW(Oh@4ip7NS6HY<4-^TveI|QuYQ4%6_x8ZY}vYTQ{iuAHGB5% z+I{d4^4`2{XF!O5s1%-tHL0|R$cgA+IDH*Mbw4v@Z4cQAIQm`vB)TzY@OO)ddD3LZ4_{BJpZxPl718xcCDHat1zd+d$#^pN z$;2mppM3Dd^PeXlKOl(5o{uLz{^0Qkw~KBU-Zm4&?cCdGx3#w;ZhPKtf2-)$v8IPj z-!*+k5KUK_jx-%;s&7hcGJn>acfhGvQYWq;kajqc+=AKpYx>bJH#^LDsk67zTbkhe;_=GX7E8iBrXu=!61E3+yf)x z1Csv^Ou}X25^)8lMH%rAVjYahBchSOFd~T9PJBu1XJ-}r@5wdRU;D>@98fKS!{Ky# znH!0{+1K_aVH?7+4Q)->hPAQ{=i1y{#tcaivv zvy0b{H{!qp&uyWhgsI|y8G zihdtO+P|T{{WnY+IH2F)K~kAg5*p?e6bSwxX&^WY*k^TcSOog{DZ+w-!GR-_f^Wk& z%tsj#7${Xrz!w!XJ6PiH1+KF|AMkR7!0m85j0ut;r5C{M*KcgUAX%hD>Mw!2L6RVF ztJoX(vmPOd++H3(k8L?%;Nbt?xje=H=SsBu|NhUF_*nCWD~G<5P1YFZ?J9>hdIQ3f}?}uOZ#H1g>zDZh$CPxO{5a=d`-9#@Js*;4?F?D zwj0(TB7#G#=D->X$87}c5vmE!>jV+Z;k?1&qzYhBA`AqPLl6Z7v4$Wj2@YVi5JWKn zn=PW0fJK{N2-pn4N=>Zbz@rH)zpy65vleXpIXN7{N)RT3ljlO{2_lo=016|)0k9H+ zW8o5^1P3^Z=Mc#pPAP||A&7EmWKdu{aV@4g=X`sp{`dSl)j zhBpqiez*0a*7DX>t^d*H-8Q*xz7h5nDuh?tj%-`m_S~DoHy6Emr`_mw+IAP)bK2AG zr?>ZMpVoofVRnby4xha>=B+exFd0d1>B#S>=~&Y7$=ie9R=s`Ht+SiE+ZMOSorZOa z5^+Qxq8ia7ilP=$JKpK_&SKbZ_kZ{ByWh}l=t*=1(~ijyzb?-2+@o_tmyf$xySjB% zbUo8;Xt$DXH{Nr5&*#0m_lLh<+TEqQs{0Q;R`kg1`CiYYp7(pr?X~j*<^x^t&b@bi z=-Y?vv$L-koN-k5@7;gnfXM@{4s;vnF|cOfPlLP$9r&p8N0}edyd{Z zru7)lF`6-F#%7G&H}>ao^tg)gy~mFqzkdQVK`~JjlFWq%1hQaL_`?_2h5|IFPP}$mEsu&t*d@py1_uBwjEz=6U(;IB$eP9=`C%9=q**#iC<4#S95Hyqj{u7Z{EX9 z;b;BI+rhV&=khbJ^A@Z0QE5!d3|{XSt~~gW`dAO<1V6bm&&yFh$kz?w?Jdz;3{1vp z-d8VN;r?h8`4!u^H(&U^3JE^51)WE2)EqSU5*H1|LUK<?%s*R#NS?QQ88nqED4NaCY0|dk3m#>&0^0)Y} z_oa~w=JPgtniUe!f}o(8ivmp+H60tR_121F)`ecx(L!`xd(`&eIA_~6B)q);Dr$R~ zyUkWc;{H3O_aE&36p^UQ%1s0MFPewj)7MhTuPduIZY);y=p7;p@KqK6NTUq=-JiF< zsw2OttlYTC(c0hM8aLvpq~6xGxxYzNvb<1FKkEK?94}%|tR5(NS98_oau#*Gz^S^0 z60dWSx_KelW#-cU3+hMh7{SbuESx%6)Mw)$)cx$vs`YDW--a4RK2=;-zczzW=LJ`< zTJKtNDC_VB(U+=*m`Zv#e|?sv#GGnQOJ~xR3PUiZbWcn4XV&^u&+Z}$OIwu~K!1RQ z-O=C+qSKr6_H19T4c$N+3v;WAMHREk2hcYj-6LhH)#|0xSmmC*$Er4OsA0BD-8F67 zLRTSH+I~=>Wvm{)nidMj;c=>eM5;L_o4BY4x)jqY(xa<@&TQ>IR*=L1zQjOvF7GjCb|RDNt5ZMW`#9h#sOZ@%yMt zbf_lIN6VZX`6>PoFBS=ZX`TqWRo6U}%!yHFMNtv4Nl^x-91pHd%*x3q>{Ov3qZ4!* zYZw~1!7V={tH3NO)|N*bY5X{e49^P)H7r2`SGpA@7v!Z@xT3dkGFg|kvnsqC3lQZN zs!2`Ej&a4)yOCzu2A`tpd#ImVY*Ac#T%0RAs}OS@i2?t(^IV$?N`skIx`)9G67xOO z`bY-1#cc(VdbJ1CV1~b^RBvHWTY(Ty8>&K_A2?fo-UoWW)&Ei%KCND z72f`=fe{89RLxaD+_mOxa#%{LI*Gwyk286nWf_XI7@_u(&F2EA_AZ)pn_G)^lX%HS zF`^N(4Y{CTG<(Sxn8f75&UguZH;F_&%kN(~TQUK^gQv(wPoAVaf`-yU{Z(5Dz#ns) zd)Agr>Tg)r8tC{((|NOo=pv&G3PTiwzT#W;l?U}9DM8FwzR6a|%h1KACs2X7UtqL4 zD?BHLVWG^u#z76Aa}V31$da{33-?inN<+Lb7kBP45O-(7S0!s?qGUr{dIF6;2Y}^A z_0tmpx1DzBE}%kQ_;fi*HFzq6bx{;-sPfHbbvgxY5(CH zq7$nQcJ4ey78+v+%~#U~L21J-^8xC3p1;(6sr$!1O!^|;&8ra~cV9Aopx3H`5+$RH zNsN?=Lf0xUp^jhQLBqbAvvph!Ei6@`j#q5mfcv-`Ty(+qkj&OZWvjtNCu`%G(bKRS zu3aKhW=TucG@6P#@^9$%Rm{(O1;sfPRR*S1m#e4s0V%#TmUb+Aa20jgeJCDpb`y5L zg1$O~-aE@dJMM7L+rA;Cco#3LXnpQx>dT{{Sn!@_58TQ#D8E$6B&t)Rf<-ZFLvEmf z7mzEOgvR36OGc*AtHO0@NlYQ?#nYpYb@dyvj7Mo7B+nt9~< z`Xp^7lU2%yq|P&kyikyugCnqCTkI$(v|2VrC!wc)F)zX)uju<{Y_rpYp_J z^3%Gd1N-<*m^5Ye3Dhrx$rkLXUth6}5>8Rs@I}rxAlom?zv$;%hV%{eNG!wzwuE4R z*YL8GqjWV=e~#oxh!R|d3D<0gfTAnN3+$l;>|x&#^RU3D(6>62v4mGdRz|u`mn@$A zk*M?jk5DJ{+9$VvIjq_$*+@rQ!VAL-T@S23u=lPAksqz?OMm)kC|RK@4P79b;OjYS zn$M04r*`c6q?Rs?E{V28xh_NBkUO`B&YbV%<*|y9Tf;1|X4lZt*vbac@g3C%XkpiD zX!>RJ=><;pXUOv!7rhlq$`u(o3MM5+Cyx>-HfwjIu~%Tls7$93R9(kiDco+_a6B5n zeSBimiA@zd>KNQZT$yLi@%HNuHtVo)2EZSYObCFGKSmwV|&Q)8#?TyuAF?v!wa zB1@g4W^#?y)@{_*jnOm5%voQaX^1z#Jve0t3`{};bb#|qLrO&J$T`G*%> zFfexwYs$7zg{IWB97cEntj45Ewnbnye(0E5V$mC^`mF4NR0dCO9?MJD#28|zh{5HliUsG=>iwr698KwE1fGuB@fzk(R0Ja2GdB^MwWa^Qh_^ zT6KZ5wF%K*akq9v?fF07Ifq7|*5k{UXE0l{_isn7V6F_T8cz4%tCAAqn5Ko~F8+qb z$e|;G{JoeZ{E03*_y;y{1x7I-t((V zd)98WCKV@{nCJ-qCm0nY9~N#FMNS^Al zB@}SZ-m_IlYnnyRpc{_fN7>#1_THJ#_ZA3CwAWGPSrmGeQ+*eGbd`&enirGUZRkvV z3a>jb6N%1lt0*aF47S!h{5C%}DJh;=bP*c_3CR&r0n{`}J<=fMma{*ut<}U>ne4(W zD+t1;VhSzX1_XU^8EsIrvKR>K#`=yo(_l-`JVr1io!u^!;(=&`V5kAgk4Fpa_s~@| z5H<{pOI6Kt)SRt1VPtO@9DRnR>HQet9PNeXcA!yHVDmHuO(#btdCgfBY_W#Z$(n>{ zl}K6IFmeY?m4buq`*aTRPs#kOOk+Zk`+P)>ID$Sx^=_8j_}pMBCOlOa&ftM~4-Xv_4Ald@!ln8v%`SEdQ9Bsp z;i-Bh^LQu>Mt)9)i8+GD2!!ZOCl^PMu?ZNtk_EU^Q4}xjw+J*-FER+qMm69LxncY8 zAh!m7W|ko*o!O6i=ax61_NA9Qr3S^|k*U2?u+FWCCA)ddRDmWXQIo<9#GB*%q9&*5 zI;G}BoQm7n8y$3;!`CLHMKQwbPNX-`B2b_!9gp%0va|D9p#zN|^frA)0rO zy9WJ6;>~-vuI&5 zXvF%kULcU_AXm*a?ki%50+Bu{Ek918dvZk4+4H;R5j0O!@ct2>f>%Q8CBfp6p ztbpl>)Wb9dRwk02pXX#WBTUpZ*^a^U(LL1Z9v3ZXUP5A**|P^PvwClLXMVu1@wR!G zS1lLK3h|z>G|*D4qGKWw6;UGDrqvJ8J6rGma4dTJqGL2BP+MMbV^r08(bf%Bhj(m< zi8s^c!t5fmsK&pnH!TESnq97NP&b%?KQz0L#;i;uDCidg`+(0u?>u%9*txU)A`o8C zTyAa)YJCgM0PX1jnmw3R_eTl=b}i|N23@B!sAbUGfN7Ew({%hKZgj%O$ul}7@e@xZor`=h5&h~m zmmigy7@5M%!Z%~bYsRGvx8F^?5Ose%P%?!do|X`m!3YmKW|OTmNaACIK32y_x`)k; zn4?+MNwY5Eu<8>Z#B=)~Ss#;nQWPBFp&t*W_E&3OpVT*H%6)j13bdu--? zmTf3bW+5%R+>Al>rU9hoco})jkXg$7BLb@hN?qC*290@)@%#MHH0@MIXv7?N>iZsZ zU`JN6m%;2FO|=-F`WD*mtI%LD`C{7{ve>v?&#VdSdM}X*kCrHOOt=NTHZ+G4#%s=? z*+)^k>zvx#Eahu#OUbzOh`cD;Si3)e54EW*ZW%K|kgpEP2&1Mxu!jMgq}(!2?PCN2BLN#YfT!Nh$I1BIJc-rsN_zJ~B9NH8o4th&rQ5`$~6KS8KHvCdZm?Ef5JyH5YBI&vWV@A`wjZ z{A*-#)L{BZ_eblUfe%f~C~EU6XAg-m#$Pn-`>Q}e5i z+4Xsb=`54mn6YP@2oaw92h-XKM332wM4Y2Y910H(Wh7MTwhorA>F2Dj#CMXEDmsg&8|u1e{+LCO^iXU1(ge{bE|t&HN)c=BFS zRqP5;K#YbzUS%jmT1?6ho3SO{ECzRc>(_8Z9U7I%9`hXJMpr4_X~Wz_Cm z|CI~|XJRJ1==@V~D`MA263;kzR6X`$Xy>~ z9PXMCksclxwzFIYd(VDBexA$a6|5tw2v1O<+4gA;oY4=sJMhP3NI^o4 z$&#LBqLHs4y0AKSJ$2^BR#b+DOyAaHfk#ZJH*;e#X|$H)R8V`XLhu{dcVSqNTAg1G zPN_;fQHAE5w+Ugke~xIFJzv`tWNC0v{&EWQ`cA;1*yFI@c&^{p5+c^n z1;!i;c&U|*-Du%h%{d$Y9Gar$+_}lUgBY@Z!JOM0cjm6Qq?l3)XpK5LSxNcp8@DoO z+Z}kg$~n%whoy(jDUB+m))m3s%%5#~Ju@an9|4X6{9eq6 z*e<#`os#+bnBO8V)4s@$w~(*WrNpE%L3n=L%=nLz17Lrok3nuK#HEALVBX+FePlW# z+z#WL0_Q9pfqURHCXoqVpz>8L(kMG=Dir&|H~5`#>zAgFg^fWQtiqkKnRmHBZ^>b5 zc9(Cf`qW(C$-KH|cDdL3X>Q*d(n_=p?u7I_p%yPV%RXMAZc*gW=#bDLN*R)q7t18X z>(tRAWoguri|aR{4r|~%$X3A{lBS29z)Bn#Gg8|xP1`Beq(e(-Kl1TH{D_wvpQ?=)$;@$j8m029vn=ZjOkP@1 zY95`e4o;d+4dkOa=n*fsINg{hvTDJdDfGgVRsUdzkliP(Y(7K|OG|@&QkdX+hQ0(W z(P0}iZh-*V9a+aj_drpzlq6&e&!sNCFGQe8(!;eq7Lh}3{oChCy~@5>@X zIcuO@ROro1Hr^%lnwrxDR%;`8FPDZU$(TWc$q}<=;6)-lW#h`z8X9*H?5>3KrOyRh zGuM|Fi;O9-BGYlTJ71cfy%(&Y*2T z{|LY^qGMAkYo-Q$E2zmV-p$~S+xXV~yc_(Q47eJ={|aq$Zb|*HP&GaDgOuP-scS;N zR-f>Fx*`1v*YW1_WxDVs3~I$MnalI-DR5kMeX^bbXUw`xeJ=BPg}|sS z4$Ye8nwDeIXHn+#j2tHUNZ6VflWU2|T((xULtgDpZ=Og7#Kb7*s5?dc>b&SM(6@!Q zyY?-1o$VC4uK2+TOR;N3O7!}0Dq+~PMJpJ+X?YPX#NEJwB;f1^U+jKV_D3(S5JzC| zt*19|)~A!<-FW)Ktg7OI1bLVyE=(0^O-!N_lad1TB7J3C-Hvtj`*z5S6m%rtc!Ve1 z?KC1{kah!p4+Vnkmc+_L67)JA31!?GkMI)(?t+6wJsh_MHHz?ewRZxjjV;6*oW1|ZygFAqpZ3fls*F{Tuzp?q~3}DOed<Tvz-KZ1Lo&HQrhc#4~4ycbxNznSql zwoPPAo>fyr6@7A5&zR)<7V1T{wRwfsUf=4O+yrfA0+pDQma2Qs@BHvu@YVJmzWBRI z8DTq1>aE^ow5ecY1J&V&^}3}8sH0nt=4Ubbxb2a2RH|ed)!_^8l%1ZGzh}66;BzGX z^5fqwnZ>qS<GhH0QA2;19HNb z+`+cvd6W3fpPR%R&znTYaYB<_xc|nP0utJ$zI+TFNN)VQNN(9CzkIBpG6Ez0Z!i*K z^Lka4a9}*ij-?%8hZ}$CIA)nG_OA`v^&kHoMk8$Luc))A5p^St@r8wr4FkS&yZ@bk zLv&$$T&K~4$J~lD#zgxEbh_VtK+nbibF{Ib)8!_f@LSC-+ny%QPWutn-6%3WE59tS z!gW>6#<+bH98`UdYQ9ap7=3^-tuH&3mglM~S(c?2=@PYJno!rZGGCJig*(pakBc!s zcevG^i3^g?Nl$i-%&1GSPvz5hKwVB2}9u46oZ%W;JQiSG}k~qQFYnn1L z*Ah$DUcZ9;x1kQMS>73orih$pDlJCnubiwPSJ;@p)b;H+vq4Tf^;h6uvz>UkemlWC zP1#=ozsmODRaM)Gj5T(D1(Tw=-7D&rY{>!7^*EalBAC-c%r_ub~h`wm2@iZEI zom*#HNhTWP`H{4>ek*&lSp!F#tCRvxH(TI@eBa+l4NR!l*uRQPO{dFaq%*83mW(JK#bIEN+x&4?=4##|{adByJ zl)qn2wwyt)=Qh-Bq=bv?&ttn@a>BW2$FiGAbY$OGeI(1@&D)>VP+9?}*Z=ZJ^yyKi z!#w`y&NItlTmRB!`Y9C-Q}~~wA_{eUx!HS4g~ROq=cvFPP`_6-aZiZ?i}4?%=ykO0 z6|F8j(w@lVfJBW(L#KGrS$9ec7r?eA{e^YT$@>F?Nd{b_$Z+;-(v<=X-dwpD)) zYd|yi6(!?1^0Y5S_G8ZuH(veRGaL1Iel2;Gr$om|sbk*$#pBX%A;sdQlhOg-F(dyX z{3Gbn%Lno){jkOOi|{?r_pdt64s7c;xw@)}64@`KYQh!@yxKXGE~*2I)K>V!KT=kGi3 zv*+)}Lg6{lQfaDi4X)mhu$%gYJ%&G=yi?oAlr~oH$%Wh|lb%jaiV2Gjb*&5aD_BO^ z&*vv*dE`r&s1T_~vM8c9){;Ua8LA_3ztw(Tq2W0Vadhq8Bfo4s=bElE$fY9uo(_)l z*EDReC`ynO(6~Jg*@6&w`+H8lx1f(+ zkyqyu@#pJ<5UHMqrB^>herLEgvE60=jx#d-d6&J)5t$w>s15NmE@d4mAL2s1e(y*` z?%Pzju9opZO6UeY`$r3qnRTh$JbTeHij5Rj4Ie*V1+x#12x2v7Q8x%bJI8?}v=45g zuGhKM&On)8c5k$Hn=nT zbo)#3tfOuFUr}Klfv@-MS|!9hnexjDMKwz*Cu5gcUaX%8^VnEg*oxRb zcX>r?i#ytG+hvU21SjFYR7bqV_60;FHg|VXiRdHX5um}VE3 z=MG)t|J)BT=6OHFVK$G{#($bede@mpite#DnuoUBcs!^j!E~PO3l$21Jm6orh-ns( zWl7e^d^){0y{2@dt2H?`JBA8(A2`mZIJ{v^X?ZO~PRz5xF&y-0{Ds@t9Nv@)}jEZDlC`{wdnJ-{ehO|QfMx5rot8wcBtwWED!PbhIOJp zn-dKAfuGv{zx6}Ii}`x?)L=BK$_<3jTz^s)zhN+rSHs zDEI*o1;5j{zpNrvQ%Pr;A(vECA5u8YZ)H-*D%uhfV3bgEdqm@2%p_+-{8@;khtLQ+ z3<2uya&vE1Rh2baYoWD@hBNv-xt3SG@uLIVo?s252?6%hRQ5=zXPbF51M5<1li+e>3=tFwhAx1f&>?BZ=T_-e}EXsEP*UR^1E|8e`9QA zf?~P1*^k0RuQ?ENK4a^=yE_|7iwl`4f(eTv0~bh5#X)pjWO8JbD0rvrCj9`;o)*W4 zs8&(F(hZ0~AMe<_qtud^kPj;@-!Uem&T_8Z;9hg4mN=CHCKap2{eR={EitY!7weMD zbXH-8HD6R7X?CBpAnbh_ySAj3oDYJxS2Q7ytEk^q#8Y!NJmjLqi`W;tR5RBFKbp3D zS|TbAuaCCU0gA<5lc))jHT#e3-u*=;lYf<$8ZS*zQwt2iO+UvN_ay4Q(kh zttk=}t=##Mkw$#M61h&s3={N?n>o9`XwW{zrbK$KddadOq7Qe@LoNwm#A>x?zQ17W zbc(a~HtKTuA8nMD}9<^MOgTxGi(XkIDz%+9L{$gR67^r~F-@Y%FAAgM!xNN|qVP)DO+=ph z0kylc^w5Y>`WrNnSG+@0rWfI3Tln`&)}7s4t$_`#zO74v6FFo%9*6g;>6 zwd|s8ZwQ2uK!q&|-YB7kq)Hzay$~xJ0DXnF)5fSO2m0y0fL`T9A6W@0!w&RITF{p` z&{y+g^}1;gY~KZ-URBw~+0zDY-9*v%xHhhB91C3jB5)s%X~B`1Rt01xBtW)iM5XdP z>i7xE+f(4hJG3ls`<^8g%yuLdTzfQ*|5>`eoUwf%VDrdP_64N)Ln=A0SHfFXR36MG z+=SZk?MdYaP~7j6$_+e}1r}Ccx|bP&6i*Y(A#oWQROoFr+W5QlWxQPwsEyKPs*FoJ zt;^%#laS49UxXl=85Ib=t+r$)m&EPv)GLH%&$~hAROk&g`r>!lH~5^uCq61UQ*B(* zX;T3YA8}@OpAu{{IU#t)@q`w%nH8X?Im;7{Hj3JQ<8xaw;jEPQ)i&KkYGGcS$AR7kNUq){n`|%M%Mc&Jb9laxJNDG;N~xn3bw9O}I?Wq(?@;>#5X9@sK%F z%(7u_;-IK+xuWD+#G$Y@bQx)$ExfGYUbJaaW9Jn0G< zJf45_%rBR}5*-iO+H1m)K)(D2vD_2o9NG9wG7aeF`KxQPwq{mZor7lFt z%wI48^Ay8fb+IY&@ZP7a=)8CujULZWF&fkIs9JNLh1t7VP?%p>!5aEJW;P$sN+yd> z9lW!3oes}(6WZ$aSEs7bzN@k(v_;(>#BWRdwuAKF83NmHH~;6IATpp`WQXE^TQ)XB zfvS>~PM50()##Xm`YBgB#Qi(eH_yY<|5g!)+Zz8Ujt=`?*c#hXot(H`KCQk0%G(~4 z7kvq=#Q&EyxVim@{|)ZrUtk~8kZ@)ju0~x{wvW`Di?HqO(;P--#zm*cQLD5G3g%He zL5i^mRJtK2tDM1~?sXa6yM%6C=iGAdu;0*lC^D~>OuS)A9=?ThH%WzJXExodGR z^1;b`^JMCU|Oq4L1-%Ii!{TOl@}p^<<5uS@s{@&IT}DbqimSIQ+Gn*$VpLQF)3uTV%PT@$OO*LB zYEh_My)00kXNI)in52jZkxrkKkwi!2tdpOl?ws0sacz8A=sHH5&)Zy6xVc`mA+B7p zhL&zvuv1axsxH@$j|>t5$3d+MR4ngO9=WZ1#?A--^Co zv}e>TKi`!>^mdv5hRM`>fm4PtHwufI7pt{Rp0d%-9G+JheI@PRTs#BuI!* zBn4AmAw@eF8&8lK8wK}*N-{g9vcpJ|ucl0jiJYez?;xgl@Fhz7&EOUL@ zuBny1U5mq{`F<24;B8d+&4jK)X9s=)t~H|W_UW}%(E(+2Mo{`HKR9Q_^R6_9UFD!p zFuWBs&s+sb%&9QNM)A>`=n`&Y8^l9h`Gq;<6$PmUskscUx_-m+BFG_nR$Y& z$j~emHGR3PH|89OIlOPL#Z(2^(t?XCYiCaNiB?C@=wp12OxCCp!>QGwraeb%vNseI z>vTp&7=pH(MhzD@4e)l*vyl9#Bk}N^o=x|6pMkew4)xkLXz=`*xF>x!nM9nbhHaZl zLa<9$xv!_UstUQ#!gKI?t!;NW8=KJlCaz7;u{5X5T4*1HiTpJixBrTUi;&v;OE_N_ z&FcXv#{;%>sb4{Rz$?HMQ8Ae@Fg~akKk&Lg5~B}AXvMlcCr;Lm$18C!34SdQlIt5# zI~95hlmuP|ivEF)k$5jZA|XN*n;w@L%b=w9`4L6hvI28PrjZu@1k?WWH%GhWEgf=2TdUQu1|q3?9rM_&979%H&y6*kvm+JTWewv5%W=_jxqL zF?6;bwz1BM_x^c!>&45)X?kbpYc|_HTEYJx#@a&w?6_V2?J~!Lu9NA~g2+OHYo@if zcE{d)uT#{)?e$efOuAK9m{g!K#$?B6T*D(3QBwDmt<$Jk-T^Wtyfcm>)BUStcox>)kRE7Rh%^{%{4JBNbcvJuw@G6?ir|1Gs0u~tIYz4cIjw)i;ufC zPv&JO#O8!i5y1&76PP_S$xQzDkMenVCFBJA3Lg}znwP?P)EM+5iI*W8UW#pKDMmcR zMF?L01j*U0&_dJ-dB9GqNQI`}K|>uIf|2lgfVn7#ToYfOT`EE&1u~O7Q6b8?@po9joFKI^ zDXNMD)JExM%+D^eh$><#ZDInGoMK3#Qd9JC40aL3W$4rCtV}}|m7fEC`y@>? z6Q#?FjY>^cQQ$kz&&$opXR|dqEIU6a_ahAu~&J%rZ?I%`$6R z)olIER8##N+njzjQ|6lco{AfqxL{UlO^tF{#tl*22hDvX$OJ_}E_m5Rtn+_AXW?E1 z0b6G3Ki&I!?z!ij@A5pK=Xt*SIp6o^%v=;wQm5{ssWWG^F1cJbz3CJlIF{G-`O;Az z_Ri>u^CKoQUy%0hy4D@)zBh+-XV0BACpdiWq_GpHOdJ(5e&X!WW8RxKK6vyLHlmqF zx^w1EpB+3)PuGid-=E%k+O!#yf+tN0n=>tB>hvj7CQP15FMr02nbW3+Jl@&smAX@A zO`Fqt_MF-CgTuonj+-!L;>eIOv_#*VIBiVu=*jcvFPb+$JY??swCHEenH?7LdELje zyxyNNZRU)r(`QVT5DON~pSLJvQTWtFi{{Q*9K0lK{DetUCyWT0?)~`_^CKcYnY*~< zv>DT9&I}qom9TT?E#`%e(-ws!7EE6hK5y3i;3cysO?f|L z*5pHF0bV(EXV0YjJ<)sIr1|sb&kc_V37To@rjFaGlc@2ZX|eWmG;apT6m6ZGQt-yJ+^PuLmRdh+U5 z*N%G2=gl!A2fq;f{9BvXQf9nxk>zlIq_(_xrs?o`%O`vg96m2>Zdk~~`3t9n2hW{1 zD~xwh`IfZw`umK(ME(`Km^Nur$f9wh=e`#_V(bLoV8xJC*)zLrxvQGKG-+V}2ZJ8{ z;+>6aR?b~AuQi&PGcRZ!D{8}APaZ#U`nce?CoEdEeqGFGD?+9%oUm}*?8&nx&zv~J zr{Tt#hnfGDPM4Df;tS`@Sr8s1eXfYsbh-k)tWMVmtJ5`g(E?Pobopw%)8+8ubx?6; zNw?jceT|!W_$#v`Hps0bwrpfc1Rb&E3+5Xgv5Dm!vGHa{Y(_}Q8@G6!F577)xW#Cu zSq+P^A+_{Il@ws>#J=*6QK`z)BGw4MlZy8*7bi{|_)&=j(iY-}Da@QlVH@`h>8ZY4LR%h|j74ts~ z-m-c)b=yl%{NIpwhtFL(Hbj4^UKe?(UJ36-wBD;{ywBzad9U8KlJ4ev^bQ6cnni5>Hyzcv95$~@F-nHU+-mxdIbT?lTWUKuPf*OurcyZdo zl7S1o%br_!>9&P+t#cpayk6_bu&}vWgL*R?)c>ciqyELNffsE}+3zO@S_UPu|G1B8 zZCj~=p*uY6s-vw~1+g_;)r``-ir~HiqNps*^_-)yejr`i*TU z`?ine{}kfY<@|r(mA^+T)sW2`8rcSEmu>yv{XVvIOXS{4^#s(4y|9$+ zgu1~NNgR&C3;R@bm7St&%i-g8;tMWSkjE>kv5uACObH7P_ zIR8eq_wZFWcpk%+N>mdlR3&N)(SyIOggk_=J?MNMwy{+Cdb|L=3jGD$OvPTyu$O4n z&SSi~-u5+i{~XuLls7g~$JR^xPJOPGVILi_hmN*!>So*f>SoVLs-q`cReHWmo~PAA zwlHuF1Me?XXIr3Z4>jSuKIg5G^$FXX*vfP229N8=BTTh~hnsDy;A;kHuGR6n)fP)w zp(D!A)`$B8u^&4WM!2Kcuv`x#ozGMY@n_p^^hNrfZ0l^R&$$PLy{I`Hmy#yFrKc@+ zj34P`0JhHVB8rWedizbvfjV55UDs^Nv;2QOF4>d^=U!-_F8ip| zQ@$^~G~{h{_n;xKy`mmqfAP1~qx^kI4U`SK)U&cdmwG`q=2C%VpNUv_Tciou7ks*miljdf?$9SI&}>%?c(i|k`#q!(?b z7;m0GXr}src^qI~f7v{~XdYiMkI$LM-@9EOt^S9z(U1>Rhb_uH$WwNFkt-hX+CXjR z_&faHgDuW%>oWfA80S>+;-_;AO*REdAdj0A>S#Pj!1K%dTZGAiVcJ}S&JIQxR z{XzBf8=Ud`qTz#$`ZRjB(F=_RHH!CN(0D?VI!(?8JQ)xlP}sCjvvJLrw;0_rDrivf zjNr`R;#RF%^=tKZt9`9fTYY!k=GF~ccWixo>+Y>*wBFqMK*)7fF4Qso+?MH1tZM&}R#v6TZJlt;SO@nXleDkIDJ372@%Ya+XcbxQ_ zk)4Ki8rErar`eq%ZykJVX6M&$8-4riE|Fb6x#OcdqV7oOI;GpAcTTu-+MOHkbaZds zeL(jK-J`pI*W<|^!+I?4vAu_*$9H%6-__x+zIVNFSK)7G^bGA8+w0L@Cwn>X_PD#% z-QDia?7h7ANB4YkZ_hryeLCLva^GkB7T+KJz+Dd{JQ(!Q+YdK;Way*&9vjlHNx#s3 zulF0;?{NP~{pa97YR~pa0cx05qTVIF;m`?OgRBF#oPTkZ3(p;#;sc?32 zT%_$#i?svl18tv*(B`S7oG;_va*ivYNNs~!39TZ|M}+?v9zJ0g$kp($R@WX}i>ZEw>!mDZe87BP07DWnrMIuVrDohp=6zZkKnV)8A5J z_oU_Xh?aqUp2R-Wu+QDtrUTn_V4DtX(}8U|uuTWH`8BqA44b?QoAkYkJ!W8g7qGod zY%deryMXN#VRv6+cj?%j1G`Jd?lQ5vOzbX5%_YoyT7?U=eC)0eyZaiu%fjv)*xd!} z&WYXSVRxC>oddfoVV|!6wUW52v{dZw6t-5R)@eu7dcs8^uN~TiuWrHa ziO^os+ozqw_P)jTGAXTn@QNtN4*7x6Ui?`wDF%y!U~v#E4uZu&us8@72f-o?c`|72 zrIY@7J&kPA$R>?!{K%ggxik6vRvSk;4sc5YuMGS*1OLsye>3pk4E#3(|1HITOYz@Q z{I^t1pe&im(ZI?9Rt~TdpLBqY18f{7HV$yfG;zrUmrVR|Gyb?4Tr$ALp;nXDHZa%@ zB|Aj(gvXHZ7!n>s!edBy3<;0v+J2K#WdbEcBnYpBKGr@Z#RQ~21mfFC zIh~Z#NjaUA(@8mG{~O(!8ok_0XXb}<6Ukzti37@Zzym0^`Tz&)968HqbP&E zq;&rmrTf1q-H%}npQ>h9WOJ;o1y<3L|3M(w3U9ei+eV2WLW!TOuBX)Qj0N9?CH|KB zx+h-JOZzJxb^t5*2OjpN`aNmdxtnCN?XzO0{KoNkICq03dgC0n?@}#T}#0W zlRz{M%i4<%(#65hE3?@YrxL-Ed=RkSvc{@nq! zf#W7>pv}}U@#L34ylten9ZJMY_mcNMt{FB}OgqR&&_%MIT0H1(#p{mXbw_9c`Dm*t z>2~3L9$a0`)z!3ze9)FZ$VG9qLlW*ZSGl8_?_Ig*eg2|1FG zBZ+*I$TJCanuAVr9o=L-UGbDCtj7-B4(8#YyPG>f_>coXDME`I@e3z*eioa~rF6_C zk6iM|C68QeI+yatj@@3uZZCmL9=POzOCGr7VWZjDXf~K+gGn}+WMi8J*k%FP6o5?u zws{bI4q}_R*k(2uU7`%LV~<~9k6*!II2?v!gGFj9CHXdJJCq3RfObNApd{|^hi*WU zJW7ge@I3))PEd1#niJHVpymWMC*J!nkaOy7xM3VeKqH}1&^Ty3GyxK+7UJFE&?0Ct z^Z^vfy_L|%&}wK6Bz0UAdE23A^4|dUM0eicT136&1-4BnyUt>pQVu!Inx`0Sv%xkS zF0$bw8!ocJHX9o(!Ul`5!6Iz1NUy1Ir8Zz zi4HQ+K_)uL)O8@1bQ1hiz&{QN%g{k8I!HwaspudT9i*azRCJJt4pPxUD%P8d^r=Xn ziu9@IAQc^?qJuM_PzDNRpil-1WuQ=oCzgRi8IqSFc^Q(IA$b{+mm&EjB)^2@MMz$R z@;3WtSoScp#Y;W8gC9dKA|>LLSO zQ1Zc#9lBfR%ukz4Np}eDoLE#bc#ne1GjMqU%;Uj49?avxJRZ#B!8{(!XMuSydw!=Mq+NN5x^ z4jK=A46T8p;b{ZZ71TZP>e$4!vA|W0vZX8g2q4-^qMjUd&$9Gai z>?H?#$-!Q7u$L^PJd2cPk@753o<+(W>?H?#$-!PSkTL@)GmtU^DKn5V7b$a*G8ZXx zk#ZkW?nBB`*h>a_xrn4W_^#BXIY_$xm*iI}}ZR z8=xNKJQTk@htFog!QJ3|n%1TRPU5iDIBYczTaCk3MHYImfh|IXl)_a_mJ^8h;0F}Eg-f9dCw#7dE`BhyyubkJo26gy)B@(1)GS(HzV=Q zNPIIA-;BgJBk|2hto36si2#!bFo^(@2znac^fa8<#$kN)Fg_XyPRqb)88|Hir)A)@ z4BH69Pb2ZuNNgk$8;JywB_Ohdp2k;r!FljohUT_lFRRep7Hnk|SbhkWAA*`6sQFykk+859qJ;sH=R0E!1d@qh{= zuHIkcI3HR-IHSLI92Ad(qV(5}gJL2mCWB%!C?r$O#C$Yp_CmWf&_ zsO`h{PJ-H5Z0`)HrGc9CaE;0ZhkfK>AGt_)4hhd8;W;Echjf-*NFON&>2i=R2kCN>DKe2FZ3K*={70c6ts{YY|%0Q|Nq{=|545V>y z9al9%n1M7INRxpy8Ay|gG%{)`?SJW2N_)<1;h3eS(VnZCzJ}NrrezN$#~FgL(Sb#4Q7u173fvyHRyHd4QMFz7BmbR0gZ%4LF1tD(8tgkD2lY~ zP&DanfGUny*CUVHbdPIF>$DlZD&v$bp&-==&78xwQke_&VYD}rnrx-s%K4lWKgTXh zu*(wcvIM&Rr zlU|1t3w2_lPApXVY)*X4iI2HP3L=qVB_yK)>*!&uhpchDO_Z^9NYR^;+K(|wKYez< zhkSN$)r<6tNxzu%i%DO`n0CO?4s|PIb5GNoZi|JEVsz_zct1$%Fo5ydq4YxrQSNs^ zjsuiN-@5sTS`Mv%EY4*ta4lmZQRHKXEStVs`{qVCTH(f#H+|Vl zaJ3Vz3gM~{t_tC*5UvX0st~RU;i?d>3gM~{t_tC*5UvX0st~RU;mR7BG1?cOaK2X8 z)(W^<;l@=d$d!UzDae(ATq($v>c}O4jz4lF5F-Jb_rY8J(1kxWOD{&jWe#cpD9_}0 z<)}baqejvWiwQI3cOZ6l{9waAh;W`1X8AZo;q@CD{5D$^cBb3Z8 zj;k9dJYNOJ)sGWK(EC|R9u>JRcH>$`&MYrC>?|4{H$aDMc$=N(6nu%D5YKiZMQ0j0EP0CA`_8X!zRzZ9+mRlMd+^S8v1la3=M# z*sxJAyEv24e9Qk_`}}0?aD`TnUgq0&PBjdiE9V;)kpNsyxTGlzzrCXgRb3s<;A3R;F1ifXv zsrZYGNcG1qWsIRZzp3amHLn?&#EjWwXbLnHng&gWW8pJpafW;ta2Rek!{SI#@ykv}}Cbx3D~cL8iW)dypVyUHy8kT42Erw@8LfHUs%Gk3Tua-aIqyc0@iAE)e&v%N z*WT)Pe^RRAO7ZH)(0;t}Vrl)0{6=rOSYOX9tJ13)OS4v}8}*2>ro&6`_f+Rqu3Go| ztnH|MJ<gPPwM|XxUk-@^6Ohbeto~nFXhcOyzz>X_2>Mak6*p& z*S8k^(%uL4^Y<#=0`d!Z$B)dm#4^GVOHV(RzW>#pl&$G0S$RTMo{n8d|47zr(wC+8 z{nNies3Y_8?$2}t(Q~$*=@?l4Ovg|0JjYsQf~tC!qo(ILJh6-BjIkI`TnPT#z~5Mp z-nmxN{8Uew7cIz(2sN{Wx4S4ROo+ka)Ko!bc?b@(b zxg8^c?X}T7CAOaDZ~|3t-iLHAPv-W~=BoR66J1|Yxt}MLALU8k$5 ztf$lSQk~E`9qKr}e7!n*-Obw&fA2NgE8qK7?~`?(th>+W9-k>bj(VNy4XtXb{vO(yyK08oyY-9Su7)3~SV;QO8CD8x3!?yir1~iJn#$MkBgn zOWmOE;Po^%^bAj8Jj+bdZfy}yH~I3sRVd!jUgJHY%;a>2x%-VP| zPwdOnzCEEB{>MUrXgm##7r<8rJgruD5T`4=cH???o{PMfbBnLOtjB+lxBNZ^j{^zw z1Y@C3@=V!NJem3o=kknGM`nscv8T4G5%1^<=4r1`QfWiXcB~_5Pg&H7e7k^ES4t`u7r&Qm8nxZay^_kvp=o>aV#C&l}6?|y9fcRZ!=Ad)=F4CiC49q-2zy^nK!Aorgj z&XdfrJVowLW1G*w)w7JD{E={jxF_$^naH!UE4ltD#~ApFh2nUh)o${t4>CvKEDia0 zAbU2lXTz1qpG;pZnO=D^h#dj3BS_~7N-3V67R3-Q7HUY0Vz?_s ze`%z7k=Un*olESC#6C;xbhs=f_E};T6RQ|3(~!y+?LWvfeDz3UJZa?ej7b}i?m+ll zHH2df*JB~xZ!O_XYrGBn_$T(^z&4JPR~&iS(ZUY$iozZQja<;k#vV@dmR4VKc@#TH zL;t(ce;WGVjQ$U(XDHMDOj_@f&Twc1G!hyGje#bR-b~V~{A5)c9+ZX$rQtzocu*SF zoW@fXX{=C7V})88E7a0>g3qSU2&^Klk2qgVdfVYC5kd<*u{RK8p5l$i&wxq{=dqCB z@hQ?~fI|i{T-HN8O~_}k>lp6ELZaOS&Js9FAfE@-^SalbBW4;g)3|qzd*>Jr^2D}% zi4n@^PEU>xg6I%vH8QQ|-`kCr~tOd<*FA16@1mI@CR^nYb6~ zgMHkGC-tQ~dW`>%b8R3t_5`v#3A#@qwfOlT$ti;SG2{^oC6LE%tmD^Qe?|Dmv!=$_ zwJ-LYL3vn=eLAsEr*5D3GqWUh&=b0^)gC*@P>U)JlO7~;i33B+wlD!h@IIqF7u zQyWq;YP)Q8JJ#JBOTHKC1Ko#r^rZxT3=bHnr=Ek=@51Vn$RVE`63iU(C||wF!JBf- zi(I~-7OTi>Svjw@<@1N9AWv}_cva``f~Dc_E*=ekcewd`k?HRhu{HeOf%GnX#qa-f zIZK`6sh5DXZ&=Cf%YXUC@IMxks{ve<>%LqK;A((w6CTx;ir>3LH0yUkr3q!Q)T9n- z(o>YwS$a*{iFr7A&q^0+v#wZLH|S38b?02lVkw88mR1UJjhgk;kC@W+m3XpjMQZs@ zl<5Xv>6Q4p7DR;qiuHs`7D47$E~LeDO0P3RO^sZpjJg&}xlGxWjkRP`(pbF)hkAgL zu%BLY7f^;3P(l_^eo4DnG~%HA!h78;D}i%qcW7MIus2!f>3&A(i9K32QdRACEp}1S zCN7cRB^?9FCI2VNC7)dK^<3H_TOcTJ#UIzw_C8MA`#64SC+Abt3a9bU&-C8O?V#9O z@B2tkB#N3LhMFORw)kdxA_eqBGU$mUP*ZFK?G2Qh@u2+;Xz!-nJfXLfjGo955Z_PB z%ucy@+T18M^I~Q)my-&czvnfLflAMA?^Q6@+u*{3ux^kTDypDHX_AFJyZsv zX!AjpLuC*uLl1SLnzT+3>V)2gEUl21E4NZY7(As_2vL!zG(x2@vgS#jt1>S~xqFl{ z*ON7azPvM}Cv;^fsjp+WAFHn`lwO$hI~wYtOR?=dvlexNbRj!9c&n$-;WJPK=T?s_ zf$+NtEA4OIiHSu^IeH&f9>aMoB<*i_A-A58+!@I6DN12!ImB?!;+1uMCb|_vS$g=2 zkh1pA6Ul{F(OuOc4RoZ}okz$EguFmbdBo2X%vhtx+7fCdKlK2dKLo{aEf$iy9k}Yp zRX>*va4i->7S{f`;sy{Zz%5h{LiNzK;w0aE@|8N=;@?UBPFg~qv{{Ur$v~?&p4eB% zB_9he2Ag7HWtwG1KAe9+%rCH9$|zzVBX%BsB(d}Gm6~E7BlfZK*awK6W5&*@MeGB_ zK2RPzMVHISJHHmOQ;3~XA@&6`?+e!yTl&(OzkK}nTQNhP*lN=aq3?4ISn)n|;Oq>~nNGd(rwy;~_t@4fb^ zN=x}7GHQ2aulY2-bP|o7BR3h7GJDSC5ep@dkF&6Q5gmHr>CxkBK`2Y#28qf`|_y(w#q_CXHTc$ShT?^~L?@Oh!<} z<}G`F3X3%QaZ-020^LKTm_mvUdN96>YlKopT~8b62B%xHDiQUMoqU9;w*NUi5<$= z^>)3k=!?A#q?hm%<;v68=`;A`vv|c2&LaOeoH86H+@T} ze5988!Dt~S@ZY0pTbb2rn%ewL#usj5x3{yJQ`@0!(e`O}tw1}kozRN41KM%zpms^i z;|gywf%hB{eG7Nikm6arDh$G zq5K-5(#i1~yyB3y8!66V?Y{IQDESONuC!<)Pb)3XDp;d&9m}S?Gyg~7Vc(GU3AA$r zTxE1Bke08=uuH<|XxOzxM$;5J<1Lube!TT4=TfI^V7yFW_mq=WeRLnbpqHX)Ady3U z4s?vR`893RRTdeti)?N+V0mp;Rr+#GE3rz2@)SSk>gS9^nIBg@ZH2Jz)b?oBE8kk- z>0c{N-pXr!bO}w(nNnP~?$vzMwJE#2D!nw#!>$X_$Jfviy>^mTfnKxKoYvJt7&Q!S zAwIhG@8GzDnR)Z$W_jNuFT)lsF7X=&S{X&_a1_7U)Dcpq3?;{dMt0>#m%V?(9Z!>) zDh{r4jho(BVi|Od6pzX8l^=_fDpP#E{O*;}eysBzH6^5%8>L84O3mkhqOBO!^H%*` zD~*ary^LEUzsASqt*%ywb+0x@c&GiqFJ+&Z;uoBMLCezo=xsp#9wnG@ye69h6|-Kp z$}rx^tF#sJYkb^t$d??97}j0uXjr>-<~mCK;`)HUw6T*Z&64>_T_9~(TK9%lXf>JI zah15&q6Z6QZ7-$&UP^HD<4VKz&$?IhQA$19NhYq+($FrD{#L2A>80r?_s%eIIrixTp4v&f{`X^=ykK4(fdi}7yCBq45=?_%psFl`GPcQ7f}~xb3BMg zA2iB1-8ys1^V0Q24&^)<`C0d?I$j~eIcX(m>}&vSx5Dc(=$1vw9Q7Owlxib`)VVrG z{BlGS#k4w7AfxRn9;T-z`C0msT*~v;<+9Fdcf8V;Y8T5r6yB6VTS8i(C>Hi4vtB(fg zWuIAYm@ULiQwC{4xOxpEYs%MkU+QA__LA#PE&q8?6NWOgs@NlB6#I3IVgKIFY8BsZ z?EdjFdj_p$2axWJI?B2=X_5MLVc>H@$?3}-0;49-c6)7^Zk%rDYlc>Zr(4kS|zFd>>pv{D{pCR z!LJYb)u&98Hy1Qze6l%Lec>{Q8L(D-{g`J6VOFa%Uw?K5?**3+@NEh=k1*rcpKo(` z`UCO)#7-wc>aR$76HNX`$XxSy$(;Z zBFwGp@rP1Fe|n3S~FVdhE=53w(59ClGnpWEc483Rkkrc~9c@R`o z`%l&X>bSlE_ZyIJ6EeK568H|&aeWs~J=HFFvp(%vBi%(mxrLecTdd1h9B-3RVDn=` zc28vWGTTk;?18lMVLvH;8-PVaj*XDMF{9oAp(?; zNhoWl+OV^2TWqQw`f>ldmDH@{XG z;m7(a{LL0Fg#lCK9OXv%*DwJ?blSa2XZyAG}0NDj)(<9cLoh|M-a zi#O;N(2-vS?l+;oo4Ion)>2Q`Z38qUy9l{|nwFom<)3(?>uYi4(wcB&eHH)2SLN#s zV%JyrHiRSNdkYB4SNO5MGUjG!mJt)~w%|%AoQia9NX_+WqH8G-%L+i_A>0s5n_^$a NN36jpUF5v^{{y}AenbEO literal 0 HcmV?d00001 diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/files/dojotoolkit.js b/alt-implementations/readifry-master/hyphenator/testsuite/files/dojotoolkit.js new file mode 100644 index 0000000..df6ba7c --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/files/dojotoolkit.js @@ -0,0 +1,17736 @@ +/* + Copyright (c) 2004-2012, The Dojo Foundation All Rights Reserved. + Available via Academic Free License >= 2.1 OR the modified BSD license. + see: http://dojotoolkit.org/license for details +*/ + +/* + This is an optimized version of Dojo, built for deployment and not for + development. To get sources and documentation, please visit: + + http://dojotoolkit.org +*/ + +(function( + userConfig, + defaultConfig +){ + // summary: + // This is the "source loader" and is the entry point for Dojo during development. You may also load Dojo with + // any AMD-compliant loader via the package main module dojo/main. + // description: + // This is the "source loader" for Dojo. It provides an AMD-compliant loader that can be configured + // to operate in either synchronous or asynchronous modes. After the loader is defined, dojo is loaded + // IAW the package main module dojo/main. In the event you wish to use a foreign loader, you may load dojo as a package + // via the package main module dojo/main and this loader is not required; see dojo/package.json for details. + // + // In order to keep compatibility with the v1.x line, this loader includes additional machinery that enables + // the dojo.provide, dojo.require et al API. This machinery is loaded by default, but may be dynamically removed + // via the has.js API and statically removed via the build system. + // + // This loader includes sniffing machinery to determine the environment; the following environments are supported: + // + // - browser + // - node.js + // - rhino + // + // This is the so-called "source loader". As such, it includes many optional features that may be discadred by + // building a customized verion with the build system. + + // Design and Implementation Notes + // + // This is a dojo-specific adaption of bdLoad, donated to the dojo foundation by Altoviso LLC. + // + // This function defines an AMD-compliant (http://wiki.commonjs.org/wiki/Modules/AsynchronousDefinition) + // loader that can be configured to operate in either synchronous or asynchronous modes. + // + // Since this machinery implements a loader, it does not have the luxury of using a load system and/or + // leveraging a utility library. This results in an unpleasantly long file; here is a road map of the contents: + // + // 1. Small library for use implementing the loader. + // 2. Define the has.js API; this is used throughout the loader to bracket features. + // 3. Define the node.js and rhino sniffs and sniff. + // 4. Define the loader's data. + // 5. Define the configuration machinery. + // 6. Define the script element sniffing machinery and sniff for configuration data. + // 7. Configure the loader IAW the provided user, default, and sniffing data. + // 8. Define the global require function. + // 9. Define the module resolution machinery. + // 10. Define the module and plugin module definition machinery + // 11. Define the script injection machinery. + // 12. Define the window load detection. + // 13. Define the logging API. + // 14. Define the tracing API. + // 16. Define the AMD define function. + // 17. Define the dojo v1.x provide/require machinery--so called "legacy" modes. + // 18. Publish global variables. + // + // Language and Acronyms and Idioms + // + // moduleId: a CJS module identifier, (used for public APIs) + // mid: moduleId (used internally) + // packageId: a package identifier (used for public APIs) + // pid: packageId (used internally); the implied system or default package has pid==="" + // pack: package is used internally to reference a package object (since javascript has reserved words including "package") + // prid: plugin resource identifier + // The integer constant 1 is used in place of true and 0 in place of false. + + // define a minimal library to help build the loader + var noop = function(){ + }, + + isEmpty = function(it){ + for(var p in it){ + return 0; + } + return 1; + }, + + toString = {}.toString, + + isFunction = function(it){ + return toString.call(it) == "[object Function]"; + }, + + isString = function(it){ + return toString.call(it) == "[object String]"; + }, + + isArray = function(it){ + return toString.call(it) == "[object Array]"; + }, + + forEach = function(vector, callback){ + if(vector){ + for(var i = 0; i < vector.length;){ + callback(vector[i++]); + } + } + }, + + mix = function(dest, src){ + for(var p in src){ + dest[p] = src[p]; + } + return dest; + }, + + makeError = function(error, info){ + return mix(new Error(error), {src:"dojoLoader", info:info}); + }, + + uidSeed = 1, + + uid = function(){ + // Returns a unique indentifier (within the lifetime of the document) of the form /_d+/. + return "_" + uidSeed++; + }, + + // FIXME: how to doc window.require() api + + // this will be the global require function; define it immediately so we can start hanging things off of it + req = function( + config, //(object, optional) hash of configuration properties + dependencies, //(array of commonjs.moduleId, optional) list of modules to be loaded before applying callback + callback //(function, optional) lamda expression to apply to module values implied by dependencies + ){ + return contextRequire(config, dependencies, callback, 0, req); + }, + + // the loader uses the has.js API to control feature inclusion/exclusion; define then use throughout + global = this, + + doc = global.document, + + element = doc && doc.createElement("DiV"), + + has = req.has = function(name){ + return isFunction(hasCache[name]) ? (hasCache[name] = hasCache[name](global, doc, element)) : hasCache[name]; + }, + + hasCache = has.cache = defaultConfig.hasCache; + + has.add = function(name, test, now, force){ + (hasCache[name]===undefined || force) && (hasCache[name] = test); + return now && has(name); + }; + + 0 && has.add("host-node", userConfig.has && "host-node" in userConfig.has ? + userConfig.has["host-node"] : + (typeof process == "object" && process.versions && process.versions.node && process.versions.v8)); + if( 0 ){ + // fixup the default config for node.js environment + require("./_base/configNode.js").config(defaultConfig); + // remember node's require (with respect to baseUrl==dojo's root) + defaultConfig.loaderPatch.nodeRequire = require; + } + + 0 && has.add("host-rhino", userConfig.has && "host-rhino" in userConfig.has ? + userConfig.has["host-rhino"] : + (typeof load == "function" && (typeof Packages == "function" || typeof Packages == "object"))); + if( 0 ){ + // owing to rhino's lame feature that hides the source of the script, give the user a way to specify the baseUrl... + for(var baseUrl = userConfig.baseUrl || ".", arg, rhinoArgs = this.arguments, i = 0; i < rhinoArgs.length;){ + arg = (rhinoArgs[i++] + "").split("="); + if(arg[0] == "baseUrl"){ + baseUrl = arg[1]; + break; + } + } + load(baseUrl + "/_base/configRhino.js"); + rhinoDojoConfig(defaultConfig, baseUrl, rhinoArgs); + } + + // userConfig has tests override defaultConfig has tests; do this after the environment detection because + // the environment detection usually sets some has feature values in the hasCache. + for(var p in userConfig.has){ + has.add(p, userConfig.has[p], 0, 1); + } + + // + // define the loader data + // + + // the loader will use these like symbols if the loader has the traceApi; otherwise + // define magic numbers so that modules can be provided as part of defaultConfig + var requested = 1, + arrived = 2, + nonmodule = 3, + executing = 4, + executed = 5; + + if( 0 ){ + // these make debugging nice; but using strings for symbols is a gross rookie error; don't do it for production code + requested = "requested"; + arrived = "arrived"; + nonmodule = "not-a-module"; + executing = "executing"; + executed = "executed"; + } + + var legacyMode = 0, + sync = "sync", + xd = "xd", + syncExecStack = [], + dojoRequirePlugin = 0, + checkDojoRequirePlugin = noop, + transformToAmd = noop, + getXhr; + if( 1 ){ + req.isXdUrl = noop; + + req.initSyncLoader = function(dojoRequirePlugin_, checkDojoRequirePlugin_, transformToAmd_){ + // the first dojo/_base/loader loaded gets to define these variables; they are designed to work + // in the presense of zero to many mapped dojo/_base/loaders + if(!dojoRequirePlugin){ + dojoRequirePlugin = dojoRequirePlugin_; + checkDojoRequirePlugin = checkDojoRequirePlugin_; + transformToAmd = transformToAmd_; + } + + return { + sync:sync, + requested:requested, + arrived:arrived, + nonmodule:nonmodule, + executing:executing, + executed:executed, + syncExecStack:syncExecStack, + modules:modules, + execQ:execQ, + getModule:getModule, + injectModule:injectModule, + setArrived:setArrived, + signal:signal, + finishExec:finishExec, + execModule:execModule, + dojoRequirePlugin:dojoRequirePlugin, + getLegacyMode:function(){return legacyMode;}, + guardCheckComplete:guardCheckComplete + }; + }; + + if( 1 ){ + // in legacy sync mode, the loader needs a minimal XHR library + + var locationProtocol = location.protocol, + locationHost = location.host; + req.isXdUrl = function(url){ + if(/^\./.test(url)){ + // begins with a dot is always relative to page URL; therefore not xdomain + return false; + } + if(/^\/\//.test(url)){ + // for v1.6- backcompat, url starting with // indicates xdomain + return true; + } + // get protocol and host + // \/+ takes care of the typical file protocol that looks like file:///drive/path/to/file + // locationHost is falsy if file protocol => if locationProtocol matches and is "file:", || will return false + var match = url.match(/^([^\/\:]+\:)\/+([^\/]+)/); + return match && (match[1] != locationProtocol || (locationHost && match[2] != locationHost)); + }; + + + // note: to get the file:// protocol to work in FF, you must set security.fileuri.strict_origin_policy to false in about:config + 1 || has.add("dojo-xhr-factory", 1); + has.add("dojo-force-activex-xhr", 1 && !doc.addEventListener && window.location.protocol == "file:"); + has.add("native-xhr", typeof XMLHttpRequest != "undefined"); + if(has("native-xhr") && !has("dojo-force-activex-xhr")){ + getXhr = function(){ + return new XMLHttpRequest(); + }; + }else{ + // if in the browser an old IE; find an xhr + for(var XMLHTTP_PROGIDS = ['Msxml2.XMLHTTP', 'Microsoft.XMLHTTP', 'Msxml2.XMLHTTP.4.0'], progid, i = 0; i < 3;){ + try{ + progid = XMLHTTP_PROGIDS[i++]; + if(new ActiveXObject(progid)){ + // this progid works; therefore, use it from now on + break; + } + }catch(e){ + // squelch; we're just trying to find a good ActiveX progid + // if they all fail, then progid ends up as the last attempt and that will signal the error + // the first time the client actually tries to exec an xhr + } + } + getXhr = function(){ + return new ActiveXObject(progid); + }; + } + req.getXhr = getXhr; + + has.add("dojo-gettext-api", 1); + req.getText = function(url, async, onLoad){ + var xhr = getXhr(); + xhr.open('GET', fixupUrl(url), false); + xhr.send(null); + if(xhr.status == 200 || (!location.host && !xhr.status)){ + if(onLoad){ + onLoad(xhr.responseText, async); + } + }else{ + throw makeError("xhrFailed", xhr.status); + } + return xhr.responseText; + }; + } + }else{ + req.async = 1; + } + + // + // loader eval + // + var eval_ = + // use the function constructor so our eval is scoped close to (but not in) in the global space with minimal pollution + new Function('return eval(arguments[0]);'); + + req.eval = + function(text, hint){ + return eval_(text + "\r\n////@ sourceURL=" + hint); + }; + + // + // loader micro events API + // + var listenerQueues = {}, + error = "error", + signal = req.signal = function(type, args){ + var queue = listenerQueues[type]; + // notice we run a copy of the queue; this allows listeners to add/remove + // other listeners without affecting this particular signal + forEach(queue && queue.slice(0), function(listener){ + listener.apply(null, isArray(args) ? args : [args]); + }); + }, + on = req.on = function(type, listener){ + // notice a queue is not created until a client actually connects + var queue = listenerQueues[type] || (listenerQueues[type] = []); + queue.push(listener); + return { + remove:function(){ + for(var i = 0; i (alias, actual) + = [], + + paths + // CommonJS paths + = {}, + + pathsMapProg + // list of (from-path, to-path, regex, length) derived from paths; + // a "program" to apply paths; see computeMapProg + = [], + + packs + // a map from packageId to package configuration object; see fixupPackageInfo + = {}, + + map = req.map + // AMD map config variable; dojo/_base/kernel needs req.map to figure out the scope map + = {}, + + mapProgs + // vector of quads as described by computeMapProg; map-key is AMD map key, map-value is AMD map value + = [], + + modules + // A hash:(mid) --> (module-object) the module namespace + // + // pid: the package identifier to which the module belongs (e.g., "dojo"); "" indicates the system or default package + // mid: the fully-resolved (i.e., mappings have been applied) module identifier without the package identifier (e.g., "dojo/io/script") + // url: the URL from which the module was retrieved + // pack: the package object of the package to which the module belongs + // executed: 0 => not executed; executing => in the process of tranversing deps and running factory; executed => factory has been executed + // deps: the dependency vector for this module (vector of modules objects) + // def: the factory for this module + // result: the result of the running the factory for this module + // injected: (0 | requested | arrived) the status of the module; nonmodule means the resource did not call define + // load: plugin load function; applicable only for plugins + // + // Modules go through several phases in creation: + // + // 1. Requested: some other module's definition or a require application contained the requested module in + // its dependency vector or executing code explicitly demands a module via req.require. + // + // 2. Injected: a script element has been appended to the insert-point element demanding the resource implied by the URL + // + // 3. Loaded: the resource injected in [2] has been evalated. + // + // 4. Defined: the resource contained a define statement that advised the loader about the module. Notice that some + // resources may just contain a bundle of code and never formally define a module via define + // + // 5. Evaluated: the module was defined via define and the loader has evaluated the factory and computed a result. + = {}, + + cacheBust + // query string to append to module URLs to bust browser cache + = "", + + cache + // hash:(mid | url)-->(function | string) + // + // A cache of resources. The resources arrive via a config.cache object, which is a hash from either mid --> function or + // url --> string. The url key is distinguished from the mid key by always containing the prefix "url:". url keys as provided + // by config.cache always have a string value that represents the contents of the resource at the given url. mid keys as provided + // by configl.cache always have a function value that causes the same code to execute as if the module was script injected. + // + // Both kinds of key-value pairs are entered into cache via the function consumePendingCache, which may relocate keys as given + // by any mappings *iff* the config.cache was received as part of a module resource request. + // + // Further, for mid keys, the implied url is computed and the value is entered into that key as well. This allows mapped modules + // to retrieve cached items that may have arrived consequent to another namespace. + // + = {}, + + urlKeyPrefix + // the prefix to prepend to a URL key in the cache. + = "url:", + + pendingCacheInsert + // hash:(mid)-->(function) + // + // Gives a set of cache modules pending entry into cache. When cached modules are published to the loader, they are + // entered into pendingCacheInsert; modules are then pressed into cache upon (1) AMD define or (2) upon receiving another + // independent set of cached modules. (1) is the usual case, and this case allows normalizing mids given in the pending + // cache for the local configuration, possibly relocating modules. + = {}, + + dojoSniffConfig + // map of configuration variables + // give the data-dojo-config as sniffed from the document (if any) + = {}; + + if( 1 ){ + var consumePendingCacheInsert = function(referenceModule){ + var p, item, match, now, m; + for(p in pendingCacheInsert){ + item = pendingCacheInsert[p]; + match = p.match(/^url\:(.+)/); + if(match){ + cache[urlKeyPrefix + toUrl(match[1], referenceModule)] = item; + }else if(p=="*now"){ + now = item; + }else if(p!="*noref"){ + m = getModuleInfo(p, referenceModule); + cache[m.mid] = cache[urlKeyPrefix + m.url] = item; + } + } + if(now){ + now(createRequire(referenceModule)); + } + pendingCacheInsert = {}; + }, + + escapeString = function(s){ + return s.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, function(c){ return "\\" + c; }); + }, + + computeMapProg = function(map, dest){ + // This routine takes a map as represented by a JavaScript object and initializes dest, a vector of + // quads of (map-key, map-value, refex-for-map-key, length-of-map-key), sorted decreasing by length- + // of-map-key. The regex looks for the map-key followed by either "/" or end-of-string at the beginning + // of a the search source. Notice the map-value is irrelevent to the algorithm + dest.splice(0, dest.length); + for(var p in map){ + dest.push([ + p, + map[p], + new RegExp("^" + escapeString(p) + "(\/|$)"), + p.length]); + } + dest.sort(function(lhs, rhs){ return rhs[3] - lhs[3]; }); + return dest; + }, + + fixupPackageInfo = function(packageInfo){ + // calculate the precise (name, location, main, mappings) for a package + var name = packageInfo.name; + if(!name){ + // packageInfo must be a string that gives the name + name = packageInfo; + packageInfo = {name:name}; + } + packageInfo = mix({main:"main"}, packageInfo); + packageInfo.location = packageInfo.location ? packageInfo.location : name; + + // packageMap is depricated in favor of AMD map + if(packageInfo.packageMap){ + map[name] = packageInfo.packageMap; + } + + if(!packageInfo.main.indexOf("./")){ + packageInfo.main = packageInfo.main.substring(2); + } + + // now that we've got a fully-resolved package object, push it into the configuration + packs[name] = packageInfo; + }, + + delayedModuleConfig + // module config cannot be consummed until the loader is completely initialized; therefore, all + // module config detected during booting is memorized and applied at the end of loader initialization + // TODO: this is a bit of a kludge; all config should be moved to end of loader initialization, but + // we'll delay this chore and do it with a final loader 1.x cleanup after the 2.x loader prototyping is complete + = [], + + + config = function(config, booting, referenceModule){ + for(var p in config){ + if(p=="waitSeconds"){ + req.waitms = (config[p] || 0) * 1000; + } + if(p=="cacheBust"){ + cacheBust = config[p] ? (isString(config[p]) ? config[p] : (new Date()).getTime() + "") : ""; + } + if(p=="baseUrl" || p=="combo"){ + req[p] = config[p]; + } + if( 1 && p=="async"){ + // falsy or "sync" => legacy sync loader + // "xd" => sync but loading xdomain tree and therefore loading asynchronously (not configurable, set automatically by the loader) + // "legacyAsync" => permanently in "xd" by choice + // "debugAtAllCosts" => trying to load everything via script injection (not implemented) + // otherwise, must be truthy => AMD + // legacyMode: sync | legacyAsync | xd | false + var mode = config[p]; + req.legacyMode = legacyMode = (isString(mode) && /sync|legacyAsync/.test(mode) ? mode : (!mode ? sync : false)); + req.async = !legacyMode; + } + if(config[p]!==hasCache){ + // accumulate raw config info for client apps which can use this to pass their own config + req.rawConfig[p] = config[p]; + p!="has" && has.add("config-"+p, config[p], 0, booting); + } + } + + // make sure baseUrl exists + if(!req.baseUrl){ + req.baseUrl = "./"; + } + // make sure baseUrl ends with a slash + if(!/\/$/.test(req.baseUrl)){ + req.baseUrl += "/"; + } + + // now do the special work for has, packages, packagePaths, paths, aliases, and cache + + for(p in config.has){ + has.add(p, config.has[p], 0, booting); + } + + // for each package found in any packages config item, augment the packs map owned by the loader + forEach(config.packages, fixupPackageInfo); + + // for each packagePath found in any packagePaths config item, augment the packageConfig + // packagePaths is depricated; remove in 2.0 + for(baseUrl in config.packagePaths){ + forEach(config.packagePaths[baseUrl], function(packageInfo){ + var location = baseUrl + "/" + packageInfo; + if(isString(packageInfo)){ + packageInfo = {name:packageInfo}; + } + packageInfo.location = location; + fixupPackageInfo(packageInfo); + }); + } + + // notice that computeMapProg treats the dest as a reference; therefore, if/when that variable + // is published (see dojo-publish-privates), the published variable will always hold a valid value. + + // this must come after all package processing since package processing may mutate map + computeMapProg(mix(map, config.map), mapProgs); + forEach(mapProgs, function(item){ + item[1] = computeMapProg(item[1], []); + if(item[0]=="*"){ + mapProgs.star = item[1]; + } + }); + + // push in any paths and recompute the internal pathmap + computeMapProg(mix(paths, config.paths), pathsMapProg); + + // aliases + forEach(config.aliases, function(pair){ + if(isString(pair[0])){ + pair[0] = new RegExp("^" + escapeString(pair[0]) + "$"); + } + aliases.push(pair); + }); + + if(booting){ + delayedModuleConfig.push({config:config.config}); + }else{ + for(p in config.config){ + var module = getModule(p, referenceModule); + module.config = mix(module.config || {}, config.config[p]); + } + } + + // push in any new cache values + if(config.cache){ + consumePendingCacheInsert(); + pendingCacheInsert = config.cache; + if(config.cache["*noref"]){ + consumePendingCacheInsert(); + } + } + + signal("config", [config, req.rawConfig]); + }; + + // + // execute the various sniffs; userConfig can override and value + // + + if(has("dojo-cdn") || 1 ){ + // the sniff regex looks for a src attribute ending in dojo.js, optionally preceeded with a path. + // match[3] returns the path to dojo.js (if any) without the trailing slash. This is used for the + // dojo location on CDN deployments and baseUrl when either/both of these are not provided + // explicitly in the config data; this is the 1.6- behavior. + + var scripts = doc.getElementsByTagName("script"), + i = 0, + script, dojoDir, src, match; + while(i < scripts.length){ + script = scripts[i++]; + if((src = script.getAttribute("src")) && (match = src.match(/(((.*)\/)|^)dojo\.js(\W|$)/i))){ + // sniff dojoDir and baseUrl + dojoDir = match[3] || ""; + defaultConfig.baseUrl = defaultConfig.baseUrl || dojoDir; + + // sniff configuration on attribute in script element + src = (script.getAttribute("data-dojo-config") || script.getAttribute("djConfig")); + if(src){ + dojoSniffConfig = req.eval("({ " + src + " })", "data-dojo-config"); + } + + // sniff requirejs attribute + if( 0 ){ + var dataMain = script.getAttribute("data-main"); + if(dataMain){ + dojoSniffConfig.deps = dojoSniffConfig.deps || [dataMain]; + } + } + break; + } + } + } + + if( 0 ){ + // pass down doh.testConfig from parent as if it were a data-dojo-config + try{ + if(window.parent != window && window.parent.require){ + var doh = window.parent.require("doh"); + doh && mix(dojoSniffConfig, doh.testConfig); + } + }catch(e){} + } + + // configure the loader; let the user override defaults + req.rawConfig = {}; + config(defaultConfig, 1); + + // do this before setting userConfig/sniffConfig to allow userConfig/sniff overrides + if(has("dojo-cdn")){ + packs.dojo.location = dojoDir; + if(dojoDir){ + dojoDir += "/"; + } + packs.dijit.location = dojoDir + "../dijit/"; + packs.dojox.location = dojoDir + "../dojox/"; + } + + config(userConfig, 1); + config(dojoSniffConfig, 1); + + }else{ + // no config API, assume defaultConfig has everything the loader needs...for the entire lifetime of the application + paths = defaultConfig.paths; + pathsMapProg = defaultConfig.pathsMapProg; + packs = defaultConfig.packs; + aliases = defaultConfig.aliases; + mapProgs = defaultConfig.mapProgs; + modules = defaultConfig.modules; + cache = defaultConfig.cache; + cacheBust = defaultConfig.cacheBust; + + // remember the default config for other processes (e.g., dojo/config) + req.rawConfig = defaultConfig; + } + + + if( 0 ){ + req.combo = req.combo || {add:noop}; + var comboPending = 0, + combosPending = [], + comboPendingTimer = null; + } + + + // build the loader machinery iaw configuration, including has feature tests + var injectDependencies = function(module){ + // checkComplete!=0 holds the idle signal; we're not idle if we're injecting dependencies + guardCheckComplete(function(){ + forEach(module.deps, injectModule); + if( 0 && comboPending && !comboPendingTimer){ + comboPendingTimer = setTimeout(function() { + comboPending = 0; + comboPendingTimer = null; + req.combo.done(function(mids, url) { + var onLoadCallback= function(){ + // defQ is a vector of module definitions 1-to-1, onto mids + runDefQ(0, mids); + checkComplete(); + }; + combosPending.push(mids); + injectingModule = mids; + req.injectUrl(url, onLoadCallback, mids); + injectingModule = 0; + }, req); + }, 0); + } + }); + }, + + contextRequire = function(a1, a2, a3, referenceModule, contextRequire){ + var module, syntheticMid; + if(isString(a1)){ + // signature is (moduleId) + module = getModule(a1, referenceModule, true); + if(module && module.executed){ + return module.result; + } + throw makeError("undefinedModule", a1); + } + if(!isArray(a1)){ + // a1 is a configuration + config(a1, 0, referenceModule); + + // juggle args; (a2, a3) may be (dependencies, callback) + a1 = a2; + a2 = a3; + } + if(isArray(a1)){ + // signature is (requestList [,callback]) + if(!a1.length){ + a2 && a2(); + }else{ + syntheticMid = "require*" + uid(); + + // resolve the request list with respect to the reference module + for(var mid, deps = [], i = 0; i < a1.length;){ + mid = a1[i++]; + deps.push(getModule(mid, referenceModule)); + } + + // construct a synthetic module to control execution of the requestList, and, optionally, callback + module = mix(makeModuleInfo("", syntheticMid, 0, ""), { + injected: arrived, + deps: deps, + def: a2 || noop, + require: referenceModule ? referenceModule.require : req, + gc: 1 //garbage collect + }); + modules[module.mid] = module; + + // checkComplete!=0 holds the idle signal; we're not idle if we're injecting dependencies + injectDependencies(module); + + // try to immediately execute + // if already traversing a factory tree, then strict causes circular dependency to abort the execution; maybe + // it's possible to execute this require later after the current traversal completes and avoid the circular dependency. + // ...but *always* insist on immediate in synch mode + var strict = checkCompleteGuard && legacyMode!=sync; + guardCheckComplete(function(){ + execModule(module, strict); + }); + if(!module.executed){ + // some deps weren't on board or circular dependency detected and strict; therefore, push into the execQ + execQ.push(module); + } + checkComplete(); + } + } + return contextRequire; + }, + + createRequire = function(module){ + if(!module){ + return req; + } + var result = module.require; + if(!result){ + result = function(a1, a2, a3){ + return contextRequire(a1, a2, a3, module, result); + }; + module.require = mix(result, req); + result.module = module; + result.toUrl = function(name){ + return toUrl(name, module); + }; + result.toAbsMid = function(mid){ + return toAbsMid(mid, module); + }; + if( 0 ){ + result.undef = function(mid){ + req.undef(mid, module); + }; + } + if( 1 ){ + result.syncLoadNls = function(mid){ + var nlsModuleInfo = getModuleInfo(mid, module), + nlsModule = modules[nlsModuleInfo.mid]; + if(!nlsModule || !nlsModule.executed){ + cached = cache[nlsModuleInfo.mid] || cache[urlKeyPrefix + nlsModuleInfo.url]; + if(cached){ + evalModuleText(cached); + nlsModule = modules[nlsModuleInfo.mid]; + } + } + return nlsModule && nlsModule.executed && nlsModule.result; + }; + } + + } + return result; + }, + + execQ = + // The list of modules that need to be evaluated. + [], + + defQ = + // The queue of define arguments sent to loader. + [], + + waiting = + // The set of modules upon which the loader is waiting for definition to arrive + {}, + + setRequested = function(module){ + module.injected = requested; + waiting[module.mid] = 1; + if(module.url){ + waiting[module.url] = module.pack || 1; + } + startTimer(); + }, + + setArrived = function(module){ + module.injected = arrived; + delete waiting[module.mid]; + if(module.url){ + delete waiting[module.url]; + } + if(isEmpty(waiting)){ + clearTimer(); + 1 && legacyMode==xd && (legacyMode = sync); + } + }, + + execComplete = req.idle = + // says the loader has completed (or not) its work + function(){ + return !defQ.length && isEmpty(waiting) && !execQ.length && !checkCompleteGuard; + }, + + runMapProg = function(targetMid, map){ + // search for targetMid in map; return the map item if found; falsy otherwise + if(map){ + for(var i = 0; i < map.length; i++){ + if(map[i][2].test(targetMid)){ + return map[i]; + } + } + } + return 0; + }, + + compactPath = function(path){ + var result = [], + segment, lastSegment; + path = path.replace(/\\/g, '/').split('/'); + while(path.length){ + segment = path.shift(); + if(segment==".." && result.length && lastSegment!=".."){ + result.pop(); + lastSegment = result[result.length - 1]; + }else if(segment!="."){ + result.push(lastSegment= segment); + } // else ignore "." + } + return result.join("/"); + }, + + makeModuleInfo = function(pid, mid, pack, url){ + if( 1 ){ + var xd= req.isXdUrl(url); + return {pid:pid, mid:mid, pack:pack, url:url, executed:0, def:0, isXd:xd, isAmd:!!(xd || (packs[pid] && packs[pid].isAmd))}; + }else{ + return {pid:pid, mid:mid, pack:pack, url:url, executed:0, def:0}; + } + }, + + getModuleInfo_ = function(mid, referenceModule, packs, modules, baseUrl, mapProgs, pathsMapProg, alwaysCreate){ + // arguments are passed instead of using lexical variables so that this function my be used independent of the loader (e.g., the builder) + // alwaysCreate is useful in this case so that getModuleInfo never returns references to real modules owned by the loader + var pid, pack, midInPackage, mapProg, mapItem, url, result, isRelative, requestedMid; + requestedMid = mid; + isRelative = /^\./.test(mid); + if(/(^\/)|(\:)|(\.js$)/.test(mid) || (isRelative && !referenceModule)){ + // absolute path or protocol of .js filetype, or relative path but no reference module and therefore relative to page + // whatever it is, it's not a module but just a URL of some sort + // note: pid===0 indicates the routine is returning an unmodified mid + + return makeModuleInfo(0, mid, 0, mid); + }else{ + // relative module ids are relative to the referenceModule; get rid of any dots + mid = compactPath(isRelative ? (referenceModule.mid + "/../" + mid) : mid); + if(/^\./.test(mid)){ + throw makeError("irrationalPath", mid); + } + // at this point, mid is an absolute mid + + // map the mid + if(referenceModule){ + mapItem = runMapProg(referenceModule.mid, mapProgs); + } + mapItem = mapItem || mapProgs.star; + mapItem = mapItem && runMapProg(mid, mapItem[1]); + + if(mapItem){ + mid = mapItem[1] + mid.substring(mapItem[3]); + } + + match = mid.match(/^([^\/]+)(\/(.+))?$/); + pid = match ? match[1] : ""; + if((pack = packs[pid])){ + mid = pid + "/" + (midInPackage = (match[3] || pack.main)); + }else{ + pid = ""; + } + + // search aliases + var candidateLength = 0, + candidate = 0; + forEach(aliases, function(pair){ + var match = mid.match(pair[0]); + if(match && match.length>candidateLength){ + candidate = isFunction(pair[1]) ? mid.replace(pair[0], pair[1]) : pair[1]; + } + }); + if(candidate){ + return getModuleInfo_(candidate, 0, packs, modules, baseUrl, mapProgs, pathsMapProg, alwaysCreate); + } + + result = modules[mid]; + if(result){ + return alwaysCreate ? makeModuleInfo(result.pid, result.mid, result.pack, result.url) : modules[mid]; + } + } + // get here iff the sought-after module does not yet exist; therefore, we need to compute the URL given the + // fully resolved (i.e., all relative indicators and package mapping resolved) module id + + // note: pid!==0 indicates the routine is returning a url that has .js appended unmodified mid + mapItem = runMapProg(mid, pathsMapProg); + if(mapItem){ + url = mapItem[1] + mid.substring(mapItem[3]); + }else if(pid){ + url = pack.location + "/" + midInPackage; + }else if(has("config-tlmSiblingOfDojo")){ + url = "../" + mid; + }else{ + url = mid; + } + // if result is not absolute, add baseUrl + if(!(/(^\/)|(\:)/.test(url))){ + url = baseUrl + url; + } + url += ".js"; + return makeModuleInfo(pid, mid, pack, compactPath(url)); + }, + + getModuleInfo = function(mid, referenceModule){ + return getModuleInfo_(mid, referenceModule, packs, modules, req.baseUrl, mapProgs, pathsMapProg); + }, + + resolvePluginResourceId = function(plugin, prid, referenceModule){ + return plugin.normalize ? plugin.normalize(prid, function(mid){return toAbsMid(mid, referenceModule);}) : toAbsMid(prid, referenceModule); + }, + + dynamicPluginUidGenerator = 0, + + getModule = function(mid, referenceModule, immediate){ + // compute and optionally construct (if necessary) the module implied by the mid with respect to referenceModule + var match, plugin, prid, result; + match = mid.match(/^(.+?)\!(.*)$/); + if(match){ + // name was ! + plugin = getModule(match[1], referenceModule, immediate); + + if( 1 && legacyMode == sync && !plugin.executed){ + injectModule(plugin); + if(plugin.injected===arrived && !plugin.executed){ + guardCheckComplete(function(){ + execModule(plugin); + }); + } + if(plugin.executed){ + promoteModuleToPlugin(plugin); + }else{ + // we are in xdomain mode for some reason + execQ.unshift(plugin); + } + } + + + + if(plugin.executed === executed && !plugin.load){ + // executed the module not knowing it was a plugin + promoteModuleToPlugin(plugin); + } + + // if the plugin has not been loaded, then can't resolve the prid and must assume this plugin is dynamic until we find out otherwise + if(plugin.load){ + prid = resolvePluginResourceId(plugin, match[2], referenceModule); + mid = (plugin.mid + "!" + (plugin.dynamic ? ++dynamicPluginUidGenerator + "!" : "") + prid); + }else{ + prid = match[2]; + mid = plugin.mid + "!" + (++dynamicPluginUidGenerator) + "!waitingForPlugin"; + } + result = {plugin:plugin, mid:mid, req:createRequire(referenceModule), prid:prid}; + }else{ + result = getModuleInfo(mid, referenceModule); + } + return modules[result.mid] || (!immediate && (modules[result.mid] = result)); + }, + + toAbsMid = req.toAbsMid = function(mid, referenceModule){ + return getModuleInfo(mid, referenceModule).mid; + }, + + toUrl = req.toUrl = function(name, referenceModule){ + var moduleInfo = getModuleInfo(name+"/x", referenceModule), + url= moduleInfo.url; + return fixupUrl(moduleInfo.pid===0 ? + // if pid===0, then name had a protocol or absolute path; either way, toUrl is the identify function in such cases + name : + // "/x.js" since getModuleInfo automatically appends ".js" and we appended "/x" to make name look likde a module id + url.substring(0, url.length-5) + ); + }, + + nonModuleProps = { + injected: arrived, + executed: executed, + def: nonmodule, + result: nonmodule + }, + + makeCjs = function(mid){ + return modules[mid] = mix({mid:mid}, nonModuleProps); + }, + + cjsRequireModule = makeCjs("require"), + cjsExportsModule = makeCjs("exports"), + cjsModuleModule = makeCjs("module"), + + runFactory = function(module, args){ + req.trace("loader-run-factory", [module.mid]); + var factory = module.def, + result; + 1 && syncExecStack.unshift(module); + if(has("config-dojo-loader-catches")){ + try{ + result= isFunction(factory) ? factory.apply(null, args) : factory; + }catch(e){ + signal(error, module.result = makeError("factoryThrew", [module, e])); + } + }else{ + result= isFunction(factory) ? factory.apply(null, args) : factory; + } + module.result = result===undefined && module.cjs ? module.cjs.exports : result; + 1 && syncExecStack.shift(module); + }, + + abortExec = {}, + + defOrder = 0, + + promoteModuleToPlugin = function(pluginModule){ + var plugin = pluginModule.result; + pluginModule.dynamic = plugin.dynamic; + pluginModule.normalize = plugin.normalize; + pluginModule.load = plugin.load; + return pluginModule; + }, + + resolvePluginLoadQ = function(plugin){ + // plugins is a newly executed module that has a loadQ waiting to run + + // step 1: traverse the loadQ and fixup the mid and prid; remember the map from original mid to new mid + // recall the original mid was created before the plugin was on board and therefore it was impossible to + // compute the final mid; accordingly, prid may or may not change, but the mid will definitely change + var map = {}; + forEach(plugin.loadQ, function(pseudoPluginResource){ + // manufacture and insert the real module in modules + var prid = resolvePluginResourceId(plugin, pseudoPluginResource.prid, pseudoPluginResource.req.module), + mid = plugin.dynamic ? pseudoPluginResource.mid.replace(/waitingForPlugin$/, prid) : (plugin.mid + "!" + prid), + pluginResource = mix(mix({}, pseudoPluginResource), {mid:mid, prid:prid, injected:0}); + if(!modules[mid]){ + // create a new (the real) plugin resource and inject it normally now that the plugin is on board + injectPlugin(modules[mid] = pluginResource); + } // else this was a duplicate request for the same (plugin, rid) for a nondynamic plugin + + // pluginResource is really just a placeholder with the wrong mid (because we couldn't calculate it until the plugin was on board) + // mark is as arrived and delete it from modules; the real module was requested above + map[pseudoPluginResource.mid] = modules[mid]; + setArrived(pseudoPluginResource); + delete modules[pseudoPluginResource.mid]; + }); + plugin.loadQ = 0; + + // step2: replace all references to any placeholder modules with real modules + var substituteModules = function(module){ + for(var replacement, deps = module.deps || [], i = 0; i")]); + return (!module.def || strict) ? abortExec : (module.cjs && module.cjs.exports); + } + // at this point the module is either not executed or fully executed + + + if(!module.executed){ + if(!module.def){ + return abortExec; + } + var mid = module.mid, + deps = module.deps || [], + arg, argResult, + args = [], + i = 0; + + if( 0 ){ + circleTrace.push(mid); + req.trace("loader-exec-module", ["exec", circleTrace.length, mid]); + } + + // for circular dependencies, assume the first module encountered was executed OK + // modules that circularly depend on a module that has not run its factory will get + // the premade cjs.exports===module.result. They can take a reference to this object and/or + // add properties to it. When the module finally runs its factory, the factory can + // read/write/replace this object. Notice that so long as the object isn't replaced, any + // reference taken earlier while walking the deps list is still valid. + module.executed = executing; + while(i < deps.length){ + arg = deps[i++]; + argResult = ((arg === cjsRequireModule) ? createRequire(module) : + ((arg === cjsExportsModule) ? module.cjs.exports : + ((arg === cjsModuleModule) ? module.cjs : + execModule(arg, strict)))); + if(argResult === abortExec){ + module.executed = 0; + req.trace("loader-exec-module", ["abort", mid]); + 0 && circleTrace.pop(); + return abortExec; + } + args.push(argResult); + } + runFactory(module, args); + finishExec(module); + 0 && circleTrace.pop(); + } + // at this point the module is guaranteed fully executed + + return module.result; + }, + + + checkCompleteGuard = 0, + + guardCheckComplete = function(proc){ + try{ + checkCompleteGuard++; + proc(); + }finally{ + checkCompleteGuard--; + } + if(execComplete()){ + signal("idle", []); + } + }, + + checkComplete = function(){ + // keep going through the execQ as long as at least one factory is executed + // plugins, recursion, cached modules all make for many execution path possibilities + if(checkCompleteGuard){ + return; + } + guardCheckComplete(function(){ + checkDojoRequirePlugin(); + for(var currentDefOrder, module, i = 0; i < execQ.length;){ + currentDefOrder = defOrder; + module = execQ[i]; + execModule(module); + if(currentDefOrder!=defOrder){ + // defOrder was bumped one or more times indicating something was executed (note, this indicates + // the execQ was modified, maybe a lot (for example a later module causes an earlier module to execute) + checkDojoRequirePlugin(); + i = 0; + }else{ + // nothing happened; check the next module in the exec queue + i++; + } + } + }); + }; + + + if( 0 ){ + req.undef = function(moduleId, referenceModule){ + // In order to reload a module, it must be undefined (this routine) and then re-requested. + // This is useful for testing frameworks (at least). + var module = getModule(moduleId, referenceModule); + setArrived(module); + delete modules[module.mid]; + }; + } + + if( 1 ){ + if(has("dojo-loader-eval-hint-url")===undefined){ + has.add("dojo-loader-eval-hint-url", 1); + } + + var fixupUrl= function(url){ + url += ""; // make sure url is a Javascript string (some paths may be a Java string) + return url + (cacheBust ? ((/\?/.test(url) ? "&" : "?") + cacheBust) : ""); + }, + + injectPlugin = function( + module + ){ + // injects the plugin module given by module; may have to inject the plugin itself + var plugin = module.plugin; + + if(plugin.executed === executed && !plugin.load){ + // executed the module not knowing it was a plugin + promoteModuleToPlugin(plugin); + } + + var onLoad = function(def){ + module.result = def; + setArrived(module); + finishExec(module); + checkComplete(); + }; + + if(plugin.load){ + plugin.load(module.prid, module.req, onLoad); + }else if(plugin.loadQ){ + plugin.loadQ.push(module); + }else{ + // the unshift instead of push is important: we don't want plugins to execute as + // dependencies of some other module because this may cause circles when the plugin + // loadQ is run; also, generally, we want plugins to run early since they may load + // several other modules and therefore can potentially unblock many modules + plugin.loadQ = [module]; + execQ.unshift(plugin); + injectModule(plugin); + } + }, + + // for IE, injecting a module may result in a recursive execution if the module is in the cache + + cached = 0, + + injectingModule = 0, + + injectingCachedModule = 0, + + evalModuleText = function(text, module){ + // see def() for the injectingCachedModule bracket; it simply causes a short, safe curcuit + if(has("config-stripStrict")){ + text = text.replace(/"use strict"/g, ''); + } + injectingCachedModule = 1; + if(has("config-dojo-loader-catches")){ + try{ + if(text===cached){ + cached.call(null); + }else{ + req.eval(text, has("dojo-loader-eval-hint-url") ? module.url : module.mid); + } + }catch(e){ + signal(error, makeError("evalModuleThrew", module)); + } + }else{ + if(text===cached){ + cached.call(null); + }else{ + req.eval(text, has("dojo-loader-eval-hint-url") ? module.url : module.mid); + } + } + injectingCachedModule = 0; + }, + + injectModule = function(module){ + // Inject the module. In the browser environment, this means appending a script element into + // the document; in other environments, it means loading a file. + // + // If in synchronous mode, then get the module synchronously if it's not xdomainLoading. + + var mid = module.mid, + url = module.url; + if(module.executed || module.injected || waiting[mid] || (module.url && ((module.pack && waiting[module.url]===module.pack) || waiting[module.url]==1))){ + return; + } + setRequested(module); + + if( 0 ){ + var viaCombo = 0; + if(module.plugin && module.plugin.isCombo){ + // a combo plugin; therefore, must be handled by combo service + // the prid should have already been converted to a URL (if required by the plugin) during + // the normalze process; in any event, there is no way for the loader to know how to + // to the conversion; therefore the third argument is zero + req.combo.add(module.plugin.mid, module.prid, 0, req); + viaCombo = 1; + }else if(!module.plugin){ + viaCombo = req.combo.add(0, module.mid, module.url, req); + } + if(viaCombo){ + comboPending= 1; + return; + } + } + + if(module.plugin){ + injectPlugin(module); + return; + } // else a normal module (not a plugin) + + + var onLoadCallback = function(){ + runDefQ(module); + if(module.injected !== arrived){ + // the script that contained the module arrived and has been executed yet + // nothing was added to the defQ (so it wasn't an AMD module) and the module + // wasn't marked as arrived by dojo.provide (so it wasn't a v1.6- module); + // therefore, it must not have been a module; adjust state accordingly + setArrived(module); + mix(module, nonModuleProps); + req.trace("loader-define-nonmodule", [module.url]); + } + + if( 1 && legacyMode){ + // must call checkComplete even in for sync loader because we may be in xdomainLoading mode; + // but, if xd loading, then don't call checkComplete until out of the current sync traversal + // in order to preserve order of execution of the dojo.required modules + !syncExecStack.length && checkComplete(); + }else{ + checkComplete(); + } + }; + cached = cache[mid] || cache[urlKeyPrefix + module.url]; + if(cached){ + req.trace("loader-inject", ["cache", module.mid, url]); + evalModuleText(cached, module); + onLoadCallback(); + return; + } + if( 1 && legacyMode){ + if(module.isXd){ + // switch to async mode temporarily; if current legacyMode!=sync, then is must be one of {legacyAsync, xd, false} + legacyMode==sync && (legacyMode = xd); + // fall through and load via script injection + }else if(module.isAmd && legacyMode!=sync){ + // fall through and load via script injection + }else{ + // mode may be sync, xd/legacyAsync, or async; module may be AMD or legacy; but module is always located on the same domain + var xhrCallback = function(text){ + if(legacyMode==sync){ + // the top of syncExecStack gives the current synchronously executing module; the loader needs + // to know this if it has to switch to async loading in the middle of evaluating a legacy module + // this happens when a modules dojo.require's a module that must be loaded async because it's xdomain + // (using unshift/shift because there is no back() methods for Javascript arrays) + syncExecStack.unshift(module); + evalModuleText(text, module); + syncExecStack.shift(); + + // maybe the module was an AMD module + runDefQ(module); + + // legacy modules never get to defineModule() => cjs and injected never set; also evaluation implies executing + if(!module.cjs){ + setArrived(module); + finishExec(module); + } + + if(module.finish){ + // while synchronously evaluating this module, dojo.require was applied referencing a module + // that had to be loaded async; therefore, the loader stopped answering all dojo.require + // requests so they could be answered completely in the correct sequence; module.finish gives + // the list of dojo.requires that must be re-applied once all target modules are available; + // make a synthetic module to execute the dojo.require's in the correct order + + // compute a guarnateed-unique mid for the synthetic finish module; remember the finish vector; remove it from the reference module + // TODO: can we just leave the module.finish...what's it hurting? + var finishMid = mid + "*finish", + finish = module.finish; + delete module.finish; + + def(finishMid, ["dojo", ("dojo/require!" + finish.join(",")).replace(/\./g, "/")], function(dojo){ + forEach(finish, function(mid){ dojo.require(mid); }); + }); + // unshift, not push, which causes the current traversal to be reattempted from the top + execQ.unshift(getModule(finishMid)); + } + onLoadCallback(); + }else{ + text = transformToAmd(module, text); + if(text){ + evalModuleText(text, module); + onLoadCallback(); + }else{ + // if transformToAmd returned falsy, then the module was already AMD and it can be script-injected + // do so to improve debugability(even though it means another download...which probably won't happen with a good browser cache) + injectingModule = module; + req.injectUrl(fixupUrl(url), onLoadCallback, module); + injectingModule = 0; + } + } + }; + + req.trace("loader-inject", ["xhr", module.mid, url, legacyMode!=sync]); + if(has("config-dojo-loader-catches")){ + try{ + req.getText(url, legacyMode!=sync, xhrCallback); + }catch(e){ + signal(error, makeError("xhrInjectFailed", [module, e])); + } + }else{ + req.getText(url, legacyMode!=sync, xhrCallback); + } + return; + } + } // else async mode or fell through in xdomain loading mode; either way, load by script injection + req.trace("loader-inject", ["script", module.mid, url]); + injectingModule = module; + req.injectUrl(fixupUrl(url), onLoadCallback, module); + injectingModule = 0; + }, + + defineModule = function(module, deps, def){ + req.trace("loader-define-module", [module.mid, deps]); + + if( 0 && module.plugin && module.plugin.isCombo){ + // the module is a plugin resource loaded by the combo service + // note: check for module.plugin should be enough since normal plugin resources should + // not follow this path; module.plugin.isCombo is future-proofing belt and suspenders + module.result = isFunction(def) ? def() : def; + setArrived(module); + finishExec(module); + return module; + }; + + var mid = module.mid; + if(module.injected === arrived){ + signal(error, makeError("multipleDefine", module)); + return module; + } + mix(module, { + deps: deps, + def: def, + cjs: { + id: module.mid, + uri: module.url, + exports: (module.result = {}), + setExports: function(exports){ + module.cjs.exports = exports; + }, + config:function(){ + return module.config; + } + } + }); + + // resolve deps with respect to this module + for(var i = 0; i < deps.length; i++){ + deps[i] = getModule(deps[i], module); + } + + if( 1 && legacyMode && !waiting[mid]){ + // the module showed up without being asked for; it was probably in a + // + return new NodeList(); // dojo/NodeList + }; + =====*/ + + // the query that is returned from this module is slightly different than dojo.query, + // because dojo.query has to maintain backwards compatibility with returning a + // true array which has performance problems. The query returned from the module + // does not use true arrays, but rather inherits from Array, making it much faster to + // instantiate. + dojo.query = queryForEngine(defaultEngine, function(array){ + // call it without the new operator to invoke the back-compat behavior that returns a true array + return NodeList(array); // dojo/NodeList + }); + + query.load = function(id, parentRequire, loaded){ + // summary: + // can be used as AMD plugin to conditionally load new query engine + // example: + // | require(["dojo/query!custom"], function(qsa){ + // | // loaded selector/custom.js as engine + // | qsa("#foobar").forEach(...); + // | }); + loader.load(id, parentRequire, function(engine){ + loaded(queryForEngine(engine, NodeList)); + }); + }; + + dojo._filterQueryResult = query._filterResult = function(nodes, selector, root){ + return new NodeList(query.filter(nodes, selector, root)); + }; + dojo.NodeList = query.NodeList = NodeList; + return query; +}); + +}, +'dojo/has':function(){ +define(["require", "module"], function(require, module){ + // module: + // dojo/has + // summary: + // Defines the has.js API and several feature tests used by dojo. + // description: + // This module defines the has API as described by the project has.js with the following additional features: + // + // - the has test cache is exposed at has.cache. + // - the method has.add includes a forth parameter that controls whether or not existing tests are replaced + // - the loader's has cache may be optionally copied into this module's has cahce. + // + // This module adopted from https://github.com/phiggins42/has.js; thanks has.js team! + + // try to pull the has implementation from the loader; both the dojo loader and bdLoad provide one + // if using a foreign loader, then the has cache may be initialized via the config object for this module + // WARNING: if a foreign loader defines require.has to be something other than the has.js API, then this implementation fail + var has = require.has || function(){}; + if(! 1 ){ + var + isBrowser = + // the most fundamental decision: are we in the browser? + typeof window != "undefined" && + typeof location != "undefined" && + typeof document != "undefined" && + window.location == location && window.document == document, + + // has API variables + global = this, + doc = isBrowser && document, + element = doc && doc.createElement("DiV"), + cache = (module.config && module.config()) || {}; + + has = function(name){ + // summary: + // Return the current value of the named feature. + // + // name: String|Integer + // The name (if a string) or identifier (if an integer) of the feature to test. + // + // description: + // Returns the value of the feature named by name. The feature must have been + // previously added to the cache by has.add. + + return typeof cache[name] == "function" ? (cache[name] = cache[name](global, doc, element)) : cache[name]; // Boolean + }; + + has.cache = cache; + + has.add = function(name, test, now, force){ + // summary: + // Register a new feature test for some named feature. + // name: String|Integer + // The name (if a string) or identifier (if an integer) of the feature to test. + // test: Function + // A test function to register. If a function, queued for testing until actually + // needed. The test function should return a boolean indicating + // the presence of a feature or bug. + // now: Boolean? + // Optional. Omit if `test` is not a function. Provides a way to immediately + // run the test and cache the result. + // force: Boolean? + // Optional. If the test already exists and force is truthy, then the existing + // test will be replaced; otherwise, add does not replace an existing test (that + // is, by default, the first test advice wins). + // example: + // A redundant test, testFn with immediate execution: + // | has.add("javascript", function(){ return true; }, true); + // + // example: + // Again with the redundantness. You can do this in your tests, but we should + // not be doing this in any internal has.js tests + // | has.add("javascript", true); + // + // example: + // Three things are passed to the testFunction. `global`, `document`, and a generic element + // from which to work your test should the need arise. + // | has.add("bug-byid", function(g, d, el){ + // | // g == global, typically window, yadda yadda + // | // d == document object + // | // el == the generic element. a `has` element. + // | return false; // fake test, byid-when-form-has-name-matching-an-id is slightly longer + // | }); + + (typeof cache[name]=="undefined" || force) && (cache[name]= test); + return now && has(name); + }; + + // since we're operating under a loader that doesn't provide a has API, we must explicitly initialize + // has as it would have otherwise been initialized by the dojo loader; use has.add to the builder + // can optimize these away iff desired + 1 || has.add("host-browser", isBrowser); + 1 || has.add("dom", isBrowser); + 1 || has.add("dojo-dom-ready-api", 1); + 1 || has.add("dojo-sniff", 1); + } + + if( 1 ){ + // Common application level tests + has.add("dom-addeventlistener", !!document.addEventListener); + has.add("touch", "ontouchstart" in document); + // I don't know if any of these tests are really correct, just a rough guess + has.add("device-width", screen.availWidth || innerWidth); + + // Tests for DOMNode.attributes[] behavior: + // - dom-attributes-explicit - attributes[] only lists explicitly user specified attributes + // - dom-attributes-specified-flag (IE8) - need to check attr.specified flag to skip attributes user didn't specify + // - Otherwise, in IE6-7. attributes[] will list hundreds of values, so need to do outerHTML to get attrs instead. + var form = document.createElement("form"); + has.add("dom-attributes-explicit", form.attributes.length == 0); // W3C + has.add("dom-attributes-specified-flag", form.attributes.length > 0 && form.attributes.length < 40); // IE8 + } + + has.clearElement = function(element){ + // summary: + // Deletes the contents of the element passed to test functions. + element.innerHTML= ""; + return element; + }; + + has.normalize = function(id, toAbsMid){ + // summary: + // Resolves id into a module id based on possibly-nested tenary expression that branches on has feature test value(s). + // + // toAbsMid: Function + // Resolves a relative module id into an absolute module id + var + tokens = id.match(/[\?:]|[^:\?]*/g), i = 0, + get = function(skip){ + var term = tokens[i++]; + if(term == ":"){ + // empty string module name, resolves to 0 + return 0; + }else{ + // postfixed with a ? means it is a feature to branch on, the term is the name of the feature + if(tokens[i++] == "?"){ + if(!skip && has(term)){ + // matched the feature, get the first value from the options + return get(); + }else{ + // did not match, get the second value, passing over the first + get(true); + return get(skip); + } + } + // a module + return term || 0; + } + }; + id = get(); + return id && toAbsMid(id); + }; + + has.load = function(id, parentRequire, loaded){ + // summary: + // Conditional loading of AMD modules based on a has feature test value. + // id: String + // Gives the resolved module id to load. + // parentRequire: Function + // The loader require function with respect to the module that contained the plugin resource in it's + // dependency list. + // loaded: Function + // Callback to loader that consumes result of plugin demand. + + if(id){ + parentRequire([id], loaded); + }else{ + loaded(); + } + }; + + return has; +}); + +}, +'dojo/_base/loader':function(){ +define(["./kernel", "../has", "require", "module", "./json", "./lang", "./array"], function(dojo, has, require, thisModule, json, lang, array) { + // module: + // dojo/_base/loader + + // This module defines the v1.x synchronous loader API. + + // signal the loader in sync mode... + //>>pure-amd + + if (! 1 ){ + console.error("cannot load the Dojo v1.x loader with a foreign loader"); + return 0; + } + + 1 || has.add("dojo-fast-sync-require", 1); + + + var makeErrorToken = function(id){ + return {src:thisModule.id, id:id}; + }, + + slashName = function(name){ + return name.replace(/\./g, "/"); + }, + + buildDetectRe = /\/\/>>built/, + + dojoRequireCallbacks = [], + dojoRequireModuleStack = [], + + dojoRequirePlugin = function(mid, require, loaded){ + dojoRequireCallbacks.push(loaded); + array.forEach(mid.split(","), function(mid){ + var module = getModule(mid, require.module); + dojoRequireModuleStack.push(module); + injectModule(module); + }); + checkDojoRequirePlugin(); + }, + + checkDojoRequirePlugin = ( 1 ? + // This version of checkDojoRequirePlugin makes the observation that all dojoRequireCallbacks can be released + // when all *non-dojo/require!, dojo/loadInit!* modules are either executed, not requested, or arrived. This is + // the case since there are no more modules the loader is waiting for, therefore, dojo/require! must have + // everything it needs on board. + // + // The potential weakness of this algorithm is that dojo/require will not execute callbacks until *all* dependency + // trees are ready. It is possible that some trees may be ready earlier than others, and this extra wait is non-optimal. + // Still, for big projects, this seems better than the original algorithm below that proved slow in some cases. + // Note, however, the original algorithm had the potential to execute partial trees, but that potential was never enabled. + // There are also other optimization available with the original algorithm that have not been explored. + function(){ + var module, mid; + for(mid in modules){ + module = modules[mid]; + if(module.noReqPluginCheck===undefined){ + // tag the module as either a loadInit or require plugin or not for future reference + module.noReqPluginCheck = /loadInit\!/.test(mid) || /require\!/.test(mid) ? 1 : 0; + } + if(!module.executed && !module.noReqPluginCheck && module.injected==requested){ + return; + } + } + + guardCheckComplete(function(){ + var oldCallbacks = dojoRequireCallbacks; + dojoRequireCallbacks = []; + array.forEach(oldCallbacks, function(cb){cb(1);}); + }); + } : (function(){ + // Note: this is the original checkDojoRequirePlugin that is much slower than the algorithm above. However, we know it + // works, so we leave it here in case the algorithm above fails in some corner case. + // + // checkDojoRequirePlugin inspects all of the modules demanded by a dojo/require! dependency + // to see if they have arrived. The loader does not release *any* of these modules to be instantiated + // until *all* of these modules are on board, thereby preventing the evaluation of a module with dojo.require's + // that reference modules that are not available. + // + // The algorithm works by traversing the dependency graphs (remember, there can be cycles so they are not trees) + // of each module in the dojoRequireModuleStack array (which contains the list of modules demanded by dojo/require!). + // The moment a single module is discovered that is missing, the algorithm gives up and indicates that not all + // modules are on board. dojo/loadInit! and dojo/require! are ignored because there dependencies are inserted + // directly in dojoRequireModuleStack. For example, if "your/module" module depends on "dojo/require!my/module", then + // *both* "dojo/require!my/module" and "my/module" will be in dojoRequireModuleStack. Obviously, if "my/module" + // is on board, then "dojo/require!my/module" is also satisfied, so the algorithm doesn't check for "dojo/require!my/module". + // + // Note: inserting a dojo/require! dependency in the dojoRequireModuleStack achieves nothing + // with the current algorithm; however, having such modules present makes it possible to optimize the algorithm + // + // Note: prior versions of this algorithm had an optimization that signaled loaded on dojo/require! dependencies + // individually (rather than waiting for them all to be resolved). The implementation proved problematic with cycles + // and plugins. However, it is possible to reattach that strategy in the future. + + // a set from module-id to {undefined | 1 | 0}, where... + // undefined => the module has not been inspected + // 0 => the module or at least one of its dependencies has not arrived + // 1 => the module is a loadInit! or require! plugin resource, or is currently being traversed (therefore, assume + // OK until proven otherwise), or has been completely traversed and all dependencies have arrived + + var touched, + traverse = function(m){ + touched[m.mid] = 1; + for(var t, module, deps = m.deps || [], i= 0; i a built module, always AMD + // extractResult==0 => no sync API + return 0; + } + + // manufacture a synthetic module id that can never be a real mdule id (just like require does) + id = module.mid + "-*loadInit"; + + // construct the dojo/loadInit names vector which causes any relocated names to be defined as lexical variables under their not-relocated name + // the dojo/loadInit plugin assumes the first name in names is "dojo" + + for(var p in getModule("dojo", module).result.scopeMap){ + names.push(p); + namesAsStrings.push('"' + p + '"'); + } + + // rewrite the module as a synthetic dojo/loadInit plugin resource + the module expressed as an AMD module that depends on this synthetic resource + // don't have to map dojo/init since that will occur when the dependency is resolved + return "// xdomain rewrite of " + module.mid + "\n" + + "define('" + id + "',{\n" + + "\tnames:" + dojo.toJson(names) + ",\n" + + "\tdef:function(" + names.join(",") + "){" + extractResult[1] + "}" + + "});\n\n" + + "define(" + dojo.toJson(names.concat(["dojo/loadInit!"+id])) + ", function(" + names.join(",") + "){\n" + extractResult[0] + "});"; + }, + + loaderVars = require.initSyncLoader(dojoRequirePlugin, checkDojoRequirePlugin, transformToAmd), + + sync = + loaderVars.sync, + + requested = + loaderVars.requested, + + arrived = + loaderVars.arrived, + + nonmodule = + loaderVars.nonmodule, + + executing = + loaderVars.executing, + + executed = + loaderVars.executed, + + syncExecStack = + loaderVars.syncExecStack, + + modules = + loaderVars.modules, + + execQ = + loaderVars.execQ, + + getModule = + loaderVars.getModule, + + injectModule = + loaderVars.injectModule, + + setArrived = + loaderVars.setArrived, + + signal = + loaderVars.signal, + + finishExec = + loaderVars.finishExec, + + execModule = + loaderVars.execModule, + + getLegacyMode = + loaderVars.getLegacyMode, + + guardCheckComplete = + loaderVars.guardCheckComplete; + + // there is exactly one dojoRequirePlugin among possibly-many dojo/_base/loader's (owing to mapping) + dojoRequirePlugin = loaderVars.dojoRequirePlugin; + + dojo.provide = function(mid){ + var executingModule = syncExecStack[0], + module = lang.mixin(getModule(slashName(mid), require.module), { + executed:executing, + result:lang.getObject(mid, true) + }); + setArrived(module); + if(executingModule){ + (executingModule.provides || (executingModule.provides = [])).push(function(){ + module.result = lang.getObject(mid); + delete module.provides; + module.executed!==executed && finishExec(module); + }); + }// else dojo.provide called not consequent to loading; therefore, give up trying to publish module value to loader namespace + return module.result; + }; + + has.add("config-publishRequireResult", 1, 0, 0); + + dojo.require = function(moduleName, omitModuleCheck) { + // summary: + // loads a Javascript module from the appropriate URI + // + // moduleName: String + // module name to load, using periods for separators, + // e.g. "dojo.date.locale". Module paths are de-referenced by dojo's + // internal mapping of locations to names and are disambiguated by + // longest prefix. See `dojo.registerModulePath()` for details on + // registering new modules. + // + // omitModuleCheck: Boolean? + // if `true`, omitModuleCheck skips the step of ensuring that the + // loaded file actually defines the symbol it is referenced by. + // For example if it called as `dojo.require("a.b.c")` and the + // file located at `a/b/c.js` does not define an object `a.b.c`, + // and exception will be throws whereas no exception is raised + // when called as `dojo.require("a.b.c", true)` + // + // description: + // Modules are loaded via dojo.require by using one of two loaders: the normal loader + // and the xdomain loader. The xdomain loader is used when dojo was built with a + // custom build that specified loader=xdomain and the module lives on a modulePath + // that is a whole URL, with protocol and a domain. The versions of Dojo that are on + // the Google and AOL CDNs use the xdomain loader. + // + // If the module is loaded via the xdomain loader, it is an asynchronous load, since + // the module is added via a dynamically created script tag. This + // means that dojo.require() can return before the module has loaded. However, this + // should only happen in the case where you do dojo.require calls in the top-level + // HTML page, or if you purposely avoid the loader checking for dojo.require + // dependencies in your module by using a syntax like dojo["require"] to load the module. + // + // Sometimes it is useful to not have the loader detect the dojo.require calls in the + // module so that you can dynamically load the modules as a result of an action on the + // page, instead of right at module load time. + // + // Also, for script blocks in an HTML page, the loader does not pre-process them, so + // it does not know to download the modules before the dojo.require calls occur. + // + // So, in those two cases, when you want on-the-fly module loading or for script blocks + // in the HTML page, special care must be taken if the dojo.required code is loaded + // asynchronously. To make sure you can execute code that depends on the dojo.required + // modules, be sure to add the code that depends on the modules in a dojo.addOnLoad() + // callback. dojo.addOnLoad waits for all outstanding modules to finish loading before + // executing. + // + // This type of syntax works with both xdomain and normal loaders, so it is good + // practice to always use this idiom for on-the-fly code loading and in HTML script + // blocks. If at some point you change loaders and where the code is loaded from, + // it will all still work. + // + // More on how dojo.require + // `dojo.require("A.B")` first checks to see if symbol A.B is + // defined. If it is, it is simply returned (nothing to do). + // + // If it is not defined, it will look for `A/B.js` in the script root + // directory. + // + // `dojo.require` throws an exception if it cannot find a file + // to load, or if the symbol `A.B` is not defined after loading. + // + // It returns the object `A.B`, but note the caveats above about on-the-fly loading and + // HTML script blocks when the xdomain loader is loading a module. + // + // `dojo.require()` does nothing about importing symbols into + // the current namespace. It is presumed that the caller will + // take care of that. + // + // example: + // To use dojo.require in conjunction with dojo.ready: + // + // | dojo.require("foo"); + // | dojo.require("bar"); + // | dojo.addOnLoad(function(){ + // | //you can now safely do something with foo and bar + // | }); + // + // example: + // For example, to import all symbols into a local block, you might write: + // + // | with (dojo.require("A.B")) { + // | ... + // | } + // + // And to import just the leaf symbol to a local variable: + // + // | var B = dojo.require("A.B"); + // | ... + // + // returns: + // the required namespace object + function doRequire(mid, omitModuleCheck){ + var module = getModule(slashName(mid), require.module); + if(syncExecStack.length && syncExecStack[0].finish){ + // switched to async loading in the middle of evaluating a legacy module; stop + // applying dojo.require so the remaining dojo.requires are applied in order + syncExecStack[0].finish.push(mid); + return undefined; + } + + // recall module.executed has values {0, executing, executed}; therefore, truthy indicates executing or executed + if(module.executed){ + return module.result; + } + omitModuleCheck && (module.result = nonmodule); + + // rcg...why here and in two lines?? + var currentMode = getLegacyMode(); + + // recall, in sync mode to inject is to *eval* the module text + // if the module is a legacy module, this is the same as executing + // but if the module is an AMD module, this means defining, not executing + injectModule(module); + // the inject may have changed the mode + currentMode = getLegacyMode(); + + // in sync mode to dojo.require is to execute + if(module.executed!==executed && module.injected===arrived){ + // the module was already here before injectModule was called probably finishing up a xdomain + // load, but maybe a module given to the loader directly rather than having the loader retrieve it + + loaderVars.guardCheckComplete(function(){ + execModule(module); + }); + } + if(module.executed){ + return module.result; + } + + if(currentMode==sync){ + // the only way to get here is in sync mode and dojo.required a module that + // * was loaded async in the injectModule application a few lines up + // * was an AMD module that had deps that are being loaded async and therefore couldn't execute + if(module.cjs){ + // the module was an AMD module; unshift, not push, which causes the current traversal to be reattempted from the top + execQ.unshift(module); + }else{ + // the module was a legacy module + syncExecStack.length && (syncExecStack[0].finish= [mid]); + } + }else{ + // the loader wasn't in sync mode on entry; probably async mode; therefore, no expectation of getting + // the module value synchronously; make sure it gets executed though + execQ.push(module); + } + + return undefined; + } + + var result = doRequire(moduleName, omitModuleCheck); + if(has("config-publishRequireResult") && !lang.exists(moduleName) && result!==undefined){ + lang.setObject(moduleName, result); + } + return result; + }; + + dojo.loadInit = function(f) { + f(); + }; + + dojo.registerModulePath = function(/*String*/moduleName, /*String*/prefix){ + // summary: + // Maps a module name to a path + // description: + // An unregistered module is given the default path of ../[module], + // relative to Dojo root. For example, module acme is mapped to + // ../acme. If you want to use a different module name, use + // dojo.registerModulePath. + // example: + // If your dojo.js is located at this location in the web root: + // | /myapp/js/dojo/dojo/dojo.js + // and your modules are located at: + // | /myapp/js/foo/bar.js + // | /myapp/js/foo/baz.js + // | /myapp/js/foo/thud/xyzzy.js + // Your application can tell Dojo to locate the "foo" namespace by calling: + // | dojo.registerModulePath("foo", "../../foo"); + // At which point you can then use dojo.require() to load the + // modules (assuming they provide() the same things which are + // required). The full code might be: + // | + // | + + var paths = {}; + paths[moduleName.replace(/\./g, "/")] = prefix; + require({paths:paths}); + }; + + dojo.platformRequire = function(/*Object*/modMap){ + // summary: + // require one or more modules based on which host environment + // Dojo is currently operating in + // description: + // This method takes a "map" of arrays which one can use to + // optionally load dojo modules. The map is indexed by the + // possible dojo.name_ values, with two additional values: + // "default" and "common". The items in the "default" array will + // be loaded if none of the other items have been choosen based on + // dojo.name_, set by your host environment. The items in the + // "common" array will *always* be loaded, regardless of which + // list is chosen. + // example: + // | dojo.platformRequire({ + // | browser: [ + // | "foo.sample", // simple module + // | "foo.test", + // | ["foo.bar.baz", true] // skip object check in _loadModule (dojo.require) + // | ], + // | default: [ "foo.sample._base" ], + // | common: [ "important.module.common" ] + // | }); + + var result = (modMap.common || []).concat(modMap[dojo._name] || modMap["default"] || []), + temp; + while(result.length){ + if(lang.isArray(temp = result.shift())){ + dojo.require.apply(dojo, temp); + }else{ + dojo.require(temp); + } + } + }; + + dojo.requireIf = dojo.requireAfterIf = function(/*Boolean*/ condition, /*String*/ moduleName, /*Boolean?*/omitModuleCheck){ + // summary: + // If the condition is true then call `dojo.require()` for the specified + // resource + // + // example: + // | dojo.requireIf(dojo.isBrowser, "my.special.Module"); + + if(condition){ + dojo.require(moduleName, omitModuleCheck); + } + }; + + dojo.requireLocalization = function(/*String*/moduleName, /*String*/bundleName, /*String?*/locale){ + require(["../i18n"], function(i18n){ + i18n.getLocalization(moduleName, bundleName, locale); + }); + }; + + return { + // summary: + // This module defines the v1.x synchronous loader API. + + extractLegacyApiApplications:extractLegacyApiApplications, + require:dojoRequirePlugin, + loadInit:dojoLoadInitPlugin + }; +}); + +}, +'dojo/json':function(){ +define(["./has"], function(has){ + "use strict"; + var hasJSON = typeof JSON != "undefined"; + has.add("json-parse", hasJSON); // all the parsers work fine + // Firefox 3.5/Gecko 1.9 fails to use replacer in stringify properly https://bugzilla.mozilla.org/show_bug.cgi?id=509184 + has.add("json-stringify", hasJSON && JSON.stringify({a:0}, function(k,v){return v||1;}) == '{"a":1}'); + + /*===== + return { + // summary: + // Functions to parse and serialize JSON + + parse: function(str, strict){ + // summary: + // Parses a [JSON](http://json.org) string to return a JavaScript object. + // description: + // This function follows [native JSON API](https://developer.mozilla.org/en/JSON) + // Throws for invalid JSON strings. This delegates to eval() if native JSON + // support is not available. By default this will evaluate any valid JS expression. + // With the strict parameter set to true, the parser will ensure that only + // valid JSON strings are parsed (otherwise throwing an error). Without the strict + // parameter, the content passed to this method must come + // from a trusted source. + // str: + // a string literal of a JSON item, for instance: + // `'{ "foo": [ "bar", 1, { "baz": "thud" } ] }'` + // strict: + // When set to true, this will ensure that only valid, secure JSON is ever parsed. + // Make sure this is set to true for untrusted content. Note that on browsers/engines + // without native JSON support, setting this to true will run slower. + }, + stringify: function(value, replacer, spacer){ + // summary: + // Returns a [JSON](http://json.org) serialization of an object. + // description: + // Returns a [JSON](http://json.org) serialization of an object. + // This function follows [native JSON API](https://developer.mozilla.org/en/JSON) + // Note that this doesn't check for infinite recursion, so don't do that! + // value: + // A value to be serialized. + // replacer: + // A replacer function that is called for each value and can return a replacement + // spacer: + // A spacer string to be used for pretty printing of JSON + // example: + // simple serialization of a trivial object + // | define(["dojo/json"], function(JSON){ + // | var jsonStr = JSON.stringify({ howdy: "stranger!", isStrange: true }); + // | doh.is('{"howdy":"stranger!","isStrange":true}', jsonStr); + } + }; + =====*/ + + if(has("json-stringify")){ + return JSON; + }else{ + var escapeString = function(/*String*/str){ + // summary: + // Adds escape sequences for non-visual characters, double quote and + // backslash and surrounds with double quotes to form a valid string + // literal. + return ('"' + str.replace(/(["\\])/g, '\\$1') + '"'). + replace(/[\f]/g, "\\f").replace(/[\b]/g, "\\b").replace(/[\n]/g, "\\n"). + replace(/[\t]/g, "\\t").replace(/[\r]/g, "\\r"); // string + }; + return { + parse: has("json-parse") ? JSON.parse : function(str, strict){ + if(strict && !/^([\s\[\{]*(?:"(?:\\.|[^"])+"|-?\d[\d\.]*(?:[Ee][+-]?\d+)?|null|true|false|)[\s\]\}]*(?:,|:|$))+$/.test(str)){ + throw new SyntaxError("Invalid characters in JSON"); + } + return eval('(' + str + ')'); + }, + stringify: function(value, replacer, spacer){ + var undef; + if(typeof replacer == "string"){ + spacer = replacer; + replacer = null; + } + function stringify(it, indent, key){ + if(replacer){ + it = replacer(key, it); + } + var val, objtype = typeof it; + if(objtype == "number"){ + return isFinite(it) ? it + "" : "null"; + } + if(objtype == "boolean"){ + return it + ""; + } + if(it === null){ + return "null"; + } + if(typeof it == "string"){ + return escapeString(it); + } + if(objtype == "function" || objtype == "undefined"){ + return undef; // undefined + } + // short-circuit for objects that support "json" serialization + // if they return "self" then just pass-through... + if(typeof it.toJSON == "function"){ + return stringify(it.toJSON(key), indent, key); + } + if(it instanceof Date){ + return '"{FullYear}-{Month+}-{Date}T{Hours}:{Minutes}:{Seconds}Z"'.replace(/\{(\w+)(\+)?\}/g, function(t, prop, plus){ + var num = it["getUTC" + prop]() + (plus ? 1 : 0); + return num < 10 ? "0" + num : num; + }); + } + if(it.valueOf() !== it){ + // primitive wrapper, try again unwrapped: + return stringify(it.valueOf(), indent, key); + } + var nextIndent= spacer ? (indent + spacer) : ""; + /* we used to test for DOM nodes and throw, but FF serializes them as {}, so cross-browser consistency is probably not efficiently attainable */ + + var sep = spacer ? " " : ""; + var newLine = spacer ? "\n" : ""; + + // array + if(it instanceof Array){ + var itl = it.length, res = []; + for(key = 0; key < itl; key++){ + var obj = it[key]; + val = stringify(obj, nextIndent, key); + if(typeof val != "string"){ + val = "null"; + } + res.push(newLine + nextIndent + val); + } + return "[" + res.join(",") + newLine + indent + "]"; + } + // generic object code path + var output = []; + for(key in it){ + var keyStr; + if(it.hasOwnProperty(key)){ + if(typeof key == "number"){ + keyStr = '"' + key + '"'; + }else if(typeof key == "string"){ + keyStr = escapeString(key); + }else{ + // skip non-string or number keys + continue; + } + val = stringify(it[key], nextIndent, key); + if(typeof val != "string"){ + // skip non-serializable values + continue; + } + // At this point, the most non-IE browsers don't get in this branch + // (they have native JSON), so push is definitely the way to + output.push(newLine + nextIndent + keyStr + ":" + sep + val); + } + } + return "{" + output.join(",") + newLine + indent + "}"; // String + } + return stringify(value, "", ""); + } + }; + } +}); + +}, +'dojo/_base/declare':function(){ +define(["./kernel", "../has", "./lang"], function(dojo, has, lang){ + // module: + // dojo/_base/declare + + var mix = lang.mixin, op = Object.prototype, opts = op.toString, + xtor = new Function, counter = 0, cname = "constructor"; + + function err(msg, cls){ throw new Error("declare" + (cls ? " " + cls : "") + ": " + msg); } + + // C3 Method Resolution Order (see http://www.python.org/download/releases/2.3/mro/) + function c3mro(bases, className){ + var result = [], roots = [{cls: 0, refs: []}], nameMap = {}, clsCount = 1, + l = bases.length, i = 0, j, lin, base, top, proto, rec, name, refs; + + // build a list of bases naming them if needed + for(; i < l; ++i){ + base = bases[i]; + if(!base){ + err("mixin #" + i + " is unknown. Did you use dojo.require to pull it in?", className); + }else if(opts.call(base) != "[object Function]"){ + err("mixin #" + i + " is not a callable constructor.", className); + } + lin = base._meta ? base._meta.bases : [base]; + top = 0; + // add bases to the name map + for(j = lin.length - 1; j >= 0; --j){ + proto = lin[j].prototype; + if(!proto.hasOwnProperty("declaredClass")){ + proto.declaredClass = "uniqName_" + (counter++); + } + name = proto.declaredClass; + if(!nameMap.hasOwnProperty(name)){ + nameMap[name] = {count: 0, refs: [], cls: lin[j]}; + ++clsCount; + } + rec = nameMap[name]; + if(top && top !== rec){ + rec.refs.push(top); + ++top.count; + } + top = rec; + } + ++top.count; + roots[0].refs.push(top); + } + + // remove classes without external references recursively + while(roots.length){ + top = roots.pop(); + result.push(top.cls); + --clsCount; + // optimization: follow a single-linked chain + while(refs = top.refs, refs.length == 1){ + top = refs[0]; + if(!top || --top.count){ + // branch or end of chain => do not end to roots + top = 0; + break; + } + result.push(top.cls); + --clsCount; + } + if(top){ + // branch + for(i = 0, l = refs.length; i < l; ++i){ + top = refs[i]; + if(!--top.count){ + roots.push(top); + } + } + } + } + if(clsCount){ + err("can't build consistent linearization", className); + } + + // calculate the superclass offset + base = bases[0]; + result[0] = base ? + base._meta && base === result[result.length - base._meta.bases.length] ? + base._meta.bases.length : 1 : 0; + + return result; + } + + function inherited(args, a, f){ + var name, chains, bases, caller, meta, base, proto, opf, pos, + cache = this._inherited = this._inherited || {}; + + // crack arguments + if(typeof args == "string"){ + name = args; + args = a; + a = f; + } + f = 0; + + caller = args.callee; + name = name || caller.nom; + if(!name){ + err("can't deduce a name to call inherited()", this.declaredClass); + } + + meta = this.constructor._meta; + bases = meta.bases; + + pos = cache.p; + if(name != cname){ + // method + if(cache.c !== caller){ + // cache bust + pos = 0; + base = bases[0]; + meta = base._meta; + if(meta.hidden[name] !== caller){ + // error detection + chains = meta.chains; + if(chains && typeof chains[name] == "string"){ + err("calling chained method with inherited: " + name, this.declaredClass); + } + // find caller + do{ + meta = base._meta; + proto = base.prototype; + if(meta && (proto[name] === caller && proto.hasOwnProperty(name) || meta.hidden[name] === caller)){ + break; + } + }while(base = bases[++pos]); // intentional assignment + pos = base ? pos : -1; + } + } + // find next + base = bases[++pos]; + if(base){ + proto = base.prototype; + if(base._meta && proto.hasOwnProperty(name)){ + f = proto[name]; + }else{ + opf = op[name]; + do{ + proto = base.prototype; + f = proto[name]; + if(f && (base._meta ? proto.hasOwnProperty(name) : f !== opf)){ + break; + } + }while(base = bases[++pos]); // intentional assignment + } + } + f = base && f || op[name]; + }else{ + // constructor + if(cache.c !== caller){ + // cache bust + pos = 0; + meta = bases[0]._meta; + if(meta && meta.ctor !== caller){ + // error detection + chains = meta.chains; + if(!chains || chains.constructor !== "manual"){ + err("calling chained constructor with inherited", this.declaredClass); + } + // find caller + while(base = bases[++pos]){ // intentional assignment + meta = base._meta; + if(meta && meta.ctor === caller){ + break; + } + } + pos = base ? pos : -1; + } + } + // find next + while(base = bases[++pos]){ // intentional assignment + meta = base._meta; + f = meta ? meta.ctor : base; + if(f){ + break; + } + } + f = base && f; + } + + // cache the found super method + cache.c = f; + cache.p = pos; + + // now we have the result + if(f){ + return a === true ? f : f.apply(this, a || args); + } + // intentionally no return if a super method was not found + } + + function getInherited(name, args){ + if(typeof name == "string"){ + return this.__inherited(name, args, true); + } + return this.__inherited(name, true); + } + + function inherited__debug(args, a1, a2){ + var f = this.getInherited(args, a1); + if(f){ return f.apply(this, a2 || a1 || args); } + // intentionally no return if a super method was not found + } + + var inheritedImpl = dojo.config.isDebug ? inherited__debug : inherited; + + // emulation of "instanceof" + function isInstanceOf(cls){ + var bases = this.constructor._meta.bases; + for(var i = 0, l = bases.length; i < l; ++i){ + if(bases[i] === cls){ + return true; + } + } + return this instanceof cls; + } + + function mixOwn(target, source){ + // add props adding metadata for incoming functions skipping a constructor + for(var name in source){ + if(name != cname && source.hasOwnProperty(name)){ + target[name] = source[name]; + } + } + if(has("bug-for-in-skips-shadowed")){ + for(var extraNames= lang._extraNames, i= extraNames.length; i;){ + name = extraNames[--i]; + if(name != cname && source.hasOwnProperty(name)){ + target[name] = source[name]; + } + } + } + } + + // implementation of safe mixin function + function safeMixin(target, source){ + // summary: + // Mix in properties skipping a constructor and decorating functions + // like it is done by declare(). + // target: Object + // Target object to accept new properties. + // source: Object + // Source object for new properties. + // description: + // This function is used to mix in properties like lang.mixin does, + // but it skips a constructor property and decorates functions like + // declare() does. + // + // It is meant to be used with classes and objects produced with + // declare. Functions mixed in with dojo.safeMixin can use + // this.inherited() like normal methods. + // + // This function is used to implement extend() method of a constructor + // produced with declare(). + // + // example: + // | var A = declare(null, { + // | m1: function(){ + // | console.log("A.m1"); + // | }, + // | m2: function(){ + // | console.log("A.m2"); + // | } + // | }); + // | var B = declare(A, { + // | m1: function(){ + // | this.inherited(arguments); + // | console.log("B.m1"); + // | } + // | }); + // | B.extend({ + // | m2: function(){ + // | this.inherited(arguments); + // | console.log("B.m2"); + // | } + // | }); + // | var x = new B(); + // | dojo.safeMixin(x, { + // | m1: function(){ + // | this.inherited(arguments); + // | console.log("X.m1"); + // | }, + // | m2: function(){ + // | this.inherited(arguments); + // | console.log("X.m2"); + // | } + // | }); + // | x.m2(); + // | // prints: + // | // A.m1 + // | // B.m1 + // | // X.m1 + + var name, t; + // add props adding metadata for incoming functions skipping a constructor + for(name in source){ + t = source[name]; + if((t !== op[name] || !(name in op)) && name != cname){ + if(opts.call(t) == "[object Function]"){ + // non-trivial function method => attach its name + t.nom = name; + } + target[name] = t; + } + } + if(has("bug-for-in-skips-shadowed")){ + for(var extraNames= lang._extraNames, i= extraNames.length; i;){ + name = extraNames[--i]; + t = source[name]; + if((t !== op[name] || !(name in op)) && name != cname){ + if(opts.call(t) == "[object Function]"){ + // non-trivial function method => attach its name + t.nom = name; + } + target[name] = t; + } + } + } + return target; + } + + function extend(source){ + declare.safeMixin(this.prototype, source); + return this; + } + + function createSubclass(mixins){ + return declare([this].concat(mixins)); + } + + // chained constructor compatible with the legacy declare() + function chainedConstructor(bases, ctorSpecial){ + return function(){ + var a = arguments, args = a, a0 = a[0], f, i, m, + l = bases.length, preArgs; + + if(!(this instanceof a.callee)){ + // not called via new, so force it + return applyNew(a); + } + + //this._inherited = {}; + // perform the shaman's rituals of the original declare() + // 1) call two types of the preamble + if(ctorSpecial && (a0 && a0.preamble || this.preamble)){ + // full blown ritual + preArgs = new Array(bases.length); + // prepare parameters + preArgs[0] = a; + for(i = 0;;){ + // process the preamble of the 1st argument + a0 = a[0]; + if(a0){ + f = a0.preamble; + if(f){ + a = f.apply(this, a) || a; + } + } + // process the preamble of this class + f = bases[i].prototype; + f = f.hasOwnProperty("preamble") && f.preamble; + if(f){ + a = f.apply(this, a) || a; + } + // one peculiarity of the preamble: + // it is called if it is not needed, + // e.g., there is no constructor to call + // let's watch for the last constructor + // (see ticket #9795) + if(++i == l){ + break; + } + preArgs[i] = a; + } + } + // 2) call all non-trivial constructors using prepared arguments + for(i = l - 1; i >= 0; --i){ + f = bases[i]; + m = f._meta; + f = m ? m.ctor : f; + if(f){ + f.apply(this, preArgs ? preArgs[i] : a); + } + } + // 3) continue the original ritual: call the postscript + f = this.postscript; + if(f){ + f.apply(this, args); + } + }; + } + + + // chained constructor compatible with the legacy declare() + function singleConstructor(ctor, ctorSpecial){ + return function(){ + var a = arguments, t = a, a0 = a[0], f; + + if(!(this instanceof a.callee)){ + // not called via new, so force it + return applyNew(a); + } + + //this._inherited = {}; + // perform the shaman's rituals of the original declare() + // 1) call two types of the preamble + if(ctorSpecial){ + // full blown ritual + if(a0){ + // process the preamble of the 1st argument + f = a0.preamble; + if(f){ + t = f.apply(this, t) || t; + } + } + f = this.preamble; + if(f){ + // process the preamble of this class + f.apply(this, t); + // one peculiarity of the preamble: + // it is called even if it is not needed, + // e.g., there is no constructor to call + // let's watch for the last constructor + // (see ticket #9795) + } + } + // 2) call a constructor + if(ctor){ + ctor.apply(this, a); + } + // 3) continue the original ritual: call the postscript + f = this.postscript; + if(f){ + f.apply(this, a); + } + }; + } + + // plain vanilla constructor (can use inherited() to call its base constructor) + function simpleConstructor(bases){ + return function(){ + var a = arguments, i = 0, f, m; + + if(!(this instanceof a.callee)){ + // not called via new, so force it + return applyNew(a); + } + + //this._inherited = {}; + // perform the shaman's rituals of the original declare() + // 1) do not call the preamble + // 2) call the top constructor (it can use this.inherited()) + for(; f = bases[i]; ++i){ // intentional assignment + m = f._meta; + f = m ? m.ctor : f; + if(f){ + f.apply(this, a); + break; + } + } + // 3) call the postscript + f = this.postscript; + if(f){ + f.apply(this, a); + } + }; + } + + function chain(name, bases, reversed){ + return function(){ + var b, m, f, i = 0, step = 1; + if(reversed){ + i = bases.length - 1; + step = -1; + } + for(; b = bases[i]; i += step){ // intentional assignment + m = b._meta; + f = (m ? m.hidden : b.prototype)[name]; + if(f){ + f.apply(this, arguments); + } + } + }; + } + + // forceNew(ctor) + // return a new object that inherits from ctor.prototype but + // without actually running ctor on the object. + function forceNew(ctor){ + // create object with correct prototype using a do-nothing + // constructor + xtor.prototype = ctor.prototype; + var t = new xtor; + xtor.prototype = null; // clean up + return t; + } + + // applyNew(args) + // just like 'new ctor()' except that the constructor and its arguments come + // from args, which must be an array or an arguments object + function applyNew(args){ + // create an object with ctor's prototype but without + // calling ctor on it. + var ctor = args.callee, t = forceNew(ctor); + // execute the real constructor on the new object + ctor.apply(t, args); + return t; + } + + function declare(className, superclass, props){ + // summary: + // Create a feature-rich constructor from compact notation. + // className: String? + // The optional name of the constructor (loosely, a "class") + // stored in the "declaredClass" property in the created prototype. + // It will be used as a global name for a created constructor. + // superclass: Function|Function[] + // May be null, a Function, or an Array of Functions. This argument + // specifies a list of bases (the left-most one is the most deepest + // base). + // props: Object + // An object whose properties are copied to the created prototype. + // Add an instance-initialization function by making it a property + // named "constructor". + // returns: dojo/_base/declare.__DeclareCreatedObject + // New constructor function. + // description: + // Create a constructor using a compact notation for inheritance and + // prototype extension. + // + // Mixin ancestors provide a type of multiple inheritance. + // Prototypes of mixin ancestors are copied to the new class: + // changes to mixin prototypes will not affect classes to which + // they have been mixed in. + // + // Ancestors can be compound classes created by this version of + // declare(). In complex cases all base classes are going to be + // linearized according to C3 MRO algorithm + // (see http://www.python.org/download/releases/2.3/mro/ for more + // details). + // + // "className" is cached in "declaredClass" property of the new class, + // if it was supplied. The immediate super class will be cached in + // "superclass" property of the new class. + // + // Methods in "props" will be copied and modified: "nom" property + // (the declared name of the method) will be added to all copied + // functions to help identify them for the internal machinery. Be + // very careful, while reusing methods: if you use the same + // function under different names, it can produce errors in some + // cases. + // + // It is possible to use constructors created "manually" (without + // declare()) as bases. They will be called as usual during the + // creation of an instance, their methods will be chained, and even + // called by "this.inherited()". + // + // Special property "-chains-" governs how to chain methods. It is + // a dictionary, which uses method names as keys, and hint strings + // as values. If a hint string is "after", this method will be + // called after methods of its base classes. If a hint string is + // "before", this method will be called before methods of its base + // classes. + // + // If "constructor" is not mentioned in "-chains-" property, it will + // be chained using the legacy mode: using "after" chaining, + // calling preamble() method before each constructor, if available, + // and calling postscript() after all constructors were executed. + // If the hint is "after", it is chained as a regular method, but + // postscript() will be called after the chain of constructors. + // "constructor" cannot be chained "before", but it allows + // a special hint string: "manual", which means that constructors + // are not going to be chained in any way, and programmer will call + // them manually using this.inherited(). In the latter case + // postscript() will be called after the construction. + // + // All chaining hints are "inherited" from base classes and + // potentially can be overridden. Be very careful when overriding + // hints! Make sure that all chained methods can work in a proposed + // manner of chaining. + // + // Once a method was chained, it is impossible to unchain it. The + // only exception is "constructor". You don't need to define a + // method in order to supply a chaining hint. + // + // If a method is chained, it cannot use this.inherited() because + // all other methods in the hierarchy will be called automatically. + // + // Usually constructors and initializers of any kind are chained + // using "after" and destructors of any kind are chained as + // "before". Note that chaining assumes that chained methods do not + // return any value: any returned value will be discarded. + // + // example: + // | declare("my.classes.bar", my.classes.foo, { + // | // properties to be added to the class prototype + // | someValue: 2, + // | // initialization function + // | constructor: function(){ + // | this.myComplicatedObject = new ReallyComplicatedObject(); + // | }, + // | // other functions + // | someMethod: function(){ + // | doStuff(); + // | } + // | }); + // + // example: + // | var MyBase = declare(null, { + // | // constructor, properties, and methods go here + // | // ... + // | }); + // | var MyClass1 = declare(MyBase, { + // | // constructor, properties, and methods go here + // | // ... + // | }); + // | var MyClass2 = declare(MyBase, { + // | // constructor, properties, and methods go here + // | // ... + // | }); + // | var MyDiamond = declare([MyClass1, MyClass2], { + // | // constructor, properties, and methods go here + // | // ... + // | }); + // + // example: + // | var F = function(){ console.log("raw constructor"); }; + // | F.prototype.method = function(){ + // | console.log("raw method"); + // | }; + // | var A = declare(F, { + // | constructor: function(){ + // | console.log("A.constructor"); + // | }, + // | method: function(){ + // | console.log("before calling F.method..."); + // | this.inherited(arguments); + // | console.log("...back in A"); + // | } + // | }); + // | new A().method(); + // | // will print: + // | // raw constructor + // | // A.constructor + // | // before calling F.method... + // | // raw method + // | // ...back in A + // + // example: + // | var A = declare(null, { + // | "-chains-": { + // | destroy: "before" + // | } + // | }); + // | var B = declare(A, { + // | constructor: function(){ + // | console.log("B.constructor"); + // | }, + // | destroy: function(){ + // | console.log("B.destroy"); + // | } + // | }); + // | var C = declare(B, { + // | constructor: function(){ + // | console.log("C.constructor"); + // | }, + // | destroy: function(){ + // | console.log("C.destroy"); + // | } + // | }); + // | new C().destroy(); + // | // prints: + // | // B.constructor + // | // C.constructor + // | // C.destroy + // | // B.destroy + // + // example: + // | var A = declare(null, { + // | "-chains-": { + // | constructor: "manual" + // | } + // | }); + // | var B = declare(A, { + // | constructor: function(){ + // | // ... + // | // call the base constructor with new parameters + // | this.inherited(arguments, [1, 2, 3]); + // | // ... + // | } + // | }); + // + // example: + // | var A = declare(null, { + // | "-chains-": { + // | m1: "before" + // | }, + // | m1: function(){ + // | console.log("A.m1"); + // | }, + // | m2: function(){ + // | console.log("A.m2"); + // | } + // | }); + // | var B = declare(A, { + // | "-chains-": { + // | m2: "after" + // | }, + // | m1: function(){ + // | console.log("B.m1"); + // | }, + // | m2: function(){ + // | console.log("B.m2"); + // | } + // | }); + // | var x = new B(); + // | x.m1(); + // | // prints: + // | // B.m1 + // | // A.m1 + // | x.m2(); + // | // prints: + // | // A.m2 + // | // B.m2 + + // crack parameters + if(typeof className != "string"){ + props = superclass; + superclass = className; + className = ""; + } + props = props || {}; + + var proto, i, t, ctor, name, bases, chains, mixins = 1, parents = superclass; + + // build a prototype + if(opts.call(superclass) == "[object Array]"){ + // C3 MRO + bases = c3mro(superclass, className); + t = bases[0]; + mixins = bases.length - t; + superclass = bases[mixins]; + }else{ + bases = [0]; + if(superclass){ + if(opts.call(superclass) == "[object Function]"){ + t = superclass._meta; + bases = bases.concat(t ? t.bases : superclass); + }else{ + err("base class is not a callable constructor.", className); + } + }else if(superclass !== null){ + err("unknown base class. Did you use dojo.require to pull it in?", className); + } + } + if(superclass){ + for(i = mixins - 1;; --i){ + proto = forceNew(superclass); + if(!i){ + // stop if nothing to add (the last base) + break; + } + // mix in properties + t = bases[i]; + (t._meta ? mixOwn : mix)(proto, t.prototype); + // chain in new constructor + ctor = new Function; + ctor.superclass = superclass; + ctor.prototype = proto; + superclass = proto.constructor = ctor; + } + }else{ + proto = {}; + } + // add all properties + declare.safeMixin(proto, props); + // add constructor + t = props.constructor; + if(t !== op.constructor){ + t.nom = cname; + proto.constructor = t; + } + + // collect chains and flags + for(i = mixins - 1; i; --i){ // intentional assignment + t = bases[i]._meta; + if(t && t.chains){ + chains = mix(chains || {}, t.chains); + } + } + if(proto["-chains-"]){ + chains = mix(chains || {}, proto["-chains-"]); + } + + // build ctor + t = !chains || !chains.hasOwnProperty(cname); + bases[0] = ctor = (chains && chains.constructor === "manual") ? simpleConstructor(bases) : + (bases.length == 1 ? singleConstructor(props.constructor, t) : chainedConstructor(bases, t)); + + // add meta information to the constructor + ctor._meta = {bases: bases, hidden: props, chains: chains, + parents: parents, ctor: props.constructor}; + ctor.superclass = superclass && superclass.prototype; + ctor.extend = extend; + ctor.createSubclass = createSubclass; + ctor.prototype = proto; + proto.constructor = ctor; + + // add "standard" methods to the prototype + proto.getInherited = getInherited; + proto.isInstanceOf = isInstanceOf; + proto.inherited = inheritedImpl; + proto.__inherited = inherited; + + // add name if specified + if(className){ + proto.declaredClass = className; + lang.setObject(className, ctor); + } + + // build chains and add them to the prototype + if(chains){ + for(name in chains){ + if(proto[name] && typeof chains[name] == "string" && name != cname){ + t = proto[name] = chain(name, bases, chains[name] === "after"); + t.nom = name; + } + } + } + // chained methods do not return values + // no need to chain "invisible" functions + + return ctor; // Function + } + + /*===== + declare.__DeclareCreatedObject = { + // summary: + // dojo/_base/declare() returns a constructor `C`. `new C()` returns an Object with the following + // methods, in addition to the methods and properties specified via the arguments passed to declare(). + + inherited: function(name, args, newArgs){ + // summary: + // Calls a super method. + // name: String? + // The optional method name. Should be the same as the caller's + // name. Usually "name" is specified in complex dynamic cases, when + // the calling method was dynamically added, undecorated by + // declare(), and it cannot be determined. + // args: Arguments + // The caller supply this argument, which should be the original + // "arguments". + // newArgs: Object? + // If "true", the found function will be returned without + // executing it. + // If Array, it will be used to call a super method. Otherwise + // "args" will be used. + // returns: + // Whatever is returned by a super method, or a super method itself, + // if "true" was specified as newArgs. + // description: + // This method is used inside method of classes produced with + // declare() to call a super method (next in the chain). It is + // used for manually controlled chaining. Consider using the regular + // chaining, because it is faster. Use "this.inherited()" only in + // complex cases. + // + // This method cannot me called from automatically chained + // constructors including the case of a special (legacy) + // constructor chaining. It cannot be called from chained methods. + // + // If "this.inherited()" cannot find the next-in-chain method, it + // does nothing and returns "undefined". The last method in chain + // can be a default method implemented in Object, which will be + // called last. + // + // If "name" is specified, it is assumed that the method that + // received "args" is the parent method for this call. It is looked + // up in the chain list and if it is found the next-in-chain method + // is called. If it is not found, the first-in-chain method is + // called. + // + // If "name" is not specified, it will be derived from the calling + // method (using a methoid property "nom"). + // + // example: + // | var B = declare(A, { + // | method1: function(a, b, c){ + // | this.inherited(arguments); + // | }, + // | method2: function(a, b){ + // | return this.inherited(arguments, [a + b]); + // | } + // | }); + // | // next method is not in the chain list because it is added + // | // manually after the class was created. + // | B.prototype.method3 = function(){ + // | console.log("This is a dynamically-added method."); + // | this.inherited("method3", arguments); + // | }; + // example: + // | var B = declare(A, { + // | method: function(a, b){ + // | var super = this.inherited(arguments, true); + // | // ... + // | if(!super){ + // | console.log("there is no super method"); + // | return 0; + // | } + // | return super.apply(this, arguments); + // | } + // | }); + return {}; // Object + }, + + getInherited: function(name, args){ + // summary: + // Returns a super method. + // name: String? + // The optional method name. Should be the same as the caller's + // name. Usually "name" is specified in complex dynamic cases, when + // the calling method was dynamically added, undecorated by + // declare(), and it cannot be determined. + // args: Arguments + // The caller supply this argument, which should be the original + // "arguments". + // returns: + // Returns a super method (Function) or "undefined". + // description: + // This method is a convenience method for "this.inherited()". + // It uses the same algorithm but instead of executing a super + // method, it returns it, or "undefined" if not found. + // + // example: + // | var B = declare(A, { + // | method: function(a, b){ + // | var super = this.getInherited(arguments); + // | // ... + // | if(!super){ + // | console.log("there is no super method"); + // | return 0; + // | } + // | return super.apply(this, arguments); + // | } + // | }); + return {}; // Object + }, + + isInstanceOf: function(cls){ + // summary: + // Checks the inheritance chain to see if it is inherited from this + // class. + // cls: Function + // Class constructor. + // returns: + // "true", if this object is inherited from this class, "false" + // otherwise. + // description: + // This method is used with instances of classes produced with + // declare() to determine of they support a certain interface or + // not. It models "instanceof" operator. + // + // example: + // | var A = declare(null, { + // | // constructor, properties, and methods go here + // | // ... + // | }); + // | var B = declare(null, { + // | // constructor, properties, and methods go here + // | // ... + // | }); + // | var C = declare([A, B], { + // | // constructor, properties, and methods go here + // | // ... + // | }); + // | var D = declare(A, { + // | // constructor, properties, and methods go here + // | // ... + // | }); + // | + // | var a = new A(), b = new B(), c = new C(), d = new D(); + // | + // | console.log(a.isInstanceOf(A)); // true + // | console.log(b.isInstanceOf(A)); // false + // | console.log(c.isInstanceOf(A)); // true + // | console.log(d.isInstanceOf(A)); // true + // | + // | console.log(a.isInstanceOf(B)); // false + // | console.log(b.isInstanceOf(B)); // true + // | console.log(c.isInstanceOf(B)); // true + // | console.log(d.isInstanceOf(B)); // false + // | + // | console.log(a.isInstanceOf(C)); // false + // | console.log(b.isInstanceOf(C)); // false + // | console.log(c.isInstanceOf(C)); // true + // | console.log(d.isInstanceOf(C)); // false + // | + // | console.log(a.isInstanceOf(D)); // false + // | console.log(b.isInstanceOf(D)); // false + // | console.log(c.isInstanceOf(D)); // false + // | console.log(d.isInstanceOf(D)); // true + return {}; // Object + }, + + extend: function(source){ + // summary: + // Adds all properties and methods of source to constructor's + // prototype, making them available to all instances created with + // constructor. This method is specific to constructors created with + // declare(). + // source: Object + // Source object which properties are going to be copied to the + // constructor's prototype. + // description: + // Adds source properties to the constructor's prototype. It can + // override existing properties. + // + // This method is similar to dojo.extend function, but it is specific + // to constructors produced by declare(). It is implemented + // using dojo.safeMixin, and it skips a constructor property, + // and properly decorates copied functions. + // + // example: + // | var A = declare(null, { + // | m1: function(){}, + // | s1: "Popokatepetl" + // | }); + // | A.extend({ + // | m1: function(){}, + // | m2: function(){}, + // | f1: true, + // | d1: 42 + // | }); + } + }; + =====*/ + + // For back-compat, remove for 2.0 + dojo.safeMixin = declare.safeMixin = safeMixin; + dojo.declare = declare; + + return declare; +}); + +}, +'dojo/dom':function(){ +define(["./sniff", "./_base/lang", "./_base/window"], + function(has, lang, win){ + // module: + // dojo/dom + + // FIXME: need to add unit tests for all the semi-public methods + + if(has("ie") <= 7){ + try{ + document.execCommand("BackgroundImageCache", false, true); + }catch(e){ + // sane browsers don't have cache "issues" + } + } + + // ============================= + // DOM Functions + // ============================= + + // the result object + var dom = { + // summary: + // This module defines the core dojo DOM API. + }; + + if(has("ie")){ + dom.byId = function(id, doc){ + if(typeof id != "string"){ + return id; + } + var _d = doc || win.doc, te = id && _d.getElementById(id); + // attributes.id.value is better than just id in case the + // user has a name=id inside a form + if(te && (te.attributes.id.value == id || te.id == id)){ + return te; + }else{ + var eles = _d.all[id]; + if(!eles || eles.nodeName){ + eles = [eles]; + } + // if more than 1, choose first with the correct id + var i = 0; + while((te = eles[i++])){ + if((te.attributes && te.attributes.id && te.attributes.id.value == id) || te.id == id){ + return te; + } + } + } + }; + }else{ + dom.byId = function(id, doc){ + // inline'd type check. + // be sure to return null per documentation, to match IE branch. + return ((typeof id == "string") ? (doc || win.doc).getElementById(id) : id) || null; // DOMNode + }; + } + /*===== + dom.byId = function(id, doc){ + // summary: + // Returns DOM node with matching `id` attribute or falsy value (ex: null or undefined) + // if not found. If `id` is a DomNode, this function is a no-op. + // + // id: String|DOMNode + // A string to match an HTML id attribute or a reference to a DOM Node + // + // doc: Document? + // Document to work in. Defaults to the current value of + // dojo.doc. Can be used to retrieve + // node references from other documents. + // + // example: + // Look up a node by ID: + // | var n = dojo.byId("foo"); + // + // example: + // Check if a node exists, and use it. + // | var n = dojo.byId("bar"); + // | if(n){ doStuff() ... } + // + // example: + // Allow string or DomNode references to be passed to a custom function: + // | var foo = function(nodeOrId){ + // | nodeOrId = dojo.byId(nodeOrId); + // | // ... more stuff + // | } + }; + =====*/ + + dom.isDescendant = function(/*DOMNode|String*/ node, /*DOMNode|String*/ ancestor){ + // summary: + // Returns true if node is a descendant of ancestor + // node: DOMNode|String + // string id or node reference to test + // ancestor: DOMNode|String + // string id or node reference of potential parent to test against + // + // example: + // Test is node id="bar" is a descendant of node id="foo" + // | if(dojo.isDescendant("bar", "foo")){ ... } + + try{ + node = dom.byId(node); + ancestor = dom.byId(ancestor); + while(node){ + if(node == ancestor){ + return true; // Boolean + } + node = node.parentNode; + } + }catch(e){ /* squelch, return false */ } + return false; // Boolean + }; + + + // TODO: do we need this function in the base? + + dom.setSelectable = function(/*DOMNode|String*/ node, /*Boolean*/ selectable){ + // summary: + // Enable or disable selection on a node + // node: DOMNode|String + // id or reference to node + // selectable: Boolean + // state to put the node in. false indicates unselectable, true + // allows selection. + // example: + // Make the node id="bar" unselectable + // | dojo.setSelectable("bar"); + // example: + // Make the node id="bar" selectable + // | dojo.setSelectable("bar", true); + + node = dom.byId(node); + if(has("mozilla")){ + node.style.MozUserSelect = selectable ? "" : "none"; + }else if(has("khtml") || has("webkit")){ + node.style.KhtmlUserSelect = selectable ? "auto" : "none"; + }else if(has("ie")){ + var v = (node.unselectable = selectable ? "" : "on"), + cs = node.getElementsByTagName("*"), i = 0, l = cs.length; + for(; i < l; ++i){ + cs.item(i).unselectable = v; + } + } + //FIXME: else? Opera? + }; + + return dom; +}); + +}, +'dojo/_base/browser':function(){ +if(require.has){ + require.has.add("config-selectorEngine", "acme"); +} +define([ + "../ready", + "./kernel", + "./connect", // until we decide if connect is going back into non-browser environments + "./unload", + "./window", + "./event", + "./html", + "./NodeList", + "../query", + "./xhr", + "./fx"], function(dojo){ + + // module: + // dojo/_base/browser + + /*===== + return { + // summary: + // This module causes the browser-only base modules to be loaded. + }; + =====*/ + + return dojo; +}); + +}, +'dojo/selector/acme':function(){ +define([ + "../dom", "../sniff", "../_base/array", "../_base/lang", "../_base/window" +], function(dom, has, array, lang, win){ + + // module: + // dojo/selector/acme + +/* + acme architectural overview: + + acme is a relatively full-featured CSS3 query library. It is + designed to take any valid CSS3 selector and return the nodes matching + the selector. To do this quickly, it processes queries in several + steps, applying caching where profitable. + + The steps (roughly in reverse order of the way they appear in the code): + 1.) check to see if we already have a "query dispatcher" + - if so, use that with the given parameterization. Skip to step 4. + 2.) attempt to determine which branch to dispatch the query to: + - JS (optimized DOM iteration) + - native (FF3.1+, Safari 3.1+, IE 8+) + 3.) tokenize and convert to executable "query dispatcher" + - this is where the lion's share of the complexity in the + system lies. In the DOM version, the query dispatcher is + assembled as a chain of "yes/no" test functions pertaining to + a section of a simple query statement (".blah:nth-child(odd)" + but not "div div", which is 2 simple statements). Individual + statement dispatchers are cached (to prevent re-definition) + as are entire dispatch chains (to make re-execution of the + same query fast) + 4.) the resulting query dispatcher is called in the passed scope + (by default the top-level document) + - for DOM queries, this results in a recursive, top-down + evaluation of nodes based on each simple query section + - for native implementations, this may mean working around spec + bugs. So be it. + 5.) matched nodes are pruned to ensure they are unique (if necessary) +*/ + + + //////////////////////////////////////////////////////////////////////// + // Toolkit aliases + //////////////////////////////////////////////////////////////////////// + + // if you are extracting acme for use in your own system, you will + // need to provide these methods and properties. No other porting should be + // necessary, save for configuring the system to use a class other than + // dojo/NodeList as the return instance instantiator + var trim = lang.trim; + var each = array.forEach; + + var getDoc = function(){ return win.doc; }; + // NOTE(alex): the spec is idiotic. CSS queries should ALWAYS be case-sensitive, but nooooooo + var cssCaseBug = (getDoc().compatMode) == "BackCompat"; + + //////////////////////////////////////////////////////////////////////// + // Global utilities + //////////////////////////////////////////////////////////////////////// + + + var specials = ">~+"; + + // global thunk to determine whether we should treat the current query as + // case sensitive or not. This switch is flipped by the query evaluator + // based on the document passed as the context to search. + var caseSensitive = false; + + // how high? + var yesman = function(){ return true; }; + + //////////////////////////////////////////////////////////////////////// + // Tokenizer + //////////////////////////////////////////////////////////////////////// + + var getQueryParts = function(query){ + // summary: + // state machine for query tokenization + // description: + // instead of using a brittle and slow regex-based CSS parser, + // acme implements an AST-style query representation. This + // representation is only generated once per query. For example, + // the same query run multiple times or under different root nodes + // does not re-parse the selector expression but instead uses the + // cached data structure. The state machine implemented here + // terminates on the last " " (space) character and returns an + // ordered array of query component structures (or "parts"). Each + // part represents an operator or a simple CSS filtering + // expression. The structure for parts is documented in the code + // below. + + + // NOTE: + // this code is designed to run fast and compress well. Sacrifices + // to readability and maintainability have been made. Your best + // bet when hacking the tokenizer is to put The Donnas on *really* + // loud (may we recommend their "Spend The Night" release?) and + // just assume you're gonna make mistakes. Keep the unit tests + // open and run them frequently. Knowing is half the battle ;-) + if(specials.indexOf(query.slice(-1)) >= 0){ + // if we end with a ">", "+", or "~", that means we're implicitly + // searching all children, so make it explicit + query += " * "; + }else{ + // if you have not provided a terminator, one will be provided for + // you... + query += " "; + } + + var ts = function(/*Integer*/ s, /*Integer*/ e){ + // trim and slice. + + // take an index to start a string slice from and an end position + // and return a trimmed copy of that sub-string + return trim(query.slice(s, e)); + }; + + // the overall data graph of the full query, as represented by queryPart objects + var queryParts = []; + + + // state keeping vars + var inBrackets = -1, inParens = -1, inMatchFor = -1, + inPseudo = -1, inClass = -1, inId = -1, inTag = -1, currentQuoteChar, + lc = "", cc = "", pStart; + + // iteration vars + var x = 0, // index in the query + ql = query.length, + currentPart = null, // data structure representing the entire clause + _cp = null; // the current pseudo or attr matcher + + // several temporary variables are assigned to this structure during a + // potential sub-expression match: + // attr: + // a string representing the current full attribute match in a + // bracket expression + // type: + // if there's an operator in a bracket expression, this is + // used to keep track of it + // value: + // the internals of parenthetical expression for a pseudo. for + // :nth-child(2n+1), value might be "2n+1" + + var endTag = function(){ + // called when the tokenizer hits the end of a particular tag name. + // Re-sets state variables for tag matching and sets up the matcher + // to handle the next type of token (tag or operator). + if(inTag >= 0){ + var tv = (inTag == x) ? null : ts(inTag, x); // .toLowerCase(); + currentPart[ (specials.indexOf(tv) < 0) ? "tag" : "oper" ] = tv; + inTag = -1; + } + }; + + var endId = function(){ + // called when the tokenizer might be at the end of an ID portion of a match + if(inId >= 0){ + currentPart.id = ts(inId, x).replace(/\\/g, ""); + inId = -1; + } + }; + + var endClass = function(){ + // called when the tokenizer might be at the end of a class name + // match. CSS allows for multiple classes, so we augment the + // current item with another class in its list + if(inClass >= 0){ + currentPart.classes.push(ts(inClass + 1, x).replace(/\\/g, "")); + inClass = -1; + } + }; + + var endAll = function(){ + // at the end of a simple fragment, so wall off the matches + endId(); + endTag(); + endClass(); + }; + + var endPart = function(){ + endAll(); + if(inPseudo >= 0){ + currentPart.pseudos.push({ name: ts(inPseudo + 1, x) }); + } + // hint to the selector engine to tell it whether or not it + // needs to do any iteration. Many simple selectors don't, and + // we can avoid significant construction-time work by advising + // the system to skip them + currentPart.loops = ( + currentPart.pseudos.length || + currentPart.attrs.length || + currentPart.classes.length ); + + currentPart.oquery = currentPart.query = ts(pStart, x); // save the full expression as a string + + + // otag/tag are hints to suggest to the system whether or not + // it's an operator or a tag. We save a copy of otag since the + // tag name is cast to upper-case in regular HTML matches. The + // system has a global switch to figure out if the current + // expression needs to be case sensitive or not and it will use + // otag or tag accordingly + currentPart.otag = currentPart.tag = (currentPart["oper"]) ? null : (currentPart.tag || "*"); + + if(currentPart.tag){ + // if we're in a case-insensitive HTML doc, we likely want + // the toUpperCase when matching on element.tagName. If we + // do it here, we can skip the string op per node + // comparison + currentPart.tag = currentPart.tag.toUpperCase(); + } + + // add the part to the list + if(queryParts.length && (queryParts[queryParts.length-1].oper)){ + // operators are always infix, so we remove them from the + // list and attach them to the next match. The evaluator is + // responsible for sorting out how to handle them. + currentPart.infixOper = queryParts.pop(); + currentPart.query = currentPart.infixOper.query + " " + currentPart.query; + /* + console.debug( "swapping out the infix", + currentPart.infixOper, + "and attaching it to", + currentPart); + */ + } + queryParts.push(currentPart); + + currentPart = null; + }; + + // iterate over the query, character by character, building up a + // list of query part objects + for(; lc=cc, cc=query.charAt(x), x < ql; x++){ + // cc: the current character in the match + // lc: the last character (if any) + + // someone is trying to escape something, so don't try to match any + // fragments. We assume we're inside a literal. + if(lc == "\\"){ continue; } + if(!currentPart){ // a part was just ended or none has yet been created + // NOTE: I hate all this alloc, but it's shorter than writing tons of if's + pStart = x; + // rules describe full CSS sub-expressions, like: + // #someId + // .className:first-child + // but not: + // thinger > div.howdy[type=thinger] + // the indidual components of the previous query would be + // split into 3 parts that would be represented a structure like: + // [ + // { + // query: "thinger", + // tag: "thinger", + // }, + // { + // query: "div.howdy[type=thinger]", + // classes: ["howdy"], + // infixOper: { + // query: ">", + // oper: ">", + // } + // }, + // ] + currentPart = { + query: null, // the full text of the part's rule + pseudos: [], // CSS supports multiple pseud-class matches in a single rule + attrs: [], // CSS supports multi-attribute match, so we need an array + classes: [], // class matches may be additive, e.g.: .thinger.blah.howdy + tag: null, // only one tag... + oper: null, // ...or operator per component. Note that these wind up being exclusive. + id: null, // the id component of a rule + getTag: function(){ + return caseSensitive ? this.otag : this.tag; + } + }; + + // if we don't have a part, we assume we're going to start at + // the beginning of a match, which should be a tag name. This + // might fault a little later on, but we detect that and this + // iteration will still be fine. + inTag = x; + } + + // Skip processing all quoted characters. + // If we are inside quoted text then currentQuoteChar stores the character that began the quote, + // thus that character that will end it. + if(currentQuoteChar){ + if(cc == currentQuoteChar){ + currentQuoteChar = null; + } + continue; + }else if (cc == "'" || cc == '"'){ + currentQuoteChar = cc; + continue; + } + + if(inBrackets >= 0){ + // look for a the close first + if(cc == "]"){ // if we're in a [...] clause and we end, do assignment + if(!_cp.attr){ + // no attribute match was previously begun, so we + // assume this is an attribute existence match in the + // form of [someAttributeName] + _cp.attr = ts(inBrackets+1, x); + }else{ + // we had an attribute already, so we know that we're + // matching some sort of value, as in [attrName=howdy] + _cp.matchFor = ts((inMatchFor||inBrackets+1), x); + } + var cmf = _cp.matchFor; + if(cmf){ + // try to strip quotes from the matchFor value. We want + // [attrName=howdy] to match the same + // as [attrName = 'howdy' ] + if( (cmf.charAt(0) == '"') || (cmf.charAt(0) == "'") ){ + _cp.matchFor = cmf.slice(1, -1); + } + } + // remove backslash escapes from an attribute match, since DOM + // querying will get attribute values without backslashes + if(_cp.matchFor){ + _cp.matchFor = _cp.matchFor.replace(/\\/g, ""); + } + + // end the attribute by adding it to the list of attributes. + currentPart.attrs.push(_cp); + _cp = null; // necessary? + inBrackets = inMatchFor = -1; + }else if(cc == "="){ + // if the last char was an operator prefix, make sure we + // record it along with the "=" operator. + var addToCc = ("|~^$*".indexOf(lc) >=0 ) ? lc : ""; + _cp.type = addToCc+cc; + _cp.attr = ts(inBrackets+1, x-addToCc.length); + inMatchFor = x+1; + } + // now look for other clause parts + }else if(inParens >= 0){ + // if we're in a parenthetical expression, we need to figure + // out if it's attached to a pseudo-selector rule like + // :nth-child(1) + if(cc == ")"){ + if(inPseudo >= 0){ + _cp.value = ts(inParens+1, x); + } + inPseudo = inParens = -1; + } + }else if(cc == "#"){ + // start of an ID match + endAll(); + inId = x+1; + }else if(cc == "."){ + // start of a class match + endAll(); + inClass = x; + }else if(cc == ":"){ + // start of a pseudo-selector match + endAll(); + inPseudo = x; + }else if(cc == "["){ + // start of an attribute match. + endAll(); + inBrackets = x; + // provide a new structure for the attribute match to fill-in + _cp = { + /*===== + attr: null, type: null, matchFor: null + =====*/ + }; + }else if(cc == "("){ + // we really only care if we've entered a parenthetical + // expression if we're already inside a pseudo-selector match + if(inPseudo >= 0){ + // provide a new structure for the pseudo match to fill-in + _cp = { + name: ts(inPseudo+1, x), + value: null + }; + currentPart.pseudos.push(_cp); + } + inParens = x; + }else if( + (cc == " ") && + // if it's a space char and the last char is too, consume the + // current one without doing more work + (lc != cc) + ){ + endPart(); + } + } + return queryParts; + }; + + + //////////////////////////////////////////////////////////////////////// + // DOM query infrastructure + //////////////////////////////////////////////////////////////////////// + + var agree = function(first, second){ + // the basic building block of the yes/no chaining system. agree(f1, + // f2) generates a new function which returns the boolean results of + // both of the passed functions to a single logical-anded result. If + // either are not passed, the other is used exclusively. + if(!first){ return second; } + if(!second){ return first; } + + return function(){ + return first.apply(window, arguments) && second.apply(window, arguments); + }; + }; + + var getArr = function(i, arr){ + // helps us avoid array alloc when we don't need it + var r = arr||[]; // FIXME: should this be 'new d._NodeListCtor()' ? + if(i){ r.push(i); } + return r; + }; + + var _isElement = function(n){ return (1 == n.nodeType); }; + + // FIXME: need to coalesce _getAttr with defaultGetter + var blank = ""; + var _getAttr = function(elem, attr){ + if(!elem){ return blank; } + if(attr == "class"){ + return elem.className || blank; + } + if(attr == "for"){ + return elem.htmlFor || blank; + } + if(attr == "style"){ + return elem.style.cssText || blank; + } + return (caseSensitive ? elem.getAttribute(attr) : elem.getAttribute(attr, 2)) || blank; + }; + + var attrs = { + "*=": function(attr, value){ + return function(elem){ + // E[foo*="bar"] + // an E element whose "foo" attribute value contains + // the substring "bar" + return (_getAttr(elem, attr).indexOf(value)>=0); + }; + }, + "^=": function(attr, value){ + // E[foo^="bar"] + // an E element whose "foo" attribute value begins exactly + // with the string "bar" + return function(elem){ + return (_getAttr(elem, attr).indexOf(value)==0); + }; + }, + "$=": function(attr, value){ + // E[foo$="bar"] + // an E element whose "foo" attribute value ends exactly + // with the string "bar" + return function(elem){ + var ea = " "+_getAttr(elem, attr); + var lastIndex = ea.lastIndexOf(value); + return lastIndex > -1 && (lastIndex==(ea.length-value.length)); + }; + }, + "~=": function(attr, value){ + // E[foo~="bar"] + // an E element whose "foo" attribute value is a list of + // space-separated values, one of which is exactly equal + // to "bar" + + // return "[contains(concat(' ',@"+attr+",' '), ' "+ value +" ')]"; + var tval = " "+value+" "; + return function(elem){ + var ea = " "+_getAttr(elem, attr)+" "; + return (ea.indexOf(tval)>=0); + }; + }, + "|=": function(attr, value){ + // E[hreflang|="en"] + // an E element whose "hreflang" attribute has a + // hyphen-separated list of values beginning (from the + // left) with "en" + var valueDash = value+"-"; + return function(elem){ + var ea = _getAttr(elem, attr); + return ( + (ea == value) || + (ea.indexOf(valueDash)==0) + ); + }; + }, + "=": function(attr, value){ + return function(elem){ + return (_getAttr(elem, attr) == value); + }; + } + }; + + // avoid testing for node type if we can. Defining this in the negative + // here to avoid negation in the fast path. + var _noNES = (typeof getDoc().firstChild.nextElementSibling == "undefined"); + var _ns = !_noNES ? "nextElementSibling" : "nextSibling"; + var _ps = !_noNES ? "previousElementSibling" : "previousSibling"; + var _simpleNodeTest = (_noNES ? _isElement : yesman); + + var _lookLeft = function(node){ + // look left + while(node = node[_ps]){ + if(_simpleNodeTest(node)){ return false; } + } + return true; + }; + + var _lookRight = function(node){ + // look right + while(node = node[_ns]){ + if(_simpleNodeTest(node)){ return false; } + } + return true; + }; + + var getNodeIndex = function(node){ + var root = node.parentNode; + root = root.nodeType != 7 ? root : root.nextSibling; // PROCESSING_INSTRUCTION_NODE + var i = 0, + tret = root.children || root.childNodes, + ci = (node["_i"]||node.getAttribute("_i")||-1), + cl = (root["_l"]|| (typeof root.getAttribute !== "undefined" ? root.getAttribute("_l") : -1)); + + if(!tret){ return -1; } + var l = tret.length; + + // we calculate the parent length as a cheap way to invalidate the + // cache. It's not 100% accurate, but it's much more honest than what + // other libraries do + if( cl == l && ci >= 0 && cl >= 0 ){ + // if it's legit, tag and release + return ci; + } + + // else re-key things + if(has("ie") && typeof root.setAttribute !== "undefined"){ + root.setAttribute("_l", l); + }else{ + root["_l"] = l; + } + ci = -1; + for(var te = root["firstElementChild"]||root["firstChild"]; te; te = te[_ns]){ + if(_simpleNodeTest(te)){ + if(has("ie")){ + te.setAttribute("_i", ++i); + }else{ + te["_i"] = ++i; + } + if(node === te){ + // NOTE: + // shortcutting the return at this step in indexing works + // very well for benchmarking but we avoid it here since + // it leads to potential O(n^2) behavior in sequential + // getNodexIndex operations on a previously un-indexed + // parent. We may revisit this at a later time, but for + // now we just want to get the right answer more often + // than not. + ci = i; + } + } + } + return ci; + }; + + var isEven = function(elem){ + return !((getNodeIndex(elem)) % 2); + }; + + var isOdd = function(elem){ + return ((getNodeIndex(elem)) % 2); + }; + + var pseudos = { + "checked": function(name, condition){ + return function(elem){ + return !!("checked" in elem ? elem.checked : elem.selected); + }; + }, + "disabled": function(name, condition){ + return function(elem){ + return elem.disabled; + }; + }, + "enabled": function(name, condition){ + return function(elem){ + return !elem.disabled; + }; + }, + "first-child": function(){ return _lookLeft; }, + "last-child": function(){ return _lookRight; }, + "only-child": function(name, condition){ + return function(node){ + return _lookLeft(node) && _lookRight(node); + }; + }, + "empty": function(name, condition){ + return function(elem){ + // DomQuery and jQuery get this wrong, oddly enough. + // The CSS 3 selectors spec is pretty explicit about it, too. + var cn = elem.childNodes; + var cnl = elem.childNodes.length; + // if(!cnl){ return true; } + for(var x=cnl-1; x >= 0; x--){ + var nt = cn[x].nodeType; + if((nt === 1)||(nt == 3)){ return false; } + } + return true; + }; + }, + "contains": function(name, condition){ + var cz = condition.charAt(0); + if( cz == '"' || cz == "'" ){ //remove quote + condition = condition.slice(1, -1); + } + return function(elem){ + return (elem.innerHTML.indexOf(condition) >= 0); + }; + }, + "not": function(name, condition){ + var p = getQueryParts(condition)[0]; + var ignores = { el: 1 }; + if(p.tag != "*"){ + ignores.tag = 1; + } + if(!p.classes.length){ + ignores.classes = 1; + } + var ntf = getSimpleFilterFunc(p, ignores); + return function(elem){ + return (!ntf(elem)); + }; + }, + "nth-child": function(name, condition){ + var pi = parseInt; + // avoid re-defining function objects if we can + if(condition == "odd"){ + return isOdd; + }else if(condition == "even"){ + return isEven; + } + // FIXME: can we shorten this? + if(condition.indexOf("n") != -1){ + var tparts = condition.split("n", 2); + var pred = tparts[0] ? ((tparts[0] == '-') ? -1 : pi(tparts[0])) : 1; + var idx = tparts[1] ? pi(tparts[1]) : 0; + var lb = 0, ub = -1; + if(pred > 0){ + if(idx < 0){ + idx = (idx % pred) && (pred + (idx % pred)); + }else if(idx>0){ + if(idx >= pred){ + lb = idx - idx % pred; + } + idx = idx % pred; + } + }else if(pred<0){ + pred *= -1; + // idx has to be greater than 0 when pred is negative; + // shall we throw an error here? + if(idx > 0){ + ub = idx; + idx = idx % pred; + } + } + if(pred > 0){ + return function(elem){ + var i = getNodeIndex(elem); + return (i>=lb) && (ub<0 || i<=ub) && ((i % pred) == idx); + }; + }else{ + condition = idx; + } + } + var ncount = pi(condition); + return function(elem){ + return (getNodeIndex(elem) == ncount); + }; + } + }; + + var defaultGetter = (has("ie") && (has("ie") < 9 || has("quirks"))) ? function(cond){ + var clc = cond.toLowerCase(); + if(clc == "class"){ cond = "className"; } + return function(elem){ + return (caseSensitive ? elem.getAttribute(cond) : elem[cond]||elem[clc]); + }; + } : function(cond){ + return function(elem){ + return (elem && elem.getAttribute && elem.hasAttribute(cond)); + }; + }; + + var getSimpleFilterFunc = function(query, ignores){ + // generates a node tester function based on the passed query part. The + // query part is one of the structures generated by the query parser + // when it creates the query AST. The "ignores" object specifies which + // (if any) tests to skip, allowing the system to avoid duplicating + // work where it may have already been taken into account by other + // factors such as how the nodes to test were fetched in the first + // place + if(!query){ return yesman; } + ignores = ignores||{}; + + var ff = null; + + if(!("el" in ignores)){ + ff = agree(ff, _isElement); + } + + if(!("tag" in ignores)){ + if(query.tag != "*"){ + ff = agree(ff, function(elem){ + return (elem && ((caseSensitive ? elem.tagName : elem.tagName.toUpperCase()) == query.getTag())); + }); + } + } + + if(!("classes" in ignores)){ + each(query.classes, function(cname, idx, arr){ + // get the class name + /* + var isWildcard = cname.charAt(cname.length-1) == "*"; + if(isWildcard){ + cname = cname.substr(0, cname.length-1); + } + // I dislike the regex thing, even if memoized in a cache, but it's VERY short + var re = new RegExp("(?:^|\\s)" + cname + (isWildcard ? ".*" : "") + "(?:\\s|$)"); + */ + var re = new RegExp("(?:^|\\s)" + cname + "(?:\\s|$)"); + ff = agree(ff, function(elem){ + return re.test(elem.className); + }); + ff.count = idx; + }); + } + + if(!("pseudos" in ignores)){ + each(query.pseudos, function(pseudo){ + var pn = pseudo.name; + if(pseudos[pn]){ + ff = agree(ff, pseudos[pn](pn, pseudo.value)); + } + }); + } + + if(!("attrs" in ignores)){ + each(query.attrs, function(attr){ + var matcher; + var a = attr.attr; + // type, attr, matchFor + if(attr.type && attrs[attr.type]){ + matcher = attrs[attr.type](a, attr.matchFor); + }else if(a.length){ + matcher = defaultGetter(a); + } + if(matcher){ + ff = agree(ff, matcher); + } + }); + } + + if(!("id" in ignores)){ + if(query.id){ + ff = agree(ff, function(elem){ + return (!!elem && (elem.id == query.id)); + }); + } + } + + if(!ff){ + if(!("default" in ignores)){ + ff = yesman; + } + } + return ff; + }; + + var _nextSibling = function(filterFunc){ + return function(node, ret, bag){ + while(node = node[_ns]){ + if(_noNES && (!_isElement(node))){ continue; } + if( + (!bag || _isUnique(node, bag)) && + filterFunc(node) + ){ + ret.push(node); + } + break; + } + return ret; + }; + }; + + var _nextSiblings = function(filterFunc){ + return function(root, ret, bag){ + var te = root[_ns]; + while(te){ + if(_simpleNodeTest(te)){ + if(bag && !_isUnique(te, bag)){ + break; + } + if(filterFunc(te)){ + ret.push(te); + } + } + te = te[_ns]; + } + return ret; + }; + }; + + // get an array of child *elements*, skipping text and comment nodes + var _childElements = function(filterFunc){ + filterFunc = filterFunc||yesman; + return function(root, ret, bag){ + // get an array of child elements, skipping text and comment nodes + var te, x = 0, tret = root.children || root.childNodes; + while(te = tret[x++]){ + if( + _simpleNodeTest(te) && + (!bag || _isUnique(te, bag)) && + (filterFunc(te, x)) + ){ + ret.push(te); + } + } + return ret; + }; + }; + + // test to see if node is below root + var _isDescendant = function(node, root){ + var pn = node.parentNode; + while(pn){ + if(pn == root){ + break; + } + pn = pn.parentNode; + } + return !!pn; + }; + + var _getElementsFuncCache = {}; + + var getElementsFunc = function(query){ + var retFunc = _getElementsFuncCache[query.query]; + // if we've got a cached dispatcher, just use that + if(retFunc){ return retFunc; } + // else, generate a new on + + // NOTE: + // this function returns a function that searches for nodes and + // filters them. The search may be specialized by infix operators + // (">", "~", or "+") else it will default to searching all + // descendants (the " " selector). Once a group of children is + // found, a test function is applied to weed out the ones we + // don't want. Many common cases can be fast-pathed. We spend a + // lot of cycles to create a dispatcher that doesn't do more work + // than necessary at any point since, unlike this function, the + // dispatchers will be called every time. The logic of generating + // efficient dispatchers looks like this in pseudo code: + // + // # if it's a purely descendant query (no ">", "+", or "~" modifiers) + // if infixOperator == " ": + // if only(id): + // return def(root): + // return d.byId(id, root); + // + // elif id: + // return def(root): + // return filter(d.byId(id, root)); + // + // elif cssClass && getElementsByClassName: + // return def(root): + // return filter(root.getElementsByClassName(cssClass)); + // + // elif only(tag): + // return def(root): + // return root.getElementsByTagName(tagName); + // + // else: + // # search by tag name, then filter + // return def(root): + // return filter(root.getElementsByTagName(tagName||"*")); + // + // elif infixOperator == ">": + // # search direct children + // return def(root): + // return filter(root.children); + // + // elif infixOperator == "+": + // # search next sibling + // return def(root): + // return filter(root.nextElementSibling); + // + // elif infixOperator == "~": + // # search rightward siblings + // return def(root): + // return filter(nextSiblings(root)); + + var io = query.infixOper; + var oper = (io ? io.oper : ""); + // the default filter func which tests for all conditions in the query + // part. This is potentially inefficient, so some optimized paths may + // re-define it to test fewer things. + var filterFunc = getSimpleFilterFunc(query, { el: 1 }); + var qt = query.tag; + var wildcardTag = ("*" == qt); + var ecs = getDoc()["getElementsByClassName"]; + + if(!oper){ + // if there's no infix operator, then it's a descendant query. ID + // and "elements by class name" variants can be accelerated so we + // call them out explicitly: + if(query.id){ + // testing shows that the overhead of yesman() is acceptable + // and can save us some bytes vs. re-defining the function + // everywhere. + filterFunc = (!query.loops && wildcardTag) ? + yesman : + getSimpleFilterFunc(query, { el: 1, id: 1 }); + + retFunc = function(root, arr){ + var te = dom.byId(query.id, (root.ownerDocument||root)); + if(!te || !filterFunc(te)){ return; } + if(9 == root.nodeType){ // if root's a doc, we just return directly + return getArr(te, arr); + }else{ // otherwise check ancestry + if(_isDescendant(te, root)){ + return getArr(te, arr); + } + } + }; + }else if( + ecs && + // isAlien check. Workaround for Prototype.js being totally evil/dumb. + /\{\s*\[native code\]\s*\}/.test(String(ecs)) && + query.classes.length && + !cssCaseBug + ){ + // it's a class-based query and we've got a fast way to run it. + + // ignore class and ID filters since we will have handled both + filterFunc = getSimpleFilterFunc(query, { el: 1, classes: 1, id: 1 }); + var classesString = query.classes.join(" "); + retFunc = function(root, arr, bag){ + var ret = getArr(0, arr), te, x=0; + var tret = root.getElementsByClassName(classesString); + while((te = tret[x++])){ + if(filterFunc(te, root) && _isUnique(te, bag)){ + ret.push(te); + } + } + return ret; + }; + + }else if(!wildcardTag && !query.loops){ + // it's tag only. Fast-path it. + retFunc = function(root, arr, bag){ + var ret = getArr(0, arr), te, x=0; + var tag = query.getTag(), + tret = tag ? root.getElementsByTagName(tag) : []; + while((te = tret[x++])){ + if(_isUnique(te, bag)){ + ret.push(te); + } + } + return ret; + }; + }else{ + // the common case: + // a descendant selector without a fast path. By now it's got + // to have a tag selector, even if it's just "*" so we query + // by that and filter + filterFunc = getSimpleFilterFunc(query, { el: 1, tag: 1, id: 1 }); + retFunc = function(root, arr, bag){ + var ret = getArr(0, arr), te, x=0; + // we use getTag() to avoid case sensitivity issues + var tag = query.getTag(), + tret = tag ? root.getElementsByTagName(tag) : []; + while((te = tret[x++])){ + if(filterFunc(te, root) && _isUnique(te, bag)){ + ret.push(te); + } + } + return ret; + }; + } + }else{ + // the query is scoped in some way. Instead of querying by tag we + // use some other collection to find candidate nodes + var skipFilters = { el: 1 }; + if(wildcardTag){ + skipFilters.tag = 1; + } + filterFunc = getSimpleFilterFunc(query, skipFilters); + if("+" == oper){ + retFunc = _nextSibling(filterFunc); + }else if("~" == oper){ + retFunc = _nextSiblings(filterFunc); + }else if(">" == oper){ + retFunc = _childElements(filterFunc); + } + } + // cache it and return + return _getElementsFuncCache[query.query] = retFunc; + }; + + var filterDown = function(root, queryParts){ + // NOTE: + // this is the guts of the DOM query system. It takes a list of + // parsed query parts and a root and finds children which match + // the selector represented by the parts + var candidates = getArr(root), qp, x, te, qpl = queryParts.length, bag, ret; + + for(var i = 0; i < qpl; i++){ + ret = []; + qp = queryParts[i]; + x = candidates.length - 1; + if(x > 0){ + // if we have more than one root at this level, provide a new + // hash to use for checking group membership but tell the + // system not to post-filter us since we will already have been + // guaranteed to be unique + bag = {}; + ret.nozip = true; + } + var gef = getElementsFunc(qp); + for(var j = 0; (te = candidates[j]); j++){ + // for every root, get the elements that match the descendant + // selector, adding them to the "ret" array and filtering them + // via membership in this level's bag. If there are more query + // parts, then this level's return will be used as the next + // level's candidates + gef(te, ret, bag); + } + if(!ret.length){ break; } + candidates = ret; + } + return ret; + }; + + //////////////////////////////////////////////////////////////////////// + // the query runner + //////////////////////////////////////////////////////////////////////// + + // these are the primary caches for full-query results. The query + // dispatcher functions are generated then stored here for hash lookup in + // the future + var _queryFuncCacheDOM = {}, + _queryFuncCacheQSA = {}; + + // this is the second level of splitting, from full-length queries (e.g., + // "div.foo .bar") into simple query expressions (e.g., ["div.foo", + // ".bar"]) + var getStepQueryFunc = function(query){ + var qparts = getQueryParts(trim(query)); + + // if it's trivial, avoid iteration and zipping costs + if(qparts.length == 1){ + // we optimize this case here to prevent dispatch further down the + // chain, potentially slowing things down. We could more elegantly + // handle this in filterDown(), but it's slower for simple things + // that need to be fast (e.g., "#someId"). + var tef = getElementsFunc(qparts[0]); + return function(root){ + var r = tef(root, []); + if(r){ r.nozip = true; } + return r; + }; + } + + // otherwise, break it up and return a runner that iterates over the parts recursively + return function(root){ + return filterDown(root, qparts); + }; + }; + + // NOTES: + // * we can't trust QSA for anything but document-rooted queries, so + // caching is split into DOM query evaluators and QSA query evaluators + // * caching query results is dirty and leak-prone (or, at a minimum, + // prone to unbounded growth). Other toolkits may go this route, but + // they totally destroy their own ability to manage their memory + // footprint. If we implement it, it should only ever be with a fixed + // total element reference # limit and an LRU-style algorithm since JS + // has no weakref support. Caching compiled query evaluators is also + // potentially problematic, but even on large documents the size of the + // query evaluators is often < 100 function objects per evaluator (and + // LRU can be applied if it's ever shown to be an issue). + // * since IE's QSA support is currently only for HTML documents and even + // then only in IE 8's "standards mode", we have to detect our dispatch + // route at query time and keep 2 separate caches. Ugg. + + // we need to determine if we think we can run a given query via + // querySelectorAll or if we'll need to fall back on DOM queries to get + // there. We need a lot of information about the environment and the query + // to make the determination (e.g. does it support QSA, does the query in + // question work in the native QSA impl, etc.). + + // IE QSA queries may incorrectly include comment nodes, so we throw the + // zipping function into "remove" comments mode instead of the normal "skip + // it" which every other QSA-clued browser enjoys + var noZip = has("ie") ? "commentStrip" : "nozip"; + + var qsa = "querySelectorAll"; + var qsaAvail = !!getDoc()[qsa]; + + //Don't bother with n+3 type of matches, IE complains if we modify those. + var infixSpaceRe = /\\[>~+]|n\+\d|([^ \\])?([>~+])([^ =])?/g; + var infixSpaceFunc = function(match, pre, ch, post){ + return ch ? (pre ? pre + " " : "") + ch + (post ? " " + post : "") : /*n+3*/ match; + }; + + //Don't apply the infixSpaceRe to attribute value selectors + var attRe = /([^[]*)([^\]]*])?/g; + var attFunc = function(match, nonAtt, att){ + return nonAtt.replace(infixSpaceRe, infixSpaceFunc) + (att||""); + }; + var getQueryFunc = function(query, forceDOM){ + //Normalize query. The CSS3 selectors spec allows for omitting spaces around + //infix operators, >, ~ and + + //Do the work here since detection for spaces is used as a simple "not use QSA" + //test below. + query = query.replace(attRe, attFunc); + + if(qsaAvail){ + // if we've got a cached variant and we think we can do it, run it! + var qsaCached = _queryFuncCacheQSA[query]; + if(qsaCached && !forceDOM){ return qsaCached; } + } + + // else if we've got a DOM cached variant, assume that we already know + // all we need to and use it + var domCached = _queryFuncCacheDOM[query]; + if(domCached){ return domCached; } + + // TODO: + // today we're caching DOM and QSA branches separately so we + // recalc useQSA every time. If we had a way to tag root+query + // efficiently, we'd be in good shape to do a global cache. + + var qcz = query.charAt(0); + var nospace = (-1 == query.indexOf(" ")); + + // byId searches are wicked fast compared to QSA, even when filtering + // is required + if( (query.indexOf("#") >= 0) && (nospace) ){ + forceDOM = true; + } + + var useQSA = ( + qsaAvail && (!forceDOM) && + // as per CSS 3, we can't currently start w/ combinator: + // http://www.w3.org/TR/css3-selectors/#w3cselgrammar + (specials.indexOf(qcz) == -1) && + // IE's QSA impl sucks on pseudos + (!has("ie") || (query.indexOf(":") == -1)) && + + (!(cssCaseBug && (query.indexOf(".") >= 0))) && + + // FIXME: + // need to tighten up browser rules on ":contains" and "|=" to + // figure out which aren't good + // Latest webkit (around 531.21.8) does not seem to do well with :checked on option + // elements, even though according to spec, selected options should + // match :checked. So go nonQSA for it: + // http://bugs.dojotoolkit.org/ticket/5179 + (query.indexOf(":contains") == -1) && (query.indexOf(":checked") == -1) && + (query.indexOf("|=") == -1) // some browsers don't grok it + ); + + // TODO: + // if we've got a descendant query (e.g., "> .thinger" instead of + // just ".thinger") in a QSA-able doc, but are passed a child as a + // root, it should be possible to give the item a synthetic ID and + // trivially rewrite the query to the form "#synid > .thinger" to + // use the QSA branch + + + if(useQSA){ + var tq = (specials.indexOf(query.charAt(query.length-1)) >= 0) ? + (query + " *") : query; + return _queryFuncCacheQSA[query] = function(root){ + try{ + // the QSA system contains an egregious spec bug which + // limits us, effectively, to only running QSA queries over + // entire documents. See: + // http://ejohn.org/blog/thoughts-on-queryselectorall/ + // despite this, we can also handle QSA runs on simple + // selectors, but we don't want detection to be expensive + // so we're just checking for the presence of a space char + // right now. Not elegant, but it's cheaper than running + // the query parser when we might not need to + if(!((9 == root.nodeType) || nospace)){ throw ""; } + var r = root[qsa](tq); + // skip expensive duplication checks and just wrap in a NodeList + r[noZip] = true; + return r; + }catch(e){ + // else run the DOM branch on this query, ensuring that we + // default that way in the future + return getQueryFunc(query, true)(root); + } + }; + }else{ + // DOM branch + var parts = query.match(/([^\s,](?:"(?:\\.|[^"])+"|'(?:\\.|[^'])+'|[^,])*)/g); + return _queryFuncCacheDOM[query] = ((parts.length < 2) ? + // if not a compound query (e.g., ".foo, .bar"), cache and return a dispatcher + getStepQueryFunc(query) : + // if it *is* a complex query, break it up into its + // constituent parts and return a dispatcher that will + // merge the parts when run + function(root){ + var pindex = 0, // avoid array alloc for every invocation + ret = [], + tp; + while((tp = parts[pindex++])){ + ret = ret.concat(getStepQueryFunc(tp)(root)); + } + return ret; + } + ); + } + }; + + var _zipIdx = 0; + + // NOTE: + // this function is Moo inspired, but our own impl to deal correctly + // with XML in IE + var _nodeUID = has("ie") ? function(node){ + if(caseSensitive){ + // XML docs don't have uniqueID on their nodes + return (node.getAttribute("_uid") || node.setAttribute("_uid", ++_zipIdx) || _zipIdx); + + }else{ + return node.uniqueID; + } + } : + function(node){ + return (node._uid || (node._uid = ++_zipIdx)); + }; + + // determine if a node in is unique in a "bag". In this case we don't want + // to flatten a list of unique items, but rather just tell if the item in + // question is already in the bag. Normally we'd just use hash lookup to do + // this for us but IE's DOM is busted so we can't really count on that. On + // the upside, it gives us a built in unique ID function. + var _isUnique = function(node, bag){ + if(!bag){ return 1; } + var id = _nodeUID(node); + if(!bag[id]){ return bag[id] = 1; } + return 0; + }; + + // attempt to efficiently determine if an item in a list is a dupe, + // returning a list of "uniques", hopefully in document order + var _zipIdxName = "_zipIdx"; + var _zip = function(arr){ + if(arr && arr.nozip){ + return arr; + } + var ret = []; + if(!arr || !arr.length){ return ret; } + if(arr[0]){ + ret.push(arr[0]); + } + if(arr.length < 2){ return ret; } + + _zipIdx++; + + // we have to fork here for IE and XML docs because we can't set + // expandos on their nodes (apparently). *sigh* + var x, te; + if(has("ie") && caseSensitive){ + var szidx = _zipIdx+""; + arr[0].setAttribute(_zipIdxName, szidx); + for(x = 1; te = arr[x]; x++){ + if(arr[x].getAttribute(_zipIdxName) != szidx){ + ret.push(te); + } + te.setAttribute(_zipIdxName, szidx); + } + }else if(has("ie") && arr.commentStrip){ + try{ + for(x = 1; te = arr[x]; x++){ + if(_isElement(te)){ + ret.push(te); + } + } + }catch(e){ /* squelch */ } + }else{ + if(arr[0]){ arr[0][_zipIdxName] = _zipIdx; } + for(x = 1; te = arr[x]; x++){ + if(arr[x][_zipIdxName] != _zipIdx){ + ret.push(te); + } + te[_zipIdxName] = _zipIdx; + } + } + return ret; + }; + + // the main executor + var query = function(/*String*/ query, /*String|DOMNode?*/ root){ + // summary: + // Returns nodes which match the given CSS3 selector, searching the + // entire document by default but optionally taking a node to scope + // the search by. Returns an array. + // description: + // dojo.query() is the swiss army knife of DOM node manipulation in + // Dojo. Much like Prototype's "$$" (bling-bling) function or JQuery's + // "$" function, dojo.query provides robust, high-performance + // CSS-based node selector support with the option of scoping searches + // to a particular sub-tree of a document. + // + // Supported Selectors: + // -------------------- + // + // acme supports a rich set of CSS3 selectors, including: + // + // - class selectors (e.g., `.foo`) + // - node type selectors like `span` + // - ` ` descendant selectors + // - `>` child element selectors + // - `#foo` style ID selectors + // - `*` universal selector + // - `~`, the preceded-by sibling selector + // - `+`, the immediately preceded-by sibling selector + // - attribute queries: + // - `[foo]` attribute presence selector + // - `[foo='bar']` attribute value exact match + // - `[foo~='bar']` attribute value list item match + // - `[foo^='bar']` attribute start match + // - `[foo$='bar']` attribute end match + // - `[foo*='bar']` attribute substring match + // - `:first-child`, `:last-child`, and `:only-child` positional selectors + // - `:empty` content emtpy selector + // - `:checked` pseudo selector + // - `:nth-child(n)`, `:nth-child(2n+1)` style positional calculations + // - `:nth-child(even)`, `:nth-child(odd)` positional selectors + // - `:not(...)` negation pseudo selectors + // + // Any legal combination of these selectors will work with + // `dojo.query()`, including compound selectors ("," delimited). + // Very complex and useful searches can be constructed with this + // palette of selectors and when combined with functions for + // manipulation presented by dojo/NodeList, many types of DOM + // manipulation operations become very straightforward. + // + // Unsupported Selectors: + // ---------------------- + // + // While dojo.query handles many CSS3 selectors, some fall outside of + // what's reasonable for a programmatic node querying engine to + // handle. Currently unsupported selectors include: + // + // - namespace-differentiated selectors of any form + // - all `::` pseduo-element selectors + // - certain pseudo-selectors which don't get a lot of day-to-day use: + // - `:root`, `:lang()`, `:target`, `:focus` + // - all visual and state selectors: + // - `:root`, `:active`, `:hover`, `:visited`, `:link`, + // `:enabled`, `:disabled` + // - `:*-of-type` pseudo selectors + // + // dojo.query and XML Documents: + // ----------------------------- + // + // `dojo.query` (as of dojo 1.2) supports searching XML documents + // in a case-sensitive manner. If an HTML document is served with + // a doctype that forces case-sensitivity (e.g., XHTML 1.1 + // Strict), dojo.query() will detect this and "do the right + // thing". Case sensitivity is dependent upon the document being + // searched and not the query used. It is therefore possible to + // use case-sensitive queries on strict sub-documents (iframes, + // etc.) or XML documents while still assuming case-insensitivity + // for a host/root document. + // + // Non-selector Queries: + // --------------------- + // + // If something other than a String is passed for the query, + // `dojo.query` will return a new `dojo/NodeList` instance + // constructed from that parameter alone and all further + // processing will stop. This means that if you have a reference + // to a node or NodeList, you can quickly construct a new NodeList + // from the original by calling `dojo.query(node)` or + // `dojo.query(list)`. + // + // query: + // The CSS3 expression to match against. For details on the syntax of + // CSS3 selectors, see + // root: + // A DOMNode (or node id) to scope the search from. Optional. + // returns: Array + // example: + // search the entire document for elements with the class "foo": + // | dojo.query(".foo"); + // these elements will match: + // | + // | + // |

    + // example: + // search the entire document for elements with the classes "foo" *and* "bar": + // | dojo.query(".foo.bar"); + // these elements will match: + // | + // while these will not: + // | + // |

    + // example: + // find `` elements which are descendants of paragraphs and + // which have a "highlighted" class: + // | dojo.query("p span.highlighted"); + // the innermost span in this fragment matches: + // |

    + // | ... + // | ... + // | + // |

    + // example: + // set an "odd" class on all odd table rows inside of the table + // `#tabular_data`, using the `>` (direct child) selector to avoid + // affecting any nested tables: + // | dojo.query("#tabular_data > tbody > tr:nth-child(odd)").addClass("odd"); + // example: + // remove all elements with the class "error" from the document + // and store them in a list: + // | var errors = dojo.query(".error").orphan(); + // example: + // add an onclick handler to every submit button in the document + // which causes the form to be sent via Ajax instead: + // | dojo.query("input[type='submit']").onclick(function(e){ + // | dojo.stopEvent(e); // prevent sending the form + // | var btn = e.target; + // | dojo.xhrPost({ + // | form: btn.form, + // | load: function(data){ + // | // replace the form with the response + // | var div = dojo.doc.createElement("div"); + // | dojo.place(div, btn.form, "after"); + // | div.innerHTML = data; + // | dojo.style(btn.form, "display", "none"); + // | } + // | }); + // | }); + + root = root || getDoc(); + + // throw the big case sensitivity switch + var od = root.ownerDocument || root; // root is either Document or a node inside the document + caseSensitive = (od.createElement("div").tagName === "div"); + + // NOTE: + // adding "true" as the 2nd argument to getQueryFunc is useful for + // testing the DOM branch without worrying about the + // behavior/performance of the QSA branch. + var r = getQueryFunc(query)(root); + + // FIXME: + // need to investigate this branch WRT #8074 and #8075 + if(r && r.nozip){ + return r; + } + return _zip(r); // dojo/NodeList + }; + query.filter = function(/*Node[]*/ nodeList, /*String*/ filter, /*String|DOMNode?*/ root){ + // summary: + // function for filtering a NodeList based on a selector, optimized for simple selectors + var tmpNodeList = [], + parts = getQueryParts(filter), + filterFunc = + (parts.length == 1 && !/[^\w#\.]/.test(filter)) ? + getSimpleFilterFunc(parts[0]) : + function(node){ + return array.indexOf(query(filter, dom.byId(root)), node) != -1; + }; + for(var x = 0, te; te = nodeList[x]; x++){ + if(filterFunc(te)){ tmpNodeList.push(te); } + } + return tmpNodeList; + }; + return query; +}); + +}, +'dojo/errors/RequestTimeoutError':function(){ +define("dojo/errors/RequestTimeoutError", ['./create', './RequestError'], function(create, RequestError){ + // module: + // dojo/errors/RequestTimeoutError + + /*===== + return function(){ + // summary: + // TODOC + }; + =====*/ + + return create("RequestTimeoutError", null, RequestError, { + dojoType: "timeout" + }); +}); + +}, +'dojo/dom-style':function(){ +define("dojo/dom-style", ["./sniff", "./dom"], function(has, dom){ + // module: + // dojo/dom-style + + // ============================= + // Style Functions + // ============================= + + // getComputedStyle drives most of the style code. + // Wherever possible, reuse the returned object. + // + // API functions below that need to access computed styles accept an + // optional computedStyle parameter. + // If this parameter is omitted, the functions will call getComputedStyle themselves. + // This way, calling code can access computedStyle once, and then pass the reference to + // multiple API functions. + + // Although we normally eschew argument validation at this + // level, here we test argument 'node' for (duck)type, + // by testing nodeType, ecause 'document' is the 'parentNode' of 'body' + // it is frequently sent to this function even + // though it is not Element. + var getComputedStyle, style = { + // summary: + // This module defines the core dojo DOM style API. + }; + if(has("webkit")){ + getComputedStyle = function(/*DomNode*/ node){ + var s; + if(node.nodeType == 1){ + var dv = node.ownerDocument.defaultView; + s = dv.getComputedStyle(node, null); + if(!s && node.style){ + node.style.display = ""; + s = dv.getComputedStyle(node, null); + } + } + return s || {}; + }; + }else if(has("ie") && (has("ie") < 9 || has("quirks"))){ + getComputedStyle = function(node){ + // IE (as of 7) doesn't expose Element like sane browsers + // currentStyle can be null on IE8! + return node.nodeType == 1 /* ELEMENT_NODE*/ && node.currentStyle ? node.currentStyle : {}; + }; + }else{ + getComputedStyle = function(node){ + return node.nodeType == 1 /* ELEMENT_NODE*/ ? + node.ownerDocument.defaultView.getComputedStyle(node, null) : {}; + }; + } + style.getComputedStyle = getComputedStyle; + /*===== + style.getComputedStyle = function(node){ + // summary: + // Returns a "computed style" object. + // + // description: + // Gets a "computed style" object which can be used to gather + // information about the current state of the rendered node. + // + // Note that this may behave differently on different browsers. + // Values may have different formats and value encodings across + // browsers. + // + // Note also that this method is expensive. Wherever possible, + // reuse the returned object. + // + // Use the dojo.style() method for more consistent (pixelized) + // return values. + // + // node: DOMNode + // A reference to a DOM node. Does NOT support taking an + // ID string for speed reasons. + // example: + // | dojo.getComputedStyle(dojo.byId('foo')).borderWidth; + // + // example: + // Reusing the returned object, avoiding multiple lookups: + // | var cs = dojo.getComputedStyle(dojo.byId("someNode")); + // | var w = cs.width, h = cs.height; + return; // CSS2Properties + }; + =====*/ + + var toPixel; + if(!has("ie")){ + toPixel = function(element, value){ + // style values can be floats, client code may want + // to round for integer pixels. + return parseFloat(value) || 0; + }; + }else{ + toPixel = function(element, avalue){ + if(!avalue){ return 0; } + // on IE7, medium is usually 4 pixels + if(avalue == "medium"){ return 4; } + // style values can be floats, client code may + // want to round this value for integer pixels. + if(avalue.slice && avalue.slice(-2) == 'px'){ return parseFloat(avalue); } + var s = element.style, rs = element.runtimeStyle, cs = element.currentStyle, + sLeft = s.left, rsLeft = rs.left; + rs.left = cs.left; + try{ + // 'avalue' may be incompatible with style.left, which can cause IE to throw + // this has been observed for border widths using "thin", "medium", "thick" constants + // those particular constants could be trapped by a lookup + // but perhaps there are more + s.left = avalue; + avalue = s.pixelLeft; + }catch(e){ + avalue = 0; + } + s.left = sLeft; + rs.left = rsLeft; + return avalue; + }; + } + style.toPixelValue = toPixel; + /*===== + style.toPixelValue = function(node, value){ + // summary: + // converts style value to pixels on IE or return a numeric value. + // node: DOMNode + // value: String + // returns: Number + }; + =====*/ + + // FIXME: there opacity quirks on FF that we haven't ported over. Hrm. + + var astr = "DXImageTransform.Microsoft.Alpha"; + var af = function(n, f){ + try{ + return n.filters.item(astr); + }catch(e){ + return f ? {} : null; + } + }; + + var _getOpacity = + has("ie") < 9 || (has("ie") && has("quirks")) ? function(node){ + try{ + return af(node).Opacity / 100; // Number + }catch(e){ + return 1; // Number + } + } : + function(node){ + return getComputedStyle(node).opacity; + }; + + var _setOpacity = + has("ie") < 9 || (has("ie") && has("quirks")) ? function(/*DomNode*/ node, /*Number*/ opacity){ + var ov = opacity * 100, opaque = opacity == 1; + node.style.zoom = opaque ? "" : 1; + + if(!af(node)){ + if(opaque){ + return opacity; + } + node.style.filter += " progid:" + astr + "(Opacity=" + ov + ")"; + }else{ + af(node, 1).Opacity = ov; + } + + // on IE7 Alpha(Filter opacity=100) makes text look fuzzy so disable it altogether (bug #2661), + //but still update the opacity value so we can get a correct reading if it is read later. + af(node, 1).Enabled = !opaque; + + if(node.tagName.toLowerCase() == "tr"){ + for(var td = node.firstChild; td; td = td.nextSibling){ + if(td.tagName.toLowerCase() == "td"){ + _setOpacity(td, opacity); + } + } + } + return opacity; + } : + function(node, opacity){ + return node.style.opacity = opacity; + }; + + var _pixelNamesCache = { + left: true, top: true + }; + var _pixelRegExp = /margin|padding|width|height|max|min|offset/; // |border + function _toStyleValue(node, type, value){ + //TODO: should we really be doing string case conversion here? Should we cache it? Need to profile! + type = type.toLowerCase(); + if(has("ie")){ + if(value == "auto"){ + if(type == "height"){ return node.offsetHeight; } + if(type == "width"){ return node.offsetWidth; } + } + if(type == "fontweight"){ + switch(value){ + case 700: return "bold"; + case 400: + default: return "normal"; + } + } + } + if(!(type in _pixelNamesCache)){ + _pixelNamesCache[type] = _pixelRegExp.test(type); + } + return _pixelNamesCache[type] ? toPixel(node, value) : value; + } + + var _floatStyle = has("ie") ? "styleFloat" : "cssFloat", + _floatAliases = {"cssFloat": _floatStyle, "styleFloat": _floatStyle, "float": _floatStyle}; + + // public API + + style.get = function getStyle(/*DOMNode|String*/ node, /*String?*/ name){ + // summary: + // Accesses styles on a node. + // description: + // Getting the style value uses the computed style for the node, so the value + // will be a calculated value, not just the immediate node.style value. + // Also when getting values, use specific style names, + // like "borderBottomWidth" instead of "border" since compound values like + // "border" are not necessarily reflected as expected. + // If you want to get node dimensions, use `dojo.marginBox()`, + // `dojo.contentBox()` or `dojo.position()`. + // node: DOMNode|String + // id or reference to node to get style for + // name: String? + // the style property to get + // example: + // Passing only an ID or node returns the computed style object of + // the node: + // | dojo.getStyle("thinger"); + // example: + // Passing a node and a style property returns the current + // normalized, computed value for that property: + // | dojo.getStyle("thinger", "opacity"); // 1 by default + + var n = dom.byId(node), l = arguments.length, op = (name == "opacity"); + if(l == 2 && op){ + return _getOpacity(n); + } + name = _floatAliases[name] || name; + var s = style.getComputedStyle(n); + return (l == 1) ? s : _toStyleValue(n, name, s[name] || n.style[name]); /* CSS2Properties||String||Number */ + }; + + style.set = function setStyle(/*DOMNode|String*/ node, /*String|Object*/ name, /*String?*/ value){ + // summary: + // Sets styles on a node. + // node: DOMNode|String + // id or reference to node to set style for + // name: String|Object + // the style property to set in DOM-accessor format + // ("borderWidth", not "border-width") or an object with key/value + // pairs suitable for setting each property. + // value: String? + // If passed, sets value on the node for style, handling + // cross-browser concerns. When setting a pixel value, + // be sure to include "px" in the value. For instance, top: "200px". + // Otherwise, in some cases, some browsers will not apply the style. + // + // example: + // Passing a node, a style property, and a value changes the + // current display of the node and returns the new computed value + // | dojo.setStyle("thinger", "opacity", 0.5); // == 0.5 + // + // example: + // Passing a node, an object-style style property sets each of the values in turn and returns the computed style object of the node: + // | dojo.setStyle("thinger", { + // | "opacity": 0.5, + // | "border": "3px solid black", + // | "height": "300px" + // | }); + // + // example: + // When the CSS style property is hyphenated, the JavaScript property is camelCased. + // font-size becomes fontSize, and so on. + // | dojo.setStyle("thinger",{ + // | fontSize:"14pt", + // | letterSpacing:"1.2em" + // | }); + // + // example: + // dojo/NodeList implements .style() using the same syntax, omitting the "node" parameter, calling + // dojo.style() on every element of the list. See: `dojo.query()` and `dojo/NodeList` + // | dojo.query(".someClassName").style("visibility","hidden"); + // | // or + // | dojo.query("#baz > div").style({ + // | opacity:0.75, + // | fontSize:"13pt" + // | }); + + var n = dom.byId(node), l = arguments.length, op = (name == "opacity"); + name = _floatAliases[name] || name; + if(l == 3){ + return op ? _setOpacity(n, value) : n.style[name] = value; // Number + } + for(var x in name){ + style.set(node, x, name[x]); + } + return style.getComputedStyle(n); + }; + + return style; +}); + +}, +'dojo/dom-geometry':function(){ +define(["./sniff", "./_base/window","./dom", "./dom-style"], + function(has, win, dom, style){ + // module: + // dojo/dom-geometry + + // the result object + var geom = { + // summary: + // This module defines the core dojo DOM geometry API. + }; + + // Box functions will assume this model. + // On IE/Opera, BORDER_BOX will be set if the primary document is in quirks mode. + // Can be set to change behavior of box setters. + + // can be either: + // "border-box" + // "content-box" (default) + geom.boxModel = "content-box"; + + // We punt per-node box mode testing completely. + // If anybody cares, we can provide an additional (optional) unit + // that overrides existing code to include per-node box sensitivity. + + // Opera documentation claims that Opera 9 uses border-box in BackCompat mode. + // but experiments (Opera 9.10.8679 on Windows Vista) indicate that it actually continues to use content-box. + // IIRC, earlier versions of Opera did in fact use border-box. + // Opera guys, this is really confusing. Opera being broken in quirks mode is not our fault. + + if(has("ie") /*|| has("opera")*/){ + // client code may have to adjust if compatMode varies across iframes + geom.boxModel = document.compatMode == "BackCompat" ? "border-box" : "content-box"; + } + + geom.getPadExtents = function getPadExtents(/*DomNode*/ node, /*Object*/ computedStyle){ + // summary: + // Returns object with special values specifically useful for node + // fitting. + // description: + // Returns an object with `w`, `h`, `l`, `t` properties: + // | l/t/r/b = left/top/right/bottom padding (respectively) + // | w = the total of the left and right padding + // | h = the total of the top and bottom padding + // If 'node' has position, l/t forms the origin for child nodes. + // The w/h are used for calculating boxes. + // Normally application code will not need to invoke this + // directly, and will use the ...box... functions instead. + // node: DOMNode + // computedStyle: Object? + // This parameter accepts computed styles object. + // If this parameter is omitted, the functions will call + // dojo.getComputedStyle to get one. It is a better way, calling + // dojo.computedStyle once, and then pass the reference to this + // computedStyle parameter. Wherever possible, reuse the returned + // object of dojo/dom-style.getComputedStyle(). + + node = dom.byId(node); + var s = computedStyle || style.getComputedStyle(node), px = style.toPixelValue, + l = px(node, s.paddingLeft), t = px(node, s.paddingTop), r = px(node, s.paddingRight), b = px(node, s.paddingBottom); + return {l: l, t: t, r: r, b: b, w: l + r, h: t + b}; + }; + + var none = "none"; + + geom.getBorderExtents = function getBorderExtents(/*DomNode*/ node, /*Object*/ computedStyle){ + // summary: + // returns an object with properties useful for noting the border + // dimensions. + // description: + // - l/t/r/b = the sum of left/top/right/bottom border (respectively) + // - w = the sum of the left and right border + // - h = the sum of the top and bottom border + // + // The w/h are used for calculating boxes. + // Normally application code will not need to invoke this + // directly, and will use the ...box... functions instead. + // node: DOMNode + // computedStyle: Object? + // This parameter accepts computed styles object. + // If this parameter is omitted, the functions will call + // dojo.getComputedStyle to get one. It is a better way, calling + // dojo.computedStyle once, and then pass the reference to this + // computedStyle parameter. Wherever possible, reuse the returned + // object of dojo/dom-style.getComputedStyle(). + + node = dom.byId(node); + var px = style.toPixelValue, s = computedStyle || style.getComputedStyle(node), + l = s.borderLeftStyle != none ? px(node, s.borderLeftWidth) : 0, + t = s.borderTopStyle != none ? px(node, s.borderTopWidth) : 0, + r = s.borderRightStyle != none ? px(node, s.borderRightWidth) : 0, + b = s.borderBottomStyle != none ? px(node, s.borderBottomWidth) : 0; + return {l: l, t: t, r: r, b: b, w: l + r, h: t + b}; + }; + + geom.getPadBorderExtents = function getPadBorderExtents(/*DomNode*/ node, /*Object*/ computedStyle){ + // summary: + // Returns object with properties useful for box fitting with + // regards to padding. + // description: + // - l/t/r/b = the sum of left/top/right/bottom padding and left/top/right/bottom border (respectively) + // - w = the sum of the left and right padding and border + // - h = the sum of the top and bottom padding and border + // + // The w/h are used for calculating boxes. + // Normally application code will not need to invoke this + // directly, and will use the ...box... functions instead. + // node: DOMNode + // computedStyle: Object? + // This parameter accepts computed styles object. + // If this parameter is omitted, the functions will call + // dojo.getComputedStyle to get one. It is a better way, calling + // dojo.computedStyle once, and then pass the reference to this + // computedStyle parameter. Wherever possible, reuse the returned + // object of dojo/dom-style.getComputedStyle(). + + node = dom.byId(node); + var s = computedStyle || style.getComputedStyle(node), + p = geom.getPadExtents(node, s), + b = geom.getBorderExtents(node, s); + return { + l: p.l + b.l, + t: p.t + b.t, + r: p.r + b.r, + b: p.b + b.b, + w: p.w + b.w, + h: p.h + b.h + }; + }; + + geom.getMarginExtents = function getMarginExtents(node, computedStyle){ + // summary: + // returns object with properties useful for box fitting with + // regards to box margins (i.e., the outer-box). + // + // - l/t = marginLeft, marginTop, respectively + // - w = total width, margin inclusive + // - h = total height, margin inclusive + // + // The w/h are used for calculating boxes. + // Normally application code will not need to invoke this + // directly, and will use the ...box... functions instead. + // node: DOMNode + // computedStyle: Object? + // This parameter accepts computed styles object. + // If this parameter is omitted, the functions will call + // dojo.getComputedStyle to get one. It is a better way, calling + // dojo.computedStyle once, and then pass the reference to this + // computedStyle parameter. Wherever possible, reuse the returned + // object of dojo/dom-style.getComputedStyle(). + + node = dom.byId(node); + var s = computedStyle || style.getComputedStyle(node), px = style.toPixelValue, + l = px(node, s.marginLeft), t = px(node, s.marginTop), r = px(node, s.marginRight), b = px(node, s.marginBottom); + return {l: l, t: t, r: r, b: b, w: l + r, h: t + b}; + }; + + // Box getters work in any box context because offsetWidth/clientWidth + // are invariant wrt box context + // + // They do *not* work for display: inline objects that have padding styles + // because the user agent ignores padding (it's bogus styling in any case) + // + // Be careful with IMGs because they are inline or block depending on + // browser and browser mode. + + // Although it would be easier to read, there are not separate versions of + // _getMarginBox for each browser because: + // 1. the branching is not expensive + // 2. factoring the shared code wastes cycles (function call overhead) + // 3. duplicating the shared code wastes bytes + + geom.getMarginBox = function getMarginBox(/*DomNode*/ node, /*Object*/ computedStyle){ + // summary: + // returns an object that encodes the width, height, left and top + // positions of the node's margin box. + // node: DOMNode + // computedStyle: Object? + // This parameter accepts computed styles object. + // If this parameter is omitted, the functions will call + // dojo.getComputedStyle to get one. It is a better way, calling + // dojo.computedStyle once, and then pass the reference to this + // computedStyle parameter. Wherever possible, reuse the returned + // object of dojo/dom-style.getComputedStyle(). + + node = dom.byId(node); + var s = computedStyle || style.getComputedStyle(node), me = geom.getMarginExtents(node, s), + l = node.offsetLeft - me.l, t = node.offsetTop - me.t, p = node.parentNode, px = style.toPixelValue, pcs; + if(has("mozilla")){ + // Mozilla: + // If offsetParent has a computed overflow != visible, the offsetLeft is decreased + // by the parent's border. + // We don't want to compute the parent's style, so instead we examine node's + // computed left/top which is more stable. + var sl = parseFloat(s.left), st = parseFloat(s.top); + if(!isNaN(sl) && !isNaN(st)){ + l = sl; + t = st; + }else{ + // If child's computed left/top are not parseable as a number (e.g. "auto"), we + // have no choice but to examine the parent's computed style. + if(p && p.style){ + pcs = style.getComputedStyle(p); + if(pcs.overflow != "visible"){ + l += pcs.borderLeftStyle != none ? px(node, pcs.borderLeftWidth) : 0; + t += pcs.borderTopStyle != none ? px(node, pcs.borderTopWidth) : 0; + } + } + } + }else if(has("opera") || (has("ie") == 8 && !has("quirks"))){ + // On Opera and IE 8, offsetLeft/Top includes the parent's border + if(p){ + pcs = style.getComputedStyle(p); + l -= pcs.borderLeftStyle != none ? px(node, pcs.borderLeftWidth) : 0; + t -= pcs.borderTopStyle != none ? px(node, pcs.borderTopWidth) : 0; + } + } + return {l: l, t: t, w: node.offsetWidth + me.w, h: node.offsetHeight + me.h}; + }; + + geom.getContentBox = function getContentBox(node, computedStyle){ + // summary: + // Returns an object that encodes the width, height, left and top + // positions of the node's content box, irrespective of the + // current box model. + // node: DOMNode + // computedStyle: Object? + // This parameter accepts computed styles object. + // If this parameter is omitted, the functions will call + // dojo.getComputedStyle to get one. It is a better way, calling + // dojo.computedStyle once, and then pass the reference to this + // computedStyle parameter. Wherever possible, reuse the returned + // object of dojo/dom-style.getComputedStyle(). + + // clientWidth/Height are important since the automatically account for scrollbars + // fallback to offsetWidth/Height for special cases (see #3378) + node = dom.byId(node); + var s = computedStyle || style.getComputedStyle(node), w = node.clientWidth, h, + pe = geom.getPadExtents(node, s), be = geom.getBorderExtents(node, s); + if(!w){ + w = node.offsetWidth; + h = node.offsetHeight; + }else{ + h = node.clientHeight; + be.w = be.h = 0; + } + // On Opera, offsetLeft includes the parent's border + if(has("opera")){ + pe.l += be.l; + pe.t += be.t; + } + return {l: pe.l, t: pe.t, w: w - pe.w - be.w, h: h - pe.h - be.h}; + }; + + // Box setters depend on box context because interpretation of width/height styles + // vary wrt box context. + // + // The value of boxModel is used to determine box context. + // boxModel can be set directly to change behavior. + // + // Beware of display: inline objects that have padding styles + // because the user agent ignores padding (it's a bogus setup anyway) + // + // Be careful with IMGs because they are inline or block depending on + // browser and browser mode. + // + // Elements other than DIV may have special quirks, like built-in + // margins or padding, or values not detectable via computedStyle. + // In particular, margins on TABLE do not seems to appear + // at all in computedStyle on Mozilla. + + function setBox(/*DomNode*/ node, /*Number?*/ l, /*Number?*/ t, /*Number?*/ w, /*Number?*/ h, /*String?*/ u){ + // summary: + // sets width/height/left/top in the current (native) box-model + // dimensions. Uses the unit passed in u. + // node: + // DOM Node reference. Id string not supported for performance + // reasons. + // l: + // left offset from parent. + // t: + // top offset from parent. + // w: + // width in current box model. + // h: + // width in current box model. + // u: + // unit measure to use for other measures. Defaults to "px". + u = u || "px"; + var s = node.style; + if(!isNaN(l)){ + s.left = l + u; + } + if(!isNaN(t)){ + s.top = t + u; + } + if(w >= 0){ + s.width = w + u; + } + if(h >= 0){ + s.height = h + u; + } + } + + function isButtonTag(/*DomNode*/ node){ + // summary: + // True if the node is BUTTON or INPUT.type="button". + return node.tagName.toLowerCase() == "button" || + node.tagName.toLowerCase() == "input" && (node.getAttribute("type") || "").toLowerCase() == "button"; // boolean + } + + function usesBorderBox(/*DomNode*/ node){ + // summary: + // True if the node uses border-box layout. + + // We could test the computed style of node to see if a particular box + // has been specified, but there are details and we choose not to bother. + + // TABLE and BUTTON (and INPUT type=button) are always border-box by default. + // If you have assigned a different box to either one via CSS then + // box functions will break. + + return geom.boxModel == "border-box" || node.tagName.toLowerCase() == "table" || isButtonTag(node); // boolean + } + + geom.setContentSize = function setContentSize(/*DomNode*/ node, /*Object*/ box, /*Object*/ computedStyle){ + // summary: + // Sets the size of the node's contents, irrespective of margins, + // padding, or borders. + // node: DOMNode + // box: Object + // hash with optional "w", and "h" properties for "width", and "height" + // respectively. All specified properties should have numeric values in whole pixels. + // computedStyle: Object? + // This parameter accepts computed styles object. + // If this parameter is omitted, the functions will call + // dojo.getComputedStyle to get one. It is a better way, calling + // dojo.computedStyle once, and then pass the reference to this + // computedStyle parameter. Wherever possible, reuse the returned + // object of dojo/dom-style.getComputedStyle(). + + node = dom.byId(node); + var w = box.w, h = box.h; + if(usesBorderBox(node)){ + var pb = geom.getPadBorderExtents(node, computedStyle); + if(w >= 0){ + w += pb.w; + } + if(h >= 0){ + h += pb.h; + } + } + setBox(node, NaN, NaN, w, h); + }; + + var nilExtents = {l: 0, t: 0, w: 0, h: 0}; + + geom.setMarginBox = function setMarginBox(/*DomNode*/ node, /*Object*/ box, /*Object*/ computedStyle){ + // summary: + // sets the size of the node's margin box and placement + // (left/top), irrespective of box model. Think of it as a + // passthrough to setBox that handles box-model vagaries for + // you. + // node: DOMNode + // box: Object + // hash with optional "l", "t", "w", and "h" properties for "left", "right", "width", and "height" + // respectively. All specified properties should have numeric values in whole pixels. + // computedStyle: Object? + // This parameter accepts computed styles object. + // If this parameter is omitted, the functions will call + // dojo.getComputedStyle to get one. It is a better way, calling + // dojo.computedStyle once, and then pass the reference to this + // computedStyle parameter. Wherever possible, reuse the returned + // object of dojo/dom-style.getComputedStyle(). + + node = dom.byId(node); + var s = computedStyle || style.getComputedStyle(node), w = box.w, h = box.h, + // Some elements have special padding, margin, and box-model settings. + // To use box functions you may need to set padding, margin explicitly. + // Controlling box-model is harder, in a pinch you might set dojo/dom-geometry.boxModel. + pb = usesBorderBox(node) ? nilExtents : geom.getPadBorderExtents(node, s), + mb = geom.getMarginExtents(node, s); + if(has("webkit")){ + // on Safari (3.1.2), button nodes with no explicit size have a default margin + // setting an explicit size eliminates the margin. + // We have to swizzle the width to get correct margin reading. + if(isButtonTag(node)){ + var ns = node.style; + if(w >= 0 && !ns.width){ + ns.width = "4px"; + } + if(h >= 0 && !ns.height){ + ns.height = "4px"; + } + } + } + if(w >= 0){ + w = Math.max(w - pb.w - mb.w, 0); + } + if(h >= 0){ + h = Math.max(h - pb.h - mb.h, 0); + } + setBox(node, box.l, box.t, w, h); + }; + + // ============================= + // Positioning + // ============================= + + geom.isBodyLtr = function isBodyLtr(/*Document?*/ doc){ + // summary: + // Returns true if the current language is left-to-right, and false otherwise. + // doc: Document? + // Optional document to query. If unspecified, use win.doc. + // returns: Boolean + + doc = doc || win.doc; + return (win.body(doc).dir || doc.documentElement.dir || "ltr").toLowerCase() == "ltr"; // Boolean + }; + + geom.docScroll = function docScroll(/*Document?*/ doc){ + // summary: + // Returns an object with {node, x, y} with corresponding offsets. + // doc: Document? + // Optional document to query. If unspecified, use win.doc. + // returns: Object + + doc = doc || win.doc; + var node = win.doc.parentWindow || win.doc.defaultView; // use UI window, not dojo.global window. TODO: use dojo/window::get() except for circular dependency problem + return "pageXOffset" in node ? {x: node.pageXOffset, y: node.pageYOffset } : + (node = has("quirks") ? win.body(doc) : doc.documentElement) && + {x: geom.fixIeBiDiScrollLeft(node.scrollLeft || 0, doc), y: node.scrollTop || 0 }; + }; + + if(has("ie")){ + geom.getIeDocumentElementOffset = function getIeDocumentElementOffset(/*Document?*/ doc){ + // summary: + // returns the offset in x and y from the document body to the + // visual edge of the page for IE + // doc: Document? + // Optional document to query. If unspecified, use win.doc. + // description: + // The following values in IE contain an offset: + // | event.clientX + // | event.clientY + // | node.getBoundingClientRect().left + // | node.getBoundingClientRect().top + // But other position related values do not contain this offset, + // such as node.offsetLeft, node.offsetTop, node.style.left and + // node.style.top. The offset is always (2, 2) in LTR direction. + // When the body is in RTL direction, the offset counts the width + // of left scroll bar's width. This function computes the actual + // offset. + + //NOTE: assumes we're being called in an IE browser + + doc = doc || win.doc; + var de = doc.documentElement; // only deal with HTML element here, position() handles body/quirks + + if(has("ie") < 8){ + var r = de.getBoundingClientRect(), // works well for IE6+ + l = r.left, t = r.top; + if(has("ie") < 7){ + l += de.clientLeft; // scrollbar size in strict/RTL, or, + t += de.clientTop; // HTML border size in strict + } + return { + x: l < 0 ? 0 : l, // FRAME element border size can lead to inaccurate negative values + y: t < 0 ? 0 : t + }; + }else{ + return { + x: 0, + y: 0 + }; + } + }; + } + + geom.fixIeBiDiScrollLeft = function fixIeBiDiScrollLeft(/*Integer*/ scrollLeft, /*Document?*/ doc){ + // summary: + // In RTL direction, scrollLeft should be a negative value, but IE + // returns a positive one. All codes using documentElement.scrollLeft + // must call this function to fix this error, otherwise the position + // will offset to right when there is a horizontal scrollbar. + // scrollLeft: Number + // doc: Document? + // Optional document to query. If unspecified, use win.doc. + // returns: Number + + // In RTL direction, scrollLeft should be a negative value, but IE + // returns a positive one. All codes using documentElement.scrollLeft + // must call this function to fix this error, otherwise the position + // will offset to right when there is a horizontal scrollbar. + + doc = doc || win.doc; + var ie = has("ie"); + if(ie && !geom.isBodyLtr(doc)){ + var qk = has("quirks"), + de = qk ? win.body(doc) : doc.documentElement, + pwin = win.global; // TODO: use winUtils.get(doc) after resolving circular dependency b/w dom-geometry.js and dojo/window.js + if(ie == 6 && !qk && pwin.frameElement && de.scrollHeight > de.clientHeight){ + scrollLeft += de.clientLeft; // workaround ie6+strict+rtl+iframe+vertical-scrollbar bug where clientWidth is too small by clientLeft pixels + } + return (ie < 8 || qk) ? (scrollLeft + de.clientWidth - de.scrollWidth) : -scrollLeft; // Integer + } + return scrollLeft; // Integer + }; + + geom.position = function(/*DomNode*/ node, /*Boolean?*/ includeScroll){ + // summary: + // Gets the position and size of the passed element relative to + // the viewport (if includeScroll==false), or relative to the + // document root (if includeScroll==true). + // + // description: + // Returns an object of the form: + // `{ x: 100, y: 300, w: 20, h: 15 }`. + // If includeScroll==true, the x and y values will include any + // document offsets that may affect the position relative to the + // viewport. + // Uses the border-box model (inclusive of border and padding but + // not margin). Does not act as a setter. + // node: DOMNode|String + // includeScroll: Boolean? + // returns: Object + + node = dom.byId(node); + var db = win.body(node.ownerDocument), + ret = node.getBoundingClientRect(); + ret = {x: ret.left, y: ret.top, w: ret.right - ret.left, h: ret.bottom - ret.top}; + + if(has("ie")){ + // On IE there's a 2px offset that we need to adjust for, see dojo.getIeDocumentElementOffset() + var offset = geom.getIeDocumentElementOffset(node.ownerDocument); + + // fixes the position in IE, quirks mode + ret.x -= offset.x + (has("quirks") ? db.clientLeft + db.offsetLeft : 0); + ret.y -= offset.y + (has("quirks") ? db.clientTop + db.offsetTop : 0); + } + + // account for document scrolling + // if offsetParent is used, ret value already includes scroll position + // so we may have to actually remove that value if !includeScroll + if(includeScroll){ + var scroll = geom.docScroll(node.ownerDocument); + ret.x += scroll.x; + ret.y += scroll.y; + } + + return ret; // Object + }; + + // random "private" functions wildly used throughout the toolkit + + geom.getMarginSize = function getMarginSize(/*DomNode*/ node, /*Object*/ computedStyle){ + // summary: + // returns an object that encodes the width and height of + // the node's margin box + // node: DOMNode|String + // computedStyle: Object? + // This parameter accepts computed styles object. + // If this parameter is omitted, the functions will call + // dojo.getComputedStyle to get one. It is a better way, calling + // dojo.computedStyle once, and then pass the reference to this + // computedStyle parameter. Wherever possible, reuse the returned + // object of dojo/dom-style.getComputedStyle(). + + node = dom.byId(node); + var me = geom.getMarginExtents(node, computedStyle || style.getComputedStyle(node)); + var size = node.getBoundingClientRect(); + return { + w: (size.right - size.left) + me.w, + h: (size.bottom - size.top) + me.h + }; + }; + + geom.normalizeEvent = function(event){ + // summary: + // Normalizes the geometry of a DOM event, normalizing the pageX, pageY, + // offsetX, offsetY, layerX, and layerX properties + // event: Object + if(!("layerX" in event)){ + event.layerX = event.offsetX; + event.layerY = event.offsetY; + } + if(!has("dom-addeventlistener")){ + // old IE version + // FIXME: scroll position query is duped from dojo.html to + // avoid dependency on that entire module. Now that HTML is in + // Base, we should convert back to something similar there. + var se = event.target; + var doc = (se && se.ownerDocument) || document; + // DO NOT replace the following to use dojo.body(), in IE, document.documentElement should be used + // here rather than document.body + var docBody = has("quirks") ? doc.body : doc.documentElement; + var offset = geom.getIeDocumentElementOffset(doc); + event.pageX = event.clientX + geom.fixIeBiDiScrollLeft(docBody.scrollLeft || 0, doc) - offset.x; + event.pageY = event.clientY + (docBody.scrollTop || 0) - offset.y; + } + }; + + // TODO: evaluate separate getters/setters for position and sizes? + + return geom; +}); + +}, +'dojo/dom-prop':function(){ +define(["exports", "./_base/kernel", "./sniff", "./_base/lang", "./dom", "./dom-style", "./dom-construct", "./_base/connect"], + function(exports, dojo, has, lang, dom, style, ctr, conn){ + // module: + // dojo/dom-prop + // summary: + // This module defines the core dojo DOM properties API. + // Indirectly depends on dojo.empty() and dojo.toDom(). + + // TODOC: summary not showing up in output, see https://github.com/csnover/js-doc-parse/issues/42 + + // ============================= + // Element properties Functions + // ============================= + + // helper to connect events + var _evtHdlrMap = {}, _ctr = 0, _attrId = dojo._scopeName + "attrid"; + + exports.names = { + // properties renamed to avoid clashes with reserved words + "class": "className", + "for": "htmlFor", + // properties written as camelCase + tabindex: "tabIndex", + readonly: "readOnly", + colspan: "colSpan", + frameborder: "frameBorder", + rowspan: "rowSpan", + valuetype: "valueType" + }; + + exports.get = function getProp(/*DOMNode|String*/ node, /*String*/ name){ + // summary: + // Gets a property on an HTML element. + // description: + // Handles normalized getting of properties on DOM nodes. + // + // node: DOMNode|String + // id or reference to the element to get the property on + // name: String + // the name of the property to get. + // returns: + // the value of the requested property or its default value + // + // example: + // | // get the current value of the "foo" property on a node + // | dojo.getProp(dojo.byId("nodeId"), "foo"); + // | // or we can just pass the id: + // | dojo.getProp("nodeId", "foo"); + + node = dom.byId(node); + var lc = name.toLowerCase(), propName = exports.names[lc] || name; + return node[propName]; // Anything + }; + + exports.set = function setProp(/*DOMNode|String*/ node, /*String|Object*/ name, /*String?*/ value){ + // summary: + // Sets a property on an HTML element. + // description: + // Handles normalized setting of properties on DOM nodes. + // + // When passing functions as values, note that they will not be + // directly assigned to slots on the node, but rather the default + // behavior will be removed and the new behavior will be added + // using `dojo.connect()`, meaning that event handler properties + // will be normalized and that some caveats with regards to + // non-standard behaviors for onsubmit apply. Namely that you + // should cancel form submission using `dojo.stopEvent()` on the + // passed event object instead of returning a boolean value from + // the handler itself. + // node: DOMNode|String + // id or reference to the element to set the property on + // name: String|Object + // the name of the property to set, or a hash object to set + // multiple properties at once. + // value: String? + // The value to set for the property + // returns: + // the DOM node + // + // example: + // | // use prop() to set the tab index + // | dojo.setProp("nodeId", "tabIndex", 3); + // | + // + // example: + // Set multiple values at once, including event handlers: + // | dojo.setProp("formId", { + // | "foo": "bar", + // | "tabIndex": -1, + // | "method": "POST", + // | "onsubmit": function(e){ + // | // stop submitting the form. Note that the IE behavior + // | // of returning true or false will have no effect here + // | // since our handler is connect()ed to the built-in + // | // onsubmit behavior and so we need to use + // | // dojo.stopEvent() to ensure that the submission + // | // doesn't proceed. + // | dojo.stopEvent(e); + // | + // | // submit the form with Ajax + // | dojo.xhrPost({ form: "formId" }); + // | } + // | }); + // + // example: + // Style is s special case: Only set with an object hash of styles + // | dojo.setProp("someNode",{ + // | id:"bar", + // | style:{ + // | width:"200px", height:"100px", color:"#000" + // | } + // | }); + // + // example: + // Again, only set style as an object hash of styles: + // | var obj = { color:"#fff", backgroundColor:"#000" }; + // | dojo.setProp("someNode", "style", obj); + // | + // | // though shorter to use `dojo.style()` in this case: + // | dojo.style("someNode", obj); + + node = dom.byId(node); + var l = arguments.length; + if(l == 2 && typeof name != "string"){ // inline'd type check + // the object form of setter: the 2nd argument is a dictionary + for(var x in name){ + exports.set(node, x, name[x]); + } + return node; // DomNode + } + var lc = name.toLowerCase(), propName = exports.names[lc] || name; + if(propName == "style" && typeof value != "string"){ // inline'd type check + // special case: setting a style + style.set(node, value); + return node; // DomNode + } + if(propName == "innerHTML"){ + // special case: assigning HTML + // the hash lists elements with read-only innerHTML on IE + if(has("ie") && node.tagName.toLowerCase() in {col: 1, colgroup: 1, + table: 1, tbody: 1, tfoot: 1, thead: 1, tr: 1, title: 1}){ + ctr.empty(node); + node.appendChild(ctr.toDom(value, node.ownerDocument)); + }else{ + node[propName] = value; + } + return node; // DomNode + } + if(lang.isFunction(value)){ + // special case: assigning an event handler + // clobber if we can + var attrId = node[_attrId]; + if(!attrId){ + attrId = _ctr++; + node[_attrId] = attrId; + } + if(!_evtHdlrMap[attrId]){ + _evtHdlrMap[attrId] = {}; + } + var h = _evtHdlrMap[attrId][propName]; + if(h){ + //h.remove(); + conn.disconnect(h); + }else{ + try{ + delete node[propName]; + }catch(e){} + } + // ensure that event objects are normalized, etc. + if(value){ + //_evtHdlrMap[attrId][propName] = on(node, propName, value); + _evtHdlrMap[attrId][propName] = conn.connect(node, propName, value); + }else{ + node[propName] = null; + } + return node; // DomNode + } + node[propName] = value; + return node; // DomNode + }; +}); + +}, +'dojo/when':function(){ +define([ + "./Deferred", + "./promise/Promise" +], function(Deferred, Promise){ + "use strict"; + + // module: + // dojo/when + + return function when(valueOrPromise, callback, errback, progback){ + // summary: + // Transparently applies callbacks to values and/or promises. + // description: + // Accepts promises but also transparently handles non-promises. If no + // callbacks are provided returns a promise, regardless of the initial + // value. Foreign promises are converted. + // + // If callbacks are provided and the initial value is not a promise, + // the callback is executed immediately with no error handling. Returns + // a promise if the initial value is a promise, or the result of the + // callback otherwise. + // valueOrPromise: + // Either a regular value or an object with a `then()` method that + // follows the Promises/A specification. + // callback: Function? + // Callback to be invoked when the promise is resolved, or a non-promise + // is received. + // errback: Function? + // Callback to be invoked when the promise is rejected. + // progback: Function? + // Callback to be invoked when the promise emits a progress update. + // returns: dojo/promise/Promise + // Promise, or if a callback is provided, the result of the callback. + + var receivedPromise = valueOrPromise && typeof valueOrPromise.then === "function"; + var nativePromise = receivedPromise && valueOrPromise instanceof Promise; + + if(!receivedPromise){ + if(callback){ + return callback(valueOrPromise); + }else{ + return new Deferred().resolve(valueOrPromise); + } + }else if(!nativePromise){ + var deferred = new Deferred(valueOrPromise.cancel); + valueOrPromise.then(deferred.resolve, deferred.reject, deferred.progress); + valueOrPromise = deferred.promise; + } + + if(callback || errback || progback){ + return valueOrPromise.then(callback, errback, progback); + } + return valueOrPromise; + }; +}); + +}, +'dojo/dom-attr':function(){ +define(["exports", "./sniff", "./_base/lang", "./dom", "./dom-style", "./dom-prop"], + function(exports, has, lang, dom, style, prop){ + // module: + // dojo/dom-attr + // summary: + // This module defines the core dojo DOM attributes API. + + // TODOC: summary not showing up in output see https://github.com/csnover/js-doc-parse/issues/42 + + // ============================= + // Element attribute Functions + // ============================= + + // This module will be obsolete soon. Use dojo/prop instead. + + // dojo.attr() should conform to http://www.w3.org/TR/DOM-Level-2-Core/ + + // attribute-related functions (to be obsolete soon) + + var forcePropNames = { + innerHTML: 1, + className: 1, + htmlFor: has("ie"), + value: 1 + }, + attrNames = { + // original attribute names + classname: "class", + htmlfor: "for", + // for IE + tabindex: "tabIndex", + readonly: "readOnly" + }; + + function _hasAttr(node, name){ + var attr = node.getAttributeNode && node.getAttributeNode(name); + return attr && attr.specified; // Boolean + } + + // There is a difference in the presence of certain properties and their default values + // between browsers. For example, on IE "disabled" is present on all elements, + // but it is value is "false"; "tabIndex" of
    returns 0 by default on IE, yet other browsers + // can return -1. + + exports.has = function hasAttr(/*DOMNode|String*/ node, /*String*/ name){ + // summary: + // Returns true if the requested attribute is specified on the + // given element, and false otherwise. + // node: DOMNode|String + // id or reference to the element to check + // name: String + // the name of the attribute + // returns: Boolean + // true if the requested attribute is specified on the + // given element, and false otherwise + + var lc = name.toLowerCase(); + return forcePropNames[prop.names[lc] || name] || _hasAttr(dom.byId(node), attrNames[lc] || name); // Boolean + }; + + exports.get = function getAttr(/*DOMNode|String*/ node, /*String*/ name){ + // summary: + // Gets an attribute on an HTML element. + // description: + // Handles normalized getting of attributes on DOM Nodes. + // node: DOMNode|String + // id or reference to the element to get the attribute on + // name: String + // the name of the attribute to get. + // returns: + // the value of the requested attribute or null if that attribute does not have a specified or + // default value; + // + // example: + // | // get the current value of the "foo" attribute on a node + // | dojo.getAttr(dojo.byId("nodeId"), "foo"); + // | // or we can just pass the id: + // | dojo.getAttr("nodeId", "foo"); + + node = dom.byId(node); + var lc = name.toLowerCase(), + propName = prop.names[lc] || name, + forceProp = forcePropNames[propName], + value = node[propName]; // should we access this attribute via a property or via getAttribute()? + + if(forceProp && typeof value != "undefined"){ + // node's property + return value; // Anything + } + if(propName != "href" && (typeof value == "boolean" || lang.isFunction(value))){ + // node's property + return value; // Anything + } + // node's attribute + // we need _hasAttr() here to guard against IE returning a default value + var attrName = attrNames[lc] || name; + return _hasAttr(node, attrName) ? node.getAttribute(attrName) : null; // Anything + }; + + exports.set = function setAttr(/*DOMNode|String*/ node, /*String|Object*/ name, /*String?*/ value){ + // summary: + // Sets an attribute on an HTML element. + // description: + // Handles normalized setting of attributes on DOM Nodes. + // + // When passing functions as values, note that they will not be + // directly assigned to slots on the node, but rather the default + // behavior will be removed and the new behavior will be added + // using `dojo.connect()`, meaning that event handler properties + // will be normalized and that some caveats with regards to + // non-standard behaviors for onsubmit apply. Namely that you + // should cancel form submission using `dojo.stopEvent()` on the + // passed event object instead of returning a boolean value from + // the handler itself. + // node: DOMNode|String + // id or reference to the element to set the attribute on + // name: String|Object + // the name of the attribute to set, or a hash of key-value pairs to set. + // value: String? + // the value to set for the attribute, if the name is a string. + // returns: + // the DOM node + // + // example: + // | // use attr() to set the tab index + // | dojo.setAttr("nodeId", "tabIndex", 3); + // + // example: + // Set multiple values at once, including event handlers: + // | dojo.setAttr("formId", { + // | "foo": "bar", + // | "tabIndex": -1, + // | "method": "POST", + // | "onsubmit": function(e){ + // | // stop submitting the form. Note that the IE behavior + // | // of returning true or false will have no effect here + // | // since our handler is connect()ed to the built-in + // | // onsubmit behavior and so we need to use + // | // dojo.stopEvent() to ensure that the submission + // | // doesn't proceed. + // | dojo.stopEvent(e); + // | + // | // submit the form with Ajax + // | dojo.xhrPost({ form: "formId" }); + // | } + // | }); + // + // example: + // Style is s special case: Only set with an object hash of styles + // | dojo.setAttr("someNode",{ + // | id:"bar", + // | style:{ + // | width:"200px", height:"100px", color:"#000" + // | } + // | }); + // + // example: + // Again, only set style as an object hash of styles: + // | var obj = { color:"#fff", backgroundColor:"#000" }; + // | dojo.setAttr("someNode", "style", obj); + // | + // | // though shorter to use `dojo.style()` in this case: + // | dojo.setStyle("someNode", obj); + + node = dom.byId(node); + if(arguments.length == 2){ // inline'd type check + // the object form of setter: the 2nd argument is a dictionary + for(var x in name){ + exports.set(node, x, name[x]); + } + return node; // DomNode + } + var lc = name.toLowerCase(), + propName = prop.names[lc] || name, + forceProp = forcePropNames[propName]; + if(propName == "style" && typeof value != "string"){ // inline'd type check + // special case: setting a style + style.set(node, value); + return node; // DomNode + } + if(forceProp || typeof value == "boolean" || lang.isFunction(value)){ + return prop.set(node, name, value); + } + // node's attribute + node.setAttribute(attrNames[lc] || name, value); + return node; // DomNode + }; + + exports.remove = function removeAttr(/*DOMNode|String*/ node, /*String*/ name){ + // summary: + // Removes an attribute from an HTML element. + // node: DOMNode|String + // id or reference to the element to remove the attribute from + // name: String + // the name of the attribute to remove + + dom.byId(node).removeAttribute(attrNames[name.toLowerCase()] || name); + }; + + exports.getNodeProp = function getNodeProp(/*DomNode|String*/ node, /*String*/ name){ + // summary: + // Returns an effective value of a property or an attribute. + // node: DOMNode|String + // id or reference to the element to remove the attribute from + // name: String + // the name of the attribute + // returns: + // the value of the attribute + + node = dom.byId(node); + var lc = name.toLowerCase(), propName = prop.names[lc] || name; + if((propName in node) && propName != "href"){ + // node's property + return node[propName]; // Anything + } + // node's attribute + var attrName = attrNames[lc] || name; + return _hasAttr(node, attrName) ? node.getAttribute(attrName) : null; // Anything + }; +}); + +}, +'dojo/dom-construct':function(){ +define(["exports", "./_base/kernel", "./sniff", "./_base/window", "./dom", "./dom-attr", "./on"], + function(exports, dojo, has, win, dom, attr, on){ + // module: + // dojo/dom-construct + // summary: + // This module defines the core dojo DOM construction API. + + // TODOC: summary not showing up in output, see https://github.com/csnover/js-doc-parse/issues/42 + + // support stuff for toDom() + var tagWrap = { + option: ["select"], + tbody: ["table"], + thead: ["table"], + tfoot: ["table"], + tr: ["table", "tbody"], + td: ["table", "tbody", "tr"], + th: ["table", "thead", "tr"], + legend: ["fieldset"], + caption: ["table"], + colgroup: ["table"], + col: ["table", "colgroup"], + li: ["ul"] + }, + reTag = /<\s*([\w\:]+)/, + masterNode = {}, masterNum = 0, + masterName = "__" + dojo._scopeName + "ToDomId"; + + // generate start/end tag strings to use + // for the injection for each special tag wrap case. + for(var param in tagWrap){ + if(tagWrap.hasOwnProperty(param)){ + var tw = tagWrap[param]; + tw.pre = param == "option" ? '"; + + all = div.getElementsByTagName("*"); + a = div.getElementsByTagName("a")[ 0 ]; + a.style.cssText = "top:1px;float:left;opacity:.5"; + + // Can't get basic test support + if ( !all || !all.length ) { + return {}; + } + + // First batch of supports tests + select = document.createElement("select"); + opt = select.appendChild( document.createElement("option") ); + input = div.getElementsByTagName("input")[ 0 ]; + + support = { + // IE strips leading whitespace when .innerHTML is used + leadingWhitespace: ( div.firstChild.nodeType === 3 ), + + // Make sure that tbody elements aren't automatically inserted + // IE will insert them into empty tables + tbody: !div.getElementsByTagName("tbody").length, + + // Make sure that link elements get serialized correctly by innerHTML + // This requires a wrapper element in IE + htmlSerialize: !!div.getElementsByTagName("link").length, + + // Get the style information from getAttribute + // (IE uses .cssText instead) + style: /top/.test( a.getAttribute("style") ), + + // Make sure that URLs aren't manipulated + // (IE normalizes it by default) + hrefNormalized: ( a.getAttribute("href") === "/a" ), + + // Make sure that element opacity exists + // (IE uses filter instead) + // Use a regex to work around a WebKit issue. See #5145 + opacity: /^0.5/.test( a.style.opacity ), + + // Verify style float existence + // (IE uses styleFloat instead of cssFloat) + cssFloat: !!a.style.cssFloat, + + // Make sure that if no value is specified for a checkbox + // that it defaults to "on". + // (WebKit defaults to "" instead) + checkOn: ( input.value === "on" ), + + // Make sure that a selected-by-default option has a working selected property. + // (WebKit defaults to false instead of true, IE too, if it's in an optgroup) + optSelected: opt.selected, + + // Test setAttribute on camelCase class. If it works, we need attrFixes when doing get/setAttribute (ie6/7) + getSetAttribute: div.className !== "t", + + // Tests for enctype support on a form(#6743) + enctype: !!document.createElement("form").enctype, + + // Makes sure cloning an html5 element does not cause problems + // Where outerHTML is undefined, this still works + html5Clone: document.createElement("nav").cloneNode( true ).outerHTML !== "<:nav>", + + // jQuery.support.boxModel DEPRECATED in 1.8 since we don't support Quirks Mode + boxModel: ( document.compatMode === "CSS1Compat" ), + + // Will be defined later + submitBubbles: true, + changeBubbles: true, + focusinBubbles: false, + deleteExpando: true, + noCloneEvent: true, + inlineBlockNeedsLayout: false, + shrinkWrapBlocks: false, + reliableMarginRight: true, + boxSizingReliable: true, + pixelPosition: false + }; + + // Make sure checked status is properly cloned + input.checked = true; + support.noCloneChecked = input.cloneNode( true ).checked; + + // Make sure that the options inside disabled selects aren't marked as disabled + // (WebKit marks them as disabled) + select.disabled = true; + support.optDisabled = !opt.disabled; + + // Test to see if it's possible to delete an expando from an element + // Fails in Internet Explorer + try { + delete div.test; + } catch( e ) { + support.deleteExpando = false; + } + + if ( !div.addEventListener && div.attachEvent && div.fireEvent ) { + div.attachEvent( "onclick", clickFn = function() { + // Cloning a node shouldn't copy over any + // bound event handlers (IE does this) + support.noCloneEvent = false; + }); + div.cloneNode( true ).fireEvent("onclick"); + div.detachEvent( "onclick", clickFn ); + } + + // Check if a radio maintains its value + // after being appended to the DOM + input = document.createElement("input"); + input.value = "t"; + input.setAttribute( "type", "radio" ); + support.radioValue = input.value === "t"; + + input.setAttribute( "checked", "checked" ); + + // #11217 - WebKit loses check when the name is after the checked attribute + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + fragment = document.createDocumentFragment(); + fragment.appendChild( div.lastChild ); + + // WebKit doesn't clone checked state correctly in fragments + support.checkClone = fragment.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Check if a disconnected checkbox will retain its checked + // value of true after appended to the DOM (IE6/7) + support.appendChecked = input.checked; + + fragment.removeChild( input ); + fragment.appendChild( div ); + + // Technique from Juriy Zaytsev + // http://perfectionkills.com/detecting-event-support-without-browser-sniffing/ + // We only care about the case where non-standard event systems + // are used, namely in IE. Short-circuiting here helps us to + // avoid an eval call (in setAttribute) which can cause CSP + // to go haywire. See: https://developer.mozilla.org/en/Security/CSP + if ( div.attachEvent ) { + for ( i in { + submit: true, + change: true, + focusin: true + }) { + eventName = "on" + i; + isSupported = ( eventName in div ); + if ( !isSupported ) { + div.setAttribute( eventName, "return;" ); + isSupported = ( typeof div[ eventName ] === "function" ); + } + support[ i + "Bubbles" ] = isSupported; + } + } + + // Run tests that need a body at doc ready + jQuery(function() { + var container, div, tds, marginDiv, + divReset = "padding:0;margin:0;border:0;display:block;overflow:hidden;", + body = document.getElementsByTagName("body")[0]; + + if ( !body ) { + // Return for frameset docs that don't have a body + return; + } + + container = document.createElement("div"); + container.style.cssText = "visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px"; + body.insertBefore( container, body.firstChild ); + + // Construct the test element + div = document.createElement("div"); + container.appendChild( div ); + + // Check if table cells still have offsetWidth/Height when they are set + // to display:none and there are still other visible table cells in a + // table row; if so, offsetWidth/Height are not reliable for use when + // determining if an element has been hidden directly using + // display:none (it is still safe to use offsets if a parent element is + // hidden; don safety goggles and see bug #4512 for more information). + // (only IE 8 fails this test) + div.innerHTML = "
    t
    "; + tds = div.getElementsByTagName("td"); + tds[ 0 ].style.cssText = "padding:0;margin:0;border:0;display:none"; + isSupported = ( tds[ 0 ].offsetHeight === 0 ); + + tds[ 0 ].style.display = ""; + tds[ 1 ].style.display = "none"; + + // Check if empty table cells still have offsetWidth/Height + // (IE <= 8 fail this test) + support.reliableHiddenOffsets = isSupported && ( tds[ 0 ].offsetHeight === 0 ); + + // Check box-sizing and margin behavior + div.innerHTML = ""; + div.style.cssText = "box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;"; + support.boxSizing = ( div.offsetWidth === 4 ); + support.doesNotIncludeMarginInBodyOffset = ( body.offsetTop !== 1 ); + + // NOTE: To any future maintainer, we've window.getComputedStyle + // because jsdom on node.js will break without it. + if ( window.getComputedStyle ) { + support.pixelPosition = ( window.getComputedStyle( div, null ) || {} ).top !== "1%"; + support.boxSizingReliable = ( window.getComputedStyle( div, null ) || { width: "4px" } ).width === "4px"; + + // Check if div with explicit width and no margin-right incorrectly + // gets computed margin-right based on width of container. For more + // info see bug #3333 + // Fails in WebKit before Feb 2011 nightlies + // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right + marginDiv = document.createElement("div"); + marginDiv.style.cssText = div.style.cssText = divReset; + marginDiv.style.marginRight = marginDiv.style.width = "0"; + div.style.width = "1px"; + div.appendChild( marginDiv ); + support.reliableMarginRight = + !parseFloat( ( window.getComputedStyle( marginDiv, null ) || {} ).marginRight ); + } + + if ( typeof div.style.zoom !== "undefined" ) { + // Check if natively block-level elements act like inline-block + // elements when setting their display to 'inline' and giving + // them layout + // (IE < 8 does this) + div.innerHTML = ""; + div.style.cssText = divReset + "width:1px;padding:1px;display:inline;zoom:1"; + support.inlineBlockNeedsLayout = ( div.offsetWidth === 3 ); + + // Check if elements with layout shrink-wrap their children + // (IE 6 does this) + div.style.display = "block"; + div.style.overflow = "visible"; + div.innerHTML = "
    "; + div.firstChild.style.width = "5px"; + support.shrinkWrapBlocks = ( div.offsetWidth !== 3 ); + + container.style.zoom = 1; + } + + // Null elements to avoid leaks in IE + body.removeChild( container ); + container = div = tds = marginDiv = null; + }); + + // Null elements to avoid leaks in IE + fragment.removeChild( div ); + all = a = select = opt = input = fragment = div = null; + + return support; +})(); +var rbrace = /(?:\{[\s\S]*\}|\[[\s\S]*\])$/, + rmultiDash = /([A-Z])/g; + +jQuery.extend({ + cache: {}, + + deletedIds: [], + + // Remove at next major release (1.9/2.0) + uuid: 0, + + // Unique for each copy of jQuery on the page + // Non-digits removed to match rinlinejQuery + expando: "jQuery" + ( jQuery.fn.jquery + Math.random() ).replace( /\D/g, "" ), + + // The following elements throw uncatchable exceptions if you + // attempt to add expando properties to them. + noData: { + "embed": true, + // Ban all objects except for Flash (which handle expandos) + "object": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000", + "applet": true + }, + + hasData: function( elem ) { + elem = elem.nodeType ? jQuery.cache[ elem[jQuery.expando] ] : elem[ jQuery.expando ]; + return !!elem && !isEmptyDataObject( elem ); + }, + + data: function( elem, name, data, pvt /* Internal Use Only */ ) { + if ( !jQuery.acceptData( elem ) ) { + return; + } + + var thisCache, ret, + internalKey = jQuery.expando, + getByName = typeof name === "string", + + // We have to handle DOM nodes and JS objects differently because IE6-7 + // can't GC object references properly across the DOM-JS boundary + isNode = elem.nodeType, + + // Only DOM nodes need the global jQuery cache; JS object data is + // attached directly to the object so GC can occur automatically + cache = isNode ? jQuery.cache : elem, + + // Only defining an ID for JS objects if its cache already exists allows + // the code to shortcut on the same path as a DOM node with no cache + id = isNode ? elem[ internalKey ] : elem[ internalKey ] && internalKey; + + // Avoid doing any more work than we need to when trying to get data on an + // object that has no data at all + if ( (!id || !cache[id] || (!pvt && !cache[id].data)) && getByName && data === undefined ) { + return; + } + + if ( !id ) { + // Only DOM nodes need a new unique ID for each element since their data + // ends up in the global cache + if ( isNode ) { + elem[ internalKey ] = id = jQuery.deletedIds.pop() || jQuery.guid++; + } else { + id = internalKey; + } + } + + if ( !cache[ id ] ) { + cache[ id ] = {}; + + // Avoids exposing jQuery metadata on plain JS objects when the object + // is serialized using JSON.stringify + if ( !isNode ) { + cache[ id ].toJSON = jQuery.noop; + } + } + + // An object can be passed to jQuery.data instead of a key/value pair; this gets + // shallow copied over onto the existing cache + if ( typeof name === "object" || typeof name === "function" ) { + if ( pvt ) { + cache[ id ] = jQuery.extend( cache[ id ], name ); + } else { + cache[ id ].data = jQuery.extend( cache[ id ].data, name ); + } + } + + thisCache = cache[ id ]; + + // jQuery data() is stored in a separate object inside the object's internal data + // cache in order to avoid key collisions between internal data and user-defined + // data. + if ( !pvt ) { + if ( !thisCache.data ) { + thisCache.data = {}; + } + + thisCache = thisCache.data; + } + + if ( data !== undefined ) { + thisCache[ jQuery.camelCase( name ) ] = data; + } + + // Check for both converted-to-camel and non-converted data property names + // If a data property was specified + if ( getByName ) { + + // First Try to find as-is property data + ret = thisCache[ name ]; + + // Test for null|undefined property data + if ( ret == null ) { + + // Try to find the camelCased property + ret = thisCache[ jQuery.camelCase( name ) ]; + } + } else { + ret = thisCache; + } + + return ret; + }, + + removeData: function( elem, name, pvt /* Internal Use Only */ ) { + if ( !jQuery.acceptData( elem ) ) { + return; + } + + var thisCache, i, l, + + isNode = elem.nodeType, + + // See jQuery.data for more information + cache = isNode ? jQuery.cache : elem, + id = isNode ? elem[ jQuery.expando ] : jQuery.expando; + + // If there is already no cache entry for this object, there is no + // purpose in continuing + if ( !cache[ id ] ) { + return; + } + + if ( name ) { + + thisCache = pvt ? cache[ id ] : cache[ id ].data; + + if ( thisCache ) { + + // Support array or space separated string names for data keys + if ( !jQuery.isArray( name ) ) { + + // try the string as a key before any manipulation + if ( name in thisCache ) { + name = [ name ]; + } else { + + // split the camel cased version by spaces unless a key with the spaces exists + name = jQuery.camelCase( name ); + if ( name in thisCache ) { + name = [ name ]; + } else { + name = name.split(" "); + } + } + } + + for ( i = 0, l = name.length; i < l; i++ ) { + delete thisCache[ name[i] ]; + } + + // If there is no data left in the cache, we want to continue + // and let the cache object itself get destroyed + if ( !( pvt ? isEmptyDataObject : jQuery.isEmptyObject )( thisCache ) ) { + return; + } + } + } + + // See jQuery.data for more information + if ( !pvt ) { + delete cache[ id ].data; + + // Don't destroy the parent cache unless the internal data object + // had been the only thing left in it + if ( !isEmptyDataObject( cache[ id ] ) ) { + return; + } + } + + // Destroy the cache + if ( isNode ) { + jQuery.cleanData( [ elem ], true ); + + // Use delete when supported for expandos or `cache` is not a window per isWindow (#10080) + } else if ( jQuery.support.deleteExpando || cache != cache.window ) { + delete cache[ id ]; + + // When all else fails, null + } else { + cache[ id ] = null; + } + }, + + // For internal use only. + _data: function( elem, name, data ) { + return jQuery.data( elem, name, data, true ); + }, + + // A method for determining if a DOM node can handle the data expando + acceptData: function( elem ) { + var noData = elem.nodeName && jQuery.noData[ elem.nodeName.toLowerCase() ]; + + // nodes accept data unless otherwise specified; rejection can be conditional + return !noData || noData !== true && elem.getAttribute("classid") === noData; + } +}); + +jQuery.fn.extend({ + data: function( key, value ) { + var parts, part, attr, name, l, + elem = this[0], + i = 0, + data = null; + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = jQuery.data( elem ); + + if ( elem.nodeType === 1 && !jQuery._data( elem, "parsedAttrs" ) ) { + attr = elem.attributes; + for ( l = attr.length; i < l; i++ ) { + name = attr[i].name; + + if ( !name.indexOf( "data-" ) ) { + name = jQuery.camelCase( name.substring(5) ); + + dataAttr( elem, name, data[ name ] ); + } + } + jQuery._data( elem, "parsedAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each(function() { + jQuery.data( this, key ); + }); + } + + parts = key.split( ".", 2 ); + parts[1] = parts[1] ? "." + parts[1] : ""; + part = parts[1] + "!"; + + return jQuery.access( this, function( value ) { + + if ( value === undefined ) { + data = this.triggerHandler( "getData" + part, [ parts[0] ] ); + + // Try to fetch any internally stored data first + if ( data === undefined && elem ) { + data = jQuery.data( elem, key ); + data = dataAttr( elem, key, data ); + } + + return data === undefined && parts[1] ? + this.data( parts[0] ) : + data; + } + + parts[1] = value; + this.each(function() { + var self = jQuery( this ); + + self.triggerHandler( "setData" + part, parts ); + jQuery.data( this, key, value ); + self.triggerHandler( "changeData" + part, parts ); + }); + }, null, value, arguments.length > 1, null, false ); + }, + + removeData: function( key ) { + return this.each(function() { + jQuery.removeData( this, key ); + }); + } +}); + +function dataAttr( elem, key, data ) { + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + + var name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase(); + + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = data === "true" ? true : + data === "false" ? false : + data === "null" ? null : + // Only convert to a number if it doesn't change the string + +data + "" === data ? +data : + rbrace.test( data ) ? jQuery.parseJSON( data ) : + data; + } catch( e ) {} + + // Make sure we set the data so it isn't changed later + jQuery.data( elem, key, data ); + + } else { + data = undefined; + } + } + + return data; +} + +// checks a cache object for emptiness +function isEmptyDataObject( obj ) { + var name; + for ( name in obj ) { + + // if the public data object is empty, the private is still empty + if ( name === "data" && jQuery.isEmptyObject( obj[name] ) ) { + continue; + } + if ( name !== "toJSON" ) { + return false; + } + } + + return true; +} +jQuery.extend({ + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = jQuery._data( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || jQuery.isArray(data) ) { + queue = jQuery._data( elem, type, jQuery.makeArray(data) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // not intended for public consumption - generates a queueHooks object, or returns the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return jQuery._data( elem, key ) || jQuery._data( elem, key, { + empty: jQuery.Callbacks("once memory").add(function() { + jQuery.removeData( elem, type + "queue", true ); + jQuery.removeData( elem, key, true ); + }) + }); + } +}); + +jQuery.fn.extend({ + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[0], type ); + } + + return data === undefined ? + this : + this.each(function() { + var queue = jQuery.queue( this, type, data ); + + // ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[0] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + }); + }, + dequeue: function( type ) { + return this.each(function() { + jQuery.dequeue( this, type ); + }); + }, + // Based off of the plugin by Clint Helfers, with permission. + // http://blindsignals.com/index.php/2009/07/jquery-delay/ + delay: function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; + type = type || "fx"; + + return this.queue( type, function( next, hooks ) { + var timeout = setTimeout( next, time ); + hooks.stop = function() { + clearTimeout( timeout ); + }; + }); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while( i-- ) { + tmp = jQuery._data( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +}); +var nodeHook, boolHook, fixSpecified, + rclass = /[\t\r\n]/g, + rreturn = /\r/g, + rtype = /^(?:button|input)$/i, + rfocusable = /^(?:button|input|object|select|textarea)$/i, + rclickable = /^a(?:rea|)$/i, + rboolean = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i, + getSetAttribute = jQuery.support.getSetAttribute; + +jQuery.fn.extend({ + attr: function( name, value ) { + return jQuery.access( this, jQuery.attr, name, value, arguments.length > 1 ); + }, + + removeAttr: function( name ) { + return this.each(function() { + jQuery.removeAttr( this, name ); + }); + }, + + prop: function( name, value ) { + return jQuery.access( this, jQuery.prop, name, value, arguments.length > 1 ); + }, + + removeProp: function( name ) { + name = jQuery.propFix[ name ] || name; + return this.each(function() { + // try/catch handles cases where IE balks (such as removing a property on window) + try { + this[ name ] = undefined; + delete this[ name ]; + } catch( e ) {} + }); + }, + + addClass: function( value ) { + var classNames, i, l, elem, + setClass, c, cl; + + if ( jQuery.isFunction( value ) ) { + return this.each(function( j ) { + jQuery( this ).addClass( value.call(this, j, this.className) ); + }); + } + + if ( value && typeof value === "string" ) { + classNames = value.split( core_rspace ); + + for ( i = 0, l = this.length; i < l; i++ ) { + elem = this[ i ]; + + if ( elem.nodeType === 1 ) { + if ( !elem.className && classNames.length === 1 ) { + elem.className = value; + + } else { + setClass = " " + elem.className + " "; + + for ( c = 0, cl = classNames.length; c < cl; c++ ) { + if ( setClass.indexOf( " " + classNames[ c ] + " " ) < 0 ) { + setClass += classNames[ c ] + " "; + } + } + elem.className = jQuery.trim( setClass ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + var removes, className, elem, c, cl, i, l; + + if ( jQuery.isFunction( value ) ) { + return this.each(function( j ) { + jQuery( this ).removeClass( value.call(this, j, this.className) ); + }); + } + if ( (value && typeof value === "string") || value === undefined ) { + removes = ( value || "" ).split( core_rspace ); + + for ( i = 0, l = this.length; i < l; i++ ) { + elem = this[ i ]; + if ( elem.nodeType === 1 && elem.className ) { + + className = (" " + elem.className + " ").replace( rclass, " " ); + + // loop over each item in the removal list + for ( c = 0, cl = removes.length; c < cl; c++ ) { + // Remove until there is nothing to remove, + while ( className.indexOf(" " + removes[ c ] + " ") >= 0 ) { + className = className.replace( " " + removes[ c ] + " " , " " ); + } + } + elem.className = value ? jQuery.trim( className ) : ""; + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value, + isBool = typeof stateVal === "boolean"; + + if ( jQuery.isFunction( value ) ) { + return this.each(function( i ) { + jQuery( this ).toggleClass( value.call(this, i, this.className, stateVal), stateVal ); + }); + } + + return this.each(function() { + if ( type === "string" ) { + // toggle individual class names + var className, + i = 0, + self = jQuery( this ), + state = stateVal, + classNames = value.split( core_rspace ); + + while ( (className = classNames[ i++ ]) ) { + // check each className given, space separated list + state = isBool ? state : !self.hasClass( className ); + self[ state ? "addClass" : "removeClass" ]( className ); + } + + } else if ( type === "undefined" || type === "boolean" ) { + if ( this.className ) { + // store className if set + jQuery._data( this, "__className__", this.className ); + } + + // toggle whole className + this.className = this.className || value === false ? "" : jQuery._data( this, "__className__" ) || ""; + } + }); + }, + + hasClass: function( selector ) { + var className = " " + selector + " ", + i = 0, + l = this.length; + for ( ; i < l; i++ ) { + if ( this[i].nodeType === 1 && (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) >= 0 ) { + return true; + } + } + + return false; + }, + + val: function( value ) { + var hooks, ret, isFunction, + elem = this[0]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.type ] || jQuery.valHooks[ elem.nodeName.toLowerCase() ]; + + if ( hooks && "get" in hooks && (ret = hooks.get( elem, "value" )) !== undefined ) { + return ret; + } + + ret = elem.value; + + return typeof ret === "string" ? + // handle most common string cases + ret.replace(rreturn, "") : + // handle cases where value is null/undef or number + ret == null ? "" : ret; + } + + return; + } + + isFunction = jQuery.isFunction( value ); + + return this.each(function( i ) { + var val, + self = jQuery(this); + + if ( this.nodeType !== 1 ) { + return; + } + + if ( isFunction ) { + val = value.call( this, i, self.val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + } else if ( typeof val === "number" ) { + val += ""; + } else if ( jQuery.isArray( val ) ) { + val = jQuery.map(val, function ( value ) { + return value == null ? "" : value + ""; + }); + } + + hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !("set" in hooks) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + }); + } +}); + +jQuery.extend({ + valHooks: { + option: { + get: function( elem ) { + // attributes.value is undefined in Blackberry 4.7 but + // uses .value. See #6932 + var val = elem.attributes.value; + return !val || val.specified ? elem.value : elem.text; + } + }, + select: { + get: function( elem ) { + var value, i, max, option, + index = elem.selectedIndex, + values = [], + options = elem.options, + one = elem.type === "select-one"; + + // Nothing was selected + if ( index < 0 ) { + return null; + } + + // Loop through all the selected options + i = one ? index : 0; + max = one ? index + 1 : options.length; + for ( ; i < max; i++ ) { + option = options[ i ]; + + // Don't return options that are disabled or in a disabled optgroup + if ( option.selected && (jQuery.support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null) && + (!option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" )) ) { + + // Get the specific value for the option + value = jQuery( option ).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + // Fixes Bug #2551 -- select.val() broken in IE after form.reset() + if ( one && !values.length && options.length ) { + return jQuery( options[ index ] ).val(); + } + + return values; + }, + + set: function( elem, value ) { + var values = jQuery.makeArray( value ); + + jQuery(elem).find("option").each(function() { + this.selected = jQuery.inArray( jQuery(this).val(), values ) >= 0; + }); + + if ( !values.length ) { + elem.selectedIndex = -1; + } + return values; + } + } + }, + + // Unused in 1.8, left in so attrFn-stabbers won't die; remove in 1.9 + attrFn: {}, + + attr: function( elem, name, value, pass ) { + var ret, hooks, notxml, + nType = elem.nodeType; + + // don't get/set attributes on text, comment and attribute nodes + if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + if ( pass && jQuery.isFunction( jQuery.fn[ name ] ) ) { + return jQuery( elem )[ name ]( value ); + } + + // Fallback to prop when attributes are not supported + if ( typeof elem.getAttribute === "undefined" ) { + return jQuery.prop( elem, name, value ); + } + + notxml = nType !== 1 || !jQuery.isXMLDoc( elem ); + + // All attributes are lowercase + // Grab necessary hook if one is defined + if ( notxml ) { + name = name.toLowerCase(); + hooks = jQuery.attrHooks[ name ] || ( rboolean.test( name ) ? boolHook : nodeHook ); + } + + if ( value !== undefined ) { + + if ( value === null ) { + jQuery.removeAttr( elem, name ); + return; + + } else if ( hooks && "set" in hooks && notxml && (ret = hooks.set( elem, value, name )) !== undefined ) { + return ret; + + } else { + elem.setAttribute( name, value + "" ); + return value; + } + + } else if ( hooks && "get" in hooks && notxml && (ret = hooks.get( elem, name )) !== null ) { + return ret; + + } else { + + ret = elem.getAttribute( name ); + + // Non-existent attributes return null, we normalize to undefined + return ret === null ? + undefined : + ret; + } + }, + + removeAttr: function( elem, value ) { + var propName, attrNames, name, isBool, + i = 0; + + if ( value && elem.nodeType === 1 ) { + + attrNames = value.split( core_rspace ); + + for ( ; i < attrNames.length; i++ ) { + name = attrNames[ i ]; + + if ( name ) { + propName = jQuery.propFix[ name ] || name; + isBool = rboolean.test( name ); + + // See #9699 for explanation of this approach (setting first, then removal) + // Do not do this for boolean attributes (see #10870) + if ( !isBool ) { + jQuery.attr( elem, name, "" ); + } + elem.removeAttribute( getSetAttribute ? name : propName ); + + // Set corresponding property to false for boolean attributes + if ( isBool && propName in elem ) { + elem[ propName ] = false; + } + } + } + } + }, + + attrHooks: { + type: { + set: function( elem, value ) { + // We can't allow the type property to be changed (since it causes problems in IE) + if ( rtype.test( elem.nodeName ) && elem.parentNode ) { + jQuery.error( "type property can't be changed" ); + } else if ( !jQuery.support.radioValue && value === "radio" && jQuery.nodeName(elem, "input") ) { + // Setting the type on a radio button after the value resets the value in IE6-9 + // Reset value to it's default in case type is set after value + // This is for element creation + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + }, + // Use the value property for back compat + // Use the nodeHook for button elements in IE6/7 (#1954) + value: { + get: function( elem, name ) { + if ( nodeHook && jQuery.nodeName( elem, "button" ) ) { + return nodeHook.get( elem, name ); + } + return name in elem ? + elem.value : + null; + }, + set: function( elem, value, name ) { + if ( nodeHook && jQuery.nodeName( elem, "button" ) ) { + return nodeHook.set( elem, value, name ); + } + // Does not return so that setAttribute is also used + elem.value = value; + } + } + }, + + propFix: { + tabindex: "tabIndex", + readonly: "readOnly", + "for": "htmlFor", + "class": "className", + maxlength: "maxLength", + cellspacing: "cellSpacing", + cellpadding: "cellPadding", + rowspan: "rowSpan", + colspan: "colSpan", + usemap: "useMap", + frameborder: "frameBorder", + contenteditable: "contentEditable" + }, + + prop: function( elem, name, value ) { + var ret, hooks, notxml, + nType = elem.nodeType; + + // don't get/set properties on text, comment and attribute nodes + if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + notxml = nType !== 1 || !jQuery.isXMLDoc( elem ); + + if ( notxml ) { + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + if ( hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) { + return ret; + + } else { + return ( elem[ name ] = value ); + } + + } else { + if ( hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ) { + return ret; + + } else { + return elem[ name ]; + } + } + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + // elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set + // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + var attributeNode = elem.getAttributeNode("tabindex"); + + return attributeNode && attributeNode.specified ? + parseInt( attributeNode.value, 10 ) : + rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ? + 0 : + undefined; + } + } + } +}); + +// Hook for boolean attributes +boolHook = { + get: function( elem, name ) { + // Align boolean attributes with corresponding properties + // Fall back to attribute presence where some booleans are not supported + var attrNode, + property = jQuery.prop( elem, name ); + return property === true || typeof property !== "boolean" && ( attrNode = elem.getAttributeNode(name) ) && attrNode.nodeValue !== false ? + name.toLowerCase() : + undefined; + }, + set: function( elem, value, name ) { + var propName; + if ( value === false ) { + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else { + // value is true since we know at this point it's type boolean and not false + // Set boolean attributes to the same name and set the DOM property + propName = jQuery.propFix[ name ] || name; + if ( propName in elem ) { + // Only set the IDL specifically if it already exists on the element + elem[ propName ] = true; + } + + elem.setAttribute( name, name.toLowerCase() ); + } + return name; + } +}; + +// IE6/7 do not support getting/setting some attributes with get/setAttribute +if ( !getSetAttribute ) { + + fixSpecified = { + name: true, + id: true, + coords: true + }; + + // Use this for any attribute in IE6/7 + // This fixes almost every IE6/7 issue + nodeHook = jQuery.valHooks.button = { + get: function( elem, name ) { + var ret; + ret = elem.getAttributeNode( name ); + return ret && ( fixSpecified[ name ] ? ret.value !== "" : ret.specified ) ? + ret.value : + undefined; + }, + set: function( elem, value, name ) { + // Set the existing or create a new attribute node + var ret = elem.getAttributeNode( name ); + if ( !ret ) { + ret = document.createAttribute( name ); + elem.setAttributeNode( ret ); + } + return ( ret.value = value + "" ); + } + }; + + // Set width and height to auto instead of 0 on empty string( Bug #8150 ) + // This is for removals + jQuery.each([ "width", "height" ], function( i, name ) { + jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], { + set: function( elem, value ) { + if ( value === "" ) { + elem.setAttribute( name, "auto" ); + return value; + } + } + }); + }); + + // Set contenteditable to false on removals(#10429) + // Setting to empty string throws an error as an invalid value + jQuery.attrHooks.contenteditable = { + get: nodeHook.get, + set: function( elem, value, name ) { + if ( value === "" ) { + value = "false"; + } + nodeHook.set( elem, value, name ); + } + }; +} + + +// Some attributes require a special call on IE +if ( !jQuery.support.hrefNormalized ) { + jQuery.each([ "href", "src", "width", "height" ], function( i, name ) { + jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], { + get: function( elem ) { + var ret = elem.getAttribute( name, 2 ); + return ret === null ? undefined : ret; + } + }); + }); +} + +if ( !jQuery.support.style ) { + jQuery.attrHooks.style = { + get: function( elem ) { + // Return undefined in the case of empty string + // Normalize to lowercase since IE uppercases css property names + return elem.style.cssText.toLowerCase() || undefined; + }, + set: function( elem, value ) { + return ( elem.style.cssText = value + "" ); + } + }; +} + +// Safari mis-reports the default selected property of an option +// Accessing the parent's selectedIndex property fixes it +if ( !jQuery.support.optSelected ) { + jQuery.propHooks.selected = jQuery.extend( jQuery.propHooks.selected, { + get: function( elem ) { + var parent = elem.parentNode; + + if ( parent ) { + parent.selectedIndex; + + // Make sure that it also works with optgroups, see #5701 + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + return null; + } + }); +} + +// IE6/7 call enctype encoding +if ( !jQuery.support.enctype ) { + jQuery.propFix.enctype = "encoding"; +} + +// Radios and checkboxes getter/setter +if ( !jQuery.support.checkOn ) { + jQuery.each([ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + get: function( elem ) { + // Handle the case where in Webkit "" is returned instead of "on" if a value isn't specified + return elem.getAttribute("value") === null ? "on" : elem.value; + } + }; + }); +} +jQuery.each([ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = jQuery.extend( jQuery.valHooks[ this ], { + set: function( elem, value ) { + if ( jQuery.isArray( value ) ) { + return ( elem.checked = jQuery.inArray( jQuery(elem).val(), value ) >= 0 ); + } + } + }); +}); +var rformElems = /^(?:textarea|input|select)$/i, + rtypenamespace = /^([^\.]*|)(?:\.(.+)|)$/, + rhoverHack = /(?:^|\s)hover(\.\S+|)\b/, + rkeyEvent = /^key/, + rmouseEvent = /^(?:mouse|contextmenu)|click/, + rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, + hoverHack = function( events ) { + return jQuery.event.special.hover ? events : events.replace( rhoverHack, "mouseenter$1 mouseleave$1" ); + }; + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + add: function( elem, types, handler, data, selector ) { + + var elemData, eventHandle, events, + t, tns, type, namespaces, handleObj, + handleObjIn, handlers, special; + + // Don't attach events to noData or text/comment nodes (allow plain objects tho) + if ( elem.nodeType === 3 || elem.nodeType === 8 || !types || !handler || !(elemData = jQuery._data( elem )) ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + events = elemData.events; + if ( !events ) { + elemData.events = events = {}; + } + eventHandle = elemData.handle; + if ( !eventHandle ) { + elemData.handle = eventHandle = function( e ) { + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== "undefined" && (!e || jQuery.event.triggered !== e.type) ? + jQuery.event.dispatch.apply( eventHandle.elem, arguments ) : + undefined; + }; + // Add elem as a property of the handle fn to prevent a memory leak with IE non-native events + eventHandle.elem = elem; + } + + // Handle multiple events separated by a space + // jQuery(...).bind("mouseover mouseout", fn); + types = jQuery.trim( hoverHack(types) ).split( " " ); + for ( t = 0; t < types.length; t++ ) { + + tns = rtypenamespace.exec( types[t] ) || []; + type = tns[1]; + namespaces = ( tns[2] || "" ).split( "." ).sort(); + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend({ + type: type, + origType: tns[1], + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join(".") + }, handleObjIn ); + + // Init the event handler queue if we're the first + handlers = events[ type ]; + if ( !handlers ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener/attachEvent if the special events handler returns false + if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + // Bind the global event handler to the element + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle, false ); + + } else if ( elem.attachEvent ) { + elem.attachEvent( "on" + type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + // Nullify elem to prevent memory leaks in IE + elem = null; + }, + + global: {}, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + + var t, tns, type, origType, namespaces, origCount, + j, events, special, eventType, handleObj, + elemData = jQuery.hasData( elem ) && jQuery._data( elem ); + + if ( !elemData || !(events = elemData.events) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = jQuery.trim( hoverHack( types || "" ) ).split(" "); + for ( t = 0; t < types.length; t++ ) { + tns = rtypenamespace.exec( types[t] ) || []; + type = origType = tns[1]; + namespaces = tns[2]; + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector? special.delegateType : special.bindType ) || type; + eventType = events[ type ] || []; + origCount = eventType.length; + namespaces = namespaces ? new RegExp("(^|\\.)" + namespaces.split(".").sort().join("\\.(?:.*\\.|)") + "(\\.|$)") : null; + + // Remove matching events + for ( j = 0; j < eventType.length; j++ ) { + handleObj = eventType[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !namespaces || namespaces.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || selector === "**" && handleObj.selector ) ) { + eventType.splice( j--, 1 ); + + if ( handleObj.selector ) { + eventType.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( eventType.length === 0 && origCount !== eventType.length ) { + if ( !special.teardown || special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + delete elemData.handle; + + // removeData also checks for emptiness and clears the expando if empty + // so use it instead of delete + jQuery.removeData( elem, "events", true ); + } + }, + + // Events that are safe to short-circuit if no handlers are attached. + // Native DOM events should not be added, they may have inline handlers. + customEvent: { + "getData": true, + "setData": true, + "changeData": true + }, + + trigger: function( event, data, elem, onlyHandlers ) { + // Don't do events on text and comment nodes + if ( elem && (elem.nodeType === 3 || elem.nodeType === 8) ) { + return; + } + + // Event object or event type + var cache, exclusive, i, cur, old, ontype, special, handle, eventPath, bubbleType, + type = event.type || event, + namespaces = []; + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf( "!" ) >= 0 ) { + // Exclusive events trigger only for the exact event (no namespaces) + type = type.slice(0, -1); + exclusive = true; + } + + if ( type.indexOf( "." ) >= 0 ) { + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split("."); + type = namespaces.shift(); + namespaces.sort(); + } + + if ( (!elem || jQuery.event.customEvent[ type ]) && !jQuery.event.global[ type ] ) { + // No jQuery handlers for this event type, and it can't have inline handlers + return; + } + + // Caller can pass in an Event, Object, or just an event type string + event = typeof event === "object" ? + // jQuery.Event object + event[ jQuery.expando ] ? event : + // Object literal + new jQuery.Event( type, event ) : + // Just the event type (string) + new jQuery.Event( type ); + + event.type = type; + event.isTrigger = true; + event.exclusive = exclusive; + event.namespace = namespaces.join( "." ); + event.namespace_re = event.namespace? new RegExp("(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)") : null; + ontype = type.indexOf( ":" ) < 0 ? "on" + type : ""; + + // Handle a global trigger + if ( !elem ) { + + // TODO: Stop taunting the data cache; remove global events and always attach to document + cache = jQuery.cache; + for ( i in cache ) { + if ( cache[ i ].events && cache[ i ].events[ type ] ) { + jQuery.event.trigger( event, data, cache[ i ].handle.elem, true ); + } + } + return; + } + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data != null ? jQuery.makeArray( data ) : []; + data.unshift( event ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + eventPath = [[ elem, special.bindType || type ]]; + if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + cur = rfocusMorph.test( bubbleType + type ) ? elem : elem.parentNode; + for ( old = elem; cur; cur = cur.parentNode ) { + eventPath.push([ cur, bubbleType ]); + old = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( old === (elem.ownerDocument || document) ) { + eventPath.push([ old.defaultView || old.parentWindow || window, bubbleType ]); + } + } + + // Fire handlers on the event path + for ( i = 0; i < eventPath.length && !event.isPropagationStopped(); i++ ) { + + cur = eventPath[i][0]; + event.type = eventPath[i][1]; + + handle = ( jQuery._data( cur, "events" ) || {} )[ event.type ] && jQuery._data( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + // Note that this is a bare JS function and not a jQuery handler + handle = ontype && cur[ ontype ]; + if ( handle && jQuery.acceptData( cur ) && handle.apply && handle.apply( cur, data ) === false ) { + event.preventDefault(); + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( (!special._default || special._default.apply( elem.ownerDocument, data ) === false) && + !(type === "click" && jQuery.nodeName( elem, "a" )) && jQuery.acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name name as the event. + // Can't use an .isFunction() check here because IE6/7 fails that test. + // Don't do default actions on window, that's where global variables be (#6170) + // IE<9 dies on focus/blur to hidden element (#1486) + if ( ontype && elem[ type ] && ((type !== "focus" && type !== "blur") || event.target.offsetWidth !== 0) && !jQuery.isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + old = elem[ ontype ]; + + if ( old ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + elem[ type ](); + jQuery.event.triggered = undefined; + + if ( old ) { + elem[ ontype ] = old; + } + } + } + } + + return event.result; + }, + + dispatch: function( event ) { + + // Make a writable jQuery.Event from the native event object + event = jQuery.event.fix( event || window.event ); + + var i, j, cur, ret, selMatch, matched, matches, handleObj, sel, related, + handlers = ( (jQuery._data( this, "events" ) || {} )[ event.type ] || []), + delegateCount = handlers.delegateCount, + args = core_slice.call( arguments ), + run_all = !event.exclusive && !event.namespace, + special = jQuery.event.special[ event.type ] || {}, + handlerQueue = []; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[0] = event; + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers that should run if there are delegated events + // Avoid non-left-click bubbling in Firefox (#3861) + if ( delegateCount && !(event.button && event.type === "click") ) { + + for ( cur = event.target; cur != this; cur = cur.parentNode || this ) { + + // Don't process clicks (ONLY) on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.disabled !== true || event.type !== "click" ) { + selMatch = {}; + matches = []; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + sel = handleObj.selector; + + if ( selMatch[ sel ] === undefined ) { + selMatch[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) >= 0 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( selMatch[ sel ] ) { + matches.push( handleObj ); + } + } + if ( matches.length ) { + handlerQueue.push({ elem: cur, matches: matches }); + } + } + } + } + + // Add the remaining (directly-bound) handlers + if ( handlers.length > delegateCount ) { + handlerQueue.push({ elem: this, matches: handlers.slice( delegateCount ) }); + } + + // Run delegates first; they may want to stop propagation beneath us + for ( i = 0; i < handlerQueue.length && !event.isPropagationStopped(); i++ ) { + matched = handlerQueue[ i ]; + event.currentTarget = matched.elem; + + for ( j = 0; j < matched.matches.length && !event.isImmediatePropagationStopped(); j++ ) { + handleObj = matched.matches[ j ]; + + // Triggered event must either 1) be non-exclusive and have no namespace, or + // 2) have namespace(s) a subset or equal to those in the bound event (both can have no namespace). + if ( run_all || (!event.namespace && !handleObj.namespace) || event.namespace_re && event.namespace_re.test( handleObj.namespace ) ) { + + event.data = handleObj.data; + event.handleObj = handleObj; + + ret = ( (jQuery.event.special[ handleObj.origType ] || {}).handle || handleObj.handler ) + .apply( matched.elem, args ); + + if ( ret !== undefined ) { + event.result = ret; + if ( ret === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + // Includes some event props shared by KeyEvent and MouseEvent + // *** attrChange attrName relatedNode srcElement are not normalized, non-W3C, deprecated, will be removed in 1.8 *** + props: "attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), + + fixHooks: {}, + + keyHooks: { + props: "char charCode key keyCode".split(" "), + filter: function( event, original ) { + + // Add which for key events + if ( event.which == null ) { + event.which = original.charCode != null ? original.charCode : original.keyCode; + } + + return event; + } + }, + + mouseHooks: { + props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "), + filter: function( event, original ) { + var eventDoc, doc, body, + button = original.button, + fromElement = original.fromElement; + + // Calculate pageX/Y if missing and clientX/Y available + if ( event.pageX == null && original.clientX != null ) { + eventDoc = event.target.ownerDocument || document; + doc = eventDoc.documentElement; + body = eventDoc.body; + + event.pageX = original.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - ( doc && doc.clientLeft || body && body.clientLeft || 0 ); + event.pageY = original.clientY + ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - ( doc && doc.clientTop || body && body.clientTop || 0 ); + } + + // Add relatedTarget, if necessary + if ( !event.relatedTarget && fromElement ) { + event.relatedTarget = fromElement === event.target ? original.toElement : fromElement; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + // Note: button is not normalized, so don't use it + if ( !event.which && button !== undefined ) { + event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) ); + } + + return event; + } + }, + + fix: function( event ) { + if ( event[ jQuery.expando ] ) { + return event; + } + + // Create a writable copy of the event object and normalize some properties + var i, prop, + originalEvent = event, + fixHook = jQuery.event.fixHooks[ event.type ] || {}, + copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props; + + event = jQuery.Event( originalEvent ); + + for ( i = copy.length; i; ) { + prop = copy[ --i ]; + event[ prop ] = originalEvent[ prop ]; + } + + // Fix target property, if necessary (#1925, IE 6/7/8 & Safari2) + if ( !event.target ) { + event.target = originalEvent.srcElement || document; + } + + // Target should not be a text node (#504, Safari) + if ( event.target.nodeType === 3 ) { + event.target = event.target.parentNode; + } + + // For mouse/key events, metaKey==false if it's undefined (#3368, #11328; IE6/7/8) + event.metaKey = !!event.metaKey; + + return fixHook.filter? fixHook.filter( event, originalEvent ) : event; + }, + + special: { + load: { + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + + focus: { + delegateType: "focusin" + }, + blur: { + delegateType: "focusout" + }, + + beforeunload: { + setup: function( data, namespaces, eventHandle ) { + // We only want to do this special case on windows + if ( jQuery.isWindow( this ) ) { + this.onbeforeunload = eventHandle; + } + }, + + teardown: function( namespaces, eventHandle ) { + if ( this.onbeforeunload === eventHandle ) { + this.onbeforeunload = null; + } + } + } + }, + + simulate: function( type, elem, event, bubble ) { + // Piggyback on a donor event to simulate a different one. + // Fake originalEvent to avoid donor's stopPropagation, but if the + // simulated event prevents default then we do the same on the donor. + var e = jQuery.extend( + new jQuery.Event(), + event, + { type: type, + isSimulated: true, + originalEvent: {} + } + ); + if ( bubble ) { + jQuery.event.trigger( e, null, elem ); + } else { + jQuery.event.dispatch.call( elem, e ); + } + if ( e.isDefaultPrevented() ) { + event.preventDefault(); + } + } +}; + +// Some plugins are using, but it's undocumented/deprecated and will be removed. +// The 1.7 special event interface should provide all the hooks needed now. +jQuery.event.handle = jQuery.event.dispatch; + +jQuery.removeEvent = document.removeEventListener ? + function( elem, type, handle ) { + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle, false ); + } + } : + function( elem, type, handle ) { + var name = "on" + type; + + if ( elem.detachEvent ) { + + // #8545, #7054, preventing memory leaks for custom events in IE6-8 – + // detachEvent needed property on element, by name of that event, to properly expose it to GC + if ( typeof elem[ name ] === "undefined" ) { + elem[ name ] = null; + } + + elem.detachEvent( name, handle ); + } + }; + +jQuery.Event = function( src, props ) { + // Allow instantiation without the 'new' keyword + if ( !(this instanceof jQuery.Event) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = ( src.defaultPrevented || src.returnValue === false || + src.getPreventDefault && src.getPreventDefault() ) ? returnTrue : returnFalse; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || jQuery.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +function returnFalse() { + return false; +} +function returnTrue() { + return true; +} + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + preventDefault: function() { + this.isDefaultPrevented = returnTrue; + + var e = this.originalEvent; + if ( !e ) { + return; + } + + // if preventDefault exists run it on the original event + if ( e.preventDefault ) { + e.preventDefault(); + + // otherwise set the returnValue property of the original event to false (IE) + } else { + e.returnValue = false; + } + }, + stopPropagation: function() { + this.isPropagationStopped = returnTrue; + + var e = this.originalEvent; + if ( !e ) { + return; + } + // if stopPropagation exists run it on the original event + if ( e.stopPropagation ) { + e.stopPropagation(); + } + // otherwise set the cancelBubble property of the original event to true (IE) + e.cancelBubble = true; + }, + stopImmediatePropagation: function() { + this.isImmediatePropagationStopped = returnTrue; + this.stopPropagation(); + }, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse +}; + +// Create mouseenter/leave events using mouseover/out and event-time checks +jQuery.each({ + mouseenter: "mouseover", + mouseleave: "mouseout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj, + selector = handleObj.selector; + + // For mousenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || (related !== target && !jQuery.contains( target, related )) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +}); + +// IE submit delegation +if ( !jQuery.support.submitBubbles ) { + + jQuery.event.special.submit = { + setup: function() { + // Only need this for delegated form submit events + if ( jQuery.nodeName( this, "form" ) ) { + return false; + } + + // Lazy-add a submit handler when a descendant form may potentially be submitted + jQuery.event.add( this, "click._submit keypress._submit", function( e ) { + // Node name check avoids a VML-related crash in IE (#9807) + var elem = e.target, + form = jQuery.nodeName( elem, "input" ) || jQuery.nodeName( elem, "button" ) ? elem.form : undefined; + if ( form && !jQuery._data( form, "_submit_attached" ) ) { + jQuery.event.add( form, "submit._submit", function( event ) { + event._submit_bubble = true; + }); + jQuery._data( form, "_submit_attached", true ); + } + }); + // return undefined since we don't need an event listener + }, + + postDispatch: function( event ) { + // If form was submitted by the user, bubble the event up the tree + if ( event._submit_bubble ) { + delete event._submit_bubble; + if ( this.parentNode && !event.isTrigger ) { + jQuery.event.simulate( "submit", this.parentNode, event, true ); + } + } + }, + + teardown: function() { + // Only need this for delegated form submit events + if ( jQuery.nodeName( this, "form" ) ) { + return false; + } + + // Remove delegated handlers; cleanData eventually reaps submit handlers attached above + jQuery.event.remove( this, "._submit" ); + } + }; +} + +// IE change delegation and checkbox/radio fix +if ( !jQuery.support.changeBubbles ) { + + jQuery.event.special.change = { + + setup: function() { + + if ( rformElems.test( this.nodeName ) ) { + // IE doesn't fire change on a check/radio until blur; trigger it on click + // after a propertychange. Eat the blur-change in special.change.handle. + // This still fires onchange a second time for check/radio after blur. + if ( this.type === "checkbox" || this.type === "radio" ) { + jQuery.event.add( this, "propertychange._change", function( event ) { + if ( event.originalEvent.propertyName === "checked" ) { + this._just_changed = true; + } + }); + jQuery.event.add( this, "click._change", function( event ) { + if ( this._just_changed && !event.isTrigger ) { + this._just_changed = false; + } + // Allow triggered, simulated change events (#11500) + jQuery.event.simulate( "change", this, event, true ); + }); + } + return false; + } + // Delegated event; lazy-add a change handler on descendant inputs + jQuery.event.add( this, "beforeactivate._change", function( e ) { + var elem = e.target; + + if ( rformElems.test( elem.nodeName ) && !jQuery._data( elem, "_change_attached" ) ) { + jQuery.event.add( elem, "change._change", function( event ) { + if ( this.parentNode && !event.isSimulated && !event.isTrigger ) { + jQuery.event.simulate( "change", this.parentNode, event, true ); + } + }); + jQuery._data( elem, "_change_attached", true ); + } + }); + }, + + handle: function( event ) { + var elem = event.target; + + // Swallow native change events from checkbox/radio, we already triggered them above + if ( this !== elem || event.isSimulated || event.isTrigger || (elem.type !== "radio" && elem.type !== "checkbox") ) { + return event.handleObj.handler.apply( this, arguments ); + } + }, + + teardown: function() { + jQuery.event.remove( this, "._change" ); + + return !rformElems.test( this.nodeName ); + } + }; +} + +// Create "bubbling" focus and blur events +if ( !jQuery.support.focusinBubbles ) { + jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler while someone wants focusin/focusout + var attaches = 0, + handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ), true ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + if ( attaches++ === 0 ) { + document.addEventListener( orig, handler, true ); + } + }, + teardown: function() { + if ( --attaches === 0 ) { + document.removeEventListener( orig, handler, true ); + } + } + }; + }); +} + +jQuery.fn.extend({ + + on: function( types, selector, data, fn, /*INTERNAL*/ one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { // && selector != null + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + this.on( type, selector, data, types[ type ], one ); + } + return this; + } + + if ( data == null && fn == null ) { + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return this; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return this.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + }); + }, + one: function( types, selector, data, fn ) { + return this.on( types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? handleObj.origType + "." + handleObj.namespace : handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each(function() { + jQuery.event.remove( this, types, fn, selector ); + }); + }, + + bind: function( types, data, fn ) { + return this.on( types, null, data, fn ); + }, + unbind: function( types, fn ) { + return this.off( types, null, fn ); + }, + + live: function( types, data, fn ) { + jQuery( this.context ).on( types, this.selector, data, fn ); + return this; + }, + die: function( types, fn ) { + jQuery( this.context ).off( types, this.selector || "**", fn ); + return this; + }, + + delegate: function( selector, types, data, fn ) { + return this.on( types, selector, data, fn ); + }, + undelegate: function( selector, types, fn ) { + // ( namespace ) or ( selector, types [, fn] ) + return arguments.length === 1 ? this.off( selector, "**" ) : this.off( types, selector || "**", fn ); + }, + + trigger: function( type, data ) { + return this.each(function() { + jQuery.event.trigger( type, data, this ); + }); + }, + triggerHandler: function( type, data ) { + if ( this[0] ) { + return jQuery.event.trigger( type, data, this[0], true ); + } + }, + + toggle: function( fn ) { + // Save reference to arguments for access in closure + var args = arguments, + guid = fn.guid || jQuery.guid++, + i = 0, + toggler = function( event ) { + // Figure out which function to execute + var lastToggle = ( jQuery._data( this, "lastToggle" + fn.guid ) || 0 ) % i; + jQuery._data( this, "lastToggle" + fn.guid, lastToggle + 1 ); + + // Make sure that clicks stop + event.preventDefault(); + + // and execute the function + return args[ lastToggle ].apply( this, arguments ) || false; + }; + + // link all the functions, so any of them can unbind this click handler + toggler.guid = guid; + while ( i < args.length ) { + args[ i++ ].guid = guid; + } + + return this.click( toggler ); + }, + + hover: function( fnOver, fnOut ) { + return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); + } +}); + +jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " + + "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + + "change select submit keydown keypress keyup error contextmenu").split(" "), function( i, name ) { + + // Handle event binding + jQuery.fn[ name ] = function( data, fn ) { + if ( fn == null ) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.on( name, null, data, fn ) : + this.trigger( name ); + }; + + if ( rkeyEvent.test( name ) ) { + jQuery.event.fixHooks[ name ] = jQuery.event.keyHooks; + } + + if ( rmouseEvent.test( name ) ) { + jQuery.event.fixHooks[ name ] = jQuery.event.mouseHooks; + } +}); +/*! + * Sizzle CSS Selector Engine + * Copyright 2012 jQuery Foundation and other contributors + * Released under the MIT license + * http://sizzlejs.com/ + */ +(function( window, undefined ) { + +var cachedruns, + assertGetIdNotName, + Expr, + getText, + isXML, + contains, + compile, + sortOrder, + hasDuplicate, + outermostContext, + + baseHasDuplicate = true, + strundefined = "undefined", + + expando = ( "sizcache" + Math.random() ).replace( ".", "" ), + + Token = String, + document = window.document, + docElem = document.documentElement, + dirruns = 0, + done = 0, + pop = [].pop, + push = [].push, + slice = [].slice, + // Use a stripped-down indexOf if a native one is unavailable + indexOf = [].indexOf || function( elem ) { + var i = 0, + len = this.length; + for ( ; i < len; i++ ) { + if ( this[i] === elem ) { + return i; + } + } + return -1; + }, + + // Augment a function for special use by Sizzle + markFunction = function( fn, value ) { + fn[ expando ] = value == null || value; + return fn; + }, + + createCache = function() { + var cache = {}, + keys = []; + + return markFunction(function( key, value ) { + // Only keep the most recent entries + if ( keys.push( key ) > Expr.cacheLength ) { + delete cache[ keys.shift() ]; + } + + return (cache[ key ] = value); + }, cache ); + }, + + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + + // Regex + + // Whitespace characters http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + // http://www.w3.org/TR/css3-syntax/#characters + characterEncoding = "(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+", + + // Loosely modeled on CSS identifier characters + // An unquoted value should be a CSS identifier (http://www.w3.org/TR/css3-selectors/#attribute-selectors) + // Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier + identifier = characterEncoding.replace( "w", "w#" ), + + // Acceptable operators http://www.w3.org/TR/selectors/#attribute-selectors + operators = "([*^$|!~]?=)", + attributes = "\\[" + whitespace + "*(" + characterEncoding + ")" + whitespace + + "*(?:" + operators + whitespace + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + identifier + ")|)|)" + whitespace + "*\\]", + + // Prefer arguments not in parens/brackets, + // then attribute selectors and non-pseudos (denoted by :), + // then anything else + // These preferences are here to reduce the number of selectors + // needing tokenize in the PSEUDO preFilter + pseudos = ":(" + characterEncoding + ")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:" + attributes + ")|[^:]|\\\\.)*|.*))\\)|)", + + // For matchExpr.POS and matchExpr.needsContext + pos = ":(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace + + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([\\x20\\t\\r\\n\\f>+~])" + whitespace + "*" ), + rpseudo = new RegExp( pseudos ), + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/, + + rnot = /^:not/, + rsibling = /[\x20\t\r\n\f]*[+~]/, + rendsWithNot = /:not\($/, + + rheader = /h\d/i, + rinputs = /input|select|textarea|button/i, + + rbackslash = /\\(?!\\)/g, + + matchExpr = { + "ID": new RegExp( "^#(" + characterEncoding + ")" ), + "CLASS": new RegExp( "^\\.(" + characterEncoding + ")" ), + "NAME": new RegExp( "^\\[name=['\"]?(" + characterEncoding + ")['\"]?\\]" ), + "TAG": new RegExp( "^(" + characterEncoding.replace( "w", "w*" ) + ")" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "POS": new RegExp( pos, "i" ), + "CHILD": new RegExp( "^:(only|nth|first|last)-child(?:\\(" + whitespace + + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + // For use in libraries implementing .is() + "needsContext": new RegExp( "^" + whitespace + "*[>+~]|" + pos, "i" ) + }, + + // Support + + // Used for testing something on an element + assert = function( fn ) { + var div = document.createElement("div"); + + try { + return fn( div ); + } catch (e) { + return false; + } finally { + // release memory in IE + div = null; + } + }, + + // Check if getElementsByTagName("*") returns only elements + assertTagNameNoComments = assert(function( div ) { + div.appendChild( document.createComment("") ); + return !div.getElementsByTagName("*").length; + }), + + // Check if getAttribute returns normalized href attributes + assertHrefNotNormalized = assert(function( div ) { + div.innerHTML = ""; + return div.firstChild && typeof div.firstChild.getAttribute !== strundefined && + div.firstChild.getAttribute("href") === "#"; + }), + + // Check if attributes should be retrieved by attribute nodes + assertAttributes = assert(function( div ) { + div.innerHTML = ""; + var type = typeof div.lastChild.getAttribute("multiple"); + // IE8 returns a string for some attributes even when not present + return type !== "boolean" && type !== "string"; + }), + + // Check if getElementsByClassName can be trusted + assertUsableClassName = assert(function( div ) { + // Opera can't find a second classname (in 9.6) + div.innerHTML = ""; + if ( !div.getElementsByClassName || !div.getElementsByClassName("e").length ) { + return false; + } + + // Safari 3.2 caches class attributes and doesn't catch changes + div.lastChild.className = "e"; + return div.getElementsByClassName("e").length === 2; + }), + + // Check if getElementById returns elements by name + // Check if getElementsByName privileges form controls or returns elements by ID + assertUsableName = assert(function( div ) { + // Inject content + div.id = expando + 0; + div.innerHTML = "
    "; + docElem.insertBefore( div, docElem.firstChild ); + + // Test + var pass = document.getElementsByName && + // buggy browsers will return fewer than the correct 2 + document.getElementsByName( expando ).length === 2 + + // buggy browsers will return more than the correct 0 + document.getElementsByName( expando + 0 ).length; + assertGetIdNotName = !document.getElementById( expando ); + + // Cleanup + docElem.removeChild( div ); + + return pass; + }); + +// If slice is not available, provide a backup +try { + slice.call( docElem.childNodes, 0 )[0].nodeType; +} catch ( e ) { + slice = function( i ) { + var elem, + results = []; + for ( ; (elem = this[i]); i++ ) { + results.push( elem ); + } + return results; + }; +} + +function Sizzle( selector, context, results, seed ) { + results = results || []; + context = context || document; + var match, elem, xml, m, + nodeType = context.nodeType; + + if ( !selector || typeof selector !== "string" ) { + return results; + } + + if ( nodeType !== 1 && nodeType !== 9 ) { + return []; + } + + xml = isXML( context ); + + if ( !xml && !seed ) { + if ( (match = rquickExpr.exec( selector )) ) { + // Speed-up: Sizzle("#ID") + if ( (m = match[1]) ) { + if ( nodeType === 9 ) { + elem = context.getElementById( m ); + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + if ( elem && elem.parentNode ) { + // Handle the case where IE, Opera, and Webkit return items + // by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + } else { + // Context is not a document + if ( context.ownerDocument && (elem = context.ownerDocument.getElementById( m )) && + contains( context, elem ) && elem.id === m ) { + results.push( elem ); + return results; + } + } + + // Speed-up: Sizzle("TAG") + } else if ( match[2] ) { + push.apply( results, slice.call(context.getElementsByTagName( selector ), 0) ); + return results; + + // Speed-up: Sizzle(".CLASS") + } else if ( (m = match[3]) && assertUsableClassName && context.getElementsByClassName ) { + push.apply( results, slice.call(context.getElementsByClassName( m ), 0) ); + return results; + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed, xml ); +} + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + return Sizzle( expr, null, null, [ elem ] ).length > 0; +}; + +// Returns a function to use in pseudos for input types +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +// Returns a function to use in pseudos for buttons +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; +} + +// Returns a function to use in pseudos for positionals +function createPositionalPseudo( fn ) { + return markFunction(function( argument ) { + argument = +argument; + return markFunction(function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ (j = matchIndexes[i]) ] ) { + seed[j] = !(matches[j] = seed[j]); + } + } + }); + }); +} + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( nodeType ) { + if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + // Use textContent for elements + // innerText usage removed for consistency of new lines (see #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + // Do not include comment or processing instruction nodes + } else { + + // If no nodeType, this is expected to be an array + for ( ; (node = elem[i]); i++ ) { + // Do not traverse comment nodes + ret += getText( node ); + } + } + return ret; +}; + +isXML = Sizzle.isXML = function( elem ) { + // documentElement is verified for cases where it doesn't yet exist + // (such as loading iframes in IE - #4833) + var documentElement = elem && (elem.ownerDocument || elem).documentElement; + return documentElement ? documentElement.nodeName !== "HTML" : false; +}; + +// Element contains another +contains = Sizzle.contains = docElem.contains ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && adown.contains && adown.contains(bup) ); + } : + docElem.compareDocumentPosition ? + function( a, b ) { + return b && !!( a.compareDocumentPosition( b ) & 16 ); + } : + function( a, b ) { + while ( (b = b.parentNode) ) { + if ( b === a ) { + return true; + } + } + return false; + }; + +Sizzle.attr = function( elem, name ) { + var val, + xml = isXML( elem ); + + if ( !xml ) { + name = name.toLowerCase(); + } + if ( (val = Expr.attrHandle[ name ]) ) { + return val( elem ); + } + if ( xml || assertAttributes ) { + return elem.getAttribute( name ); + } + val = elem.getAttributeNode( name ); + return val ? + typeof elem[ name ] === "boolean" ? + elem[ name ] ? name : null : + val.specified ? val.value : null : + null; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + // IE6/7 return a modified href + attrHandle: assertHrefNotNormalized ? + {} : + { + "href": function( elem ) { + return elem.getAttribute( "href", 2 ); + }, + "type": function( elem ) { + return elem.getAttribute("type"); + } + }, + + find: { + "ID": assertGetIdNotName ? + function( id, context, xml ) { + if ( typeof context.getElementById !== strundefined && !xml ) { + var m = context.getElementById( id ); + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + return m && m.parentNode ? [m] : []; + } + } : + function( id, context, xml ) { + if ( typeof context.getElementById !== strundefined && !xml ) { + var m = context.getElementById( id ); + + return m ? + m.id === id || typeof m.getAttributeNode !== strundefined && m.getAttributeNode("id").value === id ? + [m] : + undefined : + []; + } + }, + + "TAG": assertTagNameNoComments ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== strundefined ) { + return context.getElementsByTagName( tag ); + } + } : + function( tag, context ) { + var results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + var elem, + tmp = [], + i = 0; + + for ( ; (elem = results[i]); i++ ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }, + + "NAME": assertUsableName && function( tag, context ) { + if ( typeof context.getElementsByName !== strundefined ) { + return context.getElementsByName( name ); + } + }, + + "CLASS": assertUsableClassName && function( className, context, xml ) { + if ( typeof context.getElementsByClassName !== strundefined && !xml ) { + return context.getElementsByClassName( className ); + } + } + }, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[1] = match[1].replace( rbackslash, "" ); + + // Move the given value to match[3] whether quoted or unquoted + match[3] = ( match[4] || match[5] || "" ).replace( rbackslash, "" ); + + if ( match[2] === "~=" ) { + match[3] = " " + match[3] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 3 xn-component of xn+y argument ([+-]?\d*n|) + 4 sign of xn-component + 5 x of xn-component + 6 sign of y-component + 7 y of y-component + */ + match[1] = match[1].toLowerCase(); + + if ( match[1] === "nth" ) { + // nth-child requires argument + if ( !match[2] ) { + Sizzle.error( match[0] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[3] = +( match[3] ? match[4] + (match[5] || 1) : 2 * ( match[2] === "even" || match[2] === "odd" ) ); + match[4] = +( ( match[6] + match[7] ) || match[2] === "odd" ); + + // other types prohibit arguments + } else if ( match[2] ) { + Sizzle.error( match[0] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var unquoted, excess; + if ( matchExpr["CHILD"].test( match[0] ) ) { + return null; + } + + if ( match[3] ) { + match[2] = match[3]; + } else if ( (unquoted = match[4]) ) { + // Only check arguments that contain a pseudo + if ( rpseudo.test(unquoted) && + // Get excess from tokenize (recursively) + (excess = tokenize( unquoted, true )) && + // advance to the next closing parenthesis + (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { + + // excess is a negative index + unquoted = unquoted.slice( 0, excess ); + match[0] = match[0].slice( 0, excess ); + } + match[2] = unquoted; + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + "ID": assertGetIdNotName ? + function( id ) { + id = id.replace( rbackslash, "" ); + return function( elem ) { + return elem.getAttribute("id") === id; + }; + } : + function( id ) { + id = id.replace( rbackslash, "" ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== strundefined && elem.getAttributeNode("id"); + return node && node.value === id; + }; + }, + + "TAG": function( nodeName ) { + if ( nodeName === "*" ) { + return function() { return true; }; + } + nodeName = nodeName.replace( rbackslash, "" ).toLowerCase(); + + return function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ expando ][ className ]; + if ( !pattern ) { + pattern = classCache( className, new RegExp("(^|" + whitespace + ")" + className + "(" + whitespace + "|$)") ); + } + return function( elem ) { + return pattern.test( elem.className || (typeof elem.getAttribute !== strundefined && elem.getAttribute("class")) || "" ); + }; + }, + + "ATTR": function( name, operator, check ) { + return function( elem, context ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.substr( result.length - check.length ) === check : + operator === "~=" ? ( " " + result + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.substr( 0, check.length + 1 ) === check + "-" : + false; + }; + }, + + "CHILD": function( type, argument, first, last ) { + + if ( type === "nth" ) { + return function( elem ) { + var node, diff, + parent = elem.parentNode; + + if ( first === 1 && last === 0 ) { + return true; + } + + if ( parent ) { + diff = 0; + for ( node = parent.firstChild; node; node = node.nextSibling ) { + if ( node.nodeType === 1 ) { + diff++; + if ( elem === node ) { + break; + } + } + } + } + + // Incorporate the offset (or cast to NaN), then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + }; + } + + return function( elem ) { + var node = elem; + + switch ( type ) { + case "only": + case "first": + while ( (node = node.previousSibling) ) { + if ( node.nodeType === 1 ) { + return false; + } + } + + if ( type === "first" ) { + return true; + } + + node = elem; + + /* falls through */ + case "last": + while ( (node = node.nextSibling) ) { + if ( node.nodeType === 1 ) { + return false; + } + } + + return true; + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction(function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf.call( seed, matched[i] ); + seed[ idx ] = !( matches[ idx ] = matched[i] ); + } + }) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + "not": markFunction(function( selector ) { + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction(function( seed, matches, context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( (elem = unmatched[i]) ) { + seed[i] = !(matches[i] = elem); + } + } + }) : + function( elem, context, xml ) { + input[0] = elem; + matcher( input, null, xml, results ); + return !results.pop(); + }; + }), + + "has": markFunction(function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + }), + + "contains": markFunction(function( text ) { + return function( elem ) { + return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; + }; + }), + + "enabled": function( elem ) { + return elem.disabled === false; + }, + + "disabled": function( elem ) { + return elem.disabled === true; + }, + + "checked": function( elem ) { + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); + }, + + "selected": function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + "parent": function( elem ) { + return !Expr.pseudos["empty"]( elem ); + }, + + "empty": function( elem ) { + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is only affected by element nodes and content nodes(including text(3), cdata(4)), + // not comment, processing instructions, or others + // Thanks to Diego Perini for the nodeName shortcut + // Greater than "@" means alpha characters (specifically not starting with "#" or "?") + var nodeType; + elem = elem.firstChild; + while ( elem ) { + if ( elem.nodeName > "@" || (nodeType = elem.nodeType) === 3 || nodeType === 4 ) { + return false; + } + elem = elem.nextSibling; + } + return true; + }, + + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "text": function( elem ) { + var type, attr; + // IE6 and 7 will map elem.type to 'text' for new HTML5 types (search, etc) + // use getAttribute instead to test this case + return elem.nodeName.toLowerCase() === "input" && + (type = elem.type) === "text" && + ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === type ); + }, + + // Input types + "radio": createInputPseudo("radio"), + "checkbox": createInputPseudo("checkbox"), + "file": createInputPseudo("file"), + "password": createInputPseudo("password"), + "image": createInputPseudo("image"), + + "submit": createButtonPseudo("submit"), + "reset": createButtonPseudo("reset"), + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "focus": function( elem ) { + var doc = elem.ownerDocument; + return elem === doc.activeElement && (!doc.hasFocus || doc.hasFocus()) && !!(elem.type || elem.href); + }, + + "active": function( elem ) { + return elem === elem.ownerDocument.activeElement; + }, + + // Positional types + "first": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ 0 ]; + }), + + "last": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ length - 1 ]; + }), + + "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + }), + + "even": createPositionalPseudo(function( matchIndexes, length, argument ) { + for ( var i = 0; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "odd": createPositionalPseudo(function( matchIndexes, length, argument ) { + for ( var i = 1; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { + for ( var i = argument < 0 ? argument + length : argument; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { + for ( var i = argument < 0 ? argument + length : argument; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }) + } +}; + +function siblingCheck( a, b, ret ) { + if ( a === b ) { + return ret; + } + + var cur = a.nextSibling; + + while ( cur ) { + if ( cur === b ) { + return -1; + } + + cur = cur.nextSibling; + } + + return 1; +} + +sortOrder = docElem.compareDocumentPosition ? + function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + return ( !a.compareDocumentPosition || !b.compareDocumentPosition ? + a.compareDocumentPosition : + a.compareDocumentPosition(b) & 4 + ) ? -1 : 1; + } : + function( a, b ) { + // The nodes are identical, we can exit early + if ( a === b ) { + hasDuplicate = true; + return 0; + + // Fallback to using sourceIndex (in IE) if it's available on both nodes + } else if ( a.sourceIndex && b.sourceIndex ) { + return a.sourceIndex - b.sourceIndex; + } + + var al, bl, + ap = [], + bp = [], + aup = a.parentNode, + bup = b.parentNode, + cur = aup; + + // If the nodes are siblings (or identical) we can do a quick check + if ( aup === bup ) { + return siblingCheck( a, b ); + + // If no parents were found then the nodes are disconnected + } else if ( !aup ) { + return -1; + + } else if ( !bup ) { + return 1; + } + + // Otherwise they're somewhere else in the tree so we need + // to build up a full list of the parentNodes for comparison + while ( cur ) { + ap.unshift( cur ); + cur = cur.parentNode; + } + + cur = bup; + + while ( cur ) { + bp.unshift( cur ); + cur = cur.parentNode; + } + + al = ap.length; + bl = bp.length; + + // Start walking down the tree looking for a discrepancy + for ( var i = 0; i < al && i < bl; i++ ) { + if ( ap[i] !== bp[i] ) { + return siblingCheck( ap[i], bp[i] ); + } + } + + // We ended someplace up the tree so do a sibling check + return i === al ? + siblingCheck( a, bp[i], -1 ) : + siblingCheck( ap[i], b, 1 ); + }; + +// Always assume the presence of duplicates if sort doesn't +// pass them to our comparison function (as in Google Chrome). +[0, 0].sort( sortOrder ); +baseHasDuplicate = !hasDuplicate; + +// Document sorting and removing duplicates +Sizzle.uniqueSort = function( results ) { + var elem, + i = 1; + + hasDuplicate = baseHasDuplicate; + results.sort( sortOrder ); + + if ( hasDuplicate ) { + for ( ; (elem = results[i]); i++ ) { + if ( elem === results[ i - 1 ] ) { + results.splice( i--, 1 ); + } + } + } + + return results; +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +function tokenize( selector, parseOnly ) { + var matched, match, tokens, type, soFar, groups, preFilters, + cached = tokenCache[ expando ][ selector ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || (match = rcomma.exec( soFar )) ) { + if ( match ) { + soFar = soFar.slice( match[0].length ); + } + groups.push( tokens = [] ); + } + + matched = false; + + // Combinators + if ( (match = rcombinators.exec( soFar )) ) { + tokens.push( matched = new Token( match.shift() ) ); + soFar = soFar.slice( matched.length ); + + // Cast descendant combinators to space + matched.type = match[0].replace( rtrim, " " ); + } + + // Filters + for ( type in Expr.filter ) { + if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || + // The last two arguments here are (context, xml) for backCompat + (match = preFilters[ type ]( match, document, true ))) ) { + + tokens.push( matched = new Token( match.shift() ) ); + soFar = soFar.slice( matched.length ); + matched.type = type; + matched.matches = match; + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + checkNonElements = base && combinator.dir === "parentNode", + doneName = done++; + + return combinator.first ? + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( (elem = elem[ dir ]) ) { + if ( checkNonElements || elem.nodeType === 1 ) { + return matcher( elem, context, xml ); + } + } + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + // We can't set arbitrary data on XML nodes, so they don't benefit from dir caching + if ( !xml ) { + var cache, + dirkey = dirruns + " " + doneName + " ", + cachedkey = dirkey + cachedruns; + while ( (elem = elem[ dir ]) ) { + if ( checkNonElements || elem.nodeType === 1 ) { + if ( (cache = elem[ expando ]) === cachedkey ) { + return elem.sizset; + } else if ( typeof cache === "string" && cache.indexOf(dirkey) === 0 ) { + if ( elem.sizset ) { + return elem; + } + } else { + elem[ expando ] = cachedkey; + if ( matcher( elem, context, xml ) ) { + elem.sizset = true; + return elem; + } + elem.sizset = false; + } + } + } + } else { + while ( (elem = elem[ dir ]) ) { + if ( checkNonElements || elem.nodeType === 1 ) { + if ( matcher( elem, context, xml ) ) { + return elem; + } + } + } + } + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[i]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[0]; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( (elem = unmatched[i]) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction(function( seed, results, context, xml ) { + // Positional selectors apply to seed elements, so it is invalid to follow them with relative ones + if ( seed && postFinder ) { + return; + } + + var i, elem, postFilterIn, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [], seed ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + postFilterIn = condense( matcherOut, postMap ); + postFilter( postFilterIn, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = postFilterIn.length; + while ( i-- ) { + if ( (elem = postFilterIn[i]) ) { + matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); + } + } + } + + // Keep seed and results synchronized + if ( seed ) { + // Ignore postFinder because it can't coexist with seed + i = preFilter && matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) ) { + seed[ preMap[i] ] = !(results[ preMap[i] ] = elem); + } + } + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + }); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[0].type ], + implicitRelative = leadingRelative || Expr.relative[" "], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf.call( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + return ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + (checkContext = context).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + } ]; + + for ( ; i < len; i++ ) { + if ( (matcher = Expr.relative[ tokens[i].type ]) ) { + matchers = [ addCombinator( elementMatcher( matchers ), matcher ) ]; + } else { + // The concatenated values are (context, xml) for backCompat + matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[j].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && tokens.slice( 0, i - 1 ).join("").replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), + j < len && tokens.join("") + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + var bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, expandContext ) { + var elem, j, matcher, + setMatched = [], + matchedCount = 0, + i = "0", + unmatched = seed && [], + outermost = expandContext != null, + contextBackup = outermostContext, + // We must always have either seed elements or context + elems = seed || byElement && Expr.find["TAG"]( "*", expandContext && context.parentNode || context ), + // Nested matchers should use non-integer dirruns + dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.E); + + if ( outermost ) { + outermostContext = context !== document && context; + cachedruns = superMatcher.el; + } + + // Add elements passing elementMatchers directly to results + for ( ; (elem = elems[i]) != null; i++ ) { + if ( byElement && elem ) { + for ( j = 0; (matcher = elementMatchers[j]); j++ ) { + if ( matcher( elem, context, xml ) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + cachedruns = ++superMatcher.el; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + // They will have gone through all possible matchers + if ( (elem = !matcher && elem) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // Apply set filters to unmatched elements + matchedCount += i; + if ( bySet && i !== matchedCount ) { + for ( j = 0; (matcher = setMatchers[j]); j++ ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !(unmatched[i] || setMatched[i]) ) { + setMatched[i] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + superMatcher.el = 0; + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, group /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ expando ][ selector ]; + + if ( !cached ) { + // Generate a function of recursive functions that can be used to check each element + if ( !group ) { + group = tokenize( selector ); + } + i = group.length; + while ( i-- ) { + cached = matcherFromTokens( group[i] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); + } + return cached; +}; + +function multipleContexts( selector, contexts, results, seed ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[i], results, seed ); + } + return results; +} + +function select( selector, context, results, seed, xml ) { + var i, tokens, token, type, find, + match = tokenize( selector ), + j = match.length; + + if ( !seed ) { + // Try to minimize operations if there is only one group + if ( match.length === 1 ) { + + // Take a shortcut and set the context if the root selector is an ID + tokens = match[0] = match[0].slice( 0 ); + if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && + context.nodeType === 9 && !xml && + Expr.relative[ tokens[1].type ] ) { + + context = Expr.find["ID"]( token.matches[0].replace( rbackslash, "" ), context, xml )[0]; + if ( !context ) { + return results; + } + + selector = selector.slice( tokens.shift().length ); + } + + // Fetch a seed set for right-to-left matching + for ( i = matchExpr["POS"].test( selector ) ? -1 : tokens.length - 1; i >= 0; i-- ) { + token = tokens[i]; + + // Abort if we hit a combinator + if ( Expr.relative[ (type = token.type) ] ) { + break; + } + if ( (find = Expr.find[ type ]) ) { + // Search, expanding context for leading sibling combinators + if ( (seed = find( + token.matches[0].replace( rbackslash, "" ), + rsibling.test( tokens[0].type ) && context.parentNode || context, + xml + )) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && tokens.join(""); + if ( !selector ) { + push.apply( results, slice.call( seed, 0 ) ); + return results; + } + + break; + } + } + } + } + } + + // Compile and execute a filtering function + // Provide `match` to avoid retokenization if we modified the selector above + compile( selector, match )( + seed, + context, + xml, + results, + rsibling.test( selector ) + ); + return results; +} + +if ( document.querySelectorAll ) { + (function() { + var disconnectedMatch, + oldSelect = select, + rescape = /'|\\/g, + rattributeQuotes = /\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g, + + // qSa(:focus) reports false when true (Chrome 21), + // A support test would require too much code (would include document ready) + rbuggyQSA = [":focus"], + + // matchesSelector(:focus) reports false when true (Chrome 21), + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + // A support test would require too much code (would include document ready) + // just skip matchesSelector for :active + rbuggyMatches = [ ":active", ":focus" ], + matches = docElem.matchesSelector || + docElem.mozMatchesSelector || + docElem.webkitMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector; + + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert(function( div ) { + // Select is set to empty string on purpose + // This is to test IE's treatment of not explictly + // setting a boolean content attribute, + // since its presence should be enough + // http://bugs.jquery.com/ticket/12359 + div.innerHTML = ""; + + // IE8 - Some boolean attributes are not treated correctly + if ( !div.querySelectorAll("[selected]").length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:checked|disabled|ismap|multiple|readonly|selected|value)" ); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here (do not put tests after this one) + if ( !div.querySelectorAll(":checked").length ) { + rbuggyQSA.push(":checked"); + } + }); + + assert(function( div ) { + + // Opera 10-12/IE9 - ^= $= *= and empty values + // Should not select anything + div.innerHTML = "

    "; + if ( div.querySelectorAll("[test^='']").length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:\"\"|'')" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here (do not put tests after this one) + div.innerHTML = ""; + if ( !div.querySelectorAll(":enabled").length ) { + rbuggyQSA.push(":enabled", ":disabled"); + } + }); + + // rbuggyQSA always contains :focus, so no need for a length check + rbuggyQSA = /* rbuggyQSA.length && */ new RegExp( rbuggyQSA.join("|") ); + + select = function( selector, context, results, seed, xml ) { + // Only use querySelectorAll when not filtering, + // when this is not xml, + // and when no QSA bugs apply + if ( !seed && !xml && (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { + var groups, i, + old = true, + nid = expando, + newContext = context, + newSelector = context.nodeType === 9 && selector; + + // qSA works strangely on Element-rooted queries + // We can work around this by specifying an extra ID on the root + // and working up from there (Thanks to Andrew Dupont for the technique) + // IE 8 doesn't work on object elements + if ( context.nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) { + groups = tokenize( selector ); + + if ( (old = context.getAttribute("id")) ) { + nid = old.replace( rescape, "\\$&" ); + } else { + context.setAttribute( "id", nid ); + } + nid = "[id='" + nid + "'] "; + + i = groups.length; + while ( i-- ) { + groups[i] = nid + groups[i].join(""); + } + newContext = rsibling.test( selector ) && context.parentNode || context; + newSelector = groups.join(","); + } + + if ( newSelector ) { + try { + push.apply( results, slice.call( newContext.querySelectorAll( + newSelector + ), 0 ) ); + return results; + } catch(qsaError) { + } finally { + if ( !old ) { + context.removeAttribute("id"); + } + } + } + } + + return oldSelect( selector, context, results, seed, xml ); + }; + + if ( matches ) { + assert(function( div ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + disconnectedMatch = matches.call( div, "div" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + try { + matches.call( div, "[test!='']:sizzle" ); + rbuggyMatches.push( "!=", pseudos ); + } catch ( e ) {} + }); + + // rbuggyMatches always contains :active and :focus, so no need for a length check + rbuggyMatches = /* rbuggyMatches.length && */ new RegExp( rbuggyMatches.join("|") ); + + Sizzle.matchesSelector = function( elem, expr ) { + // Make sure that attribute selectors are quoted + expr = expr.replace( rattributeQuotes, "='$1']" ); + + // rbuggyMatches always contains :active, so no need for an existence check + if ( !isXML( elem ) && !rbuggyMatches.test( expr ) && (!rbuggyQSA || !rbuggyQSA.test( expr )) ) { + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || disconnectedMatch || + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch(e) {} + } + + return Sizzle( expr, null, null, [ elem ] ).length > 0; + }; + } + })(); +} + +// Deprecated +Expr.pseudos["nth"] = Expr.pseudos["eq"]; + +// Back-compat +function setFilters() {} +Expr.filters = setFilters.prototype = Expr.pseudos; +Expr.setFilters = new setFilters(); + +// Override sizzle attribute retrieval +Sizzle.attr = jQuery.attr; +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; +jQuery.expr[":"] = jQuery.expr.pseudos; +jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; + + +})( window ); +var runtil = /Until$/, + rparentsprev = /^(?:parents|prev(?:Until|All))/, + isSimple = /^.[^:#\[\.,]*$/, + rneedsContext = jQuery.expr.match.needsContext, + // methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend({ + find: function( selector ) { + var i, l, length, n, r, ret, + self = this; + + if ( typeof selector !== "string" ) { + return jQuery( selector ).filter(function() { + for ( i = 0, l = self.length; i < l; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + }); + } + + ret = this.pushStack( "", "find", selector ); + + for ( i = 0, l = this.length; i < l; i++ ) { + length = ret.length; + jQuery.find( selector, this[i], ret ); + + if ( i > 0 ) { + // Make sure that the results are unique + for ( n = length; n < ret.length; n++ ) { + for ( r = 0; r < length; r++ ) { + if ( ret[r] === ret[n] ) { + ret.splice(n--, 1); + break; + } + } + } + } + } + + return ret; + }, + + has: function( target ) { + var i, + targets = jQuery( target, this ), + len = targets.length; + + return this.filter(function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( this, targets[i] ) ) { + return true; + } + } + }); + }, + + not: function( selector ) { + return this.pushStack( winnow(this, selector, false), "not", selector); + }, + + filter: function( selector ) { + return this.pushStack( winnow(this, selector, true), "filter", selector ); + }, + + is: function( selector ) { + return !!selector && ( + typeof selector === "string" ? + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + rneedsContext.test( selector ) ? + jQuery( selector, this.context ).index( this[0] ) >= 0 : + jQuery.filter( selector, this ).length > 0 : + this.filter( selector ).length > 0 ); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + ret = [], + pos = rneedsContext.test( selectors ) || typeof selectors !== "string" ? + jQuery( selectors, context || this.context ) : + 0; + + for ( ; i < l; i++ ) { + cur = this[i]; + + while ( cur && cur.ownerDocument && cur !== context && cur.nodeType !== 11 ) { + if ( pos ? pos.index(cur) > -1 : jQuery.find.matchesSelector(cur, selectors) ) { + ret.push( cur ); + break; + } + cur = cur.parentNode; + } + } + + ret = ret.length > 1 ? jQuery.unique( ret ) : ret; + + return this.pushStack( ret, "closest", selectors ); + }, + + // Determine the position of an element within + // the matched set of elements + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[0] && this[0].parentNode ) ? this.prevAll().length : -1; + } + + // index in selector + if ( typeof elem === "string" ) { + return jQuery.inArray( this[0], jQuery( elem ) ); + } + + // Locate the position of the desired element + return jQuery.inArray( + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[0] : elem, this ); + }, + + add: function( selector, context ) { + var set = typeof selector === "string" ? + jQuery( selector, context ) : + jQuery.makeArray( selector && selector.nodeType ? [ selector ] : selector ), + all = jQuery.merge( this.get(), set ); + + return this.pushStack( isDisconnected( set[0] ) || isDisconnected( all[0] ) ? + all : + jQuery.unique( all ) ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter(selector) + ); + } +}); + +jQuery.fn.andSelf = jQuery.fn.addBack; + +// A painfully simple check to see if an element is disconnected +// from a document (should be improved, where feasible). +function isDisconnected( node ) { + return !node || !node.parentNode || node.parentNode.nodeType === 11; +} + +function sibling( cur, dir ) { + do { + cur = cur[ dir ]; + } while ( cur && cur.nodeType !== 1 ); + + return cur; +} + +jQuery.each({ + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return jQuery.dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return jQuery.dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return jQuery.dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return jQuery.dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return jQuery.dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return jQuery.dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return jQuery.sibling( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return jQuery.sibling( elem.firstChild ); + }, + contents: function( elem ) { + return jQuery.nodeName( elem, "iframe" ) ? + elem.contentDocument || elem.contentWindow.document : + jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var ret = jQuery.map( this, fn, until ); + + if ( !runtil.test( name ) ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + ret = jQuery.filter( selector, ret ); + } + + ret = this.length > 1 && !guaranteedUnique[ name ] ? jQuery.unique( ret ) : ret; + + if ( this.length > 1 && rparentsprev.test( name ) ) { + ret = ret.reverse(); + } + + return this.pushStack( ret, name, core_slice.call( arguments ).join(",") ); + }; +}); + +jQuery.extend({ + filter: function( expr, elems, not ) { + if ( not ) { + expr = ":not(" + expr + ")"; + } + + return elems.length === 1 ? + jQuery.find.matchesSelector(elems[0], expr) ? [ elems[0] ] : [] : + jQuery.find.matches(expr, elems); + }, + + dir: function( elem, dir, until ) { + var matched = [], + cur = elem[ dir ]; + + while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) { + if ( cur.nodeType === 1 ) { + matched.push( cur ); + } + cur = cur[dir]; + } + return matched; + }, + + sibling: function( n, elem ) { + var r = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + r.push( n ); + } + } + + return r; + } +}); + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, keep ) { + + // Can't pass null or undefined to indexOf in Firefox 4 + // Set to 0 to skip string check + qualifier = qualifier || 0; + + if ( jQuery.isFunction( qualifier ) ) { + return jQuery.grep(elements, function( elem, i ) { + var retVal = !!qualifier.call( elem, i, elem ); + return retVal === keep; + }); + + } else if ( qualifier.nodeType ) { + return jQuery.grep(elements, function( elem, i ) { + return ( elem === qualifier ) === keep; + }); + + } else if ( typeof qualifier === "string" ) { + var filtered = jQuery.grep(elements, function( elem ) { + return elem.nodeType === 1; + }); + + if ( isSimple.test( qualifier ) ) { + return jQuery.filter(qualifier, filtered, !keep); + } else { + qualifier = jQuery.filter( qualifier, filtered ); + } + } + + return jQuery.grep(elements, function( elem, i ) { + return ( jQuery.inArray( elem, qualifier ) >= 0 ) === keep; + }); +} +function createSafeFragment( document ) { + var list = nodeNames.split( "|" ), + safeFrag = document.createDocumentFragment(); + + if ( safeFrag.createElement ) { + while ( list.length ) { + safeFrag.createElement( + list.pop() + ); + } + } + return safeFrag; +} + +var nodeNames = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|" + + "header|hgroup|mark|meter|nav|output|progress|section|summary|time|video", + rinlinejQuery = / jQuery\d+="(?:null|\d+)"/g, + rleadingWhitespace = /^\s+/, + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi, + rtagName = /<([\w:]+)/, + rtbody = /]", "i"), + rcheckableType = /^(?:checkbox|radio)$/, + // checked="checked" or checked + rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i, + rscriptType = /\/(java|ecma)script/i, + rcleanScript = /^\s*\s*$/g, + wrapMap = { + option: [ 1, "" ], + legend: [ 1, "
    ", "
    " ], + thead: [ 1, "", "
    " ], + tr: [ 2, "", "
    " ], + td: [ 3, "", "
    " ], + col: [ 2, "", "
    " ], + area: [ 1, "", "" ], + _default: [ 0, "", "" ] + }, + safeFragment = createSafeFragment( document ), + fragmentDiv = safeFragment.appendChild( document.createElement("div") ); + +wrapMap.optgroup = wrapMap.option; +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + +// IE6-8 can't serialize link, script, style, or any html5 (NoScope) tags, +// unless wrapped in a div with non-breaking characters in front of it. +if ( !jQuery.support.htmlSerialize ) { + wrapMap._default = [ 1, "X
    ", "
    " ]; +} + +jQuery.fn.extend({ + text: function( value ) { + return jQuery.access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().append( ( this[0] && this[0].ownerDocument || document ).createTextNode( value ) ); + }, null, value, arguments.length ); + }, + + wrapAll: function( html ) { + if ( jQuery.isFunction( html ) ) { + return this.each(function(i) { + jQuery(this).wrapAll( html.call(this, i) ); + }); + } + + if ( this[0] ) { + // The elements to wrap the target around + var wrap = jQuery( html, this[0].ownerDocument ).eq(0).clone(true); + + if ( this[0].parentNode ) { + wrap.insertBefore( this[0] ); + } + + wrap.map(function() { + var elem = this; + + while ( elem.firstChild && elem.firstChild.nodeType === 1 ) { + elem = elem.firstChild; + } + + return elem; + }).append( this ); + } + + return this; + }, + + wrapInner: function( html ) { + if ( jQuery.isFunction( html ) ) { + return this.each(function(i) { + jQuery(this).wrapInner( html.call(this, i) ); + }); + } + + return this.each(function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + }); + }, + + wrap: function( html ) { + var isFunction = jQuery.isFunction( html ); + + return this.each(function(i) { + jQuery( this ).wrapAll( isFunction ? html.call(this, i) : html ); + }); + }, + + unwrap: function() { + return this.parent().each(function() { + if ( !jQuery.nodeName( this, "body" ) ) { + jQuery( this ).replaceWith( this.childNodes ); + } + }).end(); + }, + + append: function() { + return this.domManip(arguments, true, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 ) { + this.appendChild( elem ); + } + }); + }, + + prepend: function() { + return this.domManip(arguments, true, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 ) { + this.insertBefore( elem, this.firstChild ); + } + }); + }, + + before: function() { + if ( !isDisconnected( this[0] ) ) { + return this.domManip(arguments, false, function( elem ) { + this.parentNode.insertBefore( elem, this ); + }); + } + + if ( arguments.length ) { + var set = jQuery.clean( arguments ); + return this.pushStack( jQuery.merge( set, this ), "before", this.selector ); + } + }, + + after: function() { + if ( !isDisconnected( this[0] ) ) { + return this.domManip(arguments, false, function( elem ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + }); + } + + if ( arguments.length ) { + var set = jQuery.clean( arguments ); + return this.pushStack( jQuery.merge( this, set ), "after", this.selector ); + } + }, + + // keepData is for internal use only--do not document + remove: function( selector, keepData ) { + var elem, + i = 0; + + for ( ; (elem = this[i]) != null; i++ ) { + if ( !selector || jQuery.filter( selector, [ elem ] ).length ) { + if ( !keepData && elem.nodeType === 1 ) { + jQuery.cleanData( elem.getElementsByTagName("*") ); + jQuery.cleanData( [ elem ] ); + } + + if ( elem.parentNode ) { + elem.parentNode.removeChild( elem ); + } + } + } + + return this; + }, + + empty: function() { + var elem, + i = 0; + + for ( ; (elem = this[i]) != null; i++ ) { + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( elem.getElementsByTagName("*") ); + } + + // Remove any remaining nodes + while ( elem.firstChild ) { + elem.removeChild( elem.firstChild ); + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function () { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + }); + }, + + html: function( value ) { + return jQuery.access( this, function( value ) { + var elem = this[0] || {}, + i = 0, + l = this.length; + + if ( value === undefined ) { + return elem.nodeType === 1 ? + elem.innerHTML.replace( rinlinejQuery, "" ) : + undefined; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + ( jQuery.support.htmlSerialize || !rnoshimcache.test( value ) ) && + ( jQuery.support.leadingWhitespace || !rleadingWhitespace.test( value ) ) && + !wrapMap[ ( rtagName.exec( value ) || ["", ""] )[1].toLowerCase() ] ) { + + value = value.replace( rxhtmlTag, "<$1>" ); + + try { + for (; i < l; i++ ) { + // Remove element nodes and prevent memory leaks + elem = this[i] || {}; + if ( elem.nodeType === 1 ) { + jQuery.cleanData( elem.getElementsByTagName( "*" ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch(e) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function( value ) { + if ( !isDisconnected( this[0] ) ) { + // Make sure that the elements are removed from the DOM before they are inserted + // this can help fix replacing a parent with child elements + if ( jQuery.isFunction( value ) ) { + return this.each(function(i) { + var self = jQuery(this), old = self.html(); + self.replaceWith( value.call( this, i, old ) ); + }); + } + + if ( typeof value !== "string" ) { + value = jQuery( value ).detach(); + } + + return this.each(function() { + var next = this.nextSibling, + parent = this.parentNode; + + jQuery( this ).remove(); + + if ( next ) { + jQuery(next).before( value ); + } else { + jQuery(parent).append( value ); + } + }); + } + + return this.length ? + this.pushStack( jQuery(jQuery.isFunction(value) ? value() : value), "replaceWith", value ) : + this; + }, + + detach: function( selector ) { + return this.remove( selector, true ); + }, + + domManip: function( args, table, callback ) { + + // Flatten any nested arrays + args = [].concat.apply( [], args ); + + var results, first, fragment, iNoClone, + i = 0, + value = args[0], + scripts = [], + l = this.length; + + // We can't cloneNode fragments that contain checked, in WebKit + if ( !jQuery.support.checkClone && l > 1 && typeof value === "string" && rchecked.test( value ) ) { + return this.each(function() { + jQuery(this).domManip( args, table, callback ); + }); + } + + if ( jQuery.isFunction(value) ) { + return this.each(function(i) { + var self = jQuery(this); + args[0] = value.call( this, i, table ? self.html() : undefined ); + self.domManip( args, table, callback ); + }); + } + + if ( this[0] ) { + results = jQuery.buildFragment( args, this, scripts ); + fragment = results.fragment; + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + if ( first ) { + table = table && jQuery.nodeName( first, "tr" ); + + // Use the original fragment for the last item instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + // Fragments from the fragment cache must always be cloned and never used in place. + for ( iNoClone = results.cacheable || l - 1; i < l; i++ ) { + callback.call( + table && jQuery.nodeName( this[i], "table" ) ? + findOrAppend( this[i], "tbody" ) : + this[i], + i === iNoClone ? + fragment : + jQuery.clone( fragment, true, true ) + ); + } + } + + // Fix #11809: Avoid leaking memory + fragment = first = null; + + if ( scripts.length ) { + jQuery.each( scripts, function( i, elem ) { + if ( elem.src ) { + if ( jQuery.ajax ) { + jQuery.ajax({ + url: elem.src, + type: "GET", + dataType: "script", + async: false, + global: false, + "throws": true + }); + } else { + jQuery.error("no ajax"); + } + } else { + jQuery.globalEval( ( elem.text || elem.textContent || elem.innerHTML || "" ).replace( rcleanScript, "" ) ); + } + + if ( elem.parentNode ) { + elem.parentNode.removeChild( elem ); + } + }); + } + } + + return this; + } +}); + +function findOrAppend( elem, tag ) { + return elem.getElementsByTagName( tag )[0] || elem.appendChild( elem.ownerDocument.createElement( tag ) ); +} + +function cloneCopyEvent( src, dest ) { + + if ( dest.nodeType !== 1 || !jQuery.hasData( src ) ) { + return; + } + + var type, i, l, + oldData = jQuery._data( src ), + curData = jQuery._data( dest, oldData ), + events = oldData.events; + + if ( events ) { + delete curData.handle; + curData.events = {}; + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + + // make the cloned public data object a copy from the original + if ( curData.data ) { + curData.data = jQuery.extend( {}, curData.data ); + } +} + +function cloneFixAttributes( src, dest ) { + var nodeName; + + // We do not need to do anything for non-Elements + if ( dest.nodeType !== 1 ) { + return; + } + + // clearAttributes removes the attributes, which we don't want, + // but also removes the attachEvent events, which we *do* want + if ( dest.clearAttributes ) { + dest.clearAttributes(); + } + + // mergeAttributes, in contrast, only merges back on the + // original attributes, not the events + if ( dest.mergeAttributes ) { + dest.mergeAttributes( src ); + } + + nodeName = dest.nodeName.toLowerCase(); + + if ( nodeName === "object" ) { + // IE6-10 improperly clones children of object elements using classid. + // IE10 throws NoModificationAllowedError if parent is null, #12132. + if ( dest.parentNode ) { + dest.outerHTML = src.outerHTML; + } + + // This path appears unavoidable for IE9. When cloning an object + // element in IE9, the outerHTML strategy above is not sufficient. + // If the src has innerHTML and the destination does not, + // copy the src.innerHTML into the dest.innerHTML. #10324 + if ( jQuery.support.html5Clone && (src.innerHTML && !jQuery.trim(dest.innerHTML)) ) { + dest.innerHTML = src.innerHTML; + } + + } else if ( nodeName === "input" && rcheckableType.test( src.type ) ) { + // IE6-8 fails to persist the checked state of a cloned checkbox + // or radio button. Worse, IE6-7 fail to give the cloned element + // a checked appearance if the defaultChecked value isn't also set + + dest.defaultChecked = dest.checked = src.checked; + + // IE6-7 get confused and end up setting the value of a cloned + // checkbox/radio button to an empty string instead of "on" + if ( dest.value !== src.value ) { + dest.value = src.value; + } + + // IE6-8 fails to return the selected option to the default selected + // state when cloning options + } else if ( nodeName === "option" ) { + dest.selected = src.defaultSelected; + + // IE6-8 fails to set the defaultValue to the correct value when + // cloning other types of input fields + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + + // IE blanks contents when cloning scripts + } else if ( nodeName === "script" && dest.text !== src.text ) { + dest.text = src.text; + } + + // Event data gets referenced instead of copied if the expando + // gets copied too + dest.removeAttribute( jQuery.expando ); +} + +jQuery.buildFragment = function( args, context, scripts ) { + var fragment, cacheable, cachehit, + first = args[ 0 ]; + + // Set context from what may come in as undefined or a jQuery collection or a node + // Updated to fix #12266 where accessing context[0] could throw an exception in IE9/10 & + // also doubles as fix for #8950 where plain objects caused createDocumentFragment exception + context = context || document; + context = !context.nodeType && context[0] || context; + context = context.ownerDocument || context; + + // Only cache "small" (1/2 KB) HTML strings that are associated with the main document + // Cloning options loses the selected state, so don't cache them + // IE 6 doesn't like it when you put or elements in a fragment + // Also, WebKit does not clone 'checked' attributes on cloneNode, so don't cache + // Lastly, IE6,7,8 will not correctly reuse cached fragments that were created from unknown elems #10501 + if ( args.length === 1 && typeof first === "string" && first.length < 512 && context === document && + first.charAt(0) === "<" && !rnocache.test( first ) && + (jQuery.support.checkClone || !rchecked.test( first )) && + (jQuery.support.html5Clone || !rnoshimcache.test( first )) ) { + + // Mark cacheable and look for a hit + cacheable = true; + fragment = jQuery.fragments[ first ]; + cachehit = fragment !== undefined; + } + + if ( !fragment ) { + fragment = context.createDocumentFragment(); + jQuery.clean( args, context, fragment, scripts ); + + // Update the cache, but only store false + // unless this is a second parsing of the same content + if ( cacheable ) { + jQuery.fragments[ first ] = cachehit && fragment; + } + } + + return { fragment: fragment, cacheable: cacheable }; +}; + +jQuery.fragments = {}; + +jQuery.each({ + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + i = 0, + ret = [], + insert = jQuery( selector ), + l = insert.length, + parent = this.length === 1 && this[0].parentNode; + + if ( (parent == null || parent && parent.nodeType === 11 && parent.childNodes.length === 1) && l === 1 ) { + insert[ original ]( this[0] ); + return this; + } else { + for ( ; i < l; i++ ) { + elems = ( i > 0 ? this.clone(true) : this ).get(); + jQuery( insert[i] )[ original ]( elems ); + ret = ret.concat( elems ); + } + + return this.pushStack( ret, name, insert.selector ); + } + }; +}); + +function getAll( elem ) { + if ( typeof elem.getElementsByTagName !== "undefined" ) { + return elem.getElementsByTagName( "*" ); + + } else if ( typeof elem.querySelectorAll !== "undefined" ) { + return elem.querySelectorAll( "*" ); + + } else { + return []; + } +} + +// Used in clean, fixes the defaultChecked property +function fixDefaultChecked( elem ) { + if ( rcheckableType.test( elem.type ) ) { + elem.defaultChecked = elem.checked; + } +} + +jQuery.extend({ + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var srcElements, + destElements, + i, + clone; + + if ( jQuery.support.html5Clone || jQuery.isXMLDoc(elem) || !rnoshimcache.test( "<" + elem.nodeName + ">" ) ) { + clone = elem.cloneNode( true ); + + // IE<=8 does not properly clone detached, unknown element nodes + } else { + fragmentDiv.innerHTML = elem.outerHTML; + fragmentDiv.removeChild( clone = fragmentDiv.firstChild ); + } + + if ( (!jQuery.support.noCloneEvent || !jQuery.support.noCloneChecked) && + (elem.nodeType === 1 || elem.nodeType === 11) && !jQuery.isXMLDoc(elem) ) { + // IE copies events bound via attachEvent when using cloneNode. + // Calling detachEvent on the clone will also remove the events + // from the original. In order to get around this, we use some + // proprietary methods to clear the events. Thanks to MooTools + // guys for this hotness. + + cloneFixAttributes( elem, clone ); + + // Using Sizzle here is crazy slow, so we use getElementsByTagName instead + srcElements = getAll( elem ); + destElements = getAll( clone ); + + // Weird iteration because IE will replace the length property + // with an element if you are cloning the body and one of the + // elements on the page has a name or id of "length" + for ( i = 0; srcElements[i]; ++i ) { + // Ensure that the destination node is not null; Fixes #9587 + if ( destElements[i] ) { + cloneFixAttributes( srcElements[i], destElements[i] ); + } + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + cloneCopyEvent( elem, clone ); + + if ( deepDataAndEvents ) { + srcElements = getAll( elem ); + destElements = getAll( clone ); + + for ( i = 0; srcElements[i]; ++i ) { + cloneCopyEvent( srcElements[i], destElements[i] ); + } + } + } + + srcElements = destElements = null; + + // Return the cloned set + return clone; + }, + + clean: function( elems, context, fragment, scripts ) { + var i, j, elem, tag, wrap, depth, div, hasBody, tbody, len, handleScript, jsTags, + safe = context === document && safeFragment, + ret = []; + + // Ensure that context is a document + if ( !context || typeof context.createDocumentFragment === "undefined" ) { + context = document; + } + + // Use the already-created safe fragment if context permits + for ( i = 0; (elem = elems[i]) != null; i++ ) { + if ( typeof elem === "number" ) { + elem += ""; + } + + if ( !elem ) { + continue; + } + + // Convert html string into DOM nodes + if ( typeof elem === "string" ) { + if ( !rhtml.test( elem ) ) { + elem = context.createTextNode( elem ); + } else { + // Ensure a safe container in which to render the html + safe = safe || createSafeFragment( context ); + div = context.createElement("div"); + safe.appendChild( div ); + + // Fix "XHTML"-style tags in all browsers + elem = elem.replace(rxhtmlTag, "<$1>"); + + // Go to html and back, then peel off extra wrappers + tag = ( rtagName.exec( elem ) || ["", ""] )[1].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + depth = wrap[0]; + div.innerHTML = wrap[1] + elem + wrap[2]; + + // Move to the right depth + while ( depth-- ) { + div = div.lastChild; + } + + // Remove IE's autoinserted from table fragments + if ( !jQuery.support.tbody ) { + + // String was a , *may* have spurious + hasBody = rtbody.test(elem); + tbody = tag === "table" && !hasBody ? + div.firstChild && div.firstChild.childNodes : + + // String was a bare or + wrap[1] === "
    " && !hasBody ? + div.childNodes : + []; + + for ( j = tbody.length - 1; j >= 0 ; --j ) { + if ( jQuery.nodeName( tbody[ j ], "tbody" ) && !tbody[ j ].childNodes.length ) { + tbody[ j ].parentNode.removeChild( tbody[ j ] ); + } + } + } + + // IE completely kills leading whitespace when innerHTML is used + if ( !jQuery.support.leadingWhitespace && rleadingWhitespace.test( elem ) ) { + div.insertBefore( context.createTextNode( rleadingWhitespace.exec(elem)[0] ), div.firstChild ); + } + + elem = div.childNodes; + + // Take out of fragment container (we need a fresh div each time) + div.parentNode.removeChild( div ); + } + } + + if ( elem.nodeType ) { + ret.push( elem ); + } else { + jQuery.merge( ret, elem ); + } + } + + // Fix #11356: Clear elements from safeFragment + if ( div ) { + elem = div = safe = null; + } + + // Reset defaultChecked for any radios and checkboxes + // about to be appended to the DOM in IE 6/7 (#8060) + if ( !jQuery.support.appendChecked ) { + for ( i = 0; (elem = ret[i]) != null; i++ ) { + if ( jQuery.nodeName( elem, "input" ) ) { + fixDefaultChecked( elem ); + } else if ( typeof elem.getElementsByTagName !== "undefined" ) { + jQuery.grep( elem.getElementsByTagName("input"), fixDefaultChecked ); + } + } + } + + // Append elements to a provided document fragment + if ( fragment ) { + // Special handling of each script element + handleScript = function( elem ) { + // Check if we consider it executable + if ( !elem.type || rscriptType.test( elem.type ) ) { + // Detach the script and store it in the scripts array (if provided) or the fragment + // Return truthy to indicate that it has been handled + return scripts ? + scripts.push( elem.parentNode ? elem.parentNode.removeChild( elem ) : elem ) : + fragment.appendChild( elem ); + } + }; + + for ( i = 0; (elem = ret[i]) != null; i++ ) { + // Check if we're done after handling an executable script + if ( !( jQuery.nodeName( elem, "script" ) && handleScript( elem ) ) ) { + // Append to fragment and handle embedded scripts + fragment.appendChild( elem ); + if ( typeof elem.getElementsByTagName !== "undefined" ) { + // handleScript alters the DOM, so use jQuery.merge to ensure snapshot iteration + jsTags = jQuery.grep( jQuery.merge( [], elem.getElementsByTagName("script") ), handleScript ); + + // Splice the scripts into ret after their former ancestor and advance our index beyond them + ret.splice.apply( ret, [i + 1, 0].concat( jsTags ) ); + i += jsTags.length; + } + } + } + } + + return ret; + }, + + cleanData: function( elems, /* internal */ acceptData ) { + var data, id, elem, type, + i = 0, + internalKey = jQuery.expando, + cache = jQuery.cache, + deleteExpando = jQuery.support.deleteExpando, + special = jQuery.event.special; + + for ( ; (elem = elems[i]) != null; i++ ) { + + if ( acceptData || jQuery.acceptData( elem ) ) { + + id = elem[ internalKey ]; + data = id && cache[ id ]; + + if ( data ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Remove cache only if it was not already removed by jQuery.event.remove + if ( cache[ id ] ) { + + delete cache[ id ]; + + // IE does not allow us to delete expando properties from nodes, + // nor does it have a removeAttribute function on Document nodes; + // we must handle all of these cases + if ( deleteExpando ) { + delete elem[ internalKey ]; + + } else if ( elem.removeAttribute ) { + elem.removeAttribute( internalKey ); + + } else { + elem[ internalKey ] = null; + } + + jQuery.deletedIds.push( id ); + } + } + } + } + } +}); +// Limit scope pollution from any deprecated API +(function() { + +var matched, browser; + +// Use of jQuery.browser is frowned upon. +// More details: http://api.jquery.com/jQuery.browser +// jQuery.uaMatch maintained for back-compat +jQuery.uaMatch = function( ua ) { + ua = ua.toLowerCase(); + + var match = /(chrome)[ \/]([\w.]+)/.exec( ua ) || + /(webkit)[ \/]([\w.]+)/.exec( ua ) || + /(opera)(?:.*version|)[ \/]([\w.]+)/.exec( ua ) || + /(msie) ([\w.]+)/.exec( ua ) || + ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec( ua ) || + []; + + return { + browser: match[ 1 ] || "", + version: match[ 2 ] || "0" + }; +}; + +matched = jQuery.uaMatch( navigator.userAgent ); +browser = {}; + +if ( matched.browser ) { + browser[ matched.browser ] = true; + browser.version = matched.version; +} + +// Chrome is Webkit, but Webkit is also Safari. +if ( browser.chrome ) { + browser.webkit = true; +} else if ( browser.webkit ) { + browser.safari = true; +} + +jQuery.browser = browser; + +jQuery.sub = function() { + function jQuerySub( selector, context ) { + return new jQuerySub.fn.init( selector, context ); + } + jQuery.extend( true, jQuerySub, this ); + jQuerySub.superclass = this; + jQuerySub.fn = jQuerySub.prototype = this(); + jQuerySub.fn.constructor = jQuerySub; + jQuerySub.sub = this.sub; + jQuerySub.fn.init = function init( selector, context ) { + if ( context && context instanceof jQuery && !(context instanceof jQuerySub) ) { + context = jQuerySub( context ); + } + + return jQuery.fn.init.call( this, selector, context, rootjQuerySub ); + }; + jQuerySub.fn.init.prototype = jQuerySub.fn; + var rootjQuerySub = jQuerySub(document); + return jQuerySub; +}; + +})(); +var curCSS, iframe, iframeDoc, + ralpha = /alpha\([^)]*\)/i, + ropacity = /opacity=([^)]*)/, + rposition = /^(top|right|bottom|left)$/, + // swappable if display is none or starts with table except "table", "table-cell", or "table-caption" + // see here for display values: https://developer.mozilla.org/en-US/docs/CSS/display + rdisplayswap = /^(none|table(?!-c[ea]).+)/, + rmargin = /^margin/, + rnumsplit = new RegExp( "^(" + core_pnum + ")(.*)$", "i" ), + rnumnonpx = new RegExp( "^(" + core_pnum + ")(?!px)[a-z%]+$", "i" ), + rrelNum = new RegExp( "^([-+])=(" + core_pnum + ")", "i" ), + elemdisplay = {}, + + cssShow = { position: "absolute", visibility: "hidden", display: "block" }, + cssNormalTransform = { + letterSpacing: 0, + fontWeight: 400 + }, + + cssExpand = [ "Top", "Right", "Bottom", "Left" ], + cssPrefixes = [ "Webkit", "O", "Moz", "ms" ], + + eventsToggle = jQuery.fn.toggle; + +// return a css property mapped to a potentially vendor prefixed property +function vendorPropName( style, name ) { + + // shortcut for names that are not vendor prefixed + if ( name in style ) { + return name; + } + + // check for vendor prefixed names + var capName = name.charAt(0).toUpperCase() + name.slice(1), + origName = name, + i = cssPrefixes.length; + + while ( i-- ) { + name = cssPrefixes[ i ] + capName; + if ( name in style ) { + return name; + } + } + + return origName; +} + +function isHidden( elem, el ) { + elem = el || elem; + return jQuery.css( elem, "display" ) === "none" || !jQuery.contains( elem.ownerDocument, elem ); +} + +function showHide( elements, show ) { + var elem, display, + values = [], + index = 0, + length = elements.length; + + for ( ; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + values[ index ] = jQuery._data( elem, "olddisplay" ); + if ( show ) { + // Reset the inline display of this element to learn if it is + // being hidden by cascaded rules or not + if ( !values[ index ] && elem.style.display === "none" ) { + elem.style.display = ""; + } + + // Set elements which have been overridden with display: none + // in a stylesheet to whatever the default browser style is + // for such an element + if ( elem.style.display === "" && isHidden( elem ) ) { + values[ index ] = jQuery._data( elem, "olddisplay", css_defaultDisplay(elem.nodeName) ); + } + } else { + display = curCSS( elem, "display" ); + + if ( !values[ index ] && display !== "none" ) { + jQuery._data( elem, "olddisplay", display ); + } + } + } + + // Set the display of most of the elements in a second loop + // to avoid the constant reflow + for ( index = 0; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + if ( !show || elem.style.display === "none" || elem.style.display === "" ) { + elem.style.display = show ? values[ index ] || "" : "none"; + } + } + + return elements; +} + +jQuery.fn.extend({ + css: function( name, value ) { + return jQuery.access( this, function( elem, name, value ) { + return value !== undefined ? + jQuery.style( elem, name, value ) : + jQuery.css( elem, name ); + }, name, value, arguments.length > 1 ); + }, + show: function() { + return showHide( this, true ); + }, + hide: function() { + return showHide( this ); + }, + toggle: function( state, fn2 ) { + var bool = typeof state === "boolean"; + + if ( jQuery.isFunction( state ) && jQuery.isFunction( fn2 ) ) { + return eventsToggle.apply( this, arguments ); + } + + return this.each(function() { + if ( bool ? state : isHidden( this ) ) { + jQuery( this ).show(); + } else { + jQuery( this ).hide(); + } + }); + } +}); + +jQuery.extend({ + // Add in style property hooks for overriding the default + // behavior of getting and setting a style property + cssHooks: { + opacity: { + get: function( elem, computed ) { + if ( computed ) { + // We should always get a number back from opacity + var ret = curCSS( elem, "opacity" ); + return ret === "" ? "1" : ret; + + } + } + } + }, + + // Exclude the following css properties to add px + cssNumber: { + "fillOpacity": true, + "fontWeight": true, + "lineHeight": true, + "opacity": true, + "orphans": true, + "widows": true, + "zIndex": true, + "zoom": true + }, + + // Add in properties whose names you wish to fix before + // setting or getting the value + cssProps: { + // normalize float css property + "float": jQuery.support.cssFloat ? "cssFloat" : "styleFloat" + }, + + // Get and set the style property on a DOM Node + style: function( elem, name, value, extra ) { + // Don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { + return; + } + + // Make sure that we're working with the right name + var ret, type, hooks, + origName = jQuery.camelCase( name ), + style = elem.style; + + name = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( style, origName ) ); + + // gets hook for the prefixed version + // followed by the unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // Check if we're setting a value + if ( value !== undefined ) { + type = typeof value; + + // convert relative number strings (+= or -=) to relative numbers. #7345 + if ( type === "string" && (ret = rrelNum.exec( value )) ) { + value = ( ret[1] + 1 ) * ret[2] + parseFloat( jQuery.css( elem, name ) ); + // Fixes bug #9237 + type = "number"; + } + + // Make sure that NaN and null values aren't set. See: #7116 + if ( value == null || type === "number" && isNaN( value ) ) { + return; + } + + // If a number was passed in, add 'px' to the (except for certain CSS properties) + if ( type === "number" && !jQuery.cssNumber[ origName ] ) { + value += "px"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if ( !hooks || !("set" in hooks) || (value = hooks.set( elem, value, extra )) !== undefined ) { + // Wrapped to prevent IE from throwing errors when 'invalid' values are provided + // Fixes bug #5509 + try { + style[ name ] = value; + } catch(e) {} + } + + } else { + // If a hook was provided get the non-computed value from there + if ( hooks && "get" in hooks && (ret = hooks.get( elem, false, extra )) !== undefined ) { + return ret; + } + + // Otherwise just get the value from the style object + return style[ name ]; + } + }, + + css: function( elem, name, numeric, extra ) { + var val, num, hooks, + origName = jQuery.camelCase( name ); + + // Make sure that we're working with the right name + name = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( elem.style, origName ) ); + + // gets hook for the prefixed version + // followed by the unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks ) { + val = hooks.get( elem, true, extra ); + } + + // Otherwise, if a way to get the computed value exists, use that + if ( val === undefined ) { + val = curCSS( elem, name ); + } + + //convert "normal" to computed value + if ( val === "normal" && name in cssNormalTransform ) { + val = cssNormalTransform[ name ]; + } + + // Return, converting to number if forced or a qualifier was provided and val looks numeric + if ( numeric || extra !== undefined ) { + num = parseFloat( val ); + return numeric || jQuery.isNumeric( num ) ? num || 0 : val; + } + return val; + }, + + // A method for quickly swapping in/out CSS properties to get correct calculations + swap: function( elem, options, callback ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.call( elem ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; + } +}); + +// NOTE: To any future maintainer, we've window.getComputedStyle +// because jsdom on node.js will break without it. +if ( window.getComputedStyle ) { + curCSS = function( elem, name ) { + var ret, width, minWidth, maxWidth, + computed = window.getComputedStyle( elem, null ), + style = elem.style; + + if ( computed ) { + + ret = computed[ name ]; + if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) { + ret = jQuery.style( elem, name ); + } + + // A tribute to the "awesome hack by Dean Edwards" + // Chrome < 17 and Safari 5.0 uses "computed value" instead of "used value" for margin-right + // Safari 5.1.7 (at least) returns percentage for a larger set of values, but width seems to be reliably pixels + // this is against the CSSOM draft spec: http://dev.w3.org/csswg/cssom/#resolved-values + if ( rnumnonpx.test( ret ) && rmargin.test( name ) ) { + width = style.width; + minWidth = style.minWidth; + maxWidth = style.maxWidth; + + style.minWidth = style.maxWidth = style.width = ret; + ret = computed.width; + + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; + } + } + + return ret; + }; +} else if ( document.documentElement.currentStyle ) { + curCSS = function( elem, name ) { + var left, rsLeft, + ret = elem.currentStyle && elem.currentStyle[ name ], + style = elem.style; + + // Avoid setting ret to empty string here + // so we don't default to auto + if ( ret == null && style && style[ name ] ) { + ret = style[ name ]; + } + + // From the awesome hack by Dean Edwards + // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291 + + // If we're not dealing with a regular pixel number + // but a number that has a weird ending, we need to convert it to pixels + // but not position css attributes, as those are proportional to the parent element instead + // and we can't measure the parent instead because it might trigger a "stacking dolls" problem + if ( rnumnonpx.test( ret ) && !rposition.test( name ) ) { + + // Remember the original values + left = style.left; + rsLeft = elem.runtimeStyle && elem.runtimeStyle.left; + + // Put in the new values to get a computed value out + if ( rsLeft ) { + elem.runtimeStyle.left = elem.currentStyle.left; + } + style.left = name === "fontSize" ? "1em" : ret; + ret = style.pixelLeft + "px"; + + // Revert the changed values + style.left = left; + if ( rsLeft ) { + elem.runtimeStyle.left = rsLeft; + } + } + + return ret === "" ? "auto" : ret; + }; +} + +function setPositiveNumber( elem, value, subtract ) { + var matches = rnumsplit.exec( value ); + return matches ? + Math.max( 0, matches[ 1 ] - ( subtract || 0 ) ) + ( matches[ 2 ] || "px" ) : + value; +} + +function augmentWidthOrHeight( elem, name, extra, isBorderBox ) { + var i = extra === ( isBorderBox ? "border" : "content" ) ? + // If we already have the right measurement, avoid augmentation + 4 : + // Otherwise initialize for horizontal or vertical properties + name === "width" ? 1 : 0, + + val = 0; + + for ( ; i < 4; i += 2 ) { + // both box models exclude margin, so add it if we want it + if ( extra === "margin" ) { + // we use jQuery.css instead of curCSS here + // because of the reliableMarginRight CSS hook! + val += jQuery.css( elem, extra + cssExpand[ i ], true ); + } + + // From this point on we use curCSS for maximum performance (relevant in animations) + if ( isBorderBox ) { + // border-box includes padding, so remove it if we want content + if ( extra === "content" ) { + val -= parseFloat( curCSS( elem, "padding" + cssExpand[ i ] ) ) || 0; + } + + // at this point, extra isn't border nor margin, so remove border + if ( extra !== "margin" ) { + val -= parseFloat( curCSS( elem, "border" + cssExpand[ i ] + "Width" ) ) || 0; + } + } else { + // at this point, extra isn't content, so add padding + val += parseFloat( curCSS( elem, "padding" + cssExpand[ i ] ) ) || 0; + + // at this point, extra isn't content nor padding, so add border + if ( extra !== "padding" ) { + val += parseFloat( curCSS( elem, "border" + cssExpand[ i ] + "Width" ) ) || 0; + } + } + } + + return val; +} + +function getWidthOrHeight( elem, name, extra ) { + + // Start with offset property, which is equivalent to the border-box value + var val = name === "width" ? elem.offsetWidth : elem.offsetHeight, + valueIsBorderBox = true, + isBorderBox = jQuery.support.boxSizing && jQuery.css( elem, "boxSizing" ) === "border-box"; + + // some non-html elements return undefined for offsetWidth, so check for null/undefined + // svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285 + // MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668 + if ( val <= 0 || val == null ) { + // Fall back to computed then uncomputed css if necessary + val = curCSS( elem, name ); + if ( val < 0 || val == null ) { + val = elem.style[ name ]; + } + + // Computed unit is not pixels. Stop here and return. + if ( rnumnonpx.test(val) ) { + return val; + } + + // we need the check for style in case a browser which returns unreliable values + // for getComputedStyle silently falls back to the reliable elem.style + valueIsBorderBox = isBorderBox && ( jQuery.support.boxSizingReliable || val === elem.style[ name ] ); + + // Normalize "", auto, and prepare for extra + val = parseFloat( val ) || 0; + } + + // use the active box-sizing model to add/subtract irrelevant styles + return ( val + + augmentWidthOrHeight( + elem, + name, + extra || ( isBorderBox ? "border" : "content" ), + valueIsBorderBox + ) + ) + "px"; +} + + +// Try to determine the default display value of an element +function css_defaultDisplay( nodeName ) { + if ( elemdisplay[ nodeName ] ) { + return elemdisplay[ nodeName ]; + } + + var elem = jQuery( "<" + nodeName + ">" ).appendTo( document.body ), + display = elem.css("display"); + elem.remove(); + + // If the simple way fails, + // get element's real default display by attaching it to a temp iframe + if ( display === "none" || display === "" ) { + // Use the already-created iframe if possible + iframe = document.body.appendChild( + iframe || jQuery.extend( document.createElement("iframe"), { + frameBorder: 0, + width: 0, + height: 0 + }) + ); + + // Create a cacheable copy of the iframe document on first call. + // IE and Opera will allow us to reuse the iframeDoc without re-writing the fake HTML + // document to it; WebKit & Firefox won't allow reusing the iframe document. + if ( !iframeDoc || !iframe.createElement ) { + iframeDoc = ( iframe.contentWindow || iframe.contentDocument ).document; + iframeDoc.write(""); + iframeDoc.close(); + } + + elem = iframeDoc.body.appendChild( iframeDoc.createElement(nodeName) ); + + display = curCSS( elem, "display" ); + document.body.removeChild( iframe ); + } + + // Store the correct default display + elemdisplay[ nodeName ] = display; + + return display; +} + +jQuery.each([ "height", "width" ], function( i, name ) { + jQuery.cssHooks[ name ] = { + get: function( elem, computed, extra ) { + if ( computed ) { + // certain elements can have dimension info if we invisibly show them + // however, it must have a current display style that would benefit from this + if ( elem.offsetWidth === 0 && rdisplayswap.test( curCSS( elem, "display" ) ) ) { + return jQuery.swap( elem, cssShow, function() { + return getWidthOrHeight( elem, name, extra ); + }); + } else { + return getWidthOrHeight( elem, name, extra ); + } + } + }, + + set: function( elem, value, extra ) { + return setPositiveNumber( elem, value, extra ? + augmentWidthOrHeight( + elem, + name, + extra, + jQuery.support.boxSizing && jQuery.css( elem, "boxSizing" ) === "border-box" + ) : 0 + ); + } + }; +}); + +if ( !jQuery.support.opacity ) { + jQuery.cssHooks.opacity = { + get: function( elem, computed ) { + // IE uses filters for opacity + return ropacity.test( (computed && elem.currentStyle ? elem.currentStyle.filter : elem.style.filter) || "" ) ? + ( 0.01 * parseFloat( RegExp.$1 ) ) + "" : + computed ? "1" : ""; + }, + + set: function( elem, value ) { + var style = elem.style, + currentStyle = elem.currentStyle, + opacity = jQuery.isNumeric( value ) ? "alpha(opacity=" + value * 100 + ")" : "", + filter = currentStyle && currentStyle.filter || style.filter || ""; + + // IE has trouble with opacity if it does not have layout + // Force it by setting the zoom level + style.zoom = 1; + + // if setting opacity to 1, and no other filters exist - attempt to remove filter attribute #6652 + if ( value >= 1 && jQuery.trim( filter.replace( ralpha, "" ) ) === "" && + style.removeAttribute ) { + + // Setting style.filter to null, "" & " " still leave "filter:" in the cssText + // if "filter:" is present at all, clearType is disabled, we want to avoid this + // style.removeAttribute is IE Only, but so apparently is this code path... + style.removeAttribute( "filter" ); + + // if there there is no filter style applied in a css rule, we are done + if ( currentStyle && !currentStyle.filter ) { + return; + } + } + + // otherwise, set new filter values + style.filter = ralpha.test( filter ) ? + filter.replace( ralpha, opacity ) : + filter + " " + opacity; + } + }; +} + +// These hooks cannot be added until DOM ready because the support test +// for it is not run until after DOM ready +jQuery(function() { + if ( !jQuery.support.reliableMarginRight ) { + jQuery.cssHooks.marginRight = { + get: function( elem, computed ) { + // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right + // Work around by temporarily setting element display to inline-block + return jQuery.swap( elem, { "display": "inline-block" }, function() { + if ( computed ) { + return curCSS( elem, "marginRight" ); + } + }); + } + }; + } + + // Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084 + // getComputedStyle returns percent when specified for top/left/bottom/right + // rather than make the css module depend on the offset module, we just check for it here + if ( !jQuery.support.pixelPosition && jQuery.fn.position ) { + jQuery.each( [ "top", "left" ], function( i, prop ) { + jQuery.cssHooks[ prop ] = { + get: function( elem, computed ) { + if ( computed ) { + var ret = curCSS( elem, prop ); + // if curCSS returns percentage, fallback to offset + return rnumnonpx.test( ret ) ? jQuery( elem ).position()[ prop ] + "px" : ret; + } + } + }; + }); + } + +}); + +if ( jQuery.expr && jQuery.expr.filters ) { + jQuery.expr.filters.hidden = function( elem ) { + return ( elem.offsetWidth === 0 && elem.offsetHeight === 0 ) || (!jQuery.support.reliableHiddenOffsets && ((elem.style && elem.style.display) || curCSS( elem, "display" )) === "none"); + }; + + jQuery.expr.filters.visible = function( elem ) { + return !jQuery.expr.filters.hidden( elem ); + }; +} + +// These hooks are used by animate to expand properties +jQuery.each({ + margin: "", + padding: "", + border: "Width" +}, function( prefix, suffix ) { + jQuery.cssHooks[ prefix + suffix ] = { + expand: function( value ) { + var i, + + // assumes a single number if not a string + parts = typeof value === "string" ? value.split(" ") : [ value ], + expanded = {}; + + for ( i = 0; i < 4; i++ ) { + expanded[ prefix + cssExpand[ i ] + suffix ] = + parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; + } + + return expanded; + } + }; + + if ( !rmargin.test( prefix ) ) { + jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; + } +}); +var r20 = /%20/g, + rbracket = /\[\]$/, + rCRLF = /\r?\n/g, + rinput = /^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i, + rselectTextarea = /^(?:select|textarea)/i; + +jQuery.fn.extend({ + serialize: function() { + return jQuery.param( this.serializeArray() ); + }, + serializeArray: function() { + return this.map(function(){ + return this.elements ? jQuery.makeArray( this.elements ) : this; + }) + .filter(function(){ + return this.name && !this.disabled && + ( this.checked || rselectTextarea.test( this.nodeName ) || + rinput.test( this.type ) ); + }) + .map(function( i, elem ){ + var val = jQuery( this ).val(); + + return val == null ? + null : + jQuery.isArray( val ) ? + jQuery.map( val, function( val, i ){ + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + }) : + { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + }).get(); + } +}); + +//Serialize an array of form elements or a set of +//key/values into a query string +jQuery.param = function( a, traditional ) { + var prefix, + s = [], + add = function( key, value ) { + // If value is a function, invoke it and return its value + value = jQuery.isFunction( value ) ? value() : ( value == null ? "" : value ); + s[ s.length ] = encodeURIComponent( key ) + "=" + encodeURIComponent( value ); + }; + + // Set traditional to true for jQuery <= 1.3.2 behavior. + if ( traditional === undefined ) { + traditional = jQuery.ajaxSettings && jQuery.ajaxSettings.traditional; + } + + // If an array was passed in, assume that it is an array of form elements. + if ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { + // Serialize the form elements + jQuery.each( a, function() { + add( this.name, this.value ); + }); + + } else { + // If traditional, encode the "old" way (the way 1.3.2 or older + // did it), otherwise encode params recursively. + for ( prefix in a ) { + buildParams( prefix, a[ prefix ], traditional, add ); + } + } + + // Return the resulting serialization + return s.join( "&" ).replace( r20, "+" ); +}; + +function buildParams( prefix, obj, traditional, add ) { + var name; + + if ( jQuery.isArray( obj ) ) { + // Serialize array item. + jQuery.each( obj, function( i, v ) { + if ( traditional || rbracket.test( prefix ) ) { + // Treat each array item as a scalar. + add( prefix, v ); + + } else { + // If array item is non-scalar (array or object), encode its + // numeric index to resolve deserialization ambiguity issues. + // Note that rack (as of 1.0.0) can't currently deserialize + // nested arrays properly, and attempting to do so may cause + // a server error. Possible fixes are to modify rack's + // deserialization algorithm or to provide an option or flag + // to force array serialization to be shallow. + buildParams( prefix + "[" + ( typeof v === "object" ? i : "" ) + "]", v, traditional, add ); + } + }); + + } else if ( !traditional && jQuery.type( obj ) === "object" ) { + // Serialize object item. + for ( name in obj ) { + buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); + } + + } else { + // Serialize scalar item. + add( prefix, obj ); + } +} +var + // Document location + ajaxLocParts, + ajaxLocation, + + rhash = /#.*$/, + rheaders = /^(.*?):[ \t]*([^\r\n]*)\r?$/mg, // IE leaves an \r character at EOL + // #7653, #8125, #8152: local protocol detection + rlocalProtocol = /^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/, + rnoContent = /^(?:GET|HEAD)$/, + rprotocol = /^\/\//, + rquery = /\?/, + rscript = /)<[^<]*)*<\/script>/gi, + rts = /([?&])_=[^&]*/, + rurl = /^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/, + + // Keep a copy of the old load method + _load = jQuery.fn.load, + + /* Prefilters + * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) + * 2) These are called: + * - BEFORE asking for a transport + * - AFTER param serialization (s.data is a string if s.processData is true) + * 3) key is the dataType + * 4) the catchall symbol "*" can be used + * 5) execution will start with transport dataType and THEN continue down to "*" if needed + */ + prefilters = {}, + + /* Transports bindings + * 1) key is the dataType + * 2) the catchall symbol "*" can be used + * 3) selection will start with transport dataType and THEN go to "*" if needed + */ + transports = {}, + + // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression + allTypes = ["*/"] + ["*"]; + +// #8138, IE may throw an exception when accessing +// a field from window.location if document.domain has been set +try { + ajaxLocation = location.href; +} catch( e ) { + // Use the href attribute of an A element + // since IE will modify it given document.location + ajaxLocation = document.createElement( "a" ); + ajaxLocation.href = ""; + ajaxLocation = ajaxLocation.href; +} + +// Segment location into parts +ajaxLocParts = rurl.exec( ajaxLocation.toLowerCase() ) || []; + +// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport +function addToPrefiltersOrTransports( structure ) { + + // dataTypeExpression is optional and defaults to "*" + return function( dataTypeExpression, func ) { + + if ( typeof dataTypeExpression !== "string" ) { + func = dataTypeExpression; + dataTypeExpression = "*"; + } + + var dataType, list, placeBefore, + dataTypes = dataTypeExpression.toLowerCase().split( core_rspace ), + i = 0, + length = dataTypes.length; + + if ( jQuery.isFunction( func ) ) { + // For each dataType in the dataTypeExpression + for ( ; i < length; i++ ) { + dataType = dataTypes[ i ]; + // We control if we're asked to add before + // any existing element + placeBefore = /^\+/.test( dataType ); + if ( placeBefore ) { + dataType = dataType.substr( 1 ) || "*"; + } + list = structure[ dataType ] = structure[ dataType ] || []; + // then we add to the structure accordingly + list[ placeBefore ? "unshift" : "push" ]( func ); + } + } + }; +} + +// Base inspection function for prefilters and transports +function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR, + dataType /* internal */, inspected /* internal */ ) { + + dataType = dataType || options.dataTypes[ 0 ]; + inspected = inspected || {}; + + inspected[ dataType ] = true; + + var selection, + list = structure[ dataType ], + i = 0, + length = list ? list.length : 0, + executeOnly = ( structure === prefilters ); + + for ( ; i < length && ( executeOnly || !selection ); i++ ) { + selection = list[ i ]( options, originalOptions, jqXHR ); + // If we got redirected to another dataType + // we try there if executing only and not done already + if ( typeof selection === "string" ) { + if ( !executeOnly || inspected[ selection ] ) { + selection = undefined; + } else { + options.dataTypes.unshift( selection ); + selection = inspectPrefiltersOrTransports( + structure, options, originalOptions, jqXHR, selection, inspected ); + } + } + } + // If we're only executing or nothing was selected + // we try the catchall dataType if not done already + if ( ( executeOnly || !selection ) && !inspected[ "*" ] ) { + selection = inspectPrefiltersOrTransports( + structure, options, originalOptions, jqXHR, "*", inspected ); + } + // unnecessary when only executing (prefilters) + // but it'll be ignored by the caller in that case + return selection; +} + +// A special extend for ajax options +// that takes "flat" options (not to be deep extended) +// Fixes #9887 +function ajaxExtend( target, src ) { + var key, deep, + flatOptions = jQuery.ajaxSettings.flatOptions || {}; + for ( key in src ) { + if ( src[ key ] !== undefined ) { + ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; + } + } + if ( deep ) { + jQuery.extend( true, target, deep ); + } +} + +jQuery.fn.load = function( url, params, callback ) { + if ( typeof url !== "string" && _load ) { + return _load.apply( this, arguments ); + } + + // Don't do a request if no elements are being requested + if ( !this.length ) { + return this; + } + + var selector, type, response, + self = this, + off = url.indexOf(" "); + + if ( off >= 0 ) { + selector = url.slice( off, url.length ); + url = url.slice( 0, off ); + } + + // If it's a function + if ( jQuery.isFunction( params ) ) { + + // We assume that it's the callback + callback = params; + params = undefined; + + // Otherwise, build a param string + } else if ( params && typeof params === "object" ) { + type = "POST"; + } + + // Request the remote document + jQuery.ajax({ + url: url, + + // if "type" variable is undefined, then "GET" method will be used + type: type, + dataType: "html", + data: params, + complete: function( jqXHR, status ) { + if ( callback ) { + self.each( callback, response || [ jqXHR.responseText, status, jqXHR ] ); + } + } + }).done(function( responseText ) { + + // Save response for use in complete callback + response = arguments; + + // See if a selector was specified + self.html( selector ? + + // Create a dummy div to hold the results + jQuery("
    ") + + // inject the contents of the document in, removing the scripts + // to avoid any 'Permission Denied' errors in IE + .append( responseText.replace( rscript, "" ) ) + + // Locate the specified elements + .find( selector ) : + + // If not, just inject the full result + responseText ); + + }); + + return this; +}; + +// Attach a bunch of functions for handling common AJAX events +jQuery.each( "ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split( " " ), function( i, o ){ + jQuery.fn[ o ] = function( f ){ + return this.on( o, f ); + }; +}); + +jQuery.each( [ "get", "post" ], function( i, method ) { + jQuery[ method ] = function( url, data, callback, type ) { + // shift arguments if data argument was omitted + if ( jQuery.isFunction( data ) ) { + type = type || callback; + callback = data; + data = undefined; + } + + return jQuery.ajax({ + type: method, + url: url, + data: data, + success: callback, + dataType: type + }); + }; +}); + +jQuery.extend({ + + getScript: function( url, callback ) { + return jQuery.get( url, undefined, callback, "script" ); + }, + + getJSON: function( url, data, callback ) { + return jQuery.get( url, data, callback, "json" ); + }, + + // Creates a full fledged settings object into target + // with both ajaxSettings and settings fields. + // If target is omitted, writes into ajaxSettings. + ajaxSetup: function( target, settings ) { + if ( settings ) { + // Building a settings object + ajaxExtend( target, jQuery.ajaxSettings ); + } else { + // Extending ajaxSettings + settings = target; + target = jQuery.ajaxSettings; + } + ajaxExtend( target, settings ); + return target; + }, + + ajaxSettings: { + url: ajaxLocation, + isLocal: rlocalProtocol.test( ajaxLocParts[ 1 ] ), + global: true, + type: "GET", + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + processData: true, + async: true, + /* + timeout: 0, + data: null, + dataType: null, + username: null, + password: null, + cache: null, + throws: false, + traditional: false, + headers: {}, + */ + + accepts: { + xml: "application/xml, text/xml", + html: "text/html", + text: "text/plain", + json: "application/json, text/javascript", + "*": allTypes + }, + + contents: { + xml: /xml/, + html: /html/, + json: /json/ + }, + + responseFields: { + xml: "responseXML", + text: "responseText" + }, + + // List of data converters + // 1) key format is "source_type destination_type" (a single space in-between) + // 2) the catchall symbol "*" can be used for source_type + converters: { + + // Convert anything to text + "* text": window.String, + + // Text to html (true = no transformation) + "text html": true, + + // Evaluate text as a json expression + "text json": jQuery.parseJSON, + + // Parse text as xml + "text xml": jQuery.parseXML + }, + + // For options that shouldn't be deep extended: + // you can add your own custom options here if + // and when you create one that shouldn't be + // deep extended (see ajaxExtend) + flatOptions: { + context: true, + url: true + } + }, + + ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), + ajaxTransport: addToPrefiltersOrTransports( transports ), + + // Main method + ajax: function( url, options ) { + + // If url is an object, simulate pre-1.5 signature + if ( typeof url === "object" ) { + options = url; + url = undefined; + } + + // Force options to be an object + options = options || {}; + + var // ifModified key + ifModifiedKey, + // Response headers + responseHeadersString, + responseHeaders, + // transport + transport, + // timeout handle + timeoutTimer, + // Cross-domain detection vars + parts, + // To know if global events are to be dispatched + fireGlobals, + // Loop variable + i, + // Create the final options object + s = jQuery.ajaxSetup( {}, options ), + // Callbacks context + callbackContext = s.context || s, + // Context for global events + // It's the callbackContext if one was provided in the options + // and if it's a DOM node or a jQuery collection + globalEventContext = callbackContext !== s && + ( callbackContext.nodeType || callbackContext instanceof jQuery ) ? + jQuery( callbackContext ) : jQuery.event, + // Deferreds + deferred = jQuery.Deferred(), + completeDeferred = jQuery.Callbacks( "once memory" ), + // Status-dependent callbacks + statusCode = s.statusCode || {}, + // Headers (they are sent all at once) + requestHeaders = {}, + requestHeadersNames = {}, + // The jqXHR state + state = 0, + // Default abort message + strAbort = "canceled", + // Fake xhr + jqXHR = { + + readyState: 0, + + // Caches the header + setRequestHeader: function( name, value ) { + if ( !state ) { + var lname = name.toLowerCase(); + name = requestHeadersNames[ lname ] = requestHeadersNames[ lname ] || name; + requestHeaders[ name ] = value; + } + return this; + }, + + // Raw string + getAllResponseHeaders: function() { + return state === 2 ? responseHeadersString : null; + }, + + // Builds headers hashtable if needed + getResponseHeader: function( key ) { + var match; + if ( state === 2 ) { + if ( !responseHeaders ) { + responseHeaders = {}; + while( ( match = rheaders.exec( responseHeadersString ) ) ) { + responseHeaders[ match[1].toLowerCase() ] = match[ 2 ]; + } + } + match = responseHeaders[ key.toLowerCase() ]; + } + return match === undefined ? null : match; + }, + + // Overrides response content-type header + overrideMimeType: function( type ) { + if ( !state ) { + s.mimeType = type; + } + return this; + }, + + // Cancel the request + abort: function( statusText ) { + statusText = statusText || strAbort; + if ( transport ) { + transport.abort( statusText ); + } + done( 0, statusText ); + return this; + } + }; + + // Callback for when everything is done + // It is defined here because jslint complains if it is declared + // at the end of the function (which would be more logical and readable) + function done( status, nativeStatusText, responses, headers ) { + var isSuccess, success, error, response, modified, + statusText = nativeStatusText; + + // Called once + if ( state === 2 ) { + return; + } + + // State is "done" now + state = 2; + + // Clear timeout if it exists + if ( timeoutTimer ) { + clearTimeout( timeoutTimer ); + } + + // Dereference transport for early garbage collection + // (no matter how long the jqXHR object will be used) + transport = undefined; + + // Cache response headers + responseHeadersString = headers || ""; + + // Set readyState + jqXHR.readyState = status > 0 ? 4 : 0; + + // Get response data + if ( responses ) { + response = ajaxHandleResponses( s, jqXHR, responses ); + } + + // If successful, handle type chaining + if ( status >= 200 && status < 300 || status === 304 ) { + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + + modified = jqXHR.getResponseHeader("Last-Modified"); + if ( modified ) { + jQuery.lastModified[ ifModifiedKey ] = modified; + } + modified = jqXHR.getResponseHeader("Etag"); + if ( modified ) { + jQuery.etag[ ifModifiedKey ] = modified; + } + } + + // If not modified + if ( status === 304 ) { + + statusText = "notmodified"; + isSuccess = true; + + // If we have data + } else { + + isSuccess = ajaxConvert( s, response ); + statusText = isSuccess.state; + success = isSuccess.data; + error = isSuccess.error; + isSuccess = !error; + } + } else { + // We extract error from statusText + // then normalize statusText and status for non-aborts + error = statusText; + if ( !statusText || status ) { + statusText = "error"; + if ( status < 0 ) { + status = 0; + } + } + } + + // Set data for the fake xhr object + jqXHR.status = status; + jqXHR.statusText = ( nativeStatusText || statusText ) + ""; + + // Success/Error + if ( isSuccess ) { + deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); + } else { + deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); + } + + // Status-dependent callbacks + jqXHR.statusCode( statusCode ); + statusCode = undefined; + + if ( fireGlobals ) { + globalEventContext.trigger( "ajax" + ( isSuccess ? "Success" : "Error" ), + [ jqXHR, s, isSuccess ? success : error ] ); + } + + // Complete + completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); + + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); + // Handle the global AJAX counter + if ( !( --jQuery.active ) ) { + jQuery.event.trigger( "ajaxStop" ); + } + } + } + + // Attach deferreds + deferred.promise( jqXHR ); + jqXHR.success = jqXHR.done; + jqXHR.error = jqXHR.fail; + jqXHR.complete = completeDeferred.add; + + // Status-dependent callbacks + jqXHR.statusCode = function( map ) { + if ( map ) { + var tmp; + if ( state < 2 ) { + for ( tmp in map ) { + statusCode[ tmp ] = [ statusCode[tmp], map[tmp] ]; + } + } else { + tmp = map[ jqXHR.status ]; + jqXHR.always( tmp ); + } + } + return this; + }; + + // Remove hash character (#7531: and string promotion) + // Add protocol if not provided (#5866: IE7 issue with protocol-less urls) + // We also use the url parameter if available + s.url = ( ( url || s.url ) + "" ).replace( rhash, "" ).replace( rprotocol, ajaxLocParts[ 1 ] + "//" ); + + // Extract dataTypes list + s.dataTypes = jQuery.trim( s.dataType || "*" ).toLowerCase().split( core_rspace ); + + // A cross-domain request is in order when we have a protocol:host:port mismatch + if ( s.crossDomain == null ) { + parts = rurl.exec( s.url.toLowerCase() ) || false; + s.crossDomain = parts && ( parts.join(":") + ( parts[ 3 ] ? "" : parts[ 1 ] === "http:" ? 80 : 443 ) ) !== + ( ajaxLocParts.join(":") + ( ajaxLocParts[ 3 ] ? "" : ajaxLocParts[ 1 ] === "http:" ? 80 : 443 ) ); + } + + // Convert data if not already a string + if ( s.data && s.processData && typeof s.data !== "string" ) { + s.data = jQuery.param( s.data, s.traditional ); + } + + // Apply prefilters + inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); + + // If request was aborted inside a prefilter, stop there + if ( state === 2 ) { + return jqXHR; + } + + // We can fire global events as of now if asked to + fireGlobals = s.global; + + // Uppercase the type + s.type = s.type.toUpperCase(); + + // Determine if request has content + s.hasContent = !rnoContent.test( s.type ); + + // Watch for a new set of requests + if ( fireGlobals && jQuery.active++ === 0 ) { + jQuery.event.trigger( "ajaxStart" ); + } + + // More options handling for requests with no content + if ( !s.hasContent ) { + + // If data is available, append data to url + if ( s.data ) { + s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.data; + // #9682: remove data so that it's not used in an eventual retry + delete s.data; + } + + // Get ifModifiedKey before adding the anti-cache parameter + ifModifiedKey = s.url; + + // Add anti-cache in url if needed + if ( s.cache === false ) { + + var ts = jQuery.now(), + // try replacing _= if it is there + ret = s.url.replace( rts, "$1_=" + ts ); + + // if nothing was replaced, add timestamp to the end + s.url = ret + ( ( ret === s.url ) ? ( rquery.test( s.url ) ? "&" : "?" ) + "_=" + ts : "" ); + } + } + + // Set the correct header, if data is being sent + if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { + jqXHR.setRequestHeader( "Content-Type", s.contentType ); + } + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + ifModifiedKey = ifModifiedKey || s.url; + if ( jQuery.lastModified[ ifModifiedKey ] ) { + jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ ifModifiedKey ] ); + } + if ( jQuery.etag[ ifModifiedKey ] ) { + jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ ifModifiedKey ] ); + } + } + + // Set the Accepts header for the server, depending on the dataType + jqXHR.setRequestHeader( + "Accept", + s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[0] ] ? + s.accepts[ s.dataTypes[0] ] + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : + s.accepts[ "*" ] + ); + + // Check for headers option + for ( i in s.headers ) { + jqXHR.setRequestHeader( i, s.headers[ i ] ); + } + + // Allow custom headers/mimetypes and early abort + if ( s.beforeSend && ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || state === 2 ) ) { + // Abort if not done already and return + return jqXHR.abort(); + + } + + // aborting is no longer a cancellation + strAbort = "abort"; + + // Install callbacks on deferreds + for ( i in { success: 1, error: 1, complete: 1 } ) { + jqXHR[ i ]( s[ i ] ); + } + + // Get transport + transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); + + // If no transport, we auto-abort + if ( !transport ) { + done( -1, "No Transport" ); + } else { + jqXHR.readyState = 1; + // Send global event + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); + } + // Timeout + if ( s.async && s.timeout > 0 ) { + timeoutTimer = setTimeout( function(){ + jqXHR.abort( "timeout" ); + }, s.timeout ); + } + + try { + state = 1; + transport.send( requestHeaders, done ); + } catch (e) { + // Propagate exception as error if not done + if ( state < 2 ) { + done( -1, e ); + // Simply rethrow otherwise + } else { + throw e; + } + } + } + + return jqXHR; + }, + + // Counter for holding the number of active queries + active: 0, + + // Last-Modified header cache for next request + lastModified: {}, + etag: {} + +}); + +/* Handles responses to an ajax request: + * - sets all responseXXX fields accordingly + * - finds the right dataType (mediates between content-type and expected dataType) + * - returns the corresponding response + */ +function ajaxHandleResponses( s, jqXHR, responses ) { + + var ct, type, finalDataType, firstDataType, + contents = s.contents, + dataTypes = s.dataTypes, + responseFields = s.responseFields; + + // Fill responseXXX fields + for ( type in responseFields ) { + if ( type in responses ) { + jqXHR[ responseFields[type] ] = responses[ type ]; + } + } + + // Remove auto dataType and get content-type in the process + while( dataTypes[ 0 ] === "*" ) { + dataTypes.shift(); + if ( ct === undefined ) { + ct = s.mimeType || jqXHR.getResponseHeader( "content-type" ); + } + } + + // Check if we're dealing with a known content-type + if ( ct ) { + for ( type in contents ) { + if ( contents[ type ] && contents[ type ].test( ct ) ) { + dataTypes.unshift( type ); + break; + } + } + } + + // Check to see if we have a response for the expected dataType + if ( dataTypes[ 0 ] in responses ) { + finalDataType = dataTypes[ 0 ]; + } else { + // Try convertible dataTypes + for ( type in responses ) { + if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[0] ] ) { + finalDataType = type; + break; + } + if ( !firstDataType ) { + firstDataType = type; + } + } + // Or just use first one + finalDataType = finalDataType || firstDataType; + } + + // If we found a dataType + // We add the dataType to the list if needed + // and return the corresponding response + if ( finalDataType ) { + if ( finalDataType !== dataTypes[ 0 ] ) { + dataTypes.unshift( finalDataType ); + } + return responses[ finalDataType ]; + } +} + +// Chain conversions given the request and the original response +function ajaxConvert( s, response ) { + + var conv, conv2, current, tmp, + // Work with a copy of dataTypes in case we need to modify it for conversion + dataTypes = s.dataTypes.slice(), + prev = dataTypes[ 0 ], + converters = {}, + i = 0; + + // Apply the dataFilter if provided + if ( s.dataFilter ) { + response = s.dataFilter( response, s.dataType ); + } + + // Create converters map with lowercased keys + if ( dataTypes[ 1 ] ) { + for ( conv in s.converters ) { + converters[ conv.toLowerCase() ] = s.converters[ conv ]; + } + } + + // Convert to each sequential dataType, tolerating list modification + for ( ; (current = dataTypes[++i]); ) { + + // There's only work to do if current dataType is non-auto + if ( current !== "*" ) { + + // Convert response if prev dataType is non-auto and differs from current + if ( prev !== "*" && prev !== current ) { + + // Seek a direct converter + conv = converters[ prev + " " + current ] || converters[ "* " + current ]; + + // If none found, seek a pair + if ( !conv ) { + for ( conv2 in converters ) { + + // If conv2 outputs current + tmp = conv2.split(" "); + if ( tmp[ 1 ] === current ) { + + // If prev can be converted to accepted input + conv = converters[ prev + " " + tmp[ 0 ] ] || + converters[ "* " + tmp[ 0 ] ]; + if ( conv ) { + // Condense equivalence converters + if ( conv === true ) { + conv = converters[ conv2 ]; + + // Otherwise, insert the intermediate dataType + } else if ( converters[ conv2 ] !== true ) { + current = tmp[ 0 ]; + dataTypes.splice( i--, 0, current ); + } + + break; + } + } + } + } + + // Apply converter (if not an equivalence) + if ( conv !== true ) { + + // Unless errors are allowed to bubble, catch and return them + if ( conv && s["throws"] ) { + response = conv( response ); + } else { + try { + response = conv( response ); + } catch ( e ) { + return { state: "parsererror", error: conv ? e : "No conversion from " + prev + " to " + current }; + } + } + } + } + + // Update prev for next iteration + prev = current; + } + } + + return { state: "success", data: response }; +} +var oldCallbacks = [], + rquestion = /\?/, + rjsonp = /(=)\?(?=&|$)|\?\?/, + nonce = jQuery.now(); + +// Default jsonp settings +jQuery.ajaxSetup({ + jsonp: "callback", + jsonpCallback: function() { + var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce++ ) ); + this[ callback ] = true; + return callback; + } +}); + +// Detect, normalize options and install callbacks for jsonp requests +jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) { + + var callbackName, overwritten, responseContainer, + data = s.data, + url = s.url, + hasCallback = s.jsonp !== false, + replaceInUrl = hasCallback && rjsonp.test( url ), + replaceInData = hasCallback && !replaceInUrl && typeof data === "string" && + !( s.contentType || "" ).indexOf("application/x-www-form-urlencoded") && + rjsonp.test( data ); + + // Handle iff the expected data type is "jsonp" or we have a parameter to set + if ( s.dataTypes[ 0 ] === "jsonp" || replaceInUrl || replaceInData ) { + + // Get callback name, remembering preexisting value associated with it + callbackName = s.jsonpCallback = jQuery.isFunction( s.jsonpCallback ) ? + s.jsonpCallback() : + s.jsonpCallback; + overwritten = window[ callbackName ]; + + // Insert callback into url or form data + if ( replaceInUrl ) { + s.url = url.replace( rjsonp, "$1" + callbackName ); + } else if ( replaceInData ) { + s.data = data.replace( rjsonp, "$1" + callbackName ); + } else if ( hasCallback ) { + s.url += ( rquestion.test( url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName; + } + + // Use data converter to retrieve json after script execution + s.converters["script json"] = function() { + if ( !responseContainer ) { + jQuery.error( callbackName + " was not called" ); + } + return responseContainer[ 0 ]; + }; + + // force json dataType + s.dataTypes[ 0 ] = "json"; + + // Install callback + window[ callbackName ] = function() { + responseContainer = arguments; + }; + + // Clean-up function (fires after converters) + jqXHR.always(function() { + // Restore preexisting value + window[ callbackName ] = overwritten; + + // Save back as free + if ( s[ callbackName ] ) { + // make sure that re-using the options doesn't screw things around + s.jsonpCallback = originalSettings.jsonpCallback; + + // save the callback name for future use + oldCallbacks.push( callbackName ); + } + + // Call if it was a function and we have a response + if ( responseContainer && jQuery.isFunction( overwritten ) ) { + overwritten( responseContainer[ 0 ] ); + } + + responseContainer = overwritten = undefined; + }); + + // Delegate to script + return "script"; + } +}); +// Install script dataType +jQuery.ajaxSetup({ + accepts: { + script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" + }, + contents: { + script: /javascript|ecmascript/ + }, + converters: { + "text script": function( text ) { + jQuery.globalEval( text ); + return text; + } + } +}); + +// Handle cache's special case and global +jQuery.ajaxPrefilter( "script", function( s ) { + if ( s.cache === undefined ) { + s.cache = false; + } + if ( s.crossDomain ) { + s.type = "GET"; + s.global = false; + } +}); + +// Bind script tag hack transport +jQuery.ajaxTransport( "script", function(s) { + + // This transport only deals with cross domain requests + if ( s.crossDomain ) { + + var script, + head = document.head || document.getElementsByTagName( "head" )[0] || document.documentElement; + + return { + + send: function( _, callback ) { + + script = document.createElement( "script" ); + + script.async = "async"; + + if ( s.scriptCharset ) { + script.charset = s.scriptCharset; + } + + script.src = s.url; + + // Attach handlers for all browsers + script.onload = script.onreadystatechange = function( _, isAbort ) { + + if ( isAbort || !script.readyState || /loaded|complete/.test( script.readyState ) ) { + + // Handle memory leak in IE + script.onload = script.onreadystatechange = null; + + // Remove the script + if ( head && script.parentNode ) { + head.removeChild( script ); + } + + // Dereference the script + script = undefined; + + // Callback if not abort + if ( !isAbort ) { + callback( 200, "success" ); + } + } + }; + // Use insertBefore instead of appendChild to circumvent an IE6 bug. + // This arises when a base node is used (#2709 and #4378). + head.insertBefore( script, head.firstChild ); + }, + + abort: function() { + if ( script ) { + script.onload( 0, 1 ); + } + } + }; + } +}); +var xhrCallbacks, + // #5280: Internet Explorer will keep connections alive if we don't abort on unload + xhrOnUnloadAbort = window.ActiveXObject ? function() { + // Abort all pending requests + for ( var key in xhrCallbacks ) { + xhrCallbacks[ key ]( 0, 1 ); + } + } : false, + xhrId = 0; + +// Functions to create xhrs +function createStandardXHR() { + try { + return new window.XMLHttpRequest(); + } catch( e ) {} +} + +function createActiveXHR() { + try { + return new window.ActiveXObject( "Microsoft.XMLHTTP" ); + } catch( e ) {} +} + +// Create the request object +// (This is still attached to ajaxSettings for backward compatibility) +jQuery.ajaxSettings.xhr = window.ActiveXObject ? + /* Microsoft failed to properly + * implement the XMLHttpRequest in IE7 (can't request local files), + * so we use the ActiveXObject when it is available + * Additionally XMLHttpRequest can be disabled in IE7/IE8 so + * we need a fallback. + */ + function() { + return !this.isLocal && createStandardXHR() || createActiveXHR(); + } : + // For all other browsers, use the standard XMLHttpRequest object + createStandardXHR; + +// Determine support properties +(function( xhr ) { + jQuery.extend( jQuery.support, { + ajax: !!xhr, + cors: !!xhr && ( "withCredentials" in xhr ) + }); +})( jQuery.ajaxSettings.xhr() ); + +// Create transport if the browser can provide an xhr +if ( jQuery.support.ajax ) { + + jQuery.ajaxTransport(function( s ) { + // Cross domain only allowed if supported through XMLHttpRequest + if ( !s.crossDomain || jQuery.support.cors ) { + + var callback; + + return { + send: function( headers, complete ) { + + // Get a new xhr + var handle, i, + xhr = s.xhr(); + + // Open the socket + // Passing null username, generates a login popup on Opera (#2865) + if ( s.username ) { + xhr.open( s.type, s.url, s.async, s.username, s.password ); + } else { + xhr.open( s.type, s.url, s.async ); + } + + // Apply custom fields if provided + if ( s.xhrFields ) { + for ( i in s.xhrFields ) { + xhr[ i ] = s.xhrFields[ i ]; + } + } + + // Override mime type if needed + if ( s.mimeType && xhr.overrideMimeType ) { + xhr.overrideMimeType( s.mimeType ); + } + + // X-Requested-With header + // For cross-domain requests, seeing as conditions for a preflight are + // akin to a jigsaw puzzle, we simply never set it to be sure. + // (it can always be set on a per-request basis or even using ajaxSetup) + // For same-domain requests, won't change header if already provided. + if ( !s.crossDomain && !headers["X-Requested-With"] ) { + headers[ "X-Requested-With" ] = "XMLHttpRequest"; + } + + // Need an extra try/catch for cross domain requests in Firefox 3 + try { + for ( i in headers ) { + xhr.setRequestHeader( i, headers[ i ] ); + } + } catch( _ ) {} + + // Do send the request + // This may raise an exception which is actually + // handled in jQuery.ajax (so no try/catch here) + xhr.send( ( s.hasContent && s.data ) || null ); + + // Listener + callback = function( _, isAbort ) { + + var status, + statusText, + responseHeaders, + responses, + xml; + + // Firefox throws exceptions when accessing properties + // of an xhr when a network error occurred + // http://helpful.knobs-dials.com/index.php/Component_returned_failure_code:_0x80040111_(NS_ERROR_NOT_AVAILABLE) + try { + + // Was never called and is aborted or complete + if ( callback && ( isAbort || xhr.readyState === 4 ) ) { + + // Only called once + callback = undefined; + + // Do not keep as active anymore + if ( handle ) { + xhr.onreadystatechange = jQuery.noop; + if ( xhrOnUnloadAbort ) { + delete xhrCallbacks[ handle ]; + } + } + + // If it's an abort + if ( isAbort ) { + // Abort it manually if needed + if ( xhr.readyState !== 4 ) { + xhr.abort(); + } + } else { + status = xhr.status; + responseHeaders = xhr.getAllResponseHeaders(); + responses = {}; + xml = xhr.responseXML; + + // Construct response list + if ( xml && xml.documentElement /* #4958 */ ) { + responses.xml = xml; + } + + // When requesting binary data, IE6-9 will throw an exception + // on any attempt to access responseText (#11426) + try { + responses.text = xhr.responseText; + } catch( _ ) { + } + + // Firefox throws an exception when accessing + // statusText for faulty cross-domain requests + try { + statusText = xhr.statusText; + } catch( e ) { + // We normalize with Webkit giving an empty statusText + statusText = ""; + } + + // Filter status for non standard behaviors + + // If the request is local and we have data: assume a success + // (success with no data won't get notified, that's the best we + // can do given current implementations) + if ( !status && s.isLocal && !s.crossDomain ) { + status = responses.text ? 200 : 404; + // IE - #1450: sometimes returns 1223 when it should be 204 + } else if ( status === 1223 ) { + status = 204; + } + } + } + } catch( firefoxAccessException ) { + if ( !isAbort ) { + complete( -1, firefoxAccessException ); + } + } + + // Call complete if needed + if ( responses ) { + complete( status, statusText, responses, responseHeaders ); + } + }; + + if ( !s.async ) { + // if we're in sync mode we fire the callback + callback(); + } else if ( xhr.readyState === 4 ) { + // (IE6 & IE7) if it's in cache and has been + // retrieved directly we need to fire the callback + setTimeout( callback, 0 ); + } else { + handle = ++xhrId; + if ( xhrOnUnloadAbort ) { + // Create the active xhrs callbacks list if needed + // and attach the unload handler + if ( !xhrCallbacks ) { + xhrCallbacks = {}; + jQuery( window ).unload( xhrOnUnloadAbort ); + } + // Add to list of active xhrs callbacks + xhrCallbacks[ handle ] = callback; + } + xhr.onreadystatechange = callback; + } + }, + + abort: function() { + if ( callback ) { + callback(0,1); + } + } + }; + } + }); +} +var fxNow, timerId, + rfxtypes = /^(?:toggle|show|hide)$/, + rfxnum = new RegExp( "^(?:([-+])=|)(" + core_pnum + ")([a-z%]*)$", "i" ), + rrun = /queueHooks$/, + animationPrefilters = [ defaultPrefilter ], + tweeners = { + "*": [function( prop, value ) { + var end, unit, + tween = this.createTween( prop, value ), + parts = rfxnum.exec( value ), + target = tween.cur(), + start = +target || 0, + scale = 1, + maxIterations = 20; + + if ( parts ) { + end = +parts[2]; + unit = parts[3] || ( jQuery.cssNumber[ prop ] ? "" : "px" ); + + // We need to compute starting value + if ( unit !== "px" && start ) { + // Iteratively approximate from a nonzero starting point + // Prefer the current property, because this process will be trivial if it uses the same units + // Fallback to end or a simple constant + start = jQuery.css( tween.elem, prop, true ) || end || 1; + + do { + // If previous iteration zeroed out, double until we get *something* + // Use a string for doubling factor so we don't accidentally see scale as unchanged below + scale = scale || ".5"; + + // Adjust and apply + start = start / scale; + jQuery.style( tween.elem, prop, start + unit ); + + // Update scale, tolerating zero or NaN from tween.cur() + // And breaking the loop if scale is unchanged or perfect, or if we've just had enough + } while ( scale !== (scale = tween.cur() / target) && scale !== 1 && --maxIterations ); + } + + tween.unit = unit; + tween.start = start; + // If a +=/-= token was provided, we're doing a relative animation + tween.end = parts[1] ? start + ( parts[1] + 1 ) * end : end; + } + return tween; + }] + }; + +// Animations created synchronously will run synchronously +function createFxNow() { + setTimeout(function() { + fxNow = undefined; + }, 0 ); + return ( fxNow = jQuery.now() ); +} + +function createTweens( animation, props ) { + jQuery.each( props, function( prop, value ) { + var collection = ( tweeners[ prop ] || [] ).concat( tweeners[ "*" ] ), + index = 0, + length = collection.length; + for ( ; index < length; index++ ) { + if ( collection[ index ].call( animation, prop, value ) ) { + + // we're done with this property + return; + } + } + }); +} + +function Animation( elem, properties, options ) { + var result, + index = 0, + tweenerIndex = 0, + length = animationPrefilters.length, + deferred = jQuery.Deferred().always( function() { + // don't match elem in the :animated selector + delete tick.elem; + }), + tick = function() { + var currentTime = fxNow || createFxNow(), + remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), + percent = 1 - ( remaining / animation.duration || 0 ), + index = 0, + length = animation.tweens.length; + + for ( ; index < length ; index++ ) { + animation.tweens[ index ].run( percent ); + } + + deferred.notifyWith( elem, [ animation, percent, remaining ]); + + if ( percent < 1 && length ) { + return remaining; + } else { + deferred.resolveWith( elem, [ animation ] ); + return false; + } + }, + animation = deferred.promise({ + elem: elem, + props: jQuery.extend( {}, properties ), + opts: jQuery.extend( true, { specialEasing: {} }, options ), + originalProperties: properties, + originalOptions: options, + startTime: fxNow || createFxNow(), + duration: options.duration, + tweens: [], + createTween: function( prop, end, easing ) { + var tween = jQuery.Tween( elem, animation.opts, prop, end, + animation.opts.specialEasing[ prop ] || animation.opts.easing ); + animation.tweens.push( tween ); + return tween; + }, + stop: function( gotoEnd ) { + var index = 0, + // if we are going to the end, we want to run all the tweens + // otherwise we skip this part + length = gotoEnd ? animation.tweens.length : 0; + + for ( ; index < length ; index++ ) { + animation.tweens[ index ].run( 1 ); + } + + // resolve when we played the last frame + // otherwise, reject + if ( gotoEnd ) { + deferred.resolveWith( elem, [ animation, gotoEnd ] ); + } else { + deferred.rejectWith( elem, [ animation, gotoEnd ] ); + } + return this; + } + }), + props = animation.props; + + propFilter( props, animation.opts.specialEasing ); + + for ( ; index < length ; index++ ) { + result = animationPrefilters[ index ].call( animation, elem, props, animation.opts ); + if ( result ) { + return result; + } + } + + createTweens( animation, props ); + + if ( jQuery.isFunction( animation.opts.start ) ) { + animation.opts.start.call( elem, animation ); + } + + jQuery.fx.timer( + jQuery.extend( tick, { + anim: animation, + queue: animation.opts.queue, + elem: elem + }) + ); + + // attach callbacks from options + return animation.progress( animation.opts.progress ) + .done( animation.opts.done, animation.opts.complete ) + .fail( animation.opts.fail ) + .always( animation.opts.always ); +} + +function propFilter( props, specialEasing ) { + var index, name, easing, value, hooks; + + // camelCase, specialEasing and expand cssHook pass + for ( index in props ) { + name = jQuery.camelCase( index ); + easing = specialEasing[ name ]; + value = props[ index ]; + if ( jQuery.isArray( value ) ) { + easing = value[ 1 ]; + value = props[ index ] = value[ 0 ]; + } + + if ( index !== name ) { + props[ name ] = value; + delete props[ index ]; + } + + hooks = jQuery.cssHooks[ name ]; + if ( hooks && "expand" in hooks ) { + value = hooks.expand( value ); + delete props[ name ]; + + // not quite $.extend, this wont overwrite keys already present. + // also - reusing 'index' from above because we have the correct "name" + for ( index in value ) { + if ( !( index in props ) ) { + props[ index ] = value[ index ]; + specialEasing[ index ] = easing; + } + } + } else { + specialEasing[ name ] = easing; + } + } +} + +jQuery.Animation = jQuery.extend( Animation, { + + tweener: function( props, callback ) { + if ( jQuery.isFunction( props ) ) { + callback = props; + props = [ "*" ]; + } else { + props = props.split(" "); + } + + var prop, + index = 0, + length = props.length; + + for ( ; index < length ; index++ ) { + prop = props[ index ]; + tweeners[ prop ] = tweeners[ prop ] || []; + tweeners[ prop ].unshift( callback ); + } + }, + + prefilter: function( callback, prepend ) { + if ( prepend ) { + animationPrefilters.unshift( callback ); + } else { + animationPrefilters.push( callback ); + } + } +}); + +function defaultPrefilter( elem, props, opts ) { + var index, prop, value, length, dataShow, tween, hooks, oldfire, + anim = this, + style = elem.style, + orig = {}, + handled = [], + hidden = elem.nodeType && isHidden( elem ); + + // handle queue: false promises + if ( !opts.queue ) { + hooks = jQuery._queueHooks( elem, "fx" ); + if ( hooks.unqueued == null ) { + hooks.unqueued = 0; + oldfire = hooks.empty.fire; + hooks.empty.fire = function() { + if ( !hooks.unqueued ) { + oldfire(); + } + }; + } + hooks.unqueued++; + + anim.always(function() { + // doing this makes sure that the complete handler will be called + // before this completes + anim.always(function() { + hooks.unqueued--; + if ( !jQuery.queue( elem, "fx" ).length ) { + hooks.empty.fire(); + } + }); + }); + } + + // height/width overflow pass + if ( elem.nodeType === 1 && ( "height" in props || "width" in props ) ) { + // Make sure that nothing sneaks out + // Record all 3 overflow attributes because IE does not + // change the overflow attribute when overflowX and + // overflowY are set to the same value + opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; + + // Set display property to inline-block for height/width + // animations on inline elements that are having width/height animated + if ( jQuery.css( elem, "display" ) === "inline" && + jQuery.css( elem, "float" ) === "none" ) { + + // inline-level elements accept inline-block; + // block-level elements need to be inline with layout + if ( !jQuery.support.inlineBlockNeedsLayout || css_defaultDisplay( elem.nodeName ) === "inline" ) { + style.display = "inline-block"; + + } else { + style.zoom = 1; + } + } + } + + if ( opts.overflow ) { + style.overflow = "hidden"; + if ( !jQuery.support.shrinkWrapBlocks ) { + anim.done(function() { + style.overflow = opts.overflow[ 0 ]; + style.overflowX = opts.overflow[ 1 ]; + style.overflowY = opts.overflow[ 2 ]; + }); + } + } + + + // show/hide pass + for ( index in props ) { + value = props[ index ]; + if ( rfxtypes.exec( value ) ) { + delete props[ index ]; + if ( value === ( hidden ? "hide" : "show" ) ) { + continue; + } + handled.push( index ); + } + } + + length = handled.length; + if ( length ) { + dataShow = jQuery._data( elem, "fxshow" ) || jQuery._data( elem, "fxshow", {} ); + if ( hidden ) { + jQuery( elem ).show(); + } else { + anim.done(function() { + jQuery( elem ).hide(); + }); + } + anim.done(function() { + var prop; + jQuery.removeData( elem, "fxshow", true ); + for ( prop in orig ) { + jQuery.style( elem, prop, orig[ prop ] ); + } + }); + for ( index = 0 ; index < length ; index++ ) { + prop = handled[ index ]; + tween = anim.createTween( prop, hidden ? dataShow[ prop ] : 0 ); + orig[ prop ] = dataShow[ prop ] || jQuery.style( elem, prop ); + + if ( !( prop in dataShow ) ) { + dataShow[ prop ] = tween.start; + if ( hidden ) { + tween.end = tween.start; + tween.start = prop === "width" || prop === "height" ? 1 : 0; + } + } + } + } +} + +function Tween( elem, options, prop, end, easing ) { + return new Tween.prototype.init( elem, options, prop, end, easing ); +} +jQuery.Tween = Tween; + +Tween.prototype = { + constructor: Tween, + init: function( elem, options, prop, end, easing, unit ) { + this.elem = elem; + this.prop = prop; + this.easing = easing || "swing"; + this.options = options; + this.start = this.now = this.cur(); + this.end = end; + this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); + }, + cur: function() { + var hooks = Tween.propHooks[ this.prop ]; + + return hooks && hooks.get ? + hooks.get( this ) : + Tween.propHooks._default.get( this ); + }, + run: function( percent ) { + var eased, + hooks = Tween.propHooks[ this.prop ]; + + if ( this.options.duration ) { + this.pos = eased = jQuery.easing[ this.easing ]( + percent, this.options.duration * percent, 0, 1, this.options.duration + ); + } else { + this.pos = eased = percent; + } + this.now = ( this.end - this.start ) * eased + this.start; + + if ( this.options.step ) { + this.options.step.call( this.elem, this.now, this ); + } + + if ( hooks && hooks.set ) { + hooks.set( this ); + } else { + Tween.propHooks._default.set( this ); + } + return this; + } +}; + +Tween.prototype.init.prototype = Tween.prototype; + +Tween.propHooks = { + _default: { + get: function( tween ) { + var result; + + if ( tween.elem[ tween.prop ] != null && + (!tween.elem.style || tween.elem.style[ tween.prop ] == null) ) { + return tween.elem[ tween.prop ]; + } + + // passing any value as a 4th parameter to .css will automatically + // attempt a parseFloat and fallback to a string if the parse fails + // so, simple values such as "10px" are parsed to Float. + // complex values such as "rotate(1rad)" are returned as is. + result = jQuery.css( tween.elem, tween.prop, false, "" ); + // Empty strings, null, undefined and "auto" are converted to 0. + return !result || result === "auto" ? 0 : result; + }, + set: function( tween ) { + // use step hook for back compat - use cssHook if its there - use .style if its + // available and use plain properties where available + if ( jQuery.fx.step[ tween.prop ] ) { + jQuery.fx.step[ tween.prop ]( tween ); + } else if ( tween.elem.style && ( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null || jQuery.cssHooks[ tween.prop ] ) ) { + jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); + } else { + tween.elem[ tween.prop ] = tween.now; + } + } + } +}; + +// Remove in 2.0 - this supports IE8's panic based approach +// to setting things on disconnected nodes + +Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { + set: function( tween ) { + if ( tween.elem.nodeType && tween.elem.parentNode ) { + tween.elem[ tween.prop ] = tween.now; + } + } +}; + +jQuery.each([ "toggle", "show", "hide" ], function( i, name ) { + var cssFn = jQuery.fn[ name ]; + jQuery.fn[ name ] = function( speed, easing, callback ) { + return speed == null || typeof speed === "boolean" || + // special check for .toggle( handler, handler, ... ) + ( !i && jQuery.isFunction( speed ) && jQuery.isFunction( easing ) ) ? + cssFn.apply( this, arguments ) : + this.animate( genFx( name, true ), speed, easing, callback ); + }; +}); + +jQuery.fn.extend({ + fadeTo: function( speed, to, easing, callback ) { + + // show any hidden elements after setting opacity to 0 + return this.filter( isHidden ).css( "opacity", 0 ).show() + + // animate to the value specified + .end().animate({ opacity: to }, speed, easing, callback ); + }, + animate: function( prop, speed, easing, callback ) { + var empty = jQuery.isEmptyObject( prop ), + optall = jQuery.speed( speed, easing, callback ), + doAnimation = function() { + // Operate on a copy of prop so per-property easing won't be lost + var anim = Animation( this, jQuery.extend( {}, prop ), optall ); + + // Empty animations resolve immediately + if ( empty ) { + anim.stop( true ); + } + }; + + return empty || optall.queue === false ? + this.each( doAnimation ) : + this.queue( optall.queue, doAnimation ); + }, + stop: function( type, clearQueue, gotoEnd ) { + var stopQueue = function( hooks ) { + var stop = hooks.stop; + delete hooks.stop; + stop( gotoEnd ); + }; + + if ( typeof type !== "string" ) { + gotoEnd = clearQueue; + clearQueue = type; + type = undefined; + } + if ( clearQueue && type !== false ) { + this.queue( type || "fx", [] ); + } + + return this.each(function() { + var dequeue = true, + index = type != null && type + "queueHooks", + timers = jQuery.timers, + data = jQuery._data( this ); + + if ( index ) { + if ( data[ index ] && data[ index ].stop ) { + stopQueue( data[ index ] ); + } + } else { + for ( index in data ) { + if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { + stopQueue( data[ index ] ); + } + } + } + + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && (type == null || timers[ index ].queue === type) ) { + timers[ index ].anim.stop( gotoEnd ); + dequeue = false; + timers.splice( index, 1 ); + } + } + + // start the next in the queue if the last step wasn't forced + // timers currently will call their complete callbacks, which will dequeue + // but only if they were gotoEnd + if ( dequeue || !gotoEnd ) { + jQuery.dequeue( this, type ); + } + }); + } +}); + +// Generate parameters to create a standard animation +function genFx( type, includeWidth ) { + var which, + attrs = { height: type }, + i = 0; + + // if we include width, step value is 1 to do all cssExpand values, + // if we don't include width, step value is 2 to skip over Left and Right + includeWidth = includeWidth? 1 : 0; + for( ; i < 4 ; i += 2 - includeWidth ) { + which = cssExpand[ i ]; + attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; + } + + if ( includeWidth ) { + attrs.opacity = attrs.width = type; + } + + return attrs; +} + +// Generate shortcuts for custom animations +jQuery.each({ + slideDown: genFx("show"), + slideUp: genFx("hide"), + slideToggle: genFx("toggle"), + fadeIn: { opacity: "show" }, + fadeOut: { opacity: "hide" }, + fadeToggle: { opacity: "toggle" } +}, function( name, props ) { + jQuery.fn[ name ] = function( speed, easing, callback ) { + return this.animate( props, speed, easing, callback ); + }; +}); + +jQuery.speed = function( speed, easing, fn ) { + var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { + complete: fn || !fn && easing || + jQuery.isFunction( speed ) && speed, + duration: speed, + easing: fn && easing || easing && !jQuery.isFunction( easing ) && easing + }; + + opt.duration = jQuery.fx.off ? 0 : typeof opt.duration === "number" ? opt.duration : + opt.duration in jQuery.fx.speeds ? jQuery.fx.speeds[ opt.duration ] : jQuery.fx.speeds._default; + + // normalize opt.queue - true/undefined/null -> "fx" + if ( opt.queue == null || opt.queue === true ) { + opt.queue = "fx"; + } + + // Queueing + opt.old = opt.complete; + + opt.complete = function() { + if ( jQuery.isFunction( opt.old ) ) { + opt.old.call( this ); + } + + if ( opt.queue ) { + jQuery.dequeue( this, opt.queue ); + } + }; + + return opt; +}; + +jQuery.easing = { + linear: function( p ) { + return p; + }, + swing: function( p ) { + return 0.5 - Math.cos( p*Math.PI ) / 2; + } +}; + +jQuery.timers = []; +jQuery.fx = Tween.prototype.init; +jQuery.fx.tick = function() { + var timer, + timers = jQuery.timers, + i = 0; + + for ( ; i < timers.length; i++ ) { + timer = timers[ i ]; + // Checks the timer has not already been removed + if ( !timer() && timers[ i ] === timer ) { + timers.splice( i--, 1 ); + } + } + + if ( !timers.length ) { + jQuery.fx.stop(); + } +}; + +jQuery.fx.timer = function( timer ) { + if ( timer() && jQuery.timers.push( timer ) && !timerId ) { + timerId = setInterval( jQuery.fx.tick, jQuery.fx.interval ); + } +}; + +jQuery.fx.interval = 13; + +jQuery.fx.stop = function() { + clearInterval( timerId ); + timerId = null; +}; + +jQuery.fx.speeds = { + slow: 600, + fast: 200, + // Default speed + _default: 400 +}; + +// Back Compat <1.8 extension point +jQuery.fx.step = {}; + +if ( jQuery.expr && jQuery.expr.filters ) { + jQuery.expr.filters.animated = function( elem ) { + return jQuery.grep(jQuery.timers, function( fn ) { + return elem === fn.elem; + }).length; + }; +} +var rroot = /^(?:body|html)$/i; + +jQuery.fn.offset = function( options ) { + if ( arguments.length ) { + return options === undefined ? + this : + this.each(function( i ) { + jQuery.offset.setOffset( this, options, i ); + }); + } + + var docElem, body, win, clientTop, clientLeft, scrollTop, scrollLeft, + box = { top: 0, left: 0 }, + elem = this[ 0 ], + doc = elem && elem.ownerDocument; + + if ( !doc ) { + return; + } + + if ( (body = doc.body) === elem ) { + return jQuery.offset.bodyOffset( elem ); + } + + docElem = doc.documentElement; + + // Make sure it's not a disconnected DOM node + if ( !jQuery.contains( docElem, elem ) ) { + return box; + } + + // If we don't have gBCR, just use 0,0 rather than error + // BlackBerry 5, iOS 3 (original iPhone) + if ( typeof elem.getBoundingClientRect !== "undefined" ) { + box = elem.getBoundingClientRect(); + } + win = getWindow( doc ); + clientTop = docElem.clientTop || body.clientTop || 0; + clientLeft = docElem.clientLeft || body.clientLeft || 0; + scrollTop = win.pageYOffset || docElem.scrollTop; + scrollLeft = win.pageXOffset || docElem.scrollLeft; + return { + top: box.top + scrollTop - clientTop, + left: box.left + scrollLeft - clientLeft + }; +}; + +jQuery.offset = { + + bodyOffset: function( body ) { + var top = body.offsetTop, + left = body.offsetLeft; + + if ( jQuery.support.doesNotIncludeMarginInBodyOffset ) { + top += parseFloat( jQuery.css(body, "marginTop") ) || 0; + left += parseFloat( jQuery.css(body, "marginLeft") ) || 0; + } + + return { top: top, left: left }; + }, + + setOffset: function( elem, options, i ) { + var position = jQuery.css( elem, "position" ); + + // set position first, in-case top/left are set even on static elem + if ( position === "static" ) { + elem.style.position = "relative"; + } + + var curElem = jQuery( elem ), + curOffset = curElem.offset(), + curCSSTop = jQuery.css( elem, "top" ), + curCSSLeft = jQuery.css( elem, "left" ), + calculatePosition = ( position === "absolute" || position === "fixed" ) && jQuery.inArray("auto", [curCSSTop, curCSSLeft]) > -1, + props = {}, curPosition = {}, curTop, curLeft; + + // need to be able to calculate position if either top or left is auto and position is either absolute or fixed + if ( calculatePosition ) { + curPosition = curElem.position(); + curTop = curPosition.top; + curLeft = curPosition.left; + } else { + curTop = parseFloat( curCSSTop ) || 0; + curLeft = parseFloat( curCSSLeft ) || 0; + } + + if ( jQuery.isFunction( options ) ) { + options = options.call( elem, i, curOffset ); + } + + if ( options.top != null ) { + props.top = ( options.top - curOffset.top ) + curTop; + } + if ( options.left != null ) { + props.left = ( options.left - curOffset.left ) + curLeft; + } + + if ( "using" in options ) { + options.using.call( elem, props ); + } else { + curElem.css( props ); + } + } +}; + + +jQuery.fn.extend({ + + position: function() { + if ( !this[0] ) { + return; + } + + var elem = this[0], + + // Get *real* offsetParent + offsetParent = this.offsetParent(), + + // Get correct offsets + offset = this.offset(), + parentOffset = rroot.test(offsetParent[0].nodeName) ? { top: 0, left: 0 } : offsetParent.offset(); + + // Subtract element margins + // note: when an element has margin: auto the offsetLeft and marginLeft + // are the same in Safari causing offset.left to incorrectly be 0 + offset.top -= parseFloat( jQuery.css(elem, "marginTop") ) || 0; + offset.left -= parseFloat( jQuery.css(elem, "marginLeft") ) || 0; + + // Add offsetParent borders + parentOffset.top += parseFloat( jQuery.css(offsetParent[0], "borderTopWidth") ) || 0; + parentOffset.left += parseFloat( jQuery.css(offsetParent[0], "borderLeftWidth") ) || 0; + + // Subtract the two offsets + return { + top: offset.top - parentOffset.top, + left: offset.left - parentOffset.left + }; + }, + + offsetParent: function() { + return this.map(function() { + var offsetParent = this.offsetParent || document.body; + while ( offsetParent && (!rroot.test(offsetParent.nodeName) && jQuery.css(offsetParent, "position") === "static") ) { + offsetParent = offsetParent.offsetParent; + } + return offsetParent || document.body; + }); + } +}); + + +// Create scrollLeft and scrollTop methods +jQuery.each( {scrollLeft: "pageXOffset", scrollTop: "pageYOffset"}, function( method, prop ) { + var top = /Y/.test( prop ); + + jQuery.fn[ method ] = function( val ) { + return jQuery.access( this, function( elem, method, val ) { + var win = getWindow( elem ); + + if ( val === undefined ) { + return win ? (prop in win) ? win[ prop ] : + win.document.documentElement[ method ] : + elem[ method ]; + } + + if ( win ) { + win.scrollTo( + !top ? val : jQuery( win ).scrollLeft(), + top ? val : jQuery( win ).scrollTop() + ); + + } else { + elem[ method ] = val; + } + }, method, val, arguments.length, null ); + }; +}); + +function getWindow( elem ) { + return jQuery.isWindow( elem ) ? + elem : + elem.nodeType === 9 ? + elem.defaultView || elem.parentWindow : + false; +} +// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods +jQuery.each( { Height: "height", Width: "width" }, function( name, type ) { + jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name }, function( defaultExtra, funcName ) { + // margin is only for outerHeight, outerWidth + jQuery.fn[ funcName ] = function( margin, value ) { + var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ), + extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" ); + + return jQuery.access( this, function( elem, type, value ) { + var doc; + + if ( jQuery.isWindow( elem ) ) { + // As of 5/8/2012 this will yield incorrect results for Mobile Safari, but there + // isn't a whole lot we can do. See pull request at this URL for discussion: + // https://github.com/jquery/jquery/pull/764 + return elem.document.documentElement[ "client" + name ]; + } + + // Get document width or height + if ( elem.nodeType === 9 ) { + doc = elem.documentElement; + + // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height], whichever is greatest + // unfortunately, this causes bug #3838 in IE6/8 only, but there is currently no good, small way to fix it. + return Math.max( + elem.body[ "scroll" + name ], doc[ "scroll" + name ], + elem.body[ "offset" + name ], doc[ "offset" + name ], + doc[ "client" + name ] + ); + } + + return value === undefined ? + // Get width or height on the element, requesting but not forcing parseFloat + jQuery.css( elem, type, value, extra ) : + + // Set width or height on the element + jQuery.style( elem, type, value, extra ); + }, type, chainable ? margin : undefined, chainable, null ); + }; + }); +}); +// Expose jQuery to the global object +window.jQuery = window.$ = jQuery; + +// Expose jQuery as an AMD module, but only for AMD loaders that +// understand the issues with loading multiple versions of jQuery +// in a page that all might call define(). The loader will indicate +// they have special allowances for multiple jQuery versions by +// specifying define.amd.jQuery = true. Register as a named module, +// since jQuery can be concatenated with other files that may use define, +// but not use a proper concatenation script that understands anonymous +// AMD modules. A named AMD is safest and most robust way to register. +// Lowercase jquery is used because AMD module names are derived from +// file names, and jQuery is normally delivered in a lowercase file name. +// Do this after creating the global so that if an AMD module wants to call +// noConflict to hide this version of jQuery, it will work. +if ( typeof define === "function" && define.amd && define.amd.jQuery ) { + define( "jquery", [], function () { return jQuery; } ); +} + +})( window ); \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/files/jslint.js b/alt-implementations/readifry-master/hyphenator/testsuite/files/jslint.js new file mode 100755 index 0000000..1fd1ccf --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/files/jslint.js @@ -0,0 +1,4509 @@ +// jslint.js +// 2013-04-09 + +// Copyright (c) 2002 Douglas Crockford (www.JSLint.com) + +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. + +// The Software shall be used for Good, not Evil. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +// WARNING: JSLint will hurt your feelings. + +// JSLINT is a global function. It takes two parameters. + +// var myResult = JSLINT(source, option); + +// The first parameter is either a string or an array of strings. If it is a +// string, it will be split on '\n' or '\r'. If it is an array of strings, it +// is assumed that each string represents one line. The source can be a +// JavaScript text or a JSON text. + +// The second parameter is an optional object of options that control the +// operation of JSLINT. Most of the options are booleans: They are all +// optional and have a default value of false. One of the options, predef, +// can be an array of names, which will be used to declare global variables, +// or an object whose keys are used as global names, with a boolean value +// that determines if they are assignable. + +// If it checks out, JSLINT returns true. Otherwise, it returns false. + +// If false, you can inspect JSLINT.errors to find out the problems. +// JSLINT.errors is an array of objects containing these properties: + +// { +// line : The line (relative to 0) at which the lint was found +// character : The character (relative to 0) at which the lint was found +// reason : The problem +// evidence : The text line in which the problem occurred +// raw : The raw message before the details were inserted +// a : The first detail +// b : The second detail +// c : The third detail +// d : The fourth detail +// } + +// If a stopping error was found, a null will be the last element of the +// JSLINT.errors array. A stopping error means that JSLint was not confident +// enough to continue. It does not necessarily mean that the error was +// especially heinous. + +// You can request a data structure that contains JSLint's results. + +// var myData = JSLINT.data(); + +// It returns a structure with this form: + +// { +// errors: [ +// { +// line: NUMBER, +// character: NUMBER, +// reason: STRING, +// evidence: STRING +// } +// ], +// functions: [ +// { +// name: STRING, +// line: NUMBER, +// last: NUMBER, +// params: [ +// { +// string: STRING +// } +// ], +// closure: [ +// STRING +// ], +// var: [ +// STRING +// ], +// exception: [ +// STRING +// ], +// outer: [ +// STRING +// ], +// unused: [ +// STRING +// ], +// undef: [ +// STRING +// ], +// global: [ +// STRING +// ], +// label: [ +// STRING +// ] +// } +// ], +// globals: [ +// STRING +// ], +// member: { +// STRING: NUMBER +// }, +// urls: [ +// STRING +// ], +// json: BOOLEAN +// } + +// Empty arrays will not be included. + +// You can request a Function Report, which shows all of the functions +// and the parameters and vars that they use. This can be used to find +// implied global variables and other problems. The report is in HTML and +// can be inserted in an HTML . It should be given the result of the +// JSLINT.data function. + +// var myReport = JSLINT.report(data); + +// You can request an HTML error report. + +// var myErrorReport = JSLINT.error_report(data); + +// You can obtain an object containing all of the properties found in the +// file. JSLINT.property contains an object containing a key for each +// property used in the program, the value being the number of times that +// property name was used in the file. + +// You can request a properties report, which produces a list of the program's +// properties in the form of a /*properties*/ declaration. + +// var myPropertyReport = JSLINT.properties_report(JSLINT.property); + +// You can obtain the parse tree that JSLint constructed while parsing. The +// latest tree is kept in JSLINT.tree. A nice stringification can be produced +// with + +// JSON.stringify(JSLINT.tree, [ +// 'string', 'arity', 'name', 'first', +// 'second', 'third', 'block', 'else' +// ], 4)); + +// You can request a context coloring table. It contains information that can be +// applied to the file that was analyzed. Context coloring colors functions +// based on their nesting level, and variables on the color of the functions +// in which they are defined. + +// var myColorization = JSLINT.color(data); + +// It returns an array containing objects of this form: + +// { +// from: COLUMN, +// thru: COLUMN, +// line: ROW, +// level: 0 or higher +// } + +// JSLint provides three inline directives. They look like slashstar comments, +// and allow for setting options, declaring global variables, and establishing a +// set of allowed property names. + +// These directives respect function scope. + +// The jslint directive is a special comment that can set one or more options. +// For example: + +/*jslint + es5: true, evil: true, nomen: true, regexp: true, todo: true +*/ + +// The current option set is + +// bitwise true, if bitwise operators should be allowed +// browser true, if the standard browser globals should be predefined +// closure true, if Google Closure idioms should be tolerated +// continue true, if the continuation statement should be tolerated +// debug true, if debugger statements should be allowed +// devel true, if logging should be allowed (console, alert, etc.) +// eqeq true, if == should be allowed +// es5 true, if ES5 syntax should be allowed +// evil true, if eval should be allowed +// forin true, if for in statements need not filter +// indent the indentation factor +// maxerr the maximum number of errors to allow +// maxlen the maximum length of a source line +// newcap true, if constructor names capitalization is ignored +// node true, if Node.js globals should be predefined +// nomen true, if names may have dangling _ +// passfail true, if the scan should stop on first error +// plusplus true, if increment/decrement should be allowed +// properties true, if all property names must be declared with /*properties*/ +// regexp true, if the . should be allowed in regexp literals +// rhino true, if the Rhino environment globals should be predefined +// undef true, if variables can be declared out of order +// unparam true, if unused parameters should be tolerated +// sloppy true, if the 'use strict'; pragma is optional +// stupid true, if really stupid practices are tolerated +// sub true, if all forms of subscript notation are tolerated +// todo true, if TODO comments are tolerated +// vars true, if multiple var statements per function should be allowed +// white true, if sloppy whitespace is tolerated +// windows true, if MS Windows-specific globals should be predefined + +// The properties directive declares an exclusive list of property names. +// Any properties named in the program that are not in the list will +// produce a warning. + +// For example: + +/*properties + '\b', '\t', '\n', '\f', '\r', '!', '!=', '!==', '"', '%', '\'', + '(arguments)', '(begin)', '(breakage)', '(context)', '(error)', + '(identifier)', '(level)', '(line)', '(loopage)', '(name)', '(params)', + '(scope)', '(token)', '(vars)', '(verb)', '*', '+', '-', '/', '<', '<=', + '==', '===', '>', '>=', '\\', a, a_label, a_scope, already_defined, and, + apply, arity, assign, assign_exception, assignment_function_expression, at, + avoid_a, b, bad_assignment, bad_constructor, bad_in_a, bad_invocation, + bad_new, bad_number, bad_operand, bad_wrap, bitwise, block, browser, c, + call, charAt, charCodeAt, character, closure, color, combine_var, comments, + conditional_assignment, confusing_a, confusing_regexp, constructor_name_a, + continue, control_a, couch, create, d, dangling_a, data, debug, deleted, + devel, disrupt, duplicate_a, edge, edition, else, empty_block, empty_case, + empty_class, entityify, eqeq, error_report, errors, es5, evidence, evil, + exception, exec, expected_a, expected_a_at_b_c, expected_a_b, + expected_a_b_from_c_d, expected_id_a, expected_identifier_a, + expected_identifier_a_reserved, expected_number_a, expected_operator_a, + expected_positive_a, expected_small_a, expected_space_a_b, + expected_string_a, f, filter, first, flag, floor, forEach, for_if, forin, + from, fromCharCode, fud, function, function_block, function_eval, + function_loop, function_statement, function_strict, functions, global, + globals, hasOwnProperty, id, identifier, identifier_function, immed, + implied_evil, indent, indexOf, infix_in, init, insecure_a, isAlpha, isArray, + isDigit, isNaN, join, jslint, json, keys, label, labeled, lbp, + leading_decimal_a, led, left, length, level, line, match, maxerr, maxlen, + message, missing_a, missing_a_after_b, missing_property, missing_space_a_b, + missing_use_strict, mode, move_invocation, move_var, n, name, name_function, + nested_comment, newcap, node, nomen, not, not_a_constructor, not_a_defined, + not_a_function, not_a_label, not_a_scope, not_greater, nud, number, octal_a, + open, outer, parameter_a_get_b, parameter_arguments_a, parameter_set_a, + params, paren, passfail, plusplus, postscript, predef, properties, + properties_report, property, prototype, push, quote, r, radix, raw, + read_only, reason, regexp, relation, replace, report, reserved, reserved_a, + rhino, right, scanned_a_b, search, second, shift, slash_equal, slice, + sloppy, sort, split, statement_block, stopping, strange_loop, strict, + string, stupid, sub, subscript, substr, supplant, sync_a, t, tag_a_in_b, + test, third, thru, toString, todo, todo_comment, token, tokens, too_long, + too_many, trailing_decimal_a, tree, unclosed, unclosed_comment, + unclosed_regexp, undef, undefined, unescaped_a, unexpected_a, + unexpected_char_a, unexpected_comment, unexpected_else, unexpected_label_a, + unexpected_property_a, unexpected_space_a_b, unexpected_typeof_a, + unnecessary_initialize, unnecessary_use, unparam, unreachable_a_b, unsafe, + unused, url, urls, use_array, use_braces, use_object, use_or, use_param, + use_spaces, used_before_a, var, var_a_not, vars, was, weird_assignment, + weird_condition, weird_new, weird_program, weird_relation, weird_ternary, + white, windows, wrap, wrap_immediate, wrap_regexp, write_is_wrong, + writeable +*/ + +// The global directive is used to declare global variables that can +// be accessed by the program. If a declaration is true, then the variable +// is writeable. Otherwise, it is read-only. + +// We build the application inside a function so that we produce only a single +// global variable. That function will be invoked immediately, and its return +// value is the JSLINT function itself. That function is also an object that +// can contain data and other functions. + +var JSLINT = (function () { + 'use strict'; + + function array_to_object(array, value) { + +// Make an object from an array of keys and a common value. + + var i, length = array.length, object = {}; + for (i = 0; i < length; i += 1) { + object[array[i]] = value; + } + return object; + } + + + var allowed_option = { + bitwise : true, + browser : true, + closure : true, + continue : true, + couch : true, + debug : true, + devel : true, + eqeq : true, + es5 : true, + evil : true, + forin : true, + indent : 10, + maxerr : 1000, + maxlen : 256, + newcap : true, + node : true, + nomen : true, + passfail : true, + plusplus : true, + properties: true, + regexp : true, + rhino : true, + undef : true, + unparam : true, + sloppy : true, + stupid : true, + sub : true, + todo : true, + vars : true, + white : true, + windows : true + }, + anonname, // The guessed name for anonymous functions. + +// These are operators that should not be used with the ! operator. + + bang = { + '<' : true, + '<=' : true, + '==' : true, + '===': true, + '!==': true, + '!=' : true, + '>' : true, + '>=' : true, + '+' : true, + '-' : true, + '*' : true, + '/' : true, + '%' : true + }, + begin, // The root token + +// browser contains a set of global names that are commonly provided by a +// web browser environment. + + browser = array_to_object([ + 'clearInterval', 'clearTimeout', 'document', 'event', 'FormData', + 'frames', 'history', 'Image', 'localStorage', 'location', 'name', + 'navigator', 'Option', 'parent', 'screen', 'sessionStorage', + 'setInterval', 'setTimeout', 'Storage', 'window', 'XMLHttpRequest' + ], false), + +// bundle contains the text messages. + + bundle = { + a_label: "'{a}' is a statement label.", + a_scope: "'{a}' used out of scope.", + already_defined: "'{a}' is already defined.", + and: "The '&&' subexpression should be wrapped in parens.", + assign_exception: "Do not assign to the exception parameter.", + assignment_function_expression: "Expected an assignment or " + + "function call and instead saw an expression.", + avoid_a: "Avoid '{a}'.", + bad_assignment: "Bad assignment.", + bad_constructor: "Bad constructor.", + bad_in_a: "Bad for in variable '{a}'.", + bad_invocation: "Bad invocation.", + bad_new: "Do not use 'new' for side effects.", + bad_number: "Bad number '{a}'.", + bad_operand: "Bad operand.", + bad_wrap: "Do not wrap function literals in parens unless they " + + "are to be immediately invoked.", + combine_var: "Combine this with the previous 'var' statement.", + conditional_assignment: "Expected a conditional expression and " + + "instead saw an assignment.", + confusing_a: "Confusing use of '{a}'.", + confusing_regexp: "Confusing regular expression.", + constructor_name_a: "A constructor name '{a}' should start with " + + "an uppercase letter.", + control_a: "Unexpected control character '{a}'.", + dangling_a: "Unexpected dangling '_' in '{a}'.", + deleted: "Only properties should be deleted.", + duplicate_a: "Duplicate '{a}'.", + empty_block: "Empty block.", + empty_case: "Empty case.", + empty_class: "Empty class.", + es5: "This is an ES5 feature.", + evil: "eval is evil.", + expected_a: "Expected '{a}'.", + expected_a_b: "Expected '{a}' and instead saw '{b}'.", + expected_a_b_from_c_d: "Expected '{a}' to match '{b}' from line " + + "{c} and instead saw '{d}'.", + expected_a_at_b_c: "Expected '{a}' at column {b}, not column {c}.", + expected_id_a: "Expected an id, and instead saw #{a}.", + expected_identifier_a: "Expected an identifier and instead saw '{a}'.", + expected_identifier_a_reserved: "Expected an identifier and " + + "instead saw '{a}' (a reserved word).", + expected_number_a: "Expected a number and instead saw '{a}'.", + expected_operator_a: "Expected an operator and instead saw '{a}'.", + expected_positive_a: "Expected a positive number and instead saw '{a}'", + expected_small_a: "Expected a small positive integer and instead saw '{a}'", + expected_space_a_b: "Expected exactly one space between '{a}' and '{b}'.", + expected_string_a: "Expected a string and instead saw '{a}'.", + for_if: "The body of a for in should be wrapped in an if " + + "statement to filter unwanted properties from the prototype.", + function_block: "Function statements should not be placed in blocks." + + "Use a function expression or move the statement to the top of " + + "the outer function.", + function_eval: "The Function constructor is eval.", + function_loop: "Don't make functions within a loop.", + function_statement: "Function statements are not invocable." + + "Wrap the whole function invocation in parens.", + function_strict: "Use the function form of 'use strict'.", + identifier_function: "Expected an identifier in an assignment " + + "and instead saw a function invocation.", + implied_evil: "Implied eval is evil. Pass a function instead of a string.", + infix_in: "Unexpected 'in'. Compare with undefined, or use the " + + "hasOwnProperty method instead.", + insecure_a: "Insecure '{a}'.", + isNaN: "Use the isNaN function to compare with NaN.", + leading_decimal_a: "A leading decimal point can be confused with a dot: '.{a}'.", + missing_a: "Missing '{a}'.", + missing_a_after_b: "Missing '{a}' after '{b}'.", + missing_property: "Missing property name.", + missing_space_a_b: "Missing space between '{a}' and '{b}'.", + missing_use_strict: "Missing 'use strict' statement.", + move_invocation: "Move the invocation into the parens that " + + "contain the function.", + move_var: "Move 'var' declarations to the top of the function.", + name_function: "Missing name in function statement.", + nested_comment: "Nested comment.", + not: "Nested not.", + not_a_constructor: "Do not use {a} as a constructor.", + not_a_defined: "'{a}' has not been fully defined yet.", + not_a_function: "'{a}' is not a function.", + not_a_label: "'{a}' is not a label.", + not_a_scope: "'{a}' is out of scope.", + not_greater: "'{a}' should not be greater than '{b}'.", + octal_a: "Don't use octal: '{a}'. Use '\\u....' instead.", + parameter_arguments_a: "Do not mutate parameter '{a}' when using 'arguments'.", + parameter_a_get_b: "Unexpected parameter '{a}' in get {b} function.", + parameter_set_a: "Expected parameter (value) in set {a} function.", + radix: "Missing radix parameter.", + read_only: "Read only.", + reserved_a: "Reserved name '{a}'.", + scanned_a_b: "{a} ({b}% scanned).", + slash_equal: "A regular expression literal can be confused with '/='.", + statement_block: "Expected to see a statement and instead saw a block.", + stopping: "Stopping.", + strange_loop: "Strange loop.", + strict: "Strict violation.", + subscript: "['{a}'] is better written in dot notation.", + sync_a: "Unexpected sync method: '{a}'.", + tag_a_in_b: "A '<{a}>' must be within '<{b}>'.", + todo_comment: "Unexpected TODO comment.", + too_long: "Line too long.", + too_many: "Too many errors.", + trailing_decimal_a: "A trailing decimal point can be confused " + + "with a dot: '.{a}'.", + unclosed: "Unclosed string.", + unclosed_comment: "Unclosed comment.", + unclosed_regexp: "Unclosed regular expression.", + unescaped_a: "Unescaped '{a}'.", + unexpected_a: "Unexpected '{a}'.", + unexpected_char_a: "Unexpected character '{a}'.", + unexpected_comment: "Unexpected comment.", + unexpected_else: "Unexpected 'else' after 'return'.", + unexpected_label_a: "Unexpected label '{a}'.", + unexpected_property_a: "Unexpected /*property*/ '{a}'.", + unexpected_space_a_b: "Unexpected space between '{a}' and '{b}'.", + unexpected_typeof_a: "Unexpected 'typeof'. " + + "Use '===' to compare directly with {a}.", + unnecessary_initialize: "It is not necessary to initialize '{a}' " + + "to 'undefined'.", + unnecessary_use: "Unnecessary 'use strict'.", + unreachable_a_b: "Unreachable '{a}' after '{b}'.", + unsafe: "Unsafe character.", + url: "JavaScript URL.", + use_array: "Use the array literal notation [].", + use_braces: "Spaces are hard to count. Use {{a}}.", + use_object: "Use the object literal notation {}.", + use_or: "Use the || operator.", + use_param: "Use a named parameter.", + use_spaces: "Use spaces, not tabs.", + used_before_a: "'{a}' was used before it was defined.", + var_a_not: "Variable {a} was not declared correctly.", + weird_assignment: "Weird assignment.", + weird_condition: "Weird condition.", + weird_new: "Weird construction. Delete 'new'.", + weird_program: "Weird program.", + weird_relation: "Weird relation.", + weird_ternary: "Weird ternary.", + wrap_immediate: "Wrap an immediate function invocation in parentheses " + + "to assist the reader in understanding that the expression " + + "is the result of a function, and not the function itself.", + wrap_regexp: "Wrap the /regexp/ literal in parens to " + + "disambiguate the slash operator.", + write_is_wrong: "document.write can be a form of eval." + }, + closure = array_to_object([ + 'goog' + ], false), + comments, + comments_off, + couch = array_to_object([ + 'emit' + ], false), + + descapes = { + 'b': '\b', + 't': '\t', + 'n': '\n', + 'f': '\f', + 'r': '\r', + '"': '"', + '/': '/', + '\\': '\\', + '!': '!' + }, + + devel = array_to_object([ + 'alert', 'confirm', 'console', 'Debug', 'opera', 'prompt', 'WSH' + ], false), + directive, + escapes = { + '\b': '\\b', + '\t': '\\t', + '\n': '\\n', + '\f': '\\f', + '\r': '\\r', + '\'': '\\\'', + '"' : '\\"', + '/' : '\\/', + '\\': '\\\\' + }, + + funct, // The current function, including the labels used in + // the function, as well as (breakage), + // (context), (loopage), (name), (params), (token), + // (vars), (verb) + + functionicity = [ + 'closure', 'exception', 'global', 'label', 'outer', 'undef', + 'unused', 'var' + ], + + functions, // All of the functions + global_funct, // The global body + global_scope, // The global scope + in_block, + indent, + itself, // JSLint itself + json_mode, + lex, // the tokenizer + lines, + lookahead, + node = array_to_object([ + 'Buffer', 'clearInterval', 'clearTimeout', 'console', 'exports', + 'global', 'module', 'process', 'querystring', 'require', + 'setInterval', 'setTimeout', '__dirname', '__filename' + ], false), + node_js, + numbery = array_to_object(['indexOf', 'lastIndexOf', 'search'], true), + next_token, + option, + predefined, // Global variables defined by option + prereg, + prev_token, + property, + regexp_flag = array_to_object(['g', 'i', 'm'], true), + return_this = function return_this() { + return this; + }, + rhino = array_to_object([ + 'defineClass', 'deserialize', 'gc', 'help', 'load', 'loadClass', + 'print', 'quit', 'readFile', 'readUrl', 'runCommand', 'seal', + 'serialize', 'spawn', 'sync', 'toint32', 'version' + ], false), + + scope, // An object containing an object for each variable in scope + semicolon_coda = array_to_object([';', '"', '\'', ')'], true), + stack, + +// standard contains the global names that are provided by the +// ECMAScript standard. + + standard = array_to_object([ + 'Array', 'Boolean', 'Date', 'decodeURI', 'decodeURIComponent', + 'encodeURI', 'encodeURIComponent', 'Error', 'eval', 'EvalError', + 'Function', 'isFinite', 'isNaN', 'JSON', 'Math', 'Number', + 'Object', 'parseInt', 'parseFloat', 'RangeError', 'ReferenceError', + 'RegExp', 'String', 'SyntaxError', 'TypeError', 'URIError' + ], false), + + strict_mode, + syntax = {}, + tab, + token, + tokens, + urls, + var_mode, + warnings, + + windows = array_to_object([ + 'ActiveXObject', 'CScript', 'Debug', 'Enumerator', 'System', + 'VBArray', 'WScript', 'WSH' + ], false), + +// Regular expressions. Some of these are stupidly long. + +// carriage return, carriage return linefeed, or linefeed + crlfx = /\r\n?|\n/, +// unsafe characters that are silently deleted by one or more browsers + cx = /[\u0000-\u0008\u000a-\u001f\u007f-\u009f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/, +// identifier + ix = /^([a-zA-Z_$][a-zA-Z0-9_$]*)$/, +// javascript url + jx = /^(?:javascript|jscript|ecmascript|vbscript|mocha|livescript)\s*:/i, +// star slash + lx = /\*\/|\/\*/, +// characters in strings that need escapement + nx = /[\u0000-\u001f'\\\u007f-\u009f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, +// sync + syx = /Sync$/, +// comment todo + tox = /^\W*to\s*do(?:\W|$)/i, +// token + tx = /^\s*([(){}\[\]\?.,:;'"~#@`]|={1,3}|\/(\*(jslint|properties|property|members?|globals?)?|=|\/)?|\*[\/=]?|\+(?:=|\++)?|-(?:=|-+)?|[\^%]=?|&[&=]?|\|[|=]?|>{1,3}=?|<(?:[\/=!]|\!(\[|--)?|<=?)?|\!(\!|==?)?|[a-zA-Z_$][a-zA-Z0-9_$]*|[0-9]+(?:[xX][0-9a-fA-F]+|\.[0-9]*)?(?:[eE][+\-]?[0-9]+)?)/; + + + function F() {} // Used by Object.create + +// Provide critical ES5 functions to ES3. + + if (typeof Array.prototype.filter !== 'function') { + Array.prototype.filter = function (f) { + var i, length = this.length, result = [], value; + for (i = 0; i < length; i += 1) { + try { + value = this[i]; + if (f(value)) { + result.push(value); + } + } catch (ignore) { + } + } + return result; + }; + } + + if (typeof Array.prototype.forEach !== 'function') { + Array.prototype.forEach = function (f) { + var i, length = this.length; + for (i = 0; i < length; i += 1) { + try { + f(this[i]); + } catch (ignore) { + } + } + }; + } + + if (typeof Array.isArray !== 'function') { + Array.isArray = function (o) { + return Object.prototype.toString.apply(o) === '[object Array]'; + }; + } + + if (!Object.prototype.hasOwnProperty.call(Object, 'create')) { + Object.create = function (o) { + F.prototype = o; + return new F(); + }; + } + + if (typeof Object.keys !== 'function') { + Object.keys = function (o) { + var array = [], key; + for (key in o) { + if (Object.prototype.hasOwnProperty.call(o, key)) { + array.push(key); + } + } + return array; + }; + } + + if (typeof String.prototype.entityify !== 'function') { + String.prototype.entityify = function () { + return this + .replace(/&/g, '&') + .replace(//g, '>'); + }; + } + + if (typeof String.prototype.isAlpha !== 'function') { + String.prototype.isAlpha = function () { + return (this >= 'a' && this <= 'z\uffff') || + (this >= 'A' && this <= 'Z\uffff'); + }; + } + + if (typeof String.prototype.isDigit !== 'function') { + String.prototype.isDigit = function () { + return (this >= '0' && this <= '9'); + }; + } + + if (typeof String.prototype.supplant !== 'function') { + String.prototype.supplant = function (o) { + return this.replace(/\{([^{}]*)\}/g, function (a, b) { + var replacement = o[b]; + return typeof replacement === 'string' || + typeof replacement === 'number' ? replacement : a; + }); + }; + } + + + function sanitize(a) { + +// Escapify a troublesome character. + + return escapes[a] || + '\\u' + ('0000' + a.charCodeAt().toString(16)).slice(-4); + } + + + function add_to_predefined(group) { + Object.keys(group).forEach(function (name) { + predefined[name] = group[name]; + }); + } + + + function assume() { + if (option.browser) { + add_to_predefined(browser); + option.browser = false; + } + if (option.closure) { + add_to_predefined(closure); + } + if (option.couch) { + add_to_predefined(couch); + option.couch = false; + } + if (option.devel) { + add_to_predefined(devel); + option.devel = false; + } + if (option.node) { + add_to_predefined(node); + option.node = false; + node_js = true; + } + if (option.rhino) { + add_to_predefined(rhino); + option.rhino = false; + } + if (option.windows) { + add_to_predefined(windows); + option.windows = false; + } + } + + +// Produce an error warning. + + function artifact(tok) { + if (!tok) { + tok = next_token; + } + return tok.number || tok.string; + } + + function quit(message, line, character) { + throw { + name: 'JSLintError', + line: line, + character: character, + message: bundle.scanned_a_b.supplant({ + a: message, + b: Math.floor((line / lines.length) * 100) + }) + }; + } + + function warn(message, offender, a, b, c, d) { + var character, line, warning; + offender = offender || next_token; // ~~ + line = offender.line || 0; + character = offender.from || 0; + warning = { + id: '(error)', + raw: bundle[message] || message, + evidence: lines[line - 1] || '', + line: line, + character: character, + a: a || (offender.id === '(number)' + ? String(offender.number) + : offender.string), + b: b, + c: c, + d: d + }; + warning.reason = warning.raw.supplant(warning); + JSLINT.errors.push(warning); + if (option.passfail) { + quit(bundle.stopping, line, character); + } + warnings += 1; + if (warnings >= option.maxerr) { + quit(bundle.too_many, line, character); + } + return warning; + } + + function warn_at(message, line, character, a, b, c, d) { + return warn(message, { + line: line, + from: character + }, a, b, c, d); + } + + function stop(message, offender, a, b, c, d) { + var warning = warn(message, offender, a, b, c, d); + quit(bundle.stopping, warning.line, warning.character); + } + + function stop_at(message, line, character, a, b, c, d) { + return stop(message, { + line: line, + from: character + }, a, b, c, d); + } + + function expected_at(at) { + if (!option.white && next_token.from !== at) { + warn('expected_a_at_b_c', next_token, '', at, + next_token.from); + } + } + +// lexical analysis and token construction + + lex = (function lex() { + var character, c, from, length, line, pos, source_row; + +// Private lex methods + + function next_line() { + var at; + character = 1; + source_row = lines[line]; + line += 1; + if (source_row === undefined) { + return false; + } + at = source_row.search(/\t/); + if (at >= 0) { + if (option.white) { + source_row = source_row.replace(/\t/g, ' '); + } else { + warn_at('use_spaces', line, at + 1); + } + } + at = source_row.search(cx); + if (at >= 0) { + warn_at('unsafe', line, at); + } + if (option.maxlen && option.maxlen < source_row.length) { + warn_at('too_long', line, source_row.length); + } + return true; + } + +// Produce a token object. The token inherits from a syntax symbol. + + function it(type, value) { + var id, the_token; + if (type === '(string)') { + if (jx.test(value)) { + warn_at('url', line, from); + } + } + the_token = Object.create(syntax[( + type === '(punctuator)' || (type === '(identifier)' && + Object.prototype.hasOwnProperty.call(syntax, value)) + ? value + : type + )] || syntax['(error)']); + if (type === '(identifier)') { + the_token.identifier = true; + if (value === '__iterator__' || value === '__proto__') { + stop_at('reserved_a', line, from, value); + } else if (!option.nomen && + (value.charAt(0) === '_' || + value.charAt(value.length - 1) === '_')) { + warn_at('dangling_a', line, from, value); + } + } + if (type === '(number)') { + the_token.number = +value; + } else if (value !== undefined) { + the_token.string = String(value); + } + the_token.line = line; + the_token.from = from; + the_token.thru = character; + if (comments.length) { + the_token.comments = comments; + comments = []; + } + id = the_token.id; + prereg = id && ( + ('(,=:[!&|?{};~+-*%^<>'.indexOf(id.charAt(id.length - 1)) >= 0) || + id === 'return' || id === 'case' + ); + return the_token; + } + + function match(x) { + var exec = x.exec(source_row), first; + if (exec) { + length = exec[0].length; + first = exec[1]; + c = first.charAt(0); + source_row = source_row.slice(length); + from = character + length - first.length; + character += length; + return first; + } + for (;;) { + if (!source_row) { + if (!option.white) { + warn_at('unexpected_char_a', line, character - 1, '(space)'); + } + return; + } + c = source_row.charAt(0); + if (c !== ' ') { + break; + } + source_row = source_row.slice(1); + character += 1; + } + stop_at('unexpected_char_a', line, character, c); + + } + + function string(x) { + var c, pos = 0, r = '', result; + + function hex(n) { + var i = parseInt(source_row.substr(pos + 1, n), 16); + pos += n; + if (i >= 32 && i <= 126 && + i !== 34 && i !== 92 && i !== 39) { + warn_at('unexpected_a', line, character, '\\'); + } + character += n; + c = String.fromCharCode(i); + } + + if (json_mode && x !== '"') { + warn_at('expected_a', line, character, '"'); + } + + for (;;) { + while (pos >= source_row.length) { + pos = 0; + if (!next_line()) { + stop_at('unclosed', line - 1, from); + } + } + c = source_row.charAt(pos); + if (c === x) { + character += 1; + source_row = source_row.slice(pos + 1); + result = it('(string)', r); + result.quote = x; + return result; + } + if (c < ' ') { + if (c === '\n' || c === '\r') { + break; + } + warn_at('control_a', line, character + pos, + source_row.slice(0, pos)); + } else if (c === '\\') { + pos += 1; + character += 1; + c = source_row.charAt(pos); + switch (c) { + case '': + if (!option.es5) { + warn_at('es5', line, character); + } + next_line(); + pos = -1; + break; + case '\'': + if (json_mode) { + warn_at('unexpected_a', line, character, '\\\''); + } + break; + case 'u': + hex(4); + break; + case 'v': + if (json_mode) { + warn_at('unexpected_a', line, character, '\\v'); + } + c = '\v'; + break; + case 'x': + if (json_mode) { + warn_at('unexpected_a', line, character, '\\x'); + } + hex(2); + break; + default: + if (typeof descapes[c] !== 'string') { + warn_at(c >= '0' && c <= '7' ? 'octal_a' : 'unexpected_a', + line, character, '\\' + c); + } else { + c = descapes[c]; + } + } + } + r += c; + character += 1; + pos += 1; + } + } + + function number(snippet) { + var digit; + if (source_row.charAt(0).isAlpha()) { + warn_at('expected_space_a_b', + line, character, c, source_row.charAt(0)); + } + if (c === '0') { + digit = snippet.charAt(1); + if (digit.isDigit()) { + if (token.id !== '.') { + warn_at('unexpected_a', line, character, snippet); + } + } else if (json_mode && (digit === 'x' || digit === 'X')) { + warn_at('unexpected_a', line, character, '0x'); + } + } + if (snippet.slice(snippet.length - 1) === '.') { + warn_at('trailing_decimal_a', line, character, snippet); + } + digit = +snippet; + if (!isFinite(digit)) { + warn_at('bad_number', line, character, snippet); + } + snippet = digit; + return it('(number)', snippet); + } + + function comment(snippet, type) { + if (comments_off) { + warn_at('unexpected_comment', line, character); + } else if (!option.todo && tox.test(snippet)) { + warn_at('todo_comment', line, character); + } + comments.push({ + id: type, + from: from, + thru: character, + line: line, + string: snippet + }); + } + + function regexp() { + var b, + bit, + captures = 0, + depth = 0, + flag = '', + high, + letter, + length = 0, + low, + potential, + quote, + result; + for (;;) { + b = true; + c = source_row.charAt(length); + length += 1; + switch (c) { + case '': + stop_at('unclosed_regexp', line, from); + return; + case '/': + if (depth > 0) { + warn_at('unescaped_a', line, from + length, '/'); + } + c = source_row.slice(0, length - 1); + potential = Object.create(regexp_flag); + for (;;) { + letter = source_row.charAt(length); + if (potential[letter] !== true) { + break; + } + potential[letter] = false; + length += 1; + flag += letter; + } + if (source_row.charAt(length).isAlpha()) { + stop_at('unexpected_a', line, from, source_row.charAt(length)); + } + character += length; + source_row = source_row.slice(length); + quote = source_row.charAt(0); + if (quote === '/' || quote === '*') { + stop_at('confusing_regexp', line, from); + } + result = it('(regexp)', c); + result.flag = flag; + return result; + case '\\': + c = source_row.charAt(length); + if (c < ' ') { + warn_at('control_a', line, from + length, String(c)); + } else if (c === '<') { + warn_at(bundle.unexpected_a, line, from + length, '\\'); + } + length += 1; + break; + case '(': + depth += 1; + b = false; + if (source_row.charAt(length) === '?') { + length += 1; + switch (source_row.charAt(length)) { + case ':': + case '=': + case '!': + length += 1; + break; + default: + warn_at(bundle.expected_a_b, line, from + length, + ':', source_row.charAt(length)); + } + } else { + captures += 1; + } + break; + case '|': + b = false; + break; + case ')': + if (depth === 0) { + warn_at('unescaped_a', line, from + length, ')'); + } else { + depth -= 1; + } + break; + case ' ': + pos = 1; + while (source_row.charAt(length) === ' ') { + length += 1; + pos += 1; + } + if (pos > 1) { + warn_at('use_braces', line, from + length, pos); + } + break; + case '[': + c = source_row.charAt(length); + if (c === '^') { + length += 1; + if (!option.regexp) { + warn_at('insecure_a', line, from + length, c); + } else if (source_row.charAt(length) === ']') { + stop_at('unescaped_a', line, from + length, '^'); + } + } + bit = false; + if (c === ']') { + warn_at('empty_class', line, from + length - 1); + bit = true; + } +klass: do { + c = source_row.charAt(length); + length += 1; + switch (c) { + case '[': + case '^': + warn_at('unescaped_a', line, from + length, c); + bit = true; + break; + case '-': + if (bit) { + bit = false; + } else { + warn_at('unescaped_a', line, from + length, '-'); + bit = true; + } + break; + case ']': + if (!bit) { + warn_at('unescaped_a', line, from + length - 1, '-'); + } + break klass; + case '\\': + c = source_row.charAt(length); + if (c < ' ') { + warn_at(bundle.control_a, line, from + length, String(c)); + } else if (c === '<') { + warn_at(bundle.unexpected_a, line, from + length, '\\'); + } + length += 1; + bit = true; + break; + case '/': + warn_at('unescaped_a', line, from + length - 1, '/'); + bit = true; + break; + default: + bit = true; + } + } while (c); + break; + case '.': + if (!option.regexp) { + warn_at('insecure_a', line, from + length, c); + } + break; + case ']': + case '?': + case '{': + case '}': + case '+': + case '*': + warn_at('unescaped_a', line, from + length, c); + break; + } + if (b) { + switch (source_row.charAt(length)) { + case '?': + case '+': + case '*': + length += 1; + if (source_row.charAt(length) === '?') { + length += 1; + } + break; + case '{': + length += 1; + c = source_row.charAt(length); + if (c < '0' || c > '9') { + warn_at(bundle.expected_number_a, line, + from + length, c); + } + length += 1; + low = +c; + for (;;) { + c = source_row.charAt(length); + if (c < '0' || c > '9') { + break; + } + length += 1; + low = +c + (low * 10); + } + high = low; + if (c === ',') { + length += 1; + high = Infinity; + c = source_row.charAt(length); + if (c >= '0' && c <= '9') { + length += 1; + high = +c; + for (;;) { + c = source_row.charAt(length); + if (c < '0' || c > '9') { + break; + } + length += 1; + high = +c + (high * 10); + } + } + } + if (source_row.charAt(length) !== '}') { + warn_at(bundle.expected_a_b, line, from + length, + '}', c); + } else { + length += 1; + } + if (source_row.charAt(length) === '?') { + length += 1; + } + if (low > high) { + warn_at(bundle.not_greater, line, from + length, + low, high); + } + break; + } + } + } + c = source_row.slice(0, length - 1); + character += length; + source_row = source_row.slice(length); + return it('(regexp)', c); + } + +// Public lex methods + + return { + init: function (source) { + if (typeof source === 'string') { + lines = source.split(crlfx); + } else { + lines = source; + } + line = 0; + next_line(); + from = 1; + }, + +// token -- this is called by advance to get the next token. + + token: function () { + var c, i, snippet; + + for (;;) { + while (!source_row) { + if (!next_line()) { + return it('(end)'); + } + } + snippet = match(tx); + if (snippet) { + +// identifier + + c = snippet.charAt(0); + if (c.isAlpha() || c === '_' || c === '$') { + return it('(identifier)', snippet); + } + +// number + + if (c.isDigit()) { + return number(snippet); + } + switch (snippet) { + +// string + + case '"': + case "'": + return string(snippet); + +// // comment + + case '//': + comment(source_row, '//'); + source_row = ''; + break; + +// /* comment + + case '/*': + for (;;) { + i = source_row.search(lx); + if (i >= 0) { + break; + } + character = source_row.length; + comment(source_row); + from = 0; + if (!next_line()) { + stop_at('unclosed_comment', line, character); + } + } + comment(source_row.slice(0, i), '/*'); + character += i + 2; + if (source_row.charAt(i) === '/') { + stop_at('nested_comment', line, character); + } + source_row = source_row.slice(i + 2); + break; + + case '': + break; +// / + case '/': + if (token.id === '/=') { + stop_at( + bundle.slash_equal, + line, + from + ); + } + return prereg + ? regexp() + : it('(punctuator)', snippet); + +// punctuator + + case ''); + } + character += 3; + source_row = source_row.slice(i + 3); + break; + default: + return it('(punctuator)', snippet); + } + } + } + } + }; + }()); + + + function add_label(token, kind, name) { + +// Define the symbol in the current function in the current scope. + + name = name || token.string; + if (funct === global_funct) { + if (typeof global_funct[name] !== 'string') { + token.writeable = typeof predefined[name] === 'boolean' + ? predefined[name] + : true; + global_scope[name] = token; + } + if (kind === 'becoming') { + kind = 'var'; + } + +// Ordinary variables. + + } else { + +// Warn if the variable already exists. + + if (typeof funct[name] === 'string') { + if (funct[name] === 'undef') { + if (!option.undef) { + warn('used_before_a', token, name); + } + kind = 'var'; + } else { + warn('already_defined', token, name); + } + } else { + +// Add the symbol to the current function. + + token.writeable = true; + scope[name] = token; + } + } + token.function = funct; + funct[name] = kind; + } + + + function peek(distance) { + +// Peek ahead to a future token. The distance is how far ahead to look. The +// default is the next token. + + var found, slot = 0; + + distance = distance || 0; + while (slot <= distance) { + found = lookahead[slot]; + if (!found) { + found = lookahead[slot] = lex.token(); + } + slot += 1; + } + return found; + } + + + function advance(id, match) { + +// Produce the next token, also looking for programming errors. + + if (indent) { + +// If indentation checking was requested, then inspect all of the line breakings. +// The var statement is tricky because the names might be aligned or not. We +// look at the first line break after the var to determine the programmer's +// intention. + + if (var_mode && next_token.line !== token.line) { + if ((var_mode !== indent || !next_token.edge) && + next_token.from === indent.at - + (next_token.edge ? option.indent : 0)) { + var dent = indent; + for (;;) { + dent.at -= option.indent; + if (dent === var_mode) { + break; + } + dent = dent.was; + } + dent.open = false; + } + var_mode = null; + } + if (next_token.id === '?' && indent.mode === ':' && + token.line !== next_token.line) { + indent.at -= option.indent; + } + if (indent.open) { + +// If the token is an edge. + + if (next_token.edge) { + if (next_token.edge === 'label') { + expected_at(1); + } else if (next_token.edge === 'case' || indent.mode === 'statement') { + expected_at(indent.at - option.indent); + } else if (indent.mode !== 'array' || next_token.line !== token.line) { + expected_at(indent.at); + } + +// If the token is not an edge, but is the first token on the line. + + } else if (next_token.line !== token.line) { + if (next_token.from < indent.at + (indent.mode === + 'expression' ? 0 : option.indent)) { + expected_at(indent.at + option.indent); + } + indent.wrap = true; + } + } else if (next_token.line !== token.line) { + if (next_token.edge) { + expected_at(indent.at); + } else { + indent.wrap = true; + if (indent.mode === 'statement' || indent.mode === 'var') { + expected_at(indent.at + option.indent); + } else if (next_token.from < indent.at + (indent.mode === + 'expression' ? 0 : option.indent)) { + expected_at(indent.at + option.indent); + } + } + } + } + + switch (token.id) { + case '(number)': + if (next_token.id === '.') { + warn('trailing_decimal_a'); + } + break; + case '-': + if (next_token.id === '-' || next_token.id === '--') { + warn('confusing_a'); + } + break; + case '+': + if (next_token.id === '+' || next_token.id === '++') { + warn('confusing_a'); + } + break; + } + if (token.id === '(string)' || token.identifier) { + anonname = token.string; + } + + if (id && next_token.id !== id) { + if (match) { + warn('expected_a_b_from_c_d', next_token, id, + match.id, match.line, artifact()); + } else if (!next_token.identifier || next_token.string !== id) { + warn('expected_a_b', next_token, id, artifact()); + } + } + prev_token = token; + token = next_token; + next_token = lookahead.shift() || lex.token(); + next_token.function = funct; + tokens.push(next_token); + } + + + function do_globals() { + var name, writeable; + for (;;) { + if (next_token.id !== '(string)' && !next_token.identifier) { + return; + } + name = next_token.string; + advance(); + writeable = false; + if (next_token.id === ':') { + advance(':'); + switch (next_token.id) { + case 'true': + writeable = predefined[name] !== false; + advance('true'); + break; + case 'false': + advance('false'); + break; + default: + stop('unexpected_a'); + } + } + predefined[name] = writeable; + if (next_token.id !== ',') { + return; + } + advance(','); + } + } + + + function do_jslint() { + var name, value; + while (next_token.id === '(string)' || next_token.identifier) { + name = next_token.string; + if (!allowed_option[name]) { + stop('unexpected_a'); + } + advance(); + if (next_token.id !== ':') { + stop('expected_a_b', next_token, ':', artifact()); + } + advance(':'); + if (typeof allowed_option[name] === 'number') { + value = next_token.number; + if (value > allowed_option[name] || value <= 0 || + Math.floor(value) !== value) { + stop('expected_small_a'); + } + option[name] = value; + } else { + if (next_token.id === 'true') { + option[name] = true; + } else if (next_token.id === 'false') { + option[name] = false; + } else { + stop('unexpected_a'); + } + } + advance(); + if (next_token.id === ',') { + advance(','); + } + } + assume(); + } + + + function do_properties() { + var name; + option.properties = true; + for (;;) { + if (next_token.id !== '(string)' && !next_token.identifier) { + return; + } + name = next_token.string; + advance(); + if (next_token.id === ':') { + for (;;) { + advance(); + if (next_token.id !== '(string)' && !next_token.identifier) { + break; + } + } + } + property[name] = 0; + if (next_token.id !== ',') { + return; + } + advance(','); + } + } + + + directive = function directive() { + var command = this.id, + old_comments_off = comments_off, + old_indent = indent; + comments_off = true; + indent = null; + if (next_token.line === token.line && next_token.from === token.thru) { + warn('missing_space_a_b', next_token, artifact(token), artifact()); + } + if (lookahead.length > 0) { + warn('unexpected_a', this); + } + switch (command) { + case '/*properties': + case '/*property': + case '/*members': + case '/*member': + do_properties(); + break; + case '/*jslint': + do_jslint(); + break; + case '/*globals': + case '/*global': + do_globals(); + break; + default: + stop('unexpected_a', this); + } + comments_off = old_comments_off; + advance('*/'); + indent = old_indent; + }; + + +// Indentation intention + + function edge(mode) { + next_token.edge = indent ? indent.open && (mode || 'edge') : ''; + } + + + function step_in(mode) { + var open; + if (typeof mode === 'number') { + indent = { + at: +mode, + open: true, + was: indent + }; + } else if (!indent) { + indent = { + at: 1, + mode: 'statement', + open: true + }; + } else if (mode === 'statement') { + indent = { + at: indent.at, + open: true, + was: indent + }; + } else { + open = mode === 'var' || next_token.line !== token.line; + indent = { + at: (open || mode === 'control' + ? indent.at + option.indent + : indent.at) + (indent.wrap ? option.indent : 0), + mode: mode, + open: open, + was: indent + }; + if (mode === 'var' && open) { + var_mode = indent; + } + } + } + + function step_out(id, symbol) { + if (id) { + if (indent && indent.open) { + indent.at -= option.indent; + edge(); + } + advance(id, symbol); + } + if (indent) { + indent = indent.was; + } + } + +// Functions for conformance of whitespace. + + function one_space(left, right) { + left = left || token; + right = right || next_token; + if (right.id !== '(end)' && !option.white && + (token.line !== right.line || + token.thru + 1 !== right.from)) { + warn('expected_space_a_b', right, artifact(token), artifact(right)); + } + } + + function one_space_only(left, right) { + left = left || token; + right = right || next_token; + if (right.id !== '(end)' && (left.line !== right.line || + (!option.white && left.thru + 1 !== right.from))) { + warn('expected_space_a_b', right, artifact(left), artifact(right)); + } + } + + function no_space(left, right) { + left = left || token; + right = right || next_token; + if ((!option.white) && + left.thru !== right.from && left.line === right.line) { + warn('unexpected_space_a_b', right, artifact(left), artifact(right)); + } + } + + function no_space_only(left, right) { + left = left || token; + right = right || next_token; + if (right.id !== '(end)' && (left.line !== right.line || + (!option.white && left.thru !== right.from))) { + warn('unexpected_space_a_b', right, artifact(left), artifact(right)); + } + } + + function spaces(left, right) { + if (!option.white) { + left = left || token; + right = right || next_token; + if (left.thru === right.from && left.line === right.line) { + warn('missing_space_a_b', right, artifact(left), artifact(right)); + } + } + } + + function comma() { + if (next_token.id !== ',') { + warn_at('expected_a_b', token.line, token.thru, ',', artifact()); + } else { + if (!option.white) { + no_space_only(); + } + advance(','); + spaces(); + } + } + + + function semicolon() { + if (next_token.id !== ';') { + warn_at('expected_a_b', token.line, token.thru, ';', artifact()); + } else { + if (!option.white) { + no_space_only(); + } + advance(';'); + if (semicolon_coda[next_token.id] !== true) { + spaces(); + } + } + } + + function use_strict() { + if (next_token.string === 'use strict') { + if (strict_mode) { + warn('unnecessary_use'); + } + edge(); + advance(); + semicolon(); + strict_mode = true; + option.undef = false; + return true; + } + return false; + } + + + function are_similar(a, b) { + if (a === b) { + return true; + } + if (Array.isArray(a)) { + if (Array.isArray(b) && a.length === b.length) { + var i; + for (i = 0; i < a.length; i += 1) { + if (!are_similar(a[i], b[i])) { + return false; + } + } + return true; + } + return false; + } + if (Array.isArray(b)) { + return false; + } + if (a.id === '(number)' && b.id === '(number)') { + return a.number === b.number; + } + if (a.arity === b.arity && a.string === b.string) { + switch (a.arity) { + case 'prefix': + case 'suffix': + case undefined: + return a.id === b.id && are_similar(a.first, b.first) && + a.id !== '{' && a.id !== '['; + case 'infix': + return are_similar(a.first, b.first) && + are_similar(a.second, b.second); + case 'ternary': + return are_similar(a.first, b.first) && + are_similar(a.second, b.second) && + are_similar(a.third, b.third); + case 'function': + case 'regexp': + return false; + default: + return true; + } + } else { + if (a.id === '.' && b.id === '[' && b.arity === 'infix') { + return a.second.string === b.second.string && b.second.id === '(string)'; + } + if (a.id === '[' && a.arity === 'infix' && b.id === '.') { + return a.second.string === b.second.string && a.second.id === '(string)'; + } + } + return false; + } + + +// This is the heart of JSLINT, the Pratt parser. In addition to parsing, it +// is looking for ad hoc lint patterns. We add .fud to Pratt's model, which is +// like .nud except that it is only used on the first token of a statement. +// Having .fud makes it much easier to define statement-oriented languages like +// JavaScript. I retained Pratt's nomenclature. + +// .nud Null denotation +// .fud First null denotation +// .led Left denotation +// lbp Left binding power +// rbp Right binding power + +// They are elements of the parsing method called Top Down Operator Precedence. + + function expression(rbp, initial) { + +// rbp is the right binding power. +// initial indicates that this is the first expression of a statement. + + var left; + if (next_token.id === '(end)') { + stop('unexpected_a', token, next_token.id); + } + advance(); + if (initial) { + anonname = 'anonymous'; + funct['(verb)'] = token.string; + } + if (initial === true && token.fud) { + left = token.fud(); + } else { + if (token.nud) { + left = token.nud(); + } else { + if (next_token.id === '(number)' && token.id === '.') { + warn('leading_decimal_a', token, artifact()); + advance(); + return token; + } + stop('expected_identifier_a', token, token.id); + } + while (rbp < next_token.lbp) { + advance(); + if (token.led) { + left = token.led(left); + } else { + stop('expected_operator_a', token, token.id); + } + } + } + return left; + } + + +// Functional constructors for making the symbols that will be inherited by +// tokens. + + function symbol(s, p) { + var x = syntax[s]; + if (!x || typeof x !== 'object') { + syntax[s] = x = { + id: s, + lbp: p || 0, + string: s + }; + } + return x; + } + + function postscript(x) { + x.postscript = true; + return x; + } + + function ultimate(s) { + var x = symbol(s, 0); + x.from = 1; + x.thru = 1; + x.line = 0; + x.edge = 'edge'; + x.string = s; + return postscript(x); + } + + + function stmt(s, f) { + var x = symbol(s); + x.identifier = x.reserved = true; + x.fud = f; + return x; + } + + function labeled_stmt(s, f) { + var x = stmt(s, f); + x.labeled = true; + } + + function disrupt_stmt(s, f) { + var x = stmt(s, f); + x.disrupt = true; + } + + + function reserve_name(x) { + var c = x.id.charAt(0); + if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')) { + x.identifier = x.reserved = true; + } + return x; + } + + + function prefix(s, f) { + var x = symbol(s, 150); + reserve_name(x); + x.nud = function () { + var that = this; + that.arity = 'prefix'; + if (typeof f === 'function') { + that = f(that); + if (that.arity !== 'prefix') { + return that; + } + } else { + if (s === 'typeof') { + one_space(); + } else { + no_space_only(); + } + that.first = expression(150); + } + switch (that.id) { + case '++': + case '--': + if (!option.plusplus) { + warn('unexpected_a', that); + } else if ((!that.first.identifier || that.first.reserved) && + that.first.id !== '.' && that.first.id !== '[') { + warn('bad_operand', that); + } + break; + default: + if (that.first.arity === 'prefix' || + that.first.arity === 'function') { + warn('unexpected_a', that); + } + } + return that; + }; + return x; + } + + + function type(s, t, nud) { + var x = symbol(s); + x.arity = t; + if (nud) { + x.nud = nud; + } + return x; + } + + + function reserve(s, f) { + var x = symbol(s); + x.identifier = x.reserved = true; + if (typeof f === 'function') { + x.nud = f; + } + return x; + } + + + function constant(name) { + var x = reserve(name); + x.string = name; + x.nud = return_this; + return x; + } + + + function reservevar(s, v) { + return reserve(s, function () { + if (typeof v === 'function') { + v(this); + } + return this; + }); + } + + + function infix(s, p, f, w) { + var x = symbol(s, p); + reserve_name(x); + x.led = function (left) { + this.arity = 'infix'; + if (!w) { + spaces(prev_token, token); + spaces(); + } + if (!option.bitwise && this.bitwise) { + warn('unexpected_a', this); + } + if (typeof f === 'function') { + return f(left, this); + } + this.first = left; + this.second = expression(p); + return this; + }; + return x; + } + + function expected_relation(node, message) { + if (node.assign) { + warn(message || bundle.conditional_assignment, node); + } + return node; + } + + function expected_condition(node, message) { + switch (node.id) { + case '[': + case '-': + if (node.arity !== 'infix') { + warn(message || bundle.weird_condition, node); + } + break; + case 'false': + case 'function': + case 'Infinity': + case 'NaN': + case 'null': + case 'true': + case 'undefined': + case 'void': + case '(number)': + case '(regexp)': + case '(string)': + case '{': + case '?': + case '~': + warn(message || bundle.weird_condition, node); + break; + case '(': + if (node.first.id === 'new' || + (node.first.string === 'Boolean') || + (node.first.id === '.' && + numbery[node.first.second.string] === true)) { + warn(message || bundle.weird_condition, node); + } + break; + } + return node; + } + + function check_relation(node) { + switch (node.arity) { + case 'prefix': + switch (node.id) { + case '{': + case '[': + warn('unexpected_a', node); + break; + case '!': + warn('confusing_a', node); + break; + } + break; + case 'function': + case 'regexp': + warn('unexpected_a', node); + break; + default: + if (node.id === 'NaN') { + warn('isNaN', node); + } else if (node.relation) { + warn('weird_relation', node); + } + } + return node; + } + + + function relation(s, eqeq) { + var x = infix(s, 100, function (left, that) { + check_relation(left); + if (eqeq && !option.eqeq) { + warn('expected_a_b', that, eqeq, that.id); + } + var right = expression(100); + if (are_similar(left, right) || + ((left.id === '(string)' || left.id === '(number)') && + (right.id === '(string)' || right.id === '(number)'))) { + warn('weird_relation', that); + } else if (left.id === 'typeof') { + if (right.id !== '(string)') { + warn("expected_string_a", right, right.id === '(number)' + ? right.number + : right.string); + } else if (right.string === 'undefined' || + right.string === 'null') { + warn("unexpected_typeof_a", left, right.string); + } + } else if (right.id === 'typeof') { + if (left.id !== '(string)') { + warn("expected_string_a", left, left.id === '(number)' + ? left.number + : left.string); + } else if (left.string === 'undefined' || + left.string === 'null') { + warn("unexpected_typeof_a", right, left.string); + } + } + that.first = left; + that.second = check_relation(right); + return that; + }); + x.relation = true; + return x; + } + + + function assignop(s, op) { + var x = infix(s, 20, function (left, that) { + that.first = left; + if (left.identifier) { + if (scope[left.string]) { + if (scope[left.string].writeable === false) { + warn('read_only', left); + } + } else { + stop('read_only'); + } + if (funct['(params)']) { + funct['(params)'].forEach(function (value) { + if (value.string === left.string) { + value.assign = true; + } + }); + } + } + if (left === syntax.function) { + warn('identifier_function', token); + } + if (left.id === '.' || left.id === '[') { + if (!left.first || left.first.string === 'arguments') { + warn('bad_assignment', that); + } + } else if (left.identifier) { + if (!left.reserved && funct[left.string] === 'exception') { + warn('assign_exception', left); + } + } else { + warn('bad_assignment', that); + } + that.second = expression(19); + if (that.id === '=' && are_similar(that.first, that.second)) { + warn('weird_assignment', that); + } + return that; + }); + x.assign = true; + if (op) { + if (syntax[op].bitwise) { + x.bitwise = true; + } + } + return x; + } + + + function bitwise(s, p) { + var x = infix(s, p, 'number'); + x.bitwise = true; + return x; + } + + + function suffix(s) { + var x = symbol(s, 150); + x.led = function (left) { + no_space_only(prev_token, token); + if (!option.plusplus) { + warn('unexpected_a', this); + } else if ((!left.identifier || left.reserved) && + left.id !== '.' && left.id !== '[') { + warn('bad_operand', this); + } + this.first = left; + this.arity = 'suffix'; + return this; + }; + return x; + } + + + function optional_identifier(variable) { + if (next_token.identifier) { + advance(); + if (token.reserved && (!option.es5 || variable)) { + warn('expected_identifier_a_reserved', token); + } + return token.string; + } + } + + + function identifier(variable) { + var i = optional_identifier(variable); + if (!i) { + stop(token.id === 'function' && next_token.id === '(' + ? 'name_function' + : 'expected_identifier_a'); + } + return i; + } + + + function statement() { + + var label, old_scope = scope, preamble, the_statement; + +// We don't like the empty statement. + + if (next_token.id === ';') { + warn('unexpected_a'); + semicolon(); + return; + } + +// Is this a labeled statement? + + if (next_token.identifier && !next_token.reserved && peek().id === ':') { + edge('label'); + label = next_token; + advance(); + advance(':'); + scope = Object.create(old_scope); + add_label(label, 'label'); + if (next_token.labeled !== true || funct === global_funct) { + stop('unexpected_label_a', label); + } else if (jx.test(label.string + ':')) { + warn('url', label); + } + next_token.label = label; + } + +// Parse the statement. + + preamble = next_token; + if (token.id !== 'else') { + edge(); + } + step_in('statement'); + the_statement = expression(0, true); + if (the_statement) { + +// Look for the final semicolon. + + if (the_statement.arity === 'statement') { + if (the_statement.id === 'switch' || + (the_statement.block && the_statement.id !== 'do')) { + spaces(); + } else { + semicolon(); + } + } else { + +// If this is an expression statement, determine if it is acceptable. +// We do not like +// new Blah; +// statements. If it is to be used at all, new should only be used to make +// objects, not side effects. The expression statements we do like do +// assignment or invocation or delete. + + if (the_statement.id === '(') { + if (the_statement.first.id === 'new') { + warn('bad_new'); + } + } else if (!the_statement.assign && + the_statement.id !== 'delete' && + the_statement.id !== '++' && + the_statement.id !== '--') { + if (!option.closure || !preamble.comments) { + warn('assignment_function_expression', preamble); + } + } + semicolon(); + } + } + step_out(); + scope = old_scope; + return the_statement; + } + + + function statements() { + var array = [], disruptor, the_statement; + +// A disrupt statement may not be followed by any other statement. +// If the last statement is disrupt, then the sequence is disrupt. + + while (next_token.postscript !== true) { + if (next_token.id === ';') { + warn('unexpected_a', next_token); + semicolon(); + } else { + if (next_token.string === 'use strict') { + if ((!node_js) || funct !== global_funct || array.length > 0) { + warn('function_strict'); + } + use_strict(); + } + if (disruptor) { + warn('unreachable_a_b', next_token, next_token.string, + disruptor.string); + disruptor = null; + } + the_statement = statement(); + if (the_statement) { + array.push(the_statement); + if (the_statement.disrupt) { + disruptor = the_statement; + array.disrupt = true; + } + } + } + } + return array; + } + + + function block(ordinary) { + +// array block is array sequence of statements wrapped in braces. +// ordinary is false for function bodies and try blocks. +// ordinary is true for if statements, while, etc. + + var array, + curly = next_token, + old_in_block = in_block, + old_scope = scope, + old_strict_mode = strict_mode; + + in_block = ordinary; + scope = Object.create(scope); + if (next_token.id === '{') { + spaces(); + advance('{'); + step_in(); + if (!ordinary && !use_strict() && !old_strict_mode && + !option.sloppy && funct['(context)'] === global_funct) { + warn('missing_use_strict'); + } + array = statements(); + strict_mode = old_strict_mode; + step_out('}', curly); + } else if (!ordinary) { + stop('expected_a_b', next_token, '{', artifact()); + } else { + warn('expected_a_b', next_token, '{', artifact()); + array = [statement()]; + array.disrupt = array[0].disrupt; + } + funct['(verb)'] = null; + scope = old_scope; + in_block = old_in_block; + if (ordinary && array.length === 0) { + warn('empty_block'); + } + return array; + } + + + function tally_property(name) { + if (option.properties && typeof property[name] !== 'number') { + warn('unexpected_property_a', token, name); + } + if (typeof property[name] === 'number') { + property[name] += 1; + } else { + property[name] = 1; + } + } + + +// ECMAScript parser + + syntax['(identifier)'] = { + id: '(identifier)', + lbp: 0, + identifier: true, + nud: function () { + var name = this.string, + variable = scope[name], + site, + writeable; + +// If the variable is not in scope, then we may have an undeclared variable. +// Check the predefined list. If it was predefined, create the global +// variable. + + if (typeof variable !== 'object') { + writeable = predefined[name]; + if (typeof writeable === 'boolean') { + global_scope[name] = variable = { + string: name, + writeable: writeable, + function: global_funct + }; + global_funct[name] = 'var'; + +// But if the variable is not in scope, and is not predefined, and if we are not +// in the global scope, then we have an undefined variable error. + + } else { + if (!option.undef) { + warn('used_before_a', token); + } + scope[name] = variable = { + string: name, + writeable: true, + function: funct + }; + funct[name] = 'undef'; + } + + } + site = variable.function; + +// The name is in scope and defined in the current function. + + if (funct === site) { + +// Change 'unused' to 'var', and reject labels. + + switch (funct[name]) { + case 'becoming': + warn('unexpected_a', token); + funct[name] = 'var'; + break; + case 'unused': + funct[name] = 'var'; + break; + case 'unparam': + funct[name] = 'parameter'; + break; + case 'unction': + funct[name] = 'function'; + break; + case 'label': + warn('a_label', token, name); + break; + } + this.function = funct; + +// If the name is already defined in the current +// function, but not as outer, then there is a scope error. + + } else { + switch (funct[name]) { + case 'closure': + case 'function': + case 'var': + case 'unused': + warn('a_scope', token, name); + break; + case 'label': + warn('a_label', token, name); + break; + case 'outer': + case 'global': + break; + default: + +// If the name is defined in an outer function, make an outer entry, and if +// it was unused, make it var. + + switch (site[name]) { + case 'becoming': + case 'closure': + case 'function': + case 'parameter': + case 'unction': + case 'unparam': + case 'unused': + case 'var': + site[name] = 'closure'; + funct[name] = site === global_funct + ? 'global' + : 'outer'; + this.function = site; + break; + case 'undef': + funct[name] = 'undef'; + break; + case 'label': + warn('a_label', token, name); + break; + } + } + } + return this; + }, + led: function () { + stop('expected_operator_a'); + } + }; + +// Build the syntax table by declaring the syntactic elements. + + type('(array)', 'array'); + type('(color)', 'color'); + type('(function)', 'function'); + type('(number)', 'number', return_this); + type('(object)', 'object'); + type('(string)', 'string', return_this); + type('(boolean)', 'boolean', return_this); + type('(regexp)', 'regexp', return_this); + + ultimate('(begin)'); + ultimate('(end)'); + ultimate('(error)'); + postscript(symbol(''); + postscript(symbol('}')); + symbol(')'); + symbol(']'); + postscript(symbol('"')); + postscript(symbol('\'')); + symbol(';'); + symbol(':'); + symbol(','); + symbol('#'); + symbol('@'); + symbol('*/'); + postscript(reserve('case')); + reserve('catch'); + postscript(reserve('default')); + reserve('else'); + reserve('finally'); + + reservevar('arguments', function (x) { + if (strict_mode && funct === global_funct) { + warn('strict', x); + } + funct['(arguments)'] = true; + }); + reservevar('eval'); + constant('false', 'boolean'); + constant('Infinity', 'number'); + constant('NaN', 'number'); + constant('null', ''); + reservevar('this', function (x) { + if (strict_mode && funct['(token)'] && + (funct['(token)'].arity === 'statement' && + funct['(name)'].charAt(0) > 'Z')) { + warn('strict', x); + } + }); + constant('true', 'boolean'); + constant('undefined', ''); + + infix('?', 30, function (left, that) { + step_in('?'); + that.first = expected_condition(expected_relation(left)); + that.second = expression(0); + spaces(); + step_out(); + var colon = next_token; + advance(':'); + step_in(':'); + spaces(); + that.third = expression(10); + that.arity = 'ternary'; + if (are_similar(that.second, that.third)) { + warn('weird_ternary', colon); + } else if (are_similar(that.first, that.second)) { + warn('use_or', that); + } + step_out(); + return that; + }); + + infix('||', 40, function (left, that) { + function paren_check(that) { + if (that.id === '&&' && !that.paren) { + warn('and', that); + } + return that; + } + + that.first = paren_check(expected_condition(expected_relation(left))); + that.second = paren_check(expected_relation(expression(40))); + if (are_similar(that.first, that.second)) { + warn('weird_condition', that); + } + return that; + }); + + infix('&&', 50, function (left, that) { + that.first = expected_condition(expected_relation(left)); + that.second = expected_relation(expression(50)); + if (are_similar(that.first, that.second)) { + warn('weird_condition', that); + } + return that; + }); + + prefix('void', function (that) { + that.first = expression(0); + if (option.es5 || strict_mode) { + warn('expected_a_b', that, 'undefined', 'void'); + } else if (that.first.number !== 0) { + warn('expected_a_b', that.first, '0', artifact(that.first)); + } + return that; + }); + + bitwise('|', 70); + bitwise('^', 80); + bitwise('&', 90); + + relation('==', '==='); + relation('==='); + relation('!=', '!=='); + relation('!=='); + relation('<'); + relation('>'); + relation('<='); + relation('>='); + + bitwise('<<', 120); + bitwise('>>', 120); + bitwise('>>>', 120); + + infix('in', 120, function (left, that) { + warn('infix_in', that); + that.left = left; + that.right = expression(130); + return that; + }); + infix('instanceof', 120); + infix('+', 130, function (left, that) { + if (left.id === '(number)') { + if (left.number === 0) { + warn('unexpected_a', left, '0'); + } + } else if (left.id === '(string)') { + if (left.string === '') { + warn('expected_a_b', left, 'String', '\'\''); + } + } + var right = expression(130); + if (right.id === '(number)') { + if (right.number === 0) { + warn('unexpected_a', right, '0'); + } + } else if (right.id === '(string)') { + if (right.string === '') { + warn('expected_a_b', right, 'String', '\'\''); + } + } + if (left.id === right.id) { + if (left.id === '(string)' || left.id === '(number)') { + if (left.id === '(string)') { + left.string += right.string; + if (jx.test(left.string)) { + warn('url', left); + } + } else { + left.number += right.number; + } + left.thru = right.thru; + return left; + } + } + that.first = left; + that.second = right; + return that; + }); + prefix('+'); + prefix('+++', function () { + warn('confusing_a', token); + this.first = expression(150); + this.arity = 'prefix'; + return this; + }); + infix('+++', 130, function (left) { + warn('confusing_a', token); + this.first = left; + this.second = expression(130); + return this; + }); + infix('-', 130, function (left, that) { + if ((left.id === '(number)' && left.number === 0) || left.id === '(string)') { + warn('unexpected_a', left); + } + var right = expression(130); + if ((right.id === '(number)' && right.number === 0) || right.id === '(string)') { + warn('unexpected_a', right); + } + if (left.id === right.id && left.id === '(number)') { + left.number -= right.number; + left.thru = right.thru; + return left; + } + that.first = left; + that.second = right; + return that; + }); + prefix('-'); + prefix('---', function () { + warn('confusing_a', token); + this.first = expression(150); + this.arity = 'prefix'; + return this; + }); + infix('---', 130, function (left) { + warn('confusing_a', token); + this.first = left; + this.second = expression(130); + return this; + }); + infix('*', 140, function (left, that) { + if ((left.id === '(number)' && (left.number === 0 || left.number === 1)) || left.id === '(string)') { + warn('unexpected_a', left); + } + var right = expression(140); + if ((right.id === '(number)' && (right.number === 0 || right.number === 1)) || right.id === '(string)') { + warn('unexpected_a', right); + } + if (left.id === right.id && left.id === '(number)') { + left.number *= right.number; + left.thru = right.thru; + return left; + } + that.first = left; + that.second = right; + return that; + }); + infix('/', 140, function (left, that) { + if ((left.id === '(number)' && left.number === 0) || left.id === '(string)') { + warn('unexpected_a', left); + } + var right = expression(140); + if ((right.id === '(number)' && (right.number === 0 || right.number === 1)) || right.id === '(string)') { + warn('unexpected_a', right); + } + if (left.id === right.id && left.id === '(number)') { + left.number /= right.number; + left.thru = right.thru; + return left; + } + that.first = left; + that.second = right; + return that; + }); + infix('%', 140, function (left, that) { + if ((left.id === '(number)' && (left.number === 0 || left.number === 1)) || left.id === '(string)') { + warn('unexpected_a', left); + } + var right = expression(140); + if ((right.id === '(number)' && right.number === 0) || right.id === '(string)') { + warn('unexpected_a', right); + } + if (left.id === right.id && left.id === '(number)') { + left.number %= right.number; + left.thru = right.thru; + return left; + } + that.first = left; + that.second = right; + return that; + }); + + suffix('++'); + prefix('++'); + + suffix('--'); + prefix('--'); + prefix('delete', function (that) { + one_space(); + var p = expression(0); + if (!p || (p.id !== '.' && p.id !== '[')) { + warn('deleted'); + } + that.first = p; + return that; + }); + + + prefix('~', function (that) { + no_space_only(); + if (!option.bitwise) { + warn('unexpected_a', that); + } + that.first = expression(150); + return that; + }); + function banger(that) { + no_space_only(); + that.first = expected_condition(expression(150)); + if (bang[that.first.id] === that || that.first.assign) { + warn('confusing_a', that); + } + return that; + } + prefix('!', banger); + prefix('!!', banger); + prefix('typeof'); + prefix('new', function (that) { + one_space(); + var c = expression(160), n, p, v; + that.first = c; + if (c.id !== 'function') { + if (c.identifier) { + switch (c.string) { + case 'Object': + warn('use_object', token); + break; + case 'Array': + if (next_token.id === '(') { + p = next_token; + p.first = this; + advance('('); + if (next_token.id !== ')') { + n = expression(0); + p.second = [n]; + if (n.id !== '(number)' || next_token.id === ',') { + warn('use_array', p); + } + while (next_token.id === ',') { + advance(','); + p.second.push(expression(0)); + } + } else { + warn('use_array', token); + } + advance(')', p); + return p; + } + warn('use_array', token); + break; + case 'Number': + case 'String': + case 'Boolean': + case 'Math': + case 'JSON': + warn('not_a_constructor', c); + break; + case 'Function': + if (!option.evil) { + warn('function_eval'); + } + break; + case 'Date': + case 'RegExp': + case 'this': + break; + default: + if (c.id !== 'function') { + v = c.string.charAt(0); + if (!option.newcap && (v < 'A' || v > 'Z')) { + warn('constructor_name_a', token); + } + } + } + } else { + if (c.id !== '.' && c.id !== '[' && c.id !== '(') { + warn('bad_constructor', token); + } + } + } else { + warn('weird_new', that); + } + if (next_token.id !== '(') { + warn('missing_a', next_token, '()'); + } + return that; + }); + + infix('(', 160, function (left, that) { + var e, p; + if (indent && indent.mode === 'expression') { + no_space(prev_token, token); + } else { + no_space_only(prev_token, token); + } + if (!left.immed && left.id === 'function') { + warn('wrap_immediate'); + } + p = []; + if (left.identifier) { + if (left.string.match(/^[A-Z]([A-Z0-9_$]*[a-z][A-Za-z0-9_$]*)?$/)) { + if (left.string !== 'Number' && left.string !== 'String' && + left.string !== 'Boolean' && left.string !== 'Date') { + if (left.string === 'Math' || left.string === 'JSON') { + warn('not_a_function', left); + } else if (left.string === 'Object') { + warn('use_object', token); + } else if (left.string === 'Array' || !option.newcap) { + warn('missing_a', left, 'new'); + } + } + } + } else if (left.id === '.') { + if (left.second.string === 'split' && + left.first.id === '(string)') { + warn('use_array', left.second); + } + } + step_in(); + if (next_token.id !== ')') { + no_space(); + for (;;) { + edge(); + e = expression(10); + if (left.string === 'Boolean' && (e.id === '!' || e.id === '~')) { + warn('weird_condition', e); + } + p.push(e); + if (next_token.id !== ',') { + break; + } + comma(); + } + } + no_space(); + step_out(')', that); + if (typeof left === 'object') { + if (left.string === 'parseInt' && p.length === 1) { + warn('radix', left); + } else if (left.string === 'String' && p.length >= 1 && p[0].id === '(string)') { + warn('unexpected_a', left); + } + if (!option.evil) { + if (left.string === 'eval' || left.string === 'Function' || + left.string === 'execScript') { + warn('evil', left); + } else if (p[0] && p[0].id === '(string)' && + (left.string === 'setTimeout' || + left.string === 'setInterval')) { + warn('implied_evil', left); + } + } + if (!left.identifier && left.id !== '.' && left.id !== '[' && + left.id !== '(' && left.id !== '&&' && left.id !== '||' && + left.id !== '?') { + warn('bad_invocation', left); + } + if (left.id === '.') { + if (p.length > 0 && + left.first && left.first.first && + are_similar(p[0], left.first.first)) { + if (left.second.string === 'call' || + (left.second.string === 'apply' && (p.length === 1 || + (p[1].arity === 'prefix' && p[1].id === '[')))) { + warn('unexpected_a', left.second); + } + } + if (left.second.string === 'toString') { + if (left.first.id === '(string)' || left.first.id === '(number)') { + warn('unexpected_a', left.second); + } + } + } + } + that.first = left; + that.second = p; + return that; + }, true); + + prefix('(', function (that) { + step_in('expression'); + no_space(); + edge(); + if (next_token.id === 'function') { + next_token.immed = true; + } + var value = expression(0); + value.paren = true; + no_space(); + step_out(')', that); + if (value.id === 'function') { + switch (next_token.id) { + case '(': + warn('move_invocation'); + break; + case '.': + case '[': + warn('unexpected_a'); + break; + default: + warn('bad_wrap', that); + } + } else if (!value.arity) { + if (!option.closure || !that.comments) { + warn('unexpected_a', that); + } + } + return value; + }); + + infix('.', 170, function (left, that) { + no_space(prev_token, token); + no_space(); + var name = identifier(); + if (typeof name === 'string') { + tally_property(name); + } + that.first = left; + that.second = token; + if (left && left.string === 'arguments' && + (name === 'callee' || name === 'caller')) { + warn('avoid_a', left, 'arguments.' + name); + } else if (!option.evil && left && left.string === 'document' && + (name === 'write' || name === 'writeln')) { + warn('write_is_wrong', left); + } else if (!option.stupid && syx.test(name)) { + warn('sync_a', token); + } + if (!option.evil && (name === 'eval' || name === 'execScript')) { + warn('evil'); + } + return that; + }, true); + + infix('[', 170, function (left, that) { + var e, s; + no_space_only(prev_token, token); + no_space(); + step_in(); + edge(); + e = expression(0); + switch (e.id) { + case '(number)': + if (e.id === '(number)' && left.id === 'arguments') { + warn('use_param', left); + } + break; + case '(string)': + if (!option.evil && + (e.string === 'eval' || e.string === 'execScript')) { + warn('evil', e); + } else if (!option.sub && ix.test(e.string)) { + s = syntax[e.string]; + if (!s || !s.reserved) { + warn('subscript', e); + } + } + tally_property(e.string); + break; + } + step_out(']', that); + no_space(prev_token, token); + that.first = left; + that.second = e; + return that; + }, true); + + prefix('[', function (that) { + that.first = []; + step_in('array'); + while (next_token.id !== '(end)') { + while (next_token.id === ',') { + warn('unexpected_a', next_token); + advance(','); + } + if (next_token.id === ']') { + break; + } + indent.wrap = false; + edge(); + that.first.push(expression(10)); + if (next_token.id === ',') { + comma(); + if (next_token.id === ']' && !option.es5) { + warn('unexpected_a', token); + break; + } + } else { + break; + } + } + step_out(']', that); + return that; + }, 170); + + + function property_name() { + var id = optional_identifier(); + if (!id) { + if (next_token.id === '(string)') { + id = next_token.string; + advance(); + } else if (next_token.id === '(number)') { + id = next_token.number.toString(); + advance(); + } + } + return id; + } + + + + assignop('='); + assignop('+=', '+'); + assignop('-=', '-'); + assignop('*=', '*'); + assignop('/=', '/').nud = function () { + stop('slash_equal'); + }; + assignop('%=', '%'); + assignop('&=', '&'); + assignop('|=', '|'); + assignop('^=', '^'); + assignop('<<=', '<<'); + assignop('>>=', '>>'); + assignop('>>>=', '>>>'); + + function function_params() { + var id, paren = next_token, params = []; + advance('('); + token.function = funct; + step_in(); + no_space(); + if (next_token.id === ')') { + no_space(); + step_out(')', paren); + return params; + } + for (;;) { + edge(); + id = identifier(); + params.push(token); + add_label(token, option.unparam ? 'parameter' : 'unparam'); + if (next_token.id === ',') { + comma(); + } else { + no_space(); + step_out(')', paren); + return params; + } + } + } + + function do_function(func, name) { + var old_funct = funct, + old_option = option, + old_scope = scope; + funct = { + '(name)' : name || '\'' + (anonname || '').replace(nx, sanitize) + '\'', + '(line)' : next_token.line, + '(context)' : old_funct, + '(breakage)' : 0, + '(loopage)' : 0, + '(scope)' : scope, + '(token)' : func, + '(level)' : old_funct['(level)'] + 1 + }; + func.function = funct; + option = Object.create(old_option); + scope = Object.create(old_scope); + functions.push(funct); + func.name = name; + if (name) { + add_label(func, 'function', name); + } + func.writeable = false; + func.first = funct['(params)'] = function_params(); + one_space(); + func.block = block(false); + if (funct['(arguments)']) { + func.first.forEach(function (value) { + if (value.assign) { + warn('parameter_arguments_a', value, value.string); + } + }); + } + funct = old_funct; + option = old_option; + scope = old_scope; + } + + prefix('{', function (that) { + var get, i, j, name, p, set, seen = {}; + that.first = []; + step_in(); + while (next_token.id !== '}') { + indent.wrap = false; + +// JSLint recognizes the ES5 extension for get/set in object literals, +// but requires that they be used in pairs. + + edge(); + if (next_token.string === 'get' && peek().id !== ':') { + if (!option.es5) { + warn('es5'); + } + get = next_token; + advance('get'); + one_space_only(); + name = next_token; + i = property_name(); + if (!i) { + stop('missing_property'); + } + get.string = ''; + do_function(get); + if (funct['(loopage)']) { + warn('function_loop', get); + } + p = get.first; + if (p && p.length) { + warn('parameter_a_get_b', p[0], p[0].string, i); + } + comma(); + set = next_token; + spaces(); + edge(); + advance('set'); + set.string = ''; + one_space_only(); + j = property_name(); + if (i !== j) { + stop('expected_a_b', token, i, j || next_token.string); + } + do_function(set); + if (set.block.length === 0) { + warn('missing_a', token, 'throw'); + } + p = set.first; + if (!p || p.length !== 1) { + stop('parameter_set_a', set, 'value'); + } else if (p[0].string !== 'value') { + stop('expected_a_b', p[0], 'value', p[0].string); + } + name.first = [get, set]; + } else { + name = next_token; + i = property_name(); + if (typeof i !== 'string') { + stop('missing_property'); + } + advance(':'); + spaces(); + name.first = expression(10); + } + that.first.push(name); + if (seen[i] === true) { + warn('duplicate_a', next_token, i); + } + seen[i] = true; + tally_property(i); + if (next_token.id !== ',') { + break; + } + for (;;) { + comma(); + if (next_token.id !== ',') { + break; + } + warn('unexpected_a', next_token); + } + if (next_token.id === '}' && !option.es5) { + warn('unexpected_a', token); + } + } + step_out('}', that); + return that; + }); + + stmt('{', function () { + warn('statement_block'); + this.arity = 'statement'; + this.block = statements(); + this.disrupt = this.block.disrupt; + advance('}', this); + return this; + }); + + stmt('/*global', directive); + stmt('/*globals', directive); + stmt('/*jslint', directive); + stmt('/*member', directive); + stmt('/*members', directive); + stmt('/*property', directive); + stmt('/*properties', directive); + + stmt('var', function () { + +// JavaScript does not have block scope. It only has function scope. So, +// declaring a variable in a block can have unexpected consequences. + +// var.first will contain an array, the array containing name tokens +// and assignment tokens. + + var assign, id, name; + + if (funct['(vars)'] && !option.vars) { + warn('combine_var'); + } else if (funct !== global_funct) { + funct['(vars)'] = true; + } + this.arity = 'statement'; + this.first = []; + step_in('var'); + for (;;) { + name = next_token; + id = identifier(true); + add_label(name, 'becoming'); + + if (next_token.id === '=') { + assign = next_token; + assign.first = name; + spaces(); + advance('='); + spaces(); + if (next_token.id === 'undefined') { + warn('unnecessary_initialize', token, id); + } + if (peek(0).id === '=' && next_token.identifier) { + stop('var_a_not'); + } + assign.second = expression(0); + assign.arity = 'infix'; + this.first.push(assign); + } else { + this.first.push(name); + } + if (funct[id] === 'becoming') { + funct[id] = 'unused'; + } + if (next_token.id !== ',') { + break; + } + comma(); + indent.wrap = false; + if (var_mode && next_token.line === token.line && + this.first.length === 1) { + var_mode = null; + indent.open = false; + indent.at -= option.indent; + } + spaces(); + edge(); + } + var_mode = null; + step_out(); + return this; + }); + + stmt('function', function () { + one_space(); + if (in_block) { + warn('function_block', token); + } + var name = next_token, + id = identifier(true); + add_label(name, 'unction'); + no_space(); + this.arity = 'statement'; + do_function(this, id); + if (next_token.id === '(' && next_token.line === token.line) { + stop('function_statement'); + } + return this; + }); + + prefix('function', function (that) { + var id = optional_identifier(true), name; + if (id) { + name = token; + no_space(); + } else { + id = ''; + } + do_function(that, id); + if (name) { + name.function = that.function; + } + if (funct['(loopage)']) { + warn('function_loop'); + } + switch (next_token.id) { + case ';': + case '(': + case ')': + case ',': + case ']': + case '}': + case ':': + break; + case '.': + if (peek().string !== 'bind' || peek(1).id !== '(') { + warn('unexpected_a'); + } + break; + default: + stop('unexpected_a'); + } + that.arity = 'function'; + return that; + }); + + stmt('if', function () { + var paren = next_token; + one_space(); + advance('('); + step_in('control'); + no_space(); + edge(); + this.arity = 'statement'; + this.first = expected_condition(expected_relation(expression(0))); + no_space(); + step_out(')', paren); + one_space(); + this.block = block(true); + if (next_token.id === 'else') { + one_space(); + advance('else'); + one_space(); + this.else = next_token.id === 'if' || next_token.id === 'switch' + ? statement(true) + : block(true); + if (this.else.disrupt && this.block.disrupt) { + this.disrupt = true; + } + } + return this; + }); + + stmt('try', function () { + +// try.first The catch variable +// try.second The catch clause +// try.third The finally clause +// try.block The try block + + var exception_variable, old_scope, paren; + one_space(); + this.arity = 'statement'; + this.block = block(false); + if (next_token.id === 'catch') { + one_space(); + advance('catch'); + one_space(); + paren = next_token; + advance('('); + step_in('control'); + no_space(); + edge(); + old_scope = scope; + scope = Object.create(old_scope); + exception_variable = next_token.string; + this.first = exception_variable; + if (!next_token.identifier) { + warn('expected_identifier_a', next_token); + } else { + add_label(next_token, 'exception'); + } + advance(); + no_space(); + step_out(')', paren); + one_space(); + this.second = block(false); + scope = old_scope; + } + if (next_token.id === 'finally') { + one_space(); + advance('finally'); + one_space(); + this.third = block(false); + } else if (!this.second) { + stop('expected_a_b', next_token, 'catch', artifact()); + } + return this; + }); + + labeled_stmt('while', function () { + one_space(); + var paren = next_token; + funct['(breakage)'] += 1; + funct['(loopage)'] += 1; + advance('('); + step_in('control'); + no_space(); + edge(); + this.arity = 'statement'; + this.first = expected_relation(expression(0)); + if (this.first.id !== 'true') { + expected_condition(this.first, bundle.unexpected_a); + } + no_space(); + step_out(')', paren); + one_space(); + this.block = block(true); + if (this.block.disrupt) { + warn('strange_loop', prev_token); + } + funct['(breakage)'] -= 1; + funct['(loopage)'] -= 1; + return this; + }); + + reserve('with'); + + labeled_stmt('switch', function () { + +// switch.first the switch expression +// switch.second the array of cases. A case is 'case' or 'default' token: +// case.first the array of case expressions +// case.second the array of statements +// If all of the arrays of statements are disrupt, then the switch is disrupt. + + var cases = [], + old_in_block = in_block, + particular, + that = token, + the_case = next_token, + unbroken = true; + + function find_duplicate_case(value) { + if (are_similar(particular, value)) { + warn('duplicate_a', value); + } + } + + funct['(breakage)'] += 1; + one_space(); + advance('('); + no_space(); + step_in(); + this.arity = 'statement'; + this.first = expected_condition(expected_relation(expression(0))); + no_space(); + step_out(')', the_case); + one_space(); + advance('{'); + step_in(); + in_block = true; + this.second = []; + if (that.from !== next_token.from && !option.white) { + warn('expected_a_at_b_c', next_token, next_token.string, that.from, next_token.from); + } + while (next_token.id === 'case') { + the_case = next_token; + cases.forEach(find_duplicate_case); + the_case.first = []; + the_case.arity = 'case'; + spaces(); + edge('case'); + advance('case'); + for (;;) { + one_space(); + particular = expression(0); + cases.forEach(find_duplicate_case); + cases.push(particular); + the_case.first.push(particular); + if (particular.id === 'NaN') { + warn('unexpected_a', particular); + } + no_space_only(); + advance(':'); + if (next_token.id !== 'case') { + break; + } + spaces(); + edge('case'); + advance('case'); + } + spaces(); + the_case.second = statements(); + if (the_case.second && the_case.second.length > 0) { + particular = the_case.second[the_case.second.length - 1]; + if (particular.disrupt) { + if (particular.id === 'break') { + unbroken = false; + } + } else { + warn('missing_a_after_b', next_token, 'break', 'case'); + } + } else { + warn('empty_case'); + } + this.second.push(the_case); + } + if (this.second.length === 0) { + warn('missing_a', next_token, 'case'); + } + if (next_token.id === 'default') { + spaces(); + the_case = next_token; + the_case.arity = 'case'; + edge('case'); + advance('default'); + no_space_only(); + advance(':'); + spaces(); + the_case.second = statements(); + if (the_case.second && the_case.second.length > 0) { + particular = the_case.second[the_case.second.length - 1]; + if (unbroken && particular.disrupt && particular.id !== 'break') { + this.disrupt = true; + } + } + this.second.push(the_case); + } + funct['(breakage)'] -= 1; + spaces(); + step_out('}', this); + in_block = old_in_block; + return this; + }); + + stmt('debugger', function () { + if (!option.debug) { + warn('unexpected_a', this); + } + this.arity = 'statement'; + return this; + }); + + labeled_stmt('do', function () { + funct['(breakage)'] += 1; + funct['(loopage)'] += 1; + one_space(); + this.arity = 'statement'; + this.block = block(true); + if (this.block.disrupt) { + warn('strange_loop', prev_token); + } + one_space(); + advance('while'); + var paren = next_token; + one_space(); + advance('('); + step_in(); + no_space(); + edge(); + this.first = expected_condition(expected_relation(expression(0)), bundle.unexpected_a); + no_space(); + step_out(')', paren); + funct['(breakage)'] -= 1; + funct['(loopage)'] -= 1; + return this; + }); + + labeled_stmt('for', function () { + + var blok, filter, ok = false, paren = next_token, value; + this.arity = 'statement'; + funct['(breakage)'] += 1; + funct['(loopage)'] += 1; + advance('('); + if (next_token.id === ';') { + no_space(); + advance(';'); + no_space(); + advance(';'); + no_space(); + advance(')'); + blok = block(true); + } else { + step_in('control'); + spaces(this, paren); + no_space(); + if (next_token.id === 'var') { + stop('move_var'); + } + edge(); + if (peek(0).id === 'in') { + this.forin = true; + value = next_token; + switch (funct[value.string]) { + case 'unused': + funct[value.string] = 'var'; + break; + case 'closure': + case 'var': + break; + default: + warn('bad_in_a', value); + } + advance(); + advance('in'); + this.first = value; + this.second = expression(20); + step_out(')', paren); + blok = block(true); + if (!option.forin) { + if (blok.length === 1 && typeof blok[0] === 'object' && + blok[0].string === 'if' && !blok[0].else) { + filter = blok[0].first; + while (filter.id === '&&') { + filter = filter.first; + } + switch (filter.id) { + case '===': + case '!==': + ok = filter.first.id === '[' + ? filter.first.first.string === this.second.string && + filter.first.second.string === this.first.string + : filter.first.id === 'typeof' && + filter.first.first.id === '[' && + filter.first.first.first.string === this.second.string && + filter.first.first.second.string === this.first.string; + break; + case '(': + ok = filter.first.id === '.' && (( + filter.first.first.string === this.second.string && + filter.first.second.string === 'hasOwnProperty' && + filter.second[0].string === this.first.string + ) || ( + filter.first.first.id === '.' && + filter.first.first.first.id === '.' && + filter.first.first.first.first.string === 'Object' && + filter.first.first.first.second.string === 'prototype' && + filter.first.first.second.string === 'hasOwnProperty' && + filter.first.second.string === 'call' && + filter.second[0].string === this.second.string && + filter.second[1].string === this.first.string + )); + break; + } + } + if (!ok) { + warn('for_if', this); + } + } + } else { + edge(); + this.first = []; + for (;;) { + this.first.push(expression(0, 'for')); + if (next_token.id !== ',') { + break; + } + comma(); + } + semicolon(); + edge(); + this.second = expected_relation(expression(0)); + if (this.second.id !== 'true') { + expected_condition(this.second, bundle.unexpected_a); + } + semicolon(token); + if (next_token.id === ';') { + stop('expected_a_b', next_token, ')', ';'); + } + this.third = []; + edge(); + for (;;) { + this.third.push(expression(0, 'for')); + if (next_token.id !== ',') { + break; + } + comma(); + } + no_space(); + step_out(')', paren); + one_space(); + blok = block(true); + } + } + if (blok.disrupt) { + warn('strange_loop', prev_token); + } + this.block = blok; + funct['(breakage)'] -= 1; + funct['(loopage)'] -= 1; + return this; + }); + + disrupt_stmt('break', function () { + var label = next_token.string; + this.arity = 'statement'; + if (funct['(breakage)'] === 0) { + warn('unexpected_a', this); + } + if (next_token.identifier && token.line === next_token.line) { + one_space_only(); + if (funct[label] !== 'label') { + warn('not_a_label', next_token); + } else if (scope[label].function !== funct) { + warn('not_a_scope', next_token); + } + this.first = next_token; + advance(); + } + return this; + }); + + disrupt_stmt('continue', function () { + if (!option.continue) { + warn('unexpected_a', this); + } + var label = next_token.string; + this.arity = 'statement'; + if (funct['(breakage)'] === 0) { + warn('unexpected_a', this); + } + if (next_token.identifier && token.line === next_token.line) { + one_space_only(); + if (funct[label] !== 'label') { + warn('not_a_label', next_token); + } else if (scope[label].function !== funct) { + warn('not_a_scope', next_token); + } + this.first = next_token; + advance(); + } + return this; + }); + + disrupt_stmt('return', function () { + if (funct === global_funct) { + warn('unexpected_a', this); + } + this.arity = 'statement'; + if (next_token.id !== ';' && next_token.line === token.line) { + if (option.closure) { + spaces(); + } else { + one_space_only(); + } + if (next_token.id === '/' || next_token.id === '(regexp)') { + warn('wrap_regexp'); + } + this.first = expression(0); + if (this.first.assign) { + warn('unexpected_a', this.first); + } + } + if (peek(0).id === '}' && peek(1).id === 'else') { + warn('unexpected_else', this); + } + return this; + }); + + disrupt_stmt('throw', function () { + this.arity = 'statement'; + one_space_only(); + this.first = expression(20); + return this; + }); + + +// Superfluous reserved words + + reserve('class'); + reserve('const'); + reserve('enum'); + reserve('export'); + reserve('extends'); + reserve('import'); + reserve('super'); + +// Harmony reserved words + + reserve('implements'); + reserve('interface'); + reserve('let'); + reserve('package'); + reserve('private'); + reserve('protected'); + reserve('public'); + reserve('static'); + reserve('yield'); + + +// Parse JSON + + function json_value() { + + function json_object() { + var brace = next_token, object = {}; + advance('{'); + if (next_token.id !== '}') { + while (next_token.id !== '(end)') { + while (next_token.id === ',') { + warn('unexpected_a', next_token); + advance(','); + } + if (next_token.id !== '(string)') { + warn('expected_string_a'); + } + if (object[next_token.string] === true) { + warn('duplicate_a'); + } else if (next_token.string === '__proto__') { + warn('dangling_a'); + } else { + object[next_token.string] = true; + } + advance(); + advance(':'); + json_value(); + if (next_token.id !== ',') { + break; + } + advance(','); + if (next_token.id === '}') { + warn('unexpected_a', token); + break; + } + } + } + advance('}', brace); + } + + function json_array() { + var bracket = next_token; + advance('['); + if (next_token.id !== ']') { + while (next_token.id !== '(end)') { + while (next_token.id === ',') { + warn('unexpected_a', next_token); + advance(','); + } + json_value(); + if (next_token.id !== ',') { + break; + } + advance(','); + if (next_token.id === ']') { + warn('unexpected_a', token); + break; + } + } + } + advance(']', bracket); + } + + switch (next_token.id) { + case '{': + json_object(); + break; + case '[': + json_array(); + break; + case 'true': + case 'false': + case 'null': + case '(number)': + case '(string)': + advance(); + break; + case '-': + advance('-'); + no_space_only(); + advance('(number)'); + break; + default: + stop('unexpected_a'); + } + } + + +// The actual JSLINT function itself. + + itself = function JSLint(the_source, the_option) { + + var i, predef, tree; + JSLINT.errors = []; + JSLINT.tree = ''; + JSLINT.properties = ''; + begin = prev_token = token = next_token = + Object.create(syntax['(begin)']); + tokens = []; + predefined = {}; + add_to_predefined(standard); + property = {}; + if (the_option) { + option = Object.create(the_option); + predef = option.predef; + if (predef) { + if (Array.isArray(predef)) { + for (i = 0; i < predef.length; i += 1) { + predefined[predef[i]] = true; + } + } else if (typeof predef === 'object') { + add_to_predefined(predef); + } + } + } else { + option = {}; + } + option.indent = +option.indent || 4; + option.maxerr = +option.maxerr || 50; + tab = ''; + for (i = 0; i < option.indent; i += 1) { + tab += ' '; + } + global_scope = scope = {}; + global_funct = funct = { + '(scope)': scope, + '(breakage)': 0, + '(loopage)': 0, + '(level)': 0 + }; + functions = [funct]; + + comments = []; + comments_off = false; + in_block = false; + indent = null; + json_mode = false; + lookahead = []; + node_js = false; + prereg = true; + stack = null; + strict_mode = false; + urls = []; + var_mode = null; + warnings = 0; + lex.init(the_source); + + assume(); + + try { + advance(); + if (next_token.id === '(number)') { + stop('unexpected_a'); + } else { + switch (next_token.id) { + case '{': + case '[': + comments_off = true; + json_mode = true; + json_value(); + break; + default: + +// If the first token is a semicolon, ignore it. This is sometimes used when +// files are intended to be appended to files that may be sloppy. A sloppy +// file may be depending on semicolon insertion on its last line. + + step_in(1); + if (next_token.id === ';' && !node_js) { + semicolon(); + } + tree = statements(); + begin.first = tree; + itself.tree = begin; + if (tree.disrupt) { + warn('weird_program', prev_token); + } + } + } + indent = null; + advance('(end)'); + itself.property = property; + } catch (e) { + if (e) { // ~~ + JSLINT.errors.push({ + reason : e.message, + line : e.line || next_token.line, + character : e.character || next_token.from + }, null); + } + } + return JSLINT.errors.length === 0; + }; + + +// Data summary. + + itself.data = function () { + var data = {functions: []}, + function_data, + globals, + i, + j, + kind, + name, + the_function, + undef = [], + unused = []; + if (itself.errors.length) { + data.errors = itself.errors; + } + + if (json_mode) { + data.json = true; + } + + if (urls.length > 0) { + data.urls = urls; + } + + globals = Object.keys(global_scope).filter(function (value) { + return value.charAt(0) !== '(' && typeof standard[value] !== 'boolean'; + }); + if (globals.length > 0) { + data.globals = globals; + } + + for (i = 1; i < functions.length; i += 1) { + the_function = functions[i]; + function_data = {}; + for (j = 0; j < functionicity.length; j += 1) { + function_data[functionicity[j]] = []; + } + for (name in the_function) { + if (Object.prototype.hasOwnProperty.call(the_function, name)) { + if (name.charAt(0) !== '(') { + kind = the_function[name]; + if (kind === 'unction' || kind === 'unparam') { + kind = 'unused'; + } + if (Array.isArray(function_data[kind])) { + function_data[kind].push(name); + if (kind === 'unused') { + unused.push({ + name: name, + line: the_function['(line)'], + 'function': the_function['(name)'] + }); + } else if (kind === 'undef') { + undef.push({ + name: name, + line: the_function['(line)'], + 'function': the_function['(name)'] + }); + } + } + } + } + } + for (j = 0; j < functionicity.length; j += 1) { + if (function_data[functionicity[j]].length === 0) { + delete function_data[functionicity[j]]; + } + } + function_data.name = the_function['(name)']; + function_data.params = the_function['(params)']; + function_data.line = the_function['(line)']; + function_data.level = the_function['(level)']; + data.functions.push(function_data); + } + + if (unused.length > 0) { + data.unused = unused; + } + if (undef.length > 0) { + data.undefined = undef; + } + data.tokens = tokens; + return data; + }; + + itself.error_report = function (data) { + var evidence, i, output = [], snippets, warning; + if (data.errors) { + if (data.json) { + output.push('JSON: bad.
    '); + } + for (i = 0; i < data.errors.length; i += 1) { + warning = data.errors[i]; + if (warning) { + evidence = warning.evidence || ''; + output.push(''); + if (isFinite(warning.line)) { + output.push('
    line ' + + String(warning.line) + + ' character ' + String(warning.character) + + '
    '); + } + output.push(warning.reason.entityify() + '
    '); + if (evidence) { + output.push('
    ' + evidence.entityify() + '
    '); + } + } + } + } + if (data.unused || data.undefined) { + output.push('
    '); + if (data.undefined) { + output.push('
    undefined
    '); + snippets = []; + for (i = 0; i < data.undefined.length; i += 1) { + snippets[i] = '' + data.undefined[i].name + + ' 
    ' + + data.undefined[i]['function'] + ' ' + + String(data.undefined[i].line) + '
    '; + } + output.push(snippets.join(', ')); + output.push('
    '); + } + if (data.unused) { + output.push('
    unused
    '); + snippets = []; + for (i = 0; i < data.unused.length; i += 1) { + snippets[i] = '' + data.unused[i].name + ' 
    ' + + data.unused[i].function + ' ' + + String(data.unused[i].line) + '
    '; + } + output.push(snippets.join(', ')); + output.push('
    '); + } + output.push('
    '); + } + return output.join(''); + }; + + + itself.report = function (data) { + var dl, i, j, names, output = [], the_function; + + function detail(h, value) { + var comma_needed, singularity; + if (Array.isArray(value)) { + output.push("
    " + h + "
    "); + value.sort().forEach(function (item) { + if (item !== singularity) { + singularity = item; + output.push((comma_needed ? ', ' : '') + singularity); + comma_needed = true; + } + }); + output.push("
    "); + } else if (value) { + output.push("
    " + h + "
    ", value, "
    "); + } + } + + output.push('
    '); + if (data.urls) { + detail('url', data.urls); + dl = true; + } + if (data.globals) { + detail('global', data.globals); + dl = true; + } else if (data.json) { + if (!data.errors) { + output.push("
    JSON: good.
    "); + } + } else { + output.push("
    No new global variables introduced.
    "); + } + if (dl) { + output.push("
    "); + } else { + output[0] = ''; + } + + if (data.functions) { + for (i = 0; i < data.functions.length; i += 1) { + the_function = data.functions[i]; + names = []; + if (the_function.params) { + for (j = 0; j < the_function.params.length; j += 1) { + names[j] = the_function.params[j].string; + } + } + output.push('
    line ' + String(the_function.line) + + '
    ' + the_function.name.entityify() + '(' + + names.join(', ') + ')'); + detail('undefined', the_function.undefined); + detail('unused', the_function.unused); + detail('closure', the_function.closure); + detail('variable', the_function.var); + detail('exception', the_function.exception); + detail('outer', the_function.outer); + detail('global', the_function.global); + detail('label', the_function.label); + output.push('
    '); + } + } + return output.join(''); + }; + + itself.properties_report = function (property) { + if (!property) { + return ''; + } + var i, + key, + keys = Object.keys(property).sort(), + length, + mem = ' ', + name, + not_first = false, + output = ['/*properties']; + for (i = 0; i < keys.length; i += 1) { + key = keys[i]; + if (property[key] > 0) { + if (not_first) { + mem += ', '; + } + name = ix.test(key) + ? key + : '\'' + key.replace(nx, sanitize) + '\''; + length += name.length + 2; + if (mem.length + name.length >= 80) { + output.push(mem); + mem = ' '; + } + mem += name; + not_first = true; + } + } + output.push(mem, '*/\n'); + return output.join('\n'); + }; + + itself.color = function (data) { + var from, + i = 1, + level, + line, + result = [], + thru, + token = data.tokens[0]; + while (token && token.id !== '(end)') { + from = token.from; + line = token.line; + thru = token.thru; + level = token.function['(level)']; + do { + thru = token.thru; + token = data.tokens[i]; + i += 1; + } while (token && token.line === line && token.from - thru < 5 && + level === token.function['(level)']); + result.push({ + line: line, + level: level, + from: from, + thru: thru + }); + } + return result; + }; + + itself.jslint = itself; + + itself.edition = '2013-04-09'; + + return itself; +}()); diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/files/jsprettify-all-latest.js b/alt-implementations/readifry-master/hyphenator/testsuite/files/jsprettify-all-latest.js new file mode 100644 index 0000000..a87d5d0 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/files/jsprettify-all-latest.js @@ -0,0 +1,25 @@ +(function(){var j,n=this;function o(){} +function p(a){var b=typeof a;if(b=="object")if(a){if(a instanceof Array||!(a instanceof Object)&&Object.prototype.toString.call(a)=="[object Array]"||typeof a.length=="number"&&typeof a.splice!="undefined"&&typeof a.propertyIsEnumerable!="undefined"&&!a.propertyIsEnumerable("splice"))return"array";if(!(a instanceof Object)&&(Object.prototype.toString.call(a)=="[object Function]"||typeof a.call!="undefined"&&typeof a.propertyIsEnumerable!="undefined"&&!a.propertyIsEnumerable("call")))return"function"}else return"null";else if(b== +"function"&&typeof a.call=="undefined")return"object";return b}function aa(a){var b=p(a);return b=="array"||b=="object"&&typeof a.length=="number"}function s(a){if(a.hasOwnProperty&&a.hasOwnProperty(t))return a[t];a[t]||(a[t]=++ba);return a[t]}var t="closure_uid_"+Math.floor(Math.random()*2147483648).toString(36),ba=0,ca=Date.now||function(){return+new Date};function u(a,b){function c(){}c.prototype=b.prototype;a.L=b.prototype;a.prototype=new c};var v=Array.prototype,w=v.indexOf?function(a,b,c){return v.indexOf.call(a,b,c)}:function(a,b,c){c=c==null?0:c<0?Math.max(0,a.length+c):c;if(typeof a=="string"){if(typeof b!="string"||b.length!=1)return-1;return a.indexOf(b,c)}for(c=c;cb)return 1;return 0};var z,A,B,C;function ea(){return n.navigator?n.navigator.userAgent:null}C=B=A=z=false;var D;if(D=ea()){var fa=n.navigator;z=D.indexOf("Opera")==0;A=!z&&D.indexOf("MSIE")!=-1;B=!z&&D.indexOf("WebKit")!=-1;C=!z&&!B&&fa.product=="Gecko"}var ga=z,E=A,ha=C,ia=B,ja=n.navigator,ka=(ja&&ja.platform||"").indexOf("Mac")!=-1,F,G="",H; +if(ga&&n.opera){var la=n.opera.version;G=typeof la=="function"?la():la}else{if(ha)H=/rv\:([^\);]+)(\)|;)/;else if(E)H=/MSIE\s+([^\);]+)(\)|;)/;else if(ia)H=/WebKit\/(\S+)/;if(H){var ma=H.exec(ea());G=ma?ma[1]:""}}F=G;var I={};function na(a,b,c,d){d=d||a;b=b&&b!="*"?b.toUpperCase():"";if(d.querySelectorAll&&(b||c)&&(!ia||a.compatMode=="CSS1Compat"||I["528"]||(I["528"]=x(F,"528")>=0)))return d.querySelectorAll(b+(c?"."+c:""));if(c&&d.getElementsByClassName){a=d.getElementsByClassName(c);if(b){d={};for(var f=0,e=0,g;g=a[e];e++)if(b==g.nodeName)d[f++]=g;d.length=f;return d}else return a}a=d.getElementsByTagName(b||"*");if(c){d={};for(e=f=0;g=a[e];e++){b=g.className;if(typeof b.split=="function"&&w(b.split(/\s+/),c)>=0)d[f++]= +g}d.length=f;return d}else return a}function oa(a,b){var c=[];pa(a,b,c,false);return c}function pa(a,b,c,d){if(a!=null)for(var f=0,e;e=a.childNodes[f];f++){if(b(e)){c.push(e);if(d)return true}if(pa(e,b,c,d))return true}return false};function J(a){var b=new RegExp("(^|[\\(\\s\"-])'([\\s\\S]*?)'($|[\\)\\s\".,;:?!-])","g"),c;do{c=a;a=a.replace(b,"$1\u2018$2\u2019$3")}while(c!=a);c=[{g:"\\.\\.\\.",replace:"\u2026"},{g:"'",replace:"\u2019"},{g:'"($|[\\)\\s/.,;:?!\\u2019])',replace:"\u201d$1"},{g:'(^|[\\(\\s-/\\u2018])"',replace:"$1\u201c"},{g:"---",replace:"\u2014"},{g:"--",replace:"\u2013"}];for(var d=0,f=c.length;d=0)&&!(a.className&&a.className==c)){d=a.childNodes;for(c=0;c=0));N.prototype.f=function(){N.L.f.call(this);this.relatedTarget=this.currentTarget=this.target=this.A=null};function ra(){}var sa=0;j=ra.prototype;j.key=0;j.i=false;j.t=false;j.l=function(a,b,c,d,f,e){if(p(a)=="function")this.F=true;else if(a&&a.handleEvent&&p(a.handleEvent)=="function")this.F=false;else throw Error("Invalid listener argument");this.m=a;this.J=b;this.src=c;this.type=d;this.capture=!!f;this.C=e;this.t=false;this.key=++sa;this.i=false};j.handleEvent=function(a){if(this.F)return this.m.call(this.C||this.src,a);return this.m.handleEvent.call(this.m,a)};function O(a,b){this.G=b;this.d=[];if(a>this.G)throw Error("[goog.structs.SimplePool] Initial cannot be greater than max");for(var c=0;c=0),g;wa=function(l){g=l};if(e){R=function(){return P(h)};S=function(l){Q(h,l)};T=function(){return P(i)};U=function(l){Q(i,l)};va=function(){return P(k)};xa=function(){Q(k,c())};ya=function(){return P(r)};za=function(l){Q(r,l)};Aa=function(){return P(m)};Ba=function(l){Q(m,l)};var h=new O(0,600); +h.c=a;var i=new O(0,600);i.c=b;var k=new O(0,600);k.c=c;var r=new O(0,600);r.c=d;var m=new O(0,600);m.c=f}else{R=a;S=o;T=b;U=o;va=c;xa=o;ya=d;za=o;Aa=f;Ba=o}})();var V={},W={},X={},Ca={}; +function Da(a,b,c,d,f){if(b)if(p(b)=="array"){for(var e=0;e=0&&v.splice.call(k,r,1);k.length==0&&delete X[e]}f.i=true;h.H=true;Fa(g,i,e,h);delete V[d]}}}return c} +wa(function(a,b){if(!V[a])return true;var c=V[a],d=c.type,f=W;if(!(d in f))return true;f=f[d];var e,g;if(E){var h;if(!(h=b))a:{h="window.event".split(".");for(var i=n;e=h.shift();)if(i[e])i=i[e];else{h=null;break a}h=i}e=h;h=true in f;i=false in f;if(h){if(e.keyCode<0||e.returnValue!=undefined)return true;a:{var k=false;if(e.keyCode==0)try{e.keyCode=-1;break a}catch(r){k=true}if(k||e.returnValue==undefined)e.returnValue=true}}k=Aa();k.l(e,this);e=true;try{if(h){for(var m=T(),l=k.currentTarget;l;l= +l.parentNode)m.push(l);g=f[true];g.h=g.b;for(var q=m.length-1;!k.r&&q>=0&&g.h;q--){k.currentTarget=m[q];e&=Ga(g,m[q],d,true,k)}if(i){g=f[false];g.h=g.b;for(q=0;!k.r&&q=a.length)throw Y;if(b in a)return a[b++];else b++}};return c}throw Error("Not implemented");} +function Ja(a,b,c){if(aa(a))try{da(a,b,c)}catch(d){if(d!==Y)throw d;}else{a=Ia(a);try{for(;;)b.call(c,a.next(),undefined,a)}catch(f){if(f!==Y)throw f;}}};function $(a){this.e={};this.a=[];var b=arguments.length;if(b>1){if(b%2)throw Error("Uneven number of arguments");for(var c=0;c=c.length)throw Y;var h=c[b++];return a?h:d[h]}};return g};function Oa(){this.B=[];this.I=new $;this.Z=this.$=this.aa=this.U=0;this.K=new $;this.O=this.Y=0;this.R=1;this.Q=new O(0,4E3);this.Q.j=function(){return new Pa};this.V=new O(0,50);this.V.j=function(){return new Qa};var a=this;this.D=new O(0,2E3);this.D.j=function(){return String(a.R++)};this.D.p=function(){};this.ba=3}function Qa(){this.M=this.W=this.u=0} +Qa.prototype.toString=function(){var a=[];a.push(this.type," ",this.u," (",Math.round(this.W*10)/10," ms)");this.M&&a.push(" [VarAlloc = ",this.M,"]");return a.join("")};function Pa(){}function Ra(a,b,c,d){var f=[];c==-1?f.push(" "):f.push(Sa(a.z-c));f.push(" ",Ta(a.z-b));if(a.q==0)f.push(" Start ");else if(a.q==1){f.push(" Done ");f.push(Sa(a.ca-a.startTime)," ms ")}else f.push(" Comment ");f.push(d,a);a.X>0&&f.push("[VarAlloc ",a.X,"] ");return f.join("")} +Pa.prototype.toString=function(){return this.type==null?this.N:"["+this.type+"] "+this.N}; +Oa.prototype.toString=function(){for(var a=[],b=-1,c=[],d=0;d1&&a.push(" TOTAL ",c,"\n")}a.push("Total tracers created ",this.Y,"\n","Total comments created ", +this.O,"\n","Overhead start: ",this.aa," ms\n","Overhead end: ",this.$," ms\n","Overhead comment: ",this.Z," ms\n");return a.join("")};function Sa(a){a=Math.round(a);var b="";if(a<1E3)b=" ";if(a<100)b=" ";if(a<10)b=" ";return b+a}function Ta(a){a=Math.round(a);return String(100+a/1E3%60).substring(1,3)+"."+String(1E3+a%1E3).substring(1,4)}new Oa;new O(0,100);window.jsprettify={prettify:qa,prettifyHtml:K,prettifyStr:J,prettifyTextInputs:function(){for(var a=na(document,"textarea",void 0,void 0),b=0,c=a.length;b*/ + if (!item.hasOwnProperty) return false; + /**/ + return item instanceof object; +}; + +// Function overloading + +var Function = this.Function; + +var enumerables = true; +for (var i in {toString: 1}) enumerables = null; +if (enumerables) enumerables = ['hasOwnProperty', 'valueOf', 'isPrototypeOf', 'propertyIsEnumerable', 'toLocaleString', 'toString', 'constructor']; + +Function.prototype.overloadSetter = function(usePlural){ + var self = this; + return function(a, b){ + if (a == null) return this; + if (usePlural || typeof a != 'string'){ + for (var k in a) self.call(this, k, a[k]); + if (enumerables) for (var i = enumerables.length; i--;){ + k = enumerables[i]; + if (a.hasOwnProperty(k)) self.call(this, k, a[k]); + } + } else { + self.call(this, a, b); + } + return this; + }; +}; + +Function.prototype.overloadGetter = function(usePlural){ + var self = this; + return function(a){ + var args, result; + if (typeof a != 'string') args = a; + else if (arguments.length > 1) args = arguments; + else if (usePlural) args = [a]; + if (args){ + result = {}; + for (var i = 0; i < args.length; i++) result[args[i]] = self.call(this, args[i]); + } else { + result = self.call(this, a); + } + return result; + }; +}; + +Function.prototype.extend = function(key, value){ + this[key] = value; +}.overloadSetter(); + +Function.prototype.implement = function(key, value){ + this.prototype[key] = value; +}.overloadSetter(); + +// From + +var slice = Array.prototype.slice; + +Function.from = function(item){ + return (typeOf(item) == 'function') ? item : function(){ + return item; + }; +}; + +Array.from = function(item){ + if (item == null) return []; + return (Type.isEnumerable(item) && typeof item != 'string') ? (typeOf(item) == 'array') ? item : slice.call(item) : [item]; +}; + +Number.from = function(item){ + var number = parseFloat(item); + return isFinite(number) ? number : null; +}; + +String.from = function(item){ + return item + ''; +}; + +// hide, protect + +Function.implement({ + + hide: function(){ + this.$hidden = true; + return this; + }, + + protect: function(){ + this.$protected = true; + return this; + } + +}); + +// Type + +var Type = this.Type = function(name, object){ + if (name){ + var lower = name.toLowerCase(); + var typeCheck = function(item){ + return (typeOf(item) == lower); + }; + + Type['is' + name] = typeCheck; + if (object != null){ + object.prototype.$family = (function(){ + return lower; + }).hide(); + + } + } + + if (object == null) return null; + + object.extend(this); + object.$constructor = Type; + object.prototype.$constructor = object; + + return object; +}; + +var toString = Object.prototype.toString; + +Type.isEnumerable = function(item){ + return (item != null && typeof item.length == 'number' && toString.call(item) != '[object Function]' ); +}; + +var hooks = {}; + +var hooksOf = function(object){ + var type = typeOf(object.prototype); + return hooks[type] || (hooks[type] = []); +}; + +var implement = function(name, method){ + if (method && method.$hidden) return; + + var hooks = hooksOf(this); + + for (var i = 0; i < hooks.length; i++){ + var hook = hooks[i]; + if (typeOf(hook) == 'type') implement.call(hook, name, method); + else hook.call(this, name, method); + } + + var previous = this.prototype[name]; + if (previous == null || !previous.$protected) this.prototype[name] = method; + + if (this[name] == null && typeOf(method) == 'function') extend.call(this, name, function(item){ + return method.apply(item, slice.call(arguments, 1)); + }); +}; + +var extend = function(name, method){ + if (method && method.$hidden) return; + var previous = this[name]; + if (previous == null || !previous.$protected) this[name] = method; +}; + +Type.implement({ + + implement: implement.overloadSetter(), + + extend: extend.overloadSetter(), + + alias: function(name, existing){ + implement.call(this, name, this.prototype[existing]); + }.overloadSetter(), + + mirror: function(hook){ + hooksOf(this).push(hook); + return this; + } + +}); + +new Type('Type', Type); + +// Default Types + +var force = function(name, object, methods){ + var isType = (object != Object), + prototype = object.prototype; + + if (isType) object = new Type(name, object); + + for (var i = 0, l = methods.length; i < l; i++){ + var key = methods[i], + generic = object[key], + proto = prototype[key]; + + if (generic) generic.protect(); + if (isType && proto) object.implement(key, proto.protect()); + } + + if (isType){ + var methodsEnumerable = prototype.propertyIsEnumerable(methods[0]); + object.forEachMethod = function(fn){ + if (!methodsEnumerable) for (var i = 0, l = methods.length; i < l; i++){ + fn.call(prototype, prototype[methods[i]], methods[i]); + } + for (var key in prototype) fn.call(prototype, prototype[key], key) + }; + } + + return force; +}; + +force('String', String, [ + 'charAt', 'charCodeAt', 'concat', 'indexOf', 'lastIndexOf', 'match', 'quote', 'replace', 'search', + 'slice', 'split', 'substr', 'substring', 'trim', 'toLowerCase', 'toUpperCase' +])('Array', Array, [ + 'pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift', 'concat', 'join', 'slice', + 'indexOf', 'lastIndexOf', 'filter', 'forEach', 'every', 'map', 'some', 'reduce', 'reduceRight' +])('Number', Number, [ + 'toExponential', 'toFixed', 'toLocaleString', 'toPrecision' +])('Function', Function, [ + 'apply', 'call', 'bind' +])('RegExp', RegExp, [ + 'exec', 'test' +])('Object', Object, [ + 'create', 'defineProperty', 'defineProperties', 'keys', + 'getPrototypeOf', 'getOwnPropertyDescriptor', 'getOwnPropertyNames', + 'preventExtensions', 'isExtensible', 'seal', 'isSealed', 'freeze', 'isFrozen' +])('Date', Date, ['now']); + +Object.extend = extend.overloadSetter(); + +Date.extend('now', function(){ + return +(new Date); +}); + +new Type('Boolean', Boolean); + +// fixes NaN returning as Number + +Number.prototype.$family = function(){ + return isFinite(this) ? 'number' : 'null'; +}.hide(); + +// Number.random + +Number.extend('random', function(min, max){ + return Math.floor(Math.random() * (max - min + 1) + min); +}); + +// forEach, each + +var hasOwnProperty = Object.prototype.hasOwnProperty; +Object.extend('forEach', function(object, fn, bind){ + for (var key in object){ + if (hasOwnProperty.call(object, key)) fn.call(bind, object[key], key, object); + } +}); + +Object.each = Object.forEach; + +Array.implement({ + + forEach: function(fn, bind){ + for (var i = 0, l = this.length; i < l; i++){ + if (i in this) fn.call(bind, this[i], i, this); + } + }, + + each: function(fn, bind){ + Array.forEach(this, fn, bind); + return this; + } + +}); + +// Array & Object cloning, Object merging and appending + +var cloneOf = function(item){ + switch (typeOf(item)){ + case 'array': return item.clone(); + case 'object': return Object.clone(item); + default: return item; + } +}; + +Array.implement('clone', function(){ + var i = this.length, clone = new Array(i); + while (i--) clone[i] = cloneOf(this[i]); + return clone; +}); + +var mergeOne = function(source, key, current){ + switch (typeOf(current)){ + case 'object': + if (typeOf(source[key]) == 'object') Object.merge(source[key], current); + else source[key] = Object.clone(current); + break; + case 'array': source[key] = current.clone(); break; + default: source[key] = current; + } + return source; +}; + +Object.extend({ + + merge: function(source, k, v){ + if (typeOf(k) == 'string') return mergeOne(source, k, v); + for (var i = 1, l = arguments.length; i < l; i++){ + var object = arguments[i]; + for (var key in object) mergeOne(source, key, object[key]); + } + return source; + }, + + clone: function(object){ + var clone = {}; + for (var key in object) clone[key] = cloneOf(object[key]); + return clone; + }, + + append: function(original){ + for (var i = 1, l = arguments.length; i < l; i++){ + var extended = arguments[i] || {}; + for (var key in extended) original[key] = extended[key]; + } + return original; + } + +}); + +// Object-less types + +['Object', 'WhiteSpace', 'TextNode', 'Collection', 'Arguments'].each(function(name){ + new Type(name); +}); + +// Unique ID + +var UID = Date.now(); + +String.extend('uniqueID', function(){ + return (UID++).toString(36); +}); + + + +})(); + + +/* +--- + +name: Array + +description: Contains Array Prototypes like each, contains, and erase. + +license: MIT-style license. + +requires: Type + +provides: Array + +... +*/ + +Array.implement({ + + /**/ + every: function(fn, bind){ + for (var i = 0, l = this.length >>> 0; i < l; i++){ + if ((i in this) && !fn.call(bind, this[i], i, this)) return false; + } + return true; + }, + + filter: function(fn, bind){ + var results = []; + for (var value, i = 0, l = this.length >>> 0; i < l; i++) if (i in this){ + value = this[i]; + if (fn.call(bind, value, i, this)) results.push(value); + } + return results; + }, + + indexOf: function(item, from){ + var length = this.length >>> 0; + for (var i = (from < 0) ? Math.max(0, length + from) : from || 0; i < length; i++){ + if (this[i] === item) return i; + } + return -1; + }, + + map: function(fn, bind){ + var length = this.length >>> 0, results = Array(length); + for (var i = 0; i < length; i++){ + if (i in this) results[i] = fn.call(bind, this[i], i, this); + } + return results; + }, + + some: function(fn, bind){ + for (var i = 0, l = this.length >>> 0; i < l; i++){ + if ((i in this) && fn.call(bind, this[i], i, this)) return true; + } + return false; + }, + /**/ + + clean: function(){ + return this.filter(function(item){ + return item != null; + }); + }, + + invoke: function(methodName){ + var args = Array.slice(arguments, 1); + return this.map(function(item){ + return item[methodName].apply(item, args); + }); + }, + + associate: function(keys){ + var obj = {}, length = Math.min(this.length, keys.length); + for (var i = 0; i < length; i++) obj[keys[i]] = this[i]; + return obj; + }, + + link: function(object){ + var result = {}; + for (var i = 0, l = this.length; i < l; i++){ + for (var key in object){ + if (object[key](this[i])){ + result[key] = this[i]; + delete object[key]; + break; + } + } + } + return result; + }, + + contains: function(item, from){ + return this.indexOf(item, from) != -1; + }, + + append: function(array){ + this.push.apply(this, array); + return this; + }, + + getLast: function(){ + return (this.length) ? this[this.length - 1] : null; + }, + + getRandom: function(){ + return (this.length) ? this[Number.random(0, this.length - 1)] : null; + }, + + include: function(item){ + if (!this.contains(item)) this.push(item); + return this; + }, + + combine: function(array){ + for (var i = 0, l = array.length; i < l; i++) this.include(array[i]); + return this; + }, + + erase: function(item){ + for (var i = this.length; i--;){ + if (this[i] === item) this.splice(i, 1); + } + return this; + }, + + empty: function(){ + this.length = 0; + return this; + }, + + flatten: function(){ + var array = []; + for (var i = 0, l = this.length; i < l; i++){ + var type = typeOf(this[i]); + if (type == 'null') continue; + array = array.concat((type == 'array' || type == 'collection' || type == 'arguments' || instanceOf(this[i], Array)) ? Array.flatten(this[i]) : this[i]); + } + return array; + }, + + pick: function(){ + for (var i = 0, l = this.length; i < l; i++){ + if (this[i] != null) return this[i]; + } + return null; + }, + + hexToRgb: function(array){ + if (this.length != 3) return null; + var rgb = this.map(function(value){ + if (value.length == 1) value += value; + return value.toInt(16); + }); + return (array) ? rgb : 'rgb(' + rgb + ')'; + }, + + rgbToHex: function(array){ + if (this.length < 3) return null; + if (this.length == 4 && this[3] == 0 && !array) return 'transparent'; + var hex = []; + for (var i = 0; i < 3; i++){ + var bit = (this[i] - 0).toString(16); + hex.push((bit.length == 1) ? '0' + bit : bit); + } + return (array) ? hex : '#' + hex.join(''); + } + +}); + + + + +/* +--- + +name: String + +description: Contains String Prototypes like camelCase, capitalize, test, and toInt. + +license: MIT-style license. + +requires: Type + +provides: String + +... +*/ + +String.implement({ + + test: function(regex, params){ + return ((typeOf(regex) == 'regexp') ? regex : new RegExp('' + regex, params)).test(this); + }, + + contains: function(string, separator){ + return (separator) ? (separator + this + separator).indexOf(separator + string + separator) > -1 : String(this).indexOf(string) > -1; + }, + + trim: function(){ + return String(this).replace(/^\s+|\s+$/g, ''); + }, + + clean: function(){ + return String(this).replace(/\s+/g, ' ').trim(); + }, + + camelCase: function(){ + return String(this).replace(/-\D/g, function(match){ + return match.charAt(1).toUpperCase(); + }); + }, + + hyphenate: function(){ + return String(this).replace(/[A-Z]/g, function(match){ + return ('-' + match.charAt(0).toLowerCase()); + }); + }, + + capitalize: function(){ + return String(this).replace(/\b[a-z]/g, function(match){ + return match.toUpperCase(); + }); + }, + + escapeRegExp: function(){ + return String(this).replace(/([-.*+?^${}()|[\]\/\\])/g, '\\$1'); + }, + + toInt: function(base){ + return parseInt(this, base || 10); + }, + + toFloat: function(){ + return parseFloat(this); + }, + + hexToRgb: function(array){ + var hex = String(this).match(/^#?(\w{1,2})(\w{1,2})(\w{1,2})$/); + return (hex) ? hex.slice(1).hexToRgb(array) : null; + }, + + rgbToHex: function(array){ + var rgb = String(this).match(/\d{1,3}/g); + return (rgb) ? rgb.rgbToHex(array) : null; + }, + + substitute: function(object, regexp){ + return String(this).replace(regexp || (/\\?\{([^{}]+)\}/g), function(match, name){ + if (match.charAt(0) == '\\') return match.slice(1); + return (object[name] != null) ? object[name] : ''; + }); + } + +}); + + +/* +--- + +name: Number + +description: Contains Number Prototypes like limit, round, times, and ceil. + +license: MIT-style license. + +requires: Type + +provides: Number + +... +*/ + +Number.implement({ + + limit: function(min, max){ + return Math.min(max, Math.max(min, this)); + }, + + round: function(precision){ + precision = Math.pow(10, precision || 0).toFixed(precision < 0 ? -precision : 0); + return Math.round(this * precision) / precision; + }, + + times: function(fn, bind){ + for (var i = 0; i < this; i++) fn.call(bind, i, this); + }, + + toFloat: function(){ + return parseFloat(this); + }, + + toInt: function(base){ + return parseInt(this, base || 10); + } + +}); + +Number.alias('each', 'times'); + +(function(math){ + var methods = {}; + math.each(function(name){ + if (!Number[name]) methods[name] = function(){ + return Math[name].apply(null, [this].concat(Array.from(arguments))); + }; + }); + Number.implement(methods); +})(['abs', 'acos', 'asin', 'atan', 'atan2', 'ceil', 'cos', 'exp', 'floor', 'log', 'max', 'min', 'pow', 'sin', 'sqrt', 'tan']); + + +/* +--- + +name: Function + +description: Contains Function Prototypes like create, bind, pass, and delay. + +license: MIT-style license. + +requires: Type + +provides: Function + +... +*/ + +Function.extend({ + + attempt: function(){ + for (var i = 0, l = arguments.length; i < l; i++){ + try { + return arguments[i](); + } catch (e){} + } + return null; + } + +}); + +Function.implement({ + + attempt: function(args, bind){ + try { + return this.apply(bind, Array.from(args)); + } catch (e){} + + return null; + }, + + /**/ + bind: function(that){ + var self = this, + args = arguments.length > 1 ? Array.slice(arguments, 1) : null, + F = function(){}; + + var bound = function(){ + var context = that, length = arguments.length; + if (this instanceof bound){ + F.prototype = self.prototype; + context = new F; + } + var result = (!args && !length) + ? self.call(context) + : self.apply(context, args && length ? args.concat(Array.slice(arguments)) : args || arguments); + return context == that ? result : context; + }; + return bound; + }, + /**/ + + pass: function(args, bind){ + var self = this; + if (args != null) args = Array.from(args); + return function(){ + return self.apply(bind, args || arguments); + }; + }, + + delay: function(delay, bind, args){ + return setTimeout(this.pass((args == null ? [] : args), bind), delay); + }, + + periodical: function(periodical, bind, args){ + return setInterval(this.pass((args == null ? [] : args), bind), periodical); + } + +}); + + + + +/* +--- + +name: Object + +description: Object generic methods + +license: MIT-style license. + +requires: Type + +provides: [Object, Hash] + +... +*/ + +(function(){ + +var hasOwnProperty = Object.prototype.hasOwnProperty; + +Object.extend({ + + subset: function(object, keys){ + var results = {}; + for (var i = 0, l = keys.length; i < l; i++){ + var k = keys[i]; + if (k in object) results[k] = object[k]; + } + return results; + }, + + map: function(object, fn, bind){ + var results = {}; + for (var key in object){ + if (hasOwnProperty.call(object, key)) results[key] = fn.call(bind, object[key], key, object); + } + return results; + }, + + filter: function(object, fn, bind){ + var results = {}; + for (var key in object){ + var value = object[key]; + if (hasOwnProperty.call(object, key) && fn.call(bind, value, key, object)) results[key] = value; + } + return results; + }, + + every: function(object, fn, bind){ + for (var key in object){ + if (hasOwnProperty.call(object, key) && !fn.call(bind, object[key], key)) return false; + } + return true; + }, + + some: function(object, fn, bind){ + for (var key in object){ + if (hasOwnProperty.call(object, key) && fn.call(bind, object[key], key)) return true; + } + return false; + }, + + keys: function(object){ + var keys = []; + for (var key in object){ + if (hasOwnProperty.call(object, key)) keys.push(key); + } + return keys; + }, + + values: function(object){ + var values = []; + for (var key in object){ + if (hasOwnProperty.call(object, key)) values.push(object[key]); + } + return values; + }, + + getLength: function(object){ + return Object.keys(object).length; + }, + + keyOf: function(object, value){ + for (var key in object){ + if (hasOwnProperty.call(object, key) && object[key] === value) return key; + } + return null; + }, + + contains: function(object, value){ + return Object.keyOf(object, value) != null; + }, + + toQueryString: function(object, base){ + var queryString = []; + + Object.each(object, function(value, key){ + if (base) key = base + '[' + key + ']'; + var result; + switch (typeOf(value)){ + case 'object': result = Object.toQueryString(value, key); break; + case 'array': + var qs = {}; + value.each(function(val, i){ + qs[i] = val; + }); + result = Object.toQueryString(qs, key); + break; + default: result = key + '=' + encodeURIComponent(value); + } + if (value != null) queryString.push(result); + }); + + return queryString.join('&'); + } + +}); + +})(); + + + + +/* +--- + +name: Browser + +description: The Browser Object. Contains Browser initialization, Window and Document, and the Browser Hash. + +license: MIT-style license. + +requires: [Array, Function, Number, String] + +provides: [Browser, Window, Document] + +... +*/ + +(function(){ + +var document = this.document; +var window = document.window = this; + +var ua = navigator.userAgent.toLowerCase(), + platform = navigator.platform.toLowerCase(), + UA = ua.match(/(opera|ie|firefox|chrome|version)[\s\/:]([\w\d\.]+)?.*?(safari|version[\s\/:]([\w\d\.]+)|$)/) || [null, 'unknown', 0], + mode = UA[1] == 'ie' && document.documentMode; + +var Browser = this.Browser = { + + extend: Function.prototype.extend, + + name: (UA[1] == 'version') ? UA[3] : UA[1], + + version: mode || parseFloat((UA[1] == 'opera' && UA[4]) ? UA[4] : UA[2]), + + Platform: { + name: ua.match(/ip(?:ad|od|hone)/) ? 'ios' : (ua.match(/(?:webos|android)/) || platform.match(/mac|win|linux/) || ['other'])[0] + }, + + Features: { + xpath: !!(document.evaluate), + air: !!(window.runtime), + query: !!(document.querySelector), + json: !!(window.JSON) + }, + + Plugins: {} + +}; + +Browser[Browser.name] = true; +Browser[Browser.name + parseInt(Browser.version, 10)] = true; +Browser.Platform[Browser.Platform.name] = true; + +// Request + +Browser.Request = (function(){ + + var XMLHTTP = function(){ + return new XMLHttpRequest(); + }; + + var MSXML2 = function(){ + return new ActiveXObject('MSXML2.XMLHTTP'); + }; + + var MSXML = function(){ + return new ActiveXObject('Microsoft.XMLHTTP'); + }; + + return Function.attempt(function(){ + XMLHTTP(); + return XMLHTTP; + }, function(){ + MSXML2(); + return MSXML2; + }, function(){ + MSXML(); + return MSXML; + }); + +})(); + +Browser.Features.xhr = !!(Browser.Request); + +// Flash detection + +var version = (Function.attempt(function(){ + return navigator.plugins['Shockwave Flash'].description; +}, function(){ + return new ActiveXObject('ShockwaveFlash.ShockwaveFlash').GetVariable('$version'); +}) || '0 r0').match(/\d+/g); + +Browser.Plugins.Flash = { + version: Number(version[0] || '0.' + version[1]) || 0, + build: Number(version[2]) || 0 +}; + +// String scripts + +Browser.exec = function(text){ + if (!text) return text; + if (window.execScript){ + window.execScript(text); + } else { + var script = document.createElement('script'); + script.setAttribute('type', 'text/javascript'); + script.text = text; + document.head.appendChild(script); + document.head.removeChild(script); + } + return text; +}; + +String.implement('stripScripts', function(exec){ + var scripts = ''; + var text = this.replace(/]*>([\s\S]*?)<\/script>/gi, function(all, code){ + scripts += code + '\n'; + return ''; + }); + if (exec === true) Browser.exec(scripts); + else if (typeOf(exec) == 'function') exec(scripts, text); + return text; +}); + +// Window, Document + +Browser.extend({ + Document: this.Document, + Window: this.Window, + Element: this.Element, + Event: this.Event +}); + +this.Window = this.$constructor = new Type('Window', function(){}); + +this.$family = Function.from('window').hide(); + +Window.mirror(function(name, method){ + window[name] = method; +}); + +this.Document = document.$constructor = new Type('Document', function(){}); + +document.$family = Function.from('document').hide(); + +Document.mirror(function(name, method){ + document[name] = method; +}); + +document.html = document.documentElement; +if (!document.head) document.head = document.getElementsByTagName('head')[0]; + +if (document.execCommand) try { + document.execCommand("BackgroundImageCache", false, true); +} catch (e){} + +/**/ +if (this.attachEvent && !this.addEventListener){ + var unloadEvent = function(){ + this.detachEvent('onunload', unloadEvent); + document.head = document.html = document.window = null; + }; + this.attachEvent('onunload', unloadEvent); +} + +// IE fails on collections and ) +var arrayFrom = Array.from; +try { + arrayFrom(document.html.childNodes); +} catch(e){ + Array.from = function(item){ + if (typeof item != 'string' && Type.isEnumerable(item) && typeOf(item) != 'array'){ + var i = item.length, array = new Array(i); + while (i--) array[i] = item[i]; + return array; + } + return arrayFrom(item); + }; + + var prototype = Array.prototype, + slice = prototype.slice; + ['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift', 'concat', 'join', 'slice'].each(function(name){ + var method = prototype[name]; + Array[name] = function(item){ + return method.apply(Array.from(item), slice.call(arguments, 1)); + }; + }); +} +/**/ + + + +})(); + + +/* +--- + +name: Event + +description: Contains the Event Type, to make the event object cross-browser. + +license: MIT-style license. + +requires: [Window, Document, Array, Function, String, Object] + +provides: Event + +... +*/ + +(function() { + +var _keys = {}; + +var DOMEvent = this.DOMEvent = new Type('DOMEvent', function(event, win){ + if (!win) win = window; + event = event || win.event; + if (event.$extended) return event; + this.event = event; + this.$extended = true; + this.shift = event.shiftKey; + this.control = event.ctrlKey; + this.alt = event.altKey; + this.meta = event.metaKey; + var type = this.type = event.type; + var target = event.target || event.srcElement; + while (target && target.nodeType == 3) target = target.parentNode; + this.target = document.id(target); + + if (type.indexOf('key') == 0){ + var code = this.code = (event.which || event.keyCode); + this.key = _keys[code]; + if (type == 'keydown'){ + if (code > 111 && code < 124) this.key = 'f' + (code - 111); + else if (code > 95 && code < 106) this.key = code - 96; + } + if (this.key == null) this.key = String.fromCharCode(code).toLowerCase(); + } else if (type == 'click' || type == 'dblclick' || type == 'contextmenu' || type == 'DOMMouseScroll' || type.indexOf('mouse') == 0){ + var doc = win.document; + doc = (!doc.compatMode || doc.compatMode == 'CSS1Compat') ? doc.html : doc.body; + this.page = { + x: (event.pageX != null) ? event.pageX : event.clientX + doc.scrollLeft, + y: (event.pageY != null) ? event.pageY : event.clientY + doc.scrollTop + }; + this.client = { + x: (event.pageX != null) ? event.pageX - win.pageXOffset : event.clientX, + y: (event.pageY != null) ? event.pageY - win.pageYOffset : event.clientY + }; + if (type == 'DOMMouseScroll' || type == 'mousewheel') + this.wheel = (event.wheelDelta) ? event.wheelDelta / 120 : -(event.detail || 0) / 3; + + this.rightClick = (event.which == 3 || event.button == 2); + if (type == 'mouseover' || type == 'mouseout'){ + var related = event.relatedTarget || event[(type == 'mouseover' ? 'from' : 'to') + 'Element']; + while (related && related.nodeType == 3) related = related.parentNode; + this.relatedTarget = document.id(related); + } + } else if (type.indexOf('touch') == 0 || type.indexOf('gesture') == 0){ + this.rotation = event.rotation; + this.scale = event.scale; + this.targetTouches = event.targetTouches; + this.changedTouches = event.changedTouches; + var touches = this.touches = event.touches; + if (touches && touches[0]){ + var touch = touches[0]; + this.page = {x: touch.pageX, y: touch.pageY}; + this.client = {x: touch.clientX, y: touch.clientY}; + } + } + + if (!this.client) this.client = {}; + if (!this.page) this.page = {}; +}); + +DOMEvent.implement({ + + stop: function(){ + return this.preventDefault().stopPropagation(); + }, + + stopPropagation: function(){ + if (this.event.stopPropagation) this.event.stopPropagation(); + else this.event.cancelBubble = true; + return this; + }, + + preventDefault: function(){ + if (this.event.preventDefault) this.event.preventDefault(); + else this.event.returnValue = false; + return this; + } + +}); + +DOMEvent.defineKey = function(code, key){ + _keys[code] = key; + return this; +}; + +DOMEvent.defineKeys = DOMEvent.defineKey.overloadSetter(true); + +DOMEvent.defineKeys({ + '38': 'up', '40': 'down', '37': 'left', '39': 'right', + '27': 'esc', '32': 'space', '8': 'backspace', '9': 'tab', + '46': 'delete', '13': 'enter' +}); + +})(); + + + + + + +/* +--- + +name: Class + +description: Contains the Class Function for easily creating, extending, and implementing reusable Classes. + +license: MIT-style license. + +requires: [Array, String, Function, Number] + +provides: Class + +... +*/ + +(function(){ + +var Class = this.Class = new Type('Class', function(params){ + if (instanceOf(params, Function)) params = {initialize: params}; + + var newClass = function(){ + reset(this); + if (newClass.$prototyping) return this; + this.$caller = null; + var value = (this.initialize) ? this.initialize.apply(this, arguments) : this; + this.$caller = this.caller = null; + return value; + }.extend(this).implement(params); + + newClass.$constructor = Class; + newClass.prototype.$constructor = newClass; + newClass.prototype.parent = parent; + + return newClass; +}); + +var parent = function(){ + if (!this.$caller) throw new Error('The method "parent" cannot be called.'); + var name = this.$caller.$name, + parent = this.$caller.$owner.parent, + previous = (parent) ? parent.prototype[name] : null; + if (!previous) throw new Error('The method "' + name + '" has no parent.'); + return previous.apply(this, arguments); +}; + +var reset = function(object){ + for (var key in object){ + var value = object[key]; + switch (typeOf(value)){ + case 'object': + var F = function(){}; + F.prototype = value; + object[key] = reset(new F); + break; + case 'array': object[key] = value.clone(); break; + } + } + return object; +}; + +var wrap = function(self, key, method){ + if (method.$origin) method = method.$origin; + var wrapper = function(){ + if (method.$protected && this.$caller == null) throw new Error('The method "' + key + '" cannot be called.'); + var caller = this.caller, current = this.$caller; + this.caller = current; this.$caller = wrapper; + var result = method.apply(this, arguments); + this.$caller = current; this.caller = caller; + return result; + }.extend({$owner: self, $origin: method, $name: key}); + return wrapper; +}; + +var implement = function(key, value, retain){ + if (Class.Mutators.hasOwnProperty(key)){ + value = Class.Mutators[key].call(this, value); + if (value == null) return this; + } + + if (typeOf(value) == 'function'){ + if (value.$hidden) return this; + this.prototype[key] = (retain) ? value : wrap(this, key, value); + } else { + Object.merge(this.prototype, key, value); + } + + return this; +}; + +var getInstance = function(klass){ + klass.$prototyping = true; + var proto = new klass; + delete klass.$prototyping; + return proto; +}; + +Class.implement('implement', implement.overloadSetter()); + +Class.Mutators = { + + Extends: function(parent){ + this.parent = parent; + this.prototype = getInstance(parent); + }, + + Implements: function(items){ + Array.from(items).each(function(item){ + var instance = new item; + for (var key in instance) implement.call(this, key, instance[key], true); + }, this); + } +}; + +})(); + + +/* +--- + +name: Class.Extras + +description: Contains Utility Classes that can be implemented into your own Classes to ease the execution of many common tasks. + +license: MIT-style license. + +requires: Class + +provides: [Class.Extras, Chain, Events, Options] + +... +*/ + +(function(){ + +this.Chain = new Class({ + + $chain: [], + + chain: function(){ + this.$chain.append(Array.flatten(arguments)); + return this; + }, + + callChain: function(){ + return (this.$chain.length) ? this.$chain.shift().apply(this, arguments) : false; + }, + + clearChain: function(){ + this.$chain.empty(); + return this; + } + +}); + +var removeOn = function(string){ + return string.replace(/^on([A-Z])/, function(full, first){ + return first.toLowerCase(); + }); +}; + +this.Events = new Class({ + + $events: {}, + + addEvent: function(type, fn, internal){ + type = removeOn(type); + + + + this.$events[type] = (this.$events[type] || []).include(fn); + if (internal) fn.internal = true; + return this; + }, + + addEvents: function(events){ + for (var type in events) this.addEvent(type, events[type]); + return this; + }, + + fireEvent: function(type, args, delay){ + type = removeOn(type); + var events = this.$events[type]; + if (!events) return this; + args = Array.from(args); + events.each(function(fn){ + if (delay) fn.delay(delay, this, args); + else fn.apply(this, args); + }, this); + return this; + }, + + removeEvent: function(type, fn){ + type = removeOn(type); + var events = this.$events[type]; + if (events && !fn.internal){ + var index = events.indexOf(fn); + if (index != -1) delete events[index]; + } + return this; + }, + + removeEvents: function(events){ + var type; + if (typeOf(events) == 'object'){ + for (type in events) this.removeEvent(type, events[type]); + return this; + } + if (events) events = removeOn(events); + for (type in this.$events){ + if (events && events != type) continue; + var fns = this.$events[type]; + for (var i = fns.length; i--;) if (i in fns){ + this.removeEvent(type, fns[i]); + } + } + return this; + } + +}); + +this.Options = new Class({ + + setOptions: function(){ + var options = this.options = Object.merge.apply(null, [{}, this.options].append(arguments)); + if (this.addEvent) for (var option in options){ + if (typeOf(options[option]) != 'function' || !(/^on[A-Z]/).test(option)) continue; + this.addEvent(option, options[option]); + delete options[option]; + } + return this; + } + +}); + +})(); + + +/* +--- +name: Slick.Parser +description: Standalone CSS3 Selector parser +provides: Slick.Parser +... +*/ + +;(function(){ + +var parsed, + separatorIndex, + combinatorIndex, + reversed, + cache = {}, + reverseCache = {}, + reUnescape = /\\/g; + +var parse = function(expression, isReversed){ + if (expression == null) return null; + if (expression.Slick === true) return expression; + expression = ('' + expression).replace(/^\s+|\s+$/g, ''); + reversed = !!isReversed; + var currentCache = (reversed) ? reverseCache : cache; + if (currentCache[expression]) return currentCache[expression]; + parsed = { + Slick: true, + expressions: [], + raw: expression, + reverse: function(){ + return parse(this.raw, true); + } + }; + separatorIndex = -1; + while (expression != (expression = expression.replace(regexp, parser))); + parsed.length = parsed.expressions.length; + return currentCache[parsed.raw] = (reversed) ? reverse(parsed) : parsed; +}; + +var reverseCombinator = function(combinator){ + if (combinator === '!') return ' '; + else if (combinator === ' ') return '!'; + else if ((/^!/).test(combinator)) return combinator.replace(/^!/, ''); + else return '!' + combinator; +}; + +var reverse = function(expression){ + var expressions = expression.expressions; + for (var i = 0; i < expressions.length; i++){ + var exp = expressions[i]; + var last = {parts: [], tag: '*', combinator: reverseCombinator(exp[0].combinator)}; + + for (var j = 0; j < exp.length; j++){ + var cexp = exp[j]; + if (!cexp.reverseCombinator) cexp.reverseCombinator = ' '; + cexp.combinator = cexp.reverseCombinator; + delete cexp.reverseCombinator; + } + + exp.reverse().push(last); + } + return expression; +}; + +var escapeRegExp = function(string){// Credit: XRegExp 0.6.1 (c) 2007-2008 Steven Levithan MIT License + return string.replace(/[-[\]{}()*+?.\\^$|,#\s]/g, function(match){ + return '\\' + match; + }); +}; + +var regexp = new RegExp( +/* +#!/usr/bin/env ruby +puts "\t\t" + DATA.read.gsub(/\(\?x\)|\s+#.*$|\s+|\\$|\\n/,'') +__END__ + "(?x)^(?:\ + \\s* ( , ) \\s* # Separator \n\ + | \\s* ( + ) \\s* # Combinator \n\ + | ( \\s+ ) # CombinatorChildren \n\ + | ( + | \\* ) # Tag \n\ + | \\# ( + ) # ID \n\ + | \\. ( + ) # ClassName \n\ + | # Attribute \n\ + \\[ \ + \\s* (+) (?: \ + \\s* ([*^$!~|]?=) (?: \ + \\s* (?:\ + ([\"']?)(.*?)\\9 \ + )\ + ) \ + )? \\s* \ + \\](?!\\]) \n\ + | :+ ( + )(?:\ + \\( (?:\ + (?:([\"'])([^\\12]*)\\12)|((?:\\([^)]+\\)|[^()]*)+)\ + ) \\)\ + )?\ + )" +*/ + "^(?:\\s*(,)\\s*|\\s*(+)\\s*|(\\s+)|(+|\\*)|\\#(+)|\\.(+)|\\[\\s*(+)(?:\\s*([*^$!~|]?=)(?:\\s*(?:([\"']?)(.*?)\\9)))?\\s*\\](?!\\])|(:+)(+)(?:\\((?:(?:([\"'])([^\\13]*)\\13)|((?:\\([^)]+\\)|[^()]*)+))\\))?)" + .replace(//, '[' + escapeRegExp(">+~`!@$%^&={}\\;/g, '(?:[\\w\\u00a1-\\uFFFF-]|\\\\[^\\s0-9a-f])') + .replace(//g, '(?:[:\\w\\u00a1-\\uFFFF-]|\\\\[^\\s0-9a-f])') +); + +function parser( + rawMatch, + + separator, + combinator, + combinatorChildren, + + tagName, + id, + className, + + attributeKey, + attributeOperator, + attributeQuote, + attributeValue, + + pseudoMarker, + pseudoClass, + pseudoQuote, + pseudoClassQuotedValue, + pseudoClassValue +){ + if (separator || separatorIndex === -1){ + parsed.expressions[++separatorIndex] = []; + combinatorIndex = -1; + if (separator) return ''; + } + + if (combinator || combinatorChildren || combinatorIndex === -1){ + combinator = combinator || ' '; + var currentSeparator = parsed.expressions[separatorIndex]; + if (reversed && currentSeparator[combinatorIndex]) + currentSeparator[combinatorIndex].reverseCombinator = reverseCombinator(combinator); + currentSeparator[++combinatorIndex] = {combinator: combinator, tag: '*'}; + } + + var currentParsed = parsed.expressions[separatorIndex][combinatorIndex]; + + if (tagName){ + currentParsed.tag = tagName.replace(reUnescape, ''); + + } else if (id){ + currentParsed.id = id.replace(reUnescape, ''); + + } else if (className){ + className = className.replace(reUnescape, ''); + + if (!currentParsed.classList) currentParsed.classList = []; + if (!currentParsed.classes) currentParsed.classes = []; + currentParsed.classList.push(className); + currentParsed.classes.push({ + value: className, + regexp: new RegExp('(^|\\s)' + escapeRegExp(className) + '(\\s|$)') + }); + + } else if (pseudoClass){ + pseudoClassValue = pseudoClassValue || pseudoClassQuotedValue; + pseudoClassValue = pseudoClassValue ? pseudoClassValue.replace(reUnescape, '') : null; + + if (!currentParsed.pseudos) currentParsed.pseudos = []; + currentParsed.pseudos.push({ + key: pseudoClass.replace(reUnescape, ''), + value: pseudoClassValue, + type: pseudoMarker.length == 1 ? 'class' : 'element' + }); + + } else if (attributeKey){ + attributeKey = attributeKey.replace(reUnescape, ''); + attributeValue = (attributeValue || '').replace(reUnescape, ''); + + var test, regexp; + + switch (attributeOperator){ + case '^=' : regexp = new RegExp( '^'+ escapeRegExp(attributeValue) ); break; + case '$=' : regexp = new RegExp( escapeRegExp(attributeValue) +'$' ); break; + case '~=' : regexp = new RegExp( '(^|\\s)'+ escapeRegExp(attributeValue) +'(\\s|$)' ); break; + case '|=' : regexp = new RegExp( '^'+ escapeRegExp(attributeValue) +'(-|$)' ); break; + case '=' : test = function(value){ + return attributeValue == value; + }; break; + case '*=' : test = function(value){ + return value && value.indexOf(attributeValue) > -1; + }; break; + case '!=' : test = function(value){ + return attributeValue != value; + }; break; + default : test = function(value){ + return !!value; + }; + } + + if (attributeValue == '' && (/^[*$^]=$/).test(attributeOperator)) test = function(){ + return false; + }; + + if (!test) test = function(value){ + return value && regexp.test(value); + }; + + if (!currentParsed.attributes) currentParsed.attributes = []; + currentParsed.attributes.push({ + key: attributeKey, + operator: attributeOperator, + value: attributeValue, + test: test + }); + + } + + return ''; +}; + +// Slick NS + +var Slick = (this.Slick || {}); + +Slick.parse = function(expression){ + return parse(expression); +}; + +Slick.escapeRegExp = escapeRegExp; + +if (!this.Slick) this.Slick = Slick; + +}).apply(/**/(typeof exports != 'undefined') ? exports : /**/this); + + +/* +--- +name: Slick.Finder +description: The new, superfast css selector engine. +provides: Slick.Finder +requires: Slick.Parser +... +*/ + +;(function(){ + +var local = {}, + featuresCache = {}, + toString = Object.prototype.toString; + +// Feature / Bug detection + +local.isNativeCode = function(fn){ + return (/\{\s*\[native code\]\s*\}/).test('' + fn); +}; + +local.isXML = function(document){ + return (!!document.xmlVersion) || (!!document.xml) || (toString.call(document) == '[object XMLDocument]') || + (document.nodeType == 9 && document.documentElement.nodeName != 'HTML'); +}; + +local.setDocument = function(document){ + + // convert elements / window arguments to document. if document cannot be extrapolated, the function returns. + var nodeType = document.nodeType; + if (nodeType == 9); // document + else if (nodeType) document = document.ownerDocument; // node + else if (document.navigator) document = document.document; // window + else return; + + // check if it's the old document + + if (this.document === document) return; + this.document = document; + + // check if we have done feature detection on this document before + + var root = document.documentElement, + rootUid = this.getUIDXML(root), + features = featuresCache[rootUid], + feature; + + if (features){ + for (feature in features){ + this[feature] = features[feature]; + } + return; + } + + features = featuresCache[rootUid] = {}; + + features.root = root; + features.isXMLDocument = this.isXML(document); + + features.brokenStarGEBTN + = features.starSelectsClosedQSA + = features.idGetsName + = features.brokenMixedCaseQSA + = features.brokenGEBCN + = features.brokenCheckedQSA + = features.brokenEmptyAttributeQSA + = features.isHTMLDocument + = features.nativeMatchesSelector + = false; + + var starSelectsClosed, starSelectsComments, + brokenSecondClassNameGEBCN, cachedGetElementsByClassName, + brokenFormAttributeGetter; + + var selected, id = 'slick_uniqueid'; + var testNode = document.createElement('div'); + + var testRoot = document.body || document.getElementsByTagName('body')[0] || root; + testRoot.appendChild(testNode); + + // on non-HTML documents innerHTML and getElementsById doesnt work properly + try { + testNode.innerHTML = ''; + features.isHTMLDocument = !!document.getElementById(id); + } catch(e){}; + + if (features.isHTMLDocument){ + + testNode.style.display = 'none'; + + // IE returns comment nodes for getElementsByTagName('*') for some documents + testNode.appendChild(document.createComment('')); + starSelectsComments = (testNode.getElementsByTagName('*').length > 1); + + // IE returns closed nodes (EG:"") for getElementsByTagName('*') for some documents + try { + testNode.innerHTML = 'foo'; + selected = testNode.getElementsByTagName('*'); + starSelectsClosed = (selected && !!selected.length && selected[0].nodeName.charAt(0) == '/'); + } catch(e){}; + + features.brokenStarGEBTN = starSelectsComments || starSelectsClosed; + + // IE returns elements with the name instead of just id for getElementsById for some documents + try { + testNode.innerHTML = ''; + features.idGetsName = document.getElementById(id) === testNode.firstChild; + } catch(e){}; + + if (testNode.getElementsByClassName){ + + // Safari 3.2 getElementsByClassName caches results + try { + testNode.innerHTML = ''; + testNode.getElementsByClassName('b').length; + testNode.firstChild.className = 'b'; + cachedGetElementsByClassName = (testNode.getElementsByClassName('b').length != 2); + } catch(e){}; + + // Opera 9.6 getElementsByClassName doesnt detects the class if its not the first one + try { + testNode.innerHTML = ''; + brokenSecondClassNameGEBCN = (testNode.getElementsByClassName('a').length != 2); + } catch(e){}; + + features.brokenGEBCN = cachedGetElementsByClassName || brokenSecondClassNameGEBCN; + } + + if (testNode.querySelectorAll){ + // IE 8 returns closed nodes (EG:"") for querySelectorAll('*') for some documents + try { + testNode.innerHTML = 'foo'; + selected = testNode.querySelectorAll('*'); + features.starSelectsClosedQSA = (selected && !!selected.length && selected[0].nodeName.charAt(0) == '/'); + } catch(e){}; + + // Safari 3.2 querySelectorAll doesnt work with mixedcase on quirksmode + try { + testNode.innerHTML = ''; + features.brokenMixedCaseQSA = !testNode.querySelectorAll('.MiX').length; + } catch(e){}; + + // Webkit and Opera dont return selected options on querySelectorAll + try { + testNode.innerHTML = ''; + features.brokenCheckedQSA = (testNode.querySelectorAll(':checked').length == 0); + } catch(e){}; + + // IE returns incorrect results for attr[*^$]="" selectors on querySelectorAll + try { + testNode.innerHTML = ''; + features.brokenEmptyAttributeQSA = (testNode.querySelectorAll('[class*=""]').length != 0); + } catch(e){}; + + } + + // IE6-7, if a form has an input of id x, form.getAttribute(x) returns a reference to the input + try { + testNode.innerHTML = '
    '; + brokenFormAttributeGetter = (testNode.firstChild.getAttribute('action') != 's'); + } catch(e){}; + + // native matchesSelector function + + features.nativeMatchesSelector = root.matchesSelector || /*root.msMatchesSelector ||*/ root.mozMatchesSelector || root.webkitMatchesSelector; + if (features.nativeMatchesSelector) try { + // if matchesSelector trows errors on incorrect sintaxes we can use it + features.nativeMatchesSelector.call(root, ':slick'); + features.nativeMatchesSelector = null; + } catch(e){}; + + } + + try { + root.slick_expando = 1; + delete root.slick_expando; + features.getUID = this.getUIDHTML; + } catch(e) { + features.getUID = this.getUIDXML; + } + + testRoot.removeChild(testNode); + testNode = selected = testRoot = null; + + // getAttribute + + features.getAttribute = (features.isHTMLDocument && brokenFormAttributeGetter) ? function(node, name){ + var method = this.attributeGetters[name]; + if (method) return method.call(node); + var attributeNode = node.getAttributeNode(name); + return (attributeNode) ? attributeNode.nodeValue : null; + } : function(node, name){ + var method = this.attributeGetters[name]; + return (method) ? method.call(node) : node.getAttribute(name); + }; + + // hasAttribute + + features.hasAttribute = (root && this.isNativeCode(root.hasAttribute)) ? function(node, attribute) { + return node.hasAttribute(attribute); + } : function(node, attribute) { + node = node.getAttributeNode(attribute); + return !!(node && (node.specified || node.nodeValue)); + }; + + // contains + // FIXME: Add specs: local.contains should be different for xml and html documents? + var nativeRootContains = root && this.isNativeCode(root.contains), + nativeDocumentContains = document && this.isNativeCode(document.contains); + + features.contains = (nativeRootContains && nativeDocumentContains) ? function(context, node){ + return context.contains(node); + } : (nativeRootContains && !nativeDocumentContains) ? function(context, node){ + // IE8 does not have .contains on document. + return context === node || ((context === document) ? document.documentElement : context).contains(node); + } : (root && root.compareDocumentPosition) ? function(context, node){ + return context === node || !!(context.compareDocumentPosition(node) & 16); + } : function(context, node){ + if (node) do { + if (node === context) return true; + } while ((node = node.parentNode)); + return false; + }; + + // document order sorting + // credits to Sizzle (http://sizzlejs.com/) + + features.documentSorter = (root.compareDocumentPosition) ? function(a, b){ + if (!a.compareDocumentPosition || !b.compareDocumentPosition) return 0; + return a.compareDocumentPosition(b) & 4 ? -1 : a === b ? 0 : 1; + } : ('sourceIndex' in root) ? function(a, b){ + if (!a.sourceIndex || !b.sourceIndex) return 0; + return a.sourceIndex - b.sourceIndex; + } : (document.createRange) ? function(a, b){ + if (!a.ownerDocument || !b.ownerDocument) return 0; + var aRange = a.ownerDocument.createRange(), bRange = b.ownerDocument.createRange(); + aRange.setStart(a, 0); + aRange.setEnd(a, 0); + bRange.setStart(b, 0); + bRange.setEnd(b, 0); + return aRange.compareBoundaryPoints(Range.START_TO_END, bRange); + } : null ; + + root = null; + + for (feature in features){ + this[feature] = features[feature]; + } +}; + +// Main Method + +var reSimpleSelector = /^([#.]?)((?:[\w-]+|\*))$/, + reEmptyAttribute = /\[.+[*$^]=(?:""|'')?\]/, + qsaFailExpCache = {}; + +local.search = function(context, expression, append, first){ + + var found = this.found = (first) ? null : (append || []); + + if (!context) return found; + else if (context.navigator) context = context.document; // Convert the node from a window to a document + else if (!context.nodeType) return found; + + // setup + + var parsed, i, + uniques = this.uniques = {}, + hasOthers = !!(append && append.length), + contextIsDocument = (context.nodeType == 9); + + if (this.document !== (contextIsDocument ? context : context.ownerDocument)) this.setDocument(context); + + // avoid duplicating items already in the append array + if (hasOthers) for (i = found.length; i--;) uniques[this.getUID(found[i])] = true; + + // expression checks + + if (typeof expression == 'string'){ // expression is a string + + /**/ + var simpleSelector = expression.match(reSimpleSelector); + simpleSelectors: if (simpleSelector) { + + var symbol = simpleSelector[1], + name = simpleSelector[2], + node, nodes; + + if (!symbol){ + + if (name == '*' && this.brokenStarGEBTN) break simpleSelectors; + nodes = context.getElementsByTagName(name); + if (first) return nodes[0] || null; + for (i = 0; node = nodes[i++];){ + if (!(hasOthers && uniques[this.getUID(node)])) found.push(node); + } + + } else if (symbol == '#'){ + + if (!this.isHTMLDocument || !contextIsDocument) break simpleSelectors; + node = context.getElementById(name); + if (!node) return found; + if (this.idGetsName && node.getAttributeNode('id').nodeValue != name) break simpleSelectors; + if (first) return node || null; + if (!(hasOthers && uniques[this.getUID(node)])) found.push(node); + + } else if (symbol == '.'){ + + if (!this.isHTMLDocument || ((!context.getElementsByClassName || this.brokenGEBCN) && context.querySelectorAll)) break simpleSelectors; + if (context.getElementsByClassName && !this.brokenGEBCN){ + nodes = context.getElementsByClassName(name); + if (first) return nodes[0] || null; + for (i = 0; node = nodes[i++];){ + if (!(hasOthers && uniques[this.getUID(node)])) found.push(node); + } + } else { + var matchClass = new RegExp('(^|\\s)'+ Slick.escapeRegExp(name) +'(\\s|$)'); + nodes = context.getElementsByTagName('*'); + for (i = 0; node = nodes[i++];){ + className = node.className; + if (!(className && matchClass.test(className))) continue; + if (first) return node; + if (!(hasOthers && uniques[this.getUID(node)])) found.push(node); + } + } + + } + + if (hasOthers) this.sort(found); + return (first) ? null : found; + + } + /**/ + + /**/ + querySelector: if (context.querySelectorAll) { + + if (!this.isHTMLDocument + || qsaFailExpCache[expression] + //TODO: only skip when expression is actually mixed case + || this.brokenMixedCaseQSA + || (this.brokenCheckedQSA && expression.indexOf(':checked') > -1) + || (this.brokenEmptyAttributeQSA && reEmptyAttribute.test(expression)) + || (!contextIsDocument //Abort when !contextIsDocument and... + // there are multiple expressions in the selector + // since we currently only fix non-document rooted QSA for single expression selectors + && expression.indexOf(',') > -1 + ) + || Slick.disableQSA + ) break querySelector; + + var _expression = expression, _context = context; + if (!contextIsDocument){ + // non-document rooted QSA + // credits to Andrew Dupont + var currentId = _context.getAttribute('id'), slickid = 'slickid__'; + _context.setAttribute('id', slickid); + _expression = '#' + slickid + ' ' + _expression; + context = _context.parentNode; + } + + try { + if (first) return context.querySelector(_expression) || null; + else nodes = context.querySelectorAll(_expression); + } catch(e) { + qsaFailExpCache[expression] = 1; + break querySelector; + } finally { + if (!contextIsDocument){ + if (currentId) _context.setAttribute('id', currentId); + else _context.removeAttribute('id'); + context = _context; + } + } + + if (this.starSelectsClosedQSA) for (i = 0; node = nodes[i++];){ + if (node.nodeName > '@' && !(hasOthers && uniques[this.getUID(node)])) found.push(node); + } else for (i = 0; node = nodes[i++];){ + if (!(hasOthers && uniques[this.getUID(node)])) found.push(node); + } + + if (hasOthers) this.sort(found); + return found; + + } + /**/ + + parsed = this.Slick.parse(expression); + if (!parsed.length) return found; + } else if (expression == null){ // there is no expression + return found; + } else if (expression.Slick){ // expression is a parsed Slick object + parsed = expression; + } else if (this.contains(context.documentElement || context, expression)){ // expression is a node + (found) ? found.push(expression) : found = expression; + return found; + } else { // other junk + return found; + } + + /**//**/ + + // cache elements for the nth selectors + + this.posNTH = {}; + this.posNTHLast = {}; + this.posNTHType = {}; + this.posNTHTypeLast = {}; + + /**//**/ + + // if append is null and there is only a single selector with one expression use pushArray, else use pushUID + this.push = (!hasOthers && (first || (parsed.length == 1 && parsed.expressions[0].length == 1))) ? this.pushArray : this.pushUID; + + if (found == null) found = []; + + // default engine + + var j, m, n; + var combinator, tag, id, classList, classes, attributes, pseudos; + var currentItems, currentExpression, currentBit, lastBit, expressions = parsed.expressions; + + search: for (i = 0; (currentExpression = expressions[i]); i++) for (j = 0; (currentBit = currentExpression[j]); j++){ + + combinator = 'combinator:' + currentBit.combinator; + if (!this[combinator]) continue search; + + tag = (this.isXMLDocument) ? currentBit.tag : currentBit.tag.toUpperCase(); + id = currentBit.id; + classList = currentBit.classList; + classes = currentBit.classes; + attributes = currentBit.attributes; + pseudos = currentBit.pseudos; + lastBit = (j === (currentExpression.length - 1)); + + this.bitUniques = {}; + + if (lastBit){ + this.uniques = uniques; + this.found = found; + } else { + this.uniques = {}; + this.found = []; + } + + if (j === 0){ + this[combinator](context, tag, id, classes, attributes, pseudos, classList); + if (first && lastBit && found.length) break search; + } else { + if (first && lastBit) for (m = 0, n = currentItems.length; m < n; m++){ + this[combinator](currentItems[m], tag, id, classes, attributes, pseudos, classList); + if (found.length) break search; + } else for (m = 0, n = currentItems.length; m < n; m++) this[combinator](currentItems[m], tag, id, classes, attributes, pseudos, classList); + } + + currentItems = this.found; + } + + // should sort if there are nodes in append and if you pass multiple expressions. + if (hasOthers || (parsed.expressions.length > 1)) this.sort(found); + + return (first) ? (found[0] || null) : found; +}; + +// Utils + +local.uidx = 1; +local.uidk = 'slick-uniqueid'; + +local.getUIDXML = function(node){ + var uid = node.getAttribute(this.uidk); + if (!uid){ + uid = this.uidx++; + node.setAttribute(this.uidk, uid); + } + return uid; +}; + +local.getUIDHTML = function(node){ + return node.uniqueNumber || (node.uniqueNumber = this.uidx++); +}; + +// sort based on the setDocument documentSorter method. + +local.sort = function(results){ + if (!this.documentSorter) return results; + results.sort(this.documentSorter); + return results; +}; + +/**//**/ + +local.cacheNTH = {}; + +local.matchNTH = /^([+-]?\d*)?([a-z]+)?([+-]\d+)?$/; + +local.parseNTHArgument = function(argument){ + var parsed = argument.match(this.matchNTH); + if (!parsed) return false; + var special = parsed[2] || false; + var a = parsed[1] || 1; + if (a == '-') a = -1; + var b = +parsed[3] || 0; + parsed = + (special == 'n') ? {a: a, b: b} : + (special == 'odd') ? {a: 2, b: 1} : + (special == 'even') ? {a: 2, b: 0} : {a: 0, b: a}; + + return (this.cacheNTH[argument] = parsed); +}; + +local.createNTHPseudo = function(child, sibling, positions, ofType){ + return function(node, argument){ + var uid = this.getUID(node); + if (!this[positions][uid]){ + var parent = node.parentNode; + if (!parent) return false; + var el = parent[child], count = 1; + if (ofType){ + var nodeName = node.nodeName; + do { + if (el.nodeName != nodeName) continue; + this[positions][this.getUID(el)] = count++; + } while ((el = el[sibling])); + } else { + do { + if (el.nodeType != 1) continue; + this[positions][this.getUID(el)] = count++; + } while ((el = el[sibling])); + } + } + argument = argument || 'n'; + var parsed = this.cacheNTH[argument] || this.parseNTHArgument(argument); + if (!parsed) return false; + var a = parsed.a, b = parsed.b, pos = this[positions][uid]; + if (a == 0) return b == pos; + if (a > 0){ + if (pos < b) return false; + } else { + if (b < pos) return false; + } + return ((pos - b) % a) == 0; + }; +}; + +/**//**/ + +local.pushArray = function(node, tag, id, classes, attributes, pseudos){ + if (this.matchSelector(node, tag, id, classes, attributes, pseudos)) this.found.push(node); +}; + +local.pushUID = function(node, tag, id, classes, attributes, pseudos){ + var uid = this.getUID(node); + if (!this.uniques[uid] && this.matchSelector(node, tag, id, classes, attributes, pseudos)){ + this.uniques[uid] = true; + this.found.push(node); + } +}; + +local.matchNode = function(node, selector){ + if (this.isHTMLDocument && this.nativeMatchesSelector){ + try { + return this.nativeMatchesSelector.call(node, selector.replace(/\[([^=]+)=\s*([^'"\]]+?)\s*\]/g, '[$1="$2"]')); + } catch(matchError) {} + } + + var parsed = this.Slick.parse(selector); + if (!parsed) return true; + + // simple (single) selectors + var expressions = parsed.expressions, simpleExpCounter = 0, i; + for (i = 0; (currentExpression = expressions[i]); i++){ + if (currentExpression.length == 1){ + var exp = currentExpression[0]; + if (this.matchSelector(node, (this.isXMLDocument) ? exp.tag : exp.tag.toUpperCase(), exp.id, exp.classes, exp.attributes, exp.pseudos)) return true; + simpleExpCounter++; + } + } + + if (simpleExpCounter == parsed.length) return false; + + var nodes = this.search(this.document, parsed), item; + for (i = 0; item = nodes[i++];){ + if (item === node) return true; + } + return false; +}; + +local.matchPseudo = function(node, name, argument){ + var pseudoName = 'pseudo:' + name; + if (this[pseudoName]) return this[pseudoName](node, argument); + var attribute = this.getAttribute(node, name); + return (argument) ? argument == attribute : !!attribute; +}; + +local.matchSelector = function(node, tag, id, classes, attributes, pseudos){ + if (tag){ + var nodeName = (this.isXMLDocument) ? node.nodeName : node.nodeName.toUpperCase(); + if (tag == '*'){ + if (nodeName < '@') return false; // Fix for comment nodes and closed nodes + } else { + if (nodeName != tag) return false; + } + } + + if (id && node.getAttribute('id') != id) return false; + + var i, part, cls; + if (classes) for (i = classes.length; i--;){ + cls = this.getAttribute(node, 'class'); + if (!(cls && classes[i].regexp.test(cls))) return false; + } + if (attributes) for (i = attributes.length; i--;){ + part = attributes[i]; + if (part.operator ? !part.test(this.getAttribute(node, part.key)) : !this.hasAttribute(node, part.key)) return false; + } + if (pseudos) for (i = pseudos.length; i--;){ + part = pseudos[i]; + if (!this.matchPseudo(node, part.key, part.value)) return false; + } + return true; +}; + +var combinators = { + + ' ': function(node, tag, id, classes, attributes, pseudos, classList){ // all child nodes, any level + + var i, item, children; + + if (this.isHTMLDocument){ + getById: if (id){ + item = this.document.getElementById(id); + if ((!item && node.all) || (this.idGetsName && item && item.getAttributeNode('id').nodeValue != id)){ + // all[id] returns all the elements with that name or id inside node + // if theres just one it will return the element, else it will be a collection + children = node.all[id]; + if (!children) return; + if (!children[0]) children = [children]; + for (i = 0; item = children[i++];){ + var idNode = item.getAttributeNode('id'); + if (idNode && idNode.nodeValue == id){ + this.push(item, tag, null, classes, attributes, pseudos); + break; + } + } + return; + } + if (!item){ + // if the context is in the dom we return, else we will try GEBTN, breaking the getById label + if (this.contains(this.root, node)) return; + else break getById; + } else if (this.document !== node && !this.contains(node, item)) return; + this.push(item, tag, null, classes, attributes, pseudos); + return; + } + getByClass: if (classes && node.getElementsByClassName && !this.brokenGEBCN){ + children = node.getElementsByClassName(classList.join(' ')); + if (!(children && children.length)) break getByClass; + for (i = 0; item = children[i++];) this.push(item, tag, id, null, attributes, pseudos); + return; + } + } + getByTag: { + children = node.getElementsByTagName(tag); + if (!(children && children.length)) break getByTag; + if (!this.brokenStarGEBTN) tag = null; + for (i = 0; item = children[i++];) this.push(item, tag, id, classes, attributes, pseudos); + } + }, + + '>': function(node, tag, id, classes, attributes, pseudos){ // direct children + if ((node = node.firstChild)) do { + if (node.nodeType == 1) this.push(node, tag, id, classes, attributes, pseudos); + } while ((node = node.nextSibling)); + }, + + '+': function(node, tag, id, classes, attributes, pseudos){ // next sibling + while ((node = node.nextSibling)) if (node.nodeType == 1){ + this.push(node, tag, id, classes, attributes, pseudos); + break; + } + }, + + '^': function(node, tag, id, classes, attributes, pseudos){ // first child + node = node.firstChild; + if (node){ + if (node.nodeType == 1) this.push(node, tag, id, classes, attributes, pseudos); + else this['combinator:+'](node, tag, id, classes, attributes, pseudos); + } + }, + + '~': function(node, tag, id, classes, attributes, pseudos){ // next siblings + while ((node = node.nextSibling)){ + if (node.nodeType != 1) continue; + var uid = this.getUID(node); + if (this.bitUniques[uid]) break; + this.bitUniques[uid] = true; + this.push(node, tag, id, classes, attributes, pseudos); + } + }, + + '++': function(node, tag, id, classes, attributes, pseudos){ // next sibling and previous sibling + this['combinator:+'](node, tag, id, classes, attributes, pseudos); + this['combinator:!+'](node, tag, id, classes, attributes, pseudos); + }, + + '~~': function(node, tag, id, classes, attributes, pseudos){ // next siblings and previous siblings + this['combinator:~'](node, tag, id, classes, attributes, pseudos); + this['combinator:!~'](node, tag, id, classes, attributes, pseudos); + }, + + '!': function(node, tag, id, classes, attributes, pseudos){ // all parent nodes up to document + while ((node = node.parentNode)) if (node !== this.document) this.push(node, tag, id, classes, attributes, pseudos); + }, + + '!>': function(node, tag, id, classes, attributes, pseudos){ // direct parent (one level) + node = node.parentNode; + if (node !== this.document) this.push(node, tag, id, classes, attributes, pseudos); + }, + + '!+': function(node, tag, id, classes, attributes, pseudos){ // previous sibling + while ((node = node.previousSibling)) if (node.nodeType == 1){ + this.push(node, tag, id, classes, attributes, pseudos); + break; + } + }, + + '!^': function(node, tag, id, classes, attributes, pseudos){ // last child + node = node.lastChild; + if (node){ + if (node.nodeType == 1) this.push(node, tag, id, classes, attributes, pseudos); + else this['combinator:!+'](node, tag, id, classes, attributes, pseudos); + } + }, + + '!~': function(node, tag, id, classes, attributes, pseudos){ // previous siblings + while ((node = node.previousSibling)){ + if (node.nodeType != 1) continue; + var uid = this.getUID(node); + if (this.bitUniques[uid]) break; + this.bitUniques[uid] = true; + this.push(node, tag, id, classes, attributes, pseudos); + } + } + +}; + +for (var c in combinators) local['combinator:' + c] = combinators[c]; + +var pseudos = { + + /**/ + + 'empty': function(node){ + var child = node.firstChild; + return !(child && child.nodeType == 1) && !(node.innerText || node.textContent || '').length; + }, + + 'not': function(node, expression){ + return !this.matchNode(node, expression); + }, + + 'contains': function(node, text){ + return (node.innerText || node.textContent || '').indexOf(text) > -1; + }, + + 'first-child': function(node){ + while ((node = node.previousSibling)) if (node.nodeType == 1) return false; + return true; + }, + + 'last-child': function(node){ + while ((node = node.nextSibling)) if (node.nodeType == 1) return false; + return true; + }, + + 'only-child': function(node){ + var prev = node; + while ((prev = prev.previousSibling)) if (prev.nodeType == 1) return false; + var next = node; + while ((next = next.nextSibling)) if (next.nodeType == 1) return false; + return true; + }, + + /**/ + + 'nth-child': local.createNTHPseudo('firstChild', 'nextSibling', 'posNTH'), + + 'nth-last-child': local.createNTHPseudo('lastChild', 'previousSibling', 'posNTHLast'), + + 'nth-of-type': local.createNTHPseudo('firstChild', 'nextSibling', 'posNTHType', true), + + 'nth-last-of-type': local.createNTHPseudo('lastChild', 'previousSibling', 'posNTHTypeLast', true), + + 'index': function(node, index){ + return this['pseudo:nth-child'](node, '' + (index + 1)); + }, + + 'even': function(node){ + return this['pseudo:nth-child'](node, '2n'); + }, + + 'odd': function(node){ + return this['pseudo:nth-child'](node, '2n+1'); + }, + + /**/ + + /**/ + + 'first-of-type': function(node){ + var nodeName = node.nodeName; + while ((node = node.previousSibling)) if (node.nodeName == nodeName) return false; + return true; + }, + + 'last-of-type': function(node){ + var nodeName = node.nodeName; + while ((node = node.nextSibling)) if (node.nodeName == nodeName) return false; + return true; + }, + + 'only-of-type': function(node){ + var prev = node, nodeName = node.nodeName; + while ((prev = prev.previousSibling)) if (prev.nodeName == nodeName) return false; + var next = node; + while ((next = next.nextSibling)) if (next.nodeName == nodeName) return false; + return true; + }, + + /**/ + + // custom pseudos + + 'enabled': function(node){ + return !node.disabled; + }, + + 'disabled': function(node){ + return node.disabled; + }, + + 'checked': function(node){ + return node.checked || node.selected; + }, + + 'focus': function(node){ + return this.isHTMLDocument && this.document.activeElement === node && (node.href || node.type || this.hasAttribute(node, 'tabindex')); + }, + + 'root': function(node){ + return (node === this.root); + }, + + 'selected': function(node){ + return node.selected; + } + + /**/ +}; + +for (var p in pseudos) local['pseudo:' + p] = pseudos[p]; + +// attributes methods + +var attributeGetters = local.attributeGetters = { + + 'for': function(){ + return ('htmlFor' in this) ? this.htmlFor : this.getAttribute('for'); + }, + + 'href': function(){ + return ('href' in this) ? this.getAttribute('href', 2) : this.getAttribute('href'); + }, + + 'style': function(){ + return (this.style) ? this.style.cssText : this.getAttribute('style'); + }, + + 'tabindex': function(){ + var attributeNode = this.getAttributeNode('tabindex'); + return (attributeNode && attributeNode.specified) ? attributeNode.nodeValue : null; + }, + + 'type': function(){ + return this.getAttribute('type'); + }, + + 'maxlength': function(){ + var attributeNode = this.getAttributeNode('maxLength'); + return (attributeNode && attributeNode.specified) ? attributeNode.nodeValue : null; + } + +}; + +attributeGetters.MAXLENGTH = attributeGetters.maxLength = attributeGetters.maxlength; + +// Slick + +var Slick = local.Slick = (this.Slick || {}); + +Slick.version = '1.1.7'; + +// Slick finder + +Slick.search = function(context, expression, append){ + return local.search(context, expression, append); +}; + +Slick.find = function(context, expression){ + return local.search(context, expression, null, true); +}; + +// Slick containment checker + +Slick.contains = function(container, node){ + local.setDocument(container); + return local.contains(container, node); +}; + +// Slick attribute getter + +Slick.getAttribute = function(node, name){ + local.setDocument(node); + return local.getAttribute(node, name); +}; + +Slick.hasAttribute = function(node, name){ + local.setDocument(node); + return local.hasAttribute(node, name); +}; + +// Slick matcher + +Slick.match = function(node, selector){ + if (!(node && selector)) return false; + if (!selector || selector === node) return true; + local.setDocument(node); + return local.matchNode(node, selector); +}; + +// Slick attribute accessor + +Slick.defineAttributeGetter = function(name, fn){ + local.attributeGetters[name] = fn; + return this; +}; + +Slick.lookupAttributeGetter = function(name){ + return local.attributeGetters[name]; +}; + +// Slick pseudo accessor + +Slick.definePseudo = function(name, fn){ + local['pseudo:' + name] = function(node, argument){ + return fn.call(node, argument); + }; + return this; +}; + +Slick.lookupPseudo = function(name){ + var pseudo = local['pseudo:' + name]; + if (pseudo) return function(argument){ + return pseudo.call(this, argument); + }; + return null; +}; + +// Slick overrides accessor + +Slick.override = function(regexp, fn){ + local.override(regexp, fn); + return this; +}; + +Slick.isXML = local.isXML; + +Slick.uidOf = function(node){ + return local.getUIDHTML(node); +}; + +if (!this.Slick) this.Slick = Slick; + +}).apply(/**/(typeof exports != 'undefined') ? exports : /**/this); + + +/* +--- + +name: Element + +description: One of the most important items in MooTools. Contains the dollar function, the dollars function, and an handful of cross-browser, time-saver methods to let you easily work with HTML Elements. + +license: MIT-style license. + +requires: [Window, Document, Array, String, Function, Object, Number, Slick.Parser, Slick.Finder] + +provides: [Element, Elements, $, $$, Iframe, Selectors] + +... +*/ + +var Element = function(tag, props){ + var konstructor = Element.Constructors[tag]; + if (konstructor) return konstructor(props); + if (typeof tag != 'string') return document.id(tag).set(props); + + if (!props) props = {}; + + if (!(/^[\w-]+$/).test(tag)){ + var parsed = Slick.parse(tag).expressions[0][0]; + tag = (parsed.tag == '*') ? 'div' : parsed.tag; + if (parsed.id && props.id == null) props.id = parsed.id; + + var attributes = parsed.attributes; + if (attributes) for (var attr, i = 0, l = attributes.length; i < l; i++){ + attr = attributes[i]; + if (props[attr.key] != null) continue; + + if (attr.value != null && attr.operator == '=') props[attr.key] = attr.value; + else if (!attr.value && !attr.operator) props[attr.key] = true; + } + + if (parsed.classList && props['class'] == null) props['class'] = parsed.classList.join(' '); + } + + return document.newElement(tag, props); +}; + + +if (Browser.Element){ + Element.prototype = Browser.Element.prototype; + // IE8 and IE9 require the wrapping. + Element.prototype._fireEvent = (function(fireEvent){ + return function(type, event){ + return fireEvent.call(this, type, event); + }; + })(Element.prototype.fireEvent); +} + +new Type('Element', Element).mirror(function(name){ + if (Array.prototype[name]) return; + + var obj = {}; + obj[name] = function(){ + var results = [], args = arguments, elements = true; + for (var i = 0, l = this.length; i < l; i++){ + var element = this[i], result = results[i] = element[name].apply(element, args); + elements = (elements && typeOf(result) == 'element'); + } + return (elements) ? new Elements(results) : results; + }; + + Elements.implement(obj); +}); + +if (!Browser.Element){ + Element.parent = Object; + + Element.Prototype = { + '$constructor': Element, + '$family': Function.from('element').hide() + }; + + Element.mirror(function(name, method){ + Element.Prototype[name] = method; + }); +} + +Element.Constructors = {}; + + + +var IFrame = new Type('IFrame', function(){ + var params = Array.link(arguments, { + properties: Type.isObject, + iframe: function(obj){ + return (obj != null); + } + }); + + var props = params.properties || {}, iframe; + if (params.iframe) iframe = document.id(params.iframe); + var onload = props.onload || function(){}; + delete props.onload; + props.id = props.name = [props.id, props.name, iframe ? (iframe.id || iframe.name) : 'IFrame_' + String.uniqueID()].pick(); + iframe = new Element(iframe || 'iframe', props); + + var onLoad = function(){ + onload.call(iframe.contentWindow); + }; + + if (window.frames[props.id]) onLoad(); + else iframe.addListener('load', onLoad); + return iframe; +}); + +var Elements = this.Elements = function(nodes){ + if (nodes && nodes.length){ + var uniques = {}, node; + for (var i = 0; node = nodes[i++];){ + var uid = Slick.uidOf(node); + if (!uniques[uid]){ + uniques[uid] = true; + this.push(node); + } + } + } +}; + +Elements.prototype = {length: 0}; +Elements.parent = Array; + +new Type('Elements', Elements).implement({ + + filter: function(filter, bind){ + if (!filter) return this; + return new Elements(Array.filter(this, (typeOf(filter) == 'string') ? function(item){ + return item.match(filter); + } : filter, bind)); + }.protect(), + + push: function(){ + var length = this.length; + for (var i = 0, l = arguments.length; i < l; i++){ + var item = document.id(arguments[i]); + if (item) this[length++] = item; + } + return (this.length = length); + }.protect(), + + unshift: function(){ + var items = []; + for (var i = 0, l = arguments.length; i < l; i++){ + var item = document.id(arguments[i]); + if (item) items.push(item); + } + return Array.prototype.unshift.apply(this, items); + }.protect(), + + concat: function(){ + var newElements = new Elements(this); + for (var i = 0, l = arguments.length; i < l; i++){ + var item = arguments[i]; + if (Type.isEnumerable(item)) newElements.append(item); + else newElements.push(item); + } + return newElements; + }.protect(), + + append: function(collection){ + for (var i = 0, l = collection.length; i < l; i++) this.push(collection[i]); + return this; + }.protect(), + + empty: function(){ + while (this.length) delete this[--this.length]; + return this; + }.protect() + +}); + + + +(function(){ + +// FF, IE +var splice = Array.prototype.splice, object = {'0': 0, '1': 1, length: 2}; + +splice.call(object, 1, 1); +if (object[1] == 1) Elements.implement('splice', function(){ + var length = this.length; + var result = splice.apply(this, arguments); + while (length >= this.length) delete this[length--]; + return result; +}.protect()); + +Array.forEachMethod(function(method, name){ + Elements.implement(name, method); +}); + +Array.mirror(Elements); + +/**/ +var createElementAcceptsHTML; +try { + createElementAcceptsHTML = (document.createElement('').name == 'x'); +} catch (e){} + +var escapeQuotes = function(html){ + return ('' + html).replace(/&/g, '&').replace(/"/g, '"'); +}; +/**/ + +Document.implement({ + + newElement: function(tag, props){ + if (props && props.checked != null) props.defaultChecked = props.checked; + /**/// Fix for readonly name and type properties in IE < 8 + if (createElementAcceptsHTML && props){ + tag = '<' + tag; + if (props.name) tag += ' name="' + escapeQuotes(props.name) + '"'; + if (props.type) tag += ' type="' + escapeQuotes(props.type) + '"'; + tag += '>'; + delete props.name; + delete props.type; + } + /**/ + return this.id(this.createElement(tag)).set(props); + } + +}); + +})(); + +(function(){ + +Slick.uidOf(window); +Slick.uidOf(document); + +Document.implement({ + + newTextNode: function(text){ + return this.createTextNode(text); + }, + + getDocument: function(){ + return this; + }, + + getWindow: function(){ + return this.window; + }, + + id: (function(){ + + var types = { + + string: function(id, nocash, doc){ + id = Slick.find(doc, '#' + id.replace(/(\W)/g, '\\$1')); + return (id) ? types.element(id, nocash) : null; + }, + + element: function(el, nocash){ + Slick.uidOf(el); + if (!nocash && !el.$family && !(/^(?:object|embed)$/i).test(el.tagName)){ + var fireEvent = el.fireEvent; + // wrapping needed in IE7, or else crash + el._fireEvent = function(type, event){ + return fireEvent(type, event); + }; + Object.append(el, Element.Prototype); + } + return el; + }, + + object: function(obj, nocash, doc){ + if (obj.toElement) return types.element(obj.toElement(doc), nocash); + return null; + } + + }; + + types.textnode = types.whitespace = types.window = types.document = function(zero){ + return zero; + }; + + return function(el, nocash, doc){ + if (el && el.$family && el.uniqueNumber) return el; + var type = typeOf(el); + return (types[type]) ? types[type](el, nocash, doc || document) : null; + }; + + })() + +}); + +if (window.$ == null) Window.implement('$', function(el, nc){ + return document.id(el, nc, this.document); +}); + +Window.implement({ + + getDocument: function(){ + return this.document; + }, + + getWindow: function(){ + return this; + } + +}); + +[Document, Element].invoke('implement', { + + getElements: function(expression){ + return Slick.search(this, expression, new Elements); + }, + + getElement: function(expression){ + return document.id(Slick.find(this, expression)); + } + +}); + +var contains = {contains: function(element){ + return Slick.contains(this, element); +}}; + +if (!document.contains) Document.implement(contains); +if (!document.createElement('div').contains) Element.implement(contains); + + + +// tree walking + +var injectCombinator = function(expression, combinator){ + if (!expression) return combinator; + + expression = Object.clone(Slick.parse(expression)); + + var expressions = expression.expressions; + for (var i = expressions.length; i--;) + expressions[i][0].combinator = combinator; + + return expression; +}; + +Object.forEach({ + getNext: '~', + getPrevious: '!~', + getParent: '!' +}, function(combinator, method){ + Element.implement(method, function(expression){ + return this.getElement(injectCombinator(expression, combinator)); + }); +}); + +Object.forEach({ + getAllNext: '~', + getAllPrevious: '!~', + getSiblings: '~~', + getChildren: '>', + getParents: '!' +}, function(combinator, method){ + Element.implement(method, function(expression){ + return this.getElements(injectCombinator(expression, combinator)); + }); +}); + +Element.implement({ + + getFirst: function(expression){ + return document.id(Slick.search(this, injectCombinator(expression, '>'))[0]); + }, + + getLast: function(expression){ + return document.id(Slick.search(this, injectCombinator(expression, '>')).getLast()); + }, + + getWindow: function(){ + return this.ownerDocument.window; + }, + + getDocument: function(){ + return this.ownerDocument; + }, + + getElementById: function(id){ + return document.id(Slick.find(this, '#' + ('' + id).replace(/(\W)/g, '\\$1'))); + }, + + match: function(expression){ + return !expression || Slick.match(this, expression); + } + +}); + + + +if (window.$$ == null) Window.implement('$$', function(selector){ + if (arguments.length == 1){ + if (typeof selector == 'string') return Slick.search(this.document, selector, new Elements); + else if (Type.isEnumerable(selector)) return new Elements(selector); + } + return new Elements(arguments); +}); + +// Inserters + +var inserters = { + + before: function(context, element){ + var parent = element.parentNode; + if (parent) parent.insertBefore(context, element); + }, + + after: function(context, element){ + var parent = element.parentNode; + if (parent) parent.insertBefore(context, element.nextSibling); + }, + + bottom: function(context, element){ + element.appendChild(context); + }, + + top: function(context, element){ + element.insertBefore(context, element.firstChild); + } + +}; + +inserters.inside = inserters.bottom; + + + +// getProperty / setProperty + +var propertyGetters = {}, propertySetters = {}; + +// properties + +var properties = {}; +Array.forEach([ + 'type', 'value', 'defaultValue', 'accessKey', 'cellPadding', 'cellSpacing', 'colSpan', + 'frameBorder', 'rowSpan', 'tabIndex', 'useMap' +], function(property){ + properties[property.toLowerCase()] = property; +}); + +properties.html = 'innerHTML'; +properties.text = (document.createElement('div').textContent == null) ? 'innerText': 'textContent'; + +Object.forEach(properties, function(real, key){ + propertySetters[key] = function(node, value){ + node[real] = value; + }; + propertyGetters[key] = function(node){ + return node[real]; + }; +}); + +// Booleans + +var bools = [ + 'compact', 'nowrap', 'ismap', 'declare', 'noshade', 'checked', + 'disabled', 'readOnly', 'multiple', 'selected', 'noresize', + 'defer', 'defaultChecked', 'autofocus', 'controls', 'autoplay', + 'loop' +]; + +var booleans = {}; +Array.forEach(bools, function(bool){ + var lower = bool.toLowerCase(); + booleans[lower] = bool; + propertySetters[lower] = function(node, value){ + node[bool] = !!value; + }; + propertyGetters[lower] = function(node){ + return !!node[bool]; + }; +}); + +// Special cases + +Object.append(propertySetters, { + + 'class': function(node, value){ + ('className' in node) ? node.className = (value || '') : node.setAttribute('class', value); + }, + + 'for': function(node, value){ + ('htmlFor' in node) ? node.htmlFor = value : node.setAttribute('for', value); + }, + + 'style': function(node, value){ + (node.style) ? node.style.cssText = value : node.setAttribute('style', value); + }, + + 'value': function(node, value){ + node.value = (value != null) ? value : ''; + } + +}); + +propertyGetters['class'] = function(node){ + return ('className' in node) ? node.className || null : node.getAttribute('class'); +}; + +/* */ +var el = document.createElement('button'); +// IE sets type as readonly and throws +try { el.type = 'button'; } catch(e){} +if (el.type != 'button') propertySetters.type = function(node, value){ + node.setAttribute('type', value); +}; +el = null; +/* */ + +/**/ +var input = document.createElement('input'); +input.value = 't'; +input.type = 'submit'; +if (input.value != 't') propertySetters.type = function(node, type){ + var value = node.value; + node.type = type; + node.value = value; +}; +input = null; +/**/ + +/* getProperty, setProperty */ + +/* */ +var pollutesGetAttribute = (function(div){ + div.random = 'attribute'; + return (div.getAttribute('random') == 'attribute'); +})(document.createElement('div')); + +/* */ + +Element.implement({ + + setProperty: function(name, value){ + var setter = propertySetters[name.toLowerCase()]; + if (setter){ + setter(this, value); + } else { + /* */ + if (pollutesGetAttribute) var attributeWhiteList = this.retrieve('$attributeWhiteList', {}); + /* */ + + if (value == null){ + this.removeAttribute(name); + /* */ + if (pollutesGetAttribute) delete attributeWhiteList[name]; + /* */ + } else { + this.setAttribute(name, '' + value); + /* */ + if (pollutesGetAttribute) attributeWhiteList[name] = true; + /* */ + } + } + return this; + }, + + setProperties: function(attributes){ + for (var attribute in attributes) this.setProperty(attribute, attributes[attribute]); + return this; + }, + + getProperty: function(name){ + var getter = propertyGetters[name.toLowerCase()]; + if (getter) return getter(this); + /* */ + if (pollutesGetAttribute){ + var attr = this.getAttributeNode(name), attributeWhiteList = this.retrieve('$attributeWhiteList', {}); + if (!attr) return null; + if (attr.expando && !attributeWhiteList[name]){ + var outer = this.outerHTML; + // segment by the opening tag and find mention of attribute name + if (outer.substr(0, outer.search(/\/?['"]?>(?![^<]*<['"])/)).indexOf(name) < 0) return null; + attributeWhiteList[name] = true; + } + } + /* */ + var result = Slick.getAttribute(this, name); + return (!result && !Slick.hasAttribute(this, name)) ? null : result; + }, + + getProperties: function(){ + var args = Array.from(arguments); + return args.map(this.getProperty, this).associate(args); + }, + + removeProperty: function(name){ + return this.setProperty(name, null); + }, + + removeProperties: function(){ + Array.each(arguments, this.removeProperty, this); + return this; + }, + + set: function(prop, value){ + var property = Element.Properties[prop]; + (property && property.set) ? property.set.call(this, value) : this.setProperty(prop, value); + }.overloadSetter(), + + get: function(prop){ + var property = Element.Properties[prop]; + return (property && property.get) ? property.get.apply(this) : this.getProperty(prop); + }.overloadGetter(), + + erase: function(prop){ + var property = Element.Properties[prop]; + (property && property.erase) ? property.erase.apply(this) : this.removeProperty(prop); + return this; + }, + + hasClass: function(className){ + return this.className.clean().contains(className, ' '); + }, + + addClass: function(className){ + if (!this.hasClass(className)) this.className = (this.className + ' ' + className).clean(); + return this; + }, + + removeClass: function(className){ + this.className = this.className.replace(new RegExp('(^|\\s)' + className + '(?:\\s|$)'), '$1'); + return this; + }, + + toggleClass: function(className, force){ + if (force == null) force = !this.hasClass(className); + return (force) ? this.addClass(className) : this.removeClass(className); + }, + + adopt: function(){ + var parent = this, fragment, elements = Array.flatten(arguments), length = elements.length; + if (length > 1) parent = fragment = document.createDocumentFragment(); + + for (var i = 0; i < length; i++){ + var element = document.id(elements[i], true); + if (element) parent.appendChild(element); + } + + if (fragment) this.appendChild(fragment); + + return this; + }, + + appendText: function(text, where){ + return this.grab(this.getDocument().newTextNode(text), where); + }, + + grab: function(el, where){ + inserters[where || 'bottom'](document.id(el, true), this); + return this; + }, + + inject: function(el, where){ + inserters[where || 'bottom'](this, document.id(el, true)); + return this; + }, + + replaces: function(el){ + el = document.id(el, true); + el.parentNode.replaceChild(this, el); + return this; + }, + + wraps: function(el, where){ + el = document.id(el, true); + return this.replaces(el).grab(el, where); + }, + + getSelected: function(){ + this.selectedIndex; // Safari 3.2.1 + return new Elements(Array.from(this.options).filter(function(option){ + return option.selected; + })); + }, + + toQueryString: function(){ + var queryString = []; + this.getElements('input, select, textarea').each(function(el){ + var type = el.type; + if (!el.name || el.disabled || type == 'submit' || type == 'reset' || type == 'file' || type == 'image') return; + + var value = (el.get('tag') == 'select') ? el.getSelected().map(function(opt){ + // IE + return document.id(opt).get('value'); + }) : ((type == 'radio' || type == 'checkbox') && !el.checked) ? null : el.get('value'); + + Array.from(value).each(function(val){ + if (typeof val != 'undefined') queryString.push(encodeURIComponent(el.name) + '=' + encodeURIComponent(val)); + }); + }); + return queryString.join('&'); + } + +}); + +var collected = {}, storage = {}; + +var get = function(uid){ + return (storage[uid] || (storage[uid] = {})); +}; + +var clean = function(item){ + var uid = item.uniqueNumber; + if (item.removeEvents) item.removeEvents(); + if (item.clearAttributes) item.clearAttributes(); + if (uid != null){ + delete collected[uid]; + delete storage[uid]; + } + return item; +}; + +var formProps = {input: 'checked', option: 'selected', textarea: 'value'}; + +Element.implement({ + + destroy: function(){ + var children = clean(this).getElementsByTagName('*'); + Array.each(children, clean); + Element.dispose(this); + return null; + }, + + empty: function(){ + Array.from(this.childNodes).each(Element.dispose); + return this; + }, + + dispose: function(){ + return (this.parentNode) ? this.parentNode.removeChild(this) : this; + }, + + clone: function(contents, keepid){ + contents = contents !== false; + var clone = this.cloneNode(contents), ce = [clone], te = [this], i; + + if (contents){ + ce.append(Array.from(clone.getElementsByTagName('*'))); + te.append(Array.from(this.getElementsByTagName('*'))); + } + + for (i = ce.length; i--;){ + var node = ce[i], element = te[i]; + if (!keepid) node.removeAttribute('id'); + /**/ + if (node.clearAttributes){ + node.clearAttributes(); + node.mergeAttributes(element); + node.removeAttribute('uniqueNumber'); + if (node.options){ + var no = node.options, eo = element.options; + for (var j = no.length; j--;) no[j].selected = eo[j].selected; + } + } + /**/ + var prop = formProps[element.tagName.toLowerCase()]; + if (prop && element[prop]) node[prop] = element[prop]; + } + + /**/ + if (Browser.ie){ + var co = clone.getElementsByTagName('object'), to = this.getElementsByTagName('object'); + for (i = co.length; i--;) co[i].outerHTML = to[i].outerHTML; + } + /**/ + return document.id(clone); + } + +}); + +[Element, Window, Document].invoke('implement', { + + addListener: function(type, fn){ + if (type == 'unload'){ + var old = fn, self = this; + fn = function(){ + self.removeListener('unload', fn); + old(); + }; + } else { + collected[Slick.uidOf(this)] = this; + } + if (this.addEventListener) this.addEventListener(type, fn, !!arguments[2]); + else this.attachEvent('on' + type, fn); + return this; + }, + + removeListener: function(type, fn){ + if (this.removeEventListener) this.removeEventListener(type, fn, !!arguments[2]); + else this.detachEvent('on' + type, fn); + return this; + }, + + retrieve: function(property, dflt){ + var storage = get(Slick.uidOf(this)), prop = storage[property]; + if (dflt != null && prop == null) prop = storage[property] = dflt; + return prop != null ? prop : null; + }, + + store: function(property, value){ + var storage = get(Slick.uidOf(this)); + storage[property] = value; + return this; + }, + + eliminate: function(property){ + var storage = get(Slick.uidOf(this)); + delete storage[property]; + return this; + } + +}); + +/**/ +if (window.attachEvent && !window.addEventListener) window.addListener('unload', function(){ + Object.each(collected, clean); + if (window.CollectGarbage) CollectGarbage(); +}); +/**/ + +Element.Properties = {}; + + + +Element.Properties.style = { + + set: function(style){ + this.style.cssText = style; + }, + + get: function(){ + return this.style.cssText; + }, + + erase: function(){ + this.style.cssText = ''; + } + +}; + +Element.Properties.tag = { + + get: function(){ + return this.tagName.toLowerCase(); + } + +}; + +Element.Properties.html = { + + set: function(html){ + if (html == null) html = ''; + else if (typeOf(html) == 'array') html = html.join(''); + this.innerHTML = html; + }, + + erase: function(){ + this.innerHTML = ''; + } + +}; + +/**/ +// technique by jdbarlett - http://jdbartlett.com/innershiv/ +var div = document.createElement('div'); +div.innerHTML = ''; +var supportsHTML5Elements = (div.childNodes.length == 1); +if (!supportsHTML5Elements){ + var tags = 'abbr article aside audio canvas datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video'.split(' '), + fragment = document.createDocumentFragment(), l = tags.length; + while (l--) fragment.createElement(tags[l]); +} +div = null; +/**/ + +/**/ +var supportsTableInnerHTML = Function.attempt(function(){ + var table = document.createElement('table'); + table.innerHTML = '
    '; + return true; +}); + +/**/ +var tr = document.createElement('tr'), html = ''; +tr.innerHTML = html; +var supportsTRInnerHTML = (tr.innerHTML == html); +tr = null; +/**/ + +if (!supportsTableInnerHTML || !supportsTRInnerHTML || !supportsHTML5Elements){ + + Element.Properties.html.set = (function(set){ + + var translations = { + table: [1, '
    ', '
    '], + select: [1, ''], + tbody: [2, '', '
    '], + tr: [3, '', '
    '] + }; + + translations.thead = translations.tfoot = translations.tbody; + + return function(html){ + var wrap = translations[this.get('tag')]; + if (!wrap && !supportsHTML5Elements) wrap = [0, '', '']; + if (!wrap) return set.call(this, html); + + var level = wrap[0], wrapper = document.createElement('div'), target = wrapper; + if (!supportsHTML5Elements) fragment.appendChild(wrapper); + wrapper.innerHTML = [wrap[1], html, wrap[2]].flatten().join(''); + while (level--) target = target.firstChild; + this.empty().adopt(target.childNodes); + if (!supportsHTML5Elements) fragment.removeChild(wrapper); + wrapper = null; + }; + + })(Element.Properties.html.set); +} +/**/ + +/**/ +var testForm = document.createElement('form'); +testForm.innerHTML = ''; + +if (testForm.firstChild.value != 's') Element.Properties.value = { + + set: function(value){ + var tag = this.get('tag'); + if (tag != 'select') return this.setProperty('value', value); + var options = this.getElements('option'); + for (var i = 0; i < options.length; i++){ + var option = options[i], + attr = option.getAttributeNode('value'), + optionValue = (attr && attr.specified) ? option.value : option.get('text'); + if (optionValue == value) return option.selected = true; + } + }, + + get: function(){ + var option = this, tag = option.get('tag'); + + if (tag != 'select' && tag != 'option') return this.getProperty('value'); + + if (tag == 'select' && !(option = option.getSelected()[0])) return ''; + + var attr = option.getAttributeNode('value'); + return (attr && attr.specified) ? option.value : option.get('text'); + } + +}; +testForm = null; +/**/ + +/**/ +if (document.createElement('div').getAttributeNode('id')) Element.Properties.id = { + set: function(id){ + this.id = this.getAttributeNode('id').value = id; + }, + get: function(){ + return this.id || null; + }, + erase: function(){ + this.id = this.getAttributeNode('id').value = ''; + } +}; +/**/ + +})(); + + +/* +--- + +name: Element.Style + +description: Contains methods for interacting with the styles of Elements in a fashionable way. + +license: MIT-style license. + +requires: Element + +provides: Element.Style + +... +*/ + +(function(){ + +var html = document.html; + +// +// Check for oldIE, which does not remove styles when they're set to null +var el = document.createElement('div'); +el.style.color = 'red'; +el.style.color = null; +var doesNotRemoveStyles = el.style.color == 'red'; +el = null; +// + +Element.Properties.styles = {set: function(styles){ + this.setStyles(styles); +}}; + +var hasOpacity = (html.style.opacity != null), + hasFilter = (html.style.filter != null), + reAlpha = /alpha\(opacity=([\d.]+)\)/i; + +var setVisibility = function(element, opacity){ + element.store('$opacity', opacity); + element.style.visibility = opacity > 0 || opacity == null ? 'visible' : 'hidden'; +}; + +var setOpacity = (hasOpacity ? function(element, opacity){ + element.style.opacity = opacity; +} : (hasFilter ? function(element, opacity){ + var style = element.style; + if (!element.currentStyle || !element.currentStyle.hasLayout) style.zoom = 1; + if (opacity == null || opacity == 1) opacity = ''; + else opacity = 'alpha(opacity=' + (opacity * 100).limit(0, 100).round() + ')'; + var filter = style.filter || element.getComputedStyle('filter') || ''; + style.filter = reAlpha.test(filter) ? filter.replace(reAlpha, opacity) : filter + opacity; + if (!style.filter) style.removeAttribute('filter'); +} : setVisibility)); + +var getOpacity = (hasOpacity ? function(element){ + var opacity = element.style.opacity || element.getComputedStyle('opacity'); + return (opacity == '') ? 1 : opacity.toFloat(); +} : (hasFilter ? function(element){ + var filter = (element.style.filter || element.getComputedStyle('filter')), + opacity; + if (filter) opacity = filter.match(reAlpha); + return (opacity == null || filter == null) ? 1 : (opacity[1] / 100); +} : function(element){ + var opacity = element.retrieve('$opacity'); + if (opacity == null) opacity = (element.style.visibility == 'hidden' ? 0 : 1); + return opacity; +})); + +var floatName = (html.style.cssFloat == null) ? 'styleFloat' : 'cssFloat'; + +Element.implement({ + + getComputedStyle: function(property){ + if (this.currentStyle) return this.currentStyle[property.camelCase()]; + var defaultView = Element.getDocument(this).defaultView, + computed = defaultView ? defaultView.getComputedStyle(this, null) : null; + return (computed) ? computed.getPropertyValue((property == floatName) ? 'float' : property.hyphenate()) : null; + }, + + setStyle: function(property, value){ + if (property == 'opacity'){ + if (value != null) value = parseFloat(value); + setOpacity(this, value); + return this; + } + property = (property == 'float' ? floatName : property).camelCase(); + if (typeOf(value) != 'string'){ + var map = (Element.Styles[property] || '@').split(' '); + value = Array.from(value).map(function(val, i){ + if (!map[i]) return ''; + return (typeOf(val) == 'number') ? map[i].replace('@', Math.round(val)) : val; + }).join(' '); + } else if (value == String(Number(value))){ + value = Math.round(value); + } + this.style[property] = value; + // + if ((value == '' || value == null) && doesNotRemoveStyles && this.style.removeAttribute){ + this.style.removeAttribute(property); + } + // + return this; + }, + + getStyle: function(property){ + if (property == 'opacity') return getOpacity(this); + property = (property == 'float' ? floatName : property).camelCase(); + var result = this.style[property]; + if (!result || property == 'zIndex'){ + result = []; + for (var style in Element.ShortStyles){ + if (property != style) continue; + for (var s in Element.ShortStyles[style]) result.push(this.getStyle(s)); + return result.join(' '); + } + result = this.getComputedStyle(property); + } + if (result){ + result = String(result); + var color = result.match(/rgba?\([\d\s,]+\)/); + if (color) result = result.replace(color[0], color[0].rgbToHex()); + } + if (Browser.ie && isNaN(parseFloat(result))){ + if ((/^(height|width)$/).test(property)){ + var values = (property == 'width') ? ['left', 'right'] : ['top', 'bottom'], size = 0; + values.each(function(value){ + size += this.getStyle('border-' + value + '-width').toInt() + this.getStyle('padding-' + value).toInt(); + }, this); + return this['offset' + property.capitalize()] - size + 'px'; + } + if (Browser.opera && String(result).indexOf('px') != -1) return result; + if ((/^border(.+)Width|margin|padding/).test(property)) return '0px'; + } + return result; + }, + + setStyles: function(styles){ + for (var style in styles) this.setStyle(style, styles[style]); + return this; + }, + + getStyles: function(){ + var result = {}; + Array.flatten(arguments).each(function(key){ + result[key] = this.getStyle(key); + }, this); + return result; + } + +}); + +Element.Styles = { + left: '@px', top: '@px', bottom: '@px', right: '@px', + width: '@px', height: '@px', maxWidth: '@px', maxHeight: '@px', minWidth: '@px', minHeight: '@px', + backgroundColor: 'rgb(@, @, @)', backgroundPosition: '@px @px', color: 'rgb(@, @, @)', + fontSize: '@px', letterSpacing: '@px', lineHeight: '@px', clip: 'rect(@px @px @px @px)', + margin: '@px @px @px @px', padding: '@px @px @px @px', border: '@px @ rgb(@, @, @) @px @ rgb(@, @, @) @px @ rgb(@, @, @)', + borderWidth: '@px @px @px @px', borderStyle: '@ @ @ @', borderColor: 'rgb(@, @, @) rgb(@, @, @) rgb(@, @, @) rgb(@, @, @)', + zIndex: '@', 'zoom': '@', fontWeight: '@', textIndent: '@px', opacity: '@' +}; + + + + + +Element.ShortStyles = {margin: {}, padding: {}, border: {}, borderWidth: {}, borderStyle: {}, borderColor: {}}; + +['Top', 'Right', 'Bottom', 'Left'].each(function(direction){ + var Short = Element.ShortStyles; + var All = Element.Styles; + ['margin', 'padding'].each(function(style){ + var sd = style + direction; + Short[style][sd] = All[sd] = '@px'; + }); + var bd = 'border' + direction; + Short.border[bd] = All[bd] = '@px @ rgb(@, @, @)'; + var bdw = bd + 'Width', bds = bd + 'Style', bdc = bd + 'Color'; + Short[bd] = {}; + Short.borderWidth[bdw] = Short[bd][bdw] = All[bdw] = '@px'; + Short.borderStyle[bds] = Short[bd][bds] = All[bds] = '@'; + Short.borderColor[bdc] = Short[bd][bdc] = All[bdc] = 'rgb(@, @, @)'; +}); + +})(); + + +/* +--- + +name: Element.Event + +description: Contains Element methods for dealing with events. This file also includes mouseenter and mouseleave custom Element Events, if necessary. + +license: MIT-style license. + +requires: [Element, Event] + +provides: Element.Event + +... +*/ + +(function(){ + +Element.Properties.events = {set: function(events){ + this.addEvents(events); +}}; + +[Element, Window, Document].invoke('implement', { + + addEvent: function(type, fn){ + var events = this.retrieve('events', {}); + if (!events[type]) events[type] = {keys: [], values: []}; + if (events[type].keys.contains(fn)) return this; + events[type].keys.push(fn); + var realType = type, + custom = Element.Events[type], + condition = fn, + self = this; + if (custom){ + if (custom.onAdd) custom.onAdd.call(this, fn, type); + if (custom.condition){ + condition = function(event){ + if (custom.condition.call(this, event, type)) return fn.call(this, event); + return true; + }; + } + if (custom.base) realType = Function.from(custom.base).call(this, type); + } + var defn = function(){ + return fn.call(self); + }; + var nativeEvent = Element.NativeEvents[realType]; + if (nativeEvent){ + if (nativeEvent == 2){ + defn = function(event){ + event = new DOMEvent(event, self.getWindow()); + if (condition.call(self, event) === false) event.stop(); + }; + } + this.addListener(realType, defn, arguments[2]); + } + events[type].values.push(defn); + return this; + }, + + removeEvent: function(type, fn){ + var events = this.retrieve('events'); + if (!events || !events[type]) return this; + var list = events[type]; + var index = list.keys.indexOf(fn); + if (index == -1) return this; + var value = list.values[index]; + delete list.keys[index]; + delete list.values[index]; + var custom = Element.Events[type]; + if (custom){ + if (custom.onRemove) custom.onRemove.call(this, fn, type); + if (custom.base) type = Function.from(custom.base).call(this, type); + } + return (Element.NativeEvents[type]) ? this.removeListener(type, value, arguments[2]) : this; + }, + + addEvents: function(events){ + for (var event in events) this.addEvent(event, events[event]); + return this; + }, + + removeEvents: function(events){ + var type; + if (typeOf(events) == 'object'){ + for (type in events) this.removeEvent(type, events[type]); + return this; + } + var attached = this.retrieve('events'); + if (!attached) return this; + if (!events){ + for (type in attached) this.removeEvents(type); + this.eliminate('events'); + } else if (attached[events]){ + attached[events].keys.each(function(fn){ + this.removeEvent(events, fn); + }, this); + delete attached[events]; + } + return this; + }, + + fireEvent: function(type, args, delay){ + var events = this.retrieve('events'); + if (!events || !events[type]) return this; + args = Array.from(args); + + events[type].keys.each(function(fn){ + if (delay) fn.delay(delay, this, args); + else fn.apply(this, args); + }, this); + return this; + }, + + cloneEvents: function(from, type){ + from = document.id(from); + var events = from.retrieve('events'); + if (!events) return this; + if (!type){ + for (var eventType in events) this.cloneEvents(from, eventType); + } else if (events[type]){ + events[type].keys.each(function(fn){ + this.addEvent(type, fn); + }, this); + } + return this; + } + +}); + +Element.NativeEvents = { + click: 2, dblclick: 2, mouseup: 2, mousedown: 2, contextmenu: 2, //mouse buttons + mousewheel: 2, DOMMouseScroll: 2, //mouse wheel + mouseover: 2, mouseout: 2, mousemove: 2, selectstart: 2, selectend: 2, //mouse movement + keydown: 2, keypress: 2, keyup: 2, //keyboard + orientationchange: 2, // mobile + touchstart: 2, touchmove: 2, touchend: 2, touchcancel: 2, // touch + gesturestart: 2, gesturechange: 2, gestureend: 2, // gesture + focus: 2, blur: 2, change: 2, reset: 2, select: 2, submit: 2, paste: 2, input: 2, //form elements + load: 2, unload: 1, beforeunload: 2, resize: 1, move: 1, DOMContentLoaded: 1, readystatechange: 1, //window + error: 1, abort: 1, scroll: 1 //misc +}; + +Element.Events = {mousewheel: { + base: (Browser.firefox) ? 'DOMMouseScroll' : 'mousewheel' +}}; + +if ('onmouseenter' in document.documentElement){ + Element.NativeEvents.mouseenter = Element.NativeEvents.mouseleave = 2; +} else { + var check = function(event){ + var related = event.relatedTarget; + if (related == null) return true; + if (!related) return false; + return (related != this && related.prefix != 'xul' && typeOf(this) != 'document' && !this.contains(related)); + }; + + Element.Events.mouseenter = { + base: 'mouseover', + condition: check + }; + + Element.Events.mouseleave = { + base: 'mouseout', + condition: check + }; +} + +/**/ +if (!window.addEventListener){ + Element.NativeEvents.propertychange = 2; + Element.Events.change = { + base: function(){ + var type = this.type; + return (this.get('tag') == 'input' && (type == 'radio' || type == 'checkbox')) ? 'propertychange' : 'change' + }, + condition: function(event){ + return this.type != 'radio' || (event.event.propertyName == 'checked' && this.checked); + } + } +} +/**/ + + + +})(); + + +/* +--- + +name: Element.Delegation + +description: Extends the Element native object to include the delegate method for more efficient event management. + +license: MIT-style license. + +requires: [Element.Event] + +provides: [Element.Delegation] + +... +*/ + +(function(){ + +var eventListenerSupport = !!window.addEventListener; + +Element.NativeEvents.focusin = Element.NativeEvents.focusout = 2; + +var bubbleUp = function(self, match, fn, event, target){ + while (target && target != self){ + if (match(target, event)) return fn.call(target, event, target); + target = document.id(target.parentNode); + } +}; + +var map = { + mouseenter: { + base: 'mouseover' + }, + mouseleave: { + base: 'mouseout' + }, + focus: { + base: 'focus' + (eventListenerSupport ? '' : 'in'), + capture: true + }, + blur: { + base: eventListenerSupport ? 'blur' : 'focusout', + capture: true + } +}; + +/**/ +var _key = '$delegation:'; +var formObserver = function(type){ + + return { + + base: 'focusin', + + remove: function(self, uid){ + var list = self.retrieve(_key + type + 'listeners', {})[uid]; + if (list && list.forms) for (var i = list.forms.length; i--;){ + list.forms[i].removeEvent(type, list.fns[i]); + } + }, + + listen: function(self, match, fn, event, target, uid){ + var form = (target.get('tag') == 'form') ? target : event.target.getParent('form'); + if (!form) return; + + var listeners = self.retrieve(_key + type + 'listeners', {}), + listener = listeners[uid] || {forms: [], fns: []}, + forms = listener.forms, fns = listener.fns; + + if (forms.indexOf(form) != -1) return; + forms.push(form); + + var _fn = function(event){ + bubbleUp(self, match, fn, event, target); + }; + form.addEvent(type, _fn); + fns.push(_fn); + + listeners[uid] = listener; + self.store(_key + type + 'listeners', listeners); + } + }; +}; + +var inputObserver = function(type){ + return { + base: 'focusin', + listen: function(self, match, fn, event, target){ + var events = {blur: function(){ + this.removeEvents(events); + }}; + events[type] = function(event){ + bubbleUp(self, match, fn, event, target); + }; + event.target.addEvents(events); + } + }; +}; + +if (!eventListenerSupport) Object.append(map, { + submit: formObserver('submit'), + reset: formObserver('reset'), + change: inputObserver('change'), + select: inputObserver('select') +}); +/**/ + +var proto = Element.prototype, + addEvent = proto.addEvent, + removeEvent = proto.removeEvent; + +var relay = function(old, method){ + return function(type, fn, useCapture){ + if (type.indexOf(':relay') == -1) return old.call(this, type, fn, useCapture); + var parsed = Slick.parse(type).expressions[0][0]; + if (parsed.pseudos[0].key != 'relay') return old.call(this, type, fn, useCapture); + var newType = parsed.tag; + parsed.pseudos.slice(1).each(function(pseudo){ + newType += ':' + pseudo.key + (pseudo.value ? '(' + pseudo.value + ')' : ''); + }); + old.call(this, type, fn); + return method.call(this, newType, parsed.pseudos[0].value, fn); + }; +}; + +var delegation = { + + addEvent: function(type, match, fn){ + var storage = this.retrieve('$delegates', {}), stored = storage[type]; + if (stored) for (var _uid in stored){ + if (stored[_uid].fn == fn && stored[_uid].match == match) return this; + } + + var _type = type, _match = match, _fn = fn, _map = map[type] || {}; + type = _map.base || _type; + + match = function(target){ + return Slick.match(target, _match); + }; + + var elementEvent = Element.Events[_type]; + if (elementEvent && elementEvent.condition){ + var __match = match, condition = elementEvent.condition; + match = function(target, event){ + return __match(target, event) && condition.call(target, event, type); + }; + } + + var self = this, uid = String.uniqueID(); + var delegator = _map.listen ? function(event, target){ + if (!target && event && event.target) target = event.target; + if (target) _map.listen(self, match, fn, event, target, uid); + } : function(event, target){ + if (!target && event && event.target) target = event.target; + if (target) bubbleUp(self, match, fn, event, target); + }; + + if (!stored) stored = {}; + stored[uid] = { + match: _match, + fn: _fn, + delegator: delegator + }; + storage[_type] = stored; + return addEvent.call(this, type, delegator, _map.capture); + }, + + removeEvent: function(type, match, fn, _uid){ + var storage = this.retrieve('$delegates', {}), stored = storage[type]; + if (!stored) return this; + + if (_uid){ + var _type = type, delegator = stored[_uid].delegator, _map = map[type] || {}; + type = _map.base || _type; + if (_map.remove) _map.remove(this, _uid); + delete stored[_uid]; + storage[_type] = stored; + return removeEvent.call(this, type, delegator); + } + + var __uid, s; + if (fn) for (__uid in stored){ + s = stored[__uid]; + if (s.match == match && s.fn == fn) return delegation.removeEvent.call(this, type, match, fn, __uid); + } else for (__uid in stored){ + s = stored[__uid]; + if (s.match == match) delegation.removeEvent.call(this, type, match, s.fn, __uid); + } + return this; + } + +}; + +[Element, Window, Document].invoke('implement', { + addEvent: relay(addEvent, delegation.addEvent), + removeEvent: relay(removeEvent, delegation.removeEvent) +}); + +})(); + + +/* +--- + +name: Element.Dimensions + +description: Contains methods to work with size, scroll, or positioning of Elements and the window object. + +license: MIT-style license. + +credits: + - Element positioning based on the [qooxdoo](http://qooxdoo.org/) code and smart browser fixes, [LGPL License](http://www.gnu.org/licenses/lgpl.html). + - Viewport dimensions based on [YUI](http://developer.yahoo.com/yui/) code, [BSD License](http://developer.yahoo.com/yui/license.html). + +requires: [Element, Element.Style] + +provides: [Element.Dimensions] + +... +*/ + +(function(){ + +var element = document.createElement('div'), + child = document.createElement('div'); +element.style.height = '0'; +element.appendChild(child); +var brokenOffsetParent = (child.offsetParent === element); +element = child = null; + +var isOffset = function(el){ + return styleString(el, 'position') != 'static' || isBody(el); +}; + +var isOffsetStatic = function(el){ + return isOffset(el) || (/^(?:table|td|th)$/i).test(el.tagName); +}; + +Element.implement({ + + scrollTo: function(x, y){ + if (isBody(this)){ + this.getWindow().scrollTo(x, y); + } else { + this.scrollLeft = x; + this.scrollTop = y; + } + return this; + }, + + getSize: function(){ + if (isBody(this)) return this.getWindow().getSize(); + return {x: this.offsetWidth, y: this.offsetHeight}; + }, + + getScrollSize: function(){ + if (isBody(this)) return this.getWindow().getScrollSize(); + return {x: this.scrollWidth, y: this.scrollHeight}; + }, + + getScroll: function(){ + if (isBody(this)) return this.getWindow().getScroll(); + return {x: this.scrollLeft, y: this.scrollTop}; + }, + + getScrolls: function(){ + var element = this.parentNode, position = {x: 0, y: 0}; + while (element && !isBody(element)){ + position.x += element.scrollLeft; + position.y += element.scrollTop; + element = element.parentNode; + } + return position; + }, + + getOffsetParent: brokenOffsetParent ? function(){ + var element = this; + if (isBody(element) || styleString(element, 'position') == 'fixed') return null; + + var isOffsetCheck = (styleString(element, 'position') == 'static') ? isOffsetStatic : isOffset; + while ((element = element.parentNode)){ + if (isOffsetCheck(element)) return element; + } + return null; + } : function(){ + var element = this; + if (isBody(element) || styleString(element, 'position') == 'fixed') return null; + + try { + return element.offsetParent; + } catch(e) {} + return null; + }, + + getOffsets: function(){ + if (this.getBoundingClientRect && !Browser.Platform.ios){ + var bound = this.getBoundingClientRect(), + html = document.id(this.getDocument().documentElement), + htmlScroll = html.getScroll(), + elemScrolls = this.getScrolls(), + isFixed = (styleString(this, 'position') == 'fixed'); + + return { + x: bound.left.toInt() + elemScrolls.x + ((isFixed) ? 0 : htmlScroll.x) - html.clientLeft, + y: bound.top.toInt() + elemScrolls.y + ((isFixed) ? 0 : htmlScroll.y) - html.clientTop + }; + } + + var element = this, position = {x: 0, y: 0}; + if (isBody(this)) return position; + + while (element && !isBody(element)){ + position.x += element.offsetLeft; + position.y += element.offsetTop; + + if (Browser.firefox){ + if (!borderBox(element)){ + position.x += leftBorder(element); + position.y += topBorder(element); + } + var parent = element.parentNode; + if (parent && styleString(parent, 'overflow') != 'visible'){ + position.x += leftBorder(parent); + position.y += topBorder(parent); + } + } else if (element != this && Browser.safari){ + position.x += leftBorder(element); + position.y += topBorder(element); + } + + element = element.offsetParent; + } + if (Browser.firefox && !borderBox(this)){ + position.x -= leftBorder(this); + position.y -= topBorder(this); + } + return position; + }, + + getPosition: function(relative){ + var offset = this.getOffsets(), + scroll = this.getScrolls(); + var position = { + x: offset.x - scroll.x, + y: offset.y - scroll.y + }; + + if (relative && (relative = document.id(relative))){ + var relativePosition = relative.getPosition(); + return {x: position.x - relativePosition.x - leftBorder(relative), y: position.y - relativePosition.y - topBorder(relative)}; + } + return position; + }, + + getCoordinates: function(element){ + if (isBody(this)) return this.getWindow().getCoordinates(); + var position = this.getPosition(element), + size = this.getSize(); + var obj = { + left: position.x, + top: position.y, + width: size.x, + height: size.y + }; + obj.right = obj.left + obj.width; + obj.bottom = obj.top + obj.height; + return obj; + }, + + computePosition: function(obj){ + return { + left: obj.x - styleNumber(this, 'margin-left'), + top: obj.y - styleNumber(this, 'margin-top') + }; + }, + + setPosition: function(obj){ + return this.setStyles(this.computePosition(obj)); + } + +}); + + +[Document, Window].invoke('implement', { + + getSize: function(){ + var doc = getCompatElement(this); + return {x: doc.clientWidth, y: doc.clientHeight}; + }, + + getScroll: function(){ + var win = this.getWindow(), doc = getCompatElement(this); + return {x: win.pageXOffset || doc.scrollLeft, y: win.pageYOffset || doc.scrollTop}; + }, + + getScrollSize: function(){ + var doc = getCompatElement(this), + min = this.getSize(), + body = this.getDocument().body; + + return {x: Math.max(doc.scrollWidth, body.scrollWidth, min.x), y: Math.max(doc.scrollHeight, body.scrollHeight, min.y)}; + }, + + getPosition: function(){ + return {x: 0, y: 0}; + }, + + getCoordinates: function(){ + var size = this.getSize(); + return {top: 0, left: 0, bottom: size.y, right: size.x, height: size.y, width: size.x}; + } + +}); + +// private methods + +var styleString = Element.getComputedStyle; + +function styleNumber(element, style){ + return styleString(element, style).toInt() || 0; +} + +function borderBox(element){ + return styleString(element, '-moz-box-sizing') == 'border-box'; +} + +function topBorder(element){ + return styleNumber(element, 'border-top-width'); +} + +function leftBorder(element){ + return styleNumber(element, 'border-left-width'); +} + +function isBody(element){ + return (/^(?:body|html)$/i).test(element.tagName); +} + +function getCompatElement(element){ + var doc = element.getDocument(); + return (!doc.compatMode || doc.compatMode == 'CSS1Compat') ? doc.html : doc.body; +} + +})(); + +//aliases +Element.alias({position: 'setPosition'}); //compatability + +[Window, Document, Element].invoke('implement', { + + getHeight: function(){ + return this.getSize().y; + }, + + getWidth: function(){ + return this.getSize().x; + }, + + getScrollTop: function(){ + return this.getScroll().y; + }, + + getScrollLeft: function(){ + return this.getScroll().x; + }, + + getScrollHeight: function(){ + return this.getScrollSize().y; + }, + + getScrollWidth: function(){ + return this.getScrollSize().x; + }, + + getTop: function(){ + return this.getPosition().y; + }, + + getLeft: function(){ + return this.getPosition().x; + } + +}); + + +/* +--- + +name: Fx + +description: Contains the basic animation logic to be extended by all other Fx Classes. + +license: MIT-style license. + +requires: [Chain, Events, Options] + +provides: Fx + +... +*/ + +(function(){ + +var Fx = this.Fx = new Class({ + + Implements: [Chain, Events, Options], + + options: { + /* + onStart: nil, + onCancel: nil, + onComplete: nil, + */ + fps: 60, + unit: false, + duration: 500, + frames: null, + frameSkip: true, + link: 'ignore' + }, + + initialize: function(options){ + this.subject = this.subject || this; + this.setOptions(options); + }, + + getTransition: function(){ + return function(p){ + return -(Math.cos(Math.PI * p) - 1) / 2; + }; + }, + + step: function(now){ + if (this.options.frameSkip){ + var diff = (this.time != null) ? (now - this.time) : 0, frames = diff / this.frameInterval; + this.time = now; + this.frame += frames; + } else { + this.frame++; + } + + if (this.frame < this.frames){ + var delta = this.transition(this.frame / this.frames); + this.set(this.compute(this.from, this.to, delta)); + } else { + this.frame = this.frames; + this.set(this.compute(this.from, this.to, 1)); + this.stop(); + } + }, + + set: function(now){ + return now; + }, + + compute: function(from, to, delta){ + return Fx.compute(from, to, delta); + }, + + check: function(){ + if (!this.isRunning()) return true; + switch (this.options.link){ + case 'cancel': this.cancel(); return true; + case 'chain': this.chain(this.caller.pass(arguments, this)); return false; + } + return false; + }, + + start: function(from, to){ + if (!this.check(from, to)) return this; + this.from = from; + this.to = to; + this.frame = (this.options.frameSkip) ? 0 : -1; + this.time = null; + this.transition = this.getTransition(); + var frames = this.options.frames, fps = this.options.fps, duration = this.options.duration; + this.duration = Fx.Durations[duration] || duration.toInt(); + this.frameInterval = 1000 / fps; + this.frames = frames || Math.round(this.duration / this.frameInterval); + this.fireEvent('start', this.subject); + pushInstance.call(this, fps); + return this; + }, + + stop: function(){ + if (this.isRunning()){ + this.time = null; + pullInstance.call(this, this.options.fps); + if (this.frames == this.frame){ + this.fireEvent('complete', this.subject); + if (!this.callChain()) this.fireEvent('chainComplete', this.subject); + } else { + this.fireEvent('stop', this.subject); + } + } + return this; + }, + + cancel: function(){ + if (this.isRunning()){ + this.time = null; + pullInstance.call(this, this.options.fps); + this.frame = this.frames; + this.fireEvent('cancel', this.subject).clearChain(); + } + return this; + }, + + pause: function(){ + if (this.isRunning()){ + this.time = null; + pullInstance.call(this, this.options.fps); + } + return this; + }, + + resume: function(){ + if ((this.frame < this.frames) && !this.isRunning()) pushInstance.call(this, this.options.fps); + return this; + }, + + isRunning: function(){ + var list = instances[this.options.fps]; + return list && list.contains(this); + } + +}); + +Fx.compute = function(from, to, delta){ + return (to - from) * delta + from; +}; + +Fx.Durations = {'short': 250, 'normal': 500, 'long': 1000}; + +// global timers + +var instances = {}, timers = {}; + +var loop = function(){ + var now = Date.now(); + for (var i = this.length; i--;){ + var instance = this[i]; + if (instance) instance.step(now); + } +}; + +var pushInstance = function(fps){ + var list = instances[fps] || (instances[fps] = []); + list.push(this); + if (!timers[fps]) timers[fps] = loop.periodical(Math.round(1000 / fps), list); +}; + +var pullInstance = function(fps){ + var list = instances[fps]; + if (list){ + list.erase(this); + if (!list.length && timers[fps]){ + delete instances[fps]; + timers[fps] = clearInterval(timers[fps]); + } + } +}; + +})(); + + +/* +--- + +name: Fx.CSS + +description: Contains the CSS animation logic. Used by Fx.Tween, Fx.Morph, Fx.Elements. + +license: MIT-style license. + +requires: [Fx, Element.Style] + +provides: Fx.CSS + +... +*/ + +Fx.CSS = new Class({ + + Extends: Fx, + + //prepares the base from/to object + + prepare: function(element, property, values){ + values = Array.from(values); + var from = values[0], to = values[1]; + if (to == null){ + to = from; + from = element.getStyle(property); + var unit = this.options.unit; + // adapted from: https://github.com/ryanmorr/fx/blob/master/fx.js#L299 + if (unit && from.slice(-unit.length) != unit && parseFloat(from) != 0){ + element.setStyle(property, to + unit); + var value = element.getComputedStyle(property); + // IE and Opera support pixelLeft or pixelWidth + if (!(/px$/.test(value))){ + value = element.style[('pixel-' + property).camelCase()]; + if (value == null){ + // adapted from Dean Edwards' http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291 + var left = element.style.left; + element.style.left = to + unit; + value = element.style.pixelLeft; + element.style.left = left; + } + } + from = (to || 1) / (parseFloat(value) || 1) * (parseFloat(from) || 0); + element.setStyle(property, from + unit); + } + } + return {from: this.parse(from), to: this.parse(to)}; + }, + + //parses a value into an array + + parse: function(value){ + value = Function.from(value)(); + value = (typeof value == 'string') ? value.split(' ') : Array.from(value); + return value.map(function(val){ + val = String(val); + var found = false; + Object.each(Fx.CSS.Parsers, function(parser, key){ + if (found) return; + var parsed = parser.parse(val); + if (parsed || parsed === 0) found = {value: parsed, parser: parser}; + }); + found = found || {value: val, parser: Fx.CSS.Parsers.String}; + return found; + }); + }, + + //computes by a from and to prepared objects, using their parsers. + + compute: function(from, to, delta){ + var computed = []; + (Math.min(from.length, to.length)).times(function(i){ + computed.push({value: from[i].parser.compute(from[i].value, to[i].value, delta), parser: from[i].parser}); + }); + computed.$family = Function.from('fx:css:value'); + return computed; + }, + + //serves the value as settable + + serve: function(value, unit){ + if (typeOf(value) != 'fx:css:value') value = this.parse(value); + var returned = []; + value.each(function(bit){ + returned = returned.concat(bit.parser.serve(bit.value, unit)); + }); + return returned; + }, + + //renders the change to an element + + render: function(element, property, value, unit){ + element.setStyle(property, this.serve(value, unit)); + }, + + //searches inside the page css to find the values for a selector + + search: function(selector){ + if (Fx.CSS.Cache[selector]) return Fx.CSS.Cache[selector]; + var to = {}, selectorTest = new RegExp('^' + selector.escapeRegExp() + '$'); + Array.each(document.styleSheets, function(sheet, j){ + var href = sheet.href; + if (href && href.contains('://') && !href.contains(document.domain)) return; + var rules = sheet.rules || sheet.cssRules; + Array.each(rules, function(rule, i){ + if (!rule.style) return; + var selectorText = (rule.selectorText) ? rule.selectorText.replace(/^\w+/, function(m){ + return m.toLowerCase(); + }) : null; + if (!selectorText || !selectorTest.test(selectorText)) return; + Object.each(Element.Styles, function(value, style){ + if (!rule.style[style] || Element.ShortStyles[style]) return; + value = String(rule.style[style]); + to[style] = ((/^rgb/).test(value)) ? value.rgbToHex() : value; + }); + }); + }); + return Fx.CSS.Cache[selector] = to; + } + +}); + +Fx.CSS.Cache = {}; + +Fx.CSS.Parsers = { + + Color: { + parse: function(value){ + if (value.match(/^#[0-9a-f]{3,6}$/i)) return value.hexToRgb(true); + return ((value = value.match(/(\d+),\s*(\d+),\s*(\d+)/))) ? [value[1], value[2], value[3]] : false; + }, + compute: function(from, to, delta){ + return from.map(function(value, i){ + return Math.round(Fx.compute(from[i], to[i], delta)); + }); + }, + serve: function(value){ + return value.map(Number); + } + }, + + Number: { + parse: parseFloat, + compute: Fx.compute, + serve: function(value, unit){ + return (unit) ? value + unit : value; + } + }, + + String: { + parse: Function.from(false), + compute: function(zero, one){ + return one; + }, + serve: function(zero){ + return zero; + } + } + +}; + + + + +/* +--- + +name: Fx.Tween + +description: Formerly Fx.Style, effect to transition any CSS property for an element. + +license: MIT-style license. + +requires: Fx.CSS + +provides: [Fx.Tween, Element.fade, Element.highlight] + +... +*/ + +Fx.Tween = new Class({ + + Extends: Fx.CSS, + + initialize: function(element, options){ + this.element = this.subject = document.id(element); + this.parent(options); + }, + + set: function(property, now){ + if (arguments.length == 1){ + now = property; + property = this.property || this.options.property; + } + this.render(this.element, property, now, this.options.unit); + return this; + }, + + start: function(property, from, to){ + if (!this.check(property, from, to)) return this; + var args = Array.flatten(arguments); + this.property = this.options.property || args.shift(); + var parsed = this.prepare(this.element, this.property, args); + return this.parent(parsed.from, parsed.to); + } + +}); + +Element.Properties.tween = { + + set: function(options){ + this.get('tween').cancel().setOptions(options); + return this; + }, + + get: function(){ + var tween = this.retrieve('tween'); + if (!tween){ + tween = new Fx.Tween(this, {link: 'cancel'}); + this.store('tween', tween); + } + return tween; + } + +}; + +Element.implement({ + + tween: function(property, from, to){ + this.get('tween').start(property, from, to); + return this; + }, + + fade: function(how){ + var fade = this.get('tween'), method, args = ['opacity'].append(arguments), toggle; + if (args[1] == null) args[1] = 'toggle'; + switch (args[1]){ + case 'in': method = 'start'; args[1] = 1; break; + case 'out': method = 'start'; args[1] = 0; break; + case 'show': method = 'set'; args[1] = 1; break; + case 'hide': method = 'set'; args[1] = 0; break; + case 'toggle': + var flag = this.retrieve('fade:flag', this.getStyle('opacity') == 1); + method = 'start'; + args[1] = flag ? 0 : 1; + this.store('fade:flag', !flag); + toggle = true; + break; + default: method = 'start'; + } + if (!toggle) this.eliminate('fade:flag'); + fade[method].apply(fade, args); + var to = args[args.length - 1]; + if (method == 'set' || to != 0) this.setStyle('visibility', to == 0 ? 'hidden' : 'visible'); + else fade.chain(function(){ + this.element.setStyle('visibility', 'hidden'); + this.callChain(); + }); + return this; + }, + + highlight: function(start, end){ + if (!end){ + end = this.retrieve('highlight:original', this.getStyle('background-color')); + end = (end == 'transparent') ? '#fff' : end; + } + var tween = this.get('tween'); + tween.start('background-color', start || '#ffff88', end).chain(function(){ + this.setStyle('background-color', this.retrieve('highlight:original')); + tween.callChain(); + }.bind(this)); + return this; + } + +}); + + +/* +--- + +name: Fx.Morph + +description: Formerly Fx.Styles, effect to transition any number of CSS properties for an element using an object of rules, or CSS based selector rules. + +license: MIT-style license. + +requires: Fx.CSS + +provides: Fx.Morph + +... +*/ + +Fx.Morph = new Class({ + + Extends: Fx.CSS, + + initialize: function(element, options){ + this.element = this.subject = document.id(element); + this.parent(options); + }, + + set: function(now){ + if (typeof now == 'string') now = this.search(now); + for (var p in now) this.render(this.element, p, now[p], this.options.unit); + return this; + }, + + compute: function(from, to, delta){ + var now = {}; + for (var p in from) now[p] = this.parent(from[p], to[p], delta); + return now; + }, + + start: function(properties){ + if (!this.check(properties)) return this; + if (typeof properties == 'string') properties = this.search(properties); + var from = {}, to = {}; + for (var p in properties){ + var parsed = this.prepare(this.element, p, properties[p]); + from[p] = parsed.from; + to[p] = parsed.to; + } + return this.parent(from, to); + } + +}); + +Element.Properties.morph = { + + set: function(options){ + this.get('morph').cancel().setOptions(options); + return this; + }, + + get: function(){ + var morph = this.retrieve('morph'); + if (!morph){ + morph = new Fx.Morph(this, {link: 'cancel'}); + this.store('morph', morph); + } + return morph; + } + +}; + +Element.implement({ + + morph: function(props){ + this.get('morph').start(props); + return this; + } + +}); + + +/* +--- + +name: Fx.Transitions + +description: Contains a set of advanced transitions to be used with any of the Fx Classes. + +license: MIT-style license. + +credits: + - Easing Equations by Robert Penner, , modified and optimized to be used with MooTools. + +requires: Fx + +provides: Fx.Transitions + +... +*/ + +Fx.implement({ + + getTransition: function(){ + var trans = this.options.transition || Fx.Transitions.Sine.easeInOut; + if (typeof trans == 'string'){ + var data = trans.split(':'); + trans = Fx.Transitions; + trans = trans[data[0]] || trans[data[0].capitalize()]; + if (data[1]) trans = trans['ease' + data[1].capitalize() + (data[2] ? data[2].capitalize() : '')]; + } + return trans; + } + +}); + +Fx.Transition = function(transition, params){ + params = Array.from(params); + var easeIn = function(pos){ + return transition(pos, params); + }; + return Object.append(easeIn, { + easeIn: easeIn, + easeOut: function(pos){ + return 1 - transition(1 - pos, params); + }, + easeInOut: function(pos){ + return (pos <= 0.5 ? transition(2 * pos, params) : (2 - transition(2 * (1 - pos), params))) / 2; + } + }); +}; + +Fx.Transitions = { + + linear: function(zero){ + return zero; + } + +}; + + + +Fx.Transitions.extend = function(transitions){ + for (var transition in transitions) Fx.Transitions[transition] = new Fx.Transition(transitions[transition]); +}; + +Fx.Transitions.extend({ + + Pow: function(p, x){ + return Math.pow(p, x && x[0] || 6); + }, + + Expo: function(p){ + return Math.pow(2, 8 * (p - 1)); + }, + + Circ: function(p){ + return 1 - Math.sin(Math.acos(p)); + }, + + Sine: function(p){ + return 1 - Math.cos(p * Math.PI / 2); + }, + + Back: function(p, x){ + x = x && x[0] || 1.618; + return Math.pow(p, 2) * ((x + 1) * p - x); + }, + + Bounce: function(p){ + var value; + for (var a = 0, b = 1; 1; a += b, b /= 2){ + if (p >= (7 - 4 * a) / 11){ + value = b * b - Math.pow((11 - 6 * a - 11 * p) / 4, 2); + break; + } + } + return value; + }, + + Elastic: function(p, x){ + return Math.pow(2, 10 * --p) * Math.cos(20 * p * Math.PI * (x && x[0] || 1) / 3); + } + +}); + +['Quad', 'Cubic', 'Quart', 'Quint'].each(function(transition, i){ + Fx.Transitions[transition] = new Fx.Transition(function(p){ + return Math.pow(p, i + 2); + }); +}); + + +/* +--- + +name: Request + +description: Powerful all purpose Request Class. Uses XMLHTTPRequest. + +license: MIT-style license. + +requires: [Object, Element, Chain, Events, Options, Browser] + +provides: Request + +... +*/ + +(function(){ + +var empty = function(){}, + progressSupport = ('onprogress' in new Browser.Request); + +var Request = this.Request = new Class({ + + Implements: [Chain, Events, Options], + + options: {/* + onRequest: function(){}, + onLoadstart: function(event, xhr){}, + onProgress: function(event, xhr){}, + onComplete: function(){}, + onCancel: function(){}, + onSuccess: function(responseText, responseXML){}, + onFailure: function(xhr){}, + onException: function(headerName, value){}, + onTimeout: function(){}, + user: '', + password: '',*/ + url: '', + data: '', + headers: { + 'X-Requested-With': 'XMLHttpRequest', + 'Accept': 'text/javascript, text/html, application/xml, text/xml, */*' + }, + async: true, + format: false, + method: 'post', + link: 'ignore', + isSuccess: null, + emulation: true, + urlEncoded: true, + encoding: 'utf-8', + evalScripts: false, + evalResponse: false, + timeout: 0, + noCache: false + }, + + initialize: function(options){ + this.xhr = new Browser.Request(); + this.setOptions(options); + this.headers = this.options.headers; + }, + + onStateChange: function(){ + var xhr = this.xhr; + if (xhr.readyState != 4 || !this.running) return; + this.running = false; + this.status = 0; + Function.attempt(function(){ + var status = xhr.status; + this.status = (status == 1223) ? 204 : status; + }.bind(this)); + xhr.onreadystatechange = empty; + if (progressSupport) xhr.onprogress = xhr.onloadstart = empty; + clearTimeout(this.timer); + + this.response = {text: this.xhr.responseText || '', xml: this.xhr.responseXML}; + if (this.options.isSuccess.call(this, this.status)) + this.success(this.response.text, this.response.xml); + else + this.failure(); + }, + + isSuccess: function(){ + var status = this.status; + return (status >= 200 && status < 300); + }, + + isRunning: function(){ + return !!this.running; + }, + + processScripts: function(text){ + if (this.options.evalResponse || (/(ecma|java)script/).test(this.getHeader('Content-type'))) return Browser.exec(text); + return text.stripScripts(this.options.evalScripts); + }, + + success: function(text, xml){ + this.onSuccess(this.processScripts(text), xml); + }, + + onSuccess: function(){ + this.fireEvent('complete', arguments).fireEvent('success', arguments).callChain(); + }, + + failure: function(){ + this.onFailure(); + }, + + onFailure: function(){ + this.fireEvent('complete').fireEvent('failure', this.xhr); + }, + + loadstart: function(event){ + this.fireEvent('loadstart', [event, this.xhr]); + }, + + progress: function(event){ + this.fireEvent('progress', [event, this.xhr]); + }, + + timeout: function(){ + this.fireEvent('timeout', this.xhr); + }, + + setHeader: function(name, value){ + this.headers[name] = value; + return this; + }, + + getHeader: function(name){ + return Function.attempt(function(){ + return this.xhr.getResponseHeader(name); + }.bind(this)); + }, + + check: function(){ + if (!this.running) return true; + switch (this.options.link){ + case 'cancel': this.cancel(); return true; + case 'chain': this.chain(this.caller.pass(arguments, this)); return false; + } + return false; + }, + + send: function(options){ + if (!this.check(options)) return this; + + this.options.isSuccess = this.options.isSuccess || this.isSuccess; + this.running = true; + + var type = typeOf(options); + if (type == 'string' || type == 'element') options = {data: options}; + + var old = this.options; + options = Object.append({data: old.data, url: old.url, method: old.method}, options); + var data = options.data, url = String(options.url), method = options.method.toLowerCase(); + + switch (typeOf(data)){ + case 'element': data = document.id(data).toQueryString(); break; + case 'object': case 'hash': data = Object.toQueryString(data); + } + + if (this.options.format){ + var format = 'format=' + this.options.format; + data = (data) ? format + '&' + data : format; + } + + if (this.options.emulation && !['get', 'post'].contains(method)){ + var _method = '_method=' + method; + data = (data) ? _method + '&' + data : _method; + method = 'post'; + } + + if (this.options.urlEncoded && ['post', 'put'].contains(method)){ + var encoding = (this.options.encoding) ? '; charset=' + this.options.encoding : ''; + this.headers['Content-type'] = 'application/x-www-form-urlencoded' + encoding; + } + + if (!url) url = document.location.pathname; + + var trimPosition = url.lastIndexOf('/'); + if (trimPosition > -1 && (trimPosition = url.indexOf('#')) > -1) url = url.substr(0, trimPosition); + + if (this.options.noCache) + url += (url.contains('?') ? '&' : '?') + String.uniqueID(); + + if (data && method == 'get'){ + url += (url.contains('?') ? '&' : '?') + data; + data = null; + } + + var xhr = this.xhr; + if (progressSupport){ + xhr.onloadstart = this.loadstart.bind(this); + xhr.onprogress = this.progress.bind(this); + } + + xhr.open(method.toUpperCase(), url, this.options.async, this.options.user, this.options.password); + if (this.options.user && 'withCredentials' in xhr) xhr.withCredentials = true; + + xhr.onreadystatechange = this.onStateChange.bind(this); + + Object.each(this.headers, function(value, key){ + try { + xhr.setRequestHeader(key, value); + } catch (e){ + this.fireEvent('exception', [key, value]); + } + }, this); + + this.fireEvent('request'); + xhr.send(data); + if (!this.options.async) this.onStateChange(); + else if (this.options.timeout) this.timer = this.timeout.delay(this.options.timeout, this); + return this; + }, + + cancel: function(){ + if (!this.running) return this; + this.running = false; + var xhr = this.xhr; + xhr.abort(); + clearTimeout(this.timer); + xhr.onreadystatechange = empty; + if (progressSupport) xhr.onprogress = xhr.onloadstart = empty; + this.xhr = new Browser.Request(); + this.fireEvent('cancel'); + return this; + } + +}); + +var methods = {}; +['get', 'post', 'put', 'delete', 'GET', 'POST', 'PUT', 'DELETE'].each(function(method){ + methods[method] = function(data){ + var object = { + method: method + }; + if (data != null) object.data = data; + return this.send(object); + }; +}); + +Request.implement(methods); + +Element.Properties.send = { + + set: function(options){ + var send = this.get('send').cancel(); + send.setOptions(options); + return this; + }, + + get: function(){ + var send = this.retrieve('send'); + if (!send){ + send = new Request({ + data: this, link: 'cancel', method: this.get('method') || 'post', url: this.get('action') + }); + this.store('send', send); + } + return send; + } + +}; + +Element.implement({ + + send: function(url){ + var sender = this.get('send'); + sender.send({data: this, url: url || sender.options.url}); + return this; + } + +}); + +})(); + + +/* +--- + +name: Request.HTML + +description: Extends the basic Request Class with additional methods for interacting with HTML responses. + +license: MIT-style license. + +requires: [Element, Request] + +provides: Request.HTML + +... +*/ + +Request.HTML = new Class({ + + Extends: Request, + + options: { + update: false, + append: false, + evalScripts: true, + filter: false, + headers: { + Accept: 'text/html, application/xml, text/xml, */*' + } + }, + + success: function(text){ + var options = this.options, response = this.response; + + response.html = text.stripScripts(function(script){ + response.javascript = script; + }); + + var match = response.html.match(/]*>([\s\S]*?)<\/body>/i); + if (match) response.html = match[1]; + var temp = new Element('div').set('html', response.html); + + response.tree = temp.childNodes; + response.elements = temp.getElements(options.filter || '*'); + + if (options.filter) response.tree = response.elements; + if (options.update){ + var update = document.id(options.update).empty(); + if (options.filter) update.adopt(response.elements); + else update.set('html', response.html); + } else if (options.append){ + var append = document.id(options.append); + if (options.filter) response.elements.reverse().inject(append); + else append.adopt(temp.getChildren()); + } + if (options.evalScripts) Browser.exec(response.javascript); + + this.onSuccess(response.tree, response.elements, response.html, response.javascript); + } + +}); + +Element.Properties.load = { + + set: function(options){ + var load = this.get('load').cancel(); + load.setOptions(options); + return this; + }, + + get: function(){ + var load = this.retrieve('load'); + if (!load){ + load = new Request.HTML({data: this, link: 'cancel', update: this, method: 'get'}); + this.store('load', load); + } + return load; + } + +}; + +Element.implement({ + + load: function(){ + this.get('load').send(Array.link(arguments, {data: Type.isObject, url: Type.isString})); + return this; + } + +}); + + +/* +--- + +name: JSON + +description: JSON encoder and decoder. + +license: MIT-style license. + +SeeAlso: + +requires: [Array, String, Number, Function] + +provides: JSON + +... +*/ + +if (typeof JSON == 'undefined') this.JSON = {}; + + + +(function(){ + +var special = {'\b': '\\b', '\t': '\\t', '\n': '\\n', '\f': '\\f', '\r': '\\r', '"' : '\\"', '\\': '\\\\'}; + +var escape = function(chr){ + return special[chr] || '\\u' + ('0000' + chr.charCodeAt(0).toString(16)).slice(-4); +}; + +JSON.validate = function(string){ + string = string.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@'). + replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']'). + replace(/(?:^|:|,)(?:\s*\[)+/g, ''); + + return (/^[\],:{}\s]*$/).test(string); +}; + +JSON.encode = JSON.stringify ? function(obj){ + return JSON.stringify(obj); +} : function(obj){ + if (obj && obj.toJSON) obj = obj.toJSON(); + + switch (typeOf(obj)){ + case 'string': + return '"' + obj.replace(/[\x00-\x1f\\"]/g, escape) + '"'; + case 'array': + return '[' + obj.map(JSON.encode).clean() + ']'; + case 'object': case 'hash': + var string = []; + Object.each(obj, function(value, key){ + var json = JSON.encode(value); + if (json) string.push(JSON.encode(key) + ':' + json); + }); + return '{' + string + '}'; + case 'number': case 'boolean': return '' + obj; + case 'null': return 'null'; + } + + return null; +}; + +JSON.decode = function(string, secure){ + if (!string || typeOf(string) != 'string') return null; + + if (secure || JSON.secure){ + if (JSON.parse) return JSON.parse(string); + if (!JSON.validate(string)) throw new Error('JSON could not decode the input; security is enabled and the value is not secure.'); + } + + return eval('(' + string + ')'); +}; + +})(); + + +/* +--- + +name: Request.JSON + +description: Extends the basic Request Class with additional methods for sending and receiving JSON data. + +license: MIT-style license. + +requires: [Request, JSON] + +provides: Request.JSON + +... +*/ + +Request.JSON = new Class({ + + Extends: Request, + + options: { + /*onError: function(text, error){},*/ + secure: true + }, + + initialize: function(options){ + this.parent(options); + Object.append(this.headers, { + 'Accept': 'application/json', + 'X-Request': 'JSON' + }); + }, + + success: function(text){ + var json; + try { + json = this.response.json = JSON.decode(text, this.options.secure); + } catch (error){ + this.fireEvent('error', [text, error]); + return; + } + if (json == null) this.onFailure(); + else this.onSuccess(json, text); + } + +}); + + +/* +--- + +name: Cookie + +description: Class for creating, reading, and deleting browser Cookies. + +license: MIT-style license. + +credits: + - Based on the functions by Peter-Paul Koch (http://quirksmode.org). + +requires: [Options, Browser] + +provides: Cookie + +... +*/ + +var Cookie = new Class({ + + Implements: Options, + + options: { + path: '/', + domain: false, + duration: false, + secure: false, + document: document, + encode: true + }, + + initialize: function(key, options){ + this.key = key; + this.setOptions(options); + }, + + write: function(value){ + if (this.options.encode) value = encodeURIComponent(value); + if (this.options.domain) value += '; domain=' + this.options.domain; + if (this.options.path) value += '; path=' + this.options.path; + if (this.options.duration){ + var date = new Date(); + date.setTime(date.getTime() + this.options.duration * 24 * 60 * 60 * 1000); + value += '; expires=' + date.toGMTString(); + } + if (this.options.secure) value += '; secure'; + this.options.document.cookie = this.key + '=' + value; + return this; + }, + + read: function(){ + var value = this.options.document.cookie.match('(?:^|;)\\s*' + this.key.escapeRegExp() + '=([^;]*)'); + return (value) ? decodeURIComponent(value[1]) : null; + }, + + dispose: function(){ + new Cookie(this.key, Object.merge({}, this.options, {duration: -1})).write(''); + return this; + } + +}); + +Cookie.write = function(key, value, options){ + return new Cookie(key, options).write(value); +}; + +Cookie.read = function(key){ + return new Cookie(key).read(); +}; + +Cookie.dispose = function(key, options){ + return new Cookie(key, options).dispose(); +}; + + +/* +--- + +name: DOMReady + +description: Contains the custom event domready. + +license: MIT-style license. + +requires: [Browser, Element, Element.Event] + +provides: [DOMReady, DomReady] + +... +*/ + +(function(window, document){ + +var ready, + loaded, + checks = [], + shouldPoll, + timer, + testElement = document.createElement('div'); + +var domready = function(){ + clearTimeout(timer); + if (ready) return; + Browser.loaded = ready = true; + document.removeListener('DOMContentLoaded', domready).removeListener('readystatechange', check); + + document.fireEvent('domready'); + window.fireEvent('domready'); +}; + +var check = function(){ + for (var i = checks.length; i--;) if (checks[i]()){ + domready(); + return true; + } + return false; +}; + +var poll = function(){ + clearTimeout(timer); + if (!check()) timer = setTimeout(poll, 10); +}; + +document.addListener('DOMContentLoaded', domready); + +/**/ +// doScroll technique by Diego Perini http://javascript.nwbox.com/IEContentLoaded/ +// testElement.doScroll() throws when the DOM is not ready, only in the top window +var doScrollWorks = function(){ + try { + testElement.doScroll(); + return true; + } catch (e){} + return false; +}; +// If doScroll works already, it can't be used to determine domready +// e.g. in an iframe +if (testElement.doScroll && !doScrollWorks()){ + checks.push(doScrollWorks); + shouldPoll = true; +} +/**/ + +if (document.readyState) checks.push(function(){ + var state = document.readyState; + return (state == 'loaded' || state == 'complete'); +}); + +if ('onreadystatechange' in document) document.addListener('readystatechange', check); +else shouldPoll = true; + +if (shouldPoll) poll(); + +Element.Events.domready = { + onAdd: function(fn){ + if (ready) fn.call(this); + } +}; + +// Make sure that domready fires before load +Element.Events.load = { + base: 'load', + onAdd: function(fn){ + if (loaded && this == window) fn.call(this); + }, + condition: function(){ + if (this == window){ + domready(); + delete Element.Events.load; + } + return true; + } +}; + +// This is based on the custom load event +window.addEvent('load', function(){ + loaded = true; +}); + +})(window, document); + + +/* +--- + +name: Swiff + +description: Wrapper for embedding SWF movies. Supports External Interface Communication. + +license: MIT-style license. + +credits: + - Flash detection & Internet Explorer + Flash Player 9 fix inspired by SWFObject. + +requires: [Options, Object, Element] + +provides: Swiff + +... +*/ + +(function(){ + +var Swiff = this.Swiff = new Class({ + + Implements: Options, + + options: { + id: null, + height: 1, + width: 1, + container: null, + properties: {}, + params: { + quality: 'high', + allowScriptAccess: 'always', + wMode: 'window', + swLiveConnect: true + }, + callBacks: {}, + vars: {} + }, + + toElement: function(){ + return this.object; + }, + + initialize: function(path, options){ + this.instance = 'Swiff_' + String.uniqueID(); + + this.setOptions(options); + options = this.options; + var id = this.id = options.id || this.instance; + var container = document.id(options.container); + + Swiff.CallBacks[this.instance] = {}; + + var params = options.params, vars = options.vars, callBacks = options.callBacks; + var properties = Object.append({height: options.height, width: options.width}, options.properties); + + var self = this; + + for (var callBack in callBacks){ + Swiff.CallBacks[this.instance][callBack] = (function(option){ + return function(){ + return option.apply(self.object, arguments); + }; + })(callBacks[callBack]); + vars[callBack] = 'Swiff.CallBacks.' + this.instance + '.' + callBack; + } + + params.flashVars = Object.toQueryString(vars); + if (Browser.ie){ + properties.classid = 'clsid:D27CDB6E-AE6D-11cf-96B8-444553540000'; + params.movie = path; + } else { + properties.type = 'application/x-shockwave-flash'; + } + properties.data = path; + + var build = ''; + } + build += ''; + this.object = ((container) ? container.empty() : new Element('div')).set('html', build).firstChild; + }, + + replaces: function(element){ + element = document.id(element, true); + element.parentNode.replaceChild(this.toElement(), element); + return this; + }, + + inject: function(element){ + document.id(element, true).appendChild(this.toElement()); + return this; + }, + + remote: function(){ + return Swiff.remote.apply(Swiff, [this.toElement()].append(arguments)); + } + +}); + +Swiff.CallBacks = {}; + +Swiff.remote = function(obj, fn){ + var rs = obj.CallFunction('' + __flash__argumentsToXML(arguments, 2) + ''); + return eval(rs); +}; + +})(); + diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/files/prototype.js b/alt-implementations/readifry-master/hyphenator/testsuite/files/prototype.js new file mode 100644 index 0000000..8219200 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/files/prototype.js @@ -0,0 +1,7036 @@ +/* Prototype JavaScript framework, version 1.7.1 + * (c) 2005-2010 Sam Stephenson + * + * Prototype is freely distributable under the terms of an MIT-style license. + * For details, see the Prototype web site: http://www.prototypejs.org/ + * + *--------------------------------------------------------------------------*/ + +var Prototype = { + + Version: '1.7.1', + + Browser: (function(){ + var ua = navigator.userAgent; + var isOpera = Object.prototype.toString.call(window.opera) == '[object Opera]'; + return { + IE: !!window.attachEvent && !isOpera, + Opera: isOpera, + WebKit: ua.indexOf('AppleWebKit/') > -1, + Gecko: ua.indexOf('Gecko') > -1 && ua.indexOf('KHTML') === -1, + MobileSafari: /Apple.*Mobile/.test(ua) + } + })(), + + BrowserFeatures: { + XPath: !!document.evaluate, + + SelectorsAPI: !!document.querySelector, + + ElementExtensions: (function() { + var constructor = window.Element || window.HTMLElement; + return !!(constructor && constructor.prototype); + })(), + SpecificElementExtensions: (function() { + if (typeof window.HTMLDivElement !== 'undefined') + return true; + + var div = document.createElement('div'), + form = document.createElement('form'), + isSupported = false; + + if (div['__proto__'] && (div['__proto__'] !== form['__proto__'])) { + isSupported = true; + } + + div = form = null; + + return isSupported; + })() + }, + + ScriptFragment: ']*>([\\S\\s]*?)<\/script\\s*>', + JSONFilter: /^\/\*-secure-([\s\S]*)\*\/\s*$/, + + emptyFunction: function() { }, + + K: function(x) { return x } +}; + +if (Prototype.Browser.MobileSafari) + Prototype.BrowserFeatures.SpecificElementExtensions = false; +/* Based on Alex Arnell's inheritance implementation. */ + +var Class = (function() { + + var IS_DONTENUM_BUGGY = (function(){ + for (var p in { toString: 1 }) { + if (p === 'toString') return false; + } + return true; + })(); + + function subclass() {}; + function create() { + var parent = null, properties = $A(arguments); + if (Object.isFunction(properties[0])) + parent = properties.shift(); + + function klass() { + this.initialize.apply(this, arguments); + } + + Object.extend(klass, Class.Methods); + klass.superclass = parent; + klass.subclasses = []; + + if (parent) { + subclass.prototype = parent.prototype; + klass.prototype = new subclass; + parent.subclasses.push(klass); + } + + for (var i = 0, length = properties.length; i < length; i++) + klass.addMethods(properties[i]); + + if (!klass.prototype.initialize) + klass.prototype.initialize = Prototype.emptyFunction; + + klass.prototype.constructor = klass; + return klass; + } + + function addMethods(source) { + var ancestor = this.superclass && this.superclass.prototype, + properties = Object.keys(source); + + if (IS_DONTENUM_BUGGY) { + if (source.toString != Object.prototype.toString) + properties.push("toString"); + if (source.valueOf != Object.prototype.valueOf) + properties.push("valueOf"); + } + + for (var i = 0, length = properties.length; i < length; i++) { + var property = properties[i], value = source[property]; + if (ancestor && Object.isFunction(value) && + value.argumentNames()[0] == "$super") { + var method = value; + value = (function(m) { + return function() { return ancestor[m].apply(this, arguments); }; + })(property).wrap(method); + + value.valueOf = (function(method) { + return function() { return method.valueOf.call(method); }; + })(method); + + value.toString = (function(method) { + return function() { return method.toString.call(method); }; + })(method); + } + this.prototype[property] = value; + } + + return this; + } + + return { + create: create, + Methods: { + addMethods: addMethods + } + }; +})(); +(function() { + + var _toString = Object.prototype.toString, + _hasOwnProperty = Object.prototype.hasOwnProperty, + NULL_TYPE = 'Null', + UNDEFINED_TYPE = 'Undefined', + BOOLEAN_TYPE = 'Boolean', + NUMBER_TYPE = 'Number', + STRING_TYPE = 'String', + OBJECT_TYPE = 'Object', + FUNCTION_CLASS = '[object Function]', + BOOLEAN_CLASS = '[object Boolean]', + NUMBER_CLASS = '[object Number]', + STRING_CLASS = '[object String]', + ARRAY_CLASS = '[object Array]', + DATE_CLASS = '[object Date]', + NATIVE_JSON_STRINGIFY_SUPPORT = window.JSON && + typeof JSON.stringify === 'function' && + JSON.stringify(0) === '0' && + typeof JSON.stringify(Prototype.K) === 'undefined'; + + + + var DONT_ENUMS = ['toString', 'toLocaleString', 'valueOf', + 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable', 'constructor']; + + var IS_DONTENUM_BUGGY = (function(){ + for (var p in { toString: 1 }) { + if (p === 'toString') return false; + } + return true; + })(); + + function Type(o) { + switch(o) { + case null: return NULL_TYPE; + case (void 0): return UNDEFINED_TYPE; + } + var type = typeof o; + switch(type) { + case 'boolean': return BOOLEAN_TYPE; + case 'number': return NUMBER_TYPE; + case 'string': return STRING_TYPE; + } + return OBJECT_TYPE; + } + + function extend(destination, source) { + for (var property in source) + destination[property] = source[property]; + return destination; + } + + function inspect(object) { + try { + if (isUndefined(object)) return 'undefined'; + if (object === null) return 'null'; + return object.inspect ? object.inspect() : String(object); + } catch (e) { + if (e instanceof RangeError) return '...'; + throw e; + } + } + + function toJSON(value) { + return Str('', { '': value }, []); + } + + function Str(key, holder, stack) { + var value = holder[key]; + if (Type(value) === OBJECT_TYPE && typeof value.toJSON === 'function') { + value = value.toJSON(key); + } + + var _class = _toString.call(value); + + switch (_class) { + case NUMBER_CLASS: + case BOOLEAN_CLASS: + case STRING_CLASS: + value = value.valueOf(); + } + + switch (value) { + case null: return 'null'; + case true: return 'true'; + case false: return 'false'; + } + + var type = typeof value; + switch (type) { + case 'string': + return value.inspect(true); + case 'number': + return isFinite(value) ? String(value) : 'null'; + case 'object': + + for (var i = 0, length = stack.length; i < length; i++) { + if (stack[i] === value) { + throw new TypeError("Cyclic reference to '" + value + "' in object"); + } + } + stack.push(value); + + var partial = []; + if (_class === ARRAY_CLASS) { + for (var i = 0, length = value.length; i < length; i++) { + var str = Str(i, value, stack); + partial.push(typeof str === 'undefined' ? 'null' : str); + } + partial = '[' + partial.join(',') + ']'; + } else { + var keys = Object.keys(value); + for (var i = 0, length = keys.length; i < length; i++) { + var key = keys[i], str = Str(key, value, stack); + if (typeof str !== "undefined") { + partial.push(key.inspect(true)+ ':' + str); + } + } + partial = '{' + partial.join(',') + '}'; + } + stack.pop(); + return partial; + } + } + + function stringify(object) { + return JSON.stringify(object); + } + + function toQueryString(object) { + return $H(object).toQueryString(); + } + + function toHTML(object) { + return object && object.toHTML ? object.toHTML() : String.interpret(object); + } + + function keys(object) { + if (Type(object) !== OBJECT_TYPE) { throw new TypeError(); } + var results = []; + for (var property in object) { + if (_hasOwnProperty.call(object, property)) + results.push(property); + } + + if (IS_DONTENUM_BUGGY) { + for (var i = 0; property = DONT_ENUMS[i]; i++) { + if (_hasOwnProperty.call(object, property)) + results.push(property); + } + } + + return results; + } + + function values(object) { + var results = []; + for (var property in object) + results.push(object[property]); + return results; + } + + function clone(object) { + return extend({ }, object); + } + + function isElement(object) { + return !!(object && object.nodeType == 1); + } + + function isArray(object) { + return _toString.call(object) === ARRAY_CLASS; + } + + var hasNativeIsArray = (typeof Array.isArray == 'function') + && Array.isArray([]) && !Array.isArray({}); + + if (hasNativeIsArray) { + isArray = Array.isArray; + } + + function isHash(object) { + return object instanceof Hash; + } + + function isFunction(object) { + return _toString.call(object) === FUNCTION_CLASS; + } + + function isString(object) { + return _toString.call(object) === STRING_CLASS; + } + + function isNumber(object) { + return _toString.call(object) === NUMBER_CLASS; + } + + function isDate(object) { + return _toString.call(object) === DATE_CLASS; + } + + function isUndefined(object) { + return typeof object === "undefined"; + } + + extend(Object, { + extend: extend, + inspect: inspect, + toJSON: NATIVE_JSON_STRINGIFY_SUPPORT ? stringify : toJSON, + toQueryString: toQueryString, + toHTML: toHTML, + keys: Object.keys || keys, + values: values, + clone: clone, + isElement: isElement, + isArray: isArray, + isHash: isHash, + isFunction: isFunction, + isString: isString, + isNumber: isNumber, + isDate: isDate, + isUndefined: isUndefined + }); +})(); +Object.extend(Function.prototype, (function() { + var slice = Array.prototype.slice; + + function update(array, args) { + var arrayLength = array.length, length = args.length; + while (length--) array[arrayLength + length] = args[length]; + return array; + } + + function merge(array, args) { + array = slice.call(array, 0); + return update(array, args); + } + + function argumentNames() { + var names = this.toString().match(/^[\s\(]*function[^(]*\(([^)]*)\)/)[1] + .replace(/\/\/.*?[\r\n]|\/\*(?:.|[\r\n])*?\*\//g, '') + .replace(/\s+/g, '').split(','); + return names.length == 1 && !names[0] ? [] : names; + } + + + function bind(context) { + if (arguments.length < 2 && Object.isUndefined(arguments[0])) + return this; + + if (!Object.isFunction(this)) + throw new TypeError("The object is not callable."); + + var nop = function() {}; + var __method = this, args = slice.call(arguments, 1); + + var bound = function() { + var a = merge(args, arguments), c = context; + var c = this instanceof bound ? this : context; + return __method.apply(c, a); + }; + + nop.prototype = this.prototype; + bound.prototype = new nop(); + + return bound; + } + + function bindAsEventListener(context) { + var __method = this, args = slice.call(arguments, 1); + return function(event) { + var a = update([event || window.event], args); + return __method.apply(context, a); + } + } + + function curry() { + if (!arguments.length) return this; + var __method = this, args = slice.call(arguments, 0); + return function() { + var a = merge(args, arguments); + return __method.apply(this, a); + } + } + + function delay(timeout) { + var __method = this, args = slice.call(arguments, 1); + timeout = timeout * 1000; + return window.setTimeout(function() { + return __method.apply(__method, args); + }, timeout); + } + + function defer() { + var args = update([0.01], arguments); + return this.delay.apply(this, args); + } + + function wrap(wrapper) { + var __method = this; + return function() { + var a = update([__method.bind(this)], arguments); + return wrapper.apply(this, a); + } + } + + function methodize() { + if (this._methodized) return this._methodized; + var __method = this; + return this._methodized = function() { + var a = update([this], arguments); + return __method.apply(null, a); + }; + } + + var extensions = { + argumentNames: argumentNames, + bindAsEventListener: bindAsEventListener, + curry: curry, + delay: delay, + defer: defer, + wrap: wrap, + methodize: methodize + }; + + if (!Function.prototype.bind) + extensions.bind = bind; + + return extensions; +})()); + + + +(function(proto) { + + + function toISOString() { + return this.getUTCFullYear() + '-' + + (this.getUTCMonth() + 1).toPaddedString(2) + '-' + + this.getUTCDate().toPaddedString(2) + 'T' + + this.getUTCHours().toPaddedString(2) + ':' + + this.getUTCMinutes().toPaddedString(2) + ':' + + this.getUTCSeconds().toPaddedString(2) + 'Z'; + } + + + function toJSON() { + return this.toISOString(); + } + + if (!proto.toISOString) proto.toISOString = toISOString; + if (!proto.toJSON) proto.toJSON = toJSON; + +})(Date.prototype); + + +RegExp.prototype.match = RegExp.prototype.test; + +RegExp.escape = function(str) { + return String(str).replace(/([.*+?^=!:${}()|[\]\/\\])/g, '\\$1'); +}; +var PeriodicalExecuter = Class.create({ + initialize: function(callback, frequency) { + this.callback = callback; + this.frequency = frequency; + this.currentlyExecuting = false; + + this.registerCallback(); + }, + + registerCallback: function() { + this.timer = setInterval(this.onTimerEvent.bind(this), this.frequency * 1000); + }, + + execute: function() { + this.callback(this); + }, + + stop: function() { + if (!this.timer) return; + clearInterval(this.timer); + this.timer = null; + }, + + onTimerEvent: function() { + if (!this.currentlyExecuting) { + try { + this.currentlyExecuting = true; + this.execute(); + this.currentlyExecuting = false; + } catch(e) { + this.currentlyExecuting = false; + throw e; + } + } + } +}); +Object.extend(String, { + interpret: function(value) { + return value == null ? '' : String(value); + }, + specialChar: { + '\b': '\\b', + '\t': '\\t', + '\n': '\\n', + '\f': '\\f', + '\r': '\\r', + '\\': '\\\\' + } +}); + +Object.extend(String.prototype, (function() { + var NATIVE_JSON_PARSE_SUPPORT = window.JSON && + typeof JSON.parse === 'function' && + JSON.parse('{"test": true}').test; + + function prepareReplacement(replacement) { + if (Object.isFunction(replacement)) return replacement; + var template = new Template(replacement); + return function(match) { return template.evaluate(match) }; + } + + function gsub(pattern, replacement) { + var result = '', source = this, match; + replacement = prepareReplacement(replacement); + + if (Object.isString(pattern)) + pattern = RegExp.escape(pattern); + + if (!(pattern.length || pattern.source)) { + replacement = replacement(''); + return replacement + source.split('').join(replacement) + replacement; + } + + while (source.length > 0) { + if (match = source.match(pattern)) { + result += source.slice(0, match.index); + result += String.interpret(replacement(match)); + source = source.slice(match.index + match[0].length); + } else { + result += source, source = ''; + } + } + return result; + } + + function sub(pattern, replacement, count) { + replacement = prepareReplacement(replacement); + count = Object.isUndefined(count) ? 1 : count; + + return this.gsub(pattern, function(match) { + if (--count < 0) return match[0]; + return replacement(match); + }); + } + + function scan(pattern, iterator) { + this.gsub(pattern, iterator); + return String(this); + } + + function truncate(length, truncation) { + length = length || 30; + truncation = Object.isUndefined(truncation) ? '...' : truncation; + return this.length > length ? + this.slice(0, length - truncation.length) + truncation : String(this); + } + + function strip() { + return this.replace(/^\s+/, '').replace(/\s+$/, ''); + } + + function stripTags() { + return this.replace(/<\w+(\s+("[^"]*"|'[^']*'|[^>])+)?>|<\/\w+>/gi, ''); + } + + function stripScripts() { + return this.replace(new RegExp(Prototype.ScriptFragment, 'img'), ''); + } + + function extractScripts() { + var matchAll = new RegExp(Prototype.ScriptFragment, 'img'), + matchOne = new RegExp(Prototype.ScriptFragment, 'im'); + return (this.match(matchAll) || []).map(function(scriptTag) { + return (scriptTag.match(matchOne) || ['', ''])[1]; + }); + } + + function evalScripts() { + return this.extractScripts().map(function(script) { return eval(script); }); + } + + function escapeHTML() { + return this.replace(/&/g,'&').replace(//g,'>'); + } + + function unescapeHTML() { + return this.stripTags().replace(/</g,'<').replace(/>/g,'>').replace(/&/g,'&'); + } + + + function toQueryParams(separator) { + var match = this.strip().match(/([^?#]*)(#.*)?$/); + if (!match) return { }; + + return match[1].split(separator || '&').inject({ }, function(hash, pair) { + if ((pair = pair.split('='))[0]) { + var key = decodeURIComponent(pair.shift()), + value = pair.length > 1 ? pair.join('=') : pair[0]; + + if (value != undefined) value = decodeURIComponent(value); + + if (key in hash) { + if (!Object.isArray(hash[key])) hash[key] = [hash[key]]; + hash[key].push(value); + } + else hash[key] = value; + } + return hash; + }); + } + + function toArray() { + return this.split(''); + } + + function succ() { + return this.slice(0, this.length - 1) + + String.fromCharCode(this.charCodeAt(this.length - 1) + 1); + } + + function times(count) { + return count < 1 ? '' : new Array(count + 1).join(this); + } + + function camelize() { + return this.replace(/-+(.)?/g, function(match, chr) { + return chr ? chr.toUpperCase() : ''; + }); + } + + function capitalize() { + return this.charAt(0).toUpperCase() + this.substring(1).toLowerCase(); + } + + function underscore() { + return this.replace(/::/g, '/') + .replace(/([A-Z]+)([A-Z][a-z])/g, '$1_$2') + .replace(/([a-z\d])([A-Z])/g, '$1_$2') + .replace(/-/g, '_') + .toLowerCase(); + } + + function dasherize() { + return this.replace(/_/g, '-'); + } + + function inspect(useDoubleQuotes) { + var escapedString = this.replace(/[\x00-\x1f\\]/g, function(character) { + if (character in String.specialChar) { + return String.specialChar[character]; + } + return '\\u00' + character.charCodeAt().toPaddedString(2, 16); + }); + if (useDoubleQuotes) return '"' + escapedString.replace(/"/g, '\\"') + '"'; + return "'" + escapedString.replace(/'/g, '\\\'') + "'"; + } + + function unfilterJSON(filter) { + return this.replace(filter || Prototype.JSONFilter, '$1'); + } + + function isJSON() { + var str = this; + if (str.blank()) return false; + str = str.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@'); + str = str.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']'); + str = str.replace(/(?:^|:|,)(?:\s*\[)+/g, ''); + return (/^[\],:{}\s]*$/).test(str); + } + + function evalJSON(sanitize) { + var json = this.unfilterJSON(), + cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g; + if (cx.test(json)) { + json = json.replace(cx, function (a) { + return '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); + }); + } + try { + if (!sanitize || json.isJSON()) return eval('(' + json + ')'); + } catch (e) { } + throw new SyntaxError('Badly formed JSON string: ' + this.inspect()); + } + + function parseJSON() { + var json = this.unfilterJSON(); + return JSON.parse(json); + } + + function include(pattern) { + return this.indexOf(pattern) > -1; + } + + function startsWith(pattern) { + return this.lastIndexOf(pattern, 0) === 0; + } + + function endsWith(pattern) { + var d = this.length - pattern.length; + return d >= 0 && this.indexOf(pattern, d) === d; + } + + function empty() { + return this == ''; + } + + function blank() { + return /^\s*$/.test(this); + } + + function interpolate(object, pattern) { + return new Template(this, pattern).evaluate(object); + } + + return { + gsub: gsub, + sub: sub, + scan: scan, + truncate: truncate, + strip: String.prototype.trim || strip, + stripTags: stripTags, + stripScripts: stripScripts, + extractScripts: extractScripts, + evalScripts: evalScripts, + escapeHTML: escapeHTML, + unescapeHTML: unescapeHTML, + toQueryParams: toQueryParams, + parseQuery: toQueryParams, + toArray: toArray, + succ: succ, + times: times, + camelize: camelize, + capitalize: capitalize, + underscore: underscore, + dasherize: dasherize, + inspect: inspect, + unfilterJSON: unfilterJSON, + isJSON: isJSON, + evalJSON: NATIVE_JSON_PARSE_SUPPORT ? parseJSON : evalJSON, + include: include, + startsWith: startsWith, + endsWith: endsWith, + empty: empty, + blank: blank, + interpolate: interpolate + }; +})()); + +var Template = Class.create({ + initialize: function(template, pattern) { + this.template = template.toString(); + this.pattern = pattern || Template.Pattern; + }, + + evaluate: function(object) { + if (object && Object.isFunction(object.toTemplateReplacements)) + object = object.toTemplateReplacements(); + + return this.template.gsub(this.pattern, function(match) { + if (object == null) return (match[1] + ''); + + var before = match[1] || ''; + if (before == '\\') return match[2]; + + var ctx = object, expr = match[3], + pattern = /^([^.[]+|\[((?:.*?[^\\])?)\])(\.|\[|$)/; + + match = pattern.exec(expr); + if (match == null) return before; + + while (match != null) { + var comp = match[1].startsWith('[') ? match[2].replace(/\\\\]/g, ']') : match[1]; + ctx = ctx[comp]; + if (null == ctx || '' == match[3]) break; + expr = expr.substring('[' == match[3] ? match[1].length : match[0].length); + match = pattern.exec(expr); + } + + return before + String.interpret(ctx); + }); + } +}); +Template.Pattern = /(^|.|\r|\n)(#\{(.*?)\})/; + +var $break = { }; + +var Enumerable = (function() { + function each(iterator, context) { + try { + this._each(iterator, context); + } catch (e) { + if (e != $break) throw e; + } + return this; + } + + function eachSlice(number, iterator, context) { + var index = -number, slices = [], array = this.toArray(); + if (number < 1) return array; + while ((index += number) < array.length) + slices.push(array.slice(index, index+number)); + return slices.collect(iterator, context); + } + + function all(iterator, context) { + iterator = iterator || Prototype.K; + var result = true; + this.each(function(value, index) { + result = result && !!iterator.call(context, value, index, this); + if (!result) throw $break; + }, this); + return result; + } + + function any(iterator, context) { + iterator = iterator || Prototype.K; + var result = false; + this.each(function(value, index) { + if (result = !!iterator.call(context, value, index, this)) + throw $break; + }, this); + return result; + } + + function collect(iterator, context) { + iterator = iterator || Prototype.K; + var results = []; + this.each(function(value, index) { + results.push(iterator.call(context, value, index, this)); + }, this); + return results; + } + + function detect(iterator, context) { + var result; + this.each(function(value, index) { + if (iterator.call(context, value, index, this)) { + result = value; + throw $break; + } + }, this); + return result; + } + + function findAll(iterator, context) { + var results = []; + this.each(function(value, index) { + if (iterator.call(context, value, index, this)) + results.push(value); + }, this); + return results; + } + + function grep(filter, iterator, context) { + iterator = iterator || Prototype.K; + var results = []; + + if (Object.isString(filter)) + filter = new RegExp(RegExp.escape(filter)); + + this.each(function(value, index) { + if (filter.match(value)) + results.push(iterator.call(context, value, index, this)); + }, this); + return results; + } + + function include(object) { + if (Object.isFunction(this.indexOf)) + if (this.indexOf(object) != -1) return true; + + var found = false; + this.each(function(value) { + if (value == object) { + found = true; + throw $break; + } + }); + return found; + } + + function inGroupsOf(number, fillWith) { + fillWith = Object.isUndefined(fillWith) ? null : fillWith; + return this.eachSlice(number, function(slice) { + while(slice.length < number) slice.push(fillWith); + return slice; + }); + } + + function inject(memo, iterator, context) { + this.each(function(value, index) { + memo = iterator.call(context, memo, value, index, this); + }, this); + return memo; + } + + function invoke(method) { + var args = $A(arguments).slice(1); + return this.map(function(value) { + return value[method].apply(value, args); + }); + } + + function max(iterator, context) { + iterator = iterator || Prototype.K; + var result; + this.each(function(value, index) { + value = iterator.call(context, value, index, this); + if (result == null || value >= result) + result = value; + }, this); + return result; + } + + function min(iterator, context) { + iterator = iterator || Prototype.K; + var result; + this.each(function(value, index) { + value = iterator.call(context, value, index, this); + if (result == null || value < result) + result = value; + }, this); + return result; + } + + function partition(iterator, context) { + iterator = iterator || Prototype.K; + var trues = [], falses = []; + this.each(function(value, index) { + (iterator.call(context, value, index, this) ? + trues : falses).push(value); + }, this); + return [trues, falses]; + } + + function pluck(property) { + var results = []; + this.each(function(value) { + results.push(value[property]); + }); + return results; + } + + function reject(iterator, context) { + var results = []; + this.each(function(value, index) { + if (!iterator.call(context, value, index, this)) + results.push(value); + }, this); + return results; + } + + function sortBy(iterator, context) { + return this.map(function(value, index) { + return { + value: value, + criteria: iterator.call(context, value, index, this) + }; + }, this).sort(function(left, right) { + var a = left.criteria, b = right.criteria; + return a < b ? -1 : a > b ? 1 : 0; + }).pluck('value'); + } + + function toArray() { + return this.map(); + } + + function zip() { + var iterator = Prototype.K, args = $A(arguments); + if (Object.isFunction(args.last())) + iterator = args.pop(); + + var collections = [this].concat(args).map($A); + return this.map(function(value, index) { + return iterator(collections.pluck(index)); + }); + } + + function size() { + return this.toArray().length; + } + + function inspect() { + return '#'; + } + + + + + + + + + + return { + each: each, + eachSlice: eachSlice, + all: all, + every: all, + any: any, + some: any, + collect: collect, + map: collect, + detect: detect, + findAll: findAll, + select: findAll, + filter: findAll, + grep: grep, + include: include, + member: include, + inGroupsOf: inGroupsOf, + inject: inject, + invoke: invoke, + max: max, + min: min, + partition: partition, + pluck: pluck, + reject: reject, + sortBy: sortBy, + toArray: toArray, + entries: toArray, + zip: zip, + size: size, + inspect: inspect, + find: detect + }; +})(); + +function $A(iterable) { + if (!iterable) return []; + if ('toArray' in Object(iterable)) return iterable.toArray(); + var length = iterable.length || 0, results = new Array(length); + while (length--) results[length] = iterable[length]; + return results; +} + + +function $w(string) { + if (!Object.isString(string)) return []; + string = string.strip(); + return string ? string.split(/\s+/) : []; +} + +Array.from = $A; + + +(function() { + var arrayProto = Array.prototype, + slice = arrayProto.slice, + _each = arrayProto.forEach; // use native browser JS 1.6 implementation if available + + function each(iterator, context) { + for (var i = 0, length = this.length >>> 0; i < length; i++) { + if (i in this) iterator.call(context, this[i], i, this); + } + } + if (!_each) _each = each; + + function clear() { + this.length = 0; + return this; + } + + function first() { + return this[0]; + } + + function last() { + return this[this.length - 1]; + } + + function compact() { + return this.select(function(value) { + return value != null; + }); + } + + function flatten() { + return this.inject([], function(array, value) { + if (Object.isArray(value)) + return array.concat(value.flatten()); + array.push(value); + return array; + }); + } + + function without() { + var values = slice.call(arguments, 0); + return this.select(function(value) { + return !values.include(value); + }); + } + + function reverse(inline) { + return (inline === false ? this.toArray() : this)._reverse(); + } + + function uniq(sorted) { + return this.inject([], function(array, value, index) { + if (0 == index || (sorted ? array.last() != value : !array.include(value))) + array.push(value); + return array; + }); + } + + function intersect(array) { + return this.uniq().findAll(function(item) { + return array.indexOf(item) !== -1; + }); + } + + + function clone() { + return slice.call(this, 0); + } + + function size() { + return this.length; + } + + function inspect() { + return '[' + this.map(Object.inspect).join(', ') + ']'; + } + + function indexOf(item, i) { + if (this == null) throw new TypeError(); + + var array = Object(this), length = array.length >>> 0; + if (length === 0) return -1; + + i = Number(i); + if (isNaN(i)) { + i = 0; + } else if (i !== 0 && isFinite(i)) { + i = (i > 0 ? 1 : -1) * Math.floor(Math.abs(i)); + } + + if (i > length) return -1; + + var k = i >= 0 ? i : Math.max(length - Math.abs(i), 0); + for (; k < length; k++) + if (k in array && array[k] === item) return k; + return -1; + } + + + function lastIndexOf(item, i) { + if (this == null) throw new TypeError(); + + var array = Object(this), length = array.length >>> 0; + if (length === 0) return -1; + + if (!Object.isUndefined(i)) { + i = Number(i); + if (isNaN(i)) { + i = 0; + } else if (i !== 0 && isFinite(i)) { + i = (i > 0 ? 1 : -1) * Math.floor(Math.abs(i)); + } + } else { + i = length; + } + + var k = i >= 0 ? Math.min(i, length - 1) : + length - Math.abs(i); + + for (; k >= 0; k--) + if (k in array && array[k] === item) return k; + return -1; + } + + function concat(_) { + var array = [], items = slice.call(arguments, 0), item, n = 0; + items.unshift(this); + for (var i = 0, length = items.length; i < length; i++) { + item = items[i]; + if (Object.isArray(item) && !('callee' in item)) { + for (var j = 0, arrayLength = item.length; j < arrayLength; j++) { + if (j in item) array[n] = item[j]; + n++; + } + } else { + array[n++] = item; + } + } + array.length = n; + return array; + } + + + function wrapNative(method) { + return function() { + if (arguments.length === 0) { + return method.call(this, Prototype.K); + } else if (arguments[0] === undefined) { + var args = slice.call(arguments, 1); + args.unshift(Prototype.K); + return method.apply(this, args); + } else { + return method.apply(this, arguments); + } + }; + } + + + function map(iterator) { + if (this == null) throw new TypeError(); + iterator = iterator || Prototype.K; + + var object = Object(this); + var results = [], context = arguments[1], n = 0; + + for (var i = 0, length = object.length >>> 0; i < length; i++) { + if (i in object) { + results[n] = iterator.call(context, object[i], i, object); + } + n++; + } + results.length = n; + return results; + } + + if (arrayProto.map) { + map = wrapNative(Array.prototype.map); + } + + function filter(iterator) { + if (this == null || !Object.isFunction(iterator)) + throw new TypeError(); + + var object = Object(this); + var results = [], context = arguments[1], value; + + for (var i = 0, length = object.length >>> 0; i < length; i++) { + if (i in object) { + value = object[i]; + if (iterator.call(context, value, i, object)) { + results.push(value); + } + } + } + return results; + } + + if (arrayProto.filter) { + filter = Array.prototype.filter; + } + + function some(iterator) { + if (this == null) throw new TypeError(); + iterator = iterator || Prototype.K; + var context = arguments[1]; + + var object = Object(this); + for (var i = 0, length = object.length >>> 0; i < length; i++) { + if (i in object && iterator.call(context, object[i], i, object)) { + return true; + } + } + + return false; + } + + if (arrayProto.some) { + var some = wrapNative(Array.prototype.some); + } + + + function every(iterator) { + if (this == null) throw new TypeError(); + iterator = iterator || Prototype.K; + var context = arguments[1]; + + var object = Object(this); + for (var i = 0, length = object.length >>> 0; i < length; i++) { + if (i in object && !iterator.call(context, object[i], i, object)) { + return false; + } + } + + return true; + } + + if (arrayProto.every) { + var every = wrapNative(Array.prototype.every); + } + + var _reduce = arrayProto.reduce; + function inject(memo, iterator) { + iterator = iterator || Prototype.K; + var context = arguments[2]; + return _reduce.call(this, iterator.bind(context), memo); + } + + if (!arrayProto.reduce) { + var inject = Enumerable.inject; + } + + Object.extend(arrayProto, Enumerable); + + if (!arrayProto._reverse) + arrayProto._reverse = arrayProto.reverse; + + Object.extend(arrayProto, { + _each: _each, + + map: map, + collect: map, + select: filter, + filter: filter, + findAll: filter, + some: some, + any: some, + every: every, + all: every, + inject: inject, + + clear: clear, + first: first, + last: last, + compact: compact, + flatten: flatten, + without: without, + reverse: reverse, + uniq: uniq, + intersect: intersect, + clone: clone, + toArray: clone, + size: size, + inspect: inspect + }); + + var CONCAT_ARGUMENTS_BUGGY = (function() { + return [].concat(arguments)[0][0] !== 1; + })(1,2); + + if (CONCAT_ARGUMENTS_BUGGY) arrayProto.concat = concat; + + if (!arrayProto.indexOf) arrayProto.indexOf = indexOf; + if (!arrayProto.lastIndexOf) arrayProto.lastIndexOf = lastIndexOf; +})(); +function $H(object) { + return new Hash(object); +}; + +var Hash = Class.create(Enumerable, (function() { + function initialize(object) { + this._object = Object.isHash(object) ? object.toObject() : Object.clone(object); + } + + + function _each(iterator, context) { + for (var key in this._object) { + var value = this._object[key], pair = [key, value]; + pair.key = key; + pair.value = value; + iterator.call(context, pair); + } + } + + function set(key, value) { + return this._object[key] = value; + } + + function get(key) { + if (this._object[key] !== Object.prototype[key]) + return this._object[key]; + } + + function unset(key) { + var value = this._object[key]; + delete this._object[key]; + return value; + } + + function toObject() { + return Object.clone(this._object); + } + + + + function keys() { + return this.pluck('key'); + } + + function values() { + return this.pluck('value'); + } + + function index(value) { + var match = this.detect(function(pair) { + return pair.value === value; + }); + return match && match.key; + } + + function merge(object) { + return this.clone().update(object); + } + + function update(object) { + return new Hash(object).inject(this, function(result, pair) { + result.set(pair.key, pair.value); + return result; + }); + } + + function toQueryPair(key, value) { + if (Object.isUndefined(value)) return key; + + var value = String.interpret(value); + + value = value.gsub(/(\r)?\n/, '\r\n'); + value = encodeURIComponent(value); + value = value.gsub(/%20/, '+'); + return key + '=' + value; + } + + function toQueryString() { + return this.inject([], function(results, pair) { + var key = encodeURIComponent(pair.key), values = pair.value; + + if (values && typeof values == 'object') { + if (Object.isArray(values)) { + var queryValues = []; + for (var i = 0, len = values.length, value; i < len; i++) { + value = values[i]; + queryValues.push(toQueryPair(key, value)); + } + return results.concat(queryValues); + } + } else results.push(toQueryPair(key, values)); + return results; + }).join('&'); + } + + function inspect() { + return '#'; + } + + function clone() { + return new Hash(this); + } + + return { + initialize: initialize, + _each: _each, + set: set, + get: get, + unset: unset, + toObject: toObject, + toTemplateReplacements: toObject, + keys: keys, + values: values, + index: index, + merge: merge, + update: update, + toQueryString: toQueryString, + inspect: inspect, + toJSON: toObject, + clone: clone + }; +})()); + +Hash.from = $H; +Object.extend(Number.prototype, (function() { + function toColorPart() { + return this.toPaddedString(2, 16); + } + + function succ() { + return this + 1; + } + + function times(iterator, context) { + $R(0, this, true).each(iterator, context); + return this; + } + + function toPaddedString(length, radix) { + var string = this.toString(radix || 10); + return '0'.times(length - string.length) + string; + } + + function abs() { + return Math.abs(this); + } + + function round() { + return Math.round(this); + } + + function ceil() { + return Math.ceil(this); + } + + function floor() { + return Math.floor(this); + } + + return { + toColorPart: toColorPart, + succ: succ, + times: times, + toPaddedString: toPaddedString, + abs: abs, + round: round, + ceil: ceil, + floor: floor + }; +})()); + +function $R(start, end, exclusive) { + return new ObjectRange(start, end, exclusive); +} + +var ObjectRange = Class.create(Enumerable, (function() { + function initialize(start, end, exclusive) { + this.start = start; + this.end = end; + this.exclusive = exclusive; + } + + function _each(iterator, context) { + var value = this.start; + while (this.include(value)) { + iterator.call(context, value); + value = value.succ(); + } + } + + function include(value) { + if (value < this.start) + return false; + if (this.exclusive) + return value < this.end; + return value <= this.end; + } + + return { + initialize: initialize, + _each: _each, + include: include + }; +})()); + + + +var Abstract = { }; + + +var Try = { + these: function() { + var returnValue; + + for (var i = 0, length = arguments.length; i < length; i++) { + var lambda = arguments[i]; + try { + returnValue = lambda(); + break; + } catch (e) { } + } + + return returnValue; + } +}; + +var Ajax = { + getTransport: function() { + return Try.these( + function() {return new XMLHttpRequest()}, + function() {return new ActiveXObject('Msxml2.XMLHTTP')}, + function() {return new ActiveXObject('Microsoft.XMLHTTP')} + ) || false; + }, + + activeRequestCount: 0 +}; + +Ajax.Responders = { + responders: [], + + _each: function(iterator, context) { + this.responders._each(iterator, context); + }, + + register: function(responder) { + if (!this.include(responder)) + this.responders.push(responder); + }, + + unregister: function(responder) { + this.responders = this.responders.without(responder); + }, + + dispatch: function(callback, request, transport, json) { + this.each(function(responder) { + if (Object.isFunction(responder[callback])) { + try { + responder[callback].apply(responder, [request, transport, json]); + } catch (e) { } + } + }); + } +}; + +Object.extend(Ajax.Responders, Enumerable); + +Ajax.Responders.register({ + onCreate: function() { Ajax.activeRequestCount++ }, + onComplete: function() { Ajax.activeRequestCount-- } +}); +Ajax.Base = Class.create({ + initialize: function(options) { + this.options = { + method: 'post', + asynchronous: true, + contentType: 'application/x-www-form-urlencoded', + encoding: 'UTF-8', + parameters: '', + evalJSON: true, + evalJS: true + }; + Object.extend(this.options, options || { }); + + this.options.method = this.options.method.toLowerCase(); + + if (Object.isHash(this.options.parameters)) + this.options.parameters = this.options.parameters.toObject(); + } +}); +Ajax.Request = Class.create(Ajax.Base, { + _complete: false, + + initialize: function($super, url, options) { + $super(options); + this.transport = Ajax.getTransport(); + this.request(url); + }, + + request: function(url) { + this.url = url; + this.method = this.options.method; + var params = Object.isString(this.options.parameters) ? + this.options.parameters : + Object.toQueryString(this.options.parameters); + + if (!['get', 'post'].include(this.method)) { + params += (params ? '&' : '') + "_method=" + this.method; + this.method = 'post'; + } + + if (params && this.method === 'get') { + this.url += (this.url.include('?') ? '&' : '?') + params; + } + + this.parameters = params.toQueryParams(); + + try { + var response = new Ajax.Response(this); + if (this.options.onCreate) this.options.onCreate(response); + Ajax.Responders.dispatch('onCreate', this, response); + + this.transport.open(this.method.toUpperCase(), this.url, + this.options.asynchronous); + + if (this.options.asynchronous) this.respondToReadyState.bind(this).defer(1); + + this.transport.onreadystatechange = this.onStateChange.bind(this); + this.setRequestHeaders(); + + this.body = this.method == 'post' ? (this.options.postBody || params) : null; + this.transport.send(this.body); + + /* Force Firefox to handle ready state 4 for synchronous requests */ + if (!this.options.asynchronous && this.transport.overrideMimeType) + this.onStateChange(); + + } + catch (e) { + this.dispatchException(e); + } + }, + + onStateChange: function() { + var readyState = this.transport.readyState; + if (readyState > 1 && !((readyState == 4) && this._complete)) + this.respondToReadyState(this.transport.readyState); + }, + + setRequestHeaders: function() { + var headers = { + 'X-Requested-With': 'XMLHttpRequest', + 'X-Prototype-Version': Prototype.Version, + 'Accept': 'text/javascript, text/html, application/xml, text/xml, */*' + }; + + if (this.method == 'post') { + headers['Content-type'] = this.options.contentType + + (this.options.encoding ? '; charset=' + this.options.encoding : ''); + + /* Force "Connection: close" for older Mozilla browsers to work + * around a bug where XMLHttpRequest sends an incorrect + * Content-length header. See Mozilla Bugzilla #246651. + */ + if (this.transport.overrideMimeType && + (navigator.userAgent.match(/Gecko\/(\d{4})/) || [0,2005])[1] < 2005) + headers['Connection'] = 'close'; + } + + if (typeof this.options.requestHeaders == 'object') { + var extras = this.options.requestHeaders; + + if (Object.isFunction(extras.push)) + for (var i = 0, length = extras.length; i < length; i += 2) + headers[extras[i]] = extras[i+1]; + else + $H(extras).each(function(pair) { headers[pair.key] = pair.value }); + } + + for (var name in headers) + this.transport.setRequestHeader(name, headers[name]); + }, + + success: function() { + var status = this.getStatus(); + return !status || (status >= 200 && status < 300) || status == 304; + }, + + getStatus: function() { + try { + if (this.transport.status === 1223) return 204; + return this.transport.status || 0; + } catch (e) { return 0 } + }, + + respondToReadyState: function(readyState) { + var state = Ajax.Request.Events[readyState], response = new Ajax.Response(this); + + if (state == 'Complete') { + try { + this._complete = true; + (this.options['on' + response.status] + || this.options['on' + (this.success() ? 'Success' : 'Failure')] + || Prototype.emptyFunction)(response, response.headerJSON); + } catch (e) { + this.dispatchException(e); + } + + var contentType = response.getHeader('Content-type'); + if (this.options.evalJS == 'force' + || (this.options.evalJS && this.isSameOrigin() && contentType + && contentType.match(/^\s*(text|application)\/(x-)?(java|ecma)script(;.*)?\s*$/i))) + this.evalResponse(); + } + + try { + (this.options['on' + state] || Prototype.emptyFunction)(response, response.headerJSON); + Ajax.Responders.dispatch('on' + state, this, response, response.headerJSON); + } catch (e) { + this.dispatchException(e); + } + + if (state == 'Complete') { + this.transport.onreadystatechange = Prototype.emptyFunction; + } + }, + + isSameOrigin: function() { + var m = this.url.match(/^\s*https?:\/\/[^\/]*/); + return !m || (m[0] == '#{protocol}//#{domain}#{port}'.interpolate({ + protocol: location.protocol, + domain: document.domain, + port: location.port ? ':' + location.port : '' + })); + }, + + getHeader: function(name) { + try { + return this.transport.getResponseHeader(name) || null; + } catch (e) { return null; } + }, + + evalResponse: function() { + try { + return eval((this.transport.responseText || '').unfilterJSON()); + } catch (e) { + this.dispatchException(e); + } + }, + + dispatchException: function(exception) { + (this.options.onException || Prototype.emptyFunction)(this, exception); + Ajax.Responders.dispatch('onException', this, exception); + } +}); + +Ajax.Request.Events = + ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete']; + + + + + + + + +Ajax.Response = Class.create({ + initialize: function(request){ + this.request = request; + var transport = this.transport = request.transport, + readyState = this.readyState = transport.readyState; + + if ((readyState > 2 && !Prototype.Browser.IE) || readyState == 4) { + this.status = this.getStatus(); + this.statusText = this.getStatusText(); + this.responseText = String.interpret(transport.responseText); + this.headerJSON = this._getHeaderJSON(); + } + + if (readyState == 4) { + var xml = transport.responseXML; + this.responseXML = Object.isUndefined(xml) ? null : xml; + this.responseJSON = this._getResponseJSON(); + } + }, + + status: 0, + + statusText: '', + + getStatus: Ajax.Request.prototype.getStatus, + + getStatusText: function() { + try { + return this.transport.statusText || ''; + } catch (e) { return '' } + }, + + getHeader: Ajax.Request.prototype.getHeader, + + getAllHeaders: function() { + try { + return this.getAllResponseHeaders(); + } catch (e) { return null } + }, + + getResponseHeader: function(name) { + return this.transport.getResponseHeader(name); + }, + + getAllResponseHeaders: function() { + return this.transport.getAllResponseHeaders(); + }, + + _getHeaderJSON: function() { + var json = this.getHeader('X-JSON'); + if (!json) return null; + + try { + json = decodeURIComponent(escape(json)); + } catch(e) { + } + + try { + return json.evalJSON(this.request.options.sanitizeJSON || + !this.request.isSameOrigin()); + } catch (e) { + this.request.dispatchException(e); + } + }, + + _getResponseJSON: function() { + var options = this.request.options; + if (!options.evalJSON || (options.evalJSON != 'force' && + !(this.getHeader('Content-type') || '').include('application/json')) || + this.responseText.blank()) + return null; + try { + return this.responseText.evalJSON(options.sanitizeJSON || + !this.request.isSameOrigin()); + } catch (e) { + this.request.dispatchException(e); + } + } +}); + +Ajax.Updater = Class.create(Ajax.Request, { + initialize: function($super, container, url, options) { + this.container = { + success: (container.success || container), + failure: (container.failure || (container.success ? null : container)) + }; + + options = Object.clone(options); + var onComplete = options.onComplete; + options.onComplete = (function(response, json) { + this.updateContent(response.responseText); + if (Object.isFunction(onComplete)) onComplete(response, json); + }).bind(this); + + $super(url, options); + }, + + updateContent: function(responseText) { + var receiver = this.container[this.success() ? 'success' : 'failure'], + options = this.options; + + if (!options.evalScripts) responseText = responseText.stripScripts(); + + if (receiver = $(receiver)) { + if (options.insertion) { + if (Object.isString(options.insertion)) { + var insertion = { }; insertion[options.insertion] = responseText; + receiver.insert(insertion); + } + else options.insertion(receiver, responseText); + } + else receiver.update(responseText); + } + } +}); + +Ajax.PeriodicalUpdater = Class.create(Ajax.Base, { + initialize: function($super, container, url, options) { + $super(options); + this.onComplete = this.options.onComplete; + + this.frequency = (this.options.frequency || 2); + this.decay = (this.options.decay || 1); + + this.updater = { }; + this.container = container; + this.url = url; + + this.start(); + }, + + start: function() { + this.options.onComplete = this.updateComplete.bind(this); + this.onTimerEvent(); + }, + + stop: function() { + this.updater.options.onComplete = undefined; + clearTimeout(this.timer); + (this.onComplete || Prototype.emptyFunction).apply(this, arguments); + }, + + updateComplete: function(response) { + if (this.options.decay) { + this.decay = (response.responseText == this.lastText ? + this.decay * this.options.decay : 1); + + this.lastText = response.responseText; + } + this.timer = this.onTimerEvent.bind(this).delay(this.decay * this.frequency); + }, + + onTimerEvent: function() { + this.updater = new Ajax.Updater(this.container, this.url, this.options); + } +}); + +(function(GLOBAL) { + + var UNDEFINED; + var SLICE = Array.prototype.slice; + + var DIV = document.createElement('div'); + + + function $(element) { + if (arguments.length > 1) { + for (var i = 0, elements = [], length = arguments.length; i < length; i++) + elements.push($(arguments[i])); + return elements; + } + + if (Object.isString(element)) + element = document.getElementById(element); + return Element.extend(element); + } + + GLOBAL.$ = $; + + + if (!GLOBAL.Node) GLOBAL.Node = {}; + + if (!GLOBAL.Node.ELEMENT_NODE) { + Object.extend(GLOBAL.Node, { + ELEMENT_NODE: 1, + ATTRIBUTE_NODE: 2, + TEXT_NODE: 3, + CDATA_SECTION_NODE: 4, + ENTITY_REFERENCE_NODE: 5, + ENTITY_NODE: 6, + PROCESSING_INSTRUCTION_NODE: 7, + COMMENT_NODE: 8, + DOCUMENT_NODE: 9, + DOCUMENT_TYPE_NODE: 10, + DOCUMENT_FRAGMENT_NODE: 11, + NOTATION_NODE: 12 + }); + } + + var ELEMENT_CACHE = {}; + + function shouldUseCreationCache(tagName, attributes) { + if (tagName === 'select') return false; + if ('type' in attributes) return false; + return true; + } + + var HAS_EXTENDED_CREATE_ELEMENT_SYNTAX = (function(){ + try { + var el = document.createElement(''); + return el.tagName.toLowerCase() === 'input' && el.name === 'x'; + } + catch(err) { + return false; + } + })(); + + + var oldElement = GLOBAL.Element; + function Element(tagName, attributes) { + attributes = attributes || {}; + tagName = tagName.toLowerCase(); + + if (HAS_EXTENDED_CREATE_ELEMENT_SYNTAX && attributes.name) { + tagName = '<' + tagName + ' name="' + attributes.name + '">'; + delete attributes.name; + return Element.writeAttribute(document.createElement(tagName), attributes); + } + + if (!ELEMENT_CACHE[tagName]) + ELEMENT_CACHE[tagName] = Element.extend(document.createElement(tagName)); + + var node = shouldUseCreationCache(tagName, attributes) ? + ELEMENT_CACHE[tagName].cloneNode(false) : document.createElement(tagName); + + return Element.writeAttribute(node, attributes); + } + + GLOBAL.Element = Element; + + Object.extend(GLOBAL.Element, oldElement || {}); + if (oldElement) GLOBAL.Element.prototype = oldElement.prototype; + + Element.Methods = { ByTag: {}, Simulated: {} }; + + var methods = {}; + + var INSPECT_ATTRIBUTES = { id: 'id', className: 'class' }; + function inspect(element) { + element = $(element); + var result = '<' + element.tagName.toLowerCase(); + + var attribute, value; + for (var property in INSPECT_ATTRIBUTES) { + attribute = INSPECT_ATTRIBUTES[property]; + value = (element[property] || '').toString(); + if (value) result += ' ' + attribute + '=' + value.inspect(true); + } + + return result + '>'; + } + + methods.inspect = inspect; + + + function visible(element) { + return $(element).style.display !== 'none'; + } + + function toggle(element, bool) { + element = $(element); + if (Object.isUndefined(bool)) + bool = !Element.visible(element); + Element[bool ? 'show' : 'hide'](element); + + return element; + } + + function hide(element) { + element = $(element); + element.style.display = 'none'; + return element; + } + + function show(element) { + element = $(element); + element.style.display = ''; + return element; + } + + + Object.extend(methods, { + visible: visible, + toggle: toggle, + hide: hide, + show: show + }); + + + function remove(element) { + element = $(element); + element.parentNode.removeChild(element); + return element; + } + + var SELECT_ELEMENT_INNERHTML_BUGGY = (function(){ + var el = document.createElement("select"), + isBuggy = true; + el.innerHTML = ""; + if (el.options && el.options[0]) { + isBuggy = el.options[0].nodeName.toUpperCase() !== "OPTION"; + } + el = null; + return isBuggy; + })(); + + var TABLE_ELEMENT_INNERHTML_BUGGY = (function(){ + try { + var el = document.createElement("table"); + if (el && el.tBodies) { + el.innerHTML = "test"; + var isBuggy = typeof el.tBodies[0] == "undefined"; + el = null; + return isBuggy; + } + } catch (e) { + return true; + } + })(); + + var LINK_ELEMENT_INNERHTML_BUGGY = (function() { + try { + var el = document.createElement('div'); + el.innerHTML = ""; + var isBuggy = (el.childNodes.length === 0); + el = null; + return isBuggy; + } catch(e) { + return true; + } + })(); + + var ANY_INNERHTML_BUGGY = SELECT_ELEMENT_INNERHTML_BUGGY || + TABLE_ELEMENT_INNERHTML_BUGGY || LINK_ELEMENT_INNERHTML_BUGGY; + + var SCRIPT_ELEMENT_REJECTS_TEXTNODE_APPENDING = (function () { + var s = document.createElement("script"), + isBuggy = false; + try { + s.appendChild(document.createTextNode("")); + isBuggy = !s.firstChild || + s.firstChild && s.firstChild.nodeType !== 3; + } catch (e) { + isBuggy = true; + } + s = null; + return isBuggy; + })(); + + function update(element, content) { + element = $(element); + + var descendants = element.getElementsByTagName('*'), + i = descendants.length; + while (i--) purgeElement(descendants[i]); + + if (content && content.toElement) + content = content.toElement(); + + if (Object.isElement(content)) + return element.update().insert(content); + + + content = Object.toHTML(content); + var tagName = element.tagName.toUpperCase(); + + if (tagName === 'SCRIPT' && SCRIPT_ELEMENT_REJECTS_TEXTNODE_APPENDING) { + element.text = content; + return element; + } + + if (ANY_INNERHTML_BUGGY) { + if (tagName in INSERTION_TRANSLATIONS.tags) { + while (element.firstChild) + element.removeChild(element.firstChild); + + var nodes = getContentFromAnonymousElement(tagName, content.stripScripts()); + for (var i = 0, node; node = nodes[i]; i++) + element.appendChild(node); + + } else if (LINK_ELEMENT_INNERHTML_BUGGY && Object.isString(content) && content.indexOf(' -1) { + while (element.firstChild) + element.removeChild(element.firstChild); + + var nodes = getContentFromAnonymousElement(tagName, + content.stripScripts(), true); + + for (var i = 0, node; node = nodes[i]; i++) + element.appendChild(node); + } else { + element.innerHTML = content.stripScripts(); + } + } else { + element.innerHTML = content.stripScripts(); + } + + content.evalScripts.bind(content).defer(); + return element; + } + + function replace(element, content) { + element = $(element); + + if (content && content.toElement) { + content = content.toElement(); + } else if (!Object.isElement(content)) { + content = Object.toHTML(content); + var range = element.ownerDocument.createRange(); + range.selectNode(element); + content.evalScripts.bind(content).defer(); + content = range.createContextualFragment(content.stripScripts()); + } + + element.parentNode.replaceChild(content, element); + return element; + } + + var INSERTION_TRANSLATIONS = { + before: function(element, node) { + element.parentNode.insertBefore(node, element); + }, + top: function(element, node) { + element.insertBefore(node, element.firstChild); + }, + bottom: function(element, node) { + element.appendChild(node); + }, + after: function(element, node) { + element.parentNode.insertBefore(node, element.nextSibling); + }, + + tags: { + TABLE: ['', '
    ', 1], + TBODY: ['', '
    ', 2], + TR: ['', '
    ', 3], + TD: ['
    ', '
    ', 4], + SELECT: ['', 1] + } + }; + + var tags = INSERTION_TRANSLATIONS.tags; + + Object.extend(tags, { + THEAD: tags.TBODY, + TFOOT: tags.TBODY, + TH: tags.TD + }); + + function replace_IE(element, content) { + element = $(element); + if (content && content.toElement) + content = content.toElement(); + if (Object.isElement(content)) { + element.parentNode.replaceChild(content, element); + return element; + } + + content = Object.toHTML(content); + var parent = element.parentNode, tagName = parent.tagName.toUpperCase(); + + if (tagName in INSERTION_TRANSLATIONS.tags) { + var nextSibling = Element.next(element); + var fragments = getContentFromAnonymousElement( + tagName, content.stripScripts()); + + parent.removeChild(element); + + var iterator; + if (nextSibling) + iterator = function(node) { parent.insertBefore(node, nextSibling) }; + else + iterator = function(node) { parent.appendChild(node); } + + fragments.each(iterator); + } else { + element.outerHTML = content.stripScripts(); + } + + content.evalScripts.bind(content).defer(); + return element; + } + + if ('outerHTML' in document.documentElement) + replace = replace_IE; + + function isContent(content) { + if (Object.isUndefined(content) || content === null) return false; + + if (Object.isString(content) || Object.isNumber(content)) return true; + if (Object.isElement(content)) return true; + if (content.toElement || content.toHTML) return true; + + return false; + } + + function insertContentAt(element, content, position) { + position = position.toLowerCase(); + var method = INSERTION_TRANSLATIONS[position]; + + if (content && content.toElement) content = content.toElement(); + if (Object.isElement(content)) { + method(element, content); + return element; + } + + content = Object.toHTML(content); + var tagName = ((position === 'before' || position === 'after') ? + element.parentNode : element).tagName.toUpperCase(); + + var childNodes = getContentFromAnonymousElement(tagName, content.stripScripts()); + + if (position === 'top' || position === 'after') childNodes.reverse(); + + for (var i = 0, node; node = childNodes[i]; i++) + method(element, node); + + content.evalScripts.bind(content).defer(); + } + + function insert(element, insertions) { + element = $(element); + + if (isContent(insertions)) + insertions = { bottom: insertions }; + + for (var position in insertions) + insertContentAt(element, insertions[position], position); + + return element; + } + + function wrap(element, wrapper, attributes) { + element = $(element); + + if (Object.isElement(wrapper)) { + $(wrapper).writeAttribute(attributes || {}); + } else if (Object.isString(wrapper)) { + wrapper = new Element(wrapper, attributes); + } else { + wrapper = new Element('div', wrapper); + } + + if (element.parentNode) + element.parentNode.replaceChild(wrapper, element); + + wrapper.appendChild(element); + + return wrapper; + } + + function cleanWhitespace(element) { + element = $(element); + var node = element.firstChild; + + while (node) { + var nextNode = node.nextSibling; + if (node.nodeType === Node.TEXT_NODE && !/\S/.test(node.nodeValue)) + element.removeChild(node); + node = nextNode; + } + return element; + } + + function empty(element) { + return $(element).innerHTML.blank(); + } + + function getContentFromAnonymousElement(tagName, html, force) { + var t = INSERTION_TRANSLATIONS.tags[tagName], div = DIV; + + var workaround = !!t; + if (!workaround && force) { + workaround = true; + t = ['', '', 0]; + } + + if (workaround) { + div.innerHTML = ' ' + t[0] + html + t[1]; + div.removeChild(div.firstChild); + for (var i = t[2]; i--; ) + div = div.firstChild; + } else { + div.innerHTML = html; + } + + return $A(div.childNodes); + } + + function clone(element, deep) { + if (!(element = $(element))) return; + var clone = element.cloneNode(deep); + if (!HAS_UNIQUE_ID_PROPERTY) { + clone._prototypeUID = UNDEFINED; + if (deep) { + var descendants = Element.select(clone, '*'), + i = descendants.length; + while (i--) + descendants[i]._prototypeUID = UNDEFINED; + } + } + return Element.extend(clone); + } + + function purgeElement(element) { + var uid = getUniqueElementID(element); + if (uid) { + Element.stopObserving(element); + if (!HAS_UNIQUE_ID_PROPERTY) + element._prototypeUID = UNDEFINED; + delete Element.Storage[uid]; + } + } + + function purgeCollection(elements) { + var i = elements.length; + while (i--) + purgeElement(elements[i]); + } + + function purgeCollection_IE(elements) { + var i = elements.length, element, uid; + while (i--) { + element = elements[i]; + uid = getUniqueElementID(element); + delete Element.Storage[uid]; + delete Event.cache[uid]; + } + } + + if (HAS_UNIQUE_ID_PROPERTY) { + purgeCollection = purgeCollection_IE; + } + + + function purge(element) { + if (!(element = $(element))) return; + purgeElement(element); + + var descendants = element.getElementsByTagName('*'), + i = descendants.length; + + while (i--) purgeElement(descendants[i]); + + return null; + } + + Object.extend(methods, { + remove: remove, + update: update, + replace: replace, + insert: insert, + wrap: wrap, + cleanWhitespace: cleanWhitespace, + empty: empty, + clone: clone, + purge: purge + }); + + + + function recursivelyCollect(element, property, maximumLength) { + element = $(element); + maximumLength = maximumLength || -1; + var elements = []; + + while (element = element[property]) { + if (element.nodeType === Node.ELEMENT_NODE) + elements.push(Element.extend(element)); + + if (elements.length === maximumLength) break; + } + + return elements; + } + + + function ancestors(element) { + return recursivelyCollect(element, 'parentNode'); + } + + function descendants(element) { + return Element.select(element, '*'); + } + + function firstDescendant(element) { + element = $(element).firstChild; + while (element && element.nodeType !== Node.ELEMENT_NODE) + element = element.nextSibling; + + return $(element); + } + + function immediateDescendants(element) { + var results = [], child = $(element).firstChild; + + while (child) { + if (child.nodeType === Node.ELEMENT_NODE) + results.push(Element.extend(child)); + + child = child.nextSibling; + } + + return results; + } + + function previousSiblings(element) { + return recursivelyCollect(element, 'previousSibling'); + } + + function nextSiblings(element) { + return recursivelyCollect(element, 'nextSibling'); + } + + function siblings(element) { + element = $(element); + var previous = previousSiblings(element), + next = nextSiblings(element); + return previous.reverse().concat(next); + } + + function match(element, selector) { + element = $(element); + + if (Object.isString(selector)) + return Prototype.Selector.match(element, selector); + + return selector.match(element); + } + + + function _recursivelyFind(element, property, expression, index) { + element = $(element), expression = expression || 0, index = index || 0; + if (Object.isNumber(expression)) { + index = expression, expression = null; + } + + while (element = element[property]) { + if (element.nodeType !== 1) continue; + if (expression && !Prototype.Selector.match(element, expression)) + continue; + if (--index >= 0) continue; + + return Element.extend(element); + } + } + + + function up(element, expression, index) { + element = $(element); + + if (arguments.length === 1) return $(element.parentNode); + return _recursivelyFind(element, 'parentNode', expression, index); + } + + function down(element, expression, index) { + element = $(element), expression = expression || 0, index = index || 0; + + if (Object.isNumber(expression)) + index = expression, expression = '*'; + + var node = Prototype.Selector.select(expression, element)[index]; + return Element.extend(node); + } + + function previous(element, expression, index) { + return _recursivelyFind(element, 'previousSibling', expression, index); + } + + function next(element, expression, index) { + return _recursivelyFind(element, 'nextSibling', expression, index); + } + + function select(element) { + element = $(element); + var expressions = SLICE.call(arguments, 1).join(', '); + return Prototype.Selector.select(expressions, element); + } + + function adjacent(element) { + element = $(element); + var expressions = SLICE.call(arguments, 1).join(', '); + var siblings = Element.siblings(element), results = []; + for (var i = 0, sibling; sibling = siblings[i]; i++) { + if (Prototype.Selector.match(sibling, expressions)) + results.push(sibling); + } + + return results; + } + + function descendantOf_DOM(element, ancestor) { + element = $(element), ancestor = $(ancestor); + while (element = element.parentNode) + if (element === ancestor) return true; + return false; + } + + function descendantOf_contains(element, ancestor) { + element = $(element), ancestor = $(ancestor); + if (!ancestor.contains) return descendantOf_DOM(element, ancestor); + return ancestor.contains(element) && ancestor !== element; + } + + function descendantOf_compareDocumentPosition(element, ancestor) { + element = $(element), ancestor = $(ancestor); + return (element.compareDocumentPosition(ancestor) & 8) === 8; + } + + var descendantOf; + if (DIV.compareDocumentPosition) { + descendantOf = descendantOf_compareDocumentPosition; + } else if (DIV.contains) { + descendantOf = descendantOf_contains; + } else { + descendantOf = descendantOf_DOM; + } + + + Object.extend(methods, { + recursivelyCollect: recursivelyCollect, + ancestors: ancestors, + descendants: descendants, + firstDescendant: firstDescendant, + immediateDescendants: immediateDescendants, + previousSiblings: previousSiblings, + nextSiblings: nextSiblings, + siblings: siblings, + match: match, + up: up, + down: down, + previous: previous, + next: next, + select: select, + adjacent: adjacent, + descendantOf: descendantOf, + + getElementsBySelector: select, + + childElements: immediateDescendants + }); + + + var idCounter = 1; + function identify(element) { + element = $(element); + var id = Element.readAttribute(element, 'id'); + if (id) return id; + + do { id = 'anonymous_element_' + idCounter++ } while ($(id)); + + Element.writeAttribute(element, 'id', id); + return id; + } + + + function readAttribute(element, name) { + return $(element).getAttribute(name); + } + + function readAttribute_IE(element, name) { + element = $(element); + + var table = ATTRIBUTE_TRANSLATIONS.read; + if (table.values[name]) + return table.values[name](element, name); + + if (table.names[name]) name = table.names[name]; + + if (name.include(':')) { + if (!element.attributes || !element.attributes[name]) return null; + return element.attributes[name].value; + } + + return element.getAttribute(name); + } + + function readAttribute_Opera(element, name) { + if (name === 'title') return element.title; + return element.getAttribute(name); + } + + var PROBLEMATIC_ATTRIBUTE_READING = (function() { + DIV.setAttribute('onclick', Prototype.emptyFunction); + var value = DIV.getAttribute('onclick'); + var isFunction = (typeof value === 'function'); + DIV.removeAttribute('onclick'); + return isFunction; + })(); + + if (PROBLEMATIC_ATTRIBUTE_READING) { + readAttribute = readAttribute_IE; + } else if (Prototype.Browser.Opera) { + readAttribute = readAttribute_Opera; + } + + + function writeAttribute(element, name, value) { + element = $(element); + var attributes = {}, table = ATTRIBUTE_TRANSLATIONS.write; + + if (typeof name === 'object') { + attributes = name; + } else { + attributes[name] = Object.isUndefined(value) ? true : value; + } + + for (var attr in attributes) { + name = table.names[attr] || attr; + value = attributes[attr]; + if (table.values[attr]) + name = table.values[attr](element, value); + if (value === false || value === null) + element.removeAttribute(name); + else if (value === true) + element.setAttribute(name, name); + else element.setAttribute(name, value); + } + + return element; + } + + function hasAttribute(element, attribute) { + attribute = ATTRIBUTE_TRANSLATIONS.has[attribute] || attribute; + var node = $(element).getAttributeNode(attribute); + return !!(node && node.specified); + } + + GLOBAL.Element.Methods.Simulated.hasAttribute = hasAttribute; + + function classNames(element) { + return new Element.ClassNames(element); + } + + var regExpCache = {}; + function getRegExpForClassName(className) { + if (regExpCache[className]) return regExpCache[className]; + + var re = new RegExp("(^|\\s+)" + className + "(\\s+|$)"); + regExpCache[className] = re; + return re; + } + + function hasClassName(element, className) { + if (!(element = $(element))) return; + + var elementClassName = element.className; + + if (elementClassName.length === 0) return false; + if (elementClassName === className) return true; + + return getRegExpForClassName(className).test(elementClassName); + } + + function addClassName(element, className) { + if (!(element = $(element))) return; + + if (!hasClassName(element, className)) + element.className += (element.className ? ' ' : '') + className; + + return element; + } + + function removeClassName(element, className) { + if (!(element = $(element))) return; + + element.className = element.className.replace( + getRegExpForClassName(className), ' ').strip(); + + return element; + } + + function toggleClassName(element, className, bool) { + if (!(element = $(element))) return; + + if (Object.isUndefined(bool)) + bool = !hasClassName(element, className); + + var method = Element[bool ? 'addClassName' : 'removeClassName']; + return method(element, className); + } + + var ATTRIBUTE_TRANSLATIONS = {}; + + var classProp = 'className', forProp = 'for'; + + DIV.setAttribute(classProp, 'x'); + if (DIV.className !== 'x') { + DIV.setAttribute('class', 'x'); + if (DIV.className === 'x') + classProp = 'class'; + } + + var LABEL = document.createElement('label'); + LABEL.setAttribute(forProp, 'x'); + if (LABEL.htmlFor !== 'x') { + LABEL.setAttribute('htmlFor', 'x'); + if (LABEL.htmlFor === 'x') + forProp = 'htmlFor'; + } + LABEL = null; + + function _getAttr(element, attribute) { + return element.getAttribute(attribute); + } + + function _getAttr2(element, attribute) { + return element.getAttribute(attribute, 2); + } + + function _getAttrNode(element, attribute) { + var node = element.getAttributeNode(attribute); + return node ? node.value : ''; + } + + function _getFlag(element, attribute) { + return $(element).hasAttribute(attribute) ? attribute : null; + } + + DIV.onclick = Prototype.emptyFunction; + var onclickValue = DIV.getAttribute('onclick'); + + var _getEv; + + if (String(onclickValue).indexOf('{') > -1) { + _getEv = function(element, attribute) { + var value = element.getAttribute(attribute); + if (!value) return null; + value = value.toString(); + value = value.split('{')[1]; + value = value.split('}')[0]; + return value.strip(); + }; + } + else if (onclickValue === '') { + _getEv = function(element, attribute) { + var value = element.getAttribute(attribute); + if (!value) return null; + return value.strip(); + }; + } + + ATTRIBUTE_TRANSLATIONS.read = { + names: { + 'class': classProp, + 'className': classProp, + 'for': forProp, + 'htmlFor': forProp + }, + + values: { + style: function(element) { + return element.style.cssText.toLowerCase(); + }, + title: function(element) { + return element.title; + } + } + }; + + ATTRIBUTE_TRANSLATIONS.write = { + names: { + className: 'class', + htmlFor: 'for', + cellpadding: 'cellPadding', + cellspacing: 'cellSpacing' + }, + + values: { + checked: function(element, value) { + element.checked = !!value; + }, + + style: function(element, value) { + element.style.cssText = value ? value : ''; + } + } + }; + + ATTRIBUTE_TRANSLATIONS.has = { names: {} }; + + Object.extend(ATTRIBUTE_TRANSLATIONS.write.names, + ATTRIBUTE_TRANSLATIONS.read.names); + + var CAMEL_CASED_ATTRIBUTE_NAMES = $w('colSpan rowSpan vAlign dateTime ' + + 'accessKey tabIndex encType maxLength readOnly longDesc frameBorder'); + + for (var i = 0, attr; attr = CAMEL_CASED_ATTRIBUTE_NAMES[i]; i++) { + ATTRIBUTE_TRANSLATIONS.write.names[attr.toLowerCase()] = attr; + ATTRIBUTE_TRANSLATIONS.has.names[attr.toLowerCase()] = attr; + } + + Object.extend(ATTRIBUTE_TRANSLATIONS.read.values, { + href: _getAttr2, + src: _getAttr2, + type: _getAttr, + action: _getAttrNode, + disabled: _getFlag, + checked: _getFlag, + readonly: _getFlag, + multiple: _getFlag, + onload: _getEv, + onunload: _getEv, + onclick: _getEv, + ondblclick: _getEv, + onmousedown: _getEv, + onmouseup: _getEv, + onmouseover: _getEv, + onmousemove: _getEv, + onmouseout: _getEv, + onfocus: _getEv, + onblur: _getEv, + onkeypress: _getEv, + onkeydown: _getEv, + onkeyup: _getEv, + onsubmit: _getEv, + onreset: _getEv, + onselect: _getEv, + onchange: _getEv + }); + + + Object.extend(methods, { + identify: identify, + readAttribute: readAttribute, + writeAttribute: writeAttribute, + classNames: classNames, + hasClassName: hasClassName, + addClassName: addClassName, + removeClassName: removeClassName, + toggleClassName: toggleClassName + }); + + + function normalizeStyleName(style) { + if (style === 'float' || style === 'styleFloat') + return 'cssFloat'; + return style.camelize(); + } + + function normalizeStyleName_IE(style) { + if (style === 'float' || style === 'cssFloat') + return 'styleFloat'; + return style.camelize(); + } + + function setStyle(element, styles) { + element = $(element); + var elementStyle = element.style, match; + + if (Object.isString(styles)) { + elementStyle.cssText += ';' + styles; + if (styles.include('opacity')) { + var opacity = styles.match(/opacity:\s*(\d?\.?\d*)/)[1]; + Element.setOpacity(element, opacity); + } + return element; + } + + for (var property in styles) { + if (property === 'opacity') { + Element.setOpacity(element, styles[property]); + } else { + var value = styles[property]; + if (property === 'float' || property === 'cssFloat') { + property = Object.isUndefined(elementStyle.styleFloat) ? + 'cssFloat' : 'styleFloat'; + } + elementStyle[property] = value; + } + } + + return element; + } + + + function getStyle(element, style) { + element = $(element); + style = normalizeStyleName(style); + + var value = element.style[style]; + if (!value || value === 'auto') { + var css = document.defaultView.getComputedStyle(element, null); + value = css ? css[style] : null; + } + + if (style === 'opacity') return value ? parseFloat(value) : 1.0; + return value === 'auto' ? null : value; + } + + function getStyle_Opera(element, style) { + switch (style) { + case 'height': case 'width': + if (!Element.visible(element)) return null; + + var dim = parseInt(getStyle(element, style), 10); + + if (dim !== element['offset' + style.capitalize()]) + return dim + 'px'; + + return Element.measure(element, style); + + default: return getStyle(element, style); + } + } + + function getStyle_IE(element, style) { + element = $(element); + style = normalizeStyleName_IE(style); + + var value = element.style[style]; + if (!value && element.currentStyle) { + value = element.currentStyle[style]; + } + + if (style === 'opacity' && !STANDARD_CSS_OPACITY_SUPPORTED) + return getOpacity_IE(element); + + if (value === 'auto') { + if ((style === 'width' || style === 'height') && Element.visible(element)) + return Element.measure(element, style) + 'px'; + return null; + } + + return value; + } + + function stripAlphaFromFilter_IE(filter) { + return (filter || '').replace(/alpha\([^\)]*\)/gi, ''); + } + + function hasLayout_IE(element) { + if (!element.currentStyle.hasLayout) + element.style.zoom = 1; + return element; + } + + var STANDARD_CSS_OPACITY_SUPPORTED = (function() { + DIV.style.cssText = "opacity:.55"; + return /^0.55/.test(DIV.style.opacity); + })(); + + function setOpacity(element, value) { + element = $(element); + if (value == 1 || value === '') value = ''; + else if (value < 0.00001) value = 0; + element.style.opacity = value; + return element; + } + + function setOpacity_IE(element, value) { + if (STANDARD_CSS_OPACITY_SUPPORTED) + return setOpacity(element, value); + + element = hasLayout_IE($(element)); + var filter = Element.getStyle(element, 'filter'), + style = element.style; + + if (value == 1 || value === '') { + filter = stripAlphaFromFilter_IE(filter); + if (filter) style.filter = filter; + else style.removeAttribute('filter'); + return element; + } + + if (value < 0.00001) value = 0; + + style.filter = stripAlphaFromFilter_IE(filter) + + 'alpha(opacity=' + (value * 100) + ')'; + + return element; + } + + + function getOpacity(element) { + return Element.getStyle(element, 'opacity'); + } + + function getOpacity_IE(element) { + if (STANDARD_CSS_OPACITY_SUPPORTED) + return getOpacity(element); + + var filter = Element.getStyle(element, 'filter'); + if (filter.length === 0) return 1.0; + var match = (filter || '').match(/alpha\(opacity=(.*)\)/); + if (match[1]) return parseFloat(match[1]) / 100; + return 1.0; + } + + + Object.extend(methods, { + setStyle: setStyle, + getStyle: getStyle, + setOpacity: setOpacity, + getOpacity: getOpacity + }); + + if ('styleFloat' in DIV.style) { + methods.getStyle = getStyle_IE; + methods.setOpacity = setOpacity_IE; + methods.getOpacity = getOpacity_IE; + } + + var UID = 0; + + GLOBAL.Element.Storage = { UID: 1 }; + + function getUniqueElementID(element) { + if (element === window) return 0; + + if (typeof element._prototypeUID === 'undefined') + element._prototypeUID = Element.Storage.UID++; + return element._prototypeUID; + } + + function getUniqueElementID_IE(element) { + if (element === window) return 0; + if (element == document) return 1; + return element.uniqueID; + } + + var HAS_UNIQUE_ID_PROPERTY = ('uniqueID' in DIV); + if (HAS_UNIQUE_ID_PROPERTY) + getUniqueElementID = getUniqueElementID_IE; + + function getStorage(element) { + if (!(element = $(element))) return; + + var uid = getUniqueElementID(element); + + if (!Element.Storage[uid]) + Element.Storage[uid] = $H(); + + return Element.Storage[uid]; + } + + function store(element, key, value) { + if (!(element = $(element))) return; + var storage = getStorage(element); + if (arguments.length === 2) { + storage.update(key); + } else { + storage.set(key, value); + } + return element; + } + + function retrieve(element, key, defaultValue) { + if (!(element = $(element))) return; + var storage = getStorage(element), value = storage.get(key); + + if (Object.isUndefined(value)) { + storage.set(key, defaultValue); + value = defaultValue; + } + + return value; + } + + + Object.extend(methods, { + getStorage: getStorage, + store: store, + retrieve: retrieve + }); + + + var Methods = {}, ByTag = Element.Methods.ByTag, + F = Prototype.BrowserFeatures; + + if (!F.ElementExtensions && ('__proto__' in DIV)) { + GLOBAL.HTMLElement = {}; + GLOBAL.HTMLElement.prototype = DIV['__proto__']; + F.ElementExtensions = true; + } + + function checkElementPrototypeDeficiency(tagName) { + if (typeof window.Element === 'undefined') return false; + var proto = window.Element.prototype; + if (proto) { + var id = '_' + (Math.random() + '').slice(2), + el = document.createElement(tagName); + proto[id] = 'x'; + var isBuggy = (el[id] !== 'x'); + delete proto[id]; + el = null; + return isBuggy; + } + + return false; + } + + var HTMLOBJECTELEMENT_PROTOTYPE_BUGGY = + checkElementPrototypeDeficiency('object'); + + function extendElementWith(element, methods) { + for (var property in methods) { + var value = methods[property]; + if (Object.isFunction(value) && !(property in element)) + element[property] = value.methodize(); + } + } + + var EXTENDED = {}; + function elementIsExtended(element) { + var uid = getUniqueElementID(element); + return (uid in EXTENDED); + } + + function extend(element) { + if (!element || elementIsExtended(element)) return element; + if (element.nodeType !== Node.ELEMENT_NODE || element == window) + return element; + + var methods = Object.clone(Methods), + tagName = element.tagName.toUpperCase(); + + if (ByTag[tagName]) Object.extend(methods, ByTag[tagName]); + + extendElementWith(element, methods); + EXTENDED[getUniqueElementID(element)] = true; + return element; + } + + function extend_IE8(element) { + if (!element || elementIsExtended(element)) return element; + + var t = element.tagName; + if (t && (/^(?:object|applet|embed)$/i.test(t))) { + extendElementWith(element, Element.Methods); + extendElementWith(element, Element.Methods.Simulated); + extendElementWith(element, Element.Methods.ByTag[t.toUpperCase()]); + } + + return element; + } + + if (F.SpecificElementExtensions) { + extend = HTMLOBJECTELEMENT_PROTOTYPE_BUGGY ? extend_IE8 : Prototype.K; + } + + function addMethodsToTagName(tagName, methods) { + tagName = tagName.toUpperCase(); + if (!ByTag[tagName]) ByTag[tagName] = {}; + Object.extend(ByTag[tagName], methods); + } + + function mergeMethods(destination, methods, onlyIfAbsent) { + if (Object.isUndefined(onlyIfAbsent)) onlyIfAbsent = false; + for (var property in methods) { + var value = methods[property]; + if (!Object.isFunction(value)) continue; + if (!onlyIfAbsent || !(property in destination)) + destination[property] = value.methodize(); + } + } + + function findDOMClass(tagName) { + var klass; + var trans = { + "OPTGROUP": "OptGroup", "TEXTAREA": "TextArea", "P": "Paragraph", + "FIELDSET": "FieldSet", "UL": "UList", "OL": "OList", "DL": "DList", + "DIR": "Directory", "H1": "Heading", "H2": "Heading", "H3": "Heading", + "H4": "Heading", "H5": "Heading", "H6": "Heading", "Q": "Quote", + "INS": "Mod", "DEL": "Mod", "A": "Anchor", "IMG": "Image", "CAPTION": + "TableCaption", "COL": "TableCol", "COLGROUP": "TableCol", "THEAD": + "TableSection", "TFOOT": "TableSection", "TBODY": "TableSection", "TR": + "TableRow", "TH": "TableCell", "TD": "TableCell", "FRAMESET": + "FrameSet", "IFRAME": "IFrame" + }; + if (trans[tagName]) klass = 'HTML' + trans[tagName] + 'Element'; + if (window[klass]) return window[klass]; + klass = 'HTML' + tagName + 'Element'; + if (window[klass]) return window[klass]; + klass = 'HTML' + tagName.capitalize() + 'Element'; + if (window[klass]) return window[klass]; + + var element = document.createElement(tagName), + proto = element['__proto__'] || element.constructor.prototype; + + element = null; + return proto; + } + + function addMethods(methods) { + if (arguments.length === 0) addFormMethods(); + + if (arguments.length === 2) { + var tagName = methods; + methods = arguments[1]; + } + + if (!tagName) { + Object.extend(Element.Methods, methods || {}); + } else { + if (Object.isArray(tagName)) { + for (var i = 0, tag; tag = tagName[i]; i++) + addMethodsToTagName(tag, methods); + } else { + addMethodsToTagName(tagName, methods); + } + } + + var ELEMENT_PROTOTYPE = window.HTMLElement ? HTMLElement.prototype : + Element.prototype; + + if (F.ElementExtensions) { + mergeMethods(ELEMENT_PROTOTYPE, Element.Methods); + mergeMethods(ELEMENT_PROTOTYPE, Element.Methods.Simulated, true); + } + + if (F.SpecificElementExtensions) { + for (var tag in Element.Methods.ByTag) { + var klass = findDOMClass(tag); + if (Object.isUndefined(klass)) continue; + mergeMethods(klass.prototype, ByTag[tag]); + } + } + + Object.extend(Element, Element.Methods); + Object.extend(Element, Element.Methods.Simulated); + delete Element.ByTag; + delete Element.Simulated; + + Element.extend.refresh(); + + ELEMENT_CACHE = {}; + } + + Object.extend(GLOBAL.Element, { + extend: extend, + addMethods: addMethods + }); + + if (extend === Prototype.K) { + GLOBAL.Element.extend.refresh = Prototype.emptyFunction; + } else { + GLOBAL.Element.extend.refresh = function() { + if (Prototype.BrowserFeatures.ElementExtensions) return; + Object.extend(Methods, Element.Methods); + Object.extend(Methods, Element.Methods.Simulated); + + EXTENDED = {}; + }; + } + + function addFormMethods() { + Object.extend(Form, Form.Methods); + Object.extend(Form.Element, Form.Element.Methods); + Object.extend(Element.Methods.ByTag, { + "FORM": Object.clone(Form.Methods), + "INPUT": Object.clone(Form.Element.Methods), + "SELECT": Object.clone(Form.Element.Methods), + "TEXTAREA": Object.clone(Form.Element.Methods), + "BUTTON": Object.clone(Form.Element.Methods) + }); + } + + Element.addMethods(methods); + +})(this); +(function() { + + function toDecimal(pctString) { + var match = pctString.match(/^(\d+)%?$/i); + if (!match) return null; + return (Number(match[1]) / 100); + } + + function getRawStyle(element, style) { + element = $(element); + + var value = element.style[style]; + if (!value || value === 'auto') { + var css = document.defaultView.getComputedStyle(element, null); + value = css ? css[style] : null; + } + + if (style === 'opacity') return value ? parseFloat(value) : 1.0; + return value === 'auto' ? null : value; + } + + function getRawStyle_IE(element, style) { + var value = element.style[style]; + if (!value && element.currentStyle) { + value = element.currentStyle[style]; + } + return value; + } + + function getContentWidth(element, context) { + var boxWidth = element.offsetWidth; + + var bl = getPixelValue(element, 'borderLeftWidth', context) || 0; + var br = getPixelValue(element, 'borderRightWidth', context) || 0; + var pl = getPixelValue(element, 'paddingLeft', context) || 0; + var pr = getPixelValue(element, 'paddingRight', context) || 0; + + return boxWidth - bl - br - pl - pr; + } + + if ('currentStyle' in document.documentElement) { + getRawStyle = getRawStyle_IE; + } + + + function getPixelValue(value, property, context) { + var element = null; + if (Object.isElement(value)) { + element = value; + value = getRawStyle(element, property); + } + + if (value === null || Object.isUndefined(value)) { + return null; + } + + if ((/^(?:-)?\d+(\.\d+)?(px)?$/i).test(value)) { + return window.parseFloat(value); + } + + var isPercentage = value.include('%'), isViewport = (context === document.viewport); + + if (/\d/.test(value) && element && element.runtimeStyle && !(isPercentage && isViewport)) { + var style = element.style.left, rStyle = element.runtimeStyle.left; + element.runtimeStyle.left = element.currentStyle.left; + element.style.left = value || 0; + value = element.style.pixelLeft; + element.style.left = style; + element.runtimeStyle.left = rStyle; + + return value; + } + + if (element && isPercentage) { + context = context || element.parentNode; + var decimal = toDecimal(value), whole = null; + + var isHorizontal = property.include('left') || property.include('right') || + property.include('width'); + + var isVertical = property.include('top') || property.include('bottom') || + property.include('height'); + + if (context === document.viewport) { + if (isHorizontal) { + whole = document.viewport.getWidth(); + } else if (isVertical) { + whole = document.viewport.getHeight(); + } + } else { + if (isHorizontal) { + whole = $(context).measure('width'); + } else if (isVertical) { + whole = $(context).measure('height'); + } + } + + return (whole === null) ? 0 : whole * decimal; + } + + return 0; + } + + function toCSSPixels(number) { + if (Object.isString(number) && number.endsWith('px')) + return number; + return number + 'px'; + } + + function isDisplayed(element) { + while (element && element.parentNode) { + var display = element.getStyle('display'); + if (display === 'none') { + return false; + } + element = $(element.parentNode); + } + return true; + } + + var hasLayout = Prototype.K; + if ('currentStyle' in document.documentElement) { + hasLayout = function(element) { + if (!element.currentStyle.hasLayout) { + element.style.zoom = 1; + } + return element; + }; + } + + function cssNameFor(key) { + if (key.include('border')) key = key + '-width'; + return key.camelize(); + } + + Element.Layout = Class.create(Hash, { + initialize: function($super, element, preCompute) { + $super(); + this.element = $(element); + + Element.Layout.PROPERTIES.each( function(property) { + this._set(property, null); + }, this); + + if (preCompute) { + this._preComputing = true; + this._begin(); + Element.Layout.PROPERTIES.each( this._compute, this ); + this._end(); + this._preComputing = false; + } + }, + + _set: function(property, value) { + return Hash.prototype.set.call(this, property, value); + }, + + set: function(property, value) { + throw "Properties of Element.Layout are read-only."; + }, + + get: function($super, property) { + var value = $super(property); + return value === null ? this._compute(property) : value; + }, + + _begin: function() { + if (this._isPrepared()) return; + + var element = this.element; + if (isDisplayed(element)) { + this._setPrepared(true); + return; + } + + + var originalStyles = { + position: element.style.position || '', + width: element.style.width || '', + visibility: element.style.visibility || '', + display: element.style.display || '' + }; + + element.store('prototype_original_styles', originalStyles); + + var position = getRawStyle(element, 'position'), width = element.offsetWidth; + + if (width === 0 || width === null) { + element.style.display = 'block'; + width = element.offsetWidth; + } + + var context = (position === 'fixed') ? document.viewport : + element.parentNode; + + var tempStyles = { + visibility: 'hidden', + display: 'block' + }; + + if (position !== 'fixed') tempStyles.position = 'absolute'; + + element.setStyle(tempStyles); + + var positionedWidth = element.offsetWidth, newWidth; + if (width && (positionedWidth === width)) { + newWidth = getContentWidth(element, context); + } else if (position === 'absolute' || position === 'fixed') { + newWidth = getContentWidth(element, context); + } else { + var parent = element.parentNode, pLayout = $(parent).getLayout(); + + newWidth = pLayout.get('width') - + this.get('margin-left') - + this.get('border-left') - + this.get('padding-left') - + this.get('padding-right') - + this.get('border-right') - + this.get('margin-right'); + } + + element.setStyle({ width: newWidth + 'px' }); + + this._setPrepared(true); + }, + + _end: function() { + var element = this.element; + var originalStyles = element.retrieve('prototype_original_styles'); + element.store('prototype_original_styles', null); + element.setStyle(originalStyles); + this._setPrepared(false); + }, + + _compute: function(property) { + var COMPUTATIONS = Element.Layout.COMPUTATIONS; + if (!(property in COMPUTATIONS)) { + throw "Property not found."; + } + + return this._set(property, COMPUTATIONS[property].call(this, this.element)); + }, + + _isPrepared: function() { + return this.element.retrieve('prototype_element_layout_prepared', false); + }, + + _setPrepared: function(bool) { + return this.element.store('prototype_element_layout_prepared', bool); + }, + + toObject: function() { + var args = $A(arguments); + var keys = (args.length === 0) ? Element.Layout.PROPERTIES : + args.join(' ').split(' '); + var obj = {}; + keys.each( function(key) { + if (!Element.Layout.PROPERTIES.include(key)) return; + var value = this.get(key); + if (value != null) obj[key] = value; + }, this); + return obj; + }, + + toHash: function() { + var obj = this.toObject.apply(this, arguments); + return new Hash(obj); + }, + + toCSS: function() { + var args = $A(arguments); + var keys = (args.length === 0) ? Element.Layout.PROPERTIES : + args.join(' ').split(' '); + var css = {}; + + keys.each( function(key) { + if (!Element.Layout.PROPERTIES.include(key)) return; + if (Element.Layout.COMPOSITE_PROPERTIES.include(key)) return; + + var value = this.get(key); + if (value != null) css[cssNameFor(key)] = value + 'px'; + }, this); + return css; + }, + + inspect: function() { + return "#"; + } + }); + + Object.extend(Element.Layout, { + PROPERTIES: $w('height width top left right bottom border-left border-right border-top border-bottom padding-left padding-right padding-top padding-bottom margin-top margin-bottom margin-left margin-right padding-box-width padding-box-height border-box-width border-box-height margin-box-width margin-box-height'), + + COMPOSITE_PROPERTIES: $w('padding-box-width padding-box-height margin-box-width margin-box-height border-box-width border-box-height'), + + COMPUTATIONS: { + 'height': function(element) { + if (!this._preComputing) this._begin(); + + var bHeight = this.get('border-box-height'); + if (bHeight <= 0) { + if (!this._preComputing) this._end(); + return 0; + } + + var bTop = this.get('border-top'), + bBottom = this.get('border-bottom'); + + var pTop = this.get('padding-top'), + pBottom = this.get('padding-bottom'); + + if (!this._preComputing) this._end(); + + return bHeight - bTop - bBottom - pTop - pBottom; + }, + + 'width': function(element) { + if (!this._preComputing) this._begin(); + + var bWidth = this.get('border-box-width'); + if (bWidth <= 0) { + if (!this._preComputing) this._end(); + return 0; + } + + var bLeft = this.get('border-left'), + bRight = this.get('border-right'); + + var pLeft = this.get('padding-left'), + pRight = this.get('padding-right'); + + if (!this._preComputing) this._end(); + return bWidth - bLeft - bRight - pLeft - pRight; + }, + + 'padding-box-height': function(element) { + var height = this.get('height'), + pTop = this.get('padding-top'), + pBottom = this.get('padding-bottom'); + + return height + pTop + pBottom; + }, + + 'padding-box-width': function(element) { + var width = this.get('width'), + pLeft = this.get('padding-left'), + pRight = this.get('padding-right'); + + return width + pLeft + pRight; + }, + + 'border-box-height': function(element) { + if (!this._preComputing) this._begin(); + var height = element.offsetHeight; + if (!this._preComputing) this._end(); + return height; + }, + + 'border-box-width': function(element) { + if (!this._preComputing) this._begin(); + var width = element.offsetWidth; + if (!this._preComputing) this._end(); + return width; + }, + + 'margin-box-height': function(element) { + var bHeight = this.get('border-box-height'), + mTop = this.get('margin-top'), + mBottom = this.get('margin-bottom'); + + if (bHeight <= 0) return 0; + + return bHeight + mTop + mBottom; + }, + + 'margin-box-width': function(element) { + var bWidth = this.get('border-box-width'), + mLeft = this.get('margin-left'), + mRight = this.get('margin-right'); + + if (bWidth <= 0) return 0; + + return bWidth + mLeft + mRight; + }, + + 'top': function(element) { + var offset = element.positionedOffset(); + return offset.top; + }, + + 'bottom': function(element) { + var offset = element.positionedOffset(), + parent = element.getOffsetParent(), + pHeight = parent.measure('height'); + + var mHeight = this.get('border-box-height'); + + return pHeight - mHeight - offset.top; + }, + + 'left': function(element) { + var offset = element.positionedOffset(); + return offset.left; + }, + + 'right': function(element) { + var offset = element.positionedOffset(), + parent = element.getOffsetParent(), + pWidth = parent.measure('width'); + + var mWidth = this.get('border-box-width'); + + return pWidth - mWidth - offset.left; + }, + + 'padding-top': function(element) { + return getPixelValue(element, 'paddingTop'); + }, + + 'padding-bottom': function(element) { + return getPixelValue(element, 'paddingBottom'); + }, + + 'padding-left': function(element) { + return getPixelValue(element, 'paddingLeft'); + }, + + 'padding-right': function(element) { + return getPixelValue(element, 'paddingRight'); + }, + + 'border-top': function(element) { + return getPixelValue(element, 'borderTopWidth'); + }, + + 'border-bottom': function(element) { + return getPixelValue(element, 'borderBottomWidth'); + }, + + 'border-left': function(element) { + return getPixelValue(element, 'borderLeftWidth'); + }, + + 'border-right': function(element) { + return getPixelValue(element, 'borderRightWidth'); + }, + + 'margin-top': function(element) { + return getPixelValue(element, 'marginTop'); + }, + + 'margin-bottom': function(element) { + return getPixelValue(element, 'marginBottom'); + }, + + 'margin-left': function(element) { + return getPixelValue(element, 'marginLeft'); + }, + + 'margin-right': function(element) { + return getPixelValue(element, 'marginRight'); + } + } + }); + + if ('getBoundingClientRect' in document.documentElement) { + Object.extend(Element.Layout.COMPUTATIONS, { + 'right': function(element) { + var parent = hasLayout(element.getOffsetParent()); + var rect = element.getBoundingClientRect(), + pRect = parent.getBoundingClientRect(); + + return (pRect.right - rect.right).round(); + }, + + 'bottom': function(element) { + var parent = hasLayout(element.getOffsetParent()); + var rect = element.getBoundingClientRect(), + pRect = parent.getBoundingClientRect(); + + return (pRect.bottom - rect.bottom).round(); + } + }); + } + + Element.Offset = Class.create({ + initialize: function(left, top) { + this.left = left.round(); + this.top = top.round(); + + this[0] = this.left; + this[1] = this.top; + }, + + relativeTo: function(offset) { + return new Element.Offset( + this.left - offset.left, + this.top - offset.top + ); + }, + + inspect: function() { + return "#".interpolate(this); + }, + + toString: function() { + return "[#{left}, #{top}]".interpolate(this); + }, + + toArray: function() { + return [this.left, this.top]; + } + }); + + function getLayout(element, preCompute) { + return new Element.Layout(element, preCompute); + } + + function measure(element, property) { + return $(element).getLayout().get(property); + } + + function getHeight(element) { + return Element.getDimensions(element).height; + } + + function getWidth(element) { + return Element.getDimensions(element).width; + } + + function getDimensions(element) { + element = $(element); + var display = Element.getStyle(element, 'display'); + + if (display && display !== 'none') { + return { width: element.offsetWidth, height: element.offsetHeight }; + } + + var style = element.style; + var originalStyles = { + visibility: style.visibility, + position: style.position, + display: style.display + }; + + var newStyles = { + visibility: 'hidden', + display: 'block' + }; + + if (originalStyles.position !== 'fixed') + newStyles.position = 'absolute'; + + Element.setStyle(element, newStyles); + + var dimensions = { + width: element.offsetWidth, + height: element.offsetHeight + }; + + Element.setStyle(element, originalStyles); + + return dimensions; + } + + function getOffsetParent(element) { + element = $(element); + + if (isDocument(element) || isDetached(element) || isBody(element) || isHtml(element)) + return $(document.body); + + var isInline = (Element.getStyle(element, 'display') === 'inline'); + if (!isInline && element.offsetParent) return $(element.offsetParent); + + while ((element = element.parentNode) && element !== document.body) { + if (Element.getStyle(element, 'position') !== 'static') { + return isHtml(element) ? $(document.body) : $(element); + } + } + + return $(document.body); + } + + + function cumulativeOffset(element) { + element = $(element); + var valueT = 0, valueL = 0; + if (element.parentNode) { + do { + valueT += element.offsetTop || 0; + valueL += element.offsetLeft || 0; + element = element.offsetParent; + } while (element); + } + return new Element.Offset(valueL, valueT); + } + + function positionedOffset(element) { + element = $(element); + + var layout = element.getLayout(); + + var valueT = 0, valueL = 0; + do { + valueT += element.offsetTop || 0; + valueL += element.offsetLeft || 0; + element = element.offsetParent; + if (element) { + if (isBody(element)) break; + var p = Element.getStyle(element, 'position'); + if (p !== 'static') break; + } + } while (element); + + valueL -= layout.get('margin-top'); + valueT -= layout.get('margin-left'); + + return new Element.Offset(valueL, valueT); + } + + function cumulativeScrollOffset(element) { + var valueT = 0, valueL = 0; + do { + valueT += element.scrollTop || 0; + valueL += element.scrollLeft || 0; + element = element.parentNode; + } while (element); + return new Element.Offset(valueL, valueT); + } + + function viewportOffset(forElement) { + var valueT = 0, valueL = 0, docBody = document.body; + + var element = $(forElement); + do { + valueT += element.offsetTop || 0; + valueL += element.offsetLeft || 0; + if (element.offsetParent == docBody && + Element.getStyle(element, 'position') == 'absolute') break; + } while (element = element.offsetParent); + + element = forElement; + do { + if (element != docBody) { + valueT -= element.scrollTop || 0; + valueL -= element.scrollLeft || 0; + } + } while (element = element.parentNode); + return new Element.Offset(valueL, valueT); + } + + function absolutize(element) { + element = $(element); + + if (Element.getStyle(element, 'position') === 'absolute') { + return element; + } + + var offsetParent = getOffsetParent(element); + var eOffset = element.viewportOffset(), + pOffset = offsetParent.viewportOffset(); + + var offset = eOffset.relativeTo(pOffset); + var layout = element.getLayout(); + + element.store('prototype_absolutize_original_styles', { + left: element.getStyle('left'), + top: element.getStyle('top'), + width: element.getStyle('width'), + height: element.getStyle('height') + }); + + element.setStyle({ + position: 'absolute', + top: offset.top + 'px', + left: offset.left + 'px', + width: layout.get('width') + 'px', + height: layout.get('height') + 'px' + }); + + return element; + } + + function relativize(element) { + element = $(element); + if (Element.getStyle(element, 'position') === 'relative') { + return element; + } + + var originalStyles = + element.retrieve('prototype_absolutize_original_styles'); + + if (originalStyles) element.setStyle(originalStyles); + return element; + } + + + function scrollTo(element) { + element = $(element); + var pos = Element.cumulativeOffset(element); + window.scrollTo(pos.left, pos.top); + return element; + } + + + function makePositioned(element) { + element = $(element); + var position = Element.getStyle(element, 'position'), styles = {}; + if (position === 'static' || !position) { + styles.position = 'relative'; + if (Prototype.Browser.Opera) { + styles.top = 0; + styles.left = 0; + } + Element.setStyle(element, styles); + Element.store(element, 'prototype_made_positioned', true); + } + return element; + } + + function undoPositioned(element) { + element = $(element); + var storage = Element.getStorage(element), + madePositioned = storage.get('prototype_made_positioned'); + + if (madePositioned) { + storage.unset('prototype_made_positioned'); + Element.setStyle(element, { + position: '', + top: '', + bottom: '', + left: '', + right: '' + }); + } + return element; + } + + function makeClipping(element) { + element = $(element); + + var storage = Element.getStorage(element), + madeClipping = storage.get('prototype_made_clipping'); + + if (Object.isUndefined(madeClipping)) { + var overflow = Element.getStyle(element, 'overflow'); + storage.set('prototype_made_clipping', overflow); + if (overflow !== 'hidden') + element.style.overflow = 'hidden'; + } + + return element; + } + + function undoClipping(element) { + element = $(element); + var storage = Element.getStorage(element), + overflow = storage.get('prototype_made_clipping'); + + if (!Object.isUndefined(overflow)) { + storage.unset('prototype_made_clipping'); + element.style.overflow = overflow || ''; + } + + return element; + } + + function clonePosition(element, source, options) { + options = Object.extend({ + setLeft: true, + setTop: true, + setWidth: true, + setHeight: true, + offsetTop: 0, + offsetLeft: 0 + }, options || {}); + + source = $(source); + element = $(element); + var p, delta, layout, styles = {}; + + if (options.setLeft || options.setTop) { + p = Element.viewportOffset(source); + delta = [0, 0]; + if (Element.getStyle(element, 'position') === 'absolute') { + var parent = Element.getOffsetParent(element); + if (parent !== document.body) delta = Element.viewportOffset(parent); + } + } + + if (options.setWidth || options.setHeight) { + layout = Element.getLayout(source); + } + + if (options.setLeft) + styles.left = (p[0] - delta[0] + options.offsetLeft) + 'px'; + if (options.setTop) + styles.top = (p[1] - delta[1] + options.offsetTop) + 'px'; + + if (options.setWidth) + styles.width = layout.get('border-box-width') + 'px'; + if (options.setHeight) + styles.height = layout.get('border-box-height') + 'px'; + + return Element.setStyle(element, styles); + } + + + if (Prototype.Browser.IE) { + getOffsetParent = getOffsetParent.wrap( + function(proceed, element) { + element = $(element); + + if (isDocument(element) || isDetached(element) || isBody(element) || isHtml(element)) + return $(document.body); + + var position = element.getStyle('position'); + if (position !== 'static') return proceed(element); + + element.setStyle({ position: 'relative' }); + var value = proceed(element); + element.setStyle({ position: position }); + return value; + } + ); + + positionedOffset = positionedOffset.wrap(function(proceed, element) { + element = $(element); + if (!element.parentNode) return new Element.Offset(0, 0); + var position = element.getStyle('position'); + if (position !== 'static') return proceed(element); + + var offsetParent = element.getOffsetParent(); + if (offsetParent && offsetParent.getStyle('position') === 'fixed') + hasLayout(offsetParent); + + element.setStyle({ position: 'relative' }); + var value = proceed(element); + element.setStyle({ position: position }); + return value; + }); + } else if (Prototype.Browser.Webkit) { + cumulativeOffset = function(element) { + element = $(element); + var valueT = 0, valueL = 0; + do { + valueT += element.offsetTop || 0; + valueL += element.offsetLeft || 0; + if (element.offsetParent == document.body) { + if (Element.getStyle(element, 'position') == 'absolute') break; + } + + element = element.offsetParent; + } while (element); + + return new Element.Offset(valueL, valueT); + }; + } + + + Element.addMethods({ + getLayout: getLayout, + measure: measure, + getWidth: getWidth, + getHeight: getHeight, + getDimensions: getDimensions, + getOffsetParent: getOffsetParent, + cumulativeOffset: cumulativeOffset, + positionedOffset: positionedOffset, + cumulativeScrollOffset: cumulativeScrollOffset, + viewportOffset: viewportOffset, + absolutize: absolutize, + relativize: relativize, + scrollTo: scrollTo, + makePositioned: makePositioned, + undoPositioned: undoPositioned, + makeClipping: makeClipping, + undoClipping: undoClipping, + clonePosition: clonePosition + }); + + function isBody(element) { + return element.nodeName.toUpperCase() === 'BODY'; + } + + function isHtml(element) { + return element.nodeName.toUpperCase() === 'HTML'; + } + + function isDocument(element) { + return element.nodeType === Node.DOCUMENT_NODE; + } + + function isDetached(element) { + return element !== document.body && + !Element.descendantOf(element, document.body); + } + + if ('getBoundingClientRect' in document.documentElement) { + Element.addMethods({ + viewportOffset: function(element) { + element = $(element); + if (isDetached(element)) return new Element.Offset(0, 0); + + var rect = element.getBoundingClientRect(), + docEl = document.documentElement; + return new Element.Offset(rect.left - docEl.clientLeft, + rect.top - docEl.clientTop); + } + }); + } + + +})(); + +(function() { + + var IS_OLD_OPERA = Prototype.Browser.Opera && + (window.parseFloat(window.opera.version()) < 9.5); + var ROOT = null; + function getRootElement() { + if (ROOT) return ROOT; + ROOT = IS_OLD_OPERA ? document.body : document.documentElement; + return ROOT; + } + + function getDimensions() { + return { width: this.getWidth(), height: this.getHeight() }; + } + + function getWidth() { + return getRootElement().clientWidth; + } + + function getHeight() { + return getRootElement().clientHeight; + } + + function getScrollOffsets() { + var x = window.pageXOffset || document.documentElement.scrollLeft || + document.body.scrollLeft; + var y = window.pageYOffset || document.documentElement.scrollTop || + document.body.scrollTop; + + return new Element.Offset(x, y); + } + + document.viewport = { + getDimensions: getDimensions, + getWidth: getWidth, + getHeight: getHeight, + getScrollOffsets: getScrollOffsets + }; + +})(); +window.$$ = function() { + var expression = $A(arguments).join(', '); + return Prototype.Selector.select(expression, document); +}; + +Prototype.Selector = (function() { + + function select() { + throw new Error('Method "Prototype.Selector.select" must be defined.'); + } + + function match() { + throw new Error('Method "Prototype.Selector.match" must be defined.'); + } + + function find(elements, expression, index) { + index = index || 0; + var match = Prototype.Selector.match, length = elements.length, matchIndex = 0, i; + + for (i = 0; i < length; i++) { + if (match(elements[i], expression) && index == matchIndex++) { + return Element.extend(elements[i]); + } + } + } + + function extendElements(elements) { + for (var i = 0, length = elements.length; i < length; i++) { + Element.extend(elements[i]); + } + return elements; + } + + + var K = Prototype.K; + + return { + select: select, + match: match, + find: find, + extendElements: (Element.extend === K) ? K : extendElements, + extendElement: Element.extend + }; +})(); +/*! + * Sizzle CSS Selector Engine + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * More information: http://sizzlejs.com/ + */ +(function(){ + +var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, + done = 0, + toString = Object.prototype.toString, + hasDuplicate = false, + baseHasDuplicate = true, + rBackslash = /\\/g, + rNonWord = /\W/; + +[0, 0].sort(function() { + baseHasDuplicate = false; + return 0; +}); + +var Sizzle = function( selector, context, results, seed ) { + results = results || []; + context = context || document; + + var origContext = context; + + if ( context.nodeType !== 1 && context.nodeType !== 9 ) { + return []; + } + + if ( !selector || typeof selector !== "string" ) { + return results; + } + + var m, set, checkSet, extra, ret, cur, pop, i, + prune = true, + contextXML = Sizzle.isXML( context ), + parts = [], + soFar = selector; + + do { + chunker.exec( "" ); + m = chunker.exec( soFar ); + + if ( m ) { + soFar = m[3]; + + parts.push( m[1] ); + + if ( m[2] ) { + extra = m[3]; + break; + } + } + } while ( m ); + + if ( parts.length > 1 && origPOS.exec( selector ) ) { + + if ( parts.length === 2 && Expr.relative[ parts[0] ] ) { + set = posProcess( parts[0] + parts[1], context ); + + } else { + set = Expr.relative[ parts[0] ] ? + [ context ] : + Sizzle( parts.shift(), context ); + + while ( parts.length ) { + selector = parts.shift(); + + if ( Expr.relative[ selector ] ) { + selector += parts.shift(); + } + + set = posProcess( selector, set ); + } + } + + } else { + if ( !seed && parts.length > 1 && context.nodeType === 9 && !contextXML && + Expr.match.ID.test(parts[0]) && !Expr.match.ID.test(parts[parts.length - 1]) ) { + + ret = Sizzle.find( parts.shift(), context, contextXML ); + context = ret.expr ? + Sizzle.filter( ret.expr, ret.set )[0] : + ret.set[0]; + } + + if ( context ) { + ret = seed ? + { expr: parts.pop(), set: makeArray(seed) } : + Sizzle.find( parts.pop(), parts.length === 1 && (parts[0] === "~" || parts[0] === "+") && context.parentNode ? context.parentNode : context, contextXML ); + + set = ret.expr ? + Sizzle.filter( ret.expr, ret.set ) : + ret.set; + + if ( parts.length > 0 ) { + checkSet = makeArray( set ); + + } else { + prune = false; + } + + while ( parts.length ) { + cur = parts.pop(); + pop = cur; + + if ( !Expr.relative[ cur ] ) { + cur = ""; + } else { + pop = parts.pop(); + } + + if ( pop == null ) { + pop = context; + } + + Expr.relative[ cur ]( checkSet, pop, contextXML ); + } + + } else { + checkSet = parts = []; + } + } + + if ( !checkSet ) { + checkSet = set; + } + + if ( !checkSet ) { + Sizzle.error( cur || selector ); + } + + if ( toString.call(checkSet) === "[object Array]" ) { + if ( !prune ) { + results.push.apply( results, checkSet ); + + } else if ( context && context.nodeType === 1 ) { + for ( i = 0; checkSet[i] != null; i++ ) { + if ( checkSet[i] && (checkSet[i] === true || checkSet[i].nodeType === 1 && Sizzle.contains(context, checkSet[i])) ) { + results.push( set[i] ); + } + } + + } else { + for ( i = 0; checkSet[i] != null; i++ ) { + if ( checkSet[i] && checkSet[i].nodeType === 1 ) { + results.push( set[i] ); + } + } + } + + } else { + makeArray( checkSet, results ); + } + + if ( extra ) { + Sizzle( extra, origContext, results, seed ); + Sizzle.uniqueSort( results ); + } + + return results; +}; + +Sizzle.uniqueSort = function( results ) { + if ( sortOrder ) { + hasDuplicate = baseHasDuplicate; + results.sort( sortOrder ); + + if ( hasDuplicate ) { + for ( var i = 1; i < results.length; i++ ) { + if ( results[i] === results[ i - 1 ] ) { + results.splice( i--, 1 ); + } + } + } + } + + return results; +}; + +Sizzle.matches = function( expr, set ) { + return Sizzle( expr, null, null, set ); +}; + +Sizzle.matchesSelector = function( node, expr ) { + return Sizzle( expr, null, null, [node] ).length > 0; +}; + +Sizzle.find = function( expr, context, isXML ) { + var set; + + if ( !expr ) { + return []; + } + + for ( var i = 0, l = Expr.order.length; i < l; i++ ) { + var match, + type = Expr.order[i]; + + if ( (match = Expr.leftMatch[ type ].exec( expr )) ) { + var left = match[1]; + match.splice( 1, 1 ); + + if ( left.substr( left.length - 1 ) !== "\\" ) { + match[1] = (match[1] || "").replace( rBackslash, "" ); + set = Expr.find[ type ]( match, context, isXML ); + + if ( set != null ) { + expr = expr.replace( Expr.match[ type ], "" ); + break; + } + } + } + } + + if ( !set ) { + set = typeof context.getElementsByTagName !== "undefined" ? + context.getElementsByTagName( "*" ) : + []; + } + + return { set: set, expr: expr }; +}; + +Sizzle.filter = function( expr, set, inplace, not ) { + var match, anyFound, + old = expr, + result = [], + curLoop = set, + isXMLFilter = set && set[0] && Sizzle.isXML( set[0] ); + + while ( expr && set.length ) { + for ( var type in Expr.filter ) { + if ( (match = Expr.leftMatch[ type ].exec( expr )) != null && match[2] ) { + var found, item, + filter = Expr.filter[ type ], + left = match[1]; + + anyFound = false; + + match.splice(1,1); + + if ( left.substr( left.length - 1 ) === "\\" ) { + continue; + } + + if ( curLoop === result ) { + result = []; + } + + if ( Expr.preFilter[ type ] ) { + match = Expr.preFilter[ type ]( match, curLoop, inplace, result, not, isXMLFilter ); + + if ( !match ) { + anyFound = found = true; + + } else if ( match === true ) { + continue; + } + } + + if ( match ) { + for ( var i = 0; (item = curLoop[i]) != null; i++ ) { + if ( item ) { + found = filter( item, match, i, curLoop ); + var pass = not ^ !!found; + + if ( inplace && found != null ) { + if ( pass ) { + anyFound = true; + + } else { + curLoop[i] = false; + } + + } else if ( pass ) { + result.push( item ); + anyFound = true; + } + } + } + } + + if ( found !== undefined ) { + if ( !inplace ) { + curLoop = result; + } + + expr = expr.replace( Expr.match[ type ], "" ); + + if ( !anyFound ) { + return []; + } + + break; + } + } + } + + if ( expr === old ) { + if ( anyFound == null ) { + Sizzle.error( expr ); + + } else { + break; + } + } + + old = expr; + } + + return curLoop; +}; + +Sizzle.error = function( msg ) { + throw "Syntax error, unrecognized expression: " + msg; +}; + +var Expr = Sizzle.selectors = { + order: [ "ID", "NAME", "TAG" ], + + match: { + ID: /#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, + CLASS: /\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, + NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/, + ATTR: /\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/, + TAG: /^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/, + CHILD: /:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/, + POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/, + PSEUDO: /:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/ + }, + + leftMatch: {}, + + attrMap: { + "class": "className", + "for": "htmlFor" + }, + + attrHandle: { + href: function( elem ) { + return elem.getAttribute( "href" ); + }, + type: function( elem ) { + return elem.getAttribute( "type" ); + } + }, + + relative: { + "+": function(checkSet, part){ + var isPartStr = typeof part === "string", + isTag = isPartStr && !rNonWord.test( part ), + isPartStrNotTag = isPartStr && !isTag; + + if ( isTag ) { + part = part.toLowerCase(); + } + + for ( var i = 0, l = checkSet.length, elem; i < l; i++ ) { + if ( (elem = checkSet[i]) ) { + while ( (elem = elem.previousSibling) && elem.nodeType !== 1 ) {} + + checkSet[i] = isPartStrNotTag || elem && elem.nodeName.toLowerCase() === part ? + elem || false : + elem === part; + } + } + + if ( isPartStrNotTag ) { + Sizzle.filter( part, checkSet, true ); + } + }, + + ">": function( checkSet, part ) { + var elem, + isPartStr = typeof part === "string", + i = 0, + l = checkSet.length; + + if ( isPartStr && !rNonWord.test( part ) ) { + part = part.toLowerCase(); + + for ( ; i < l; i++ ) { + elem = checkSet[i]; + + if ( elem ) { + var parent = elem.parentNode; + checkSet[i] = parent.nodeName.toLowerCase() === part ? parent : false; + } + } + + } else { + for ( ; i < l; i++ ) { + elem = checkSet[i]; + + if ( elem ) { + checkSet[i] = isPartStr ? + elem.parentNode : + elem.parentNode === part; + } + } + + if ( isPartStr ) { + Sizzle.filter( part, checkSet, true ); + } + } + }, + + "": function(checkSet, part, isXML){ + var nodeCheck, + doneName = done++, + checkFn = dirCheck; + + if ( typeof part === "string" && !rNonWord.test( part ) ) { + part = part.toLowerCase(); + nodeCheck = part; + checkFn = dirNodeCheck; + } + + checkFn( "parentNode", part, doneName, checkSet, nodeCheck, isXML ); + }, + + "~": function( checkSet, part, isXML ) { + var nodeCheck, + doneName = done++, + checkFn = dirCheck; + + if ( typeof part === "string" && !rNonWord.test( part ) ) { + part = part.toLowerCase(); + nodeCheck = part; + checkFn = dirNodeCheck; + } + + checkFn( "previousSibling", part, doneName, checkSet, nodeCheck, isXML ); + } + }, + + find: { + ID: function( match, context, isXML ) { + if ( typeof context.getElementById !== "undefined" && !isXML ) { + var m = context.getElementById(match[1]); + return m && m.parentNode ? [m] : []; + } + }, + + NAME: function( match, context ) { + if ( typeof context.getElementsByName !== "undefined" ) { + var ret = [], + results = context.getElementsByName( match[1] ); + + for ( var i = 0, l = results.length; i < l; i++ ) { + if ( results[i].getAttribute("name") === match[1] ) { + ret.push( results[i] ); + } + } + + return ret.length === 0 ? null : ret; + } + }, + + TAG: function( match, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( match[1] ); + } + } + }, + preFilter: { + CLASS: function( match, curLoop, inplace, result, not, isXML ) { + match = " " + match[1].replace( rBackslash, "" ) + " "; + + if ( isXML ) { + return match; + } + + for ( var i = 0, elem; (elem = curLoop[i]) != null; i++ ) { + if ( elem ) { + if ( not ^ (elem.className && (" " + elem.className + " ").replace(/[\t\n\r]/g, " ").indexOf(match) >= 0) ) { + if ( !inplace ) { + result.push( elem ); + } + + } else if ( inplace ) { + curLoop[i] = false; + } + } + } + + return false; + }, + + ID: function( match ) { + return match[1].replace( rBackslash, "" ); + }, + + TAG: function( match, curLoop ) { + return match[1].replace( rBackslash, "" ).toLowerCase(); + }, + + CHILD: function( match ) { + if ( match[1] === "nth" ) { + if ( !match[2] ) { + Sizzle.error( match[0] ); + } + + match[2] = match[2].replace(/^\+|\s*/g, ''); + + var test = /(-?)(\d*)(?:n([+\-]?\d*))?/.exec( + match[2] === "even" && "2n" || match[2] === "odd" && "2n+1" || + !/\D/.test( match[2] ) && "0n+" + match[2] || match[2]); + + match[2] = (test[1] + (test[2] || 1)) - 0; + match[3] = test[3] - 0; + } + else if ( match[2] ) { + Sizzle.error( match[0] ); + } + + match[0] = done++; + + return match; + }, + + ATTR: function( match, curLoop, inplace, result, not, isXML ) { + var name = match[1] = match[1].replace( rBackslash, "" ); + + if ( !isXML && Expr.attrMap[name] ) { + match[1] = Expr.attrMap[name]; + } + + match[4] = ( match[4] || match[5] || "" ).replace( rBackslash, "" ); + + if ( match[2] === "~=" ) { + match[4] = " " + match[4] + " "; + } + + return match; + }, + + PSEUDO: function( match, curLoop, inplace, result, not ) { + if ( match[1] === "not" ) { + if ( ( chunker.exec(match[3]) || "" ).length > 1 || /^\w/.test(match[3]) ) { + match[3] = Sizzle(match[3], null, null, curLoop); + + } else { + var ret = Sizzle.filter(match[3], curLoop, inplace, true ^ not); + + if ( !inplace ) { + result.push.apply( result, ret ); + } + + return false; + } + + } else if ( Expr.match.POS.test( match[0] ) || Expr.match.CHILD.test( match[0] ) ) { + return true; + } + + return match; + }, + + POS: function( match ) { + match.unshift( true ); + + return match; + } + }, + + filters: { + enabled: function( elem ) { + return elem.disabled === false && elem.type !== "hidden"; + }, + + disabled: function( elem ) { + return elem.disabled === true; + }, + + checked: function( elem ) { + return elem.checked === true; + }, + + selected: function( elem ) { + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + parent: function( elem ) { + return !!elem.firstChild; + }, + + empty: function( elem ) { + return !elem.firstChild; + }, + + has: function( elem, i, match ) { + return !!Sizzle( match[3], elem ).length; + }, + + header: function( elem ) { + return (/h\d/i).test( elem.nodeName ); + }, + + text: function( elem ) { + var attr = elem.getAttribute( "type" ), type = elem.type; + return elem.nodeName.toLowerCase() === "input" && "text" === type && ( attr === type || attr === null ); + }, + + radio: function( elem ) { + return elem.nodeName.toLowerCase() === "input" && "radio" === elem.type; + }, + + checkbox: function( elem ) { + return elem.nodeName.toLowerCase() === "input" && "checkbox" === elem.type; + }, + + file: function( elem ) { + return elem.nodeName.toLowerCase() === "input" && "file" === elem.type; + }, + + password: function( elem ) { + return elem.nodeName.toLowerCase() === "input" && "password" === elem.type; + }, + + submit: function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && "submit" === elem.type; + }, + + image: function( elem ) { + return elem.nodeName.toLowerCase() === "input" && "image" === elem.type; + }, + + reset: function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && "reset" === elem.type; + }, + + button: function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && "button" === elem.type || name === "button"; + }, + + input: function( elem ) { + return (/input|select|textarea|button/i).test( elem.nodeName ); + }, + + focus: function( elem ) { + return elem === elem.ownerDocument.activeElement; + } + }, + setFilters: { + first: function( elem, i ) { + return i === 0; + }, + + last: function( elem, i, match, array ) { + return i === array.length - 1; + }, + + even: function( elem, i ) { + return i % 2 === 0; + }, + + odd: function( elem, i ) { + return i % 2 === 1; + }, + + lt: function( elem, i, match ) { + return i < match[3] - 0; + }, + + gt: function( elem, i, match ) { + return i > match[3] - 0; + }, + + nth: function( elem, i, match ) { + return match[3] - 0 === i; + }, + + eq: function( elem, i, match ) { + return match[3] - 0 === i; + } + }, + filter: { + PSEUDO: function( elem, match, i, array ) { + var name = match[1], + filter = Expr.filters[ name ]; + + if ( filter ) { + return filter( elem, i, match, array ); + + } else if ( name === "contains" ) { + return (elem.textContent || elem.innerText || Sizzle.getText([ elem ]) || "").indexOf(match[3]) >= 0; + + } else if ( name === "not" ) { + var not = match[3]; + + for ( var j = 0, l = not.length; j < l; j++ ) { + if ( not[j] === elem ) { + return false; + } + } + + return true; + + } else { + Sizzle.error( name ); + } + }, + + CHILD: function( elem, match ) { + var type = match[1], + node = elem; + + switch ( type ) { + case "only": + case "first": + while ( (node = node.previousSibling) ) { + if ( node.nodeType === 1 ) { + return false; + } + } + + if ( type === "first" ) { + return true; + } + + node = elem; + + case "last": + while ( (node = node.nextSibling) ) { + if ( node.nodeType === 1 ) { + return false; + } + } + + return true; + + case "nth": + var first = match[2], + last = match[3]; + + if ( first === 1 && last === 0 ) { + return true; + } + + var doneName = match[0], + parent = elem.parentNode; + + if ( parent && (parent.sizcache !== doneName || !elem.nodeIndex) ) { + var count = 0; + + for ( node = parent.firstChild; node; node = node.nextSibling ) { + if ( node.nodeType === 1 ) { + node.nodeIndex = ++count; + } + } + + parent.sizcache = doneName; + } + + var diff = elem.nodeIndex - last; + + if ( first === 0 ) { + return diff === 0; + + } else { + return ( diff % first === 0 && diff / first >= 0 ); + } + } + }, + + ID: function( elem, match ) { + return elem.nodeType === 1 && elem.getAttribute("id") === match; + }, + + TAG: function( elem, match ) { + return (match === "*" && elem.nodeType === 1) || elem.nodeName.toLowerCase() === match; + }, + + CLASS: function( elem, match ) { + return (" " + (elem.className || elem.getAttribute("class")) + " ") + .indexOf( match ) > -1; + }, + + ATTR: function( elem, match ) { + var name = match[1], + result = Expr.attrHandle[ name ] ? + Expr.attrHandle[ name ]( elem ) : + elem[ name ] != null ? + elem[ name ] : + elem.getAttribute( name ), + value = result + "", + type = match[2], + check = match[4]; + + return result == null ? + type === "!=" : + type === "=" ? + value === check : + type === "*=" ? + value.indexOf(check) >= 0 : + type === "~=" ? + (" " + value + " ").indexOf(check) >= 0 : + !check ? + value && result !== false : + type === "!=" ? + value !== check : + type === "^=" ? + value.indexOf(check) === 0 : + type === "$=" ? + value.substr(value.length - check.length) === check : + type === "|=" ? + value === check || value.substr(0, check.length + 1) === check + "-" : + false; + }, + + POS: function( elem, match, i, array ) { + var name = match[2], + filter = Expr.setFilters[ name ]; + + if ( filter ) { + return filter( elem, i, match, array ); + } + } + } +}; + +var origPOS = Expr.match.POS, + fescape = function(all, num){ + return "\\" + (num - 0 + 1); + }; + +for ( var type in Expr.match ) { + Expr.match[ type ] = new RegExp( Expr.match[ type ].source + (/(?![^\[]*\])(?![^\(]*\))/.source) ); + Expr.leftMatch[ type ] = new RegExp( /(^(?:.|\r|\n)*?)/.source + Expr.match[ type ].source.replace(/\\(\d+)/g, fescape) ); +} + +var makeArray = function( array, results ) { + array = Array.prototype.slice.call( array, 0 ); + + if ( results ) { + results.push.apply( results, array ); + return results; + } + + return array; +}; + +try { + Array.prototype.slice.call( document.documentElement.childNodes, 0 )[0].nodeType; + +} catch( e ) { + makeArray = function( array, results ) { + var i = 0, + ret = results || []; + + if ( toString.call(array) === "[object Array]" ) { + Array.prototype.push.apply( ret, array ); + + } else { + if ( typeof array.length === "number" ) { + for ( var l = array.length; i < l; i++ ) { + ret.push( array[i] ); + } + + } else { + for ( ; array[i]; i++ ) { + ret.push( array[i] ); + } + } + } + + return ret; + }; +} + +var sortOrder, siblingCheck; + +if ( document.documentElement.compareDocumentPosition ) { + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + if ( !a.compareDocumentPosition || !b.compareDocumentPosition ) { + return a.compareDocumentPosition ? -1 : 1; + } + + return a.compareDocumentPosition(b) & 4 ? -1 : 1; + }; + +} else { + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + return 0; + + } else if ( a.sourceIndex && b.sourceIndex ) { + return a.sourceIndex - b.sourceIndex; + } + + var al, bl, + ap = [], + bp = [], + aup = a.parentNode, + bup = b.parentNode, + cur = aup; + + if ( aup === bup ) { + return siblingCheck( a, b ); + + } else if ( !aup ) { + return -1; + + } else if ( !bup ) { + return 1; + } + + while ( cur ) { + ap.unshift( cur ); + cur = cur.parentNode; + } + + cur = bup; + + while ( cur ) { + bp.unshift( cur ); + cur = cur.parentNode; + } + + al = ap.length; + bl = bp.length; + + for ( var i = 0; i < al && i < bl; i++ ) { + if ( ap[i] !== bp[i] ) { + return siblingCheck( ap[i], bp[i] ); + } + } + + return i === al ? + siblingCheck( a, bp[i], -1 ) : + siblingCheck( ap[i], b, 1 ); + }; + + siblingCheck = function( a, b, ret ) { + if ( a === b ) { + return ret; + } + + var cur = a.nextSibling; + + while ( cur ) { + if ( cur === b ) { + return -1; + } + + cur = cur.nextSibling; + } + + return 1; + }; +} + +Sizzle.getText = function( elems ) { + var ret = "", elem; + + for ( var i = 0; elems[i]; i++ ) { + elem = elems[i]; + + if ( elem.nodeType === 3 || elem.nodeType === 4 ) { + ret += elem.nodeValue; + + } else if ( elem.nodeType !== 8 ) { + ret += Sizzle.getText( elem.childNodes ); + } + } + + return ret; +}; + +(function(){ + var form = document.createElement("div"), + id = "script" + (new Date()).getTime(), + root = document.documentElement; + + form.innerHTML = ""; + + root.insertBefore( form, root.firstChild ); + + if ( document.getElementById( id ) ) { + Expr.find.ID = function( match, context, isXML ) { + if ( typeof context.getElementById !== "undefined" && !isXML ) { + var m = context.getElementById(match[1]); + + return m ? + m.id === match[1] || typeof m.getAttributeNode !== "undefined" && m.getAttributeNode("id").nodeValue === match[1] ? + [m] : + undefined : + []; + } + }; + + Expr.filter.ID = function( elem, match ) { + var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id"); + + return elem.nodeType === 1 && node && node.nodeValue === match; + }; + } + + root.removeChild( form ); + + root = form = null; +})(); + +(function(){ + + var div = document.createElement("div"); + div.appendChild( document.createComment("") ); + + if ( div.getElementsByTagName("*").length > 0 ) { + Expr.find.TAG = function( match, context ) { + var results = context.getElementsByTagName( match[1] ); + + if ( match[1] === "*" ) { + var tmp = []; + + for ( var i = 0; results[i]; i++ ) { + if ( results[i].nodeType === 1 ) { + tmp.push( results[i] ); + } + } + + results = tmp; + } + + return results; + }; + } + + div.innerHTML = ""; + + if ( div.firstChild && typeof div.firstChild.getAttribute !== "undefined" && + div.firstChild.getAttribute("href") !== "#" ) { + + Expr.attrHandle.href = function( elem ) { + return elem.getAttribute( "href", 2 ); + }; + } + + div = null; +})(); + +if ( document.querySelectorAll ) { + (function(){ + var oldSizzle = Sizzle, + div = document.createElement("div"), + id = "__sizzle__"; + + div.innerHTML = "

    "; + + if ( div.querySelectorAll && div.querySelectorAll(".TEST").length === 0 ) { + return; + } + + Sizzle = function( query, context, extra, seed ) { + context = context || document; + + if ( !seed && !Sizzle.isXML(context) ) { + var match = /^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec( query ); + + if ( match && (context.nodeType === 1 || context.nodeType === 9) ) { + if ( match[1] ) { + return makeArray( context.getElementsByTagName( query ), extra ); + + } else if ( match[2] && Expr.find.CLASS && context.getElementsByClassName ) { + return makeArray( context.getElementsByClassName( match[2] ), extra ); + } + } + + if ( context.nodeType === 9 ) { + if ( query === "body" && context.body ) { + return makeArray( [ context.body ], extra ); + + } else if ( match && match[3] ) { + var elem = context.getElementById( match[3] ); + + if ( elem && elem.parentNode ) { + if ( elem.id === match[3] ) { + return makeArray( [ elem ], extra ); + } + + } else { + return makeArray( [], extra ); + } + } + + try { + return makeArray( context.querySelectorAll(query), extra ); + } catch(qsaError) {} + + } else if ( context.nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) { + var oldContext = context, + old = context.getAttribute( "id" ), + nid = old || id, + hasParent = context.parentNode, + relativeHierarchySelector = /^\s*[+~]/.test( query ); + + if ( !old ) { + context.setAttribute( "id", nid ); + } else { + nid = nid.replace( /'/g, "\\$&" ); + } + if ( relativeHierarchySelector && hasParent ) { + context = context.parentNode; + } + + try { + if ( !relativeHierarchySelector || hasParent ) { + return makeArray( context.querySelectorAll( "[id='" + nid + "'] " + query ), extra ); + } + + } catch(pseudoError) { + } finally { + if ( !old ) { + oldContext.removeAttribute( "id" ); + } + } + } + } + + return oldSizzle(query, context, extra, seed); + }; + + for ( var prop in oldSizzle ) { + Sizzle[ prop ] = oldSizzle[ prop ]; + } + + div = null; + })(); +} + +(function(){ + var html = document.documentElement, + matches = html.matchesSelector || html.mozMatchesSelector || html.webkitMatchesSelector || html.msMatchesSelector; + + if ( matches ) { + var disconnectedMatch = !matches.call( document.createElement( "div" ), "div" ), + pseudoWorks = false; + + try { + matches.call( document.documentElement, "[test!='']:sizzle" ); + + } catch( pseudoError ) { + pseudoWorks = true; + } + + Sizzle.matchesSelector = function( node, expr ) { + expr = expr.replace(/\=\s*([^'"\]]*)\s*\]/g, "='$1']"); + + if ( !Sizzle.isXML( node ) ) { + try { + if ( pseudoWorks || !Expr.match.PSEUDO.test( expr ) && !/!=/.test( expr ) ) { + var ret = matches.call( node, expr ); + + if ( ret || !disconnectedMatch || + node.document && node.document.nodeType !== 11 ) { + return ret; + } + } + } catch(e) {} + } + + return Sizzle(expr, null, null, [node]).length > 0; + }; + } +})(); + +(function(){ + var div = document.createElement("div"); + + div.innerHTML = "
    "; + + if ( !div.getElementsByClassName || div.getElementsByClassName("e").length === 0 ) { + return; + } + + div.lastChild.className = "e"; + + if ( div.getElementsByClassName("e").length === 1 ) { + return; + } + + Expr.order.splice(1, 0, "CLASS"); + Expr.find.CLASS = function( match, context, isXML ) { + if ( typeof context.getElementsByClassName !== "undefined" && !isXML ) { + return context.getElementsByClassName(match[1]); + } + }; + + div = null; +})(); + +function dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) { + for ( var i = 0, l = checkSet.length; i < l; i++ ) { + var elem = checkSet[i]; + + if ( elem ) { + var match = false; + + elem = elem[dir]; + + while ( elem ) { + if ( elem.sizcache === doneName ) { + match = checkSet[elem.sizset]; + break; + } + + if ( elem.nodeType === 1 && !isXML ){ + elem.sizcache = doneName; + elem.sizset = i; + } + + if ( elem.nodeName.toLowerCase() === cur ) { + match = elem; + break; + } + + elem = elem[dir]; + } + + checkSet[i] = match; + } + } +} + +function dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) { + for ( var i = 0, l = checkSet.length; i < l; i++ ) { + var elem = checkSet[i]; + + if ( elem ) { + var match = false; + + elem = elem[dir]; + + while ( elem ) { + if ( elem.sizcache === doneName ) { + match = checkSet[elem.sizset]; + break; + } + + if ( elem.nodeType === 1 ) { + if ( !isXML ) { + elem.sizcache = doneName; + elem.sizset = i; + } + + if ( typeof cur !== "string" ) { + if ( elem === cur ) { + match = true; + break; + } + + } else if ( Sizzle.filter( cur, [elem] ).length > 0 ) { + match = elem; + break; + } + } + + elem = elem[dir]; + } + + checkSet[i] = match; + } + } +} + +if ( document.documentElement.contains ) { + Sizzle.contains = function( a, b ) { + return a !== b && (a.contains ? a.contains(b) : true); + }; + +} else if ( document.documentElement.compareDocumentPosition ) { + Sizzle.contains = function( a, b ) { + return !!(a.compareDocumentPosition(b) & 16); + }; + +} else { + Sizzle.contains = function() { + return false; + }; +} + +Sizzle.isXML = function( elem ) { + var documentElement = (elem ? elem.ownerDocument || elem : 0).documentElement; + + return documentElement ? documentElement.nodeName !== "HTML" : false; +}; + +var posProcess = function( selector, context ) { + var match, + tmpSet = [], + later = "", + root = context.nodeType ? [context] : context; + + while ( (match = Expr.match.PSEUDO.exec( selector )) ) { + later += match[0]; + selector = selector.replace( Expr.match.PSEUDO, "" ); + } + + selector = Expr.relative[selector] ? selector + "*" : selector; + + for ( var i = 0, l = root.length; i < l; i++ ) { + Sizzle( selector, root[i], tmpSet ); + } + + return Sizzle.filter( later, tmpSet ); +}; + + +window.Sizzle = Sizzle; + +})(); + +Prototype._original_property = window.Sizzle; + +;(function(engine) { + var extendElements = Prototype.Selector.extendElements; + + function select(selector, scope) { + return extendElements(engine(selector, scope || document)); + } + + function match(element, selector) { + return engine.matches(selector, [element]).length == 1; + } + + Prototype.Selector.engine = engine; + Prototype.Selector.select = select; + Prototype.Selector.match = match; +})(Sizzle); + +window.Sizzle = Prototype._original_property; +delete Prototype._original_property; + +var Form = { + reset: function(form) { + form = $(form); + form.reset(); + return form; + }, + + serializeElements: function(elements, options) { + if (typeof options != 'object') options = { hash: !!options }; + else if (Object.isUndefined(options.hash)) options.hash = true; + var key, value, submitted = false, submit = options.submit, accumulator, initial; + + if (options.hash) { + initial = {}; + accumulator = function(result, key, value) { + if (key in result) { + if (!Object.isArray(result[key])) result[key] = [result[key]]; + result[key].push(value); + } else result[key] = value; + return result; + }; + } else { + initial = ''; + accumulator = function(result, key, value) { + value = value.gsub(/(\r)?\n/, '\r\n'); + value = encodeURIComponent(value); + value = value.gsub(/%20/, '+'); + return result + (result ? '&' : '') + encodeURIComponent(key) + '=' + value; + } + } + + return elements.inject(initial, function(result, element) { + if (!element.disabled && element.name) { + key = element.name; value = $(element).getValue(); + if (value != null && element.type != 'file' && (element.type != 'submit' || (!submitted && + submit !== false && (!submit || key == submit) && (submitted = true)))) { + result = accumulator(result, key, value); + } + } + return result; + }); + } +}; + +Form.Methods = { + serialize: function(form, options) { + return Form.serializeElements(Form.getElements(form), options); + }, + + + getElements: function(form) { + var elements = $(form).getElementsByTagName('*'); + var element, results = [], serializers = Form.Element.Serializers; + + for (var i = 0; element = elements[i]; i++) { + if (serializers[element.tagName.toLowerCase()]) + results.push(Element.extend(element)); + } + return results; + }, + + getInputs: function(form, typeName, name) { + form = $(form); + var inputs = form.getElementsByTagName('input'); + + if (!typeName && !name) return $A(inputs).map(Element.extend); + + for (var i = 0, matchingInputs = [], length = inputs.length; i < length; i++) { + var input = inputs[i]; + if ((typeName && input.type != typeName) || (name && input.name != name)) + continue; + matchingInputs.push(Element.extend(input)); + } + + return matchingInputs; + }, + + disable: function(form) { + form = $(form); + Form.getElements(form).invoke('disable'); + return form; + }, + + enable: function(form) { + form = $(form); + Form.getElements(form).invoke('enable'); + return form; + }, + + findFirstElement: function(form) { + var elements = $(form).getElements().findAll(function(element) { + return 'hidden' != element.type && !element.disabled; + }); + var firstByIndex = elements.findAll(function(element) { + return element.hasAttribute('tabIndex') && element.tabIndex >= 0; + }).sortBy(function(element) { return element.tabIndex }).first(); + + return firstByIndex ? firstByIndex : elements.find(function(element) { + return /^(?:input|select|textarea)$/i.test(element.tagName); + }); + }, + + focusFirstElement: function(form) { + form = $(form); + var element = form.findFirstElement(); + if (element) element.activate(); + return form; + }, + + request: function(form, options) { + form = $(form), options = Object.clone(options || { }); + + var params = options.parameters, action = form.readAttribute('action') || ''; + if (action.blank()) action = window.location.href; + options.parameters = form.serialize(true); + + if (params) { + if (Object.isString(params)) params = params.toQueryParams(); + Object.extend(options.parameters, params); + } + + if (form.hasAttribute('method') && !options.method) + options.method = form.method; + + return new Ajax.Request(action, options); + } +}; + +/*--------------------------------------------------------------------------*/ + + +Form.Element = { + focus: function(element) { + $(element).focus(); + return element; + }, + + select: function(element) { + $(element).select(); + return element; + } +}; + +Form.Element.Methods = { + + serialize: function(element) { + element = $(element); + if (!element.disabled && element.name) { + var value = element.getValue(); + if (value != undefined) { + var pair = { }; + pair[element.name] = value; + return Object.toQueryString(pair); + } + } + return ''; + }, + + getValue: function(element) { + element = $(element); + var method = element.tagName.toLowerCase(); + return Form.Element.Serializers[method](element); + }, + + setValue: function(element, value) { + element = $(element); + var method = element.tagName.toLowerCase(); + Form.Element.Serializers[method](element, value); + return element; + }, + + clear: function(element) { + $(element).value = ''; + return element; + }, + + present: function(element) { + return $(element).value != ''; + }, + + activate: function(element) { + element = $(element); + try { + element.focus(); + if (element.select && (element.tagName.toLowerCase() != 'input' || + !(/^(?:button|reset|submit)$/i.test(element.type)))) + element.select(); + } catch (e) { } + return element; + }, + + disable: function(element) { + element = $(element); + element.disabled = true; + return element; + }, + + enable: function(element) { + element = $(element); + element.disabled = false; + return element; + } +}; + +/*--------------------------------------------------------------------------*/ + +var Field = Form.Element; + +var $F = Form.Element.Methods.getValue; + +/*--------------------------------------------------------------------------*/ + +Form.Element.Serializers = (function() { + function input(element, value) { + switch (element.type.toLowerCase()) { + case 'checkbox': + case 'radio': + return inputSelector(element, value); + default: + return valueSelector(element, value); + } + } + + function inputSelector(element, value) { + if (Object.isUndefined(value)) + return element.checked ? element.value : null; + else element.checked = !!value; + } + + function valueSelector(element, value) { + if (Object.isUndefined(value)) return element.value; + else element.value = value; + } + + function select(element, value) { + if (Object.isUndefined(value)) + return (element.type === 'select-one' ? selectOne : selectMany)(element); + + var opt, currentValue, single = !Object.isArray(value); + for (var i = 0, length = element.length; i < length; i++) { + opt = element.options[i]; + currentValue = this.optionValue(opt); + if (single) { + if (currentValue == value) { + opt.selected = true; + return; + } + } + else opt.selected = value.include(currentValue); + } + } + + function selectOne(element) { + var index = element.selectedIndex; + return index >= 0 ? optionValue(element.options[index]) : null; + } + + function selectMany(element) { + var values, length = element.length; + if (!length) return null; + + for (var i = 0, values = []; i < length; i++) { + var opt = element.options[i]; + if (opt.selected) values.push(optionValue(opt)); + } + return values; + } + + function optionValue(opt) { + return Element.hasAttribute(opt, 'value') ? opt.value : opt.text; + } + + return { + input: input, + inputSelector: inputSelector, + textarea: valueSelector, + select: select, + selectOne: selectOne, + selectMany: selectMany, + optionValue: optionValue, + button: valueSelector + }; +})(); + +/*--------------------------------------------------------------------------*/ + + +Abstract.TimedObserver = Class.create(PeriodicalExecuter, { + initialize: function($super, element, frequency, callback) { + $super(callback, frequency); + this.element = $(element); + this.lastValue = this.getValue(); + }, + + execute: function() { + var value = this.getValue(); + if (Object.isString(this.lastValue) && Object.isString(value) ? + this.lastValue != value : String(this.lastValue) != String(value)) { + this.callback(this.element, value); + this.lastValue = value; + } + } +}); + +Form.Element.Observer = Class.create(Abstract.TimedObserver, { + getValue: function() { + return Form.Element.getValue(this.element); + } +}); + +Form.Observer = Class.create(Abstract.TimedObserver, { + getValue: function() { + return Form.serialize(this.element); + } +}); + +/*--------------------------------------------------------------------------*/ + +Abstract.EventObserver = Class.create({ + initialize: function(element, callback) { + this.element = $(element); + this.callback = callback; + + this.lastValue = this.getValue(); + if (this.element.tagName.toLowerCase() == 'form') + this.registerFormCallbacks(); + else + this.registerCallback(this.element); + }, + + onElementEvent: function() { + var value = this.getValue(); + if (this.lastValue != value) { + this.callback(this.element, value); + this.lastValue = value; + } + }, + + registerFormCallbacks: function() { + Form.getElements(this.element).each(this.registerCallback, this); + }, + + registerCallback: function(element) { + if (element.type) { + switch (element.type.toLowerCase()) { + case 'checkbox': + case 'radio': + Event.observe(element, 'click', this.onElementEvent.bind(this)); + break; + default: + Event.observe(element, 'change', this.onElementEvent.bind(this)); + break; + } + } + } +}); + +Form.Element.EventObserver = Class.create(Abstract.EventObserver, { + getValue: function() { + return Form.Element.getValue(this.element); + } +}); + +Form.EventObserver = Class.create(Abstract.EventObserver, { + getValue: function() { + return Form.serialize(this.element); + } +}); +(function(GLOBAL) { + var DIV = document.createElement('div'); + var docEl = document.documentElement; + var MOUSEENTER_MOUSELEAVE_EVENTS_SUPPORTED = 'onmouseenter' in docEl + && 'onmouseleave' in docEl; + + var Event = { + KEY_BACKSPACE: 8, + KEY_TAB: 9, + KEY_RETURN: 13, + KEY_ESC: 27, + KEY_LEFT: 37, + KEY_UP: 38, + KEY_RIGHT: 39, + KEY_DOWN: 40, + KEY_DELETE: 46, + KEY_HOME: 36, + KEY_END: 35, + KEY_PAGEUP: 33, + KEY_PAGEDOWN: 34, + KEY_INSERT: 45 + }; + + + var isIELegacyEvent = function(event) { return false; }; + + if (window.attachEvent) { + if (window.addEventListener) { + isIELegacyEvent = function(event) { + return !(event instanceof window.Event); + }; + } else { + isIELegacyEvent = function(event) { return true; }; + } + } + + var _isButton; + + function _isButtonForDOMEvents(event, code) { + return event.which ? (event.which === code + 1) : (event.button === code); + } + + var legacyButtonMap = { 0: 1, 1: 4, 2: 2 }; + function _isButtonForLegacyEvents(event, code) { + return event.button === legacyButtonMap[code]; + } + + function _isButtonForWebKit(event, code) { + switch (code) { + case 0: return event.which == 1 && !event.metaKey; + case 1: return event.which == 2 || (event.which == 1 && event.metaKey); + case 2: return event.which == 3; + default: return false; + } + } + + if (window.attachEvent) { + if (!window.addEventListener) { + _isButton = _isButtonForLegacyEvents; + } else { + _isButton = function(event, code) { + return isIELegacyEvent(event) ? _isButtonForLegacyEvents(event, code) : + _isButtonForDOMEvents(event, code); + } + } + } else if (Prototype.Browser.WebKit) { + _isButton = _isButtonForWebKit; + } else { + _isButton = _isButtonForDOMEvents; + } + + function isLeftClick(event) { return _isButton(event, 0) } + + function isMiddleClick(event) { return _isButton(event, 1) } + + function isRightClick(event) { return _isButton(event, 2) } + + function element(event) { + return Element.extend(_element(event)); + } + + function _element(event) { + event = Event.extend(event); + + var node = event.target, type = event.type, + currentTarget = event.currentTarget; + + if (currentTarget && currentTarget.tagName) { + if (type === 'load' || type === 'error' || + (type === 'click' && currentTarget.tagName.toLowerCase() === 'input' + && currentTarget.type === 'radio')) + node = currentTarget; + } + + if (node.nodeType == Node.TEXT_NODE) + node = node.parentNode; + + return Element.extend(node); + } + + function findElement(event, expression) { + var element = _element(event), match = Prototype.Selector.match; + if (!expression) return Element.extend(element); + while (element) { + if (Object.isElement(element) && match(element, expression)) + return Element.extend(element); + element = element.parentNode; + } + } + + function pointer(event) { + return { x: pointerX(event), y: pointerY(event) }; + } + + function pointerX(event) { + var docElement = document.documentElement, + body = document.body || { scrollLeft: 0 }; + + return event.pageX || (event.clientX + + (docElement.scrollLeft || body.scrollLeft) - + (docElement.clientLeft || 0)); + } + + function pointerY(event) { + var docElement = document.documentElement, + body = document.body || { scrollTop: 0 }; + + return event.pageY || (event.clientY + + (docElement.scrollTop || body.scrollTop) - + (docElement.clientTop || 0)); + } + + + function stop(event) { + Event.extend(event); + event.preventDefault(); + event.stopPropagation(); + + event.stopped = true; + } + + + Event.Methods = { + isLeftClick: isLeftClick, + isMiddleClick: isMiddleClick, + isRightClick: isRightClick, + + element: element, + findElement: findElement, + + pointer: pointer, + pointerX: pointerX, + pointerY: pointerY, + + stop: stop + }; + + var methods = Object.keys(Event.Methods).inject({ }, function(m, name) { + m[name] = Event.Methods[name].methodize(); + return m; + }); + + if (window.attachEvent) { + function _relatedTarget(event) { + var element; + switch (event.type) { + case 'mouseover': + case 'mouseenter': + element = event.fromElement; + break; + case 'mouseout': + case 'mouseleave': + element = event.toElement; + break; + default: + return null; + } + return Element.extend(element); + } + + var additionalMethods = { + stopPropagation: function() { this.cancelBubble = true }, + preventDefault: function() { this.returnValue = false }, + inspect: function() { return '[object Event]' } + }; + + Event.extend = function(event, element) { + if (!event) return false; + + if (!isIELegacyEvent(event)) return event; + + if (event._extendedByPrototype) return event; + event._extendedByPrototype = Prototype.emptyFunction; + + var pointer = Event.pointer(event); + + Object.extend(event, { + target: event.srcElement || element, + relatedTarget: _relatedTarget(event), + pageX: pointer.x, + pageY: pointer.y + }); + + Object.extend(event, methods); + Object.extend(event, additionalMethods); + + return event; + }; + } else { + Event.extend = Prototype.K; + } + + if (window.addEventListener) { + Event.prototype = window.Event.prototype || document.createEvent('HTMLEvents').__proto__; + Object.extend(Event.prototype, methods); + } + + var EVENT_TRANSLATIONS = { + mouseenter: 'mouseover', + mouseleave: 'mouseout' + }; + + function getDOMEventName(eventName) { + return EVENT_TRANSLATIONS[eventName] || eventName; + } + + if (MOUSEENTER_MOUSELEAVE_EVENTS_SUPPORTED) + getDOMEventName = Prototype.K; + + function getUniqueElementID(element) { + if (element === window) return 0; + + if (typeof element._prototypeUID === 'undefined') + element._prototypeUID = Element.Storage.UID++; + return element._prototypeUID; + } + + function getUniqueElementID_IE(element) { + if (element === window) return 0; + if (element == document) return 1; + return element.uniqueID; + } + + if ('uniqueID' in DIV) + getUniqueElementID = getUniqueElementID_IE; + + function isCustomEvent(eventName) { + return eventName.include(':'); + } + + Event._isCustomEvent = isCustomEvent; + + function getRegistryForElement(element, uid) { + var CACHE = GLOBAL.Event.cache; + if (Object.isUndefined(uid)) + uid = getUniqueElementID(element); + if (!CACHE[uid]) CACHE[uid] = { element: element }; + return CACHE[uid]; + } + + function destroyRegistryForElement(element, uid) { + if (Object.isUndefined(uid)) + uid = getUniqueElementID(element); + delete GLOBAL.Event.cache[uid]; + } + + + function register(element, eventName, handler) { + var registry = getRegistryForElement(element); + if (!registry[eventName]) registry[eventName] = []; + var entries = registry[eventName]; + + var i = entries.length; + while (i--) + if (entries[i].handler === handler) return null; + + var uid = getUniqueElementID(element); + var responder = GLOBAL.Event._createResponder(uid, eventName, handler); + var entry = { + responder: responder, + handler: handler + }; + + entries.push(entry); + return entry; + } + + function unregister(element, eventName, handler) { + var registry = getRegistryForElement(element); + var entries = registry[eventName]; + if (!entries) return; + + var i = entries.length, entry; + while (i--) { + if (entries[i].handler === handler) { + entry = entries[i]; + break; + } + } + + if (!entry) return; + + var index = entries.indexOf(entry); + entries.splice(index, 1); + + return entry; + } + + + function observe(element, eventName, handler) { + element = $(element); + var entry = register(element, eventName, handler); + + if (entry === null) return element; + + var responder = entry.responder; + if (isCustomEvent(eventName)) + observeCustomEvent(element, eventName, responder); + else + observeStandardEvent(element, eventName, responder); + + return element; + } + + function observeStandardEvent(element, eventName, responder) { + var actualEventName = getDOMEventName(eventName); + if (element.addEventListener) { + element.addEventListener(actualEventName, responder, false); + } else { + element.attachEvent('on' + actualEventName, responder); + } + } + + function observeCustomEvent(element, eventName, responder) { + if (element.addEventListener) { + element.addEventListener('dataavailable', responder, false); + } else { + element.attachEvent('ondataavailable', responder); + element.attachEvent('onlosecapture', responder); + } + } + + function stopObserving(element, eventName, handler) { + element = $(element); + var handlerGiven = !Object.isUndefined(handler), + eventNameGiven = !Object.isUndefined(eventName); + + if (!eventNameGiven && !handlerGiven) { + stopObservingElement(element); + return element; + } + + if (!handlerGiven) { + stopObservingEventName(element, eventName); + return element; + } + + var entry = unregister(element, eventName, handler); + + if (!entry) return element; + removeEvent(element, eventName, entry.responder); + return element; + } + + function stopObservingStandardEvent(element, eventName, responder) { + var actualEventName = getDOMEventName(eventName); + if (element.removeEventListener) { + element.removeEventListener(actualEventName, responder, false); + } else { + element.detachEvent('on' + actualEventName, responder); + } + } + + function stopObservingCustomEvent(element, eventName, responder) { + if (element.removeEventListener) { + element.removeEventListener('dataavailable', responder, false); + } else { + element.detachEvent('ondataavailable', responder); + element.detachEvent('onlosecapture', responder); + } + } + + + + function stopObservingElement(element) { + var uid = getUniqueElementID(element), + registry = getRegistryForElement(element, uid); + + destroyRegistryForElement(element, uid); + + var entries, i; + for (var eventName in registry) { + if (eventName === 'element') continue; + + entries = registry[eventName]; + i = entries.length; + while (i--) + removeEvent(element, eventName, entries[i].responder); + } + } + + function stopObservingEventName(element, eventName) { + var registry = getRegistryForElement(element); + var entries = registry[eventName]; + if (!entries) return; + delete registry[eventName]; + + var i = entries.length; + while (i--) + removeEvent(element, eventName, entries[i].responder); + } + + + function removeEvent(element, eventName, handler) { + if (isCustomEvent(eventName)) + stopObservingCustomEvent(element, eventName, handler); + else + stopObservingStandardEvent(element, eventName, handler); + } + + + + function getFireTarget(element) { + if (element !== document) return element; + if (document.createEvent && !element.dispatchEvent) + return document.documentElement; + return element; + } + + function fire(element, eventName, memo, bubble) { + element = getFireTarget($(element)); + if (Object.isUndefined(bubble)) bubble = true; + memo = memo || {}; + + var event = fireEvent(element, eventName, memo, bubble); + return Event.extend(event); + } + + function fireEvent_DOM(element, eventName, memo, bubble) { + var event = document.createEvent('HTMLEvents'); + event.initEvent('dataavailable', bubble, true); + + event.eventName = eventName; + event.memo = memo; + + element.dispatchEvent(event); + return event; + } + + function fireEvent_IE(element, eventName, memo, bubble) { + var event = document.createEventObject(); + event.eventType = bubble ? 'ondataavailable' : 'onlosecapture'; + + event.eventName = eventName; + event.memo = memo; + + element.fireEvent(event.eventType, event); + return event; + } + + var fireEvent = document.createEvent ? fireEvent_DOM : fireEvent_IE; + + + + Event.Handler = Class.create({ + initialize: function(element, eventName, selector, callback) { + this.element = $(element); + this.eventName = eventName; + this.selector = selector; + this.callback = callback; + this.handler = this.handleEvent.bind(this); + }, + + + start: function() { + Event.observe(this.element, this.eventName, this.handler); + return this; + }, + + stop: function() { + Event.stopObserving(this.element, this.eventName, this.handler); + return this; + }, + + handleEvent: function(event) { + var element = Event.findElement(event, this.selector); + if (element) this.callback.call(this.element, event, element); + } + }); + + function on(element, eventName, selector, callback) { + element = $(element); + if (Object.isFunction(selector) && Object.isUndefined(callback)) { + callback = selector, selector = null; + } + + return new Event.Handler(element, eventName, selector, callback).start(); + } + + Object.extend(Event, Event.Methods); + + Object.extend(Event, { + fire: fire, + observe: observe, + stopObserving: stopObserving, + on: on + }); + + Element.addMethods({ + fire: fire, + + observe: observe, + + stopObserving: stopObserving, + + on: on + }); + + Object.extend(document, { + fire: fire.methodize(), + + observe: observe.methodize(), + + stopObserving: stopObserving.methodize(), + + on: on.methodize(), + + loaded: false + }); + + if (GLOBAL.Event) Object.extend(window.Event, Event); + else GLOBAL.Event = Event; + + GLOBAL.Event.cache = {}; + + function destroyCache_IE() { + GLOBAL.Event.cache = null; + } + + if (window.attachEvent) + window.attachEvent('onunload', destroyCache_IE); + + DIV = null; + docEl = null; +})(this); + +(function(GLOBAL) { + /* Code for creating leak-free event responders is based on work by + John-David Dalton. */ + + var docEl = document.documentElement; + var MOUSEENTER_MOUSELEAVE_EVENTS_SUPPORTED = 'onmouseenter' in docEl + && 'onmouseleave' in docEl; + + function isSimulatedMouseEnterLeaveEvent(eventName) { + return !MOUSEENTER_MOUSELEAVE_EVENTS_SUPPORTED && + (eventName === 'mouseenter' || eventName === 'mouseleave'); + } + + function createResponder(uid, eventName, handler) { + if (Event._isCustomEvent(eventName)) + return createResponderForCustomEvent(uid, eventName, handler); + if (isSimulatedMouseEnterLeaveEvent(eventName)) + return createMouseEnterLeaveResponder(uid, eventName, handler); + + return function(event) { + var cacheEntry = Event.cache[uid]; + var element = cacheEntry.element; + + Event.extend(event, element); + handler.call(element, event); + }; + } + + function createResponderForCustomEvent(uid, eventName, handler) { + return function(event) { + var cacheEntry = Event.cache[uid], element = cacheEntry.element; + + if (Object.isUndefined(event.eventName)) + return false; + + if (event.eventName !== eventName) + return false; + + Event.extend(event, element); + handler.call(element, event); + }; + } + + function createMouseEnterLeaveResponder(uid, eventName, handler) { + return function(event) { + var cacheEntry = Event.cache[uid], element = cacheEntry.element; + + Event.extend(event, element); + var parent = event.relatedTarget; + + while (parent && parent !== element) { + try { parent = parent.parentNode; } + catch(e) { parent = element; } + } + + if (parent === element) return; + handler.call(element, event); + } + } + + GLOBAL.Event._createResponder = createResponder; + docEl = null; +})(this); + +(function(GLOBAL) { + /* Support for the DOMContentLoaded event is based on work by Dan Webb, + Matthias Miller, Dean Edwards, John Resig, and Diego Perini. */ + + var TIMER; + + function fireContentLoadedEvent() { + if (document.loaded) return; + if (TIMER) window.clearTimeout(TIMER); + document.loaded = true; + document.fire('dom:loaded'); + } + + function checkReadyState() { + if (document.readyState === 'complete') { + document.detachEvent('onreadystatechange', checkReadyState); + fireContentLoadedEvent(); + } + } + + function pollDoScroll() { + try { + document.documentElement.doScroll('left'); + } catch (e) { + TIMER = pollDoScroll.defer(); + return; + } + + fireContentLoadedEvent(); + } + + if (document.addEventListener) { + document.addEventListener('DOMContentLoaded', fireContentLoadedEvent, false); + } else { + document.attachEvent('onreadystatechange', checkReadyState); + if (window == top) TIMER = pollDoScroll.defer(); + } + + Event.observe(window, 'load', fireContentLoadedEvent); +})(this); + + +Element.addMethods(); +/*------------------------------- DEPRECATED -------------------------------*/ + +Hash.toQueryString = Object.toQueryString; + +var Toggle = { display: Element.toggle }; + +Element.Methods.childOf = Element.Methods.descendantOf; + +var Insertion = { + Before: function(element, content) { + return Element.insert(element, {before:content}); + }, + + Top: function(element, content) { + return Element.insert(element, {top:content}); + }, + + Bottom: function(element, content) { + return Element.insert(element, {bottom:content}); + }, + + After: function(element, content) { + return Element.insert(element, {after:content}); + } +}; + +var $continue = new Error('"throw $continue" is deprecated, use "return" instead'); + +var Position = { + includeScrollOffsets: false, + + prepare: function() { + this.deltaX = window.pageXOffset + || document.documentElement.scrollLeft + || document.body.scrollLeft + || 0; + this.deltaY = window.pageYOffset + || document.documentElement.scrollTop + || document.body.scrollTop + || 0; + }, + + within: function(element, x, y) { + if (this.includeScrollOffsets) + return this.withinIncludingScrolloffsets(element, x, y); + this.xcomp = x; + this.ycomp = y; + this.offset = Element.cumulativeOffset(element); + + return (y >= this.offset[1] && + y < this.offset[1] + element.offsetHeight && + x >= this.offset[0] && + x < this.offset[0] + element.offsetWidth); + }, + + withinIncludingScrolloffsets: function(element, x, y) { + var offsetcache = Element.cumulativeScrollOffset(element); + + this.xcomp = x + offsetcache[0] - this.deltaX; + this.ycomp = y + offsetcache[1] - this.deltaY; + this.offset = Element.cumulativeOffset(element); + + return (this.ycomp >= this.offset[1] && + this.ycomp < this.offset[1] + element.offsetHeight && + this.xcomp >= this.offset[0] && + this.xcomp < this.offset[0] + element.offsetWidth); + }, + + overlap: function(mode, element) { + if (!mode) return 0; + if (mode == 'vertical') + return ((this.offset[1] + element.offsetHeight) - this.ycomp) / + element.offsetHeight; + if (mode == 'horizontal') + return ((this.offset[0] + element.offsetWidth) - this.xcomp) / + element.offsetWidth; + }, + + + cumulativeOffset: Element.Methods.cumulativeOffset, + + positionedOffset: Element.Methods.positionedOffset, + + absolutize: function(element) { + Position.prepare(); + return Element.absolutize(element); + }, + + relativize: function(element) { + Position.prepare(); + return Element.relativize(element); + }, + + realOffset: Element.Methods.cumulativeScrollOffset, + + offsetParent: Element.Methods.getOffsetParent, + + page: Element.Methods.viewportOffset, + + clone: function(source, target, options) { + options = options || { }; + return Element.clonePosition(target, source, options); + } +}; + +/*--------------------------------------------------------------------------*/ + +if (!document.getElementsByClassName) document.getElementsByClassName = function(instanceMethods){ + function iter(name) { + return name.blank() ? null : "[contains(concat(' ', @class, ' '), ' " + name + " ')]"; + } + + instanceMethods.getElementsByClassName = Prototype.BrowserFeatures.XPath ? + function(element, className) { + className = className.toString().strip(); + var cond = /\s/.test(className) ? $w(className).map(iter).join('') : iter(className); + return cond ? document._getElementsByXPath('.//*' + cond, element) : []; + } : function(element, className) { + className = className.toString().strip(); + var elements = [], classNames = (/\s/.test(className) ? $w(className) : null); + if (!classNames && !className) return elements; + + var nodes = $(element).getElementsByTagName('*'); + className = ' ' + className + ' '; + + for (var i = 0, child, cn; child = nodes[i]; i++) { + if (child.className && (cn = ' ' + child.className + ' ') && (cn.include(className) || + (classNames && classNames.all(function(name) { + return !name.toString().blank() && cn.include(' ' + name + ' '); + })))) + elements.push(Element.extend(child)); + } + return elements; + }; + + return function(className, parentElement) { + return $(parentElement || document.body).getElementsByClassName(className); + }; +}(Element.Methods); + +/*--------------------------------------------------------------------------*/ + +Element.ClassNames = Class.create(); +Element.ClassNames.prototype = { + initialize: function(element) { + this.element = $(element); + }, + + _each: function(iterator, context) { + this.element.className.split(/\s+/).select(function(name) { + return name.length > 0; + })._each(iterator, context); + }, + + set: function(className) { + this.element.className = className; + }, + + add: function(classNameToAdd) { + if (this.include(classNameToAdd)) return; + this.set($A(this).concat(classNameToAdd).join(' ')); + }, + + remove: function(classNameToRemove) { + if (!this.include(classNameToRemove)) return; + this.set($A(this).without(classNameToRemove).join(' ')); + }, + + toString: function() { + return $A(this).join(' '); + } +}; + +Object.extend(Element.ClassNames.prototype, Enumerable); + +/*--------------------------------------------------------------------------*/ + +(function() { + window.Selector = Class.create({ + initialize: function(expression) { + this.expression = expression.strip(); + }, + + findElements: function(rootElement) { + return Prototype.Selector.select(this.expression, rootElement); + }, + + match: function(element) { + return Prototype.Selector.match(element, this.expression); + }, + + toString: function() { + return this.expression; + }, + + inspect: function() { + return "#"; + } + }); + + Object.extend(Selector, { + matchElements: function(elements, expression) { + var match = Prototype.Selector.match, + results = []; + + for (var i = 0, length = elements.length; i < length; i++) { + var element = elements[i]; + if (match(element, expression)) { + results.push(Element.extend(element)); + } + } + return results; + }, + + findElement: function(elements, expression, index) { + index = index || 0; + var matchIndex = 0, element; + for (var i = 0, length = elements.length; i < length; i++) { + element = elements[i]; + if (Prototype.Selector.match(element, expression) && index === matchIndex++) { + return Element.extend(element); + } + } + }, + + findChildElements: function(element, expressions) { + var selector = expressions.toArray().join(', '); + return Prototype.Selector.select(selector, element || document); + } + }); +})(); \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/files/test44inc.html b/alt-implementations/readifry-master/hyphenator/testsuite/files/test44inc.html new file mode 100644 index 0000000..0000860 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/files/test44inc.html @@ -0,0 +1 @@ +Das englische Wort “Hyphenation” lässt sich nicht unbedingt wörtlich mit «Silbentrennung» übersetzen. \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/files/test58_trans.xsl b/alt-implementations/readifry-master/hyphenator/testsuite/files/test58_trans.xsl new file mode 100644 index 0000000..6e4f009 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/files/test58_trans.xsl @@ -0,0 +1,71 @@ + + + + + + + Hyphenator.js - Test 58 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 58

    +

    Run Hyphenator with XSLT.
    + Some browsers may fail on DOMContentLoaded here...

    + + + + + + + + + + + + +
    Hyphenatormanually
    + + + +
    +
    \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/files/test64_iframe.html b/alt-implementations/readifry-master/hyphenator/testsuite/files/test64_iframe.html new file mode 100644 index 0000000..cc28ccd --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/files/test64_iframe.html @@ -0,0 +1,52 @@ + + + + Test 64 iframe content + + + + + + +

    Test 64 – Content of the iframe

    +

    Hyphenation

    +

    Hy|phen|ation

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/files/test66_frame1.html b/alt-implementations/readifry-master/hyphenator/testsuite/files/test66_frame1.html new file mode 100644 index 0000000..53a4607 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/files/test66_frame1.html @@ -0,0 +1,29 @@ + + + + Hyphenator.js – Test 66 + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 66

    +

    Testing hyphenator.js applied to a frameset.

    + +

    Silbentrennung

    +

    Sil|ben|tren|nung

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/files/test66_frame2.html b/alt-implementations/readifry-master/hyphenator/testsuite/files/test66_frame2.html new file mode 100644 index 0000000..80770d2 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/files/test66_frame2.html @@ -0,0 +1,29 @@ + + + + Hyphenator.js – Test 66 + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 66

    +

    Testing hyphenator.js applied to a frameset.

    + +

    Hyphenation

    +

    Hy|phen|ation

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/files/test67_frame1.html b/alt-implementations/readifry-master/hyphenator/testsuite/files/test67_frame1.html new file mode 100644 index 0000000..c3e0f40 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/files/test67_frame1.html @@ -0,0 +1,28 @@ + + + + Hyphenator.js – Test 67 + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 67

    +

    Testing hyphenator.js-bookmarklet in a frameset.

    +

    Silbentrennung

    +

    Sil|ben|tren|nung

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/files/test67_frame2.html b/alt-implementations/readifry-master/hyphenator/testsuite/files/test67_frame2.html new file mode 100644 index 0000000..2f57105 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/files/test67_frame2.html @@ -0,0 +1,28 @@ + + + + Hyphenator.js – Test 67 + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 67

    +

    Testing hyphenator.js-bookmarklet in a frameset.

    +

    Hyphenation

    +

    Hy|phen|ation

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/files/test79_frame.html b/alt-implementations/readifry-master/hyphenator/testsuite/files/test79_frame.html new file mode 100644 index 0000000..f77ac57 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/files/test79_frame.html @@ -0,0 +1,26 @@ + + + + Hyphenator.js – Test79_frame + + + + +

    Test 79_frame

    +

    Silbentrennung

    +

    Sil|ben|tren|nung

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/files/yui2.js b/alt-implementations/readifry-master/hyphenator/testsuite/files/yui2.js new file mode 100644 index 0000000..2c14fd3 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/files/yui2.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +if(typeof YAHOO=="undefined"||!YAHOO){var YAHOO={};}YAHOO.namespace=function(){var A=arguments,E=null,C,B,D;for(C=0;C0)?B.dump(I[K],N-1):Q);}else{P.push(I[K]);}P.push(O);}if(P.length>1){P.pop();}P.push("]");}else{P.push("{");for(K in I){if(B.hasOwnProperty(I,K)){P.push(K+L);if(B.isObject(I[K])){P.push((N>0)?B.dump(I[K],N-1):Q);}else{P.push(I[K]);}P.push(O);}}if(P.length>1){P.pop();}P.push("}");}return P.join("");},substitute:function(Y,J,R){var N,M,L,U,V,X,T=[],K,O="dump",S=" ",I="{",W="}",Q,P;for(;;){N=Y.lastIndexOf(I);if(N<0){break;}M=Y.indexOf(W,N);if(N+1>=M){break;}K=Y.substring(N+1,M);U=K;X=null;L=U.indexOf(S);if(L>-1){X=U.substring(L+1);U=U.substring(0,L);}V=J[U];if(R){V=R(U,V,X);}if(B.isObject(V)){if(B.isArray(V)){V=B.dump(V,parseInt(X,10));}else{X=X||"";Q=X.indexOf(O);if(Q>-1){X=X.substring(4);}P=V.toString();if(P===G||Q>-1){V=B.dump(V,parseInt(X,10));}else{V=P;}}}else{if(!B.isString(V)&&!B.isNumber(V)){V="~-"+T.length+"-~";T[T.length]=K;}}Y=Y.substring(0,N)+V+Y.substring(M+1);}for(N=T.length-1;N>=0;N=N-1){Y=Y.replace(new RegExp("~-"+N+"-~"),"{"+T[N]+"}","g");}return Y;},trim:function(I){try{return I.replace(/^\s+|\s+$/g,"");}catch(J){return I;}},merge:function(){var L={},J=arguments,I=J.length,K;for(K=0;K-1;},"|=":function(B,C){return B===C||B.slice(0,C.length+1)===C+"-";},"^=":function(B,C){return B.indexOf(C)===0;},"$=":function(B,C){return B.slice(-C.length)===C;},"*=":function(B,C){return B.indexOf(C)>-1;},"":function(B,C){return B;}},pseudos:{"root":function(B){return B===B.ownerDocument.documentElement;},"nth-child":function(B,C){return A.Selector._getNth(B,C);},"nth-last-child":function(B,C){return A.Selector._getNth(B,C,null,true);},"nth-of-type":function(B,C){return A.Selector._getNth(B,C,B.tagName);},"nth-last-of-type":function(B,C){return A.Selector._getNth(B,C,B.tagName,true);},"first-child":function(B){return A.Selector._getChildren(B.parentNode)[0]===B;},"last-child":function(C){var B=A.Selector._getChildren(C.parentNode);return B[B.length-1]===C;},"first-of-type":function(B,C){return A.Selector._getChildren(B.parentNode,B.tagName)[0];},"last-of-type":function(C,D){var B=A.Selector._getChildren(C.parentNode,C.tagName);return B[B.length-1];},"only-child":function(C){var B=A.Selector._getChildren(C.parentNode);return B.length===1&&B[0]===C;},"only-of-type":function(B){return A.Selector._getChildren(B.parentNode,B.tagName).length===1;},"empty":function(B){return B.childNodes.length===0;},"not":function(B,C){return !A.Selector.test(B,C);},"contains":function(B,D){var C=B.innerText||B.textContent||"";return C.indexOf(D)>-1;},"checked":function(B){return B.checked===true;}},test:function(F,D){F=A.Selector.document.getElementById(F)||F;if(!F){return false;}var C=D?D.split(","):[];if(C.length){for(var E=0,B=C.length;E1){var O;for(var I=0,J=D.length;I"){M=E;}}}}else{return P;}}if(M&&!B.length){B=M.getElementsByTagName(G.tag);}if(B.length){P=A.Selector._filter(B,G,N,F);}return P;},_clearFoundCache:function(){var E=A.Selector._foundCache;for(var C=0,B=E.length;C":function(C,B){return A.Selector._test(C.parentNode,null,B.previous);},"+":function(D,C){var B=D.previousSibling;while(B&&B.nodeType!==1){B=B.previousSibling;}if(B&&A.Selector._test(B,null,C.previous)){return true;}return false;},"~":function(D,C){var B=D.previousSibling;while(B){if(B.nodeType===1&&A.Selector._test(B,null,C.previous)){return true;}B=B.previousSibling;}return false;}},_getNth:function(C,L,N,G){A.Selector._re.nth.test(L);var K=parseInt(RegExp.$1,10),B=RegExp.$2,H=RegExp.$3,I=parseInt(RegExp.$4,10)||0,M=[],E;var J=A.Selector._getChildren(C.parentNode,N);if(H){K=2;E="+";B="n";I=(H==="odd")?1:0;}else{if(isNaN(K)){K=(B)?1:0;}}if(K===0){if(G){I=J.length-I+1;}if(J[I-1]===C){return true;}else{return false;}}else{if(K<0){G=!!G;K=Math.abs(K);}}if(!G){for(var D=I-1,F=J.length;D=0&&J[D]===C){return true;}}}else{for(var D=J.length-I,F=J.length;D>=0;D-=K){if(D+~]|\s)\s*/},_tokenize:function(B){var D={},H=[],I,G=false,F=A.Selector._patterns,C;B=A.Selector._replaceShorthand(B);do{G=false;for(var E in F){if(YAHOO.lang.hasOwnProperty(F,E)){if(E!="tag"&&E!="combinator"){D[E]=D[E]||[];}if((C=F[E].exec(B))){G=true;if(E!="tag"&&E!="combinator"){if(E==="attributes"&&C[1]==="id"){D.id=C[3];}D[E].push(C.slice(1));}else{D[E]=C[1];}B=B.replace(C[0],"");if(E==="combinator"||!B.length){D.attributes=A.Selector._fixAttributes(D.attributes);D.pseudos=D.pseudos||[];D.tag=D.tag?D.tag.toUpperCase():"*";H.push(D);D={previous:D};}}}}}while(G);return H;},_fixAttributes:function(C){var D=A.Selector.attrAliases;C=C||[];for(var E=0,B=C.length;E + + + Hyphenator.js – Testsuite + + + + +

    The Hyphenator Testsuite

    +
      +
    • + @file@ + [@result@] + @desc@ +
    • +
    +
      +
    + + + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test1.html b/alt-implementations/readifry-master/hyphenator/testsuite/test1.html new file mode 100644 index 0000000..b32a156 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test1.html @@ -0,0 +1,53 @@ + + + + Hyphenator.js – Test 1 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 1

    +

    Hyphenate one word.

    + +

    Hyphenation

    +

    Hy|phen|ation

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test10.html b/alt-implementations/readifry-master/hyphenator/testsuite/test10.html new file mode 100644 index 0000000..a38e740 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test10.html @@ -0,0 +1,59 @@ + + + + Hyphenator.js – Test 10 + + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 10

    +

    Run Hyphenation with manually preloaded patterns. But one language isn't loaded.

    + +

    Das englische Wort “Hyphenation” lässt sich nicht unbedingt wörtlich mit «Silbentrennung» übersetzen.

    +

    Das eng|li|sche Wort “Hyphenation” lässt sich nicht un|be|dingt wört|lich mit «Sil|ben|tren|nung» über|set|zen.

    + + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test100.html b/alt-implementations/readifry-master/hyphenator/testsuite/test100.html new file mode 100644 index 0000000..38f2848 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test100.html @@ -0,0 +1,41 @@ + + + + Hyphenator.js – Test 100 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 100

    +

    External CSS (same origin policy)

    + +

    Hyphenation

    +

    Hy|phen|ation

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test101.html b/alt-implementations/readifry-master/hyphenator/testsuite/test101.html new file mode 100644 index 0000000..c101c9c --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test101.html @@ -0,0 +1,53 @@ + + + + Hyphenator.js – Test 101 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    測試101

    +

    連字“英語在中國的網頁。

    + +

    Hyphenation

    +

    Hy|phen|ation

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test102.html b/alt-implementations/readifry-master/hyphenator/testsuite/test102.html new file mode 100644 index 0000000..f1c3423 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test102.html @@ -0,0 +1,61 @@ + + + + Hyphenator.js – Test 102 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 102

    +

    Usage of onbeforewordhyphenation and onafterwordhyphenation.

    + +

    noitanehpyH

    +

    noita|nehp|yH

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test103.html b/alt-implementations/readifry-master/hyphenator/testsuite/test103.html new file mode 100644 index 0000000..9f1a09b --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test103.html @@ -0,0 +1,59 @@ + + + + Hyphenator.js – Test 103 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 103

    +

    Usage of onbeforewordhyphenation to replace hyphens with non-breaking hyphens.

    + +

    m-a-ntrebat

    +

    m‑a‑ntre|bat

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test104.html b/alt-implementations/readifry-master/hyphenator/testsuite/test104.html new file mode 100644 index 0000000..1443321 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test104.html @@ -0,0 +1,92 @@ + + + + Hyphenator.js – Test 104 + + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 104

    +

    Check Hyphenator_Loader.js with JSLint!

    +
    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test11.html b/alt-implementations/readifry-master/hyphenator/testsuite/test11.html new file mode 100644 index 0000000..e903898 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test11.html @@ -0,0 +1,57 @@ + + + + Hyphenator.js – Test 11 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 11

    +

    Run Hyphenation with a minimal word length of 4.

    + +

    Die Ente hat vier Asse im Ärmel.

    +

    Die En|te hat vier As|se im Är|mel.

    + + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test12.html b/alt-implementations/readifry-master/hyphenator/testsuite/test12.html new file mode 100644 index 0000000..717edf5 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test12.html @@ -0,0 +1,57 @@ + + + + Hyphenator.js – Test 12 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 12

    +

    Run Hyphenation with a minimal word length of 8.

    + +

    Die Ente holte feinen Seetang versetzt mit Schnecken vom Teichgrund.

    +

    Die Ente holte feinen Seetang ver|setzt mit Schne|cken vom Teich|grund.

    + + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test13.html b/alt-implementations/readifry-master/hyphenator/testsuite/test13.html new file mode 100644 index 0000000..070de3c --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test13.html @@ -0,0 +1,81 @@ + + + + Hyphenator.js – Test 13 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 13

    +

    Hyphenate different styles of URLs.

    + +

    + http://www.domain.tld/
    + http://www.domain.tld/path/to/dir/file.html
    + http://www.domain.tld/file.html#anchor
    + http://domain.tld/
    + http://192.168.0.1/
    + www.example.com
    + example.com
    + http://192.168.0.1:80/
    + name@host.com
    + pre.name@subdomain2.host.com
    + http://www.radio1.ch/
    + http://radio1.ch/
    +

    + +

    + http://|www.|domain.|tld/|
    + http://|www.|domain.|tld/|path/|to/|dir/|file.|html
    + http://|www.|domain.|tld/|file.|html#|anchor
    + http://|domain.|tld/|
    + http://|192.|168.|0.|1/|
    + www.|example.|com
    + example.|com
    + http://|192.|168.|0.|1:|80/|
    + name@|host.|com
    + pre.|name@|subdomain2.|host.|com
    + http://|www.|radio1.|ch/|
    + http://|radio1.|ch/|
    +

    + + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test14.html b/alt-implementations/readifry-master/hyphenator/testsuite/test14.html new file mode 100644 index 0000000..d077317 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test14.html @@ -0,0 +1,67 @@ + + + + Hyphenator.js – Test 14 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 14

    +

    Measuring time to hyphenate a word.

    +
    Hyphenator.config({
    +    hyphenchar:'|',
    +    enablecache:false
    +});
    +Hyphenator.run();
    +
    + +

    Silbentrennung

    + +

    hyphenateWord('de','Silbentrennung')-> Sil|ben|tren|nung :: 0._ _ _ms

    + + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test15.html b/alt-implementations/readifry-master/hyphenator/testsuite/test15.html new file mode 100644 index 0000000..1756c7b --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test15.html @@ -0,0 +1,201 @@ + + + + Hyphenator.js – Test 15 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 15

    +

    Measuring time to hyphenate a page, including loading the patterns.

    + +

    Wait 3 seconds...

    + +

    hyphenateElement(te,'en') :: _ms
    (The result differs widely, depending on network, browser-engine and machine-power.)

    + +
    +

    In the year 1878 I took my degree of Doctor of Medicine of the University of London, and proceeded to Netley to go through the course prescribed for surgeons in the army. Having completed my studies there, I was duly attached to the Fifth Northumberland Fusiliers as Assistant Surgeon. The regiment was stationed in India at the time, and before I could join it, the second Afghan war had broken out. On landing at Bombay, I learned that my corps had advanced through the passes, and was already deep in the enemy's country. I followed, however, with many other officers who were in the same situation as myself, and succeeded in reaching Candahar in safety, where I found my regiment, and at once entered upon my new duties.

    + +

    The campaign brought honours and promotion to many, but for me it had nothing but misfortune and disaster. I was removed from my brigade and attached to the Berkshires, with whom I served at the fatal battle of Maiwand. There I was struck on the shoulder by a Jezail bullet, which shattered the bone and grazed the subclavian artery. I should have fallen into the hands of the murderous Ghazis had it not been for the devotion and courage shown by Murray, my orderly, who threw me across a pack-horse, and succeeded in bringing me safely to the British lines.

    + +

    Worn with pain, and weak from the prolonged hardships which I had undergone, I was removed, with a great train of wounded sufferers, to the base hospital at Peshawar. Here I rallied, and had already improved so far as to be able to walk about the wards, and even to bask a little upon the verandah, when I was struck down by enteric fever, that curse of our Indian possessions. For months my life was despaired of, and when at last I came to myself and became convalescent, I was so weak and emaciated that a medical board determined that not a day should be lost in sending me back to England. I was dispatched, accordingly, in the troopship Orontes, and landed a month later on Portsmouth jetty, with my health irretrievably ruined, but with permission from a paternal government to spend the next nine months in attempting to improve it.

    + +

    I had neither kith nor kin in England, and was therefore as free as air—or as free as an income of eleven shillings and sixpence a day will permit a man to be. Under such circumstances, I naturally gravitated to London, that great cesspool into which all the loungers and idlers of the Empire are irresistibly drained. There I stayed for some time at a private hotel in the Strand, leading a comfortless, meaningless existence, and spending such money as I had, considerably more freely than I ought. So alarming did the state of my finances become, that I soon realized that I must either leave the metropolis and rusticate somewhere in the country, or that I must make a complete alteration in my style of living. Choosing the latter alternative, I began by making up my mind to leave the hotel, and to take up my quarters in some less pretentious and less expensive domicile.

    + +

    On the very day that I had come to this conclusion, I was standing at the Criterion Bar, when some one tapped me on the shoulder, and turning round I recognized young Stamford, who had been a dresser under me at Bart's. The sight of a friendly face in the great wilderness of London is a pleasant thing indeed to a lonely man. In old days Stamford had never been a particular crony of mine, but now I hailed him with enthusiasm, and he, in his turn, appeared to be delighted to see me. In the exuberance of my joy, I asked him to lunch with me at the Holborn, and we started off together in a hansom.

    + +

    “Whatever have you been doing with yourself, Watson?” he asked in undisguised wonder, as we rattled through the crowded London streets. “You are as thin as a lath and as brown as a nut.”

    + +

    I gave him a short sketch of my adventures, and had hardly concluded it by the time that we reached our destination.

    + +

    “Poor devil!” he said, commiseratingly, after he had listened to my misfortunes. “What are you up to now?”

    + +

    “Looking for lodgings,” I answered. “Trying to solve the problem as to whether it is possible to get comfortable rooms at a reasonable price.”

    + +

    “That's a strange thing,” remarked my companion; “you are the second man to-day that has used that expression to me.”

    + +

    “And who was the first?” I asked.

    + +

    “A fellow who is working at the chemical laboratory up at the hospital. He was bemoaning himself this morning because he could not get someone to go halves with him in some nice rooms which he had found, and which were too much for his purse.”

    + +

    “By Jove!” I cried, “if he really wants someone to share the rooms and the expense, I am the very man for him. I should prefer having a partner to being alone.”

    + +

    Young Stamford looked rather strangely at me over his wine-glass. “You don't know Sherlock Holmes yet,” he said; “perhaps you would not care for him as a constant companion.”

    + +

    “Why, what is there against him?”

    + +

    “Oh, I didn't say there was anything against him. He is a little queer in his ideas—an enthusiast in some branches of science. As far as I know he is a decent fellow enough.”

    + +

    “A medical student, I suppose?” said I.

    + +

    “No—I have no idea what he intends to go in for. I believe he is well up in anatomy, and he is a first-class chemist; but, as far as I know, he has never taken out any systematic medical classes. His studies are very desultory and eccentric, but he has amassed a lot of out-of-the way knowledge which would astonish his professors.”

    + +

    “Did you never ask him what he was going in for?” I asked.

    + +

    “No; he is not a man that it is easy to draw out, though he can be communicative enough when the fancy seizes him.”

    + +

    “I should like to meet him,” I said. “If I am to lodge with anyone, I should prefer a man of studious and quiet habits. I am not strong enough yet to stand much noise or excitement. I had enough of both in Afghanistan to last me for the remainder of my natural existence. How could I meet this friend of yours?”

    + +

    “He is sure to be at the laboratory,” returned my companion. “He either avoids the place for weeks, or else he works there from morning to night. If you like, we shall drive round together after luncheon.”

    + +

    “Certainly,” I answered, and the conversation drifted away into other channels.

    + +

    As we made our way to the hospital after leaving the Holborn, Stamford gave me a few more particulars about the gentleman whom I proposed to take as a fellow-lodger.

    + +

    “You mustn't blame me if you don't get on with him,” he said; “I know nothing more of him than I have learned from meeting him occasionally in the laboratory. You proposed this arrangement, so you must not hold me responsible.”

    + +

    “If we don't get on it will be easy to part company,” I answered. “It seems to me, Stamford,” I added, looking hard at my companion, “that you have some reason for washing your hands of the matter. Is this fellow's temper so formidable, or what is it? Don't be mealy-mouthed about it.”

    + +

    “It is not easy to express the inexpressible,” he answered with a laugh. “Holmes is a little too scientific for my tastes—it approaches to cold-bloodedness. I could imagine his giving a friend a little pinch of the latest vegetable alkaloid, not out of malevolence, you understand, but simply out of a spirit of inquiry in order to have an accurate idea of the effects. To do him justice, I think that he would take it himself with the same readiness. He appears to have a passion for definite and exact knowledge.”

    + +

    “Very right too.”

    + +

    “Yes, but it may be pushed to excess. When it comes to beating the subjects in the dissecting-rooms with a stick, it is certainly taking rather a bizarre shape.”

    + +

    “Beating the subjects!”

    + +

    “Yes, to verify how far bruises may be produced after death. I saw him at it with my own eyes.”

    + +

    “And yet you say he is not a medical student?”

    + +

    “No. Heaven knows what the objects of his studies are. But here we are, and you must form your own impressions about him.” As he spoke, we turned down a narrow lane and passed through a small side-door, which opened into a wing of the great hospital. It was familiar ground to me, and I needed no guiding as we ascended the bleak stone staircase and made our way down the long corridor with its vista of whitewashed wall and dun-coloured doors. Near the further end a low arched passage branched away from it and led to the chemical laboratory.

    + +

    This was a lofty chamber, lined and littered with countless bottles. Broad, low tables were scattered about, which bristled with retorts, test-tubes, and little Bunsen lamps, with their blue flickering flames. There was only one student in the room, who was bending over a distant table absorbed in his work. At the sound of our steps he glanced round and sprang to his feet with a cry of pleasure. “I've found it! I've found it,” he shouted to my companion, running towards us with a test-tube in his hand. “I have found a re-agent which is precipitated by hœmoglobin, and by nothing else.” Had he discovered a gold mine, greater delight could not have shone upon his features.

    + +

    “Dr. Watson, Mr. Sherlock Holmes,” said Stamford, introducing us.

    + +

    “How are you?” he said cordially, gripping my hand with a strength for which I should hardly have given him credit. “You have been in Afghanistan, I perceive.”

    + +

    “How on earth did you know that?” I asked in astonishment.

    + +

    “Never mind,” said he, chuckling to himself. “The question now is about hœmoglobin. No doubt you see the significance of this discovery of mine?”

    + +

    “It is interesting, chemically, no doubt,” I answered, “but practically—”

    + +

    “Why, man, it is the most practical medico-legal discovery for years. Don't you see that it gives us an infallible test for blood stains. Come over here now!” He seized me by the coat-sleeve in his eagerness, and drew me over to the table at which he had been working. “Let us have some fresh blood,” he said, digging a long bodkin into his finger, and drawing off the resulting drop of blood in a chemical pipette. “Now, I add this small quantity of blood to a litre of water. You perceive that the resulting mixture has the appearance of pure water. The proportion of blood cannot be more than one in a million. I have no doubt, however, that we shall be able to obtain the characteristic reaction.” As he spoke, he threw into the vessel a few white crystals, and then added some drops of a transparent fluid. In an instant the contents assumed a dull mahogany colour, and a brownish dust was precipitated to the bottom of the glass jar.

    + +

    “Ha! ha!” he cried, clapping his hands, and looking as delighted as a child with a new toy. “What do you think of that?”

    + +

    “It seems to be a very delicate test,” I remarked.

    + +

    “Beautiful! beautiful! The old Guiacum test was very clumsy and uncertain. So is the microscopic examination for blood corpuscles. The latter is valueless if the stains are a few hours old. Now, this appears to act as well whether the blood is old or new. Had this test been invented, there are hundreds of men now walking the earth who would long ago have paid the penalty of their crimes.”

    + +

    “Indeed!” I murmured.

    + +

    “Criminal cases are continually hinging upon that one point. A man is suspected of a crime months perhaps after it has been committed. His linen or clothes are examined, and brownish stains discovered upon them. Are they blood stains, or mud stains, or rust stains, or fruit stains, or what are they? That is a question which has puzzled many an expert, and why? Because there was no reliable test. Now we have the Sherlock Holmes' test, and there will no longer be any difficulty.”

    + +

    His eyes fairly glittered as he spoke, and he put his hand over his heart and bowed as if to some applauding crowd conjured up by his imagination.

    + +

    “You are to be congratulated,” I remarked, considerably surprised at his enthusiasm.

    + +

    “There was the case of Von Bischoff at Frankfort last year. He would certainly have been hung had this test been in existence. Then there was Mason of Bradford, and the notorious Muller, and Lefevre of Montpellier, and Samson of new Orleans. I could name a score of cases in which it would have been decisive.”

    + +

    “You seem to be a walking calendar of crime,” said Stamford with a laugh. “You might start a paper on those lines. Call it the ‘Police News of the Past.’”

    + +

    “Very interesting reading it might be made, too,” remarked Sherlock Holmes, sticking a small piece of plaster over the prick on his finger. “I have to be careful,” he continued, turning to me with a smile, “for I dabble with poisons a good deal.” He held out his hand as he spoke, and I noticed that it was all mottled over with similar pieces of plaster, and discoloured with strong acids.

    + +

    “We came here on business,” said Stamford, sitting down on a high three-legged stool, and pushing another one in my direction with his foot. “My friend here wants to take diggings, and as you were complaining that you could get no one to go halves with you, I thought that I had better bring you together.”

    + +

    Sherlock Holmes seemed delighted at the idea of sharing his rooms with me. “I have my eye on a suite in Baker Street,” he said, “which would suit us down to the ground. You don't mind the smell of strong tobacco, I hope?”

    + +

    “I always smoke ‘ship's’ myself,” I answered.

    + +

    “That's good enough. I generally have chemicals about, and occasionally do experiments. Would that annoy you?”

    + +

    “By no means.”

    + +

    “Let me see—what are my other shortcomings. I get in the dumps at times, and don't open my mouth for days on end. You must not think I am sulky when I do that. Just let me alone, and I'll soon be right. What have you to confess now? It's just as well for two fellows to know the worst of one another before they begin to live together.”

    + +

    I laughed at this cross-examination. “I keep a bull pup,” I said, “and I object to rows because my nerves are shaken, and I get up at all sorts of ungodly hours, and I am extremely lazy. I have another set of vices when I'm well, but those are the principal ones at present.”

    + +

    “Do you include violin-playing in your category of rows?” he asked, anxiously.

    + +

    “It depends on the player,” I answered. “A well-played violin is a treat for the gods—a badly-played one—”

    + +

    “Oh, that's all right,” he cried, with a merry laugh. “I think we may consider the thing as settled—that is, if the rooms are agreeable to you.”

    + +

    “When shall we see them?”

    + +

    “Call for me here at noon to-morrow, and we'll go together and settle everything,” he answered.

    + +

    “All right—noon exactly,” said I, shaking his hand.

    + +

    We left him working among his chemicals, and we walked together towards my hotel.

    + +

    “By the way,” I asked suddenly, stopping and turning upon Stamford, “how the deuce did he know that I had come from Afghanistan?”

    + +

    My companion smiled an enigmatical smile. “That's just his little peculiarity,” he said. “A good many people have wanted to know how he finds things out.”

    + +

    “Oh! a mystery is it?” I cried, rubbing my hands. “This is very piquant. I am much obliged to you for bringing us together. ‘The proper study of mankind is man,’ you know.”

    + +

    “You must study him, then,” Stamford said, as he bade me good-bye. “You'll find him a knotty problem, though. I'll wager he learns more about you than you about him. Good-bye.”

    + +

    “Good-bye,” I answered, and strolled on to my hotel, considerably interested in my new acquaintance.

    +
    + + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test16.html b/alt-implementations/readifry-master/hyphenator/testsuite/test16.html new file mode 100644 index 0000000..f203dfe --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test16.html @@ -0,0 +1,93 @@ + + + + Hyphenator.js – Test 16 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 16

    +

    Check Hyphenator with JSLint!

    +
    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test17.html b/alt-implementations/readifry-master/hyphenator/testsuite/test17.html new file mode 100644 index 0000000..89fc31f --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test17.html @@ -0,0 +1,62 @@ + + + + Hyphenator.js – Test 17 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 17

    +

    Test running onContentLoaded (instead of onload).

    +
    Hyphenator.config({hyphenchar:'|'});
    +Hyphenator.run();
    + +

    Silbentrennung

    + + +

    Sil|ben|tren|nung

    + + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test18.html b/alt-implementations/readifry-master/hyphenator/testsuite/test18.html new file mode 100644 index 0000000..31ce162 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test18.html @@ -0,0 +1,61 @@ + + + + Hyphenator.js – Test 18 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 18

    +

    Check for correctly put Zero Width Spaces. Resize window!

    +
    Hyphenator.config({hyphenchar:'|'});
    +Hyphenator.run();
    + +

    pretty-much-not-interested-in-politics
    + 1.000 Dollars on 12.10.09
    + http://www.mnn.ch/silbentrennung.html

    + +

    pretty-much-not-in|ter|ested-in-pol|i|tics
    + 1.000 Dol|lars on 12.10.09
    + http://|www.|mnn.|ch/|silbentrennung.|html

    + + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test19.html b/alt-implementations/readifry-master/hyphenator/testsuite/test19.html new file mode 100644 index 0000000..83a2ca3 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test19.html @@ -0,0 +1,786 @@ + + + + Hyphenator.js – Test 19 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 19

    +

    Do some checks related to german patterns.

    + + + + + + + + + + +
    HyphenatorManuell

    Absaugtrichter

    +

    Aberration

    +

    absaugen

    +

    Absaugesiphon

    +

    Abtreibung

    +

    Abtrennen

    +

    Aktionen

    +

    allerengste

    +

    Alpenostrand

    +

    Altbaucharme

    +

    Altbauerhaltung

    +

    Ankerlichten

    +

    Analphabeten

    +

    Angstraum

    +

    Angsttraum

    +

    Anschlagsorte

    +

    Antiklack

    +

    Antragsteller

    +

    anzugleichen

    +

    anzugraben

    +

    Armbandage

    +

    Asthmagen

    +

    Auflieger

    +

    Automaten

    +

    aufpolstern

    +

    Augengel

    +

    Ausdruckstanzen

    +

    Aussendung

    +

    Autorinnen

    +

    Autoradios

    +

    Autorennen

    +

    Badenden

    +

    Ballade

    +

    Ballkontrolle

    +

    Barambiente

    +

    Baumangel

    +

    Baumesstechnik

    +

    Beamtenadel

    +

    Beatmungsgerät

    +

    Beifallstürme

    +

    Beinamen

    +

    beinhalten

    +

    beratschlagen

    +

    Besamsegel

    +

    Bettrost

    +

    Betriebsauffahrt

    +

    Beuteleimer

    +

    Bildungsexpansion

    +

    Billigreise

    +

    Billigersatz

    +

    Blumentopferde

    +

    Bombasteinfluss

    +

    Brautradition

    +

    Bonbonniere

    +

    Briefeinwurf

    +

    Brottrocken

    +

    Busengrabscher

    +

    Chefetage

    +

    Dachspoiler

    +

    dampfarm

    +

    Deckeleimer

    +

    Deimetal

    +

    Delikatessen

    +

    dementsprechend

    +

    Dezernenten

    +

    Diamantnadel

    +

    Dienstrang

    +

    Dienstraum

    +

    Discountermarmor

    +

    dreisekündigen

    +

    Duschlampe

    +

    Dudelei

    +

    Eidotter

    +

    Eileiter

    +

    Einbauschalter

    +

    Einkaufstempel

    +

    einsalben

    +

    einsaugen

    +

    Einzellernen

    +

    Eischnee

    +

    Elektrodengel

    +

    Erblasser

    +

    Erbrecht

    +

    Erdachse

    +

    erblinden

    +

    erdrückend

    +

    erstunken

    +

    Eselstute

    +

    Europalette

    +

    Fankreise

    +

    Fankrawall

    +

    fantastisch

    +

    Festrumpfschlauchboot

    +

    Fehlernährung

    +

    Feindesinfektion

    + +

    Flussetappe

    +

    Flutscheinwerfer

    +

    Freilichtaufnahme

    +

    fruchtiger

    +

    Fährunglücke

    +

    Gabellaschenketten

    +

    Gagautor

    +

    Garantieregel

    +

    Gastanker

    +

    Gasthermen

    +

    Gastraum

    +

    Gastrolle

    +

    Gasturbine

    +

    Gauleiter

    +

    Gebetsturm

    +

    Gebetstürme

    +

    Gelbrand

    +

    gelbrot

    +

    Gelächter

    +

    Genitalien

    +

    Gesetzestreuer

    +

    Gespenstern

    +

    Glücksautomaten

    +

    Gourmetrösterei

    +

    Grabschereien

    +

    Grabbepflanzung

    +

    Grabschändung

    +

    Grundübel

    +

    Grundsubstanzen

    +

    Gyroskopie

    +

    Hanflatschen

    +

    Hanfrauchen

    +

    Hausaufgabe

    +

    Haustiere

    +

    Haustrunk

    +

    Heilerfolge

    +

    Heimatschlager

    +

    Herbsteinbruch

    +

    hermetisch

    +

    herzeigen

    +

    Hofladen

    +

    hochprozentiger

    +

    Hochzeitsalben

    +

    Hostessen

    +

    hurtiger

    +

    Hörnerven

    +

    Isarufer

    +

    Januarschnee

    +

    Juliangebot

    +

    Kadaversammlung

    +

    Kameradenkreise

    +

    Kameratasche

    +

    Kameratreiber

    +

    Kanzerogene

    +

    Karibikreise

    +

    Karnevalsauftakt

    +

    Kastraten

    +

    Kathoden

    +

    Kaufladen

    +

    Kauzahn

    +

    Kellerasseln

    +

    Kirschwein

    +

    Klumpstreu

    +

    Kolumbier

    +

    kombinieren

    +

    Kondensstreifen

    +

    Kontopfändung

    +

    kontrastreicher

    +

    Kotrainer

    +

    Kuhfladen

    +

    Kultschlager

    +

    Kurzurlaub

    +

    Kurtrauben

    +

    Kühltruhe

    +

    Lachspäckchen

    +

    Lachsalven

    +

    Landrücken

    +

    Landessender

    +

    Landesteil

    +

    Laubrechen

    +

    Lebensmittelpunkt

    +

    linkselbisch

    +

    magentarot

    +

    Malzeichen

    +

    Mannschaftstransportwagen

    +

    Marketingeifer

    +

    Messetage

    +

    Messias

    +

    Metzgerinnung

    +

    Metzgersenkel

    +

    Mietnomaden

    +

    Mietzweck

    +

    Moderation

    +

    Musiknoten

    +

    Musikerziehung

    +

    Nachtaufnahme

    +

    Nachtruhe

    +

    Nachbarskater

    +

    nachgeholt

    +

    Nachmittagstalker

    +

    nachtragend

    +

    Nachtreter

    +

    Nachteilzug

    +

    Nachttischlampe

    +

    Nagelfeile

    +

    Nahtoderlebnis

    +

    Namenserbe

    +

    Neubaucharme

    +

    Notartermin

    +

    Notentriegelung

    +

    Notlaufeigenschaften

    +

    Oberstübchen

    +

    Ölablassschraube

    +

    Panamazone

    +

    Patentrichter

    +

    paternostern

    +

    perfektesten

    +

    pieksender

    +

    Plastikeimer

    +

    Poversohlen

    +

    Profilachse

    +

    Profilaufruf

    +

    Propangastank

    +

    Prüfflüge

    +

    Prüffeldelektriker

    +

    Prüffeldingenieur

    +

    Publikumshit

    +

    Punktrichter

    +

    punktuell

    +

    Qualmaustritt

    +

    Quereinsteiger

    +

    Quetschverbinder

    +

    Radieschen

    +

    radikalliberal

    +

    Radiosendung

    +

    ranschleimen

    +

    Rechtschreibrat

    +

    Restetruhe

    +

    Rohrohrzucker

    +

    Rolladenkasten

    +

    Rostocker

    +

    Rotzeder

    +

    Rotzungenfilet

    +

    Rucksackreisende

    +

    Rumaroma

    +

    rundfunken

    +

    Rühreifrühstück

    +

    Saaleufer

    +

    Sahnehering

    +

    Sauflieder

    +

    Saugrippe

    +

    saugute

    +

    Schaffamilie

    +

    Schiffstau

    +

    Schiffstuten

    +

    Schiffsirene

    +

    Schlafshirt

    +

    Schlammassel

    +

    Schnapskaraffe

    +

    schnauzbärtiger

    +

    Schreibecken

    +

    Schreibblockade

    +

    Schulaula

    +

    Schulpflicht

    +

    Schultermine

    +

    Schulterrain

    +

    Schulterrasse

    +

    Schweineleber

    +

    Schweinsaugen

    +

    Schweinigelei

    +

    Seeleute

    +

    Seetangarten

    +

    Sekretariat

    +

    Senioreninformation

    +

    Siebentausender

    +

    Silbentrennung

    +

    siebente

    +

    Spargelernte

    +

    Sprecherziehung

    +

    Spurtreue

    +

    Staatsexamen

    +

    Stabantenne

    +

    Standardofen

    +

    Starknebel

    +

    Starkregen

    +

    Stargagen

    +

    Startenöre

    +

    Stauballergie

    +

    Staubecken

    +

    staubsaugen

    +

    Stauteiche

    +

    Stiefeltern

    +

    Strafanzeige

    +

    Stromausfall

    +

    Strompreis

    +

    Subtropikluft

    +

    Südengland

    +

    Tatorte

    +

    Talentförderung

    +

    Talentwässerung

    +

    Talgrund

    +

    Tangente

    +

    Tauschwert

    +

    Taufliege

    +

    Teenager

    +

    Terrorattentat

    +

    Topflappen

    +

    topaktuell

    +

    Torflaute

    +

    Transport

    +

    traumatisch

    +

    Türenteiser

    +

    Türklinken

    +

    Uranus

    +

    Uraltakte

    +

    Urinsekt

    +

    Urinstinkt

    +

    Verandabrüstung

    +

    verbeulen

    +

    verblassen

    +

    verblüfft

    +

    vereinsamt

    +

    vergessen

    +

    Verlustaversion

    +

    versehen

    +

    verstauchen

    +

    verstopfen

    +

    versunken

    +

    Versorgungsamt

    +

    vertrösten

    +

    vertragstreu

    +

    Violenten

    +

    Visagebühren

    +

    Visapflicht

    +

    Volmetal

    +

    Vormarsch

    +

    Wachstube

    +

    waldarm

    +

    Wandelstern

    +

    Wasserschieber

    +

    Wegschaumentalität

    +

    Weihnachtspaten

    +

    Weltraum

    +

    Werbetrommel

    +

    Windeseile

    +

    Wurfantenne

    +

    Zimtrolle

    +

    Zuckerguß

    +

    Zugangsteuerung

    +

    Zugriff

    +

    Zugangebote

    +

    Zwangsehen

    +

    Zwangsexmatrikulation

    +

    Zweigangliederung

    +

    Zwergelstern

    Ab•saug•trich•ter

    +

    Ab•erra•ti•on

    +

    ab•sau•gen

    +

    Ab•sau•ge•si•phon

    +

    Ab•trei•bung

    +

    Ab•tren•nen

    +

    Ak•tio•nen

    +

    al•ler•engs•te

    +

    Al•pen•ost•rand

    +

    Alt•bau•char•me

    +

    Alt•bau•erhal•tung

    +

    An•ker•lich•ten

    +

    An•alpha•be•ten

    +

    Angst•raum

    +

    Angst•traum

    +

    An•schlagsor•te

    +

    An•tik•lack

    +

    An•trag•stel•ler

    +

    an•zu•glei•chen

    +

    an•zu•gra•ben

    +

    Arm•ban•da•ge

    +

    Asthma•gen

    +

    Auf•lie•ger

    +

    Au•to•ma•ten

    +

    auf•pols•tern

    +

    Au•gen•gel

    +

    Aus•drucks•tan•zen

    +

    Aus•sen•dung

    +

    Au•to•rin•nen

    +

    Au•to•ra•di•os

    +

    Au•to•ren•nen

    +

    Ba•den•den

    +

    Bal•la•de

    +

    Ball•kontrol•le

    +

    Bar•am•bien•te

    +

    Bau•man•gel

    +

    Bau•mess•tech•nik

    +

    Be•am•ten•adel

    +

    Be•at•mungs•ge•rät

    +

    Bei•fall•stür•me

    +

    Bei•na•men

    +

    be•inhal•ten

    +

    be•rat•schla•gen

    +

    Be•sam•se•gel

    +

    Bett•rost

    +

    Be•triebs•auf•fahrt

    +

    Beu•tel•ei•mer

    +

    Bil•dungs•ex•pan•si•on

    +

    Bil•lig•rei•se

    +

    Bil•lig•ersatz

    +

    Blu•men•topf•er•de

    +

    Bom•bast•ein•fluss

    +

    Brau•tra•di•ti•on

    +

    Bon•bon•nie•re

    +

    Brief•ein•wurf

    +

    Brot•tro•cken

    +

    Bu•sen•grabscher

    +

    Chef•eta•ge

    +

    Dach•spoi•ler

    +

    dampf•arm

    +

    De•ckel•ei•mer

    +

    Deime•tal

    +

    De•li•ka•tes•sen

    +

    dem•entspre•chend

    +

    De•zer•nen•ten

    +

    Dia•mant•na•del

    +

    Dienst•rang

    +

    Dienst•raum

    +

    Dis•coun•ter•mar•mor

    +

    drei•se•kün•di•gen

    +

    Dusch•lam•pe

    +

    Du•de•lei

    +

    Ei•dot•ter

    +

    Ei•lei•ter

    +

    Ein•bau•schal•ter

    +

    Ein•kaufs•tem•pel

    +

    ein•sal•ben

    +

    ein•sau•gen

    +

    Ein•zel•lernen

    +

    Ei•schnee

    +

    Elek•tro•den•gel

    +

    Erb•las•ser

    +

    Erbrecht

    +

    Erd•ach•se

    +

    er•blin•den

    +

    er•drü•ckend

    +

    er•stun•ken

    +

    Esel•stu•te

    +

    Eu•ro•palet•te

    +

    Fan•krei•se

    +

    Fan•kra•wall

    +

    fan•tas•tisch

    +

    Fest•rumpf•schlauch•boot

    +

    Fehl•ernäh•rung

    +

    Fein•desin•fek•ti•on

    + +

    Fluss•etap•pe

    +

    Flut•schein•wer•fer

    +

    Frei•licht•auf•nah•me

    +

    fruch•ti•ger

    +

    Fähr•un•glü•cke

    +

    Ga•bel•la•schen•ket•ten

    +

    Gag•au•tor

    +

    Ga•ran•tie•re•gel

    +

    Gas•tan•ker

    +

    Gas•ther•men

    +

    Gast•raum

    +

    Gast•rol•le

    +

    Gas•tur•bi•ne

    +

    Gau•lei•ter

    +

    Ge•bets•turm

    +

    Ge•bets•tür•me

    +

    Gelb•rand

    +

    gelb•rot

    +

    Ge•läch•ter

    +

    Ge•ni•ta•li•en

    +

    Ge•set•zes•treu•er

    +

    Ge•spens•tern

    +

    Glücks•au•to•ma•ten

    +

    Gour•met•rös•te•rei

    +

    Grabsche•rei•en

    +

    Grab•bepflan•zung

    +

    Grab•schän•dung

    +

    Grund•übel

    +

    Grund•sub•stan•zen

    +

    Gy•ro•sko•pie

    +

    Hanf•lat•schen

    +

    Hanf•rau•chen

    +

    Haus•auf•ga•be

    +

    Haus•tie•re

    +

    Haus•trunk

    +

    Heil•erfol•ge

    +

    Hei•mat•schla•ger

    +

    Herbst•ein•bruch

    +

    her•me•tisch

    +

    her•zei•gen

    +

    Hof•la•den

    +

    hoch•pro•zen•ti•ger

    +

    Hoch•zeits•al•ben

    +

    Hos•tes•sen

    +

    hur•ti•ger

    +

    Hör•nerven

    +

    Isar•ufer

    +

    Ja•nu•ar•schnee

    +

    Ju•li•ange•bot

    +

    Ka•da•ver•samm•lung

    +

    Ka•me•ra•den•krei•se

    +

    Ka•me•ra•ta•sche

    +

    Ka•me•ra•trei•ber

    +

    Kan•ze•ro•ge•ne

    +

    Ka•ri•bik•rei•se

    +

    Kar•ne•vals•auf•takt

    +

    Kas•tra•ten

    +

    Ka•tho•den

    +

    Kauf•la•den

    +

    Kau•zahn

    +

    Kel•ler•as•seln

    +

    Kirsch•wein

    +

    Klump•streu

    +

    Ko•lum•bier

    +

    kom•bi•nie•ren

    +

    Kon•dens•strei•fen

    +

    Kon•to•pfän•dung

    +

    kon•trast•rei•cher

    +

    Ko•trai•ner

    +

    Kuh•fla•den

    +

    Kult•schla•ger

    +

    Kurz•ur•laub

    +

    Kur•trau•ben

    +

    Kühl•tru•he

    +

    Lachs•päck•chen

    +

    Lach•sal•ven

    +

    Land•rü•cken

    +

    Lan•des•sen•der

    +

    Lan•des•teil

    +

    Laub•re•chen

    +

    Le•bens•mit•tel•punkt

    +

    links•el•bisch

    +

    ma•genta•rot

    +

    Mal•zei•chen

    +

    Mann•schafts•trans•port•wa•gen

    +

    Mar•ke•ting•ei•fer

    +

    Mes•se•ta•ge

    +

    Mes•sias

    +

    Metz•ger•innung

    +

    Metz•gers•en•kel

    +

    Miet•no•ma•den

    +

    Miet•zweck

    +

    Mo•dera•ti•on

    +

    Mu•sik•no•ten

    +

    Mu•sik•erzie•hung

    +

    Nacht•auf•nah•me

    +

    Nacht•ru•he

    +

    Nach•bars•ka•ter

    +

    nach•ge•holt

    +

    Nach•mit•tags•tal•ker

    +

    nach•tra•gend

    +

    Nach•tre•ter

    +

    Nacht•eilzug

    +

    Nacht•tisch•lam•pe

    +

    Na•gel•fei•le

    +

    Nah•tod•er•leb•nis

    +

    Na•mens•er•be

    +

    Neu•bau•char•me

    +

    No•tar•ter•min

    +

    Not•ent•rie•ge•lung

    +

    Not•lauf•ei•gen•schaf•ten

    +

    Ober•stüb•chen

    +

    Öl•ab•lass•schrau•be

    +

    Pa•na•ma•zo•ne

    +

    Pa•tent•rich•ter

    +

    pa•ter•nos•tern

    +

    per•fek•tes•ten

    +

    piek•sen•der

    +

    Plas•tik•ei•mer

    +

    Po•ver•soh•len

    +

    Pro•fil•ach•se

    +

    Pro•fil•auf•ruf

    +

    Pro•pan•gas•tank

    +

    Prüf•flü•ge

    +

    Prüf•feld•elek•tri•ker

    +

    Prüf•feld•in•ge•nieur

    +

    Pu•bli•kums•hit

    +

    Punkt•rich•ter

    +

    punk•tu•ell

    +

    Qualm•aus•tritt

    +

    Quer•ein•stei•ger

    +

    Quetsch•ver•bin•der

    +

    Ra•dies•chen

    +

    ra•di•kal•li•be•ral

    +

    Ra•dio•sen•dung

    +

    ran•schlei•men

    +

    Recht•schreib•rat

    +

    Res•te•tru•he

    +

    Roh•rohr•zu•cker

    +

    Rol•la•den•kas•ten

    +

    Ros•to•cker

    +

    Rot•ze•der

    +

    Rot•zun•gen•fi•let

    +

    Ruck•sack•rei•sen•de

    +

    Rum•aro•ma

    +

    rund•fun•ken

    +

    Rühr•ei•früh•stück

    +

    Saale•ufer

    +

    Sah•ne•he•ring

    +

    Sauf•lie•der

    +

    Sau•grip•pe

    +

    sau•gu•te

    +

    Schaf•fa•mi•lie

    +

    Schiffs•tau

    +

    Schiffs•tu•ten

    +

    Schiff•si•re•ne

    +

    Schlaf•shirt

    +

    Schlam•mas•sel

    +

    Schnaps•ka•raf•fe

    +

    schnauz•bär•ti•ger

    +

    Schreib•ecken

    +

    Schreib•blo•cka•de

    +

    Schul•au•la

    +

    Schul•pflicht

    +

    Schul•ter•mi•ne

    +

    Schul•ter•rain

    +

    Schul•ter•ras•se

    +

    Schwei•ne•le•ber

    +

    Schweins•au•gen

    +

    Schwein•ige•lei

    +

    See•leu•te

    +

    See•tang•ar•ten

    +

    Se•kre•ta•ri•at

    +

    Se•nio•ren•in•for•ma•ti•on

    +

    Sie•ben•tau•sen•der

    +

    Sil•ben•tren•nung

    +

    sie•ben•te

    +

    Spar•gel•ern•te

    +

    Sprech•erzie•hung

    +

    Spur•treue

    +

    Staats•ex•amen

    +

    Stab•an•ten•ne

    +

    Stan•dard•ofen

    +

    Stark•ne•bel

    +

    Stark•re•gen

    +

    Star•ga•gen

    +

    Star•te•nö•re

    +

    Staub•al•ler•gie

    +

    Staubecken

    +

    staub•sau•gen

    +

    Stau•tei•che

    +

    Stief•eltern

    +

    Straf•an•zei•ge

    +

    Strom•aus•fall

    +

    Strom•preis

    +

    Sub•tro•pik•luft

    +

    Süd•eng•land

    +

    Tat•or•te

    +

    Ta•lent•för•de•rung

    +

    Tal•entwäs•se•rung

    +

    Tal•grund

    +

    Tan•gen•te

    +

    Tausch•wert

    +

    Tau•flie•ge

    +

    Teen•ager

    +

    Ter•ror•at•ten•tat

    +

    Topf•lap•pen

    +

    top•ak•tu•ell

    +

    Tor•flau•te

    +

    Trans•port

    +

    trau•ma•tisch

    +

    Tür•ent•ei•ser

    +

    Tür•klin•ken

    +

    Ura•nus

    +

    Ur•alt•ak•te

    +

    Ur•insekt

    +

    Ur•instinkt

    +

    Ve•ran•da•brüs•tung

    +

    ver•beu•len

    +

    ver•blas•sen

    +

    ver•blüfft

    +

    ver•ein•samt

    +

    ver•ges•sen

    +

    Ver•lust•aver•si•on

    +

    ver•se•hen

    +

    ver•stau•chen

    +

    ver•stop•fen

    +

    ver•sun•ken

    +

    Ver•sor•gungs•amt

    +

    ver•trös•ten

    +

    ver•trags•treu

    +

    Vio•len•ten

    +

    Vi•sa•gebüh•ren

    +

    Vi•sa•pflicht

    +

    Vol•me•tal

    +

    Vor•marsch

    +

    Wachstu•be

    +

    waldarm

    +

    Wan•del•stern

    +

    Was•ser•schie•ber

    +

    Weg•schau•men•ta•li•tät

    +

    Weih•nachts•pa•ten

    +

    Welt•raum

    +

    Wer•be•trom•mel

    +

    Win•des•ei•le

    +

    Wurf•an•ten•ne

    +

    Zimt•rol•le

    +

    Zu•cker•guß

    +

    Zu•gang•steue•rung

    +

    Zu•griff

    +

    Zug•an•ge•bo•te

    +

    Zwangs•ehen

    +

    Zwangs•ex•ma•tri•ku•la•ti•on

    +

    Zweig•an•glie•de•rung

    +

    Zwerg•els•tern

    +

    ...

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test2.html b/alt-implementations/readifry-master/hyphenator/testsuite/test2.html new file mode 100644 index 0000000..de7a03f --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test2.html @@ -0,0 +1,53 @@ + + + + Hyphenator.js – Test 2 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 2

    +

    Hyphenate one paragraph.

    + +

    To allow more efficient usage of paper, more regular appearance of right-side margins without requiring spacing adjustments, and to eliminate the need to erase hand-written long words begun near the end of a line that do not fit, words may be divided at the nearest breakpoint between syllables and a hyphen inserted to indicate that the letters form a word fragment, not a word.

    +

    To allow more ef|fi|cient usage of paper, more reg|u|lar ap|pear|ance of right-side mar|gins with|out re|quir|ing spac|ing ad|just|ments, and to elim|i|nate the need to erase hand-writ|ten long words begun near the end of a line that do not fit, words may be di|vided at the near|est break|point be|tween syl|la|bles and a hy|phen in|serted to in|di|cate that the let|ters form a word frag|ment, not a word.

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test20.html b/alt-implementations/readifry-master/hyphenator/testsuite/test20.html new file mode 100644 index 0000000..260190f --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test20.html @@ -0,0 +1,60 @@ + + + + Hyphenator.js – Test 20 + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 20

    +

    Checks if a Bug in Firefox 3 is still here.

    + + + + + + + +
    Do­nau­dampf­schiff­fahrts­ka­pi­tän ist ein langes Wort.Das Wort Do­nau­dampf­schiff­fahrt ist ziem­lich lang.Das Wort Do­nau­dampf­schiff­fahrt ist ziem­lich lang.
    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test21.html b/alt-implementations/readifry-master/hyphenator/testsuite/test21.html new file mode 100644 index 0000000..1f0eb3c --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test21.html @@ -0,0 +1,40 @@ + + + + Hyphenator.js – Test 21 + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 21

    +

    Check if a WebKit (<=30644) Bug is still there.

    +

    hy­phen­a­tion hy­phen­a­tion hy­phen­a­tion hy­phen­a­tion hy­phen­a­tion hy­phen­a­tion

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test22.html b/alt-implementations/readifry-master/hyphenator/testsuite/test22.html new file mode 100644 index 0000000..7bc9006 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test22.html @@ -0,0 +1,68 @@ + + + + Hyphenator.js – Test 22 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 22

    +

    Check if the ToggleBox is displayed and turning off/on hyphenation works.

    + +

    To allow more efficient usage of paper, more regular appearance of right-side margins without requiring spacing adjustments, and to eliminate the need to erase hand-written long words begun near the end of a line that do not fit, words may be divided at the nearest breakpoint between syllables and a hyphen inserted to indicate that the letters form a word fragment, not a word.

    +

    To allow more efficient usage of paper, more regular appearance of right-side margins without requiring spacing adjustments, and to eliminate the need to erase hand-written long words begun near the end of a line that do not fit, words may be divided at the nearest breakpoint between syllables and a hyphen inserted to indicate that the letters form a word fragment, not a word.

    +

    To allow more ef|fi|cient usage of paper, more reg|u|lar ap|pear|ance of right-side mar|gins with|out re|quir|ing spac|ing ad|just|ments, and to elim|i|nate the need to erase hand-writ|ten long words begun near the end of a line that do not fit, words may be di|vided at the near|est break|point be|tween syl|la|bles and a hy|phen in|serted to in|di|cate that the let|ters form a word frag|ment, not a word.

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test23.html b/alt-implementations/readifry-master/hyphenator/testsuite/test23.html new file mode 100644 index 0000000..52bfb9b --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test23.html @@ -0,0 +1,56 @@ + + + + Hyphenator.js – Test 23 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 23

    +

    Turning of hyphenation for special element with class='nohyphens'

    + +

    Silbentrennung durchführen, Silbentrennung nicht durchführen, Silbentrennung durchführen, Silbentrennung nicht durchführen, Silbentrennung durchführen.

    +

    Sil|ben|tren|nung durch|füh|ren, Silbentrennung nicht durchführen, Sil|ben|tren|nung durch|füh|ren, Silbentrennung nicht durchführen, Sil|ben|tren|nung durch|füh|ren.

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test24.html b/alt-implementations/readifry-master/hyphenator/testsuite/test24.html new file mode 100644 index 0000000..fb7e859 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test24.html @@ -0,0 +1,56 @@ + + + + Hyphenator.js – Test 24 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 24

    +

    Check some special rules when hyphenating.

    + +

    letters Affe

    +

    let|ters Af|fe

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test25.html b/alt-implementations/readifry-master/hyphenator/testsuite/test25.html new file mode 100644 index 0000000..15824fb --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test25.html @@ -0,0 +1,76 @@ + + + + Hyphenator.js – Test 25 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 25

    +

    Set a proprietary toogle box.

    + +

    toggle hyphenation

    +

    To allow more efficient usage of paper, more regular appearance of right-side margins without requiring spacing adjustments, and to eliminate the need to erase hand-written long words begun near the end of a line that do not fit, words may be divided at the nearest breakpoint between syllables and a hyphen inserted to indicate that the letters form a word fragment, not a word.

    +

    To allow more efficient usage of paper, more regular appearance of right-side margins without requiring spacing adjustments, and to eliminate the need to erase hand-written long words begun near the end of a line that do not fit, words may be divided at the nearest breakpoint between syllables and a hyphen inserted to indicate that the letters form a word fragment, not a word.

    +

    To allow more ef|fi|cient usage of paper, more reg|u|lar ap|pear|ance of right-side mar|gins with|out re|quir|ing spac|ing ad|just|ments, and to elim|i|nate the need to erase hand-writ|ten long words begun near the end of a line that do not fit, words may be di|vided at the near|est break|point be|tween syl|la|bles and a hy|phen in|serted to in|di|cate that the let|ters form a word frag|ment, not a word.

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test26.html b/alt-implementations/readifry-master/hyphenator/testsuite/test26.html new file mode 100644 index 0000000..1c9c048 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test26.html @@ -0,0 +1,53 @@ + + + + Hyphenator.js – Test 26 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 26

    +

    Hyphenate words with a special meaning in JavaScript.

    + +

    caller, constructor, length, name, unwatch, watch, abstract, as, boolean, break, byte, case, catch, char, class, continue, const, debugger, default, delete, do, double, else, enum, export, extends, false, final, finally, float, for, function, goto, if, implements, import, in, instanceof, int, interface, is, long, namespace, native, new, null, package, private, protected, public, return, short, static, super, switch, synchronized, this, throw, throws, transient, true, try, typeof, use, var, void, volatile, while, with

    +

    caller, con|struc|tor, length, name, un|watch, watch, ab|stract, as, boolean, break, byte, case, catch, char, class, con|tinue, const, de|bug|ger, de|fault, delete, do, dou|ble, else, enum, ex|port, ex|tends, false, fi|nal, fi|nally, float, for, func|tion, goto, if, im|ple|ments, im|port, in, in|stanceof, int, in|ter|face, is, long, name|space, na|tive, new, null, pack|age, pri|vate, pro|tected, pub|lic, re|turn, short, sta|tic, su|per, switch, syn|chro|nized, this, throw, throws, tran|sient, true, try, typeof, use, var, void, volatile, while, with

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test27.html b/alt-implementations/readifry-master/hyphenator/testsuite/test27.html new file mode 100644 index 0000000..a2395a8 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test27.html @@ -0,0 +1,130 @@ + + + + Hyphenator.js – Test 27 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 27

    +

    Test of hyphenation in Indian scripts. (Appropriate fonts have to be installed.)
    + This page has been created by Santhosh Thottingal, who committed the patterns for these languages.

    +
    +Resize the browser window and check how the column width and number of columns are changing. See how the hyphenation postion changes too… To toggle between hyphenated and non-hyphenated text, press the hyphenate link at the top right corner of this page. +

    +
    + +

    +ശരിയ്ക്കും അങ്ങനെ ഒരു ലിനക്സ് ഉണ്ടു് എന്നു് മാത്രമല്ല ആളുകള്‍ അതു് ഉപയോഗിയ്ക്കുന്നുമുണ്ടു്, പക്ഷേ അതു് പ്രവര്‍ത്തക സംവിധാനത്തിന്റെ ഒരു ഭാഗം മാത്രമാണു്. ലിനക്സൊരു കെര്‍ണലാണു്: നിങ്ങള്‍ പ്രവര്‍ത്തിപ്പിയ്ക്കുന്ന മറ്റു് പ്രോഗ്രാമുകള്‍ക്കു് സിസ്റ്റത്തിന്റെ വിഭവങ്ങള്‍ വിട്ടുകൊടുക്കുന്ന പ്രോഗ്രാമാണതു്. ഒരു പ്രവര്‍ത്തക സംവിധാനത്തിന്റെ ഒഴിച്ചുകൂടാനാവാത്ത ഭാഗമാണു് കെര്‍ണല്‍, പക്ഷേ അതു് മാത്രം കൊണ്ടു് വലിയ പ്രയോജനമൊന്നുമില്ല; മുഴുവന്‍ പ്രവര്‍ത്തക സംവിധാനത്തിനൊപ്പമേ അതിനു് പ്രവര്‍ത്തിയ്ക്കാനാകൂ. ലിനക്സ് സാധാരണയായി ഗ്നു എന്ന പ്രവര്‍ത്തക സംവിധാനവുമായി ചേര്‍ന്നാണുപയോഗിയ്ക്കുന്നതു്: ലിനക്സ് കെര്‍ണലായി പ്രവര്‍ത്തിയ്ക്കുന്ന മുഴുവന്‍ സിസ്റ്റവും അടിസ്ഥാനപരമായി ഗ്നുവാണു് അഥവാ ഗ്നു/ലിനക്സ് ആണു്. “ലിനക്സ്” എന്നു് പറയപ്പെടുന്ന എല്ലാ വിതരണങ്ങളും ശരിയ്ക്കും, ഗ്നു/ലിനക്സ് വിതരണങ്ങളാണു്. +

    + +
    +
    +
    + +

    +चंद्रयान-प्रथम चांद पर पहुंच कर वहां एक उपग्रह स्थापित करेगा। चंद्रमा से १०० किमी ऊपर ५२५ किग्रा का एक उपग्रह ध्रुवीय कक्षा में स्थापित किया जाएगा। यह उपग्रह अपने रिमोट सेंसिंग (दूर संवेदी) उपकरणों के जरिये चंद्रमा की ऊपरी सतह के चित्र खींचेगा । चंद्रमा पर जाने वाला यह यान घरेलू ध्रुवीय उपग्रह प्रक्षेपण वाहन से भेजा जाएगा। चंद्रयान-प्रथम मिशन से अत्याधुनिक वैज्ञानिक शोध के नए रास्ते खुलने की आशा जताई जा रही है। स्वदेश निर्मित प्रक्षेपण वाहन और अंतरिक्षयान क्षमताओं के कारण भारत महत्वाकांक्षी अंतरिक्ष योजनाओं को अंजाम देने में सक्षम है। इससे भविष्य में चन्द्रमा और मंगल ग्रह पर मानव-सहित विमान भेजने के लिये रास्ता खुलेगा। भारतीय अंतरिक्षयान प्रक्षेपण के अनुक्रम में यह २७वाँ उपक्रम है। +

    + +

    +
    + +

    +সত্যজিৎ রায় একজন ভারতীয় চলচ্চিত্র নির্মাতা ও বিংশ শতাব্দীর অন্যতম শ্রেষ্ঠ চলচ্চিত্র পরিচালক। কলকাতা শহরে সাহিত্য ও শিল্পের জগতে খ্যাতনামা এক বাঙালী পরিবারে তাঁর জন্ম হয়। তিনি কলকাতার প্রেসিডেন্সি কলেজ ও শান্তিনিকেতনে রবীন্দ্রনাথ ঠাকুরের প্রতিষ্ঠিত বিশ্বভারতী বিশ্ববিদ্যালয়ে পড়াশোনা করেন। সত্যজিতের কর্মজীবন একজন বাণিজ্যিক চিত্রকর হিসেবে শুরু হলেও প্রথমে কলকাতায় ফরাসী চলচ্চিত্র নির্মাতা জঁ রনোয়ারের সাথে সাক্ষাৎ ও পরে লন্ডন শহরে সফররত অবস্থায় ইতালীয় নব্য বাস্তবতাবাদী ছবি লাদ্রি দি বিচিক্লেত্তে দেখার পর তিনি চলচ্চিত্র নির্মাণে উদ্বুদ্ধ হন। চলচ্চিত্র নির্মাতা হিসেবে সত্যজিৎ ছিলেন বহুমুখী এবং তাঁর কাজের পরিমাণ বিপুল। তিনি ৩৭টি পূর্ণদৈর্ঘ্য কাহিনীচিত্র, প্রামাণ্যচিত্র ও স্বল্পদৈর্ঘ্য চলচ্চিত্র নির্মাণ করেন। +

    + +
    +
    +
    + +

    +લોથલ તથા ધોળાવીરા માંથી સીંધુ ખીણની સંસ્કૃતિના સમૃદ્ધ અવશેષો મળી આવ્યા છે. પુરાતન કાળથી ગુજરાત હંમેશા તેના દરિયાકિનારા માટે જાણીતુ રહ્યું છે. અહિંના નગરો મૌર્ય અને ગુપ્ત સામ્રાજ્યમાં બંદરો અને વ્યાપાર ના કેન્દ્રો રહેલા છે. ત્યારબાદ ગુજરાતમાં કચ્છ, સૌરાષ્ટ્ર, પાટણ અને લાટ (દક્ષીણ ગુજરાત) એમ ચાર અલગ રાજ્યો એક સાથે અસ્તિત્વમાં રહેલા છે. ગુજરાતની સલ્તનતની સ્થાપના ૧૩મી સદી દરમ્યાન થઇ હતી જે ૧૫૭૬ સુધી સત્તામાં રહી, જે સમયે અકબરે ગુજરાત પર વિજય મેળવી તેને મુઘલ સામ્રાજ્યમાં સમાવી લીધું હતું. ૧૮મી સદીમાં મરાઠાઓએ તેના પર વિજય મેળવ્યો હતો. અંગ્રેજ શાસન કાળમાં અને આઝાદી પછી પણ છેક ૧૯૬૦ની ૩૦મી એપ્રીલ સુધી તે બૃહદ્ મુંબઈ રાજ્યનો ભાગ હતું. +

    + +
    +
    +
    +

    +தமிழ் தமிழர்களின் தாய்மொழி. தமிழ் திராவிட மொழிக் குடும்பத்தின் முக்கிய மொழிகளில் ஒன்றும் செம்மொழியும் ஆகும். தென்னிந்தியாவில் தமிழ் நாட்டிலும் இலங்கையிலும், சிங்கப்பூரிலும் அதிக அளவில் பேசப்படும் இம்மொழி, துபாய், மலேசியா, தென்னாபிரிக்கா, மொரீசியஸ், பிஜி, ரீயுனியன், டிரினிடாட் போன்ற பல நாடுகளிலும் சிறிய அளவில் பேசப்படுகிறது. 1996-ம் ஆண்டு புள்ளி விவரப்படி உலகம் முழுவதிலும் 7 கோடி 70 இலட்சம் (77 மில்லியன்) மக்களால் பேசப்பட்டு, ஒரு மொழியை, தாய்மொழியாகக் கொண்டு பேசும் மக்களின் எண்ணிக்கை அடிப்படையில் வரிசைப்படுத்தப்பட்ட மொழிகளின் பட்டியலில், தமிழ், பதினெட்டாவது இடத்தில் உள்ளது. +

    + +
    + +
    +
    +

    +భారతీయ అంతరిక్ష పరిశోధనా సంస్థ అంతరిక్ష పరిశోధనల కోసం భారత ప్రభుత్వం నెలకొల్పిన సంస్థ. ఇస్రో గా ప్రసిద్ధమైన ఈ సంస్థ దేశాభివృద్ధి లక్ష్యంగా అంతరిక్ష విజ్ఞాన్ని అభివృద్ధి చేసే ఉద్దేశ్యంతో ఏర్పాటైంది. బెంగుళూరు కేంద్రంగా ఏర్పాటైన ఇస్రో, దేశంలోని వివిధ ప్రదేశాల్లో పరిశోధన, అభివృద్ధి సౌకర్యాలు కలిగి ఉంది. విక్రం సారాభాయ్ని భారత అంతరిక్ష పరిశోధనా వ్యవస్థకు పితామహుడిగా అభివర్ణిస్తారు. 1957లో రష్యా మొట్టమొదటి శాటిలైట్ అయిన స్పుత్నిక్‌ను ప్రయోగించినపుడు శాటిలైట్ యొక్క ఆవశ్యకతను అప్పటి ప్రధాన మంత్రి అయిన నెహ్రూకు వివరించి, 1962లో హోమీ బాబా పర్యవేక్షణలో INCOSPAR ఏర్పరిచాడు. కేరళలో త్రివేండ్రం వద్ద TERLS నెలకొల్పి అమెరికా, రష్యా నుండి దిగుమతి చేసుకున్న రాకెట్లను ప్రయోగిస్తూ అనతికాలంలోనే స్వదేశీయంగా పూర్తి స్థాయి రాకెట్లను తయారు చేసి ఉపరితల అధ్యయంలో పురోగతి సాధించారు. 1969లో ఇస్రో, అనగా ISRO, 1972లో ప్రత్యేక అంతరిక్ష విభాగం ఏర్పడ్డాయి. +

    + +
    +
    +
    +

    +ଉଇକିପେଡିଆର ଓଡ଼ିଆ ସଂସ୍କରଣର କାର୍ଯ୍ୟ ପ୍ରଥମ ଥର ପାଇଁ ୨୦୦୪ ମସିହାରେ ପ୍ରାରମ୍ଭ ହୋଇଥିଲା ଏହା ଏବେ ମଧ୍ୟ ନିର୍ମାଣଧୀନ । ଆମେ ଏହା ଆଶା କରୁଛୁ ଯେ ବ୍ୟବାହାରକାରୀ ମାନେ ଏହାକୁ ସମୃଦ୍ଧ କରିପାରିବେ । ଓଡ଼ିଆ ଉଇକିପେଡିଆରେ ଆପଣ କିଛି ଯୋଗ କିମ୍ବା ସମ୍ପାଦନା କରିବା ପାଇଁ ଚାହିଁଲେ, ସର୍ବ ପ୍ରଥମେ ଆପଣଙ୍କ ନିକଟରେ ଗୋଟିଏ ୟୁନିକୋଡ୍ ଭିତ୍ତିକ ଓଡ଼ିଆ ଅନ୍ତରା ପୃଷ୍ଠ ଥିବା ଉଚିତ୍ । ଏହା ମୁକ୍ତ ସଙ୍କେତ ହୋଇଥିବାରୁ ଏହାକୁ ଆପଣ ଇଣ୍ଟରନେଟରୁ ମାଗଣାରେ ପାଇପାରିବେ । ଆପଣ ଇଂରାଜୀ ଉଇକିପେଡିଆକୁ ଅନୁବାଦ କରି କିମ୍ବା ନିକଟ ଅତୀତରେ ହୋଇଥିବା ଗୁରୁତ୍ଵପୂର୍ଣ୍ଣ ଘଟଣା ମାନଙ୍କୁ ଯୋଗ କରି, ଓଡ଼ିଆ ୱିକିପେଡିଆକୁ ସମୃଦ୍ଧ କରିପାରିବ । କୌଣସି ନୂତନ ପାଠ୍ୟ ଯୋଗ କରିବା ପୂର୍ବରୁ ଆପଣଙ୍କୁ ଏହା ଧ୍ୟାନ ରଖିବା ପାଇଁ ହେବ ଯେ, ଏହି ପୃଷ୍ଠାରେ ଅନ୍ୟ ବ୍ୟବାହାରକାରୀ ମାନଙ୍କ ପାଇଁ ସମ୍ପାଦନର ସୁଯୋଗ ରହିବା ଉଚିତ । କୌଣସି ବିଷୟବସ୍ତୁର ସ୍ବତଃ ସଂରକ୍ଷଣ ଉଇକିପେଡିଆର ନିୟମକୁ ଅବମାନନା କରିଥାଏ । ବ୍ୟବାହାରକାରୀ ମାନେ କେବଳ ତାଙ୍କର ନିଜ ଲେଖାକୁ ସମ୍ପାଦନ କରିପାରିବେ । ଉଇକିପେଡିଆର ନିୟମ, କର୍ମ ପଦ୍ଧତି ଏବଂ ଅନ୍ୟାନ୍ୟ ସୂଚନା ପାଇଁ Wikipedia:ଆଲୋଚନା ସଭା-- କୁ ଯାଇ ଆଲୋଚନା କରନ୍ତୁ। +

    + +
    +
    +
    +

    +ਵਿਕਿਪੀਡਿਆ ਇੱਕ ਬਹੁ-ਭਾਸ਼ਾਈ ਪਰਿਯੋਜਨਾ ਹੈ ਜਿਸ ਵਿਚ ਸਾਡੇ ਮੈਂਬਰ ਅਤੇ ਇਸ ਵੈੱਬ-ਸਾਇਟ ਦੇ ਦਰਸ਼ਕ ਹਰ ਤਰ੍ਹਾਂ ਦੇ ਲੇਖ, ਜੋ ਇੰਟਰਨੈੱਟ ਰਾਹੀਂ ਸਾਰੇ ਪੰਜਾਬੀਆਂ ਲਈ ਲਾਭਦਾਇਕ ਹੋਣ, ਲਿਖ ਸਕਦੇ ਹਨ। ਇਸ ਤਰ੍ਹਾਂ ਵਿਕਿਪੀਡਿਆ ਇਕ ਆਜ਼ਾਦ ਵਿਸ਼ਵਕੋਸ਼ ਦਾ ਕੰਮ ਦੇਵੇਗਾ, ਮਤਲਬ ਕਿ ਇਹ ਰਚਨਾ-ਮਲਕੀਅਤ ਤੋਂ ਮੁਕਤ ਹੋਵੇਗੀ।ਵਿਕਿਪੀਡਿਆ ਇੱਕ ਬਹੁ-ਭਾਸ਼ਾਈ ਪਰਿਯੋਜਨਾ ਹੈ ਜਿਸ ਵਿਚ ਸਾਡੇ ਮੈਂਬਰ ਅਤੇ ਇਸ ਵੈੱਬ-ਸਾਇਟ ਦੇ ਦਰਸ਼ਕ ਹਰ ਤਰ੍ਹਾਂ ਦੇ ਲੇਖ, ਜੋ ਇੰਟਰਨੈੱਟ ਰਾਹੀਂ ਸਾਰੇ ਪੰਜਾਬੀਆਂ ਲਈ ਲਾਭਦਾਇਕ ਹੋਣ, ਲਿਖ ਸਕਦੇ ਹਨ। ਇਸ ਤਰ੍ਹਾਂ ਵਿਕਿਪੀਡਿਆ ਇਕ ਆਜ਼ਾਦ ਵਿਸ਼ਵਕੋਸ਼ ਦਾ ਕੰਮ ਦੇਵੇਗਾ, ਮਤਲਬ ਕਿ ਇਹ ਰਚਨਾ-ਮਲਕੀਅਤ ਤੋਂ ਮੁਕਤ ਹੋਵੇਗੀ। +

    + +
    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test28.html b/alt-implementations/readifry-master/hyphenator/testsuite/test28.html new file mode 100644 index 0000000..7358526 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test28.html @@ -0,0 +1,60 @@ + + + + Hyphenator.js – Test 28 + + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 28

    +

    Check for compatibility with jQuery.

    +

    Hyphenation

    +

    Hy|phen|ation

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test29.html b/alt-implementations/readifry-master/hyphenator/testsuite/test29.html new file mode 100644 index 0000000..683ac9e --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test29.html @@ -0,0 +1,60 @@ + + + + Hyphenator.js – Test 29 + + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 29

    +

    Check for compatibility with prototype.js.

    +

    Hyphenation

    +

    Hy|phen|ation

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test3.html b/alt-implementations/readifry-master/hyphenator/testsuite/test3.html new file mode 100644 index 0000000..f8ae50b --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test3.html @@ -0,0 +1,55 @@ + + + + Hyphenator.js – Test 3 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 3

    +

    Hyphenate a paragraph when no language is set.

    +
    Hyphenator.config({hyphenchar:'|'});
    +Hyphenator.run();
    + +

    To allow more efficient usage of paper, more regular appearance of right-side margins without requiring spacing adjustments, and to eliminate the need to erase hand-written long words begun near the end of a line that do not fit, words may be divided at the nearest breakpoint between syllables and a hyphen inserted to indicate that the letters form a word fragment, not a word.

    +

    To allow more ef|fi|cient usage of paper, more reg|u|lar ap|pear|ance of right-side mar|gins with|out re|quir|ing spac|ing ad|just|ments, and to elim|i|nate the need to erase hand-writ|ten long words begun near the end of a line that do not fit, words may be di|vided at the near|est break|point be|tween syl|la|bles and a hy|phen in|serted to in|di|cate that the let|ters form a word frag|ment, not a word.

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test30.html b/alt-implementations/readifry-master/hyphenator/testsuite/test30.html new file mode 100644 index 0000000..aee4610 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test30.html @@ -0,0 +1,60 @@ + + + + Hyphenator.js – Test 30 + + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 30

    +

    Check for compatibility with mootools.

    +

    Hyphenation

    +

    Hy|phen|ation

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test31.html b/alt-implementations/readifry-master/hyphenator/testsuite/test31.html new file mode 100644 index 0000000..759174d --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test31.html @@ -0,0 +1,60 @@ + + + + Hyphenator.js – Test 31 + + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 31

    +

    Check for compatibility with dojotoolkit.

    +

    Hyphenation

    +

    Hy|phen|ation

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test32.html b/alt-implementations/readifry-master/hyphenator/testsuite/test32.html new file mode 100644 index 0000000..4eea5f2 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test32.html @@ -0,0 +1,64 @@ + + + + Hyphenator.js – Test 32 + + + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 32

    +

    Check for compatibility with yui2.

    +

    Hyphenation

    +

    Hy|phen|ation

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test33.html b/alt-implementations/readifry-master/hyphenator/testsuite/test33.html new file mode 100644 index 0000000..64ce1c0 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test33.html @@ -0,0 +1,54 @@ + + + + Hyphenator.js – Test 33 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 33

    +

    CSS3hyphenation Tests: Togglebox and 'donthyphenateclass'

    + +
    To allow more efficient usage of paper, more regular appearance of right-side margins without requiring spacing adjustments, and to eliminate the need to erase hand-written long words begun near the end of a line that do not fit, words may be divided at the nearest breakpoint between syllables and a hyphen inserted to indicate that the letters form a word fragment, not a word. +

    Die Worttrennung, auch Silbentrennung genannt, bezeichnet in der Orthographie die Art und Weise, wie die Wörter insbesondere am Zeilenende getrennt werden können.

    +

    Die Worttrennung, auch Silbentrennung genannt, bezeichnet in der Orthographie die Art und Weise, wie die Wörter insbesondere am Zeilenende getrennt werden können.

    +
    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test34.html b/alt-implementations/readifry-master/hyphenator/testsuite/test34.html new file mode 100644 index 0000000..9df41fc --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test34.html @@ -0,0 +1,52 @@ + + + + Hyphenator.js – Test 34 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 34

    +

    Check if everything works if the class="hyphenate" is set to the <body>.

    +

    Hyphenation

    +

    Hy|phen|ation

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test35.html b/alt-implementations/readifry-master/hyphenator/testsuite/test35.html new file mode 100644 index 0000000..2062f5e --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test35.html @@ -0,0 +1,66 @@ + + + + Hyphenator.js – Test 35 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 35

    +

    Check support for other languages.

    +

    Armenian

    +

    Հայերենն ունի վեց ձայնավոր, մեկ կիսաձայն և երեսուն բաղաձայն հնչյուններ

    +

    Հա|յե|րենն ունի վեց ձայնա|վոր, մեկ կի|սա|ձայն և ե|րե|սուն բա|ղա|ձայն հնչյուններ

    +

    Belarusian

    +

    БЕЛАРУ́СКАЯ МО́ВА, мова беларусаў, уваходзіць у сям’ю індаеўрапейскіх моў, яе славянскай групы і ўсходнеславянскіх моваў падгрупы, на якой размаўляюць у Беларусі і па ўсім свеце, галоўным чынам у Расіі, Украіне, Польшчы.

    +

    БЕ|ЛА|РУ́СКАЯ МО́ВА, мо|ва бе|ла|ру|саў, ува|хо|дзіць у сям’ю інда|еў|ра|пей|скіх моў, яе сла|вянскай гру|пы і ўсхо|дне|сла|вянскіх мо|ваў па|д|гру|пы, на якой ра|з|маў|ля|юць у Бе|ла|ру|сі і па ўсім све|це, га|лоў|ным чы|нам у Ра|сіі, Укра|іне, По|ль|шчы.

    +

    Russian

    +

    Типогра́фика — графическое оформление печатного текста посредством набора и вёрстки с использованием норм и правил, специфических для данного языка.

    +

    Ти|по|гра́фи|ка — гра|фи|че|ское оформ|ле|ние пе|чат|но|го тек|ста по|сред|ством на|бо|ра и вёрст|ки с ис|поль|зо|ва|ни|ем норм и пра|вил, спе|ци|фи|че|ских для дан|но|го язы|ка.

    +

    Ukrainian

    +

    Українська мова належить до індоєвропейської мовної родини, слов'янської групи і разом з російською та білоруською до східнослов'янської підгрупи.

    +

    Укра|їн|ська мо|ва на|ле|жить до ін|до|єв|ро|пей|ської мов|ної ро|ди|ни, слов'|ян|ської гру|пи і ра|зом з ро|сій|ською та бі|ло|ру|ською до схі|дно|слов'|ян|ської під|гру|пи.

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test36.html b/alt-implementations/readifry-master/hyphenator/testsuite/test36.html new file mode 100644 index 0000000..0d2fb42 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test36.html @@ -0,0 +1,53 @@ + + + + Hyphenator.js – Test 36 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 36

    +

    Work with exceptions.

    +

    Künstler platzierte farbige Wachstuben in den Staubecken des Ateliers.

    +

    Künst|ler plat|zier|te far|bi|ge Wachs|tu|ben in den Staub|ecken des Ate|liers.

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test37.html b/alt-implementations/readifry-master/hyphenator/testsuite/test37.html new file mode 100644 index 0000000..eed145b --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test37.html @@ -0,0 +1,50 @@ + + + + Hyphenator.js – Test 37 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 37

    +

    Test error handling.

    +

    Ang pagpapantig ay paraan ng pahahati-hati ng salita sa mga pantig.

    +

    Error: Language tl not supported.

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test38.html b/alt-implementations/readifry-master/hyphenator/testsuite/test38.html new file mode 100644 index 0000000..2463dd9 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test38.html @@ -0,0 +1,51 @@ + + + + Hyphenator.js – Test 38 + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 38

    +

    Test bookmarklet.

    +

    To allow more efficient usage of paper, more regular appearance of right-side margins without requiring spacing adjustments, and to eliminate the need to erase hand-written long words begun near the end of a line that do not fit, words may be divided at the nearest breakpoint between syllables and a hyphen inserted to indicate that the letters form a word fragment, not a word.

    +

    To allow more ef­fi­cient usage of paper, more reg­u­lar ap­pear­ance of right-side mar­gins with­out re­quir­ing spac­ing ad­just­ments, and to elim­i­nate the need to erase hand-writ­ten long words begun near the end of a line that do not fit, words may be di­vided at the near­est break­point be­tween syl­la­bles and a hy­phen in­serted to in­di­cate that the let­ters form a word frag­ment, not a word.

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test39.html b/alt-implementations/readifry-master/hyphenator/testsuite/test39.html new file mode 100644 index 0000000..fe010bc --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test39.html @@ -0,0 +1,57 @@ + + + + Hyphenator.js – Test 39 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 39

    +

    Set intermediateState to 'visible' (instead of the default 'hidden').

    + +

    Das englische Wort “Hyphenation” lässt sich nicht unbedingt wörtlich mit «Silbentrennung» übersetzen.

    +

    Das eng|li|sche Wort “Hy|phen|ation” lässt sich nicht un|be|dingt wört|lich mit «Sil|ben|tren|nung» über|set|zen.

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test4.html b/alt-implementations/readifry-master/hyphenator/testsuite/test4.html new file mode 100644 index 0000000..2e8d928 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test4.html @@ -0,0 +1,53 @@ + + + + Hyphenator.js – Test 4 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 4

    +

    Hyphenate a paragraph when only a mainlanguage is set.

    + +

    To allow more efficient usage of paper, more regular appearance of right-side margins without requiring spacing adjustments, and to eliminate the need to erase hand-written long words begun near the end of a line that do not fit, words may be divided at the nearest breakpoint between syllables and a hyphen inserted to indicate that the letters form a word fragment, not a word.

    +

    To allow more ef|fi|cient usage of paper, more reg|u|lar ap|pear|ance of right-side mar|gins with|out re|quir|ing spac|ing ad|just|ments, and to elim|i|nate the need to erase hand-writ|ten long words begun near the end of a line that do not fit, words may be di|vided at the near|est break|point be|tween syl|la|bles and a hy|phen in|serted to in|di|cate that the let|ters form a word frag|ment, not a word.

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test40.html b/alt-implementations/readifry-master/hyphenator/testsuite/test40.html new file mode 100644 index 0000000..60c31ef --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test40.html @@ -0,0 +1,53 @@ + + + + Hyphenator.js – Test 40 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 40

    +

    Using charset=ISO-8859-1 instead of utf8.

    + +

    Das englische Wort “Hyphenation” lsst sich nicht unbedingt wrtlich mit «Silbentrennung» bersetzen.

    +

    Das eng|li|sche Wort “Hy|phen|ation” lsst sich nicht un|be|dingt wrt|lich mit Sil|ben|tren|nung ber|set|zen.

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test41.html b/alt-implementations/readifry-master/hyphenator/testsuite/test41.html new file mode 100644 index 0000000..a2de37d --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test41.html @@ -0,0 +1,56 @@ + + + + Hyphenator.js – Test 41 + + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 41

    +

    Check what happens if there are many scripts included.

    + +

    Das englische Wort “Hyphenation” lässt sich nicht unbedingt wörtlich mit «Silbentrennung» übersetzen.

    +

    Das eng|li|sche Wort “Hy|phen|ation” lässt sich nicht un|be|dingt wört|lich mit «Sil|ben|tren|nung» über|set|zen.

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test42.html b/alt-implementations/readifry-master/hyphenator/testsuite/test42.html new file mode 100644 index 0000000..e90b7c7 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test42.html @@ -0,0 +1,58 @@ + + + + Hyphenator.js – Test 42 + + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 42

    +

    Test global exceptions.

    + +

    Das englische Wort “Hyphenation” lässt sich nicht unbedingt wörtlich mit «Silbentrennung» übersetzen.

    +

    Das eng|li|sche Wort “Hyphen|ation” lässt sich nicht unbe|dingt wört|lich mit «Silben|trennung» über|set|zen.

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test43.html b/alt-implementations/readifry-master/hyphenator/testsuite/test43.html new file mode 100644 index 0000000..4878bd2 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test43.html @@ -0,0 +1,53 @@ + + + + Hyphenator.js – Test 43 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 43

    +

    Setting classname:'test'.

    + +

    Das englische Wort “Hyphenation” lässt sich nicht unbedingt wörtlich mit «Silbentrennung» übersetzen.

    +

    Das eng|li|sche Wort “Hy|phen|ation” lässt sich nicht un|be|dingt wört|lich mit «Sil|ben|tren|nung» über|set|zen.

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test44.html b/alt-implementations/readifry-master/hyphenator/testsuite/test44.html new file mode 100644 index 0000000..7dcb121 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test44.html @@ -0,0 +1,81 @@ + + + + Hyphenator.js – Test 44 + + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 44

    +

    Hyphenating content that has been loaded by AJAX.

    +
    +

    +
    +

    Silbentrennung

    +

    Sil|ben|tren|nung

    +

    Das eng|li|sche Wort “Hy|phen|ation” lässt sich nicht un|be|dingt wört|lich mit «Sil|ben|tren|nung» über|set|zen.

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test45.html b/alt-implementations/readifry-master/hyphenator/testsuite/test45.html new file mode 100644 index 0000000..b08361b --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test45.html @@ -0,0 +1,53 @@ + + + + Hyphenator.js – Test 45 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 45

    +

    Test nonexistent config-key

    +

    Silbentrennung

    +

    Sil|ben|tren|nung

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test46.html b/alt-implementations/readifry-master/hyphenator/testsuite/test46.html new file mode 100644 index 0000000..fb328ae --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test46.html @@ -0,0 +1,82 @@ + + + + Hyphenator.js – Test 46 + + + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 46

    +

    Hyphenating content that has been loaded by AJAX. This time, de.js is loaded manually

    +
    +

    +
    +

    Silbentrennung

    +

    Sil|ben|tren|nung

    +

    Das eng|li|sche Wort “Hy|phen|ation” lässt sich nicht un|be|dingt wört|lich mit «Sil|ben|tren|nung» über|set|zen.

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test47.html b/alt-implementations/readifry-master/hyphenator/testsuite/test47.html new file mode 100644 index 0000000..dea39c7 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test47.html @@ -0,0 +1,51 @@ + + + + Hyphenator.js – Test 47 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 47

    +

    Preserve style-Attribute of hyphenated elements.

    +

    Silbentrennung ist tatsächlich ganz einfach.

    +

    Sil|ben|tren|nung ist tat|säch|lich ganz ein|fach.

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test48.html b/alt-implementations/readifry-master/hyphenator/testsuite/test48.html new file mode 100644 index 0000000..0bcea38 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test48.html @@ -0,0 +1,51 @@ + + + + Hyphenator.js – Test 48 + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 48

    +

    Test if the bookmarklet preserves styles of elements.

    +

    No visible text here: -->This must be invisible.<--

    +

    No vi­si­ble text here: -->This must be in­vi­si­ble.<--

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test49.html b/alt-implementations/readifry-master/hyphenator/testsuite/test49.html new file mode 100644 index 0000000..f1ec624 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test49.html @@ -0,0 +1,53 @@ + + + + Hyphenator.js – Test 49 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 49

    +

    The language is set in uppercase: lang="EN"

    + +

    Hyphenation

    +

    Hy|phen|ation

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test5.html b/alt-implementations/readifry-master/hyphenator/testsuite/test5.html new file mode 100644 index 0000000..cc85e6a --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test5.html @@ -0,0 +1,53 @@ + + + + Hyphenator.js – Test 5 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 5

    +

    Hyphenate a paragraph when language is set in a parent.

    + +

    To allow more efficient usage of paper, more regular appearance of right-side margins without requiring spacing adjustments, and to eliminate the need to erase hand-written long words begun near the end of a line that do not fit, words may be divided at the nearest breakpoint between syllables and a hyphen inserted to indicate that the letters form a word fragment, not a word.

    +

    To allow more ef|fi|cient usage of paper, more reg|u|lar ap|pear|ance of right-side mar|gins with|out re|quir|ing spac|ing ad|just|ments, and to elim|i|nate the need to erase hand-writ|ten long words begun near the end of a line that do not fit, words may be di|vided at the near|est break|point be|tween syl|la|bles and a hy|phen in|serted to in|di|cate that the let|ters form a word frag|ment, not a word.

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test50.html b/alt-implementations/readifry-master/hyphenator/testsuite/test50.html new file mode 100644 index 0000000..09cefc5 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test50.html @@ -0,0 +1,60 @@ + + + + Hyphenator.js – Test 50 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 50

    +

    A FORM contains an element with name="language".

    +
    +
    +

    Hyphenation

    +
    +
    +
    +
    +

    Hy|phen|ation

    +
    +
    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test51.html b/alt-implementations/readifry-master/hyphenator/testsuite/test51.html new file mode 100644 index 0000000..83b6f3b --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test51.html @@ -0,0 +1,53 @@ + + + + Hyphenator.js – Test 51 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 51

    +

    Doing Hyphenation 'manually' by using Hyphenator.hyphenateElement(el, lang); An error should occur.

    + +

    Hyphenation is indeed quite simple.

    +

    Hyphenation is indeed quite simple.

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test52.html b/alt-implementations/readifry-master/hyphenator/testsuite/test52.html new file mode 100644 index 0000000..7295840 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test52.html @@ -0,0 +1,53 @@ + + + + Hyphenator.js – Test 52 + + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 52

    +

    Doing Hyphenation 'manually' with preloaded patterns.

    + +

    Hyphenation is indeed quite simple.

    +

    Hy|phen|ation is in|deed quite sim|ple.

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test53.html b/alt-implementations/readifry-master/hyphenator/testsuite/test53.html new file mode 100644 index 0000000..fa9f7ef --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test53.html @@ -0,0 +1,59 @@ + + + + Hyphenator.js – Test 53 + + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 53

    +

    Hyphenate a form field value on onchange. (AKA hyphenate a string.)

    +
    +
    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test54.html b/alt-implementations/readifry-master/hyphenator/testsuite/test54.html new file mode 100644 index 0000000..0a8bac2 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test54.html @@ -0,0 +1,59 @@ + + + + Hyphenator.js – Test 54 + + + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 54

    +

    Run Hyphenation with manually preloaded patterns and remoteloading:true.

    + +

    Silbentrennung Hyphenation

    +

    Sil|ben|tren|nung Hy|phen|ation

    + + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test55.html b/alt-implementations/readifry-master/hyphenator/testsuite/test55.html new file mode 100644 index 0000000..726a317 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test55.html @@ -0,0 +1,54 @@ + + + + Hyphenator.js – Test 55 + + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 55

    +

    Extending String by String.prototype.hyphenate

    + +

    alerts: Hy|phen|ation

    + + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test56.html b/alt-implementations/readifry-master/hyphenator/testsuite/test56.html new file mode 100644 index 0000000..c574dcc --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test56.html @@ -0,0 +1,74 @@ + + + + Hyphenator.js – Test 56 + + + + + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 56

    +

    Hyphenating content that has been loaded by AJAX with Hyphenator.hyphenate().

    +
    +

    +
    +

    Silbentrennung

    +

    +

    Das eng|li|sche Wort “Hy|phen|ation” lässt sich nicht un|be|dingt wört|lich mit «Sil|ben|tren|nung» über|set|zen.

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test57.html b/alt-implementations/readifry-master/hyphenator/testsuite/test57.html new file mode 100644 index 0000000..650896a --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test57.html @@ -0,0 +1,61 @@ + + + + Hyphenator.js – Test 57 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 57

    +

    A FORM contains an element with name="lang".

    + +
    +
    +

    Hyphenation

    +
    +
    +
    +
    +

    Hy|phen|ation

    +
    +
    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test58.xml b/alt-implementations/readifry-master/hyphenator/testsuite/test58.xml new file mode 100644 index 0000000..ab806cf --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test58.xml @@ -0,0 +1,8 @@ + + + + + Silbentrennung + Sil|ben|tren|nung + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test59.html b/alt-implementations/readifry-master/hyphenator/testsuite/test59.html new file mode 100644 index 0000000..a6bbb33 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test59.html @@ -0,0 +1,62 @@ + + + + Hyphenator.js – Test 59 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 59

    +

    A FORM contains an element with class="hyphenate" and name="lang".
    + IE<8 has a major bug here…

    + +
    +
    +

    Hyphenation

    +
    +
    +
    +
    +

    Hy|phen|ation

    +
    +
    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test6.html b/alt-implementations/readifry-master/hyphenator/testsuite/test6.html new file mode 100644 index 0000000..4f55cb6 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test6.html @@ -0,0 +1,134 @@ + + + + Hyphenator.js – Test 6 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 6

    +

    Hyphenate a paragraph for each supported language in latin-script.

    + +

    cs

    +

    Typografie je umělecko-technický obor, který se zabývá písmem.

    +

    Ty|po|gra|fie je umě|lec|ko-tech|nic|ký obor, který se za|bý|vá pís|mem.

    + +

    da

    +

    Bindestregen er et symbol brugt i grammatisk tegnsætning. Den bruges til at lave sammensatte ord eller adskille stavelser ved linjeskift.

    +

    Bin|de|stre|gen er et sym|bol brugt i gram|ma|tisk tegn|sæt|ning. Den bru|ges til at lave sam|men|sat|te ord eller ad|skil|le sta|vel|ser ved linjeskift.

    + +

    en

    +

    A hyphenation algorithm is a set of rules that decides at which points a word can be broken over two lines with a hyphen.

    +

    A hy|phen|ation al|go|rithm is a set of rules that de|cides at which points a word can be bro|ken over two lines with a hy|phen.

    +

    de

    +

    Die Worttrennung, auch Silbentrennung genannt, bezeichnet in der Orthographie die Art und Weise, wie die Wörter insbesondere am Zeilenende getrennt werden können.

    +

    Die Wort|tren|nung, auch Sil|ben|tren|nung ge|nannt, be|zeich|net in der Or|tho|gra|phie die Art und Weise, wie die Wör|ter ins|be|son|de|re am Zei|len|en|de ge|trennt wer|den kön|nen.

    +

    fr

    +

    En typographie, la coupure de mot (parfois aussi appelée césure) est l'opération qui consiste à couper en fin de ligne un mot qui n'entrerait pas dans la justification.

    +

    En ty|po|gra|phie, la cou|pure de mot (par|fois aussi ap|pe|lée cé|sure) est l'opé|ra|tion qui consiste à cou|per en fin de ligne un mot qui n'en|tre|rait pas dans la jus|ti|fi|ca|tion.

    +

    nl

    +

    Een lettergreep of syllabe is een prosodische eenheid in gesproken taal.

    +

    Een let|ter|greep of syl|la|be is een pro|so|di|sche een|heid in ge|spro|ken taal.

    +

    es

    +

    Las palabras en español suelen ser, en promedio, más largas que en inglés pero más cortas que en alemán. «Silbentrennungsalgorithmus», por ejemplo, es una palabra bastante larga.

    +

    Las pa|la|bras en es|pa|ñol sue|len ser, en pro|me|dio, más lar|gas que en in|glés pero más cor|tas que en ale|mán. «Sil|ben|tren|nungs|al|go|rith|mus», por ejem|plo, es una pa|la|bra bas|tan|te larga.

    +

    sv

    +

    En algoritm är inom matematiken och datavetenskapen begränsad uppsättning (mängd) väldefinierade instruktioner för att lösa en uppgift, som från givna utgångstillstånd (starttillstånd) med säkerhet leder till något givet sluttillstånd.

    +

    En al|go|ritm är inom ma|te|ma|ti|ken och data|ve|ten|ska|pen be|grän|sad upp|sätt|ning (mängd) väl|de|fi|ni|e|ra|de in|struk|tio|ner för att lösa en upp|gift, som från givna ut|gångs|till|stånd (start|till|stånd) med sä|ker|het leder till något givet slut|till|stånd.

    +

    it

    +

    La storia della scrittura, quel processo lungo e tortuoso, ma anche estremamente affascinante e ricco di sorprese, che parte dai primi incerti disegni sulla roccia degli uomini primitivi e giunge ai moderni word processor, ha avuto proprio negli scribi, nei copisti e negli amanuensi dei solitari, silenziosi, laboriosi e importantissimi protagonisti.

    +

    La sto|ria della scrit|tu|ra, quel pro|ces|so lungo e tor|tuo|so, ma anche estre|ma|men|te af|fa|sci|nan|te e ricco di sor|pre|se, che parte dai primi in|cer|ti di|se|gni sulla roc|cia degli uo|mi|ni pri|mi|ti|vi e giun|ge ai mo|der|ni word pro|ces|sor, ha avuto pro|prio negli scri|bi, nei co|pi|sti e negli ama|nuen|si dei so|li|ta|ri, si|len|zio|si, la|bo|rio|si e im|por|tan|tis|si|mi pro|ta|go|ni|sti.

    +

    fi

    +

    Typografia tarkoittaa nykyisin mitä tahansa tekstiin, tekstityyppiin, kirjainten asetteluun, väritykseen ja muuhun liittyvää suunnittelua.

    +

    Ty|po|gra|fia tar|koit|taa ny|kyi|sin mitä ta|han|sa teks|tiin, teks|ti|tyyp|piin, kir|jain|ten aset|te|luun, vä|ri|tyk|seen ja muu|hun liit|ty|vää suun|nit|te|lua.

    +

    pl

    +

    Typografia - termin mający szereg pokrewnych znaczeń związanych z użyciem znaków pisarskich w druku, prezentacją ich na ekranie monitora komputerowego itp.

    +

    Ty|po|gra|fia - ter|min ma|ją|cy sze|reg po|krew|nych zna|czeń zwią|za|nych z uży|ciem zna|ków pi|sar|skich w druku, pre|zen|ta|cją ich na ekra|nie mo|ni|to|ra kom|pu|te|ro|we|go itp.

    +

    pt

    +

    A tipografia é a arte e o processo de criação na composição de um texto, física ou digitalmente.

    +

    A ti|po|grafia é a arte e o pro|cesso de cri|ação na com|po|sição de um texto, fí|sica ou di|gi|tal|mente.

    +

    hu

    +

    A weboldal nyelvét nem sikerült automatikusan megállapítani. Kérem adja meg a nyelvet.

    +

    A web|ol|dal nyel|vét nem si|ke|rült au|to|ma|ti|ku|san meg|ál|la|pí|ta|ni. Kérem adja meg a nyel|vet.

    +

    tr

    +

    Tipografi sözcüklerinden türemiş olan typographia sözcüğünün Türkçe halidir.

    +

    Ti|pog|ra|fi söz|cük|le|rin|den tü|re|miş olan ty|pog|rap|hia söz|cü|ğü|nün Türk|çe ha|li|dir.

    +

    lt

    +

    Lietuvių kalba yra labiausiai vartojama iš rytų baltų kalbų.

    +

    Lie|tu|vių kalba yra la|biau|siai var|to|ja|ma iš rytų baltų kalbų.

    +

    sl

    +

    Tipografija je veda o tipografskem oblikovanju. Preučuje izdelavo črk in pisav ter njihovo uporabo v besedilu.

    +

    Ti|po|gra|fi|ja je veda o ti|po|graf|skem obli|ko|va|nju. Pre|u|ču|je iz|de|la|vo črk in pisav ter nji|ho|vo upo|ra|bo v be|se|di|lu.

    +

    la

    +

    Typographia disciplina transcribendarum litterarum est, quae propositum formam scripturae usu formae litterarum ac gentis litterarum assequi temptat, ut litterae eius simul elegantes et accomodatae sint.

    +

    Ty|po|gra|phia di|sci|pli|na tran|scri|ben|da|rum lit|te|ra|rum est, quae pro|po|si|tum for|mam scrip|tu|rae usu for|mae lit|te|ra|rum ac gen|tis lit|te|ra|rum as|se|qui temp|tat, ut lit|te|rae eius simul ele|gan|tes et ac|co|mo|da|tae sint.

    +

    no

    +

    Typografi er utforming og behandling av skrift, bokstaver og andre grafiske elementer i trykkerfaget og i grafisk design.

    +

    Ty|po|gra|fi er ut|for|ming og be|hand|ling av skrift, bok|sta|ver og andre gra|fis|ke ele|men|ter i tryk|ker|fa|get og i gra|fisk de|sign.

    +

    lv

    +

    Šīs lapas valodu nevarēja noteikt automātiski. Lūdzu norādiet pamata valodu:

    +

    Šīs lapas va|lodu ne|va|rēja no|teikt au|to|mā|tiski. Lūdzu no|rā|diet pa|mata va|lodu:

    +

    ca

    +

    S'ha de provar amb els textos justificats i estrets el http://code.google.com/p/hyphenator/ Una manera especial de provar la partició de paraules en català a la web.

    +

    S'ha de pro|var amb els tex|tos jus|ti|fi|cats i estrets el http://​code.​google.​com/​p/​hyphenator/​ Una manera espe|cial de pro|var la par|ti|ció de parau|les en català a la web.

    +

    sk

    +

    Typografia sa zaoberá problematikou grafickej úpravy tlačených dokumentov s použitím vhodných rezov písma a usporiadania jednotlivých znakov a odsekov vo vhodnej, pre čitateľa zrozumiteľnej a esteticky akceptovateľnej forme. Zaoberá sa tiež dizajnom písma, výberom farebnej schémy dokumentov, ilustrácií, zalamovaním textu do odsekov až po výber papiera pre tlač.

    +

    Ty|po|gra|fia sa za|obe|rá prob|le|ma|ti|kou gra|fic|kej úp|ra|vy tla|če|ných do|ku|men|tov s po|u|ži|tím vhod|ných rezov písma a uspo|ria|da|nia jed|not|li|vých zna|kov a od|se|kov vo vhod|nej, pre či|ta|te|ľa zro|zu|mi|teľ|nej a es|te|tic|ky ak|cep|to|va|teľ|nej forme. Za|obe|rá sa tiež di|zaj|nom písma, vý|be|rom fa|reb|nej sché|my do|ku|men|tov, ilus|trá|cií, za|la|mo|va|ním textu do od|se|kov až po výber pa|pie|ra pre tlač.

    +

    eo

    +

    Tipografio unuavice estas la kreo de komunikaĵo per reproduktebla skribo, sed duavice ankaŭ la dezajno de tia skriba komunikaĵo per linioj, areoj kaj la specifa aranĝo de literoj.

    +

    Ti|po|gra|fio unu|a|vi|ce estas la kreo de ko|mu|ni|k|aĵo per re|pro|duk|t|ebla skri|bo, sed du|a|vi|ce ankaŭ la de|zaj|no de tia skri|ba ko|mu|ni|k|aĵo per li|ni|oj, areoj kaj la spe|ci|fa aran|ĝo de li|te|roj.

    +

    sr-Latn

    +

    Tipografija se bavi izborom i organizacijom oblika slova i drugih grafičkih karakteristika štampane strane.

    +

    Ti|po|gra|fi|ja se bavi iz|bo|rom i or|ga|ni|za|ci|jom obli|ka slova i dru|gih gra|fič|kih ka|rak|te|ri|sti|ka štam|pa|ne stra|ne.

    +

    ro

    +

    Tipografia reprezintă arta și tehnica tipăritului, a formei și aranjării literelor pe un document scris.

    +

    Ti|po|gra|fia re|pre|zintă arta și teh|nica ti|pă|ri|tu|lui, a for|mei și aran|jă|rii li|te|re|lor pe un do|cu|ment scris.

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test60.xml b/alt-implementations/readifry-master/hyphenator/testsuite/test60.xml new file mode 100644 index 0000000..1f89075 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test60.xml @@ -0,0 +1,57 @@ + + + + + Hyphenator.js – Test 60 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 60

    +

    Hyphenating an xhtml document (parsed as xml). This test will alway fail in IE since it doesn't support XML.

    +
    Hyphenation
    +
    Hy|phen|ation
    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test61.html b/alt-implementations/readifry-master/hyphenator/testsuite/test61.html new file mode 100644 index 0000000..51f850c --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test61.html @@ -0,0 +1,58 @@ + + + + Hyphenator.js – Test 61 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 61

    +

    Check hyphenation with @font-face (this is more a browser-test then a test of the script!)

    +

    Das englische Wort “Hyphenation” lässt sich nicht unbedingt wörtlich mit «Silbentrennung» übersetzen.

    +

    Das englische Wort “Hyphenation” lässt sich nicht unbedingt wörtlich mit «Silbentrennung» übersetzen.

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test62.html b/alt-implementations/readifry-master/hyphenator/testsuite/test62.html new file mode 100644 index 0000000..d4a9953 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test62.html @@ -0,0 +1,54 @@ + + + + Hyphenator.js – Test 62 + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 62

    +

    Test bookmarklet on unsupported languages.

    +

    To allow more efficient usage of paper, more regular appearance of right-side margins without requiring spacing adjustments, and to eliminate the need to erase hand-written long words begun near the end of a line that do not fit, words may be divided at the nearest breakpoint between syllables and a hyphen inserted to indicate that the letters form a word fragment, not a word.

    +

    To allow more efficient usage of paper, more regular appearance of right-side margins without requiring spacing adjustments, and to eliminate the need to erase hand-written long words begun near the end of a line that do not fit, words may be divided at the nearest breakpoint between syllables and a hyphen inserted to indicate that the letters form a word fragment, not a word.

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test63.xhtml b/alt-implementations/readifry-master/hyphenator/testsuite/test63.xhtml new file mode 100644 index 0000000..5254cf1 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test63.xhtml @@ -0,0 +1,57 @@ + + + + Hyphenator.js – Test 63 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 63

    +

    Check if hyphenator works in xhtml-files served as application/xhtml+xml

    + +

    Hyphenation

    +

    Hy|phen|ation

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test64.html b/alt-implementations/readifry-master/hyphenator/testsuite/test64.html new file mode 100644 index 0000000..c376d0d --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test64.html @@ -0,0 +1,28 @@ + + + + Hyphenator.js – Test 64 + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 64

    +

    Run Hyphenator in an iFrame

    + + + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test65.html b/alt-implementations/readifry-master/hyphenator/testsuite/test65.html new file mode 100644 index 0000000..ad5f59d --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test65.html @@ -0,0 +1,56 @@ + + + + Hyphenator.js – Test 65 + + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 65

    +

    Test coexistence with jsprettify.

    + +

    "Wunderschönen guten Tag allerseits", rief Caspar fröhlich in den Raum hinein. Sein Vater aber grummelte: "Himmelherrgott, so viele Leute hatte ich nicht erwartet!"

    +

    “Wun|der|schö|nen guten Tag al|ler|seits”, rief Cas|par fröh|lich in den Raum hin|ein. Sein Vater aber grum|mel|te: “Him|mel|herr|gott, so viele Leute hatte ich nicht er|war|tet!”

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test66.html b/alt-implementations/readifry-master/hyphenator/testsuite/test66.html new file mode 100644 index 0000000..75b773c --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test66.html @@ -0,0 +1,41 @@ + + + + Hyphenator.js – Test 66 + + + + + + + + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test67.html b/alt-implementations/readifry-master/hyphenator/testsuite/test67.html new file mode 100644 index 0000000..f16184d --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test67.html @@ -0,0 +1,38 @@ + + + + Hyphenator.js – Test 67 + + + + + + + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test68.html b/alt-implementations/readifry-master/hyphenator/testsuite/test68.html new file mode 100644 index 0000000..244a20d --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test68.html @@ -0,0 +1,54 @@ + + + + Hyphenator.js – Test 68 + + + + + + +

    << index | <- Prev | Next ->

    +

    Test 68

    +

    Hyphenate words with "APOSTROPHE" and "RIGHT SINGLE QUOTATION MARK".

    +

    l'argent, l'initiation, l'ami, d'être
    + l’argent, l’initiation, l’ami, d’être

    +

    l'ar|gent, l'ini|tia|tion, l'ami, d'être
    + l’ar|gent, l’ini|tia|tion, l’ami, d’être

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test69.html b/alt-implementations/readifry-master/hyphenator/testsuite/test69.html new file mode 100644 index 0000000..c4b91e4 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test69.html @@ -0,0 +1,51 @@ + + + + Hyphenator.js – Test 1 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 69

    +

    Catch error if mainlanguage is not supported

    + +

    Hyphenation

    +

    [Error message: tl not supported]

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test7.html b/alt-implementations/readifry-master/hyphenator/testsuite/test7.html new file mode 100644 index 0000000..ee7e7db --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test7.html @@ -0,0 +1,54 @@ + + + + Hyphenator.js – Test 7 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 7

    +

    Hyphenate a paragraph with a lot of punctuation marks.

    + +

    «Wunderschönen guten Tag allerseits», rief Caspar fröhlich in den Raum hinein. Sein Vater aber grummelte: «Himmelherrgott, so viele Leute hatte ich nicht erwartet!»

    +

    «Wun|der|schö|nen guten Tag al|ler|seits», rief Cas|par fröh|lich in den Raum hin|ein. Sein Vater aber grum|mel|te: «Him|mel|herr|gott, so viele Leute hatte ich nicht er|war|tet!»

    + + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test70.html b/alt-implementations/readifry-master/hyphenator/testsuite/test70.html new file mode 100644 index 0000000..2633d2a --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test70.html @@ -0,0 +1,61 @@ + + + + Hyphenator.js – Test 70 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 70

    +

    Run Hyphenator on a site with an iFrame.

    + + +

    Hyphenation

    +

    Hy|phen|ation

    + + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test71.html b/alt-implementations/readifry-master/hyphenator/testsuite/test71.html new file mode 100644 index 0000000..c7c9690 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test71.html @@ -0,0 +1,55 @@ + + + + Hyphenator.js – Test 71 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 71

    +

    Run Hyphenator on site with a external site in an iframe.

    + + +

    Hyphenation

    +

    Hy|phen|ation

    + + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test72.html b/alt-implementations/readifry-master/hyphenator/testsuite/test72.html new file mode 100644 index 0000000..d12b694 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test72.html @@ -0,0 +1,200 @@ + + + + Hyphenator.js – Test 72 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 72

    +

    Use localStorage (reload the page!)

    + +

    Wait 3 seconds...

    + +

    hyphenateElement(te,'en') :: _ms
    (The result differs widely, depending on network, browser-engine and machine-power.)

    + +
    +

    In the year 1878 I took my degree of Doctor of Medicine of the University of London, and proceeded to Netley to go through the course prescribed for surgeons in the army. Having completed my studies there, I was duly attached to the Fifth Northumberland Fusiliers as Assistant Surgeon. The regiment was stationed in India at the time, and before I could join it, the second Afghan war had broken out. On landing at Bombay, I learned that my corps had advanced through the passes, and was already deep in the enemy's country. I followed, however, with many other officers who were in the same situation as myself, and succeeded in reaching Candahar in safety, where I found my regiment, and at once entered upon my new duties.

    + +

    The campaign brought honours and promotion to many, but for me it had nothing but misfortune and disaster. I was removed from my brigade and attached to the Berkshires, with whom I served at the fatal battle of Maiwand. There I was struck on the shoulder by a Jezail bullet, which shattered the bone and grazed the subclavian artery. I should have fallen into the hands of the murderous Ghazis had it not been for the devotion and courage shown by Murray, my orderly, who threw me across a pack-horse, and succeeded in bringing me safely to the British lines.

    + +

    Worn with pain, and weak from the prolonged hardships which I had undergone, I was removed, with a great train of wounded sufferers, to the base hospital at Peshawar. Here I rallied, and had already improved so far as to be able to walk about the wards, and even to bask a little upon the verandah, when I was struck down by enteric fever, that curse of our Indian possessions. For months my life was despaired of, and when at last I came to myself and became convalescent, I was so weak and emaciated that a medical board determined that not a day should be lost in sending me back to England. I was dispatched, accordingly, in the troopship Orontes, and landed a month later on Portsmouth jetty, with my health irretrievably ruined, but with permission from a paternal government to spend the next nine months in attempting to improve it.

    + +

    I had neither kith nor kin in England, and was therefore as free as air—or as free as an income of eleven shillings and sixpence a day will permit a man to be. Under such circumstances, I naturally gravitated to London, that great cesspool into which all the loungers and idlers of the Empire are irresistibly drained. There I stayed for some time at a private hotel in the Strand, leading a comfortless, meaningless existence, and spending such money as I had, considerably more freely than I ought. So alarming did the state of my finances become, that I soon realized that I must either leave the metropolis and rusticate somewhere in the country, or that I must make a complete alteration in my style of living. Choosing the latter alternative, I began by making up my mind to leave the hotel, and to take up my quarters in some less pretentious and less expensive domicile.

    + +

    On the very day that I had come to this conclusion, I was standing at the Criterion Bar, when some one tapped me on the shoulder, and turning round I recognized young Stamford, who had been a dresser under me at Bart's. The sight of a friendly face in the great wilderness of London is a pleasant thing indeed to a lonely man. In old days Stamford had never been a particular crony of mine, but now I hailed him with enthusiasm, and he, in his turn, appeared to be delighted to see me. In the exuberance of my joy, I asked him to lunch with me at the Holborn, and we started off together in a hansom.

    + +

    “Whatever have you been doing with yourself, Watson?” he asked in undisguised wonder, as we rattled through the crowded London streets. “You are as thin as a lath and as brown as a nut.”

    + +

    I gave him a short sketch of my adventures, and had hardly concluded it by the time that we reached our destination.

    + +

    “Poor devil!” he said, commiseratingly, after he had listened to my misfortunes. “What are you up to now?”

    + +

    “Looking for lodgings,” I answered. “Trying to solve the problem as to whether it is possible to get comfortable rooms at a reasonable price.”

    + +

    “That's a strange thing,” remarked my companion; “you are the second man to-day that has used that expression to me.”

    + +

    “And who was the first?” I asked.

    + +

    “A fellow who is working at the chemical laboratory up at the hospital. He was bemoaning himself this morning because he could not get someone to go halves with him in some nice rooms which he had found, and which were too much for his purse.”

    + +

    “By Jove!” I cried, “if he really wants someone to share the rooms and the expense, I am the very man for him. I should prefer having a partner to being alone.”

    + +

    Young Stamford looked rather strangely at me over his wine-glass. “You don't know Sherlock Holmes yet,” he said; “perhaps you would not care for him as a constant companion.”

    + +

    “Why, what is there against him?”

    + +

    “Oh, I didn't say there was anything against him. He is a little queer in his ideas—an enthusiast in some branches of science. As far as I know he is a decent fellow enough.”

    + +

    “A medical student, I suppose?” said I.

    + +

    “No—I have no idea what he intends to go in for. I believe he is well up in anatomy, and he is a first-class chemist; but, as far as I know, he has never taken out any systematic medical classes. His studies are very desultory and eccentric, but he has amassed a lot of out-of-the way knowledge which would astonish his professors.”

    + +

    “Did you never ask him what he was going in for?” I asked.

    + +

    “No; he is not a man that it is easy to draw out, though he can be communicative enough when the fancy seizes him.”

    + +

    “I should like to meet him,” I said. “If I am to lodge with anyone, I should prefer a man of studious and quiet habits. I am not strong enough yet to stand much noise or excitement. I had enough of both in Afghanistan to last me for the remainder of my natural existence. How could I meet this friend of yours?”

    + +

    “He is sure to be at the laboratory,” returned my companion. “He either avoids the place for weeks, or else he works there from morning to night. If you like, we shall drive round together after luncheon.”

    + +

    “Certainly,” I answered, and the conversation drifted away into other channels.

    + +

    As we made our way to the hospital after leaving the Holborn, Stamford gave me a few more particulars about the gentleman whom I proposed to take as a fellow-lodger.

    + +

    “You mustn't blame me if you don't get on with him,” he said; “I know nothing more of him than I have learned from meeting him occasionally in the laboratory. You proposed this arrangement, so you must not hold me responsible.”

    + +

    “If we don't get on it will be easy to part company,” I answered. “It seems to me, Stamford,” I added, looking hard at my companion, “that you have some reason for washing your hands of the matter. Is this fellow's temper so formidable, or what is it? Don't be mealy-mouthed about it.”

    + +

    “It is not easy to express the inexpressible,” he answered with a laugh. “Holmes is a little too scientific for my tastes—it approaches to cold-bloodedness. I could imagine his giving a friend a little pinch of the latest vegetable alkaloid, not out of malevolence, you understand, but simply out of a spirit of inquiry in order to have an accurate idea of the effects. To do him justice, I think that he would take it himself with the same readiness. He appears to have a passion for definite and exact knowledge.”

    + +

    “Very right too.”

    + +

    “Yes, but it may be pushed to excess. When it comes to beating the subjects in the dissecting-rooms with a stick, it is certainly taking rather a bizarre shape.”

    + +

    “Beating the subjects!”

    + +

    “Yes, to verify how far bruises may be produced after death. I saw him at it with my own eyes.”

    + +

    “And yet you say he is not a medical student?”

    + +

    “No. Heaven knows what the objects of his studies are. But here we are, and you must form your own impressions about him.” As he spoke, we turned down a narrow lane and passed through a small side-door, which opened into a wing of the great hospital. It was familiar ground to me, and I needed no guiding as we ascended the bleak stone staircase and made our way down the long corridor with its vista of whitewashed wall and dun-coloured doors. Near the further end a low arched passage branched away from it and led to the chemical laboratory.

    + +

    This was a lofty chamber, lined and littered with countless bottles. Broad, low tables were scattered about, which bristled with retorts, test-tubes, and little Bunsen lamps, with their blue flickering flames. There was only one student in the room, who was bending over a distant table absorbed in his work. At the sound of our steps he glanced round and sprang to his feet with a cry of pleasure. “I've found it! I've found it,” he shouted to my companion, running towards us with a test-tube in his hand. “I have found a re-agent which is precipitated by hœmoglobin, and by nothing else.” Had he discovered a gold mine, greater delight could not have shone upon his features.

    + +

    “Dr. Watson, Mr. Sherlock Holmes,” said Stamford, introducing us.

    + +

    “How are you?” he said cordially, gripping my hand with a strength for which I should hardly have given him credit. “You have been in Afghanistan, I perceive.”

    + +

    “How on earth did you know that?” I asked in astonishment.

    + +

    “Never mind,” said he, chuckling to himself. “The question now is about hœmoglobin. No doubt you see the significance of this discovery of mine?”

    + +

    “It is interesting, chemically, no doubt,” I answered, “but practically—”

    + +

    “Why, man, it is the most practical medico-legal discovery for years. Don't you see that it gives us an infallible test for blood stains. Come over here now!” He seized me by the coat-sleeve in his eagerness, and drew me over to the table at which he had been working. “Let us have some fresh blood,” he said, digging a long bodkin into his finger, and drawing off the resulting drop of blood in a chemical pipette. “Now, I add this small quantity of blood to a litre of water. You perceive that the resulting mixture has the appearance of pure water. The proportion of blood cannot be more than one in a million. I have no doubt, however, that we shall be able to obtain the characteristic reaction.” As he spoke, he threw into the vessel a few white crystals, and then added some drops of a transparent fluid. In an instant the contents assumed a dull mahogany colour, and a brownish dust was precipitated to the bottom of the glass jar.

    + +

    “Ha! ha!” he cried, clapping his hands, and looking as delighted as a child with a new toy. “What do you think of that?”

    + +

    “It seems to be a very delicate test,” I remarked.

    + +

    “Beautiful! beautiful! The old Guiacum test was very clumsy and uncertain. So is the microscopic examination for blood corpuscles. The latter is valueless if the stains are a few hours old. Now, this appears to act as well whether the blood is old or new. Had this test been invented, there are hundreds of men now walking the earth who would long ago have paid the penalty of their crimes.”

    + +

    “Indeed!” I murmured.

    + +

    “Criminal cases are continually hinging upon that one point. A man is suspected of a crime months perhaps after it has been committed. His linen or clothes are examined, and brownish stains discovered upon them. Are they blood stains, or mud stains, or rust stains, or fruit stains, or what are they? That is a question which has puzzled many an expert, and why? Because there was no reliable test. Now we have the Sherlock Holmes' test, and there will no longer be any difficulty.”

    + +

    His eyes fairly glittered as he spoke, and he put his hand over his heart and bowed as if to some applauding crowd conjured up by his imagination.

    + +

    “You are to be congratulated,” I remarked, considerably surprised at his enthusiasm.

    + +

    “There was the case of Von Bischoff at Frankfort last year. He would certainly have been hung had this test been in existence. Then there was Mason of Bradford, and the notorious Muller, and Lefevre of Montpellier, and Samson of new Orleans. I could name a score of cases in which it would have been decisive.”

    + +

    “You seem to be a walking calendar of crime,” said Stamford with a laugh. “You might start a paper on those lines. Call it the ‘Police News of the Past.’”

    + +

    “Very interesting reading it might be made, too,” remarked Sherlock Holmes, sticking a small piece of plaster over the prick on his finger. “I have to be careful,” he continued, turning to me with a smile, “for I dabble with poisons a good deal.” He held out his hand as he spoke, and I noticed that it was all mottled over with similar pieces of plaster, and discoloured with strong acids.

    + +

    “We came here on business,” said Stamford, sitting down on a high three-legged stool, and pushing another one in my direction with his foot. “My friend here wants to take diggings, and as you were complaining that you could get no one to go halves with you, I thought that I had better bring you together.”

    + +

    Sherlock Holmes seemed delighted at the idea of sharing his rooms with me. “I have my eye on a suite in Baker Street,” he said, “which would suit us down to the ground. You don't mind the smell of strong tobacco, I hope?”

    + +

    “I always smoke ‘ship's’ myself,” I answered.

    + +

    “That's good enough. I generally have chemicals about, and occasionally do experiments. Would that annoy you?”

    + +

    “By no means.”

    + +

    “Let me see—what are my other shortcomings. I get in the dumps at times, and don't open my mouth for days on end. You must not think I am sulky when I do that. Just let me alone, and I'll soon be right. What have you to confess now? It's just as well for two fellows to know the worst of one another before they begin to live together.”

    + +

    I laughed at this cross-examination. “I keep a bull pup,” I said, “and I object to rows because my nerves are shaken, and I get up at all sorts of ungodly hours, and I am extremely lazy. I have another set of vices when I'm well, but those are the principal ones at present.”

    + +

    “Do you include violin-playing in your category of rows?” he asked, anxiously.

    + +

    “It depends on the player,” I answered. “A well-played violin is a treat for the gods—a badly-played one—”

    + +

    “Oh, that's all right,” he cried, with a merry laugh. “I think we may consider the thing as settled—that is, if the rooms are agreeable to you.”

    + +

    “When shall we see them?”

    + +

    “Call for me here at noon to-morrow, and we'll go together and settle everything,” he answered.

    + +

    “All right—noon exactly,” said I, shaking his hand.

    + +

    We left him working among his chemicals, and we walked together towards my hotel.

    + +

    “By the way,” I asked suddenly, stopping and turning upon Stamford, “how the deuce did he know that I had come from Afghanistan?”

    + +

    My companion smiled an enigmatical smile. “That's just his little peculiarity,” he said. “A good many people have wanted to know how he finds things out.”

    + +

    “Oh! a mystery is it?” I cried, rubbing my hands. “This is very piquant. I am much obliged to you for bringing us together. ‘The proper study of mankind is man,’ you know.”

    + +

    “You must study him, then,” Stamford said, as he bade me good-bye. “You'll find him a knotty problem, though. I'll wager he learns more about you than you about him. Good-bye.”

    + +

    “Good-bye,” I answered, and strolled on to my hotel, considerably interested in my new acquaintance.

    +
    + + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test73.html b/alt-implementations/readifry-master/hyphenator/testsuite/test73.html new file mode 100644 index 0000000..4e59558 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test73.html @@ -0,0 +1,54 @@ + + + + Hyphenator.js – Test 73 + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 73

    +

    Test advanced bookmarklet.

    +

    To allow more efficient usage of paper, more regular appearance of right-side margins without requiring spacing adjustments, and to eliminate the need to erase hand-written long words begun near the end of a line that do not fit, words may be divided at the nearest breakpoint between syllables and a hyphen inserted to indicate that the letters form a word fragment, not a word.

    +

    To al|low more ef|fi|cient us|age of pa|per, more reg|u|lar ap|pear|ance of right-side mar|gins with|out re|quir|ing spac|ing ad|just|ments, and to elim|i|nate the need to erase hand-writ|ten long words be|gun near the end of a line that do not fit, words may be di|vided at the near|est break|point be|tween syl|la|bles and a hy|phen in|serted to in|di|cate that the let|ters form a word frag|ment, not a word.

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test74.html b/alt-implementations/readifry-master/hyphenator/testsuite/test74.html new file mode 100644 index 0000000..dc61cbf --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test74.html @@ -0,0 +1,65 @@ + + + + Hyphenator.js – Test 74 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 74

    +

    Make use of additional information of the language tag (en-GB vs. en-US)

    + +

    en-GB

    +

    color colour / A hyphenation algorithm is a set of rules that decides at which points a word can be broken over two lines with a hyphen.

    +

    color col|our / A hy|phen|a|tion al|gorithm is a set of rules that de|cides at which points a word can be broken over two lines with a hy|phen.

    +

    en-US

    +

    color colour / A hyphenation algorithm is a set of rules that decides at which points a word can be broken over two lines with a hyphen.

    +

    color colour / A hy|phen|ation al|go|rithm is a set of rules that de|cides at which points a word can be bro|ken over two lines with a hy|phen.

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test75.html b/alt-implementations/readifry-master/hyphenator/testsuite/test75.html new file mode 100644 index 0000000..51a836c --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test75.html @@ -0,0 +1,53 @@ + + + + Hyphenator.js – Test 75 + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 75

    +

    Test bookmarklet on site with a external site in an iframe.

    + +

    Hyphenation

    +

    Hy|phen|ation

    + + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test76.html b/alt-implementations/readifry-master/hyphenator/testsuite/test76.html new file mode 100644 index 0000000..9deafa8 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test76.html @@ -0,0 +1,71 @@ + + + + Hyphenator.js – Test 76 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 76

    +

    Test hyphenation of greek.

    +

    el-monoton

    +

    Πάτερ ημών ο εν τοις ουρανοίς αγιασθήτω το όνομά σου· ελθέτω η βασιλεία σου· γεννηθήτω το θέλημά σου, ως εν ουρανώ και επί της γης·

    +

    Πάτερ ημών ο εν τοις ου|ρα|νοίς αγια|σθή|τω το όνομά σου· ελ|θέ|τω η βα|σι|λεία σου· γεν|νη|θή|τω το θέ|λη|μά σου, ως εν ου|ρα|νώ και επί της γης·

    + +

    el-polyton

    +

    Πάτερ ημών ο εν τοις ουρανοίς αγιασθήτω το όνομά σου· ελθέτω η βασιλεία σου· γεννηθήτω το θέλημά σου, ως εν ουρανώ και επί της γης·

    +

    Πάτερ ημών ο εν τοις ου|ρα|νοίς αγια|σθή|τω το όνομά σου· ελ|θέ|τω η βα|σι|λεία σου· γεν|νη|θή|τω το θέ|λη|μά σου, ως εν ου|ρα|νώ και επί της γης·

    + +

    grc

    +

    Ὅτι μὲν ὑμεῖς, ὦ ἄνδρες Άθηναῖοι, πεπόνθατε ὑπὸ τῶν ἐμῶν κατηγόρων, οὐκ οἶδα: ἐγὼ δ' οὖν καὶ αὐτὸς ὑπ' αὐτῶν ὀλίγου ἐμαυτοῦ ἐπελαθόμην, οὕτω πιθανῶς ἔλεγον.

    +

    Ὅτι μὲν ὑμεῖς, ὦ ἄν|δρες Άθη|ναῖ|οι, πε|πόν|θα|τε ὑπὸ τῶν ἐμῶν κα|τη|γό|ρων, οὐκ οἶδα: ἐγὼ δ' οὖν καὶ αὐτὸς ὑπ' αὐτῶν ὀλί|γου ἐμαυ|τοῦ ἐπε|λα|θό|μην, οὕτω πι|θα|νῶς ἔλε|γον.

    + + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test77.html b/alt-implementations/readifry-master/hyphenator/testsuite/test77.html new file mode 100644 index 0000000..caa17e8 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test77.html @@ -0,0 +1,63 @@ + + + + Hyphenator.js – Test 77 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 77

    +

    Do various language tests

    +

    General outer, special inner

    +

    The british word colour is written color in american english.

    +

    The british word col|our is writ|ten color in amer|i|can eng|lish.

    +

    Special outer, general inner

    +

    The american word color is written colour in british english.

    +

    The amer|ican word color is writ|ten col|our in brit|ish eng|lish.

    +

    Unknown subtag

    +

    If subtag is unknown we should fall back to the maintag.

    +

    If sub|tag is un|known we should fall back to the main|tag.

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test78.html b/alt-implementations/readifry-master/hyphenator/testsuite/test78.html new file mode 100644 index 0000000..bb0ecc4 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test78.html @@ -0,0 +1,51 @@ + + + + Hyphenator.js – Test 78 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 78

    +

    Copy text from textarea, when safecopy is on.

    + +
    +
    +
    +
    +

    Hyphenation

    +

    Hy|phen|ation

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test79.html b/alt-implementations/readifry-master/hyphenator/testsuite/test79.html new file mode 100644 index 0000000..d55a16e --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test79.html @@ -0,0 +1,62 @@ + + + + Hyphenator.js – Test 79 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 79

    +

    Run Hyphenator on site with an iFrame. The iFrame has no language set…
    + The iFrame should inherit the mainlanguage from the parent-page.

    + + +

    Hyphenation

    +

    Hy|phen|ation

    + + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test8.html b/alt-implementations/readifry-master/hyphenator/testsuite/test8.html new file mode 100644 index 0000000..7d34dab --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test8.html @@ -0,0 +1,54 @@ + + + + Hyphenator.js – Test 8 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 8

    +

    Hyphenate a paragraph that contains a word in a different language.

    + +

    Das englische Wort “Hyphenation” lässt sich nicht unbedingt wörtlich mit «Silbentrennung» übersetzen.

    +

    Das eng|li|sche Wort “Hy|phen|ation” lässt sich nicht un|be|dingt wört|lich mit «Sil|ben|tren|nung» über|set|zen.

    + + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test80.html b/alt-implementations/readifry-master/hyphenator/testsuite/test80.html new file mode 100644 index 0000000..e8d50bb --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test80.html @@ -0,0 +1,57 @@ + + + + Hyphenator.js – Test 80 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 80

    +

    Orphancontrol level 2

    + +

    «Wunderschönen guten Tag allerseits», rief Caspar fröhlich in den Raum hinein. Sein Vater aber grummelte: «Himmelherrgott, so viele Leute hatte ich nicht erwartet!»

    +

    «Wun|der|schö|nen guten Tag al|ler|seits», rief Cas|par fröh|lich in den Raum hin|ein. Sein Vater aber grum|mel|te: «Him|mel|herr|gott, so viele Leute hatte ich nicht erwartet!»

    + + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test81.html b/alt-implementations/readifry-master/hyphenator/testsuite/test81.html new file mode 100644 index 0000000..dd65a55 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test81.html @@ -0,0 +1,58 @@ + + + + Hyphenator.js – Test 81 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 81

    +

    Orphancontrol level 3.

    + +

    «Wunderschönen guten Tag allerseits», rief Caspar fröhlich in den Raum hinein. Sein Vater aber grummelte: «Himmelherrgott, so viele Leute hatte ich nicht erwartet!»

    +

    «Wun|der|schö|nen guten Tag al|ler|seits», rief Cas|par fröh|lich in den Raum hin|ein. Sein Vater aber grum|mel|te: «Him|mel|herr|gott, so viele Leute hatte ich nicht erwartet!»

    + + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test82.html b/alt-implementations/readifry-master/hyphenator/testsuite/test82.html new file mode 100644 index 0000000..0808a87 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test82.html @@ -0,0 +1,74 @@ + + + + Hyphenator.js – Test 82 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 82

    +

    Use persistentConfig. Reload the page to see sticky confguration.

    + +

    «Wunderschönen guten Tag allerseits», rief Caspar fröhlich in den Raum hinein. Sein Vater aber grummelte: «Himmelherrgott, so viele Leute hatte ich nicht erwartet!»

    +

    «Wun|der|schö|nen guten Tag al|ler|seits», rief Cas|par fröh|lich in den Raum hin|ein. Sein Vater aber grum|mel|te: «Him|mel|herr|gott, so viele Leute hatte ich nicht er|war|tet!»

    +

    «Wunderschönen guten Tag allerseits», rief Caspar fröhlich in den Raum hinein. Sein Vater aber grummelte: «Himmelherrgott, so viele Leute hatte ich nicht erwartet!»

    + + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test83.html b/alt-implementations/readifry-master/hyphenator/testsuite/test83.html new file mode 100644 index 0000000..5bbf158 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test83.html @@ -0,0 +1,53 @@ + + + + Hyphenator.js – Test 83 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 83

    +

    Hyphenate a paragraph when no language is set, but a defaultlanguage is defined.

    + +

    Das englische Wort “Hyphenation” lässt sich nicht unbedingt wörtlich mit «Silbentrennung» übersetzen.

    +

    Das eng|li|sche Wort “Hy|phen|ation” lässt sich nicht un|be|dingt wört|lich mit «Sil|ben|tren|nung» über|set|zen.

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test84.html b/alt-implementations/readifry-master/hyphenator/testsuite/test84.html new file mode 100644 index 0000000..4861434 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test84.html @@ -0,0 +1,116 @@ + + + + Hyphenator.js – Test 84 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 84

    +

    Use a checkbox to toggle hyphenation on/off.

    + +

    «Wunderschönen guten Tag allerseits», rief Caspar fröhlich in den Raum hinein. Sein Vater aber grummelte: «Himmelherrgott, so viele Leute hatte ich nicht erwartet!»

    +

    «Wun|der|schö|nen guten Tag al|ler|seits», rief Cas|par fröh|lich in den Raum hin|ein. Sein Vater aber grum|mel|te: «Him|mel|herr|gott, so viele Leute hatte ich nicht er|war|tet!»

    +

    «Wunderschönen guten Tag allerseits», rief Caspar fröhlich in den Raum hinein. Sein Vater aber grummelte: «Himmelherrgott, so viele Leute hatte ich nicht erwartet!»

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test85.html b/alt-implementations/readifry-master/hyphenator/testsuite/test85.html new file mode 100644 index 0000000..e99f672 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test85.html @@ -0,0 +1,54 @@ + + + + Hyphenator.js – Test 85 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 85

    +

    Hyphenate and display text as soon as pattern is available. Don't wait for other patterns to be loaded

    + +

    This text is english (english patterns are just 29kb), whereas the hungarian word magyar requests a patternfile of 500kb…

    +

    This text is english only and could be displayed as soon as en-patterns are available.

    +

    Hint: throttle server and empty cache!!!

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test86.html b/alt-implementations/readifry-master/hyphenator/testsuite/test86.html new file mode 100644 index 0000000..872bee4 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test86.html @@ -0,0 +1,87 @@ + + + + Hyphenator.js – Test 86 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 86

    +

    Hyphenate words that build ligatures.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    normal: offen, auffallen, Schifffahrt, finden, Kaufinteresse
    optimizeLegibility: offen, auffallen, Schifffahrt, finden, Kaufinteresse
    normal (h): offen, auffallen, Schifffahrt, finden, Kaufinteresse
    optimizeLegibility (h): offen, auffallen, Schifffahrt, finden, Kaufinteresse
    normal (ZWNJ): offen, auf‌fal‌len, Schiff‌fahrt, finden, Kauf‌interesse
    optimizeLegibility (ZWNJ): offen, auf‌fallen, Schiff‌fahrt, finden, Kauf‌interesse
    normal (h + ZWNJ): offen, auf‌fal‌len, Schiff‌fahrt, finden, Kauf‌interesse
    optimizeLegibility (h + ZWNJ): offen, auf‌fallen, Schiff‌fahrt, finden, Kauf‌interesse
    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test87.html b/alt-implementations/readifry-master/hyphenator/testsuite/test87.html new file mode 100644 index 0000000..52a1085 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test87.html @@ -0,0 +1,57 @@ + + + + Hyphenator.js – Test 87 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 87

    +

    Hyphenate words that contain the long s (ſ).

    + +
    Fürſtenberg ist ein gutes Bier.
    +
    Fürſ|ten|berg ist ein gutes Bier.
    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test88.html b/alt-implementations/readifry-master/hyphenator/testsuite/test88.html new file mode 100644 index 0000000..e3e12cf --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test88.html @@ -0,0 +1,58 @@ + + + + Hyphenator.js – Test 88 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 88

    +

    Test hyphenation with typographer's quotes (“”).

    + +
    “Your rucksack is open.”
    ‘Your rucksack is open.’
    +
    “Your ruck|sack is open.”
    ‘Your rucksack is open.’
    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test89.html b/alt-implementations/readifry-master/hyphenator/testsuite/test89.html new file mode 100644 index 0000000..47ae9c2 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test89.html @@ -0,0 +1,90 @@ + + + + Hyphenator.js – Test 89 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 89

    +

    Test CSS3 property "hyphenate"

    +

    Hyphenated by CSS3:

    +

    + taken possession +

    +

    + meine gleich +

    +

    Hyphenated by Hyphenator:

    +

    + taken possession +

    +

    + meine gleich +

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test9.html b/alt-implementations/readifry-master/hyphenator/testsuite/test9.html new file mode 100644 index 0000000..6aac2ff --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test9.html @@ -0,0 +1,59 @@ + + + + Hyphenator.js – Test 9 + + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 9

    +

    Run Hyphenation with manually preloaded patterns.

    + +

    Silbentrennung

    +

    Sil|ben|tren|nung

    + + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test90.html b/alt-implementations/readifry-master/hyphenator/testsuite/test90.html new file mode 100644 index 0000000..a9a00a4 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test90.html @@ -0,0 +1,50 @@ + + + + Hyphenator.js – Test 90 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 90

    +

    Handle MathML/SVG-elements correctly.

    +
    + x = - b ± b 2 - 4 a c 2 a +
    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test91.html b/alt-implementations/readifry-master/hyphenator/testsuite/test91.html new file mode 100644 index 0000000..a1fa00c --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test91.html @@ -0,0 +1,62 @@ + + + + Hyphenator.js – Test 91 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 91

    +

    Hyphenate one paragraph with CSS3hyphenation.

    + +

    en

    +

    A hyphenation algorithm is a set of rules that decides at which points a word can be broken over two lines with a hyphen.

    +

    A hyphenation algorithm is a set of rules that decides at which points a word can be broken over two lines with a hyphen.

    + +

    de

    +

    Die Worttrennung, auch Silbentrennung genannt, bezeichnet in der Orthographie die Art und Weise, wie die Wörter insbesondere am Zeilenende getrennt werden können.

    +

    Die Worttrennung, auch Silbentrennung genannt, bezeichnet in der Orthographie die Art und Weise, wie die Wörter insbesondere am Zeilenende getrennt werden können.

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test92.html b/alt-implementations/readifry-master/hyphenator/testsuite/test92.html new file mode 100644 index 0000000..710b86f --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test92.html @@ -0,0 +1,56 @@ + + + + Hyphenator.js – Test 92 + + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 92

    +

    Test global (un)hiding

    + +

    Hyphenation

    +

    Hy|phen|ation

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test93.html b/alt-implementations/readifry-master/hyphenator/testsuite/test93.html new file mode 100644 index 0000000..21392a4 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test93.html @@ -0,0 +1,59 @@ + + + + Hyphenator.js – Test 93 + + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 93

    +

    Test global (un)hiding with special className

    + +

    Hyphenation

    +

    Hy|phen|ation

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test94.html b/alt-implementations/readifry-master/hyphenator/testsuite/test94.html new file mode 100644 index 0000000..f9fc03d --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test94.html @@ -0,0 +1,99 @@ + + + + Hyphenator.js – Test 94 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 94

    +

    Tests if Hyphenator.js runs when it is loaded after onload-event.

    + +

    Hyphenation

    +

    Hy|phen|ation

    +

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test95.html b/alt-implementations/readifry-master/hyphenator/testsuite/test95.html new file mode 100644 index 0000000..6ed4483 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test95.html @@ -0,0 +1,73 @@ + + + + Hyphenator.js – Test 95 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 95

    +

    Use Loader to load Hyphenator

    + +

    en

    +

    A hyphenation algorithm is a set of rules that decides at which points a word can be broken over two lines with a hyphen.

    +

    A hyphenation algorithm is a set of rules that decides at which points a word can be broken over two lines with a hyphen.

    +

    A hy­phen­ation al­go­rithm is a set of rules that de­cides at which points a word can be bro­ken over two lines with a hy­phen.

    + +

    hy (Armenian)

    +

    Հայերենն ունի վեց ձայնավոր, մեկ կիսաձայն և երեսուն բաղաձայն հնչյուններ

    +

    Հայերենն ունի վեց ձայնավոր, մեկ կիսաձայն և երեսուն բաղաձայն հնչյուններ

    +

    Հա­յե­րենն ունի վեց ձայնա­վոր, մեկ կի­սա­ձայն և ե­րե­սուն բա­ղա­ձայն հնչյուններ

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test96.html b/alt-implementations/readifry-master/hyphenator/testsuite/test96.html new file mode 100644 index 0000000..bb16a96 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test96.html @@ -0,0 +1,61 @@ + + + + Hyphenator.js – Test 96 + + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 96

    +

    Hyphenate one words with exceptions and defaultlanguage.

    + +

    echtscheiding kinderyoga, jaarfeesten, multimedia, kinderwijze

    +

    echt|scheiding kinder|yoga, jaar|feesten, multi|media, kinder|wijze

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test97.html b/alt-implementations/readifry-master/hyphenator/testsuite/test97.html new file mode 100644 index 0000000..7884503 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test97.html @@ -0,0 +1,64 @@ + + + + Hyphenator.js – Test 97 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 97

    +

    Run Hyphenator with outdated patterns in DOMStorage.

    + +

    Hyphenation

    +

    Hy|phen|ation

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test98.html b/alt-implementations/readifry-master/hyphenator/testsuite/test98.html new file mode 100644 index 0000000..a0d69b4 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test98.html @@ -0,0 +1,66 @@ + + + + Hyphenator.js – Test 98 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 98

    +

    Check compatibility with addthis.com

    + +

    Hyphenation

    +

    Hy|phen|ation

    + + +
    + + + + +
    + + + + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/hyphenator/testsuite/test99.html b/alt-implementations/readifry-master/hyphenator/testsuite/test99.html new file mode 100644 index 0000000..f4618d9 --- /dev/null +++ b/alt-implementations/readifry-master/hyphenator/testsuite/test99.html @@ -0,0 +1,57 @@ + + + + Hyphenator.js – Test 99 + + + + + + +

    <<- index | <- Prev | Next ->

    +

    Test 99

    +

    Check visibility with selector function

    + +

    Hyphenation

    +

    Hy|phen|ation

    + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/index.html b/alt-implementations/readifry-master/index.html new file mode 100644 index 0000000..ea2de6f --- /dev/null +++ b/alt-implementations/readifry-master/index.html @@ -0,0 +1,140 @@ + + + + Readifry demo + + + + + + +
    + + + + +
    + +
    fooo!
    +
    ^
    +
    + + + +
    +
    +
    +
    + + + + + + +
    + +
    +
    +    ?       toggle help
    +    H       hide everything
    +    [delete]toggle controls
    +    A       method A
    +    B       method B
    +    T       toggle text field
    +    L       load file
    +
    +    [space] play/pause
    +
    +    [up]    increase speed
    +    [down]  decrease speed
    +    [left]  back 2 seconds
    +    [right] forward 2 seconds
    +
    +
    + + + + + + + + + + + + +
    + + + + + + + \ No newline at end of file diff --git a/alt-implementations/readifry-master/kingInYellow.txt b/alt-implementations/readifry-master/kingInYellow.txt new file mode 100644 index 0000000..49efa2b --- /dev/null +++ b/alt-implementations/readifry-master/kingInYellow.txt @@ -0,0 +1,9036 @@ +The Project Gutenberg EBook of The King in Yellow, by Robert W. Chambers + +This eBook is for the use of anyone anywhere at no cost and with +almost no restrictions whatsoever. You may copy it, give it away or +re-use it under the terms of the Project Gutenberg License included +with this eBook or online at www.gutenberg.org + + +Title: The King in Yellow + +Author: Robert W. Chambers + +Posting Date: September 10, 2012 [EBook #8492] +Release Date: July, 2005 +First Posted: July 16, 2003 + +Language: English + + +*** START OF THIS PROJECT GUTENBERG EBOOK THE KING IN YELLOW *** + + + + +Produced by Suzanne Shell, Beth Trapaga, Charles Franks, +and the Online Distributed Proofreading Team + + + + + + + + + + + +THE KING IN YELLOW + +BY + +ROBERT W. CHAMBERS + + + + + + +Original publication date: 1895 + + +THE KING IN YELLOW +IS DEDICATED +TO +MY BROTHER + + Along the shore the cloud waves break, + The twin suns sink beneath the lake, + The shadows lengthen + In Carcosa. + + Strange is the night where black stars rise, + And strange moons circle through the skies + But stranger still is + Lost Carcosa. + + Songs that the Hyades shall sing, + Where flap the tatters of the King, + Must die unheard in + Dim Carcosa. + + Song of my soul, my voice is dead; + Die thou, unsung, as tears unshed + Shall dry and die in + Lost Carcosa. + +Cassilda's Song in "The King in Yellow," Act i, Scene 2. + + + + +THE REPAIRER OF REPUTATIONS + + +I + +"Ne raillons pas les fous; leur folie dure plus longtemps que +la nôtre.... Voila toute la différence." + +Toward the end of the year 1920 the Government of the United States had +practically completed the programme, adopted during the last months of +President Winthrop's administration. The country was apparently tranquil. +Everybody knows how the Tariff and Labour questions were settled. The war +with Germany, incident on that country's seizure of the Samoan Islands, +had left no visible scars upon the republic, and the temporary occupation +of Norfolk by the invading army had been forgotten in the joy over +repeated naval victories, and the subsequent ridiculous plight of General +Von Gartenlaube's forces in the State of New Jersey. The Cuban and +Hawaiian investments had paid one hundred per cent and the territory of +Samoa was well worth its cost as a coaling station. The country was in a +superb state of defence. Every coast city had been well supplied with land +fortifications; the army under the parental eye of the General Staff, +organized according to the Prussian system, had been increased to 300,000 +men, with a territorial reserve of a million; and six magnificent +squadrons of cruisers and battle-ships patrolled the six stations of the +navigable seas, leaving a steam reserve amply fitted to control home +waters. The gentlemen from the West had at last been constrained to +acknowledge that a college for the training of diplomats was as necessary +as law schools are for the training of barristers; consequently we were no +longer represented abroad by incompetent patriots. The nation was +prosperous; Chicago, for a moment paralyzed after a second great fire, had +risen from its ruins, white and imperial, and more beautiful than the white +city which had been built for its plaything in 1893. Everywhere good +architecture was replacing bad, and even in New York, a sudden craving for +decency had swept away a great portion of the existing horrors. Streets +had been widened, properly paved and lighted, trees had been planted, +squares laid out, elevated structures demolished and underground roads +built to replace them. The new government buildings and barracks were fine +bits of architecture, and the long system of stone quays which completely +surrounded the island had been turned into parks which proved a god-send +to the population. The subsidizing of the state theatre and state opera +brought its own reward. The United States National Academy of Design was +much like European institutions of the same kind. Nobody envied the +Secretary of Fine Arts, either his cabinet position or his portfolio. The +Secretary of Forestry and Game Preservation had a much easier time, thanks +to the new system of National Mounted Police. We had profited well by the +latest treaties with France and England; the exclusion of foreign-born +Jews as a measure of self-preservation, the settlement of the new +independent negro state of Suanee, the checking of immigration, the new +laws concerning naturalization, and the gradual centralization of power in +the executive all contributed to national calm and prosperity. When the +Government solved the Indian problem and squadrons of Indian cavalry +scouts in native costume were substituted for the pitiable organizations +tacked on to the tail of skeletonized regiments by a former Secretary of +War, the nation drew a long sigh of relief. When, after the colossal +Congress of Religions, bigotry and intolerance were laid in their graves +and kindness and charity began to draw warring sects together, many +thought the millennium had arrived, at least in the new world which after +all is a world by itself. + +But self-preservation is the first law, and the United States had to look +on in helpless sorrow as Germany, Italy, Spain and Belgium writhed in the +throes of Anarchy, while Russia, watching from the Caucasus, stooped and +bound them one by one. + +In the city of New York the summer of 1899 was signalized by the +dismantling of the Elevated Railroads. The summer of 1900 will live in +the memories of New York people for many a cycle; the Dodge Statue was +removed in that year. In the following winter began that agitation for +the repeal of the laws prohibiting suicide which bore its final fruit in +the month of April, 1920, when the first Government Lethal Chamber was +opened on Washington Square. + +I had walked down that day from Dr. Archer's house on Madison Avenue, +where I had been as a mere formality. Ever since that fall from my horse, +four years before, I had been troubled at times with pains in the back of +my head and neck, but now for months they had been absent, and the doctor +sent me away that day saying there was nothing more to be cured in me. It +was hardly worth his fee to be told that; I knew it myself. Still I did +not grudge him the money. What I minded was the mistake which he made at +first. When they picked me up from the pavement where I lay unconscious, +and somebody had mercifully sent a bullet through my horse's head, I was +carried to Dr. Archer, and he, pronouncing my brain affected, placed me +in his private asylum where I was obliged to endure treatment for +insanity. At last he decided that I was well, and I, knowing that my mind +had always been as sound as his, if not sounder, "paid my tuition" as he +jokingly called it, and left. I told him, smiling, that I would get even +with him for his mistake, and he laughed heartily, and asked me to call +once in a while. I did so, hoping for a chance to even up accounts, but +he gave me none, and I told him I would wait. + +The fall from my horse had fortunately left no evil results; on the +contrary it had changed my whole character for the better. From a lazy +young man about town, I had become active, energetic, temperate, and +above all--oh, above all else--ambitious. There was only one thing which +troubled me, I laughed at my own uneasiness, and yet it troubled me. + +During my convalescence I had bought and read for the first time, _The +King in Yellow_. I remember after finishing the first act that it +occurred to me that I had better stop. I started up and flung the book +into the fireplace; the volume struck the barred grate and fell open on +the hearth in the firelight. If I had not caught a glimpse of the opening +words in the second act I should never have finished it, but as I stooped +to pick it up, my eyes became riveted to the open page, and with a cry of +terror, or perhaps it was of joy so poignant that I suffered in every +nerve, I snatched the thing out of the coals and crept shaking to my +bedroom, where I read it and reread it, and wept and laughed and trembled +with a horror which at times assails me yet. This is the thing that +troubles me, for I cannot forget Carcosa where black stars hang in the +heavens; where the shadows of men's thoughts lengthen in the afternoon, +when the twin suns sink into the lake of Hali; and my mind will bear for +ever the memory of the Pallid Mask. I pray God will curse the writer, as +the writer has cursed the world with this beautiful, stupendous creation, +terrible in its simplicity, irresistible in its truth--a world which now +trembles before the King in Yellow. When the French Government seized the +translated copies which had just arrived in Paris, London, of course, +became eager to read it. It is well known how the book spread like an +infectious disease, from city to city, from continent to continent, +barred out here, confiscated there, denounced by Press and pulpit, +censured even by the most advanced of literary anarchists. No definite +principles had been violated in those wicked pages, no doctrine +promulgated, no convictions outraged. It could not be judged by any known +standard, yet, although it was acknowledged that the supreme note of art +had been struck in _The King in Yellow_, all felt that human nature +could not bear the strain, nor thrive on words in which the essence of +purest poison lurked. The very banality and innocence of the first act +only allowed the blow to fall afterward with more awful effect. + +It was, I remember, the 13th day of April, 1920, that the first +Government Lethal Chamber was established on the south side of Washington +Square, between Wooster Street and South Fifth Avenue. The block which +had formerly consisted of a lot of shabby old buildings, used as cafés +and restaurants for foreigners, had been acquired by the Government in +the winter of 1898. The French and Italian cafés and restaurants were +torn down; the whole block was enclosed by a gilded iron railing, and +converted into a lovely garden with lawns, flowers and fountains. In the +centre of the garden stood a small, white building, severely classical in +architecture, and surrounded by thickets of flowers. Six Ionic columns +supported the roof, and the single door was of bronze. A splendid marble +group of the "Fates" stood before the door, the work of a young American +sculptor, Boris Yvain, who had died in Paris when only twenty-three years +old. + +The inauguration ceremonies were in progress as I crossed University +Place and entered the square. I threaded my way through the silent throng +of spectators, but was stopped at Fourth Street by a cordon of police. A +regiment of United States lancers were drawn up in a hollow square round +the Lethal Chamber. On a raised tribune facing Washington Park stood the +Governor of New York, and behind him were grouped the Mayor of New +York and Brooklyn, the Inspector-General of Police, the Commandant of +the state troops, Colonel Livingston, military aid to the President of the +United States, General Blount, commanding at Governor's Island, +Major-General Hamilton, commanding the garrison of New York and Brooklyn, +Admiral Buffby of the fleet in the North River, Surgeon-General +Lanceford, the staff of the National Free Hospital, Senators Wyse and +Franklin of New York, and the Commissioner of Public Works. The tribune +was surrounded by a squadron of hussars of the National Guard. + +The Governor was finishing his reply to the short speech of the +Surgeon-General. I heard him say: "The laws prohibiting suicide and +providing punishment for any attempt at self-destruction have been +repealed. The Government has seen fit to acknowledge the right of man to +end an existence which may have become intolerable to him, through +physical suffering or mental despair. It is believed that the community +will be benefited by the removal of such people from their midst. Since +the passage of this law, the number of suicides in the United States has +not increased. Now the Government has determined to establish a Lethal +Chamber in every city, town and village in the country, it remains to be +seen whether or not that class of human creatures from whose desponding +ranks new victims of self-destruction fall daily will accept the relief +thus provided." He paused, and turned to the white Lethal Chamber. The +silence in the street was absolute. "There a painless death awaits him +who can no longer bear the sorrows of this life. If death is welcome let +him seek it there." Then quickly turning to the military aid of the +President's household, he said, "I declare the Lethal Chamber open," and +again facing the vast crowd he cried in a clear voice: "Citizens of New +York and of the United States of America, through me the Government +declares the Lethal Chamber to be open." + +The solemn hush was broken by a sharp cry of command, the squadron of +hussars filed after the Governor's carriage, the lancers wheeled and +formed along Fifth Avenue to wait for the commandant of the garrison, and +the mounted police followed them. I left the crowd to gape and stare at +the white marble Death Chamber, and, crossing South Fifth Avenue, walked +along the western side of that thoroughfare to Bleecker Street. Then I +turned to the right and stopped before a dingy shop which bore the sign: + +HAWBERK, ARMOURER. + +I glanced in at the doorway and saw Hawberk busy in his little shop at +the end of the hall. He looked up, and catching sight of me cried in his +deep, hearty voice, "Come in, Mr. Castaigne!" Constance, his daughter, +rose to meet me as I crossed the threshold, and held out her pretty +hand, but I saw the blush of disappointment on her cheeks, and knew +that it was another Castaigne she had expected, my cousin Louis. I +smiled at her confusion and complimented her on the banner she was +embroidering from a coloured plate. Old Hawberk sat riveting the worn +greaves of some ancient suit of armour, and the ting! ting! ting! of his +little hammer sounded pleasantly in the quaint shop. Presently he +dropped his hammer, and fussed about for a moment with a tiny wrench. +The soft clash of the mail sent a thrill of pleasure through me. I +loved to hear the music of steel brushing against steel, the mellow +shock of the mallet on thigh pieces, and the jingle of chain armour. +That was the only reason I went to see Hawberk. He had never interested +me personally, nor did Constance, except for the fact of her being in +love with Louis. This did occupy my attention, and sometimes even kept +me awake at night. But I knew in my heart that all would come right, +and that I should arrange their future as I expected to arrange that of +my kind doctor, John Archer. However, I should never have troubled +myself about visiting them just then, had it not been, as I say, that +the music of the tinkling hammer had for me this strong fascination. I +would sit for hours, listening and listening, and when a stray sunbeam +struck the inlaid steel, the sensation it gave me was almost too keen +to endure. My eyes would become fixed, dilating with a pleasure that +stretched every nerve almost to breaking, until some movement of the +old armourer cut off the ray of sunlight, then, still thrilling +secretly, I leaned back and listened again to the sound of the +polishing rag, swish! swish! rubbing rust from the rivets. + +Constance worked with the embroidery over her knees, now and then pausing +to examine more closely the pattern in the coloured plate from the +Metropolitan Museum. + +"Who is this for?" I asked. + +Hawberk explained, that in addition to the treasures of armour in the +Metropolitan Museum of which he had been appointed armourer, he also +had charge of several collections belonging to rich amateurs. This was the +missing greave of a famous suit which a client of his had traced to a +little shop in Paris on the Quai d'Orsay. He, Hawberk, had negotiated for +and secured the greave, and now the suit was complete. He laid down his +hammer and read me the history of the suit, traced since 1450 from owner +to owner until it was acquired by Thomas Stainbridge. When his superb +collection was sold, this client of Hawberk's bought the suit, and since +then the search for the missing greave had been pushed until it was, +almost by accident, located in Paris. + +"Did you continue the search so persistently without any certainty of the +greave being still in existence?" I demanded. + +"Of course," he replied coolly. + +Then for the first time I took a personal interest in Hawberk. + +"It was worth something to you," I ventured. + +"No," he replied, laughing, "my pleasure in finding it was my reward." + +"Have you no ambition to be rich?" I asked, smiling. + +"My one ambition is to be the best armourer in the world," he answered +gravely. + +Constance asked me if I had seen the ceremonies at the Lethal Chamber. +She herself had noticed cavalry passing up Broadway that morning, and had +wished to see the inauguration, but her father wanted the banner +finished, and she had stayed at his request. + +"Did you see your cousin, Mr. Castaigne, there?" she asked, with the +slightest tremor of her soft eyelashes. + +"No," I replied carelessly. "Louis' regiment is manoeuvring out in +Westchester County." I rose and picked up my hat and cane. + +"Are you going upstairs to see the lunatic again?" laughed old Hawberk. +If Hawberk knew how I loathe that word "lunatic," he would never use it +in my presence. It rouses certain feelings within me which I do not care +to explain. However, I answered him quietly: "I think I shall drop in and +see Mr. Wilde for a moment or two." + +"Poor fellow," said Constance, with a shake of the head, "it must be hard +to live alone year after year poor, crippled and almost demented. It is +very good of you, Mr. Castaigne, to visit him as often as you do." + +"I think he is vicious," observed Hawberk, beginning again with his +hammer. I listened to the golden tinkle on the greave plates; when he had +finished I replied: + +"No, he is not vicious, nor is he in the least demented. His mind is a +wonder chamber, from which he can extract treasures that you and I would +give years of our life to acquire."' + +Hawberk laughed. + +I continued a little impatiently: "He knows history as no one else could +know it. Nothing, however trivial, escapes his search, and his memory is +so absolute, so precise in details, that were it known in New York that +such a man existed, the people could not honour him enough." + +"Nonsense," muttered Hawberk, searching on the floor for a fallen rivet. + +"Is it nonsense," I asked, managing to suppress what I felt, "is it +nonsense when he says that the tassets and cuissards of the enamelled +suit of armour commonly known as the 'Prince's Emblazoned' can be found +among a mass of rusty theatrical properties, broken stoves and +ragpicker's refuse in a garret in Pell Street?" + +Hawberk's hammer fell to the ground, but he picked it up and asked, with +a great deal of calm, how I knew that the tassets and left cuissard were +missing from the "Prince's Emblazoned." + +"I did not know until Mr. Wilde mentioned it to me the other day. He said +they were in the garret of 998 Pell Street." + +"Nonsense," he cried, but I noticed his hand trembling under his leathern +apron. + +"Is this nonsense too?" I asked pleasantly, "is it nonsense when Mr. +Wilde continually speaks of you as the Marquis of Avonshire and of Miss +Constance--" + +I did not finish, for Constance had started to her feet with terror +written on every feature. Hawberk looked at me and slowly smoothed his +leathern apron. + +"That is impossible," he observed, "Mr. Wilde may know a great many +things--" + +"About armour, for instance, and the 'Prince's Emblazoned,'" I +interposed, smiling. + +"Yes," he continued, slowly, "about armour also--may be--but he is wrong +in regard to the Marquis of Avonshire, who, as you know, killed his +wife's traducer years ago, and went to Australia where he did not long +survive his wife." + +"Mr. Wilde is wrong," murmured Constance. Her lips were blanched, but her +voice was sweet and calm. + +"Let us agree, if you please, that in this one circumstance Mr. Wilde is +wrong," I said. + + + + +II + +I climbed the three dilapidated flights of stairs, which I had so often +climbed before, and knocked at a small door at the end of the corridor. +Mr. Wilde opened the door and I walked in. + +When he had double-locked the door and pushed a heavy chest against it, +he came and sat down beside me, peering up into my face with his little +light-coloured eyes. Half a dozen new scratches covered his nose and +cheeks, and the silver wires which supported his artificial ears had +become displaced. I thought I had never seen him so hideously +fascinating. He had no ears. The artificial ones, which now stood out at +an angle from the fine wire, were his one weakness. They were made of wax +and painted a shell pink, but the rest of his face was yellow. He might +better have revelled in the luxury of some artificial fingers for his +left hand, which was absolutely fingerless, but it seemed to cause him no +inconvenience, and he was satisfied with his wax ears. He was very small, +scarcely higher than a child of ten, but his arms were magnificently +developed, and his thighs as thick as any athlete's. Still, the most +remarkable thing about Mr. Wilde was that a man of his marvellous +intelligence and knowledge should have such a head. It was flat and +pointed, like the heads of many of those unfortunates whom people +imprison in asylums for the weak-minded. Many called him insane, but I +knew him to be as sane as I was. + +I do not deny that he was eccentric; the mania he had for keeping that +cat and teasing her until she flew at his face like a demon, was +certainly eccentric. I never could understand why he kept the creature, +nor what pleasure he found in shutting himself up in his room with this +surly, vicious beast. I remember once, glancing up from the manuscript I +was studying by the light of some tallow dips, and seeing Mr. Wilde +squatting motionless on his high chair, his eyes fairly blazing with +excitement, while the cat, which had risen from her place before the +stove, came creeping across the floor right at him. Before I could move +she flattened her belly to the ground, crouched, trembled, and sprang +into his face. Howling and foaming they rolled over and over on the +floor, scratching and clawing, until the cat screamed and fled under the +cabinet, and Mr. Wilde turned over on his back, his limbs contracting and +curling up like the legs of a dying spider. He _was_ eccentric. + +Mr. Wilde had climbed into his high chair, and, after studying my face, +picked up a dog's-eared ledger and opened it. + +"Henry B. Matthews," he read, "book-keeper with Whysot Whysot and +Company, dealers in church ornaments. Called April 3rd. Reputation +damaged on the race-track. Known as a welcher. Reputation to be repaired +by August 1st. Retainer Five Dollars." He turned the page and ran his +fingerless knuckles down the closely-written columns. + +"P. Greene Dusenberry, Minister of the Gospel, Fairbeach, New Jersey. +Reputation damaged in the Bowery. To be repaired as soon as possible. +Retainer $100." + +He coughed and added, "Called, April 6th." + +"Then you are not in need of money, Mr. Wilde," I inquired. + +"Listen," he coughed again. + +"Mrs. C. Hamilton Chester, of Chester Park, New York City. Called April +7th. Reputation damaged at Dieppe, France. To be repaired by October 1st +Retainer $500. + +"Note.--C. Hamilton Chester, Captain U.S.S. 'Avalanche', ordered home +from South Sea Squadron October 1st." + +"Well," I said, "the profession of a Repairer of Reputations is +lucrative." + +His colourless eyes sought mine, "I only wanted to demonstrate that I +was correct. You said it was impossible to succeed as a Repairer of +Reputations; that even if I did succeed in certain cases it would cost +me more than I would gain by it. To-day I have five hundred men in my +employ, who are poorly paid, but who pursue the work with an enthusiasm +which possibly may be born of fear. These men enter every shade and grade +of society; some even are pillars of the most exclusive social temples; +others are the prop and pride of the financial world; still others, hold +undisputed sway among the 'Fancy and the Talent.' I choose them at my +leisure from those who reply to my advertisements. It is easy enough, +they are all cowards. I could treble the number in twenty days if I +wished. So you see, those who have in their keeping the reputations of +their fellow-citizens, I have in my pay." + +"They may turn on you," I suggested. + +He rubbed his thumb over his cropped ears, and adjusted the wax +substitutes. "I think not," he murmured thoughtfully, "I seldom have to +apply the whip, and then only once. Besides they like their wages." + +"How do you apply the whip?" I demanded. + +His face for a moment was awful to look upon. His eyes dwindled to a pair +of green sparks. + +"I invite them to come and have a little chat with me," he said in a soft +voice. + +A knock at the door interrupted him, and his face resumed its amiable +expression. + +"Who is it?" he inquired. + +"Mr. Steylette," was the answer. + +"Come to-morrow," replied Mr. Wilde. + +"Impossible," began the other, but was silenced by a sort of bark from +Mr. Wilde. + +"Come to-morrow," he repeated. + +We heard somebody move away from the door and turn the corner by the +stairway. + +"Who is that?" I asked. + +"Arnold Steylette, Owner and Editor in Chief of the great New York +daily." + +He drummed on the ledger with his fingerless hand adding: "I pay him very +badly, but he thinks it a good bargain." + +"Arnold Steylette!" I repeated amazed. + +"Yes," said Mr. Wilde, with a self-satisfied cough. + +The cat, which had entered the room as he spoke, hesitated, looked up at +him and snarled. He climbed down from the chair and squatting on the +floor, took the creature into his arms and caressed her. The cat ceased +snarling and presently began a loud purring which seemed to increase in +timbre as he stroked her. "Where are the notes?" I asked. He pointed to +the table, and for the hundredth time I picked up the bundle of +manuscript entitled-- + +"THE IMPERIAL DYNASTY OF AMERICA." + +One by one I studied the well-worn pages, worn only by my own handling, +and although I knew all by heart, from the beginning, "When from Carcosa, +the Hyades, Hastur, and Aldebaran," to "Castaigne, Louis de Calvados, +born December 19th, 1877," I read it with an eager, rapt attention, +pausing to repeat parts of it aloud, and dwelling especially on "Hildred +de Calvados, only son of Hildred Castaigne and Edythe Landes Castaigne, +first in succession," etc., etc. + +When I finished, Mr. Wilde nodded and coughed. + +"Speaking of your legitimate ambition," he said, "how do Constance and +Louis get along?" + +"She loves him," I replied simply. + +The cat on his knee suddenly turned and struck at his eyes, and he flung +her off and climbed on to the chair opposite me. + +"And Dr. Archer! But that's a matter you can settle any time you wish," +he added. + +"Yes," I replied, "Dr. Archer can wait, but it is time I saw my cousin +Louis." + +"It is time," he repeated. Then he took another ledger from the table and +ran over the leaves rapidly. "We are now in communication with ten +thousand men," he muttered. "We can count on one hundred thousand within +the first twenty-eight hours, and in forty-eight hours the state will +rise _en masse_. The country follows the state, and the portion that +will not, I mean California and the Northwest, might better never have +been inhabited. I shall not send them the Yellow Sign." + +The blood rushed to my head, but I only answered, "A new broom sweeps +clean." + +"The ambition of Caesar and of Napoleon pales before that which could not +rest until it had seized the minds of men and controlled even their +unborn thoughts," said Mr. Wilde. + +"You are speaking of the King in Yellow," I groaned, with a shudder. + +"He is a king whom emperors have served." + +"I am content to serve him," I replied. + +Mr. Wilde sat rubbing his ears with his crippled hand. "Perhaps Constance +does not love him," he suggested. + +I started to reply, but a sudden burst of military music from the street +below drowned my voice. The twentieth dragoon regiment, formerly in +garrison at Mount St. Vincent, was returning from the manoeuvres in +Westchester County, to its new barracks on East Washington Square. It was +my cousin's regiment. They were a fine lot of fellows, in their pale +blue, tight-fitting jackets, jaunty busbys and white riding breeches with +the double yellow stripe, into which their limbs seemed moulded. Every +other squadron was armed with lances, from the metal points of which +fluttered yellow and white pennons. The band passed, playing the +regimental march, then came the colonel and staff, the horses crowding +and trampling, while their heads bobbed in unison, and the pennons +fluttered from their lance points. The troopers, who rode with the +beautiful English seat, looked brown as berries from their bloodless +campaign among the farms of Westchester, and the music of their sabres +against the stirrups, and the jingle of spurs and carbines was delightful +to me. I saw Louis riding with his squadron. He was as handsome an +officer as I have ever seen. Mr. Wilde, who had mounted a chair by the +window, saw him too, but said nothing. Louis turned and looked straight +at Hawberk's shop as he passed, and I could see the flush on his brown +cheeks. I think Constance must have been at the window. When the last +troopers had clattered by, and the last pennons vanished into South Fifth +Avenue, Mr. Wilde clambered out of his chair and dragged the chest away +from the door. + +"Yes," he said, "it is time that you saw your cousin Louis." + +He unlocked the door and I picked up my hat and stick and stepped into +the corridor. The stairs were dark. Groping about, I set my foot on +something soft, which snarled and spit, and I aimed a murderous blow at +the cat, but my cane shivered to splinters against the balustrade, and +the beast scurried back into Mr. Wilde's room. + +Passing Hawberk's door again I saw him still at work on the armour, but +I did not stop, and stepping out into Bleecker Street, I followed it to +Wooster, skirted the grounds of the Lethal Chamber, and crossing +Washington Park went straight to my rooms in the Benedick. Here I lunched +comfortably, read the _Herald_ and the _Meteor_, and finally went +to the steel safe in my bedroom and set the time combination. The +three and three-quarter minutes which it is necessary to wait, while the +time lock is opening, are to me golden moments. From the instant I set +the combination to the moment when I grasp the knobs and swing back +the solid steel doors, I live in an ecstasy of expectation. Those moments +must be like moments passed in Paradise. I know what I am to find at +the end of the time limit. I know what the massive safe holds secure for +me, for me alone, and the exquisite pleasure of waiting is hardly enhanced +when the safe opens and I lift, from its velvet crown, a diadem of purest +gold, blazing with diamonds. I do this every day, and yet the joy of +waiting and at last touching again the diadem, only seems to increase as +the days pass. It is a diadem fit for a King among kings, an Emperor +among emperors. The King in Yellow might scorn it, but it shall be worn +by his royal servant. + +I held it in my arms until the alarm in the safe rang harshly, and then +tenderly, proudly, I replaced it and shut the steel doors. I walked +slowly back into my study, which faces Washington Square, and leaned on +the window sill. The afternoon sun poured into my windows, and a gentle +breeze stirred the branches of the elms and maples in the park, now +covered with buds and tender foliage. A flock of pigeons circled about +the tower of the Memorial Church; sometimes alighting on the purple tiled +roof, sometimes wheeling downward to the lotos fountain in front of the +marble arch. The gardeners were busy with the flower beds around the +fountain, and the freshly turned earth smelled sweet and spicy. A lawn +mower, drawn by a fat white horse, clinked across the green sward, and +watering-carts poured showers of spray over the asphalt drives. Around +the statue of Peter Stuyvesant, which in 1897 had replaced the +monstrosity supposed to represent Garibaldi, children played in the +spring sunshine, and nurse girls wheeled elaborate baby carriages with a +reckless disregard for the pasty-faced occupants, which could probably be +explained by the presence of half a dozen trim dragoon troopers languidly +lolling on the benches. Through the trees, the Washington Memorial Arch +glistened like silver in the sunshine, and beyond, on the eastern +extremity of the square the grey stone barracks of the dragoons, and the +white granite artillery stables were alive with colour and motion. + +I looked at the Lethal Chamber on the corner of the square opposite. A +few curious people still lingered about the gilded iron railing, but +inside the grounds the paths were deserted. I watched the fountains +ripple and sparkle; the sparrows had already found this new bathing nook, +and the basins were covered with the dusty-feathered little things. Two +or three white peacocks picked their way across the lawns, and a drab +coloured pigeon sat so motionless on the arm of one of the "Fates," that +it seemed to be a part of the sculptured stone. + +As I was turning carelessly away, a slight commotion in the group of +curious loiterers around the gates attracted my attention. A young man +had entered, and was advancing with nervous strides along the gravel path +which leads to the bronze doors of the Lethal Chamber. He paused a moment +before the "Fates," and as he raised his head to those three mysterious +faces, the pigeon rose from its sculptured perch, circled about for a +moment and wheeled to the east. The young man pressed his hand to his +face, and then with an undefinable gesture sprang up the marble steps, +the bronze doors closed behind him, and half an hour later the loiterers +slouched away, and the frightened pigeon returned to its perch in the +arms of Fate. + +I put on my hat and went out into the park for a little walk before +dinner. As I crossed the central driveway a group of officers passed, and +one of them called out, "Hello, Hildred," and came back to shake hands +with me. It was my cousin Louis, who stood smiling and tapping his +spurred heels with his riding-whip. + +"Just back from Westchester," he said; "been doing the bucolic; milk and +curds, you know, dairy-maids in sunbonnets, who say 'haeow' and 'I don't +think' when you tell them they are pretty. I'm nearly dead for a square +meal at Delmonico's. What's the news?" + +"There is none," I replied pleasantly. "I saw your regiment coming in this +morning." + +"Did you? I didn't see you. Where were you?" + +"In Mr. Wilde's window." + +"Oh, hell!" he began impatiently, "that man is stark mad! I don't +understand why you--" + +He saw how annoyed I felt by this outburst, and begged my pardon. + +"Really, old chap," he said, "I don't mean to run down a man you like, +but for the life of me I can't see what the deuce you find in common with +Mr. Wilde. He's not well bred, to put it generously; he is hideously +deformed; his head is the head of a criminally insane person. You know +yourself he's been in an asylum--" + +"So have I," I interrupted calmly. + +Louis looked startled and confused for a moment, but recovered and +slapped me heartily on the shoulder. "You were completely cured," he +began; but I stopped him again. + +"I suppose you mean that I was simply acknowledged never to have been +insane." + +"Of course that--that's what I meant," he laughed. + +I disliked his laugh because I knew it was forced, but I nodded gaily and +asked him where he was going. Louis looked after his brother officers who +had now almost reached Broadway. + +"We had intended to sample a Brunswick cocktail, but to tell you the +truth I was anxious for an excuse to go and see Hawberk instead. Come +along, I'll make you my excuse." + +We found old Hawberk, neatly attired in a fresh spring suit, standing at +the door of his shop and sniffing the air. + +"I had just decided to take Constance for a little stroll before dinner," +he replied to the impetuous volley of questions from Louis. "We thought +of walking on the park terrace along the North River." + +At that moment Constance appeared and grew pale and rosy by turns as +Louis bent over her small gloved fingers. I tried to excuse myself, +alleging an engagement uptown, but Louis and Constance would not listen, +and I saw I was expected to remain and engage old Hawberk's attention. +After all it would be just as well if I kept my eye on Louis, I thought, +and when they hailed a Spring Street horse-car, I got in after them and +took my seat beside the armourer. + +The beautiful line of parks and granite terraces overlooking the wharves +along the North River, which were built in 1910 and finished in the +autumn of 1917, had become one of the most popular promenades in the +metropolis. They extended from the battery to 190th Street, overlooking +the noble river and affording a fine view of the Jersey shore and the +Highlands opposite. Cafés and restaurants were scattered here and there +among the trees, and twice a week military bands from the garrison played +in the kiosques on the parapets. + +We sat down in the sunshine on the bench at the foot of the equestrian +statue of General Sheridan. Constance tipped her sunshade to shield her +eyes, and she and Louis began a murmuring conversation which was +impossible to catch. Old Hawberk, leaning on his ivory headed cane, +lighted an excellent cigar, the mate to which I politely refused, and +smiled at vacancy. The sun hung low above the Staten Island woods, and +the bay was dyed with golden hues reflected from the sun-warmed sails of +the shipping in the harbour. + +Brigs, schooners, yachts, clumsy ferry-boats, their decks swarming with +people, railroad transports carrying lines of brown, blue and white +freight cars, stately sound steamers, déclassé tramp steamers, coasters, +dredgers, scows, and everywhere pervading the entire bay impudent little +tugs puffing and whistling officiously;--these were the craft which +churned the sunlight waters as far as the eye could reach. In calm +contrast to the hurry of sailing vessel and steamer a silent fleet of +white warships lay motionless in midstream. + +Constance's merry laugh aroused me from my reverie. + +"What _are_ you staring at?" she inquired. + +"Nothing--the fleet," I smiled. + +Then Louis told us what the vessels were, pointing out each by its +relative position to the old Red Fort on Governor's Island. + +"That little cigar shaped thing is a torpedo boat," he explained; "there +are four more lying close together. They are the _Tarpon_, the _Falcon_, +the _Sea Fox_, and the _Octopus_. The gun-boats just above are the +_Princeton_, the _Champlain_, the _Still Water_ and the _Erie_. Next to +them lie the cruisers _Faragut_ and _Los Angeles_, and above them the +battle ships _California_, and _Dakota_, and the _Washington_ which is +the flag ship. Those two squatty looking chunks of metal which are +anchored there off Castle William are the double turreted monitors +_Terrible_ and _Magnificent_; behind them lies the ram, _Osceola_." + +Constance looked at him with deep approval in her beautiful eyes. "What +loads of things you know for a soldier," she said, and we all joined in +the laugh which followed. + +Presently Louis rose with a nod to us and offered his arm to Constance, +and they strolled away along the river wall. Hawberk watched them for a +moment and then turned to me. + +"Mr. Wilde was right," he said. "I have found the missing tassets and +left cuissard of the 'Prince's Emblazoned,' in a vile old junk garret in +Pell Street." + +"998?" I inquired, with a smile. + +"Yes." + +"Mr. Wilde is a very intelligent man," I observed. + +"I want to give him the credit of this most important discovery," +continued Hawberk. "And I intend it shall be known that he is entitled +to the fame of it." + +"He won't thank you for that," I answered sharply; "please say nothing +about it." + +"Do you know what it is worth?" said Hawberk. + +"No, fifty dollars, perhaps." + +"It is valued at five hundred, but the owner of the 'Prince's Emblazoned' +will give two thousand dollars to the person who completes his suit; that +reward also belongs to Mr. Wilde." + +"He doesn't want it! He refuses it!" I answered angrily. "What do you +know about Mr. Wilde? He doesn't need the money. He is rich--or will +be--richer than any living man except myself. What will we care for money +then--what will we care, he and I, when--when--" + +"When what?" demanded Hawberk, astonished. + +"You will see," I replied, on my guard again. + +He looked at me narrowly, much as Doctor Archer used to, and I knew he +thought I was mentally unsound. Perhaps it was fortunate for him that he +did not use the word lunatic just then. + +"No," I replied to his unspoken thought, "I am not mentally weak; my mind +is as healthy as Mr. Wilde's. I do not care to explain just yet what I +have on hand, but it is an investment which will pay more than mere gold, +silver and precious stones. It will secure the happiness and prosperity +of a continent--yes, a hemisphere!" + +"Oh," said Hawberk. + +"And eventually," I continued more quietly, "it will secure the happiness +of the whole world." + +"And incidentally your own happiness and prosperity as well as Mr. +Wilde's?" + +"Exactly," I smiled. But I could have throttled him for taking that tone. + +He looked at me in silence for a while and then said very gently, "Why +don't you give up your books and studies, Mr. Castaigne, and take a tramp +among the mountains somewhere or other? You used to be fond of fishing. +Take a cast or two at the trout in the Rangelys." + +"I don't care for fishing any more," I answered, without a shade of +annoyance in my voice. + +"You used to be fond of everything," he continued; "athletics, yachting, +shooting, riding--" + +"I have never cared to ride since my fall," I said quietly. + +"Ah, yes, your fall," he repeated, looking away from me. + +I thought this nonsense had gone far enough, so I brought the +conversation back to Mr. Wilde; but he was scanning my face again in a +manner highly offensive to me. + +"Mr. Wilde," he repeated, "do you know what he did this afternoon? He +came downstairs and nailed a sign over the hall door next to mine; it +read: + +"MR. WILDE, +REPAIRER OF REPUTATIONS. +Third Bell. + +"Do you know what a Repairer of Reputations can be?" + +"I do," I replied, suppressing the rage within. + +"Oh," he said again. + +Louis and Constance came strolling by and stopped to ask if we would join +them. Hawberk looked at his watch. At the same moment a puff of smoke +shot from the casemates of Castle William, and the boom of the sunset gun +rolled across the water and was re-echoed from the Highlands opposite. +The flag came running down from the flag-pole, the bugles sounded on the +white decks of the warships, and the first electric light sparkled out +from the Jersey shore. + +As I turned into the city with Hawberk I heard Constance murmur something +to Louis which I did not understand; but Louis whispered "My darling," in +reply; and again, walking ahead with Hawberk through the square I heard a +murmur of "sweetheart," and "my own Constance," and I knew the time had +nearly arrived when I should speak of important matters with my cousin +Louis. + + + + +III + +One morning early in May I stood before the steel safe in my bedroom, +trying on the golden jewelled crown. The diamonds flashed fire as I +turned to the mirror, and the heavy beaten gold burned like a halo about +my head. I remembered Camilla's agonized scream and the awful words +echoing through the dim streets of Carcosa. They were the last lines in +the first act, and I dared not think of what followed--dared not, even +in the spring sunshine, there in my own room, surrounded with familiar +objects, reassured by the bustle from the street and the voices of the +servants in the hallway outside. For those poisoned words had dropped +slowly into my heart, as death-sweat drops upon a bed-sheet and is +absorbed. Trembling, I put the diadem from my head and wiped my forehead, +but I thought of Hastur and of my own rightful ambition, and I remembered +Mr. Wilde as I had last left him, his face all torn and bloody from the +claws of that devil's creature, and what he said--ah, what he said. The +alarm bell in the safe began to whirr harshly, and I knew my time was up; +but I would not heed it, and replacing the flashing circlet upon my head +I turned defiantly to the mirror. I stood for a long time absorbed in the +changing expression of my own eyes. The mirror reflected a face which was +like my own, but whiter, and so thin that I hardly recognized it And all +the time I kept repeating between my clenched teeth, "The day has come! +the day has come!" while the alarm in the safe whirred and clamoured, and +the diamonds sparkled and flamed above my brow. I heard a door open but +did not heed it. It was only when I saw two faces in the mirror:--it was +only when another face rose over my shoulder, and two other eyes met +mine. I wheeled like a flash and seized a long knife from my +dressing-table, and my cousin sprang back very pale, crying: "Hildred! +for God's sake!" then as my hand fell, he said: "It is I, Louis, don't +you know me?" I stood silent. I could not have spoken for my life. He +walked up to me and took the knife from my hand. + +"What is all this?" he inquired, in a gentle voice. "Are you ill?" + +"No," I replied. But I doubt if he heard me. + +"Come, come, old fellow," he cried, "take off that brass crown and toddle +into the study. Are you going to a masquerade? What's all this theatrical +tinsel anyway?" + +I was glad he thought the crown was made of brass and paste, yet I didn't +like him any the better for thinking so. I let him take it from my hand, +knowing it was best to humour him. He tossed the splendid diadem in the +air, and catching it, turned to me smiling. + +"It's dear at fifty cents," he said. "What's it for?" + +I did not answer, but took the circlet from his hands, and placing it in +the safe shut the massive steel door. The alarm ceased its infernal din +at once. He watched me curiously, but did not seem to notice the sudden +ceasing of the alarm. He did, however, speak of the safe as a biscuit +box. Fearing lest he might examine the combination I led the way into my +study. Louis threw himself on the sofa and flicked at flies with his +eternal riding-whip. He wore his fatigue uniform with the braided jacket +and jaunty cap, and I noticed that his riding-boots were all splashed +with red mud. + +"Where have you been?" I inquired. + +"Jumping mud creeks in Jersey," he said. "I haven't had time to change +yet; I was rather in a hurry to see you. Haven't you got a glass of +something? I'm dead tired; been in the saddle twenty-four hours." + +I gave him some brandy from my medicinal store, which he drank with a +grimace. + +"Damned bad stuff," he observed. "I'll give you an address where they +sell brandy that is brandy." + +"It's good enough for my needs," I said indifferently. "I use it to rub +my chest with." He stared and flicked at another fly. + +"See here, old fellow," he began, "I've got something to suggest to you. +It's four years now that you've shut yourself up here like an owl, never +going anywhere, never taking any healthy exercise, never doing a damn +thing but poring over those books up there on the mantelpiece." + +He glanced along the row of shelves. "Napoleon, Napoleon, Napoleon!" he +read. "For heaven's sake, have you nothing but Napoleons there?" + +"I wish they were bound in gold," I said. "But wait, yes, there is +another book, _The King in Yellow_." I looked him steadily in the +eye. + +"Have you never read it?" I asked. + +"I? No, thank God! I don't want to be driven crazy." + +I saw he regretted his speech as soon as he had uttered it. There is only +one word which I loathe more than I do lunatic and that word is crazy. +But I controlled myself and asked him why he thought _The King in +Yellow_ dangerous. + +"Oh, I don't know," he said, hastily. "I only remember the excitement it +created and the denunciations from pulpit and Press. I believe the author +shot himself after bringing forth this monstrosity, didn't he?" + +"I understand he is still alive," I answered. + +"That's probably true," he muttered; "bullets couldn't kill a fiend like +that." + +"It is a book of great truths," I said. + +"Yes," he replied, "of 'truths' which send men frantic and blast their +lives. I don't care if the thing is, as they say, the very supreme +essence of art. It's a crime to have written it, and I for one shall +never open its pages." + +"Is that what you have come to tell me?" I asked. + +"No," he said, "I came to tell you that I am going to be married." + +I believe for a moment my heart ceased to beat, but I kept my eyes on his +face. + +"Yes," he continued, smiling happily, "married to the sweetest girl on +earth." + +"Constance Hawberk," I said mechanically. + +"How did you know?" he cried, astonished. "I didn't know it myself until +that evening last April, when we strolled down to the embankment before +dinner." + +"When is it to be?" I asked. + +"It was to have been next September, but an hour ago a despatch came +ordering our regiment to the Presidio, San Francisco. We leave at noon +to-morrow. To-morrow," he repeated. "Just think, Hildred, to-morrow I +shall be the happiest fellow that ever drew breath in this jolly world, +for Constance will go with me." + +I offered him my hand in congratulation, and he seized and shook it like +the good-natured fool he was--or pretended to be. + +"I am going to get my squadron as a wedding present," he rattled on. +"Captain and Mrs. Louis Castaigne, eh, Hildred?" + +Then he told me where it was to be and who were to be there, and made me +promise to come and be best man. I set my teeth and listened to his +boyish chatter without showing what I felt, but-- + +I was getting to the limit of my endurance, and when he jumped up, and, +switching his spurs till they jingled, said he must go, I did not detain +him. + +"There's one thing I want to ask of you," I said quietly. + +"Out with it, it's promised," he laughed. + +"I want you to meet me for a quarter of an hour's talk to-night." + +"Of course, if you wish," he said, somewhat puzzled. "Where?" + +"Anywhere, in the park there." + +"What time, Hildred?" + +"Midnight." + +"What in the name of--" he began, but checked himself and laughingly +assented. I watched him go down the stairs and hurry away, his sabre +banging at every stride. He turned into Bleecker Street, and I knew he +was going to see Constance. I gave him ten minutes to disappear and then +followed in his footsteps, taking with me the jewelled crown and the +silken robe embroidered with the Yellow Sign. When I turned into Bleecker +Street, and entered the doorway which bore the sign-- + +MR. WILDE, +REPAIRER OF REPUTATIONS. +Third Bell. + +I saw old Hawberk moving about in his shop, and imagined I heard +Constance's voice in the parlour; but I avoided them both and hurried up +the trembling stairways to Mr. Wilde's apartment. I knocked and entered +without ceremony. Mr. Wilde lay groaning on the floor, his face covered +with blood, his clothes torn to shreds. Drops of blood were scattered +about over the carpet, which had also been ripped and frayed in the +evidently recent struggle. + +"It's that cursed cat," he said, ceasing his groans, and turning his +colourless eyes to me; "she attacked me while I was asleep. I believe she +will kill me yet." + +This was too much, so I went into the kitchen, and, seizing a hatchet +from the pantry, started to find the infernal beast and settle her then +and there. My search was fruitless, and after a while I gave it up and +came back to find Mr. Wilde squatting on his high chair by the table. He +had washed his face and changed his clothes. The great furrows which the +cat's claws had ploughed up in his face he had filled with collodion, and +a rag hid the wound in his throat. I told him I should kill the cat when +I came across her, but he only shook his head and turned to the open +ledger before him. He read name after name of the people who had come to +him in regard to their reputation, and the sums he had amassed were +startling. + +"I put on the screws now and then," he explained. + +"One day or other some of these people will assassinate you," I insisted. + +"Do you think so?" he said, rubbing his mutilated ears. + +It was useless to argue with him, so I took down the manuscript entitled +Imperial Dynasty of America, for the last time I should ever take it down +in Mr. Wilde's study. I read it through, thrilling and trembling with +pleasure. When I had finished Mr. Wilde took the manuscript and, turning +to the dark passage which leads from his study to his bed-chamber, +called out in a loud voice, "Vance." Then for the first time, I noticed a +man crouching there in the shadow. How I had overlooked him during my +search for the cat, I cannot imagine. + +"Vance, come in," cried Mr. Wilde. + +The figure rose and crept towards us, and I shall never forget the face +that he raised to mine, as the light from the window illuminated it. + +"Vance, this is Mr. Castaigne," said Mr. Wilde. Before he had finished +speaking, the man threw himself on the ground before the table, crying +and grasping, "Oh, God! Oh, my God! Help me! Forgive me! Oh, Mr. +Castaigne, keep that man away. You cannot, you cannot mean it! You are +different--save me! I am broken down--I was in a madhouse and now--when +all was coming right--when I had forgotten the King--the King in Yellow +and--but I shall go mad again--I shall go mad--" + +His voice died into a choking rattle, for Mr. Wilde had leapt on him and +his right hand encircled the man's throat. When Vance fell in a heap on +the floor, Mr. Wilde clambered nimbly into his chair again, and rubbing +his mangled ears with the stump of his hand, turned to me and asked me +for the ledger. I reached it down from the shelf and he opened it. After +a moment's searching among the beautifully written pages, he coughed +complacently, and pointed to the name Vance. + +"Vance," he read aloud, "Osgood Oswald Vance." At the sound of his name, +the man on the floor raised his head and turned a convulsed face to Mr. +Wilde. His eyes were injected with blood, his lips tumefied. "Called +April 28th," continued Mr. Wilde. "Occupation, cashier in the Seaforth +National Bank; has served a term of forgery at Sing Sing, from whence he +was transferred to the Asylum for the Criminal Insane. Pardoned by the +Governor of New York, and discharged from the Asylum, January 19, 1918. +Reputation damaged at Sheepshead Bay. Rumours that he lives beyond his +income. Reputation to be repaired at once. Retainer $1,500. + +"Note.--Has embezzled sums amounting to $30,000 since March 20, 1919, +excellent family, and secured present position through uncle's influence. +Father, President of Seaforth Bank." + +I looked at the man on the floor. + +"Get up, Vance," said Mr. Wilde in a gentle voice. Vance rose as if +hypnotized. "He will do as we suggest now," observed Mr. Wilde, and +opening the manuscript, he read the entire history of the Imperial +Dynasty of America. Then in a kind and soothing murmur he ran over the +important points with Vance, who stood like one stunned. His eyes were so +blank and vacant that I imagined he had become half-witted, and remarked +it to Mr. Wilde who replied that it was of no consequence anyway. Very +patiently we pointed out to Vance what his share in the affair would be, +and he seemed to understand after a while. Mr. Wilde explained the +manuscript, using several volumes on Heraldry, to substantiate the result +of his researches. He mentioned the establishment of the Dynasty in +Carcosa, the lakes which connected Hastur, Aldebaran and the mystery of +the Hyades. He spoke of Cassilda and Camilla, and sounded the cloudy +depths of Demhe, and the Lake of Hali. "The scolloped tatters of the King +in Yellow must hide Yhtill forever," he muttered, but I do not believe +Vance heard him. Then by degrees he led Vance along the ramifications of +the Imperial family, to Uoht and Thale, from Naotalba and Phantom of +Truth, to Aldones, and then tossing aside his manuscript and notes, he +began the wonderful story of the Last King. Fascinated and thrilled I +watched him. He threw up his head, his long arms were stretched out in a +magnificent gesture of pride and power, and his eyes blazed deep in their +sockets like two emeralds. Vance listened stupefied. As for me, when at +last Mr. Wilde had finished, and pointing to me, cried, "The cousin of +the King!" my head swam with excitement. + +Controlling myself with a superhuman effort, I explained to Vance why I +alone was worthy of the crown and why my cousin must be exiled or die. +I made him understand that my cousin must never marry, even after +renouncing all his claims, and how that least of all he should marry the +daughter of the Marquis of Avonshire and bring England into the question. +I showed him a list of thousands of names which Mr. Wilde had drawn up; +every man whose name was there had received the Yellow Sign which no +living human being dared disregard. The city, the state, the whole land, +were ready to rise and tremble before the Pallid Mask. + +The time had come, the people should know the son of Hastur, and the +whole world bow to the black stars which hang in the sky over Carcosa. + +Vance leaned on the table, his head buried in his hands. Mr. Wilde drew +a rough sketch on the margin of yesterday's _Herald_ with a bit of +lead pencil. It was a plan of Hawberk's rooms. Then he wrote out the +order and affixed the seal, and shaking like a palsied man I signed my +first writ of execution with my name Hildred-Rex. + +Mr. Wilde clambered to the floor and unlocking the cabinet, took a long +square box from the first shelf. This he brought to the table and opened. +A new knife lay in the tissue paper inside and I picked it up and handed +it to Vance, along with the order and the plan of Hawberk's apartment. +Then Mr. Wilde told Vance he could go; and he went, shambling like an +outcast of the slums. + +I sat for a while watching the daylight fade behind the square tower of +the Judson Memorial Church, and finally, gathering up the manuscript and +notes, took my hat and started for the door. + +Mr. Wilde watched me in silence. When I had stepped into the hall I +looked back. Mr. Wilde's small eyes were still fixed on me. Behind him, +the shadows gathered in the fading light. Then I closed the door behind +me and went out into the darkening streets. + +I had eaten nothing since breakfast, but I was not hungry. A wretched, +half-starved creature, who stood looking across the street at the Lethal +Chamber, noticed me and came up to tell me a tale of misery. I gave him +money, I don't know why, and he went away without thanking me. An +hour later another outcast approached and whined his story. I had a blank +bit of paper in my pocket, on which was traced the Yellow Sign, and I +handed it to him. He looked at it stupidly for a moment, and then with an +uncertain glance at me, folded it with what seemed to me exaggerated care +and placed it in his bosom. + +The electric lights were sparkling among the trees, and the new moon +shone in the sky above the Lethal Chamber. It was tiresome waiting in the +square; I wandered from the Marble Arch to the artillery stables and back +again to the lotos fountain. The flowers and grass exhaled a fragrance +which troubled me. The jet of the fountain played in the moonlight, and +the musical splash of falling drops reminded me of the tinkle of chained +mail in Hawberk's shop. But it was not so fascinating, and the dull +sparkle of the moonlight on the water brought no such sensations of +exquisite pleasure, as when the sunshine played over the polished steel +of a corselet on Hawberk's knee. I watched the bats darting and turning +above the water plants in the fountain basin, but their rapid, jerky +flight set my nerves on edge, and I went away again to walk aimlessly to +and fro among the trees. + +The artillery stables were dark, but in the cavalry barracks the +officers' windows were brilliantly lighted, and the sallyport was +constantly filled with troopers in fatigue, carrying straw and harness +and baskets filled with tin dishes. + +Twice the mounted sentry at the gates was changed while I wandered up and +down the asphalt walk. I looked at my watch. It was nearly time. The +lights in the barracks went out one by one, the barred gate was closed, +and every minute or two an officer passed in through the side wicket, +leaving a rattle of accoutrements and a jingle of spurs on the night air. +The square had become very silent. The last homeless loiterer had been +driven away by the grey-coated park policeman, the car tracks along +Wooster Street were deserted, and the only sound which broke the +stillness was the stamping of the sentry's horse and the ring of his +sabre against the saddle pommel. In the barracks, the officers' quarters +were still lighted, and military servants passed and repassed before the +bay windows. Twelve o'clock sounded from the new spire of St. Francis +Xavier, and at the last stroke of the sad-toned bell a figure passed +through the wicket beside the portcullis, returned the salute of the +sentry, and crossing the street entered the square and advanced toward +the Benedick apartment house. + +"Louis," I called. + +The man pivoted on his spurred heels and came straight toward me. + +"Is that you, Hildred?" + +"Yes, you are on time." + +I took his offered hand, and we strolled toward the Lethal Chamber. + +He rattled on about his wedding and the graces of Constance, and their +future prospects, calling my attention to his captain's shoulder-straps, +and the triple gold arabesque on his sleeve and fatigue cap. I believe I +listened as much to the music of his spurs and sabre as I did to his +boyish babble, and at last we stood under the elms on the Fourth Street +corner of the square opposite the Lethal Chamber. Then he laughed and +asked me what I wanted with him. I motioned him to a seat on a bench +under the electric light, and sat down beside him. He looked at me +curiously, with that same searching glance which I hate and fear so in +doctors. I felt the insult of his look, but he did not know it, and I +carefully concealed my feelings. + +"Well, old chap," he inquired, "what can I do for you?" + +I drew from my pocket the manuscript and notes of the Imperial Dynasty +of America, and looking him in the eye said: + +"I will tell you. On your word as a soldier, promise me to read this +manuscript from beginning to end, without asking me a question. Promise +me to read these notes in the same way, and promise me to listen to what +I have to tell later." + +"I promise, if you wish it," he said pleasantly. "Give me the paper, +Hildred." + +He began to read, raising his eyebrows with a puzzled, whimsical air, +which made me tremble with suppressed anger. As he advanced his, eyebrows +contracted, and his lips seemed to form the word "rubbish." + +Then he looked slightly bored, but apparently for my sake read, with an +attempt at interest, which presently ceased to be an effort He started +when in the closely written pages he came to his own name, and when he +came to mine he lowered the paper, and looked sharply at me for a moment +But he kept his word, and resumed his reading, and I let the half-formed +question die on his lips unanswered. When he came to the end and read the +signature of Mr. Wilde, he folded the paper carefully and returned it to +me. I handed him the notes, and he settled back, pushing his fatigue cap +up to his forehead, with a boyish gesture, which I remembered so well in +school. I watched his face as he read, and when he finished I took the +notes with the manuscript, and placed them in my pocket. Then I unfolded +a scroll marked with the Yellow Sign. He saw the sign, but he did not +seem to recognize it, and I called his attention to it somewhat sharply. + +"Well," he said, "I see it. What is it?" + +"It is the Yellow Sign," I said angrily. + +"Oh, that's it, is it?" said Louis, in that flattering voice, which +Doctor Archer used to employ with me, and would probably have employed +again, had I not settled his affair for him. + +I kept my rage down and answered as steadily as possible, "Listen, you +have engaged your word?" + +"I am listening, old chap," he replied soothingly. + +I began to speak very calmly. + +"Dr. Archer, having by some means become possessed of the secret of the +Imperial Succession, attempted to deprive me of my right, alleging that +because of a fall from my horse four years ago, I had become mentally +deficient. He presumed to place me under restraint in his own house in +hopes of either driving me insane or poisoning me. I have not forgotten +it. I visited him last night and the interview was final." + +Louis turned quite pale, but did not move. I resumed triumphantly, "There +are yet three people to be interviewed in the interests of Mr. Wilde and +myself. They are my cousin Louis, Mr. Hawberk, and his daughter +Constance." + +Louis sprang to his feet and I arose also, and flung the paper marked +with the Yellow Sign to the ground. + +"Oh, I don't need that to tell you what I have to say," I cried, with a +laugh of triumph. "You must renounce the crown to me, do you hear, to +_me_." + +Louis looked at me with a startled air, but recovering himself said +kindly, "Of course I renounce the--what is it I must renounce?" + +"The crown," I said angrily. + +"Of course," he answered, "I renounce it. Come, old chap, I'll walk back +to your rooms with you." + +"Don't try any of your doctor's tricks on me," I cried, trembling with +fury. "Don't act as if you think I am insane." + +"What nonsense," he replied. "Come, it's getting late, Hildred." + +"No," I shouted, "you must listen. You cannot marry, I forbid it. Do you +hear? I forbid it. You shall renounce the crown, and in reward I grant +you exile, but if you refuse you shall die." + +He tried to calm me, but I was roused at last, and drawing my long knife +barred his way. + +Then I told him how they would find Dr. Archer in the cellar with his +throat open, and I laughed in his face when I thought of Vance and his +knife, and the order signed by me. + +"Ah, you are the King," I cried, "but I shall be King. Who are you to +keep me from Empire over all the habitable earth! I was born the cousin +of a king, but I shall be King!" + +Louis stood white and rigid before me. Suddenly a man came running up +Fourth Street, entered the gate of the Lethal Temple, traversed the path +to the bronze doors at full speed, and plunged into the death chamber +with the cry of one demented, and I laughed until I wept tears, for I had +recognized Vance, and knew that Hawberk and his daughter were no longer +in my way. + +"Go," I cried to Louis, "you have ceased to be a menace. You will never +marry Constance now, and if you marry any one else in your exile, I will +visit you as I did my doctor last night. Mr. Wilde takes charge of you +to-morrow." Then I turned and darted into South Fifth Avenue, and with a +cry of terror Louis dropped his belt and sabre and followed me like the +wind. I heard him close behind me at the corner of Bleecker Street, and I +dashed into the doorway under Hawberk's sign. He cried, "Halt, or I +fire!" but when he saw that I flew up the stairs leaving Hawberk's shop +below, he left me, and I heard him hammering and shouting at their door +as though it were possible to arouse the dead. + +Mr. Wilde's door was open, and I entered crying, "It is done, it is done! +Let the nations rise and look upon their King!" but I could not find Mr. +Wilde, so I went to the cabinet and took the splendid diadem from its +case. Then I drew on the white silk robe, embroidered with the Yellow +Sign, and placed the crown upon my head. At last I was King, King by my +right in Hastur, King because I knew the mystery of the Hyades, and my +mind had sounded the depths of the Lake of Hali. I was King! The first +grey pencillings of dawn would raise a tempest which would shake two +hemispheres. Then as I stood, my every nerve pitched to the highest +tension, faint with the joy and splendour of my thought, without, in the +dark passage, a man groaned. + +I seized the tallow dip and sprang to the door. The cat passed me like a +demon, and the tallow dip went out, but my long knife flew swifter than +she, and I heard her screech, and I knew that my knife had found her. For +a moment I listened to her tumbling and thumping about in the darkness, +and then when her frenzy ceased, I lighted a lamp and raised it over my +head. Mr. Wilde lay on the floor with his throat torn open. At first I +thought he was dead, but as I looked, a green sparkle came into his +sunken eyes, his mutilated hand trembled, and then a spasm stretched his +mouth from ear to ear. For a moment my terror and despair gave place to +hope, but as I bent over him his eyeballs rolled clean around in his +head, and he died. Then while I stood, transfixed with rage and despair, +seeing my crown, my empire, every hope and every ambition, my very life, +lying prostrate there with the dead master, _they_ came, seized me +from behind, and bound me until my veins stood out like cords, and my +voice failed with the paroxysms of my frenzied screams. But I still +raged, bleeding and infuriated among them, and more than one policeman +felt my sharp teeth. Then when I could no longer move they came nearer; I +saw old Hawberk, and behind him my cousin Louis' ghastly face, and +farther away, in the corner, a woman, Constance, weeping softly. + +"Ah! I see it now!" I shrieked. "You have seized the throne and the +empire. Woe! woe to you who are crowned with the crown of the King in +Yellow!" + + +[EDITOR'S NOTE.--Mr. Castaigne died yesterday in the Asylum for Criminal +Insane.] + + + + +THE MASK + +CAMILLA: You, sir, should unmask. + +STRANGER: Indeed? + +CASSILDA: Indeed it's time. We all have laid aside disguise but you. + +STRANGER: I wear no mask. + +CAMILLA: (Terrified, aside to Cassilda.) No mask? No mask! + +_The King in Yellow, Act I, Scene 2_. + + +I + +Although I knew nothing of chemistry, I listened fascinated. He picked up +an Easter lily which Geneviève had brought that morning from Notre Dame, +and dropped it into the basin. Instantly the liquid lost its crystalline +clearness. For a second the lily was enveloped in a milk-white foam, +which disappeared, leaving the fluid opalescent. Changing tints of orange +and crimson played over the surface, and then what seemed to be a ray of +pure sunlight struck through from the bottom where the lily was resting. +At the same instant he plunged his hand into the basin and drew out the +flower. "There is no danger," he explained, "if you choose the right +moment. That golden ray is the signal." + +He held the lily toward me, and I took it in my hand. It had turned to +stone, to the purest marble. + +"You see," he said, "it is without a flaw. What sculptor could reproduce +it?" + +The marble was white as snow, but in its depths the veins of the lily +were tinged with palest azure, and a faint flush lingered deep in its +heart. + +"Don't ask me the reason of that," he smiled, noticing my wonder. "I have +no idea why the veins and heart are tinted, but they always are. +Yesterday I tried one of Geneviève's gold-fish,--there it is." + +The fish looked as if sculptured in marble. But if you held it to the +light the stone was beautifully veined with a faint blue, and from +somewhere within came a rosy light like the tint which slumbers in an +opal. I looked into the basin. Once more it seemed filled with clearest +crystal. + +"If I should touch it now?" I demanded. + +"I don't know," he replied, "but you had better not try." + +"There is one thing I'm curious about," I said, "and that is where the +ray of sunlight came from." + +"It looked like a sunbeam true enough," he said. "I don't know, it always +comes when I immerse any living thing. Perhaps," he continued, smiling, +"perhaps it is the vital spark of the creature escaping to the source +from whence it came." + +I saw he was mocking, and threatened him with a mahl-stick, but he only +laughed and changed the subject. + +"Stay to lunch. Geneviève will be here directly." + +"I saw her going to early mass," I said, "and she looked as fresh and +sweet as that lily--before you destroyed it." + +"Do you think I destroyed it?" said Boris gravely. + +"Destroyed, preserved, how can we tell?" + +We sat in the corner of a studio near his unfinished group of the +"Fates." He leaned back on the sofa, twirling a sculptor's chisel and +squinting at his work. + +"By the way," he said, "I have finished pointing up that old academic +Ariadne, and I suppose it will have to go to the Salon. It's all I have +ready this year, but after the success the 'Madonna' brought me I feel +ashamed to send a thing like that." + +The "Madonna," an exquisite marble for which Geneviève had sat, had been +the sensation of last year's Salon. I looked at the Ariadne. It was a +magnificent piece of technical work, but I agreed with Boris that the +world would expect something better of him than that. Still, it was +impossible now to think of finishing in time for the Salon that splendid +terrible group half shrouded in the marble behind me. The "Fates" would +have to wait. + +We were proud of Boris Yvain. We claimed him and he claimed us on the +strength of his having been born in America, although his father was +French and his mother was a Russian. Every one in the Beaux Arts called +him Boris. And yet there were only two of us whom he addressed in the +same familiar way--Jack Scott and myself. + +Perhaps my being in love with Geneviève had something to do with his +affection for me. Not that it had ever been acknowledged between us. But +after all was settled, and she had told me with tears in her eyes that it +was Boris whom she loved, I went over to his house and congratulated him. +The perfect cordiality of that interview did not deceive either of us, I +always believed, although to one at least it was a great comfort. I do +not think he and Geneviève ever spoke of the matter together, but Boris +knew. + +Geneviève was lovely. The Madonna-like purity of her face might have been +inspired by the Sanctus in Gounod's Mass. But I was always glad when she +changed that mood for what we called her "April Manoeuvres." She was +often as variable as an April day. In the morning grave, dignified and +sweet, at noon laughing, capricious, at evening whatever one least +expected. I preferred her so rather than in that Madonna-like +tranquillity which stirred the depths of my heart. I was dreaming of +Geneviève when he spoke again. + +"What do you think of my discovery, Alec?" + +"I think it wonderful." + +"I shall make no use of it, you know, beyond satisfying my own curiosity +so far as may be, and the secret will die with me." + +"It would be rather a blow to sculpture, would it not? We painters lose +more than we ever gain by photography." + +Boris nodded, playing with the edge of the chisel. + +"This new vicious discovery would corrupt the world of art. No, I shall +never confide the secret to any one," he said slowly. + +It would be hard to find any one less informed about such phenomena than +myself; but of course I had heard of mineral springs so saturated with +silica that the leaves and twigs which fell into them were turned to +stone after a time. I dimly comprehended the process, how the silica +replaced the vegetable matter, atom by atom, and the result was a +duplicate of the object in stone. This, I confess, had never interested +me greatly, and as for the ancient fossils thus produced, they disgusted +me. Boris, it appeared, feeling curiosity instead of repugnance, had +investigated the subject, and had accidentally stumbled on a solution +which, attacking the immersed object with a ferocity unheard of, in a +second did the work of years. This was all I could make out of the +strange story he had just been telling me. He spoke again after a long +silence. + +"I am almost frightened when I think what I have found. Scientists would +go mad over the discovery. It was so simple too; it discovered itself. +When I think of that formula, and that new element precipitated in +metallic scales--" + +"What new element?" + +"Oh, I haven't thought of naming it, and I don't believe I ever shall. +There are enough precious metals now in the world to cut throats over." + +I pricked up my ears. "Have you struck gold, Boris?" + +"No, better;--but see here, Alec!" he laughed, starting up. "You and I +have all we need in this world. Ah! how sinister and covetous you look +already!" I laughed too, and told him I was devoured by the desire for +gold, and we had better talk of something else; so when Geneviève came in +shortly after, we had turned our backs on alchemy. + +Geneviève was dressed in silvery grey from head to foot. The light +glinted along the soft curves of her fair hair as she turned her cheek to +Boris; then she saw me and returned my greeting. She had never before +failed to blow me a kiss from the tips of her white fingers, and I +promptly complained of the omission. She smiled and held out her hand, +which dropped almost before it had touched mine; then she said, looking +at Boris-- + +"You must ask Alec to stay for luncheon." This also was something new. +She had always asked me herself until to-day. + +"I did," said Boris shortly. + +"And you said yes, I hope?" She turned to me with a charming conventional +smile. I might have been an acquaintance of the day before yesterday. I +made her a low bow. "J'avais bien l'honneur, madame," but refusing to +take up our usual bantering tone, she murmured a hospitable commonplace +and disappeared. Boris and I looked at one another. + +"I had better go home, don't you think?" I asked. + +"Hanged if I know," he replied frankly. + +While we were discussing the advisability of my departure Geneviève +reappeared in the doorway without her bonnet. She was wonderfully +beautiful, but her colour was too deep and her lovely eyes were too +bright. She came straight up to me and took my arm. + +"Luncheon is ready. Was I cross, Alec? I thought I had a headache, but I +haven't. Come here, Boris;" and she slipped her other arm through his. +"Alec knows that after you there is no one in the world whom I like as +well as I like him, so if he sometimes feels snubbed it won't hurt him." + +"À la bonheur!" I cried, "who says there are no thunderstorms in April?" + +"Are you ready?" chanted Boris. "Aye ready;" and arm-in-arm we raced into +the dining-room, scandalizing the servants. After all we were not so much +to blame; Geneviève was eighteen, Boris was twenty-three, and I not quite +twenty-one. + + + + +II + +Some work that I was doing about this time on the decorations for +Geneviève's boudoir kept me constantly at the quaint little hotel in the +Rue Sainte-Cécile. Boris and I in those days laboured hard but as we +pleased, which was fitfully, and we all three, with Jack Scott, idled a +great deal together. + +One quiet afternoon I had been wandering alone over the house examining +curios, prying into odd corners, bringing out sweetmeats and cigars from +strange hiding-places, and at last I stopped in the bathing-room. Boris, +all over clay, stood there washing his hands. + +The room was built of rose-coloured marble excepting the floor, which was +tessellated in rose and grey. In the centre was a square pool sunken +below the surface of the floor; steps led down into it, sculptured +pillars supported a frescoed ceiling. A delicious marble Cupid appeared +to have just alighted on his pedestal at the upper end of the room. The +whole interior was Boris' work and mine. Boris, in his working-clothes of +white canvas, scraped the traces of clay and red modelling wax from his +handsome hands, and coquetted over his shoulder with the Cupid. + +"I see you," he insisted, "don't try to look the other way and pretend +not to see me. You know who made you, little humbug!" + +It was always my rôle to interpret Cupid's sentiments in these +conversations, and when my turn came I responded in such a manner, that +Boris seized my arm and dragged me toward the pool, declaring he would +duck me. Next instant he dropped my arm and turned pale. "Good God!" he +said, "I forgot the pool is full of the solution!" + +I shivered a little, and dryly advised him to remember better where he +had stored the precious liquid. + +"In Heaven's name, why do you keep a small lake of that gruesome stuff +here of all places?" I asked. + +"I want to experiment on something large," he replied. + +"On me, for instance?" + +"Ah! that came too close for jesting; but I do want to watch the action +of that solution on a more highly organized living body; there is that +big white rabbit," he said, following me into the studio. + +Jack Scott, wearing a paint-stained jacket, came wandering in, +appropriated all the Oriental sweetmeats he could lay his hands on, +looted the cigarette case, and finally he and Boris disappeared together +to visit the Luxembourg Gallery, where a new silver bronze by Rodin and a +landscape of Monet's were claiming the exclusive attention of artistic +France. I went back to the studio, and resumed my work. It was a +Renaissance screen, which Boris wanted me to paint for Geneviève's +boudoir. But the small boy who was unwillingly dawdling through a series +of poses for it, to-day refused all bribes to be good. He never rested an +instant in the same position, and inside of five minutes I had as many +different outlines of the little beggar. + +"Are you posing, or are you executing a song and dance, my friend?" I +inquired. + +"Whichever monsieur pleases," he replied, with an angelic smile. + +Of course I dismissed him for the day, and of course I paid him for the +full time, that being the way we spoil our models. + +After the young imp had gone, I made a few perfunctory daubs at my work, +but was so thoroughly out of humour, that it took me the rest of the +afternoon to undo the damage I had done, so at last I scraped my palette, +stuck my brushes in a bowl of black soap, and strolled into the +smoking-room. I really believe that, excepting Geneviève's apartments, no +room in the house was so free from the perfume of tobacco as this one. It +was a queer chaos of odds and ends, hung with threadbare tapestry. A +sweet-toned old spinet in good repair stood by the window. There were +stands of weapons, some old and dull, others bright and modern, festoons +of Indian and Turkish armour over the mantel, two or three good pictures, +and a pipe-rack. It was here that we used to come for new sensations in +smoking. I doubt if any type of pipe ever existed which was not +represented in that rack. When we had selected one, we immediately +carried it somewhere else and smoked it; for the place was, on the whole, +more gloomy and less inviting than any in the house. But this afternoon, +the twilight was very soothing, the rugs and skins on the floor looked +brown and soft and drowsy; the big couch was piled with cushions--I found +my pipe and curled up there for an unaccustomed smoke in the +smoking-room. I had chosen one with a long flexible stem, and lighting it +fell to dreaming. After a while it went out, but I did not stir. I +dreamed on and presently fell asleep. + +I awoke to the saddest music I had ever heard. The room was quite dark, I +had no idea what time it was. A ray of moonlight silvered one edge of the +old spinet, and the polished wood seemed to exhale the sounds as perfume +floats above a box of sandalwood. Some one rose in the darkness, and came +away weeping quietly, and I was fool enough to cry out "Geneviève!" + +She dropped at my voice, and, I had time to curse myself while I made a +light and tried to raise her from the floor. She shrank away with a +murmur of pain. She was very quiet, and asked for Boris. I carried her to +the divan, and went to look for him, but he was not in the house, and the +servants were gone to bed. Perplexed and anxious, I hurried back to +Geneviève. She lay where I had left her, looking very white. + +"I can't find Boris nor any of the servants," I said. + +"I know," she answered faintly, "Boris has gone to Ept with Mr. Scott. I +did not remember when I sent you for him just now." + +"But he can't get back in that case before to-morrow afternoon, and--are +you hurt? Did I frighten you into falling? What an awful fool I am, but I +was only half awake." + +"Boris thought you had gone home before dinner. Do please excuse us for +letting you stay here all this time." + +"I have had a long nap," I laughed, "so sound that I did not know whether +I was still asleep or not when I found myself staring at a figure that +was moving toward me, and called out your name. Have you been trying the +old spinet? You must have played very softly." + +I would tell a thousand more lies worse than that one to see the look of +relief that came into her face. She smiled adorably, and said in her +natural voice: "Alec, I tripped on that wolf's head, and I think my ankle +is sprained. Please call Marie, and then go home." + +I did as she bade me, and left her there when the maid came in. + + + + +III + +At noon next day when I called, I found Boris walking restlessly about +his studio. + +"Geneviève is asleep just now," he told me, "the sprain is nothing, but +why should she have such a high fever? The doctor can't account for it; +or else he will not," he muttered. + +"Geneviève has a fever?" I asked. + +"I should say so, and has actually been a little light-headed at +intervals all night. The idea! gay little Geneviève, without a care in +the world,--and she keeps saying her heart's broken, and she wants to +die!" + +My own heart stood still. + +Boris leaned against the door of his studio, looking down, his hands in +his pockets, his kind, keen eyes clouded, a new line of trouble drawn +"over the mouth's good mark, that made the smile." The maid had orders to +summon him the instant Geneviève opened her eyes. We waited and waited, +and Boris, growing restless, wandered about, fussing with modelling wax +and red clay. Suddenly he started for the next room. "Come and see my +rose-coloured bath full of death!" he cried. + +"Is it death?" I asked, to humour his mood. + +"You are not prepared to call it life, I suppose," he answered. As he +spoke he plucked a solitary goldfish squirming and twisting out of its +globe. "We'll send this one after the other--wherever that is," he said. +There was feverish excitement in his voice. A dull weight of fever lay on +my limbs and on my brain as I followed him to the fair crystal pool with +its pink-tinted sides; and he dropped the creature in. Falling, its +scales flashed with a hot orange gleam in its angry twistings and +contortions; the moment it struck the liquid it became rigid and sank +heavily to the bottom. Then came the milky foam, the splendid hues +radiating on the surface and then the shaft of pure serene light broke +through from seemingly infinite depths. Boris plunged in his hand and +drew out an exquisite marble thing, blue-veined, rose-tinted, and +glistening with opalescent drops. + +"Child's play," he muttered, and looked wearily, longingly at me,--as if +I could answer such questions! But Jack Scott came in and entered into +the "game," as he called it, with ardour. Nothing would do but to try the +experiment on the white rabbit then and there. I was willing that Boris +should find distraction from his cares, but I hated to see the life go +out of a warm, living creature and I declined to be present. Picking up a +book at random, I sat down in the studio to read. Alas! I had found +_The King in Yellow_. After a few moments, which seemed ages, I was +putting it away with a nervous shudder, when Boris and Jack came in +bringing their marble rabbit. At the same time the bell rang above, and a +cry came from the sick-room. Boris was gone like a flash, and the next +moment he called, "Jack, run for the doctor; bring him back with you. +Alec, come here." + +I went and stood at her door. A frightened maid came out in haste and ran +away to fetch some remedy. Geneviève, sitting bolt upright, with crimson +cheeks and glittering eyes, babbled incessantly and resisted Boris' +gentle restraint. He called me to help. At my first touch she sighed and +sank back, closing her eyes, and then--then--as we still bent above her, +she opened them again, looked straight into Boris' face--poor +fever-crazed girl!--and told her secret. At the same instant our three +lives turned into new channels; the bond that held us so long together +snapped for ever and a new bond was forged in its place, for she had +spoken my name, and as the fever tortured her, her heart poured out its +load of hidden sorrow. Amazed and dumb I bowed my head, while my face +burned like a live coal, and the blood surged in my ears, stupefying me +with its clamour. Incapable of movement, incapable of speech, I listened +to her feverish words in an agony of shame and sorrow. I could not +silence her, I could not look at Boris. Then I felt an arm upon my +shoulder, and Boris turned a bloodless face to mine. + +"It is not your fault, Alec; don't grieve so if she loves you--" but he +could not finish; and as the doctor stepped swiftly into the room, +saying--"Ah, the fever!" I seized Jack Scott and hurried him to the +street, saying, "Boris would rather be alone." We crossed the street to +our own apartments, and that night, seeing I was going to be ill too, he +went for the doctor again. The last thing I recollect with any +distinctness was hearing Jack say, "For Heaven's sake, doctor, what ails +him, to wear a face like that?" and I thought of _The King in +Yellow_ and the Pallid Mask. + +I was very ill, for the strain of two years which I had endured since +that fatal May morning when Geneviève murmured, "I love you, but I think +I love Boris best," told on me at last. I had never imagined that it +could become more than I could endure. Outwardly tranquil, I had deceived +myself. Although the inward battle raged night after night, and I, lying +alone in my room, cursed myself for rebellious thoughts unloyal to Boris +and unworthy of Geneviève, the morning always brought relief, and I +returned to Geneviève and to my dear Boris with a heart washed clean by +the tempests of the night. + +Never in word or deed or thought while with them had I betrayed my sorrow +even to myself. + +The mask of self-deception was no longer a mask for me, it was a part of +me. Night lifted it, laying bare the stifled truth below; but there was +no one to see except myself, and when the day broke the mask fell back +again of its own accord. These thoughts passed through my troubled mind +as I lay sick, but they were hopelessly entangled with visions of white +creatures, heavy as stone, crawling about in Boris' basin,--of the wolf's +head on the rug, foaming and snapping at Geneviève, who lay smiling +beside it. I thought, too, of the King in Yellow wrapped in the fantastic +colours of his tattered mantle, and that bitter cry of Cassilda, "Not +upon us, oh King, not upon us!" Feverishly I struggled to put it from me, +but I saw the lake of Hali, thin and blank, without a ripple or wind to +stir it, and I saw the towers of Carcosa behind the moon. Aldebaran, the +Hyades, Alar, Hastur, glided through the cloud-rifts which fluttered and +flapped as they passed like the scolloped tatters of the King in Yellow. +Among all these, one sane thought persisted. It never wavered, no matter +what else was going on in my disordered mind, that my chief reason for +existing was to meet some requirement of Boris and Geneviève. What this +obligation was, its nature, was never clear; sometimes it seemed to be +protection, sometimes support, through a great crisis. Whatever it seemed +to be for the time, its weight rested only on me, and I was never so ill +or so weak that I did not respond with my whole soul. There were always +crowds of faces about me, mostly strange, but a few I recognized, Boris +among them. Afterward they told me that this could not have been, but I +know that once at least he bent over me. It was only a touch, a faint +echo of his voice, then the clouds settled back on my senses, and I lost +him, but he _did_ stand there and bend over me _once_ at least. + +At last, one morning I awoke to find the sunlight falling across my bed, +and Jack Scott reading beside me. I had not strength enough to speak +aloud, neither could I think, much less remember, but I could smile +feebly, as Jack's eye met mine, and when he jumped up and asked eagerly +if I wanted anything, I could whisper, "Yes--Boris." Jack moved to the +head of my bed, and leaned down to arrange my pillow: I did not see his +face, but he answered heartily, "You must wait, Alec; you are too weak to +see even Boris." + +I waited and I grew strong; in a few days I was able to see whom I would, +but meanwhile I had thought and remembered. From the moment when all the +past grew clear again in my mind, I never doubted what I should do when +the time came, and I felt sure that Boris would have resolved upon the +same course so far as he was concerned; as for what pertained to me +alone, I knew he would see that also as I did. I no longer asked for any +one. I never inquired why no message came from them; why during the week +I lay there, waiting and growing stronger, I never heard their name +spoken. Preoccupied with my own searchings for the right way, and with my +feeble but determined fight against despair, I simply acquiesced in +Jack's reticence, taking for granted that he was afraid to speak of them, +lest I should turn unruly and insist on seeing them. Meanwhile I said +over and over to myself, how would it be when life began again for us +all? We would take up our relations exactly as they were before Geneviève +fell ill. Boris and I would look into each other's eyes, and there would +be neither rancour nor cowardice nor mistrust in that glance. I would be +with them again for a little while in the dear intimacy of their home, +and then, without pretext or explanation, I would disappear from their +lives for ever. Boris would know; Geneviève--the only comfort was that +she would never know. It seemed, as I thought it over, that I had found +the meaning of that sense of obligation which had persisted all through +my delirium, and the only possible answer to it. So, when I was quite +ready, I beckoned Jack to me one day, and said-- + +"Jack, I want Boris at once; and take my dearest greeting to +Geneviève...." + +When at last he made me understand that they were both dead, I fell into +a wild rage that tore all my little convalescent strength to atoms. I +raved and cursed myself into a relapse, from which I crawled forth some +weeks afterward a boy of twenty-one who believed that his youth was gone +for ever. I seemed to be past the capability of further suffering, and +one day when Jack handed me a letter and the keys to Boris' house, I took +them without a tremor and asked him to tell me all. It was cruel of me to +ask him, but there was no help for it, and he leaned wearily on his thin +hands, to reopen the wound which could never entirely heal. He began very +quietly-- + +"Alec, unless you have a clue that I know nothing about, you will not be +able to explain any more than I what has happened. I suspect that you +would rather not hear these details, but you must learn them, else I +would spare you the relation. God knows I wish I could be spared the +telling. I shall use few words. + +"That day when I left you in the doctor's care and came back to Boris, I +found him working on the 'Fates.' Geneviève, he said, was sleeping under +the influence of drugs. She had been quite out of her mind, he said. He +kept on working, not talking any more, and I watched him. Before long, I +saw that the third figure of the group--the one looking straight ahead, +out over the world--bore his face; not as you ever saw it, but as it +looked then and to the end. This is one thing for which I should like to +find an explanation, but I never shall. + +"Well, he worked and I watched him in silence, and we went on that way +until nearly midnight. Then we heard the door open and shut sharply, and +a swift rush in the next room. Boris sprang through the doorway and I +followed; but we were too late. She lay at the bottom of the pool, her +hands across her breast. Then Boris shot himself through the heart." Jack +stopped speaking, drops of sweat stood under his eyes, and his thin +cheeks twitched. "I carried Boris to his room. Then I went back and let +that hellish fluid out of the pool, and turning on all the water, washed +the marble clean of every drop. When at length I dared descend the steps, +I found her lying there as white as snow. At last, when I had decided +what was best to do, I went into the laboratory, and first emptied the +solution in the basin into the waste-pipe; then I poured the contents of +every jar and bottle after it. There was wood in the fire-place, so I +built a fire, and breaking the locks of Boris' cabinet I burnt every +paper, notebook and letter that I found there. With a mallet from the +studio I smashed to pieces all the empty bottles, then loading them into +a coal-scuttle, I carried them to the cellar and threw them over the +red-hot bed of the furnace. Six times I made the journey, and at last, +not a vestige remained of anything which might again aid in seeking for +the formula which Boris had found. Then at last I dared call the doctor. +He is a good man, and together we struggled to keep it from the public. +Without him I never could have succeeded. At last we got the servants +paid and sent away into the country, where old Rosier keeps them quiet +with stones of Boris' and Geneviève's travels in distant lands, from +whence they will not return for years. We buried Boris in the little +cemetery of Sèvres. The doctor is a good creature, and knows when to pity +a man who can bear no more. He gave his certificate of heart disease and +asked no questions of me." + +Then, lifting his head from his hands, he said, "Open the letter, Alec; +it is for us both." + +I tore it open. It was Boris' will dated a year before. He left +everything to Geneviève, and in case of her dying childless, I was to +take control of the house in the Rue Sainte-Cécile, and Jack Scott the +management at Ept. On our deaths the property reverted to his mother's +family in Russia, with the exception of the sculptured marbles executed +by himself. These he left to me. + +The page blurred under our eyes, and Jack got up and walked to the +window. Presently he returned and sat down again. I dreaded to hear what +he was going to say, but he spoke with the same simplicity and +gentleness. + +"Geneviève lies before the Madonna in the marble room. The Madonna bends +tenderly above her, and Geneviève smiles back into that calm face that +never would have been except for her." + +His voice broke, but he grasped my hand, saying, "Courage, Alec." Next +morning he left for Ept to fulfil his trust. + + + + +IV + +The same evening I took the keys and went into the house I had known so +well. Everything was in order, but the silence was terrible. Though I +went twice to the door of the marble room, I could not force myself to +enter. It was beyond my strength. I went into the smoking-room and sat +down before the spinet. A small lace handkerchief lay on the keys, and I +turned away, choking. It was plain I could not stay, so I locked every +door, every window, and the three front and back gates, and went away. +Next morning Alcide packed my valise, and leaving him in charge of my +apartments I took the Orient express for Constantinople. During the two +years that I wandered through the East, at first, in our letters, we +never mentioned Geneviève and Boris, but gradually their names crept in. +I recollect particularly a passage in one of Jack's letters replying to +one of mine-- + +"What you tell me of seeing Boris bending over you while you lay ill, and +feeling his touch on your face, and hearing his voice, of course troubles +me. This that you describe must have happened a fortnight after he died. +I say to myself that you were dreaming, that it was part of your +delirium, but the explanation does not satisfy me, nor would it you." + +Toward the end of the second year a letter came from Jack to me in India +so unlike anything that I had ever known of him that I decided to return +at once to Paris. He wrote: "I am well, and sell all my pictures as +artists do who have no need of money. I have not a care of my own, but I +am more restless than if I had. I am unable to shake off a strange +anxiety about you. It is not apprehension, it is rather a breathless +expectancy--of what, God knows! I can only say it is wearing me out. +Nights I dream always of you and Boris. I can never recall anything +afterward, but I wake in the morning with my heart beating, and all day +the excitement increases until I fall asleep at night to recall the same +experience. I am quite exhausted by it, and have determined to break up +this morbid condition. I must see you. Shall I go to Bombay, or will you +come to Paris?" + +I telegraphed him to expect me by the next steamer. + +When we met I thought he had changed very little; I, he insisted, looked +in splendid health. It was good to hear his voice again, and as we sat +and chatted about what life still held for us, we felt that it was +pleasant to be alive in the bright spring weather. + +We stayed in Paris together a week, and then I went for a week to Ept +with him, but first of all we went to the cemetery at Sèvres, where Boris +lay. + +"Shall we place the 'Fates' in the little grove above him?" Jack asked, +and I answered-- + +"I think only the 'Madonna' should watch over Boris' grave." But Jack was +none the better for my home-coming. The dreams of which he could not +retain even the least definite outline continued, and he said that at +times the sense of breathless expectancy was suffocating. + +"You see I do you harm and not good," I said. "Try a change without me." +So he started alone for a ramble among the Channel Islands, and I went +back to Paris. I had not yet entered Boris' house, now mine, since my +return, but I knew it must be done. It had been kept in order by Jack; +there were servants there, so I gave up my own apartment and went there +to live. Instead of the agitation I had feared, I found myself able to +paint there tranquilly. I visited all the rooms--all but one. I could not +bring myself to enter the marble room where Geneviève lay, and yet I felt +the longing growing daily to look upon her face, to kneel beside her. + +One April afternoon, I lay dreaming in the smoking-room, just as I had +lain two years before, and mechanically I looked among the tawny Eastern +rugs for the wolf-skin. At last I distinguished the pointed ears and flat +cruel head, and I thought of my dream where I saw Geneviève lying beside +it. The helmets still hung against the threadbare tapestry, among them +the old Spanish morion which I remembered Geneviève had once put on when +we were amusing ourselves with the ancient bits of mail. I turned my eyes +to the spinet; every yellow key seemed eloquent of her caressing hand, +and I rose, drawn by the strength of my life's passion to the sealed door +of the marble room. The heavy doors swung inward under my trembling +hands. Sunlight poured through the window, tipping with gold the wings of +Cupid, and lingered like a nimbus over the brows of the Madonna. Her +tender face bent in compassion over a marble form so exquisitely pure +that I knelt and signed myself. Geneviève lay in the shadow under the +Madonna, and yet, through her white arms, I saw the pale azure vein, and +beneath her softly clasped hands the folds of her dress were tinged with +rose, as if from some faint warm light within her breast. + +Bending, with a breaking heart, I touched the marble drapery with my +lips, then crept back into the silent house. + +A maid came and brought me a letter, and I sat down in the little +conservatory to read it; but as I was about to break the seal, seeing the +girl lingering, I asked her what she wanted. + +She stammered something about a white rabbit that had been caught in the +house, and asked what should be done with it I told her to let it loose +in the walled garden behind the house, and opened my letter. It was from +Jack, but so incoherent that I thought he must have lost his reason. It +was nothing but a series of prayers to me not to leave the house until he +could get back; he could not tell me why, there were the dreams, he +said--he could explain nothing, but he was sure that I must not leave the +house in the Rue Sainte-Cécile. + +As I finished reading I raised my eyes and saw the same maid-servant +standing in the doorway holding a glass dish in which two gold-fish were +swimming: "Put them back into the tank and tell me what you mean by +interrupting me," I said. + +With a half-suppressed whimper she emptied water and fish into an +aquarium at the end of the conservatory, and turning to me asked my +permission to leave my service. She said people were playing tricks on +her, evidently with a design of getting her into trouble; the marble +rabbit had been stolen and a live one had been brought into the house; +the two beautiful marble fish were gone, and she had just found those +common live things flopping on the dining-room floor. I reassured her and +sent her away, saying I would look about myself. I went into the studio; +there was nothing there but my canvases and some casts, except the marble +of the Easter lily. I saw it on a table across the room. Then I strode +angrily over to it. But the flower I lifted from the table was fresh and +fragile and filled the air with perfume. + +Then suddenly I comprehended, and sprang through the hall-way to the +marble room. The doors flew open, the sunlight streamed into my face, and +through it, in a heavenly glory, the Madonna smiled, as Geneviève lifted +her flushed face from her marble couch and opened her sleepy eyes. + + + + +IN THE COURT OF THE DRAGON + + + "Oh, thou who burn'st in heart for those who burn + In Hell, whose fires thyself shall feed in turn; + How long be crying--'Mercy on them.' God! + Why, who art thou to teach and He to learn?" + +In the Church of St. Barnabé vespers were over; the clergy left the +altar; the little choir-boys flocked across the chancel and settled in +the stalls. A Suisse in rich uniform marched down the south aisle, +sounding his staff at every fourth step on the stone pavement; behind him +came that eloquent preacher and good man, Monseigneur C----. + +My chair was near the chancel rail, I now turned toward the west end of +the church. The other people between the altar and the pulpit turned too. +There was a little scraping and rustling while the congregation seated +itself again; the preacher mounted the pulpit stairs, and the organ +voluntary ceased. + +I had always found the organ-playing at St. Barnabé highly interesting. +Learned and scientific it was, too much so for my small knowledge, but +expressing a vivid if cold intelligence. Moreover, it possessed the +French quality of taste: taste reigned supreme, self-controlled, +dignified and reticent. + +To-day, however, from the first chord I had felt a change for the worse, +a sinister change. During vespers it had been chiefly the chancel organ +which supported the beautiful choir, but now and again, quite wantonly as +it seemed, from the west gallery where the great organ stands, a heavy +hand had struck across the church at the serene peace of those clear +voices. It was something more than harsh and dissonant, and it betrayed +no lack of skill. As it recurred again and again, it set me thinking of +what my architect's books say about the custom in early times to +consecrate the choir as soon as it was built, and that the nave, being +finished sometimes half a century later, often did not get any blessing +at all: I wondered idly if that had been the case at St. Barnabé, and +whether something not usually supposed to be at home in a Christian +church might have entered undetected and taken possession of the west +gallery. I had read of such things happening, too, but not in works on +architecture. + +Then I remembered that St. Barnabé was not much more than a hundred years +old, and smiled at the incongruous association of mediaeval superstitions +with that cheerful little piece of eighteenth-century rococo. + +But now vespers were over, and there should have followed a few quiet +chords, fit to accompany meditation, while we waited for the sermon. +Instead of that, the discord at the lower end of the church broke out +with the departure of the clergy, as if now nothing could control it. + +I belong to those children of an older and simpler generation who do not +love to seek for psychological subtleties in art; and I have ever refused +to find in music anything more than melody and harmony, but I felt that +in the labyrinth of sounds now issuing from that instrument there was +something being hunted. Up and down the pedals chased him, while the +manuals blared approval. Poor devil! whoever he was, there seemed small +hope of escape! + +My nervous annoyance changed to anger. Who was doing this? How dare he +play like that in the midst of divine service? I glanced at the people +near me: not one appeared to be in the least disturbed. The placid brows +of the kneeling nuns, still turned towards the altar, lost none of their +devout abstraction under the pale shadow of their white head-dress. The +fashionable lady beside me was looking expectantly at Monseigneur C----. +For all her face betrayed, the organ might have been singing an Ave +Maria. + +But now, at last, the preacher had made the sign of the cross, and +commanded silence. I turned to him gladly. Thus far I had not found the +rest I had counted on when I entered St. Barnabé that afternoon. + +I was worn out by three nights of physical suffering and mental trouble: +the last had been the worst, and it was an exhausted body, and a mind +benumbed and yet acutely sensitive, which I had brought to my favourite +church for healing. For I had been reading _The King in Yellow_. + +"The sun ariseth; they gather themselves together and lay them down in +their dens." Monseigneur C---- delivered his text in a calm voice, +glancing quietly over the congregation. My eyes turned, I knew not why, +toward the lower end of the church. The organist was coming from behind +his pipes, and passing along the gallery on his way out, I saw him +disappear by a small door that leads to some stairs which descend +directly to the street. He was a slender man, and his face was as white +as his coat was black. "Good riddance!" I thought, "with your wicked +music! I hope your assistant will play the closing voluntary." + +With a feeling of relief--with a deep, calm feeling of relief, I turned +back to the mild face in the pulpit and settled myself to listen. Here, +at last, was the ease of mind I longed for. + +"My children," said the preacher, "one truth the human soul finds hardest +of all to learn: that it has nothing to fear. It can never be made to see +that nothing can really harm it." + +"Curious doctrine!" I thought, "for a Catholic priest. Let us see how he +will reconcile that with the Fathers." + +"Nothing can really harm the soul," he went on, in, his coolest, clearest +tones, "because----" + +But I never heard the rest; my eye left his face, I knew not for what +reason, and sought the lower end of the church. The same man was coming +out from behind the organ, and was passing along the gallery _the same +way_. But there had not been time for him to return, and if he had +returned, I must have seen him. I felt a faint chill, and my heart sank; +and yet, his going and coming were no affair of mine. I looked at him: I +could not look away from his black figure and his white face. When he was +exactly opposite to me, he turned and sent across the church straight +into my eyes, a look of hate, intense and deadly: I have never seen any +other like it; would to God I might never see it again! Then he +disappeared by the same door through which I had watched him depart less +than sixty seconds before. + +I sat and tried to collect my thoughts. My first sensation was like that +of a very young child badly hurt, when it catches its breath before +crying out. + +To suddenly find myself the object of such hatred was exquisitely +painful: and this man was an utter stranger. Why should he hate me +so?--me, whom he had never seen before? For the moment all other +sensation was merged in this one pang: even fear was subordinate to +grief, and for that moment I never doubted; but in the next I began to +reason, and a sense of the incongruous came to my aid. + +As I have said, St. Barnabé is a modern church. It is small and well +lighted; one sees all over it almost at a glance. The organ gallery gets +a strong white light from a row of long windows in the clerestory, which +have not even coloured glass. + +The pulpit being in the middle of the church, it followed that, when I +was turned toward it, whatever moved at the west end could not fail to +attract my eye. When the organist passed it was no wonder that I saw him: +I had simply miscalculated the interval between his first and his second +passing. He had come in that last time by the other side-door. As for the +look which had so upset me, there had been no such thing, and I was a +nervous fool. + +I looked about. This was a likely place to harbour supernatural horrors! +That clear-cut, reasonable face of Monseigneur C----, his collected +manner and easy, graceful gestures, were they not just a little +discouraging to the notion of a gruesome mystery? I glanced above his +head, and almost laughed. That flyaway lady supporting one corner of the +pulpit canopy, which looked like a fringed damask table-cloth in a high +wind, at the first attempt of a basilisk to pose up there in the organ +loft, she would point her gold trumpet at him, and puff him out of +existence! I laughed to myself over this conceit, which, at the time, I +thought very amusing, and sat and chaffed myself and everything else, +from the old harpy outside the railing, who had made me pay ten centimes +for my chair, before she would let me in (she was more like a basilisk, I +told myself, than was my organist with the anaemic complexion): from that +grim old dame, to, yes, alas! Monseigneur C---- himself. For all +devoutness had fled. I had never yet done such a thing in my life, but +now I felt a desire to mock. + +As for the sermon, I could not hear a word of it for the jingle in my +ears of + + "The skirts of St. Paul has reached. + Having preached us those six Lent lectures, + More unctuous than ever he preached," + +keeping time to the most fantastic and irreverent thoughts. + +It was no use to sit there any longer: I must get out of doors and shake +myself free from this hateful mood. I knew the rudeness I was committing, +but still I rose and left the church. + +A spring sun was shining on the Rue St. Honoré, as I ran down the church +steps. On one corner stood a barrow full of yellow jonquils, pale violets +from the Riviera, dark Russian violets, and white Roman hyacinths in a +golden cloud of mimosa. The street was full of Sunday pleasure-seekers. I +swung my cane and laughed with the rest. Some one overtook and passed me. +He never turned, but there was the same deadly malignity in his white +profile that there had been in his eyes. I watched him as long as I could +see him. His lithe back expressed the same menace; every step that +carried him away from me seemed to bear him on some errand connected with +my destruction. + +I was creeping along, my feet almost refusing to move. There began to +dawn in me a sense of responsibility for something long forgotten. It +began to seem as if I deserved that which he threatened: it reached a +long way back--a long, long way back. It had lain dormant all these +years: it was there, though, and presently it would rise and confront me. +But I would try to escape; and I stumbled as best I could into the Rue de +Rivoli, across the Place de la Concorde and on to the Quai. I looked with +sick eyes upon the sun, shining through the white foam of the fountain, +pouring over the backs of the dusky bronze river-gods, on the far-away +Arc, a structure of amethyst mist, on the countless vistas of grey stems +and bare branches faintly green. Then I saw him again coming down one of +the chestnut alleys of the Cours la Reine. + +I left the river-side, plunged blindly across to the Champs Elysées and +turned toward the Arc. The setting sun was sending its rays along the +green sward of the Rond-point: in the full glow he sat on a bench, +children and young mothers all about him. He was nothing but a Sunday +lounger, like the others, like myself. I said the words almost aloud, and +all the while I gazed on the malignant hatred of his face. But he was not +looking at me. I crept past and dragged my leaden feet up the Avenue. I +knew that every time I met him brought him nearer to the accomplishment +of his purpose and my fate. And still I tried to save myself. + +The last rays of sunset were pouring through the great Arc. I passed +under it, and met him face to face. I had left him far down the Champs +Elysées, and yet he came in with a stream of people who were returning +from the Bois de Boulogne. He came so close that he brushed me. His +slender frame felt like iron inside its loose black covering. He showed +no signs of haste, nor of fatigue, nor of any human feeling. His whole +being expressed one thing: the will, and the power to work me evil. + +In anguish I watched him where he went down the broad crowded Avenue, +that was all flashing with wheels and the trappings of horses and the +helmets of the Garde Republicaine. + +He was soon lost to sight; then I turned and fled. Into the Bois, and far +out beyond it--I know not where I went, but after a long while as it +seemed to me, night had fallen, and I found myself sitting at a table +before a small café. I had wandered back into the Bois. It was hours now +since I had seen him. Physical fatigue and mental suffering had left me +no power to think or feel. I was tired, so tired! I longed to hide away +in my own den. I resolved to go home. But that was a long way off. + +I live in the Court of the Dragon, a narrow passage that leads from the +Rue de Rennes to the Rue du Dragon. + +It is an "impasse"; traversable only for foot passengers. Over the +entrance on the Rue de Rennes is a balcony, supported by an iron dragon. +Within the court tall old houses rise on either side, and close the ends +that give on the two streets. Huge gates, swung back during the day into +the walls of the deep archways, close this court, after midnight, and one +must enter then by ringing at certain small doors on the side. The sunken +pavement collects unsavoury pools. Steep stairways pitch down to doors +that open on the court. The ground floors are occupied by shops of +second-hand dealers, and by iron workers. All day long the place rings +with the clink of hammers and the clang of metal bars. + +Unsavoury as it is below, there is cheerfulness, and comfort, and hard, +honest work above. + +Five flights up are the ateliers of architects and painters, and the +hiding-places of middle-aged students like myself who want to live alone. +When I first came here to live I was young, and not alone. + +I had to walk a while before any conveyance appeared, but at last, when I +had almost reached the Arc de Triomphe again, an empty cab came along and +I took it. + +From the Arc to the Rue de Rennes is a drive of more than half an hour, +especially when one is conveyed by a tired cab horse that has been at the +mercy of Sunday fete-makers. + +There had been time before I passed under the Dragon's wings to meet my +enemy over and over again, but I never saw him once, and now refuge was +close at hand. + +Before the wide gateway a small mob of children were playing. Our +concierge and his wife walked among them, with their black poodle, +keeping order; some couples were waltzing on the side-walk. I returned +their greetings and hurried in. + +All the inhabitants of the court had trooped out into the street. The +place was quite deserted, lighted by a few lanterns hung high up, in +which the gas burned dimly. + +My apartment was at the top of a house, halfway down the court, reached +by a staircase that descended almost into the street, with only a bit of +passage-way intervening, I set my foot on the threshold of the open door, +the friendly old ruinous stairs rose before me, leading up to rest and +shelter. Looking back over my right shoulder, I saw _him,_ ten paces +off. He must have entered the court with me. + +He was coming straight on, neither slowly, nor swiftly, but straight on +to me. And now he was looking at me. For the first time since our eyes +encountered across the church they met now again, and I knew that the +time had come. + +Retreating backward, down the court, I faced him. I meant to escape by +the entrance on the Rue du Dragon. His eyes told me that I never should +escape. + +It seemed ages while we were going, I retreating, he advancing, down the +court in perfect silence; but at last I felt the shadow of the archway, +and the next step brought me within it. I had meant to turn here and +spring through into the street. But the shadow was not that of an +archway; it was that of a vault. The great doors on the Rue du Dragon +were closed. I felt this by the blackness which surrounded me, and at the +same instant I read it in his face. How his face gleamed in the darkness, +drawing swiftly nearer! The deep vaults, the huge closed doors, their +cold iron clamps were all on his side. The thing which he had threatened +had arrived: it gathered and bore down on me from the fathomless shadows; +the point from which it would strike was his infernal eyes. Hopeless, I +set my back against the barred doors and defied him. + + +There was a scraping of chairs on the stone floor, and a rustling as the +congregation rose. I could hear the Suisse's staff in the south aisle, +preceding Monseigneur C---- to the sacristy. + +The kneeling nuns, roused from their devout abstraction, made their +reverence and went away. The fashionable lady, my neighbour, rose also, +with graceful reserve. As she departed her glance just flitted over my +face in disapproval. + +Half dead, or so it seemed to me, yet intensely alive to every trifle, I +sat among the leisurely moving crowd, then rose too and went toward the +door. + +I had slept through the sermon. Had I slept through the sermon? I looked +up and saw him passing along the gallery to his place. Only his side I +saw; the thin bent arm in its black covering looked like one of those +devilish, nameless instruments which lie in the disused torture-chambers +of mediaeval castles. + +But I had escaped him, though his eyes had said I should not. _Had_ +I escaped him? That which gave him the power over me came back out of +oblivion, where I had hoped to keep it. For I knew him now. Death and the +awful abode of lost souls, whither my weakness long ago had sent +him--they had changed him for every other eye, but not for mine. I had +recognized him almost from the first; I had never doubted what he was +come to do; and now I knew while my body sat safe in the cheerful little +church, he had been hunting my soul in the Court of the Dragon. + +I crept to the door: the organ broke out overhead with a blare. A +dazzling light filled the church, blotting the altar from my eyes. The +people faded away, the arches, the vaulted roof vanished. I raised my +seared eyes to the fathomless glare, and I saw the black stars hanging in +the heavens: and the wet winds from the lake of Hali chilled my face. + +And now, far away, over leagues of tossing cloud-waves, I saw the moon +dripping with spray; and beyond, the towers of Carcosa rose behind the +moon. + +Death and the awful abode of lost souls, whither my weakness long ago had +sent him, had changed him for every other eye but mine. And now I heard +_his voice_, rising, swelling, thundering through the flaring light, +and as I fell, the radiance increasing, increasing, poured over me in +waves of flame. Then I sank into the depths, and I heard the King in +Yellow whispering to my soul: "It is a fearful thing to fall into the +hands of the living God!" + + + + +THE YELLOW SIGN + + "Let the red dawn surmise + What we shall do, + When this blue starlight dies + And all is through." + + +I + +There are so many things which are impossible to explain! Why should +certain chords in music make me think of the brown and golden tints of +autumn foliage? Why should the Mass of Sainte Cécile bend my thoughts +wandering among caverns whose walls blaze with ragged masses of virgin +silver? What was it in the roar and turmoil of Broadway at six o'clock +that flashed before my eyes the picture of a still Breton forest where +sunlight filtered through spring foliage and Sylvia bent, half curiously, +half tenderly, over a small green lizard, murmuring: "To think that this +also is a little ward of God!" + +When I first saw the watchman his back was toward me. I looked at him +indifferently until he went into the church. I paid no more attention to +him than I had to any other man who lounged through Washington Square +that morning, and when I shut my window and turned back into my studio I +had forgotten him. Late in the afternoon, the day being warm, I raised +the window again and leaned out to get a sniff of air. A man was standing +in the courtyard of the church, and I noticed him again with as little +interest as I had that morning. I looked across the square to where the +fountain was playing and then, with my mind filled with vague impressions +of trees, asphalt drives, and the moving groups of nursemaids and +holiday-makers, I started to walk back to my easel. As I turned, my +listless glance included the man below in the churchyard. His face was +toward me now, and with a perfectly involuntary movement I bent to see +it. At the same moment he raised his head and looked at me. Instantly I +thought of a coffin-worm. Whatever it was about the man that repelled me +I did not know, but the impression of a plump white grave-worm was so +intense and nauseating that I must have shown it in my expression, for he +turned his puffy face away with a movement which made me think of a +disturbed grub in a chestnut. + +I went back to my easel and motioned the model to resume her pose. After +working a while I was satisfied that I was spoiling what I had done as +rapidly as possible, and I took up a palette knife and scraped the colour +out again. The flesh tones were sallow and unhealthy, and I did not +understand how I could have painted such sickly colour into a study which +before that had glowed with healthy tones. + +I looked at Tessie. She had not changed, and the clear flush of health +dyed her neck and cheeks as I frowned. + +"Is it something I've done?" she said. + +"No,--I've made a mess of this arm, and for the life of me I can't see +how I came to paint such mud as that into the canvas," I replied. + +"Don't I pose well?" she insisted. + +"Of course, perfectly." + +"Then it's not my fault?" + +"No. It's my own." + +"I am very sorry," she said. + +I told her she could rest while I applied rag and turpentine to the +plague spot on my canvas, and she went off to smoke a cigarette and look +over the illustrations in the _Courrier Français_. + +I did not know whether it was something in the turpentine or a defect in +the canvas, but the more I scrubbed the more that gangrene seemed to +spread. I worked like a beaver to get it out, and yet the disease +appeared to creep from limb to limb of the study before me. Alarmed, I +strove to arrest it, but now the colour on the breast changed and the +whole figure seemed to absorb the infection as a sponge soaks up water. +Vigorously I plied palette-knife, turpentine, and scraper, thinking all +the time what a _séance_ I should hold with Duval who had sold me +the canvas; but soon I noticed that it was not the canvas which was +defective nor yet the colours of Edward. "It must be the turpentine," I +thought angrily, "or else my eyes have become so blurred and confused by +the afternoon light that I can't see straight." I called Tessie, the +model. She came and leaned over my chair blowing rings of smoke into the +air. + +"What _have_ you been doing to it?" she exclaimed + +"Nothing," I growled, "it must be this turpentine!" + +"What a horrible colour it is now," she continued. "Do you think my flesh +resembles green cheese?" + +"No, I don't," I said angrily; "did you ever know me to paint like that +before?" + +"No, indeed!" + +"Well, then!" + +"It must be the turpentine, or something," she admitted. + +She slipped on a Japanese robe and walked to the window. I scraped and +rubbed until I was tired, and finally picked up my brushes and hurled +them through the canvas with a forcible expression, the tone alone of +which reached Tessie's ears. + +Nevertheless she promptly began: "That's it! Swear and act silly and ruin +your brushes! You have been three weeks on that study, and now look! +What's the good of ripping the canvas? What creatures artists are!" + +I felt about as much ashamed as I usually did after such an outbreak, and +I turned the ruined canvas to the wall. Tessie helped me clean my +brushes, and then danced away to dress. From the screen she regaled me +with bits of advice concerning whole or partial loss of temper, until, +thinking, perhaps, I had been tormented sufficiently, she came out to +implore me to button her waist where she could not reach it on the +shoulder. + +"Everything went wrong from the time you came back from the window and +talked about that horrid-looking man you saw in the churchyard," she +announced. + +"Yes, he probably bewitched the picture," I said, yawning. I looked at my +watch. + +"It's after six, I know," said Tessie, adjusting her hat before the +mirror. + +"Yes," I replied, "I didn't mean to keep you so long." I leaned out of +the window but recoiled with disgust, for the young man with the pasty +face stood below in the churchyard. Tessie saw my gesture of disapproval +and leaned from the window. + +"Is that the man you don't like?" she whispered. + +I nodded. + +"I can't see his face, but he does look fat and soft. Someway or other," +she continued, turning to look at me, "he reminds me of a dream,--an +awful dream I once had. Or," she mused, looking down at her shapely +shoes, "was it a dream after all?" + +"How should I know?" I smiled. + +Tessie smiled in reply. + +"You were in it," she said, "so perhaps you might know something about +it." + +"Tessie! Tessie!" I protested, "don't you dare flatter by saying that you +dream about me!" + +"But I did," she insisted; "shall I tell you about it?" + +"Go ahead," I replied, lighting a cigarette. + +Tessie leaned back on the open window-sill and began very seriously. + +"One night last winter I was lying in bed thinking about nothing at all +in particular. I had been posing for you and I was tired out, yet it +seemed impossible for me to sleep. I heard the bells in the city ring +ten, eleven, and midnight. I must have fallen asleep about midnight +because I don't remember hearing the bells after that. It seemed to me +that I had scarcely closed my eyes when I dreamed that something impelled +me to go to the window. I rose, and raising the sash leaned out. +Twenty-fifth Street was deserted as far as I could see. I began to be +afraid; everything outside seemed so--so black and uncomfortable. Then +the sound of wheels in the distance came to my ears, and it seemed to me +as though that was what I must wait for. Very slowly the wheels +approached, and, finally, I could make out a vehicle moving along the +street. It came nearer and nearer, and when it passed beneath my window I +saw it was a hearse. Then, as I trembled with fear, the driver turned and +looked straight at me. When I awoke I was standing by the open window +shivering with cold, but the black-plumed hearse and the driver were +gone. I dreamed this dream again in March last, and again awoke beside +the open window. Last night the dream came again. You remember how it was +raining; when I awoke, standing at the open window, my night-dress was +soaked." + +"But where did I come into the dream?" I asked. + +"You--you were in the coffin; but you were not dead." + +"In the coffin?" + +"Yes." + +"How did you know? Could you see me?" + +"No; I only knew you were there." + +"Had you been eating Welsh rarebits, or lobster salad?" I began, +laughing, but the girl interrupted me with a frightened cry. + +"Hello! What's up?" I said, as she shrank into the embrasure by the +window. + +"The--the man below in the churchyard;--he drove the hearse." + +"Nonsense," I said, but Tessie's eyes were wide with terror. I went to +the window and looked out. The man was gone. "Come, Tessie," I urged, +"don't be foolish. You have posed too long; you are nervous." + +"Do you think I could forget that face?" she murmured. "Three times I saw +the hearse pass below my window, and every time the driver turned and +looked up at me. Oh, his face was so white and--and soft? It looked +dead--it looked as if it had been dead a long time." + +I induced the girl to sit down and swallow a glass of Marsala. Then I sat +down beside her, and tried to give her some advice. + +"Look here, Tessie," I said, "you go to the country for a week or two, +and you'll have no more dreams about hearses. You pose all day, and when +night comes your nerves are upset. You can't keep this up. Then again, +instead of going to bed when your day's work is done, you run off to +picnics at Sulzer's Park, or go to the Eldorado or Coney Island, and when +you come down here next morning you are fagged out. There was no real +hearse. There was a soft-shell crab dream." + +She smiled faintly. + +"What about the man in the churchyard?" + +"Oh, he's only an ordinary unhealthy, everyday creature." + +"As true as my name is Tessie Reardon, I swear to you, Mr. Scott, that +the face of the man below in the churchyard is the face of the man who +drove the hearse!" + +"What of it?" I said. "It's an honest trade." + +"Then you think I _did_ see the hearse?" + +"Oh," I said diplomatically, "if you really did, it might not be unlikely +that the man below drove it. There is nothing in that." + +Tessie rose, unrolled her scented handkerchief, and taking a bit of gum +from a knot in the hem, placed it in her mouth. Then drawing on her +gloves she offered me her hand, with a frank, "Good-night, Mr. Scott," +and walked out. + + + + +II + +The next morning, Thomas, the bell-boy, brought me the _Herald_ and +a bit of news. The church next door had been sold. I thanked Heaven for +it, not that being a Catholic I had any repugnance for the congregation +next door, but because my nerves were shattered by a blatant exhorter, +whose every word echoed through the aisle of the church as if it had been +my own rooms, and who insisted on his r's with a nasal persistence which +revolted my every instinct. Then, too, there was a fiend in human shape, +an organist, who reeled off some of the grand old hymns with an +interpretation of his own, and I longed for the blood of a creature who +could play the doxology with an amendment of minor chords which one hears +only in a quartet of very young undergraduates. I believe the minister +was a good man, but when he bellowed: "And the Lorrrrd said unto Moses, +the Lorrrd is a man of war; the Lorrrd is his name. My wrath shall wax +hot and I will kill you with the sworrrrd!" I wondered how many centuries +of purgatory it would take to atone for such a sin. + +"Who bought the property?" I asked Thomas. + +"Nobody that I knows, sir. They do say the gent wot owns this 'ere +'Amilton flats was lookin' at it. 'E might be a bildin' more studios." + +I walked to the window. The young man with the unhealthy face stood by +the churchyard gate, and at the mere sight of him the same overwhelming +repugnance took possession of me. + +"By the way, Thomas," I said, "who is that fellow down there?" + +Thomas sniffed. "That there worm, sir? 'Es night-watchman of the church, +sir. 'E maikes me tired a-sittin' out all night on them steps and lookin' +at you insultin' like. I'd a punched 'is 'ed, sir--beg pardon, sir--" + +"Go on, Thomas." + +"One night a comin' 'ome with Arry, the other English boy, I sees 'im a +sittin' there on them steps. We 'ad Molly and Jen with us, sir, the two +girls on the tray service, an' 'e looks so insultin' at us that I up and +sez: 'Wat you looking hat, you fat slug?'--beg pardon, sir, but that's +'ow I sez, sir. Then 'e don't say nothin' and I sez: 'Come out and I'll +punch that puddin' 'ed.' Then I hopens the gate an' goes in, but 'e don't +say nothin', only looks insultin' like. Then I 'its 'im one, but, ugh! +'is 'ed was that cold and mushy it ud sicken you to touch 'im." + +"What did he do then?" I asked curiously. + +"'Im? Nawthin'." + +"And you, Thomas?" + +The young fellow flushed with embarrassment and smiled uneasily. + +"Mr. Scott, sir, I ain't no coward, an' I can't make it out at all why I +run. I was in the 5th Lawncers, sir, bugler at Tel-el-Kebir, an' was shot +by the wells." + +"You don't mean to say you ran away?" + +"Yes, sir; I run." + +"Why?" + +"That's just what I want to know, sir. I grabbed Molly an' run, an' the +rest was as frightened as I." + +"But what were they frightened at?" + +Thomas refused to answer for a while, but now my curiosity was aroused +about the repulsive young man below and I pressed him. Three years' +sojourn in America had not only modified Thomas' cockney dialect but had +given him the American's fear of ridicule. + +"You won't believe me, Mr. Scott, sir?" + +"Yes, I will." + +"You will lawf at me, sir?" + +"Nonsense!" + +He hesitated. "Well, sir, it's Gawd's truth that when I 'it 'im 'e +grabbed me wrists, sir, and when I twisted 'is soft, mushy fist one of +'is fingers come off in me 'and." + +The utter loathing and horror of Thomas' face must have been reflected in +my own, for he added: + +"It's orful, an' now when I see 'im I just go away. 'E maikes me hill." + +When Thomas had gone I went to the window. The man stood beside the +church-railing with both hands on the gate, but I hastily retreated to my +easel again, sickened and horrified, for I saw that the middle finger of +his right hand was missing. + +At nine o'clock Tessie appeared and vanished behind the screen with a +merry "Good morning, Mr. Scott." When she had reappeared and taken her +pose upon the model-stand I started a new canvas, much to her delight. +She remained silent as long as I was on the drawing, but as soon as the +scrape of the charcoal ceased and I took up my fixative she began to +chatter. + +"Oh, I had such a lovely time last night. We went to Tony Pastor's." + +"Who are 'we'?" I demanded. + +"Oh, Maggie, you know, Mr. Whyte's model, and Pinkie McCormick--we call +her Pinkie because she's got that beautiful red hair you artists like so +much--and Lizzie Burke." + +I sent a shower of spray from the fixative over the canvas, and said: +"Well, go on." + +"We saw Kelly and Baby Barnes the skirt-dancer and--and all the rest. I +made a mash." + +"Then you have gone back on me, Tessie?" + +She laughed and shook her head. + +"He's Lizzie Burke's brother, Ed. He's a perfect gen'l'man." + +I felt constrained to give her some parental advice concerning mashing, +which she took with a bright smile. + +"Oh, I can take care of a strange mash," she said, examining her chewing +gum, "but Ed is different. Lizzie is my best friend." + +Then she related how Ed had come back from the stocking mill in Lowell, +Massachusetts, to find her and Lizzie grown up, and what an accomplished +young man he was, and how he thought nothing of squandering half-a-dollar +for ice-cream and oysters to celebrate his entry as clerk into the +woollen department of Macy's. Before she finished I began to paint, and +she resumed the pose, smiling and chattering like a sparrow. By noon I +had the study fairly well rubbed in and Tessie came to look at it. + +"That's better," she said. + +I thought so too, and ate my lunch with a satisfied feeling that all was +going well. Tessie spread her lunch on a drawing table opposite me and we +drank our claret from the same bottle and lighted our cigarettes from the +same match. I was very much attached to Tessie. I had watched her shoot +up into a slender but exquisitely formed woman from a frail, awkward +child. She had posed for me during the last three years, and among all my +models she was my favourite. It would have troubled me very much indeed +had she become "tough" or "fly," as the phrase goes, but I never noticed +any deterioration of her manner, and felt at heart that she was all +right. She and I never discussed morals at all, and I had no intention of +doing so, partly because I had none myself, and partly because I knew she +would do what she liked in spite of me. Still I did hope she would steer +clear of complications, because I wished her well, and then also I had a +selfish desire to retain the best model I had. I knew that mashing, as +she termed it, had no significance with girls like Tessie, and that such +things in America did not resemble in the least the same things in Paris. +Yet, having lived with my eyes open, I also knew that somebody would take +Tessie away some day, in one manner or another, and though I professed to +myself that marriage was nonsense, I sincerely hoped that, in this case, +there would be a priest at the end of the vista. I am a Catholic. When I +listen to high mass, when I sign myself, I feel that everything, +including myself, is more cheerful, and when I confess, it does me good. +A man who lives as much alone as I do, must confess to somebody. Then, +again, Sylvia was Catholic, and it was reason enough for me. But I was +speaking of Tessie, which is very different. Tessie also was Catholic and +much more devout than I, so, taking it all in all, I had little fear for +my pretty model until she should fall in love. But _then_ I knew +that fate alone would decide her future for her, and I prayed inwardly +that fate would keep her away from men like me and throw into her path +nothing but Ed Burkes and Jimmy McCormicks, bless her sweet face! + +Tessie sat blowing rings of smoke up to the ceiling and tinkling the ice +in her tumbler. + +"Do you know that I also had a dream last night?" I observed. + +"Not about that man," she laughed. + +"Exactly. A dream similar to yours, only much worse." + +It was foolish and thoughtless of me to say this, but you know how little +tact the average painter has. "I must have fallen asleep about ten +o'clock," I continued, "and after a while I dreamt that I awoke. So +plainly did I hear the midnight bells, the wind in the tree-branches, and +the whistle of steamers from the bay, that even now I can scarcely +believe I was not awake. I seemed to be lying in a box which had a glass +cover. Dimly I saw the street lamps as I passed, for I must tell you, +Tessie, the box in which I reclined appeared to lie in a cushioned wagon +which jolted me over a stony pavement. After a while I became impatient +and tried to move, but the box was too narrow. My hands were crossed on +my breast, so I could not raise them to help myself. I listened and then +tried to call. My voice was gone. I could hear the trample of the horses +attached to the wagon, and even the breathing of the driver. Then another +sound broke upon my ears like the raising of a window sash. I managed to +turn my head a little, and found I could look, not only through the glass +cover of my box, but also through the glass panes in the side of the +covered vehicle. I saw houses, empty and silent, with neither light nor +life about any of them excepting one. In that house a window was open on +the first floor, and a figure all in white stood looking down into the +street. It was you." + +Tessie had turned her face away from me and leaned on the table with her +elbow. + +"I could see your face," I resumed, "and it seemed to me to be very +sorrowful. Then we passed on and turned into a narrow black lane. +Presently the horses stopped. I waited and waited, closing my eyes with +ear and impatience, but all was silent as the grave. After what seemed to +me hours, I began to feel uncomfortable. A sense that somebody was close +to me made me unclose my eyes. Then I saw the white face of the +hearse-driver looking at me through the coffin-lid----" + +A sob from Tessie interrupted me. She was trembling like a leaf. I saw I +had made an ass of myself and attempted to repair the damage. + +"Why, Tess," I said, "I only told you this to show you what influence +your story might have on another person's dreams. You don't suppose I +really lay in a coffin, do you? What are you trembling for? Don't you see +that your dream and my unreasonable dislike for that inoffensive watchman +of the church simply set my brain working as soon as I fell asleep?" + +She laid her head between her arms, and sobbed as if her heart would +break. What a precious triple donkey I had made of myself! But I was +about to break my record. I went over and put my arm about her. + +"Tessie dear, forgive me," I said; "I had no business to frighten you +with such nonsense. You are too sensible a girl, too good a Catholic to +believe in dreams." + +Her hand tightened on mine and her head fell back upon my shoulder, but +she still trembled and I petted her and comforted her. + +"Come, Tess, open your eyes and smile." + +Her eyes opened with a slow languid movement and met mine, but their +expression was so queer that I hastened to reassure her again. + +"It's all humbug, Tessie; you surely are not afraid that any harm will +come to you because of that." + +"No," she said, but her scarlet lips quivered. + +"Then, what's the matter? Are you afraid?" + +"Yes. Not for myself." + +"For me, then?" I demanded gaily. + +"For you," she murmured in a voice almost inaudible. "I--I care for you." + +At first I started to laugh, but when I understood her, a shock passed +through me, and I sat like one turned to stone. This was the crowning bit +of idiocy I had committed. During the moment which elapsed between her +reply and my answer I thought of a thousand responses to that innocent +confession. I could pass it by with a laugh, I could misunderstand her +and assure her as to my health, I could simply point out that it was +impossible she could love me. But my reply was quicker than my thoughts, +and I might think and think now when it was too late, for I had kissed +her on the mouth. + +That evening I took my usual walk in Washington Park, pondering over the +occurrences of the day. I was thoroughly committed. There was no back out +now, and I stared the future straight in the face. I was not good, not +even scrupulous, but I had no idea of deceiving either myself or Tessie. +The one passion of my life lay buried in the sunlit forests of Brittany. +Was it buried for ever? Hope cried "No!" For three years I had been +listening to the voice of Hope, and for three years I had waited for a +footstep on my threshold. Had Sylvia forgotten? "No!" cried Hope. + +I said that I was no good. That is true, but still I was not exactly a +comic opera villain. I had led an easy-going reckless life, taking what +invited me of pleasure, deploring and sometimes bitterly regretting +consequences. In one thing alone, except my painting, was I serious, and +that was something which lay hidden if not lost in the Breton forests. + +It was too late for me to regret what had occurred during the day. +Whatever it had been, pity, a sudden tenderness for sorrow, or the more +brutal instinct of gratified vanity, it was all the same now, and unless +I wished to bruise an innocent heart, my path lay marked before me. The +fire and strength, the depth of passion of a love which I had never even +suspected, with all my imagined experience in the world, left me no +alternative but to respond or send her away. Whether because I am so +cowardly about giving pain to others, or whether it was that I have +little of the gloomy Puritan in me, I do not know, but I shrank from +disclaiming responsibility for that thoughtless kiss, and in fact had no +time to do so before the gates of her heart opened and the flood poured +forth. Others who habitually do their duty and find a sullen satisfaction +in making themselves and everybody else unhappy, might have withstood it. +I did not. I dared not. After the storm had abated I did tell her that +she might better have loved Ed Burke and worn a plain gold ring, but she +would not hear of it, and I thought perhaps as long as she had decided to +love somebody she could not marry, it had better be me. I, at least, +could treat her with an intelligent affection, and whenever she became +tired of her infatuation she could go none the worse for it. For I was +decided on that point although I knew how hard it would be. I remembered +the usual termination of Platonic liaisons, and thought how disgusted I +had been whenever I heard of one. I knew I was undertaking a great deal +for so unscrupulous a man as I was, and I dreamed the future, but never +for one moment did I doubt that she was safe with me. Had it been anybody +but Tessie I should not have bothered my head about scruples. For it did +not occur to me to sacrifice Tessie as I would have sacrificed a woman of +the world. I looked the future squarely in the face and saw the several +probable endings to the affair. She would either tire of the whole thing, +or become so unhappy that I should have either to marry her or go away. +If I married her we would be unhappy. I with a wife unsuited to me, and +she with a husband unsuitable for any woman. For my past life could +scarcely entitle me to marry. If I went away she might either fall ill, +recover, and marry some Eddie Burke, or she might recklessly or +deliberately go and do something foolish. On the other hand, if she tired +of me, then her whole life would be before her with beautiful vistas of +Eddie Burkes and marriage rings and twins and Harlem flats and Heaven +knows what. As I strolled along through the trees by the Washington Arch, +I decided that she should find a substantial friend in me, anyway, and +the future could take care of itself. Then I went into the house and put +on my evening dress, for the little faintly-perfumed note on my dresser +said, "Have a cab at the stage door at eleven," and the note was signed +"Edith Carmichel, Metropolitan Theatre." + +I took supper that night, or rather we took supper, Miss Carmichel and I, +at Solari's, and the dawn was just beginning to gild the cross on the +Memorial Church as I entered Washington Square after leaving Edith at the +Brunswick. There was not a soul in the park as I passed along the trees +and took the walk which leads from the Garibaldi statue to the Hamilton +Apartment House, but as I passed the churchyard I saw a figure sitting on +the stone steps. In spite of myself a chill crept over me at the sight of +the white puffy face, and I hastened to pass. Then he said something +which might have been addressed to me or might merely have been a mutter +to himself, but a sudden furious anger flamed up within me that such a +creature should address me. For an instant I felt like wheeling about and +smashing my stick over his head, but I walked on, and entering the +Hamilton went to my apartment. For some time I tossed about the bed +trying to get the sound of his voice out of my ears, but could not. It +filled my head, that muttering sound, like thick oily smoke from a +fat-rendering vat or an odour of noisome decay. And as I lay and tossed +about, the voice in my ears seemed more distinct, and I began to +understand the words he had muttered. They came to me slowly as if I had +forgotten them, and at last I could make some sense out of the sounds. It +was this: + +"Have you found the Yellow Sign?" + +"Have you found the Yellow Sign?" + +"Have you found the Yellow Sign?" + +I was furious. What did he mean by that? Then with a curse upon him and +his I rolled over and went to sleep, but when I awoke later I looked pale +and haggard, for I had dreamed the dream of the night before, and it +troubled me more than I cared to think. + +I dressed and went down into my studio. Tessie sat by the window, but as +I came in she rose and put both arms around my neck for an innocent kiss. +She looked so sweet and dainty that I kissed her again and then sat down +before the easel. + +"Hello! Where's the study I began yesterday?" I asked. + +Tessie looked conscious, but did not answer. I began to hunt among the +piles of canvases, saying, "Hurry up, Tess, and get ready; we must take +advantage of the morning light." + +When at last I gave up the search among the other canvases and turned to +look around the room for the missing study I noticed Tessie standing by +the screen with her clothes still on. + +"What's the matter," I asked, "don't you feel well?" + +"Yes." + +"Then hurry." + +"Do you want me to pose as--as I have always posed?" + +Then I understood. Here was a new complication. I had lost, of course, +the best nude model I had ever seen. I looked at Tessie. Her face was +scarlet. Alas! Alas! We had eaten of the tree of knowledge, and Eden and +native innocence were dreams of the past--I mean for her. + +I suppose she noticed the disappointment on my face, for she said: "I +will pose if you wish. The study is behind the screen here where I put +it." + +"No," I said, "we will begin something new;" and I went into my wardrobe +and picked out a Moorish costume which fairly blazed with tinsel. It was +a genuine costume, and Tessie retired to the screen with it enchanted. +When she came forth again I was astonished. Her long black hair was bound +above her forehead with a circlet of turquoises, and the ends, curled +about her glittering girdle. Her feet were encased in the embroidered +pointed slippers and the skirt of her costume, curiously wrought with +arabesques in silver, fell to her ankles. The deep metallic blue vest +embroidered with silver and the short Mauresque jacket spangled and sewn +with turquoises became her wonderfully. She came up to me and held up her +face smiling. I slipped my hand into my pocket, and drawing out a gold +chain with a cross attached, dropped it over her head. + +"It's yours, Tessie." + +"Mine?" she faltered. + +"Yours. Now go and pose," Then with a radiant smile she ran behind the +screen and presently reappeared with a little box on which was written my +name. + +"I had intended to give it to you when I went home to-night," she said, +"but I can't wait now." + +I opened the box. On the pink cotton inside lay a clasp of black onyx, on +which was inlaid a curious symbol or letter in gold. It was neither +Arabic nor Chinese, nor, as I found afterwards, did it belong to any +human script. + +"It's all I had to give you for a keepsake," she said timidly. + +I was annoyed, but I told her how much I should prize it, and promised to +wear it always. She fastened it on my coat beneath the lapel. + +"How foolish, Tess, to go and buy me such a beautiful thing as this," I +said. + +"I did not buy it," she laughed. + +"Where did you get it?" + +Then she told me how she had found it one day while coming from the +Aquarium in the Battery, how she had advertised it and watched the +papers, but at last gave up all hopes of finding the owner. + +"That was last winter," she said, "the very day I had the first horrid +dream about the hearse." + +I remembered my dream of the previous night but said nothing, and +presently my charcoal was flying over a new canvas, and Tessie stood +motionless on the model-stand. + + + + +III + +The day following was a disastrous one for me. While moving a framed +canvas from one easel to another my foot slipped on the polished floor, +and I fell heavily on both wrists. They were so badly sprained that it +was useless to attempt to hold a brush, and I was obliged to wander about +the studio, glaring at unfinished drawings and sketches, until despair +seized me and I sat down to smoke and twiddle my thumbs with rage. The +rain blew against the windows and rattled on the roof of the church, +driving me into a nervous fit with its interminable patter. Tessie sat +sewing by the window, and every now and then raised her head and looked +at me with such innocent compassion that I began to feel ashamed of my +irritation and looked about for something to occupy me. I had read all +the papers and all the books in the library, but for the sake of +something to do I went to the bookcases and shoved them open with my +elbow. I knew every volume by its colour and examined them all, passing +slowly around the library and whistling to keep up my spirits. I was +turning to go into the dining-room when my eye fell upon a book bound in +serpent skin, standing in a corner of the top shelf of the last bookcase. +I did not remember it, and from the floor could not decipher the pale +lettering on the back, so I went to the smoking-room and called Tessie. +She came in from the studio and climbed up to reach the book. + +"What is it?" I asked. + +"_The King in Yellow._" + +I was dumfounded. Who had placed it there? How came it in my rooms? I had +long ago decided that I should never open that book, and nothing on earth +could have persuaded me to buy it. Fearful lest curiosity might tempt me +to open it, I had never even looked at it in book-stores. If I ever had +had any curiosity to read it, the awful tragedy of young Castaigne, whom +I knew, prevented me from exploring its wicked pages. I had always +refused to listen to any description of it, and indeed, nobody ever +ventured to discuss the second part aloud, so I had absolutely no +knowledge of what those leaves might reveal. I stared at the poisonous +mottled binding as I would at a snake. + +"Don't touch it, Tessie," I said; "come down." + +Of course my admonition was enough to arouse her curiosity, and before I +could prevent it she took the book and, laughing, danced off into the +studio with it. I called to her, but she slipped away with a tormenting +smile at my helpless hands, and I followed her with some impatience. + +"Tessie!" I cried, entering the library, "listen, I am serious. Put that +book away. I do not wish you to open it!" The library was empty. I went +into both drawing-rooms, then into the bedrooms, laundry, kitchen, and +finally returned to the library and began a systematic search. She had +hidden herself so well that it was half-an-hour later when I discovered +her crouching white and silent by the latticed window in the store-room +above. At the first glance I saw she had been punished for her +foolishness. _The King in Yellow_ lay at her feet, but the book was +open at the second part. I looked at Tessie and saw it was too late. She +had opened _The King in Yellow_. Then I took her by the hand and led +her into the studio. She seemed dazed, and when I told her to lie down on +the sofa she obeyed me without a word. After a while she closed her eyes +and her breathing became regular and deep, but I could not determine +whether or not she slept. For a long while I sat silently beside her, but +she neither stirred nor spoke, and at last I rose, and, entering the +unused store-room, took the book in my least injured hand. It seemed +heavy as lead, but I carried it into the studio again, and sitting down +on the rug beside the sofa, opened it and read it through from beginning +to end. + +When, faint with excess of my emotions, I dropped the volume and leaned +wearily back against the sofa, Tessie opened her eyes and looked at +me.... + +We had been speaking for some time in a dull monotonous strain before I +realized that we were discussing _The King in Yellow_. Oh the sin of +writing such words,--words which are clear as crystal, limpid and musical +as bubbling springs, words which sparkle and glow like the poisoned +diamonds of the Medicis! Oh the wickedness, the hopeless damnation of a +soul who could fascinate and paralyze human creatures with such +words,--words understood by the ignorant and wise alike, words which are +more precious than jewels, more soothing than music, more awful than +death! + +We talked on, unmindful of the gathering shadows, and she was begging me +to throw away the clasp of black onyx quaintly inlaid with what we now +knew to be the Yellow Sign. I never shall know why I refused, though even +at this hour, here in my bedroom as I write this confession, I should be +glad to know _what_ it was that prevented me from tearing the Yellow +Sign from my breast and casting it into the fire. I am sure I wished to +do so, and yet Tessie pleaded with me in vain. Night fell and the hours +dragged on, but still we murmured to each other of the King and the +Pallid Mask, and midnight sounded from the misty spires in the +fog-wrapped city. We spoke of Hastur and of Cassilda, while outside the +fog rolled against the blank window-panes as the cloud waves roll and +break on the shores of Hali. + +The house was very silent now, and not a sound came up from the misty +streets. Tessie lay among the cushions, her face a grey blot in the +gloom, but her hands were clasped in mine, and I knew that she knew and +read my thoughts as I read hers, for we had understood the mystery of the +Hyades and the Phantom of Truth was laid. Then as we answered each other, +swiftly, silently, thought on thought, the shadows stirred in the gloom +about us, and far in the distant streets we heard a sound. Nearer and +nearer it came, the dull crunching of wheels, nearer and yet nearer, and +now, outside before the door it ceased, and I dragged myself to the +window and saw a black-plumed hearse. The gate below opened and shut, and +I crept shaking to my door and bolted it, but I knew no bolts, no locks, +could keep that creature out who was coming for the Yellow Sign. And now +I heard him moving very softly along the hall. Now he was at the door, +and the bolts rotted at his touch. Now he had entered. With eyes starting +from my head I peered into the darkness, but when he came into the room I +did not see him. It was only when I felt him envelope me in his cold soft +grasp that I cried out and struggled with deadly fury, but my hands were +useless and he tore the onyx clasp from my coat and struck me full in the +face. Then, as I fell, I heard Tessie's soft cry and her spirit fled: and +even while falling I longed to follow her, for I knew that the King in +Yellow had opened his tattered mantle and there was only God to cry to +now. + +I could tell more, but I cannot see what help it will be to the world. As +for me, I am past human help or hope. As I lie here, writing, careless +even whether or not I die before I finish, I can see the doctor gathering +up his powders and phials with a vague gesture to the good priest beside +me, which I understand. + +They will be very curious to know the tragedy--they of the outside world +who write books and print millions of newspapers, but I shall write no +more, and the father confessor will seal my last words with the seal of +sanctity when his holy office is done. They of the outside world may send +their creatures into wrecked homes and death-smitten firesides, and their +newspapers will batten on blood and tears, but with me their spies must +halt before the confessional. They know that Tessie is dead and that I am +dying. They know how the people in the house, aroused by an infernal +scream, rushed into my room and found one living and two dead, but they +do not know what I shall tell them now; they do not know that the doctor +said as he pointed to a horrible decomposed heap on the floor--the livid +corpse of the watchman from the church: "I have no theory, no explanation. +That man must have been dead for months!" + + +I think I am dying. I wish the priest would-- + + + + +THE DEMOISELLE D'YS + + "Mais je croy que je + Suis descendu on puiz + Ténébreux onquel disoit + Heraclytus estre Vereté cachée." + +"There be three things which are too wonderful for me, yea, four which I +know not: + +"The way of an eagle in the air; the way of a serpent upon a rock; the +way of a ship in the midst of the sea; and the way of a man with a maid." + + +I + +The utter desolation of the scene began to have its effect; I sat down to +face the situation and, if possible, recall to mind some landmark which +might aid me in extricating myself from my present position. If I could +only find the ocean again all would be clear, for I knew one could see +the island of Groix from the cliffs. + +I laid down my gun, and kneeling behind a rock lighted a pipe. Then I +looked at my watch. It was nearly four o'clock. I might have wandered far +from Kerselec since daybreak. + +Standing the day before on the cliffs below Kerselec with Goulven, +looking out over the sombre moors among which I had now lost my way, +these downs had appeared to me level as a meadow, stretching to the +horizon, and although I knew how deceptive is distance, I could not +realize that what from Kerselec seemed to be mere grassy hollows were +great valleys covered with gorse and heather, and what looked like +scattered boulders were in reality enormous cliffs of granite. + +"It's a bad place for a stranger," old Goulven had said: "you'd better +take a guide;" and I had replied, "I shall not lose myself." Now I knew +that I had lost myself, as I sat there smoking, with the sea-wind blowing +in my face. On every side stretched the moorland, covered with flowering +gorse and heath and granite boulders. There was not a tree in sight, much +less a house. After a while, I picked up the gun, and turning my back on +the sun tramped on again. + +There was little use in following any of the brawling streams which every +now and then crossed my path, for, instead of flowing into the sea, they +ran inland to reedy pools in the hollows of the moors. I had followed +several, but they all led me to swamps or silent little ponds from which +the snipe rose peeping and wheeled away in an ecstasy of fright I began +to feel fatigued, and the gun galled my shoulder in spite of the double +pads. The sun sank lower and lower, shining level across yellow gorse and +the moorland pools. + +As I walked my own gigantic shadow led me on, seeming to lengthen at +every step. The gorse scraped against my leggings, crackled beneath my +feet, showering the brown earth with blossoms, and the brake bowed and +billowed along my path. From tufts of heath rabbits scurried away through +the bracken, and among the swamp grass I heard the wild duck's drowsy +quack. Once a fox stole across my path, and again, as I stooped to drink +at a hurrying rill, a heron flapped heavily from the reeds beside me. I +turned to look at the sun. It seemed to touch the edges of the plain. +When at last I decided that it was useless to go on, and that I must make +up my mind to spend at least one night on the moors, I threw myself down +thoroughly fagged out. The evening sunlight slanted warm across my body, +but the sea-winds began to rise, and I felt a chill strike through me +from my wet shooting-boots. High overhead gulls were wheeling and tossing +like bits of white paper; from some distant marsh a solitary curlew +called. Little by little the sun sank into the plain, and the zenith +flushed with the after-glow. I watched the sky change from palest gold to +pink and then to smouldering fire. Clouds of midges danced above me, and +high in the calm air a bat dipped and soared. My eyelids began to droop. +Then as I shook off the drowsiness a sudden crash among the bracken +roused me. I raised my eyes. A great bird hung quivering in the air above +my face. For an instant I stared, incapable of motion; then something +leaped past me in the ferns and the bird rose, wheeled, and pitched +headlong into the brake. + +I was on my feet in an instant peering through the gorse. There came the +sound of a struggle from a bunch of heather close by, and then all was +quiet. I stepped forward, my gun poised, but when I came to the heather +the gun fell under my arm again, and I stood motionless in silent +astonishment A dead hare lay on the ground, and on the hare stood a +magnificent falcon, one talon buried in the creature's neck, the other +planted firmly on its limp flank. But what astonished me, was not the +mere sight of a falcon sitting upon its prey. I had seen that more than +once. It was that the falcon was fitted with a sort of leash about both +talons, and from the leash hung a round bit of metal like a sleigh-bell. +The bird turned its fierce yellow eyes on me, and then stooped and struck +its curved beak into the quarry. At the same instant hurried steps +sounded among the heather, and a girl sprang into the covert in front. +Without a glance at me she walked up to the falcon, and passing her +gloved hand under its breast, raised it from the quarry. Then she deftly +slipped a small hood over the bird's head, and holding it out on her +gauntlet, stooped and picked up the hare. + +She passed a cord about the animal's legs and fastened the end of the +thong to her girdle. Then she started to retrace her steps through the +covert As she passed me I raised my cap and she acknowledged my presence +with a scarcely perceptible inclination. I had been so astonished, so +lost in admiration of the scene before my eyes, that it had not occurred +to me that here was my salvation. But as she moved away I recollected +that unless I wanted to sleep on a windy moor that night I had better +recover my speech without delay. At my first word she hesitated, and as I +stepped before her I thought a look of fear came into her beautiful eyes. +But as I humbly explained my unpleasant plight, her face flushed and she +looked at me in wonder. + +"Surely you did not come from Kerselec!" she repeated. + +Her sweet voice had no trace of the Breton accent nor of any accent which +I knew, and yet there was something in it I seemed to have heard before, +something quaint and indefinable, like the theme of an old song. + +I explained that I was an American, unacquainted with Finistère, shooting +there for my own amusement. + +"An American," she repeated in the same quaint musical tones. "I have +never before seen an American." + +For a moment she stood silent, then looking at me she said. "If you +should walk all night you could not reach Kerselec now, even if you had a +guide." + +This was pleasant news. + +"But," I began, "if I could only find a peasant's hut where I might get +something to eat, and shelter." + +The falcon on her wrist fluttered and shook its head. The girl smoothed +its glossy back and glanced at me. + +"Look around," she said gently. "Can you see the end of these moors? +Look, north, south, east, west. Can you see anything but moorland and +bracken?" + +"No," I said. + +"The moor is wild and desolate. It is easy to enter, but sometimes they +who enter never leave it. There are no peasants' huts here." + +"Well," I said, "if you will tell me in which direction Kerselec lies, +to-morrow it will take me no longer to go back than it has to come." + +She looked at me again with an expression almost like pity. + +"Ah," she said, "to come is easy and takes hours; to go is different--and +may take centuries." + +I stared at her in amazement but decided that I had misunderstood her. +Then before I had time to speak she drew a whistle from her belt and +sounded it. + +"Sit down and rest," she said to me; "you have come a long distance and +are tired." + +She gathered up her pleated skirts and motioning me to follow picked her +dainty way through the gorse to a flat rock among the ferns. + +"They will be here directly," she said, and taking a seat at one end of +the rock invited me to sit down on the other edge. The after-glow was +beginning to fade in the sky and a single star twinkled faintly through +the rosy haze. A long wavering triangle of water-fowl drifted southward +over our heads, and from the swamps around plover were calling. + +"They are very beautiful--these moors," she said quietly. + +"Beautiful, but cruel to strangers," I answered. + +"Beautiful and cruel," she repeated dreamily, "beautiful and cruel." + +"Like a woman," I said stupidly. + +"Oh," she cried with a little catch in her breath, and looked at me. Her +dark eyes met mine, and I thought she seemed angry or frightened. + +"Like a woman," she repeated under her breath, "How cruel to say so!" +Then after a pause, as though speaking aloud to herself, "How cruel for +him to say that!" + +I don't know what sort of an apology I offered for my inane, though +harmless speech, but I know that she seemed so troubled about it that I +began to think I had said something very dreadful without knowing it, and +remembered with horror the pitfalls and snares which the French language +sets for foreigners. While I was trying to imagine what I might have +said, a sound of voices came across the moor, and the girl rose to her +feet. + +"No," she said, with a trace of a smile on her pale face, "I will not +accept your apologies, monsieur, but I must prove you wrong, and that +shall be my revenge. Look. Here come Hastur and Raoul." + +Two men loomed up in the twilight. One had a sack across his shoulders +and the other carried a hoop before him as a waiter carries a tray. The +hoop was fastened with straps to his shoulders, and around the edge of +the circlet sat three hooded falcons fitted with tinkling bells. The girl +stepped up to the falconer, and with a quick turn of her wrist +transferred her falcon to the hoop, where it quickly sidled off and +nestled among its mates, who shook their hooded heads and ruffled their +feathers till the belled jesses tinkled again. The other man stepped +forward and bowing respectfully took up the hare and dropped it into the +game-sack. + +"These are my piqueurs," said the girl, turning to me with a gentle +dignity. "Raoul is a good fauconnier, and I shall some day make him grand +veneur. Hastur is incomparable." + +The two silent men saluted me respectfully. + +"Did I not tell you, monsieur, that I should prove you wrong?" she +continued. "This, then, is my revenge, that you do me the courtesy of +accepting food and shelter at my own house." + +Before I could answer she spoke to the falconers, who started instantly +across the heath, and with a gracious gesture to me she followed. I don't +know whether I made her understand how profoundly grateful I felt, but +she seemed pleased to listen, as we walked over the dewy heather. + +"Are you not very tired?" she asked. + +I had clean forgotten my fatigue in her presence, and I told her so. + +"Don't you think your gallantry is a little old-fashioned?" she said; and +when I looked confused and humbled, she added quietly, "Oh, I like it, I +like everything old-fashioned, and it is delightful to hear you say such +pretty things." + +The moorland around us was very still now under its ghostly sheet of +mist. The plovers had ceased their calling; the crickets and all the +little creatures of the fields were silent as we passed, yet it seemed to +me as if I could hear them beginning again far behind us. Well in +advance, the two tall falconers strode across the heather, and the faint +jingling of the hawks' bells came to our ears in distant murmuring +chimes. + +Suddenly a splendid hound dashed out of the mist in front, followed by +another and another until half-a-dozen or more were bounding and leaping +around the girl beside me. She caressed and quieted them with her gloved +hand, speaking to them in quaint terms which I remembered to have seen in +old French manuscripts. + +Then the falcons on the circlet borne by the falconer ahead began to beat +their wings and scream, and from somewhere out of sight the notes of a +hunting-horn floated across the moor. The hounds sprang away before us +and vanished in the twilight, the falcons flapped and squealed upon their +perch, and the girl, taking up the song of the horn, began to hum. Clear +and mellow her voice sounded in the night air. + + "Chasseur, chasseur, chassez encore, + Quittez Rosette et Jeanneton, + Tonton, tonton, tontaine, tonton, + Ou, pour, rabattre, dès l'aurore, + Que les Amours soient de planton, + Tonton, tontaine, tonton." + +As I listened to her lovely voice a grey mass which rapidly grew more +distinct loomed up in front, and the horn rang out joyously through the +tumult of the hounds and falcons. A torch glimmered at a gate, a light +streamed through an opening door, and we stepped upon a wooden bridge +which trembled under our feet and rose creaking and straining behind us +as we passed over the moat and into a small stone court, walled on every +side. From an open doorway a man came and, bending in salutation, +presented a cup to the girl beside me. She took the cup and touched it +with her lips, then lowering it turned to me and said in a low voice, "I +bid you welcome." + +At that moment one of the falconers came with another cup, but before +handing it to me, presented it to the girl, who tasted it. The falconer +made a gesture to receive it, but she hesitated a moment, and then, +stepping forward, offered me the cup with her own hands. I felt this to +be an act of extraordinary graciousness, but hardly knew what was +expected of me, and did not raise it to my lips at once. The girl flushed +crimson. I saw that I must act quickly. + +"Mademoiselle," I faltered, "a stranger whom you have saved from dangers +he may never realize empties this cup to the gentlest and loveliest +hostess of France." + +"In His name," she murmured, crossing herself as I drained the cup. Then +stepping into the doorway she turned to me with a pretty gesture and, +taking my hand in hers, led me into the house, saying again and again: +"You are very welcome, indeed you are welcome to the Château d'Ys." + + + + +II + +I awoke next morning with the music of the horn in my ears, and leaping +out of the ancient bed, went to a curtained window where the sunlight +filtered through little deep-set panes. The horn ceased as I looked into +the court below. + +A man who might have been brother to the two falconers of the night +before stood in the midst of a pack of hounds. A curved horn was strapped +over his back, and in his hand he held a long-lashed whip. The dogs +whined and yelped, dancing around him in anticipation; there was the +stamp of horses, too, in the walled yard. + +"Mount!" cried a voice in Breton, and with a clatter of hoofs the two +falconers, with falcons upon their wrists, rode into the courtyard among +the hounds. Then I heard another voice which sent the blood throbbing +through my heart: "Piriou Louis, hunt the hounds well and spare neither +spur nor whip. Thou Raoul and thou Gaston, see that the _epervier_ +does not prove himself _niais_, and if it be best in your judgment, +_faites courtoisie à l'oiseau. Jardiner un oiseau_, like the +_mué_ there on Hastur's wrist, is not difficult, but thou, Raoul, +mayest not find it so simple to govern that _hagard_. Twice last +week he foamed _au vif_ and lost the _beccade_ although he is +used to the _leurre_. The bird acts like a stupid _branchier. +Paître un hagard n'est pas si facile."_ + +Was I dreaming? The old language of falconry which I had read in yellow +manuscripts--the old forgotten French of the middle ages was sounding in +my ears while the hounds bayed and the hawks' bells tinkled accompaniment +to the stamping horses. She spoke again in the sweet forgotten language: + +"If you would rather attach the _longe_ and leave thy _hagard au +bloc_, Raoul, I shall say nothing; for it were a pity to spoil so fair +a day's sport with an ill-trained _sors_. _Essimer abaisser_,--it is +possibly the best way. _Ça lui donnera des reins._ I was perhaps hasty +with the bird. It takes time to pass _à la filière_ and the exercises +_d'escap_." + +Then the falconer Raoul bowed in his stirrups and replied: "If it be the +pleasure of Mademoiselle, I shall keep the hawk." + +"It is my wish," she answered. "Falconry I know, but you have yet to give +me many a lesson in _Autourserie_, my poor Raoul. Sieur Piriou Louis +mount!" + +The huntsman sprang into an archway and in an instant returned, mounted +upon a strong black horse, followed by a piqueur also mounted. + +"Ah!" she cried joyously, "speed Glemarec René! speed! speed all! Sound +thy horn, Sieur Piriou!" + +The silvery music of the hunting-horn filled the courtyard, the hounds +sprang through the gateway and galloping hoof-beats plunged out of the +paved court; loud on the drawbridge, suddenly muffled, then lost in the +heather and bracken of the moors. Distant and more distant sounded the +horn, until it became so faint that the sudden carol of a soaring lark +drowned it in my ears. I heard the voice below responding to some call +from within the house. + +"I do not regret the chase, I will go another time Courtesy to the +stranger, Pelagie, remember!" + +And a feeble voice came quavering from within the house, +"_Courtoisie_." + +I stripped, and rubbed myself from head to foot in the huge earthen basin +of icy water which stood upon the stone floor at the foot of my bed. Then +I looked about for my clothes. They were gone, but on a settle near the +door lay a heap of garments which I inspected with astonishment. As my +clothes had vanished, I was compelled to attire myself in the costume +which had evidently been placed there for me to wear while my own clothes +dried. Everything was there, cap, shoes, and hunting doublet of silvery +grey homespun; but the close-fitting costume and seamless shoes belonged +to another century, and I remembered the strange costumes of the three +falconers in the court-yard. I was sure that it was not the modern dress +of any portion of France or Brittany; but not until I was dressed and +stood before a mirror between the windows did I realize that I was +clothed much more like a young huntsman of the middle ages than like a +Breton of that day. I hesitated and picked up the cap. Should I go down +and present myself in that strange guise? There seemed to be no help for +it, my own clothes were gone and there was no bell in the ancient chamber +to call a servant; so I contented myself with removing a short hawk's +feather from the cap, and, opening the door, went downstairs. + +By the fireplace in the large room at the foot of the stairs an old +Breton woman sat spinning with a distaff. She looked up at me when I +appeared, and, smiling frankly, wished me health in the Breton language, +to which I laughingly replied in French. At the same moment my hostess +appeared and returned my salutation with a grace and dignity that sent a +thrill to my heart. Her lovely head with its dark curly hair was crowned +with a head-dress which set all doubts as to the epoch of my own costume +at rest. Her slender figure was exquisitely set off in the homespun +hunting-gown edged with silver, and on her gauntlet-covered wrist she +bore one of her petted hawks. With perfect simplicity she took my hand +and led me into the garden in the court, and seating herself before a +table invited me very sweetly to sit beside her. Then she asked me in her +soft quaint accent how I had passed the night, and whether I was very +much inconvenienced by wearing the clothes which old Pelagie had put +there for me while I slept. I looked at my own clothes and shoes, drying +in the sun by the garden-wall, and hated them. What horrors they were +compared with the graceful costume which I now wore! I told her this +laughing, but she agreed with me very seriously. + +"We will throw them away," she said in a quiet voice. In my astonishment +I attempted to explain that I not only could not think of accepting +clothes from anybody, although for all I knew it might be the custom of +hospitality in that part of the country, but that I should cut an +impossible figure if I returned to France clothed as I was then. + +She laughed and tossed her pretty head, saying something in old French +which I did not understand, and then Pelagie trotted out with a tray on +which stood two bowls of milk, a loaf of white bread, fruit, a platter of +honey-comb, and a flagon of deep red wine. "You see I have not yet broken +my fast because I wished you to eat with me. But I am very hungry," she +smiled. + +"I would rather die than forget one word of what you have said!" I +blurted out, while my cheeks burned. "She will think me mad," I added to +myself, but she turned to me with sparkling eyes. + +"Ah!" she murmured. "Then Monsieur knows all that there is of chivalry--" + +She crossed herself and broke bread. I sat and watched her white hands, +not daring to raise my eyes to hers. + +"Will you not eat?" she asked. "Why do you look so troubled?" + +Ah, why? I knew it now. I knew I would give my life to touch with my lips +those rosy palms--I understood now that from the moment when I looked +into her dark eyes there on the moor last night I had loved her. My great +and sudden passion held me speechless. + +"Are you ill at ease?" she asked again. + +Then, like a man who pronounces his own doom, I answered in a low voice: +"Yes, I am ill at ease for love of you." And as she did not stir nor +answer, the same power moved my lips in spite of me and I said, "I, who +am unworthy of the lightest of your thoughts, I who abuse hospitality and +repay your gentle courtesy with bold presumption, I love you." + +She leaned her head upon her hands, and answered softly, "I love you. +Your words are very dear to me. I love you." + +"Then I shall win you." + +"Win me," she replied. + +But all the time I had been sitting silent, my face turned toward her. +She, also silent, her sweet face resting on her upturned palm, sat facing +me, and as her eyes looked into mine I knew that neither she nor I had +spoken human speech; but I knew that her soul had answered mine, and I +drew myself up feeling youth and joyous love coursing through every vein. +She, with a bright colour in her lovely face, seemed as one awakened from +a dream, and her eyes sought mine with a questioning glance which made me +tremble with delight. We broke our fast, speaking of ourselves. I told +her my name and she told me hers, the Demoiselle Jeanne d'Ys. + +She spoke of her father and mother's death, and how the nineteen of her +years had been passed in the little fortified farm alone with her nurse +Pelagie, Glemarec René the piqueur, and the four falconers, Raoul, +Gaston, Hastur, and the Sieur Piriou Louis, who had served her father. +She had never been outside the moorland--never even had seen a human soul +before, except the falconers and Pelagie. She did not know how she had +heard of Kerselec; perhaps the falconers had spoken of it. She knew the +legends of Loup Garou and Jeanne la Flamme from her nurse Pelagie. She +embroidered and spun flax. Her hawks and hounds were her only +distraction. When she had met me there on the moor she had been so +frightened that she almost dropped at the sound of my voice. She had, it +was true, seen ships at sea from the cliffs, but as far as the eye could +reach the moors over which she galloped were destitute of any sign of +human life. There was a legend which old Pelagie told, how anybody once +lost in the unexplored moorland might never return, because the moors +were enchanted. She did not know whether it was true, she never had +thought about it until she met me. She did not know whether the falconers +had even been outside, or whether they could go if they would. The books +in the house which Pelagie, the nurse, had taught her to read were +hundreds of years old. + +All this she told me with a sweet seriousness seldom seen in any one but +children. My own name she found easy to pronounce, and insisted, because +my first name was Philip, I must have French blood in me. She did not +seem curious to learn anything about the outside world, and I thought +perhaps she considered it had forfeited her interest and respect from the +stories of her nurse. + +We were still sitting at the table, and she was throwing grapes to the +small field birds which came fearlessly to our very feet. + +I began to speak in a vague way of going, but she would not hear of it, +and before I knew it I had promised to stay a week and hunt with hawk and +hound in their company. I also obtained permission to come again from +Kerselec and visit her after my return. + +"Why," she said innocently, "I do not know what I should do if you never +came back;" and I, knowing that I had no right to awaken her with the +sudden shock which the avowal of my own love would bring to her, sat +silent, hardly daring to breathe. + +"You will come very often?" she asked. + +"Very often," I said. + +"Every day?" + +"Every day." + +"Oh," she sighed, "I am very happy. Come and see my hawks." + +She rose and took my hand again with a childlike innocence of possession, +and we walked through the garden and fruit trees to a grassy lawn which +was bordered by a brook. Over the lawn were scattered fifteen or twenty +stumps of trees--partially imbedded in the grass--and upon all of these +except two sat falcons. They were attached to the stumps by thongs which +were in turn fastened with steel rivets to their legs just above the +talons. A little stream of pure spring water flowed in a winding course +within easy distance of each perch. + +The birds set up a clamour when the girl appeared, but she went from one +to another, caressing some, taking others for an instant upon her wrist, +or stooping to adjust their jesses. + +"Are they not pretty?" she said. "See, here is a falcon-gentil. We call +it 'ignoble,' because it takes the quarry in direct chase. This is a blue +falcon. In falconry we call it 'noble' because it rises over the quarry, +and wheeling, drops upon it from above. This white bird is a gerfalcon +from the north. It is also 'noble!' Here is a merlin, and this tiercelet +is a falcon-heroner." + +I asked her how she had learned the old language of falconry. She did not +remember, but thought her father must have taught it to her when she was +very young. + +Then she led me away and showed me the young falcons still in the nest. +"They are termed _niais_ in falconry," she explained. "A +_branchier_ is the young bird which is just able to leave the nest +and hop from branch to branch. A young bird which has not yet moulted is +called a _sors_, and a _mué_ is a hawk which has moulted in +captivity. When we catch a wild falcon which has changed its plumage we +term it a _hagard_. Raoul first taught me to dress a falcon. Shall I +teach you how it is done?" + +She seated herself on the bank of the stream among the falcons and I +threw myself at her feet to listen. + +Then the Demoiselle d'Ys held up one rosy-tipped finger and began very +gravely. + +"First one must catch the falcon." + +"I am caught," I answered. + +She laughed very prettily and told me my _dressage_ would perhaps be +difficult, as I was noble. + +"I am already tamed," I replied; "jessed and belled." + +She laughed, delighted. "Oh, my brave falcon; then you will return at my +call?" + +"I am yours," I answered gravely. + +She sat silent for a moment. Then the colour heightened in her cheeks and +she held up her finger again, saying, "Listen; I wish to speak of +falconry--" + +"I listen, Countess Jeanne d'Ys." + +But again she fell into the reverie, and her eyes seemed fixed on +something beyond the summer clouds. + +"Philip," she said at last. + +"Jeanne," I whispered. + +"That is all,--that is what I wished," she sighed,--"Philip and Jeanne." + +She held her hand toward me and I touched it with my lips. + +"Win me," she said, but this time it was the body and soul which spoke in +unison. + +After a while she began again: "Let us speak of falconry." + +"Begin," I replied; "we have caught the falcon." + +Then Jeanne d'Ys took my hand in both of hers and told me how with +infinite patience the young falcon was taught to perch upon the wrist, +how little by little it became used to the belled jesses and the +_chaperon à cornette_. + +"They must first have a good appetite," she said; "then little by little +I reduce their nourishment; which in falconry we call _pât_. When, +after many nights passed _au bloc_ as these birds are now, I prevail +upon the _hagard_ to stay quietly on the wrist, then the bird is +ready to be taught to come for its food. I fix the _pât_ to the end +of a thong, or _leurre_, and teach the bird to come to me as soon as +I begin to whirl the cord in circles about my head. At first I drop the +_pât_ when the falcon comes, and he eats the food on the ground. +After a little he will learn to seize the _leurre_ in motion as I +whirl it around my head or drag it over the ground. After this it is easy +to teach the falcon to strike at game, always remembering to _'faire +courtoisie á l'oiseau'_, that is, to allow the bird to taste the +quarry." + +A squeal from one of the falcons interrupted her, and she arose to adjust +the _longe_ which had become whipped about the _bloc_, but the +bird still flapped its wings and screamed. + +"What _is_ the matter?" she said. "Philip, can you see?" + +I looked around and at first saw nothing to cause the commotion, which +was now heightened by the screams and flapping of all the birds. Then my +eye fell upon the flat rock beside the stream from which the girl had +risen. A grey serpent was moving slowly across the surface of the +boulder, and the eyes in its flat triangular head sparkled like jet. + +"A couleuvre," she said quietly. + +"It is harmless, is it not?" I asked. + +She pointed to the black V-shaped figure on the neck. + +"It is certain death," she said; "it is a viper." + +We watched the reptile moving slowly over the smooth rock to where the +sunlight fell in a broad warm patch. + +I started forward to examine it, but she clung to my arm crying, "Don't, +Philip, I am afraid." + +"For me?" + +"For you, Philip,--I love you." + +Then I took her in my arms and kissed her on the lips, but all I could +say was: "Jeanne, Jeanne, Jeanne." And as she lay trembling on my breast, +something struck my foot in the grass below, but I did not heed it. Then +again something struck my ankle, and a sharp pain shot through me. I +looked into the sweet face of Jeanne d'Ys and kissed her, and with all my +strength lifted her in my arms and flung her from me. Then bending, I +tore the viper from my ankle and set my heel upon its head. I remember +feeling weak and numb,--I remember falling to the ground. Through my +slowly glazing eyes I saw Jeanne's white face bending close to mine, and +when the light in my eyes went out I still felt her arms about my neck, +and her soft cheek against my drawn lips. + + +When I opened my eyes, I looked around in terror. Jeanne was gone. I saw +the stream and the flat rock; I saw the crushed viper in the grass beside +me, but the hawks and _blocs_ had disappeared. I sprang to my feet. +The garden, the fruit trees, the drawbridge and the walled court were +gone. I stared stupidly at a heap of crumbling ruins, ivy-covered and +grey, through which great trees had pushed their way. I crept forward, +dragging my numbed foot, and as I moved, a falcon sailed from the +tree-tops among the ruins, and soaring, mounting in narrowing circles, +faded and vanished in the clouds above. + +"Jeanne, Jeanne," I cried, but my voice died on my lips, and I fell on my +knees among the weeds. And as God willed it, I, not knowing, had fallen +kneeling before a crumbling shrine carved in stone for our Mother of +Sorrows. I saw the sad face of the Virgin wrought in the cold stone. I +saw the cross and thorns at her feet, and beneath it I read: + + "PRAY FOR THE SOUL OF THE + DEMOISELLE JEANNE D'Ys, + WHO DIED + IN HER YOUTH FOR LOVE OF + PHILIP, A STRANGER. + A.D. 1573." + +But upon the icy slab lay a woman's glove still warm and fragrant. + + + + +THE PROPHETS' PARADISE + + "If but the Vine and Love Abjuring Band + Are in the Prophets' Paradise to stand, + Alack, I doubt the Prophets' Paradise, + Were empty as the hollow of one's hand." + + + + +THE STUDIO + +He smiled, saying, "Seek her throughout the world." + +I said, "Why tell me of the world? My world is here, between these walls +and the sheet of glass above; here among gilded flagons and dull jewelled +arms, tarnished frames and canvasses, black chests and high-backed +chairs, quaintly carved and stained in blue and gold." + +"For whom do you wait?" he said, and I answered, "When she comes I shall +know her." + +On my hearth a tongue of flame whispered secrets to the whitening ashes. +In the street below I heard footsteps, a voice, and a song. + +"For whom then do you wait?" he said, and I answered, "I shall know her." + +Footsteps, a voice, and a song in the street below, and I knew the song +but neither the steps nor the voice. + +"Fool!" he cried, "the song is the same, the voice and steps have but +changed with years!" + +On the hearth a tongue of flame whispered above the whitening ashes: +"Wait no more; they have passed, the steps and the voice in the street +below." + +Then he smiled, saying, "For whom do you wait? Seek her throughout the +world!" + +I answered, "My world is here, between these walls and the sheet of glass +above; here among gilded flagons and dull jewelled arms, tarnished frames +and canvasses, black chests and high-backed chairs, quaintly carved and +stained in blue and gold." + + + + +THE PHANTOM + +The Phantom of the Past would go no further. + +"If it is true," she sighed, "that you find in me a friend, let us turn +back together. You will forget, here, under the summer sky." + +I held her close, pleading, caressing; I seized her, white with anger, +but she resisted. + +"If it is true," she sighed, "that you find in me a friend, let us turn +back together." + +The Phantom of the Past would go no further. + + + + +THE SACRIFICE + +I went into a field of flowers, whose petals are whiter than snow and +whose hearts are pure gold. + +Far afield a woman cried, "I have killed him I loved!" and from a jar she +poured blood upon the flowers whose petals are whiter than snow and whose +hearts are pure gold. + +Far afield I followed, and on the jar I read a thousand names, while from +within the fresh blood bubbled to the brim. + +"I have killed him I loved!" she cried. "The world's athirst; now let it +drink!" She passed, and far afield I watched her pouring blood upon the +flowers whose petals are whiter than snow and whose hearts are pure gold. + + + + +DESTINY + +I came to the bridge which few may pass. + +"Pass!" cried the keeper, but I laughed, saying, "There is time;" and he +smiled and shut the gates. + +To the bridge which few may pass came young and old. All were refused. +Idly I stood and counted them, until, wearied of their noise and +lamentations, I came again to the bridge which few may pass. + +Those in the throng about the gates shrieked out, "He comes too late!" +But I laughed, saying, "There is time." + +"Pass!" cried the keeper as I entered; then smiled and shut the gates. + + + + +THE THRONG + +There, where the throng was thickest in the street, I stood with Pierrot. +All eyes were turned on me. + +"What are they laughing at?" I asked, but he grinned, dusting the chalk +from my black cloak. "I cannot see; it must be something droll, perhaps +an honest thief!" + +All eyes were turned on me. + +"He has robbed you of your purse!" they laughed. + +"My purse!" I cried; "Pierrot--help! it is a thief!" + +They laughed: "He has robbed you of your purse!" + +Then Truth stepped out, holding a mirror. "If he is an honest thief," +cried Truth, "Pierrot shall find him with this mirror!" but he only +grinned, dusting the chalk from my black cloak. + +"You see," he said, "Truth is an honest thief, she brings you back your +mirror." + +All eyes were turned on me. + +"Arrest Truth!" I cried, forgetting it was not a mirror but a purse I +lost, standing with Pierrot, there, where the throng was thickest in the +street. + + + + +THE JESTER + +"Was she fair?" I asked, but he only chuckled, listening to the bells +jingling on his cap. + +"Stabbed," he tittered. "Think of the long journey, the days of peril, +the dreadful nights! Think how he wandered, for her sake, year after +year, through hostile lands, yearning for kith and kin, yearning for +her!" + +"Stabbed," he tittered, listening to the bells jingling on his cap. + +"Was she fair?" I asked, but he only snarled, muttering to the bells +jingling on his cap. + +"She kissed him at the gate," he tittered, "but in the hall his brother's +welcome touched his heart." + +"Was she fair?" I asked. + +"Stabbed," he chuckled. "Think of the long journey, the days of peril, +the dreadful nights! Think how he wandered, for her sake, year after year +through hostile lands, yearning for kith and kin, yearning for her!" + +"She kissed him at the gate, but in the hall his brother's welcome +touched his heart." + +"Was she fair?" I asked; but he only snarled, listening to the bells +jingling in his cap. + + + + +THE GREEN ROOM + +The Clown turned his powdered face to the mirror. + +"If to be fair is to be beautiful," he said, "who can compare with me in +my white mask?" + +"Who can compare with him in his white mask?" I asked of Death beside me. + +"Who can compare with me?" said Death, "for I am paler still." + +"You are very beautiful," sighed the Clown, turning his powdered face +from the mirror. + + + + +THE LOVE TEST + +"If it is true that you love," said Love, "then wait no longer. Give her +these jewels which would dishonour her and so dishonour you in loving +one dishonoured. If it is true that you love," said Love, "then wait no +longer." + +I took the jewels and went to her, but she trod upon them, sobbing: +"Teach me to wait--I love you!" + +"Then wait, if it is true," said Love. + + + + +THE STREET OF THE FOUR WINDS + + "Ferme tes yeux à demi, + Croise tes bras sur ton sein, + Et de ton coeur endormi + Chasse à jamais tout dessein." + + "Je chante la nature, + Les étoiles du soir, les larmes du matin, + Les couchers de soleil à l'horizon lointain, + Le ciel qui parle au coeur d'existence future!" + + +I + +The animal paused on the threshold, interrogative alert, ready for flight +if necessary. Severn laid down his palette, and held out a hand of +welcome. The cat remained motionless, her yellow eyes fastened upon +Severn. + +"Puss," he said, in his low, pleasant voice, "come in." + +The tip of her thin tail twitched uncertainly. + +"Come in," he said again. + +Apparently she found his voice reassuring, for she slowly settled upon all +fours, her eyes still fastened upon him, her tail tucked under her gaunt +flanks. + +He rose from his easel smiling. She eyed him quietly, and when he walked +toward her she watched him bend above her without a wince; her eyes +followed his hand until it touched her head. Then she uttered a ragged +mew. + +It had long been Severn's custom to converse with animals, probably +because he lived so much alone; and now he said, "What's the matter, +puss?" + +Her timid eyes sought his. + +"I understand," he said gently, "you shall have it at once." + +Then moving quietly about he busied himself with the duties of a host, +rinsed a saucer, filled it with the rest of the milk from the bottle on +the window-sill, and kneeling down, crumbled a roll into the hollow of his +hand. + +The creature rose and crept toward the saucer. + +With the handle of a palette-knife he stirred the crumbs and milk together +and stepped back as she thrust her nose into the mess. He watched her in +silence. From time to time the saucer clinked upon the tiled floor as she +reached for a morsel on the rim; and at last the bread was all gone, and +her purple tongue travelled over every unlicked spot until the saucer +shone like polished marble. Then she sat up, and coolly turning her back +to him, began her ablutions. + +"Keep it up," said Severn, much interested, "you need it." + +She flattened one ear, but neither turned nor interrupted her toilet. As +the grime was slowly removed Severn observed that nature had intended her +for a white cat. Her fur had disappeared in patches, from disease or the +chances of war, her tail was bony and her spine sharp. But what charms she +had were becoming apparent under vigorous licking, and he waited until she +had finished before re-opening the conversation. When at last she closed +her eyes and folded her forepaws under her breast, he began again very +gently: "Puss, tell me your troubles." + +At the sound of his voice she broke into a harsh rumbling which he +recognized as an attempt to purr. He bent over to rub her cheek and she +mewed again, an amiable inquiring little mew, to which he replied, +"Certainly, you are greatly improved, and when you recover your plumage +you will be a gorgeous bird." Much flattered, she stood up and marched +around and around his legs, pushing her head between them and making +pleased remarks, to which he responded with grave politeness. + +"Now, what sent you here," he said--"here into the Street of the Four +Winds, and up five flights to the very door where you would be welcome? +What was it that prevented your meditated flight when I turned from my +canvas to encounter your yellow eyes? Are you a Latin Quarter cat as I am +a Latin Quarter man? And why do you wear a rose-coloured flowered garter +buckled about your neck?" The cat had climbed into his lap, and now sat +purring as he passed his hand over her thin coat. + +"Excuse me," he continued in lazy soothing tones, harmonizing with her +purring, "if I seem indelicate, but I cannot help musing on this +rose-coloured garter, flowered so quaintly and fastened with a silver +clasp. For the clasp is silver; I can see the mint mark on the edge, as is +prescribed by the law of the French Republic. Now, why is this garter +woven of rose silk and delicately embroidered,--why is this silken garter +with its silver clasp about your famished throat? Am I indiscreet when I +inquire if its owner is your owner? Is she some aged dame living in memory +of youthful vanities, fond, doting on you, decorating you with her +intimate personal attire? The circumference of the garter would suggest +this, for your neck is thin, and the garter fits you. But then again I +notice--I notice most things--that the garter is capable of being much +enlarged. These small silver-rimmed eyelets, of which I count five, are +proof of that. And now I observe that the fifth eyelet is worn out, as +though the tongue of the clasp were accustomed to lie there. That seems to +argue a well-rounded form." + +The cat curled her toes in contentment. The street was very still outside. + +He murmured on: "Why should your mistress decorate you with an article +most necessary to her at all times? Anyway, at most times. How did she +come to slip this bit of silk and silver about your neck? Was it the +caprice of a moment,--when you, before you had lost your pristine +plumpness, marched singing into her bedroom to bid her good-morning? Of +course, and she sat up among the pillows, her coiled hair tumbling to her +shoulders, as you sprang upon the bed purring: 'Good-day, my lady.' Oh, it +is very easy to understand," he yawned, resting his head on the back of +the chair. The cat still purred, tightening and relaxing her padded claws +over his knee. + +"Shall I tell you all about her, cat? She is very beautiful--your +mistress," he murmured drowsily, "and her hair is heavy as burnished +gold. I could paint her,--not on canvas--for I should need shades and +tones and hues and dyes more splendid than the iris of a splendid rainbow. +I could only paint her with closed eyes, for in dreams alone can such +colours as I need be found. For her eyes, I must have azure from skies +untroubled by a cloud--the skies of dreamland. For her lips, roses from +the palaces of slumberland, and for her brow, snow-drifts from mountains +which tower in fantastic pinnacles to the moons;--oh, much higher than our +moon here,--the crystal moons of dreamland. She is--very--beautiful, your +mistress." + +The words died on his lips and his eyelids drooped. + +The cat, too, was asleep, her cheek turned up upon her wasted flank, her +paws relaxed and limp. + + + + +II + +"It is fortunate," said Severn, sitting up and stretching, "that we have +tided over the dinner hour, for I have nothing to offer you for supper but +what may be purchased with one silver franc." + +The cat on his knee rose, arched her back, yawned, and looked up at him. + +"What shall it be? A roast chicken with salad? No? Possibly you prefer +beef? Of course,--and I shall try an egg and some white bread. Now for the +wines. Milk for you? Good. I shall take a little water, fresh from the +wood," with a motion toward the bucket in the sink. + +He put on his hat and left the room. The cat followed to the door, and +after he had closed it behind him, she settled down, smelling at the +cracks, and cocking one ear at every creak from the crazy old building. + +The door below opened and shut. The cat looked serious, for a moment +doubtful, and her ears flattened in nervous expectation. Presently she +rose with a jerk of her tail and started on a noiseless tour of the +studio. She sneezed at a pot of turpentine, hastily retreating to the +table, which she presently mounted, and having satisfied her curiosity +concerning a roll of red modelling wax, returned to the door and sat down +with her eyes on the crack over the threshold Then she lifted her voice in +a thin plaint. + +When Severn returned he looked grave, but the cat, joyous and +demonstrative, marched around him, rubbing her gaunt body against his +legs, driving her head enthusiastically into his hand, and purring until +her voice mounted to a squeal. + +He placed a bit of meat, wrapped in brown paper, upon the table, and with +a penknife cut it into shreds. The milk he took from a bottle which had +served for medicine, and poured it into the saucer on the hearth. + +The cat crouched before it, purring and lapping at the same time. + +He cooked his egg and ate it with a slice of bread, watching her busy with +the shredded meat, and when he had finished, and had filled and emptied a +cup of water from the bucket in the sink, he sat down, taking her into his +lap, where she at once curled up and began her toilet. He began to speak +again, touching her caressingly at times by way of emphasis. + +"Cat, I have found out where your mistress lives. It is not very far +away;--it is here, under this same leaky roof, but in the north wing which +I had supposed was uninhabited. My janitor tells me this. By chance, he is +almost sober this evening. The butcher on the rue de Seine, where I bought +your meat, knows you, and old Cabane the baker identified you with +needless sarcasm. They tell me hard tales of your mistress which I shall +not believe. They say she is idle and vain and pleasure-loving; they say +she is hare-brained and reckless. The little sculptor on the ground floor, +who was buying rolls from old Cabane, spoke to me to-night for the first +time, although we have always bowed to each other. He said she was very +good and very beautiful. He has only seen her once, and does not know her +name. I thanked him;--I don't know why I thanked him so warmly. Cabane +said, 'Into this cursed Street of the Four Winds, the four winds blow all +things evil.' The sculptor looked confused, but when he went out with his +rolls, he said to me, 'I am sure, Monsieur, that she is as good as she is +beautiful.'" + +The cat had finished her toilet, and now, springing softly to the floor, +went to the door and sniffed. He knelt beside her, and unclasping the +garter held it for a moment in his hands. After a while he said: "There is +a name engraved upon the silver clasp beneath the buckle. It is a pretty +name, Sylvia Elven. Sylvia is a woman's name, Elven is the name of a town. +In Paris, in this quarter, above all, in this Street of the Four Winds, +names are worn and put away as the fashions change with the seasons. I +know the little town of Elven, for there I met Fate face to face and Fate +was unkind. But do you know that in Elven Fate had another name, and that +name was Sylvia?" + +He replaced the garter and stood up looking down at the cat crouched +before the closed door. + +"The name of Elven has a charm for me. It tells me of meadows and clear +rivers. The name of Sylvia troubles me like perfume from dead flowers." + +The cat mewed. + +"Yes, yes," he said soothingly, "I will take you back. Your Sylvia is not +my Sylvia; the world is wide and Elven is not unknown. Yet in the darkness +and filth of poorer Paris, in the sad shadows of this ancient house, these +names are very pleasant to me." + +He lifted her in his arms and strode through the silent corridors to the +stairs. Down five flights and into the moonlit court, past the little +sculptor's den, and then again in at the gate of the north wing and up the +worm-eaten stairs he passed, until he came to a closed door. When he had +stood knocking for a long time, something moved behind the door; it opened +and he went in. The room was dark. As he crossed the threshold, the cat +sprang from his arms into the shadows. He listened but heard nothing. The +silence was oppressive and he struck a match. At his elbow stood a table +and on the table a candle in a gilded candlestick. This he lighted, then +looked around. The chamber was vast, the hangings heavy with embroidery. +Over the fireplace towered a carved mantel, grey with the ashes of dead +fires. In a recess by the deep-set windows stood a bed, from which the +bedclothes, soft and fine as lace, trailed to the polished floor. He +lifted the candle above his head. A handkerchief lay at his feet. It was +faintly perfumed. He turned toward the windows. In front of them was a +_canapé_ and over it were flung, pell-mell, a gown of silk, a heap of +lace-like garments, white and delicate as spiders' meshes, long, crumpled +gloves, and, on the floor beneath, the stockings, the little pointed +shoes, and one garter of rosy silk, quaintly flowered and fitted with a +silver clasp. Wondering, he stepped forward and drew the heavy curtains +from the bed. For a moment the candle flared in his hand; then his eyes +met two other eyes, wide open, smiling, and the candle-flame flashed over +hair heavy as gold. + +She was pale, but not as white as he; her eyes were untroubled as a +child's; but he stared, trembling from head to foot, while the candle +flickered in his hand. + +At last he whispered: "Sylvia, it is I." + +Again he said, "It is I." + +Then, knowing that she was dead, he kissed her on the mouth. And through +the long watches of the night the cat purred on his knee, tightening and +relaxing her padded claws, until the sky paled above the Street of the +Four Winds. + + + + +THE STREET OF THE FIRST SHELL + + + "Be of Good Cheer, the Sullen Month will die, + And a young Moon requite us by and by: + Look how the Old one, meagre, bent, and wan + With age and Fast, is fainting from the sky." + +The room was already dark. The high roofs opposite cut off what little +remained of the December daylight. The girl drew her chair nearer the +window, and choosing a large needle, threaded it, knotting the thread over +her fingers. Then she smoothed the baby garment across her knees, and +bending, bit off the thread and drew the smaller needle from where it +rested in the hem. When she had brushed away the stray threads and bits of +lace, she laid it again over her knees caressingly. Then she slipped the +threaded needle from her corsage and passed it through a button, but as +the button spun down the thread, her hand faltered, the thread snapped, +and the button rolled across the floor. She raised her head. Her eyes were +fixed on a strip of waning light above the chimneys. From somewhere in the +city came sounds like the distant beating of drums, and beyond, far +beyond, a vague muttering, now growing, swelling, rumbling in the distance +like the pounding of surf upon the rocks, now like the surf again, +receding, growling, menacing. The cold had become intense, a bitter +piercing cold which strained and snapped at joist and beam and turned the +slush of yesterday to flint. From the street below every sound broke sharp +and metallic--the clatter of sabots, the rattle of shutters or the rare +sound of a human voice. The air was heavy, weighted with the black cold as +with a pall. To breathe was painful, to move an effort. + +In the desolate sky there was something that wearied, in the brooding +clouds, something that saddened. It penetrated the freezing city cut by +the freezing river, the splendid city with its towers and domes, its quays +and bridges and its thousand spires. It entered the squares, it seized the +avenues and the palaces, stole across bridges and crept among the narrow +streets of the Latin Quarter, grey under the grey of the December sky. +Sadness, utter sadness. A fine icy sleet was falling, powdering the +pavement with a tiny crystalline dust. It sifted against the window-panes +and drifted in heaps along the sill. The light at the window had nearly +failed, and the girl bent low over her work. Presently she raised her +head, brushing the curls from her eyes. + +"Jack?" + +"Dearest?" + +"Don't forget to clean your palette." + +He said, "All right," and picking up the palette, sat down upon the floor +in front of the stove. His head and shoulders were in the shadow, but the +firelight fell across his knees and glimmered red on the blade of the +palette-knife. Full in the firelight beside him stood a colour-box. On the +lid was carved, + + J. TRENT. + Ecole des Beaux Arts. + 1870. + +This inscription was ornamented with an American and a French flag. + +The sleet blew against the window-panes, covering them with stars and +diamonds, then, melting from the warmer air within, ran down and froze +again in fern-like traceries. + +A dog whined and the patter of small paws sounded on the zinc behind the +stove. + +"Jack, dear, do you think Hercules is hungry?" + +The patter of paws was redoubled behind the stove. + +"He's whining," she continued nervously, "and if it isn't because he's +hungry it is because--" + +Her voice faltered. A loud humming filled the air, the windows vibrated. + +"Oh, Jack," she cried, "another--" but her voice was drowned in the scream +of a shell tearing through the clouds overhead. + +"That is the nearest yet," she murmured. + +"Oh, no," he answered cheerfully, "it probably fell way over by +Montmartre," and as she did not answer, he said again with exaggerated +unconcern, "They wouldn't take the trouble to fire at the Latin Quarter; +anyway they haven't a battery that can hurt it." + +After a while she spoke up brightly: "Jack, dear, when are you going to +take me to see Monsieur West's statues?" + +"I will bet," he said, throwing down his palette and walking over to the +window beside her, "that Colette has been here to-day." + +"Why?" she asked, opening her eyes very wide. Then, "Oh, it's too +bad!--really, men are tiresome when they think they know everything! And I +warn you that if Monsieur West is vain enough to imagine that Colette--" + +From the north another shell came whistling and quavering through the sky, +passing above them with long-drawn screech which left the windows singing. + +"That," he blurted out, "was too near for comfort." + +They were silent for a while, then he spoke again gaily: "Go on, Sylvia, +and wither poor West;" but she only sighed, "Oh, dear, I can never seem to +get used to the shells." + +He sat down on the arm of the chair beside her. + +Her scissors fell jingling to the floor; she tossed the unfinished frock +after them, and putting both arms about his neck drew him down into her +lap. + +"Don't go out to-night, Jack." + +He kissed her uplifted face; "You know I must; don't make it hard for me." + +"But when I hear the shells and--and know you are out in the city--" + +"But they all fall in Montmartre--" + +"They may all fall in the Beaux Arts; you said yourself that two struck +the Quai d'Orsay--" + +"Mere accident--" + +"Jack, have pity on me! Take me with you!" + +"And who will there be to get dinner?" + +She rose and flung herself on the bed. + +"Oh, I can't get used to it, and I know you must go, but I beg you not to +be late to dinner. If you knew what I suffer! I--I--cannot help it, and +you must be patient with me, dear." + +He said, "It is as safe there as it is in our own house." + +She watched him fill for her the alcohol lamp, and when he had lighted it +and had taken his hat to go, she jumped up and clung to him in silence. +After a moment he said: "Now, Sylvia, remember my courage is sustained by +yours. Come, I must go!" She did not move, and he repeated: "I must go." +Then she stepped back and he thought she was going to speak and waited, +but she only looked at him, and, a little impatiently, he kissed her +again, saying: "Don't worry, dearest." + +When he had reached the last flight of stairs on his way to the street a +woman hobbled out of the house-keeper's lodge waving a letter and calling: +"Monsieur Jack! Monsieur Jack! this was left by Monsieur Fallowby!" + +He took the letter, and leaning on the threshold of the lodge, read it: + +"Dear Jack, + +"I believe Braith is dead broke and I'm sure Fallowby is. Braith swears he +isn't, and Fallowby swears he is, so you can draw your own conclusions. +I've got a scheme for a dinner, and if it works, I will let you fellows +in. + +"Yours faithfully, + +"West. + +"P.S.--Fallowby has shaken Hartman and his gang, thank the Lord! There is +something rotten there,--or it may be he's only a miser. + +"P.P.S.--I'm more desperately in love than ever, but I'm sure she does not +care a straw for me." + +"All right," said Trent, with a smile, to the concierge; "but tell me, how +is Papa Cottard?" + +The old woman shook her head and pointed to the curtained bed in the +lodge. + +"Père Cottard!" he cried cheerily, "how goes the wound to-day?" + +He walked over to the bed and drew the curtains. An old man was lying +among the tumbled sheets. + +"Better?" smiled Trent. + +"Better," repeated the man wearily; and, after a pause, "Have you any +news, Monsieur Jack?" + +"I haven't been out to-day. I will bring you any rumour I may hear, though +goodness knows I've got enough of rumours," he muttered to himself. Then +aloud: "Cheer up; you're looking better." + +"And the sortie?" + +"Oh, the sortie, that's for this week. General Trochu sent orders last +night." + +"It will be terrible." + +"It will be sickening," thought Trent as he went not into the street and +turned the corner toward the rue de Seine; "slaughter, slaughter, phew! +I'm glad I'm not going." + +The street was almost deserted. A few women muffled in tattered military +capes crept along the frozen pavement, and a wretchedly clad gamin hovered +over the sewer-hole on the corner of the Boulevard. A rope around his +waist held his rags together. From the rope hung a rat, still warm and +bleeding. + +"There's another in there," he yelled at Trent; "I hit him but he got +away." + +Trent crossed the street and asked: "How much?" + +"Two francs for a quarter of a fat one; that's what they give at the St. +Germain Market." + +A violent fit of coughing interrupted him, but he wiped his face with the +palm of his hand and looked cunningly at Trent. + +"Last week you could buy a rat for six francs, but," and here he swore +vilely, "the rats have quit the rue de Seine and they kill them now over +by the new hospital. I'll let you have this for seven francs; I can sell +it for ten in the Isle St. Louis." + +"You lie," said Trent, "and let me tell you that if you try to swindle +anybody in this quarter the people will make short work of you and your +rats." + +He stood a moment eyeing the gamin, who pretended to snivel. Then he +tossed him a franc, laughing. The child caught it, and thrusting it into +his mouth wheeled about to the sewer-hole. For a second he crouched, +motionless, alert, his eyes on the bars of the drain, then leaping forward +he hurled a stone into the gutter, and Trent left him to finish a fierce +grey rat that writhed squealing at the mouth of the sewer. + +"Suppose Braith should come to that," he thought; "poor little chap;" and +hurrying, he turned in the dirty passage des Beaux Arts and entered the +third house to the left. + +"Monsieur is at home," quavered the old concierge. + +Home? A garret absolutely bare, save for the iron bedstead in the corner +and the iron basin and pitcher on the floor. + +West appeared at the door, winking with much mystery, and motioned Trent +to enter. Braith, who was painting in bed to keep warm, looked up, +laughed, and shook hands. + +"Any news?" + +The perfunctory question was answered as usual by: "Nothing but the +cannon." + +Trent sat down on the bed. + +"Where on earth did you get that?" he demanded, pointing to a +half-finished chicken nestling in a wash-basin. + +West grinned. + +"Are you millionaires, you two? Out with it." + +Braith, looking a little ashamed, began, "Oh, it's one of West's +exploits," but was cut short by West, who said he would tell the story +himself. + +"You see, before the siege, I had a letter of introduction to a '_type_' +here, a fat banker, German-American variety. You know the species, I see. +Well, of course I forgot to present the letter, but this morning, judging +it to be a favourable opportunity, I called on him. + +"The villain lives in comfort;--fires, my boy!--fires in the ante-rooms! +The Buttons finally condescends to carry my letter and card up, leaving me +standing in the hallway, which I did not like, so I entered the first room +I saw and nearly fainted at the sight of a banquet on a table by the fire. +Down comes Buttons, very insolent. No, oh, no, his master, 'is not at +home, and in fact is too busy to receive letters of introduction just now; +the siege, and many business difficulties--' + +"I deliver a kick to Buttons, pick up this chicken from the table, toss my +card on to the empty plate, and addressing Buttons as a species of +Prussian pig, march out with the honours of war." + +Trent shook his head. + +"I forgot to say that Hartman often dines there, and I draw my own +conclusions," continued West. "Now about this chicken, half of it is for +Braith and myself, and half for Colette, but of course you will help me +eat my part because I'm not hungry." + +"Neither am I," began Braith, but Trent, with a smile at the pinched faces +before him, shook his head saying, "What nonsense! You know I'm never +hungry!" + +West hesitated, reddened, and then slicing off Braith's portion, but not +eating any himself, said good-night, and hurried away to number 470 rue +Serpente, where lived a pretty girl named Colette, orphan after Sedan, and +Heaven alone knew where she got the roses in her cheeks, for the siege +came hard on the poor. + +"That chicken will delight her, but I really believe she's in love with +West," said Trent. Then walking over to the bed: "See here, old man, no +dodging, you know, how much have you left?" + +The other hesitated and flushed. + +"Come, old chap," insisted Trent. + +Braith drew a purse from beneath his bolster, and handed it to his friend +with a simplicity that touched him. + +"Seven sons," he counted; "you make me tired! Why on earth don't you come +to me? I take it d----d ill, Braith! How many times must I go over the same +thing and explain to you that because I have money it is my duty to share +it, and your duty and the duty of every American to share it with me? You +can't get a cent, the city's blockaded, and the American Minister has his +hands full with all the German riff-raff and deuce knows what! Why don't +you act sensibly?" + +"I--I will, Trent, but it's an obligation that perhaps I can never even in +part repay, I'm poor and--" + +"Of course you'll pay me! If I were a usurer I would take your talent for +security. When you are rich and famous--" + +"Don't, Trent--" + +"All right, only no more monkey business." + +He slipped a dozen gold pieces into the purse, and tucking it again under +the mattress smiled at Braith. + +"How old are you?" he demanded. + +"Sixteen." + +Trent laid his hand lightly on his friend's shoulder. "I'm twenty-two, and +I have the rights of a grandfather as far as you are concerned. You'll do +as I say until you're twenty-one." + +"The siège will be over then, I hope," said Braith, trying to laugh, but +the prayer in their hearts: "How long, O Lord, how long!" was answered by +the swift scream of a shell soaring among the storm-clouds of that +December night. + + + + +II + +West, standing in the doorway of a house in the rue Serpentine, was +speaking angrily. He said he didn't care whether Hartman liked it or not; +he was telling him, not arguing with him. + +"You call yourself an American!" he sneered; "Berlin and hell are full of +that kind of American. You come loafing about Colette with your pockets +stuffed with white bread and beef, and a bottle of wine at thirty francs +and you can't really afford to give a dollar to the American Ambulance and +Public Assistance, which Braith does, and he's half starved!" + +Hartman retreated to the curbstone, but West followed him, his face like a +thunder-cloud. "Don't you dare to call yourself a countryman of mine," he +growled,--"no,--nor an artist either! Artists don't worm themselves into +the service of the Public Defence where they do nothing but feed like rats +on the people's food! And I'll tell you now," he continued dropping his +voice, for Hartman had started as though stung, "you might better keep +away from that Alsatian Brasserie and the smug-faced thieves who haunt it. +You know what they do with suspects!" + +"You lie, you hound!" screamed Hartman, and flung the bottle in his hand +straight at West's face. West had him by the throat in a second, and +forcing him against the dead wall shook him wickedly. + +"Now you listen to me," he muttered, through his clenched teeth. "You are +already a suspect and--I swear--I believe you are a paid spy! It isn't my +business to detect such vermin, and I don't intend to denounce you, but +understand this! Colette don't like you and I can't stand you, and if I +catch you in this street again I'll make it somewhat unpleasant. Get out, +you sleek Prussian!" + +Hartman had managed to drag a knife from his pocket, but West tore it from +him and hurled him into the gutter. A gamin who had seen this burst into a +peal of laughter, which rattled harshly in the silent street. Then +everywhere windows were raised and rows of haggard faces appeared +demanding to know why people should laugh in the starving city. + +"Is it a victory?" murmured one. + +"Look at that," cried West as Hartman picked himself up from the pavement, +"look! you miser! look at those faces!" But Hartman gave _him_ a look +which he never forgot, and walked away without a word. Trent, who suddenly +appeared at the corner, glanced curiously at West, who merely nodded +toward his door saying, "Come in; Fallowby's upstairs." + +"What are you doing with that knife?" demanded Fallowby, as he and Trent +entered the studio. + +West looked at his wounded hand, which still clutched the knife, but +saying, "Cut myself by accident," tossed it into a corner and washed the +blood from his fingers. + +Fallowby, fat and lazy, watched him without comment, but Trent, half +divining how things had turned, walked over to Fallowby smiling. + +"I've a bone to pick with you!" he said. + +"Where is it? I'm hungry," replied Fallowby with affected eagerness, but +Trent, frowning, told him to listen. + +"How much did I advance you a week ago?" + +"Three hundred and eighty francs," replied the other, with a squirm of +contrition. + +"Where is it?" + +Fallowby began a series of intricate explanations, which were soon cut +short by Trent. + +"I know; you blew it in;--you always blow it in. I don't care a rap what +you did before the siege: I know you are rich and have a right to dispose +of your money as you wish to, and I also know that, generally speaking, it +is none of my business. But _now_ it is my business, as I have to supply +the funds until you get some more, which you won't until the siege is +ended one way or another. I wish to share what I have, but I won't see it +thrown out of the window. Oh, yes, of course I know you will reimburse me, +but that isn't the question; and, anyway, it's the opinion of your +friends, old man, that you will not be worse off for a little abstinence +from fleshly pleasures. You are positively a freak in this famine-cursed +city of skeletons!" + +"I _am_ rather stout," he admitted. + +"Is it true you are out of money?" demanded Trent. + +"Yes, I am," sighed the other. + +"That roast sucking pig on the rue St. Honoré,--is it there yet?" +continued Trent. + +"Wh--at?" stammered the feeble one. + +"Ah--I thought so! I caught you in ecstasy before that sucking pig at +least a dozen times!" + +Then laughing, he presented Fallowby with a roll of twenty franc pieces +saying: "If these go for luxuries you must live on your own flesh," and +went over to aid West, who sat beside the wash-basin binding up his hand. + +West suffered him to tie the knot, and then said: "You remember, +yesterday, when I left you and Braith to take the chicken to Colette." + +"Chicken! Good heavens!" moaned Fallowby. + +"Chicken," repeated West, enjoying Fallowby's grief;--"I--that is, I must +explain that things are changed. Colette and I--are to be married--" + +"What--what about the chicken?" groaned Fallowby. + +"Shut up!" laughed Trent, and slipping his arm through West's, walked to +the stairway. + +"The poor little thing," said West, "just think, not a splinter of +firewood for a week and wouldn't tell me because she thought I needed +it for my clay figure. Whew! When I heard it I smashed that smirking +clay nymph to pieces, and the rest can freeze and be hanged!" After a +moment he added timidly: "Won't you call on your way down and say _bon +soir_? It's No. 17." + +"Yes," said Trent, and he went out softly closing the door behind. + +He stopped on the third landing, lighted a match, scanned the numbers over +the row of dingy doors, and knocked at No. 17. + +"C'est toi Georges?" The door opened. + +"Oh, pardon, Monsieur Jack, I thought it was Monsieur West," then blushing +furiously, "Oh, I see you have heard! Oh, thank you so much for your +wishes, and I'm sure we love each other very much,--and I'm dying to see +Sylvia and tell her and--" + +"And what?" laughed Trent. + +"I am very happy," she sighed. + +"He's pure gold," returned Trent, and then gaily: "I want you and George +to come and dine with us to-night. It's a little treat,--you see to-morrow +is Sylvia's _fête_. She will be nineteen. I have written to Thorne, and +the Guernalecs will come with their cousin Odile. Fallowby has engaged not +to bring anybody but himself." + +The girl accepted shyly, charging him with loads of loving messages to +Sylvia, and he said good-night. + +He started up the street, walking swiftly, for it was bitter cold, and +cutting across the rue de la Lune he entered the rue de Seine. The early +winter night had fallen, almost without warning, but the sky was clear and +myriads of stars glittered in the heavens. The bombardment had become +furious--a steady rolling thunder from the Prussian cannon punctuated by +the heavy shocks from Mont Valérien. + +The shells streamed across the sky leaving trails like shooting stars, and +now, as he turned to look back, rockets blue and red flared above the +horizon from the Fort of Issy, and the Fortress of the North flamed like a +bonfire. + +"Good news!" a man shouted over by the Boulevard St. Germain. As if by +magic the streets were filled with people,--shivering, chattering people +with shrunken eyes. + +"Jacques!" cried one. "The Army of the Loire!" + +"Eh! _mon vieux_, it has come then at last! I told thee! I told thee! +To-morrow--to-night--who knows?" + +"Is it true? Is it a sortie?" + +Some one said: "Oh, God--a sortie--and my son?" Another cried: "To the +Seine? They say one can see the signals of the Army of the Loire from the +Pont Neuf." + +There was a child standing near Trent who kept repeating: "Mamma, Mamma, +then to-morrow we may eat white bread?" and beside him, an old man +swaying, stumbling, his shrivelled hands crushed to his breast, muttering +as if insane. + +"Could it be true? Who has heard the news? The shoemaker on the rue de +Buci had it from a Mobile who had heard a Franctireur repeat it to a +captain of the National Guard." + +Trent followed the throng surging through the rue de Seine to the river. + +Rocket after rocket clove the sky, and now, from Montmartre, the cannon +clanged, and the batteries on Montparnasse joined in with a crash. The +bridge was packed with people. + +Trent asked: "Who has seen the signals of the Army of the Loire?" + +"We are waiting for them," was the reply. + +He looked toward the north. Suddenly the huge silhouette of the Arc de +Triomphe sprang into black relief against the flash of a cannon. The boom +of the gun rolled along the quay and the old bridge vibrated. + +Again over by the Point du Jour a flash and heavy explosion shook the +bridge, and then the whole eastern bastion of the fortifications blazed +and crackled, sending a red flame into the sky. + +"Has any one seen the signals yet?" he asked again. + +"We are waiting," was the reply. + +"Yes, waiting," murmured a man behind him, "waiting, sick, starved, +freezing, but waiting. Is it a sortie? They go gladly. Is it to starve? +They starve. They have no time to think of surrender. Are they +heroes,--these Parisians? Answer me, Trent!" + +The American Ambulance surgeon turned about and scanned the parapets of +the bridge. + +"Any news, Doctor," asked Trent mechanically. + +"News?" said the doctor; "I don't know any;--I haven't time to know any. +What are these people after?" + +"They say that the Army of the Loire has signalled Mont Valérien." + +"Poor devils." The doctor glanced about him for an instant, and then: "I'm +so harried and worried that I don't know what to do. After the last sortie +we had the work of fifty ambulances on our poor little corps. To-morrow +there's another sortie, and I wish you fellows could come over to +headquarters. We may need volunteers. How is madame?" he added abruptly. + +"Well," replied Trent, "but she seems to grow more nervous every day. I +ought to be with her now." + +"Take care of her," said the doctor, then with a sharp look at the people: +"I can't stop now--goodnight!" and he hurried away muttering, "Poor +devils!" + +Trent leaned over the parapet and blinked at the black river surging +through the arches. Dark objects, carried swiftly on the breast of the +current, struck with a grinding tearing noise against the stone piers, +spun around for an instant, and hurried away into the darkness. The ice +from the Marne. + +As he stood staring into the water, a hand was laid on his shoulder. +"Hello, Southwark!" he cried, turning around; "this is a queer place for +you!" + +"Trent, I have something to tell you. Don't stay here,--don't believe in +the Army of the Loire:" and the _attaché_ of the American Legation slipped +his arm through Trent's and drew him toward the Louvre. + +"Then it's another lie!" said Trent bitterly. + +"Worse--we know at the Legation--I can't speak of it. But that's not what +I have to say. Something happened this afternoon. The Alsatian Brasserie +was visited and an American named Hartman has been arrested. Do you know +him?" + +"I know a German who calls himself an American;--his name is Hartman." + +"Well, he was arrested about two hours ago. They mean to shoot him." + +"What!" + +"Of course we at the Legation can't allow them to shoot him off-hand, but +the evidence seems conclusive." + +"Is he a spy?" + +"Well, the papers seized in his rooms are pretty damning proofs, and +besides he was caught, they say, swindling the Public Food Committee. He +drew rations for fifty, how, I don't know. He claims to be an American +artist here, and we have been obliged to take notice of it at the +Legation. It's a nasty affair." + +"To cheat the people at such a time is worse than robbing the poor-box," +cried Trent angrily. "Let them shoot him!" + +"He's an American citizen." + +"Yes, oh yes," said the other with bitterness. "American citizenship is a +precious privilege when every goggle-eyed German--" His anger choked him. + +Southwark shook hands with him warmly. "It can't be helped, we must own +the carrion. I am afraid you may be called upon to identify him as an +American artist," he said with a ghost of a smile on his deep-lined face; +and walked away through the Cours la Reine. + +Trent swore silently for a moment and then drew out his watch. Seven +o'clock. "Sylvia will be anxious," he thought, and hurried back to the +river. The crowd still huddled shivering on the bridge, a sombre pitiful +congregation, peering out into the night for the signals of the Army of +the Loire: and their hearts beat time to the pounding of the guns, their +eyes lighted with each flash from the bastions, and hope rose with the +drifting rockets. + +A black cloud hung over the fortifications. From horizon to horizon the +cannon smoke stretched in wavering bands, now capping the spires and domes +with cloud, now blowing in streamers and shreds along the streets, now +descending from the housetops, enveloping quays, bridges, and river, in a +sulphurous mist. And through the smoke pall the lightning of the cannon +played, while from time to time a rift above showed a fathomless black +vault set with stars. + +He turned again into the rue de Seine, that sad abandoned street, with its +rows of closed shutters and desolate ranks of unlighted lamps. He was a +little nervous and wished once or twice for a revolver, but the slinking +forms which passed him in the darkness were too weak with hunger to be +dangerous, he thought, and he passed on unmolested to his doorway. But +there somebody sprang at his throat. Over and over the icy pavement he +rolled with his assailant, tearing at the noose about his neck, and then +with a wrench sprang to his feet. + +"Get up," he cried to the other. + +Slowly and with great deliberation, a small gamin picked himself out of +the gutter and surveyed Trent with disgust. + +"That's a nice clean trick," said Trent; "a whelp of your age! You'll +finish against a dead wall! Give me that cord!" + +The urchin handed him the noose without a word. + +Trent struck a match and looked at his assailant. It was the rat-killer of +the day before. + +"H'm! I thought so," he muttered. + +"Tiens, c'est toi?" said the gamin tranquilly. + +The impudence, the overpowering audacity of the ragamuffin took Trent's +breath away. + +"Do you know, you young strangler," he gasped, "that they shoot thieves of +your age?" + +The child turned a passionless face to Trent. "Shoot, then." + +That was too much, and he turned on his heel and entered his hotel. + +Groping up the unlighted stairway, he at last reached his own landing and +felt about in the darkness for the door. From his studio came the sound of +voices, West's hearty laugh and Fallowby's chuckle, and at last he found +the knob and, pushing back the door, stood a moment confused by the light. + +"Hello, Jack!" cried West, "you're a pleasant creature, inviting people to +dine and letting them wait. Here's Fallowby weeping with hunger--" + +"Shut up," observed the latter, "perhaps he's been out to buy a turkey." + +"He's been out garroting, look at his noose!" laughed Guernalec. + +"So now we know where you get your cash!" added West; "vive le coup du +Père François!" + +Trent shook hands with everybody and laughed at Sylvia's pale face. + +"I didn't mean to be late; I stopped on the bridge a moment to watch the +bombardment. Were you anxious, Sylvia?" + +She smiled and murmured, "Oh, no!" but her hand dropped into his and +tightened convulsively. + +"To the table!" shouted Fallowby, and uttered a joyous whoop. + +"Take it easy," observed Thorne, with a remnant of manners; "you are not +the host, you know." + +Marie Guernalec, who had been chattering with Colette, jumped up and took +Thorne's arm and Monsieur Guernalec drew Odile's arm through his. + +Trent, bowing gravely, offered his own arm to Colette, West took in +Sylvia, and Fallowby hovered anxiously in the rear. + +"You march around the table three times singing the Marseillaise," +explained Sylvia, "and Monsieur Fallowby pounds on the table and beats +time." + +Fallowby suggested that they could sing after dinner, but his protest was +drowned in the ringing chorus-- + + "Aux armes! + Formez vos bataillons!" + +Around the room they marched singing, + + "Marchons! Marchons!" + +with all their might, while Fallowby with very bad grace, hammered on the +table, consoling himself a little with the hope that the exercise would +increase his appetite. Hercules, the black and tan, fled under the bed, +from which retreat he yapped and whined until dragged out by Guernalec and +placed in Odile's lap. + +"And now," said Trent gravely, when everybody was seated, "listen!" and he +read the menu. + + Beef Soup à la Siège de Paris. + + Fish. + Sardines à la père Lachaise. + (White Wine). + + Rôti (Red Wine). + Fresh Beef à la sortie. + + Vegetables. + Canned Beans à la chasse-pot, + Canned Peas Gravelotte, + Potatoes Irlandaises, + Miscellaneous. + + Cold Corned Beef à la Thieis, + Stewed Prunes à la Garibaldi. + + Dessert. + Dried prunes--White bread, + Currant Jelly, + Tea--Café, + Liqueurs, + Pipes and Cigarettes. + +Fallowby applauded frantically, and Sylvia served the soup. + +"Isn't it delicious?" sighed Odile. + +Marie Guernalec sipped her soup in rapture. + +"Not at all like horse, and I don't care what they say, horse doesn't +taste like beef," whispered Colette to West. Fallowby, who had finished, +began to caress his chin and eye the tureen. + +"Have some more, old chap?" inquired Trent. + +"Monsieur Fallowby cannot have any more," announced Sylvia; "I am saving +this for the concierge." Fallowby transferred his eyes to the fish. + +The sardines, hot from the grille, were a great success. While the others +were eating Sylvia ran downstairs with the soup for the old concierge and +her husband, and when she hurried back, flushed and breathless, and had +slipped into her chair with a happy smile at Trent, that young man arose, +and silence fell over the table. For an instant he looked at Sylvia and +thought he had never seen her so beautiful. + +"You all know," he began, "that to-day is my wife's nineteenth birthday--" + +Fallowby, bubbling with enthusiasm, waved his glass in circles about his +head to the terror of Odile and Colette, his neighbours, and Thorne, West +and Guernalec refilled their glasses three times before the storm of +applause which the toast of Sylvia had provoked, subsided. + +Three times the glasses were filled and emptied to Sylvia, and again to +Trent, who protested. + +"This is irregular," he cried, "the next toast is to the twin Republics, +France and America?" + +"To the Republics! To the Republics!" they cried, and the toast was drunk +amid shouts of "Vive a France! Vive l'Amérique! Vive la Nation!" + +Then Trent, with a smile at West, offered the toast, "To a Happy Pair!" +and everybody understood, and Sylvia leaned over and kissed Colette, while +Trent bowed to West. + +The beef was eaten in comparative calm, but when it was finished and a +portion of it set aside for the old people below, Trent cried: "Drink to +Paris! May she rise from her ruins and crush the invader!" and the cheers +rang out, drowning for a moment the monotonous thunder of the Prussian +guns. + +Pipes and cigarettes were lighted, and Trent listened an instant to the +animated chatter around him, broken by ripples of laughter from the girls +or the mellow chuckle of Fallowby. Then he turned to West. + +"There is going to be a sortie to-night," he said. "I saw the American +Ambulance surgeon just before I came in and he asked me to speak to you +fellows. Any aid we can give him will not come amiss." + +Then dropping his voice and speaking in English, "As for me, I shall go +out with the ambulance to-morrow morning. There is of course no danger, +but it's just as well to keep it from Sylvia." + +West nodded. Thorne and Guernalec, who had heard, broke in and offered +assistance, and Fallowby volunteered with a groan. + +"All right," said Trent rapidly,--"no more now, but meet me at Ambulance +headquarters to-morrow morning at eight." + +Sylvia and Colette, who were becoming uneasy at the conversation in +English, now demanded to know what they were talking about. + +"What does a sculptor usually talk about?" cried West, with a laugh. + +Odile glanced reproachfully at Thorne, her _fiancé_. + +"You are not French, you know, and it is none of your business, this war," +said Odile with much dignity. + +Thorne looked meek, but West assumed an air of outraged virtue. + +"It seems," he said to Fallowby, "that a fellow cannot discuss the +beauties of Greek sculpture in his mother tongue, without being openly +suspected." + +Colette placed her hand over his mouth and turning to Sylvia, murmured, +"They are horridly untruthful, these men." + +"I believe the word for ambulance is the same in both languages," said +Marie Guernalec saucily; "Sylvia, don't trust Monsieur Trent." + +"Jack," whispered Sylvia, "promise me--" + +A knock at the studio door interrupted her. + +"Come in!" cried Fallowby, but Trent sprang up, and opening the door, +looked out. Then with a hasty excuse to the rest, he stepped into the +hall-way and closed the door. + +When he returned he was grumbling. + +"What is it, Jack?" cried West. + +"What is it?" repeated Trent savagely; "I'll tell you what it is. I have +received a dispatch from the American Minister to go at once and identify +and claim, as a fellow-countryman and a brother artist, a rascally thief +and a German spy!" + +"Don't go," suggested Fallowby. + +"If I don't they'll shoot him at once." + +"Let them," growled Thorne. + +"Do you fellows know who it is?" + +"Hartman!" shouted West, inspired. + +Sylvia sprang up deathly white, but Odile slipped her arm around her and +supported her to a chair, saying calmly, "Sylvia has fainted,--it's the +hot room,--bring some water." + +Trent brought it at once. + +Sylvia opened her eyes, and after a moment rose, and supported by Marie +Guernalec and Trent, passed into the bedroom. + +It was the signal for breaking up, and everybody came and shook hands with +Trent, saying they hoped Sylvia would sleep it off and that it would be +nothing. + +When Marie Guernalec took leave of him, she avoided his eyes, but he spoke +to her cordially and thanked her for her aid. + +"Anything I can do, Jack?" inquired West, lingering, and then hurried +downstairs to catch up with the rest. + +Trent leaned over the banisters, listening to their footsteps and chatter, +and then the lower door banged and the house was silent. He lingered, +staring down into the blackness, biting his lips; then with an impatient +movement, "I am crazy!" he muttered, and lighting a candle, went into the +bedroom. Sylvia was lying on the bed. He bent over her, smoothing the +curly hair on her forehead. + +"Are you better, dear Sylvia?" + +She did not answer, but raised her eyes to his. For an instant he met her +gaze, but what he read there sent a chill to his heart and he sat down +covering his face with his hands. + +At last she spoke in a voice, changed and strained,--a voice which he had +never heard, and he dropped his hands and listened, bolt upright in his +chair. + +"Jack, it has come at last. I have feared it and trembled,--ah! how often +have I lain awake at night with this on my heart and prayed that I might +die before you should ever know of it! For I love you, Jack, and if you go +away I cannot live. I have deceived you;--it happened before I knew you, +but since that first day when you found me weeping in the Luxembourg and +spoke to me, Jack, I have been faithful to you in every thought and deed. +I loved you from the first, and did not dare to tell you this--fearing +that you would go away; and since then my love has grown--grown--and oh! I +suffered!--but I dared not tell you. And now you know, but you do not know +the worst. For him--now--what do I care? He was cruel--oh, so cruel!" + +She hid her face in her arms. + +"Must I go on? Must I tell you--can you not imagine, oh! Jack--" + +He did not stir; his eyes seemed dead. + +"I--I was so young, I knew nothing, and he said--said that he loved me--" + +Trent rose and struck the candle with his clenched fist, and the room was +dark. + +The bells of St. Sulpice tolled the hour, and she started up, speaking +with feverish haste,--"I must finish! When you told me you loved +me--you--you asked me nothing; but then, even then, it was too late, and +_that other life_ which binds me to him, must stand for ever between you +and me! For there _is another_ whom he has claimed, and is good to. He +must not die,--they cannot shoot him, for that _other's_ sake!" + +Trent sat motionless, but his thoughts ran on in an interminable whirl. + +Sylvia, little Sylvia, who shared with him his student life,--who bore +with him the dreary desolation of the siege without complaint,--this +slender blue-eyed girl whom he was so quietly fond of, whom he teased or +caressed as the whim suited, who sometimes made him the least bit +impatient with her passionate devotion to him,--could this be the same +Sylvia who lay weeping there in the darkness? + +Then he clinched his teeth. "Let him die! Let him die!"--but then,--for +Sylvia's sake, and,--for that _other's_ sake,--Yes, he would go,--he +_must_ go,--his duty was plain before him. But Sylvia,--he could not be +what he had been to her, and yet a vague terror seized him, now all was +said. Trembling, he struck a light. + +She lay there, her curly hair tumbled about her face, her small white +hands pressed to her breast. + +He could not leave her, and he could not stay. He never knew before that +he loved her. She had been a mere comrade, this girl wife of his. Ah! he +loved her now with all his heart and soul, and he knew it, only when it +was too late. Too late? Why? Then he thought of that _other_ one, binding +her, linking her forever to the creature, who stood in danger of his life. +With an oath he sprang to the door, but the door would not open,--or was +it that he pressed it back,--locked it,--and flung himself on his knees +beside the bed, knowing that he dared not for his life's sake leave what +was his all in life. + + + + +III + +It was four in the morning when he came out of the Prison of the Condemned +with the Secretary of the American Legation. A knot of people had gathered +around the American Minister's carriage, which stood in front of the +prison, the horses stamping and pawing in the icy street, the coachman +huddled on the box, wrapped in furs. Southwark helped the Secretary into +the carriage, and shook hands with Trent, thanking him for coming. + +"How the scoundrel did stare," he said; "your evidence was worse than a +kick, but it saved his skin for the moment at least,--and prevented +complications." + +The Secretary sighed. "We have done our part. Now let them prove him a spy +and we wash our hands of him. Jump in, Captain! Come along, Trent!" + +"I have a word to say to Captain Southwark, I won't detain him," said +Trent hastily, and dropping his voice, "Southwark, help _me_ now. You know +the story from the blackguard. You know the--the child is at his rooms. +Get it, and take it to my own apartment, and if he is shot, I will provide +a home for it." + +"I understand," said the Captain gravely. + +"Will you do this at once?" + +"At once," he replied. + +Their hands met in a warm clasp, and then Captain Southwark climbed into +the carriage, motioning Trent to follow; but he shook his head saying, +"Good-bye!" and the carriage rolled away. + +He watched the carriage to the end of the street, then started toward his +own quarter, but after a step or two hesitated, stopped, and finally +turned away in the opposite direction. Something--perhaps it was the sight +of the prisoner he had so recently confronted nauseated him. He felt the +need of solitude and quiet to collect his thoughts. The events of the +evening had shaken him terribly, but he would walk it off, forget, bury +everything, and then go back to Sylvia. He started on swiftly, and for a +time the bitter thoughts seemed to fade, but when he paused at last, +breathless, under the Arc de Triomphe, the bitterness and the wretchedness +of the whole thing--yes, of his whole misspent life came back with a pang. +Then the face of the prisoner, stamped with the horrible grimace of fear, +grew in the shadows before his eyes. + +Sick at heart he wandered up and down under the great Arc, striving to +occupy his mind, peering up at the sculptured cornices to read the names +of the heroes and battles which he knew were engraved there, but always +the ashen face of Hartman followed him, grinning with terror!--or was it +terror?--was it not triumph?--At the thought he leaped like a man who +feels a knife at his throat, but after a savage tramp around the square, +came back again and sat down to battle with his misery. + +The air was cold, but his cheeks were burning with angry shame. Shame? +Why? Was it because he had married a girl whom chance had made a mother? +_Did_ he love her? Was this miserable bohemian existence, then, his end +and aim in life? He turned his eyes upon the secrets of his heart, and +read an evil story,--the story of the past, and he covered his face for +shame, while, keeping time to the dull pain throbbing in his head, his +heart beat out the story for the future. Shame and disgrace. + +Roused at last from a lethargy which had begun to numb the bitterness of +his thoughts, he raised his head and looked about. A sudden fog had +settled in the streets; the arches of the Arc were choked with it. He +would go home. A great horror of being alone seized him. _But he was not +alone._ The fog was peopled with phantoms. All around him in the mist they +moved, drifting through the arches in lengthening lines, and vanished, +while from the fog others rose up, swept past and were engulfed. He was +not alone, for even at his side they crowded, touched him, swarmed before +him, beside him, behind him, pressed him back, seized, and bore him with +them through the mist. Down a dim avenue, through lanes and alleys white +with fog, they moved, and if they spoke their voices were dull as the +vapour which shrouded them. At last in front, a bank of masonry and earth +cut by a massive iron barred gate towered up in the fog. Slowly and more +slowly they glided, shoulder to shoulder and thigh to thigh. Then all +movement ceased. A sudden breeze stirred the fog. It wavered and eddied. +Objects became more distinct. A pallor crept above the horizon, touching +the edges of the watery clouds, and drew dull sparks from a thousand +bayonets. Bayonets--they were everywhere, cleaving the fog or flowing +beneath it in rivers of steel. High on the wall of masonry and earth a +great gun loomed, and around it figures moved in silhouettes. Below, a +broad torrent of bayonets swept through the iron barred gateway, out into +the shadowy plain. It became lighter. Faces grew more distinct among the +marching masses and he recognized one. + +"You, Philippe!" + +The figure turned its head. + +Trent cried, "Is there room for me?" but the other only waved his arm in a +vague adieu and was gone with the rest. Presently the cavalry began to +pass, squadron on squadron, crowding out into the darkness; then many +cannon, then an ambulance, then again the endless lines of bayonets. +Beside him a cuirassier sat on his steaming horse, and in front, among a +group of mounted officers he saw a general, with the astrakan collar of +his dolman turned up about his bloodless face. + +Some women were weeping near him and one was struggling to force a loaf of +black bread into a soldier's haversack. The soldier tried to aid her, but +the sack was fastened, and his rifle bothered him, so Trent held it, while +the woman unbuttoned the sack and forced in the bread, now all wet with +her tears. The rifle was not heavy. Trent found it wonderfully manageable. +Was the bayonet sharp? He tried it. Then a sudden longing, a fierce, +imperative desire took possession of him. + +"_Chouette!_" cried a gamin, clinging to the barred gate, "_encore toi mon +vieux_?" + +Trent looked up, and the rat-killer laughed in his face. But when the +soldier had taken the rifle again, and thanking him, ran hard to catch his +battalion, he plunged into the throng about the gateway. + +"Are you going?" he cried to a marine who sat in the gutter bandaging his +foot. + +"Yes." + +Then a girl--a mere child--caught him by the hand and led him into the +café which faced the gate. The room was crowded with soldiers, some, white +and silent, sitting on the floor, others groaning on the leather-covered +settees. The air was sour and suffocating. + +"Choose!" said the girl with a little gesture of pity; "they can't go!" + +In a heap of clothing on the floor he found a capote and képi. + +She helped him buckle his knapsack, cartridge-box, and belt, and showed +him how to load the chasse-pot rifle, holding it on her knees. + +When he thanked her she started to her feet. + +"You are a foreigner!" + +"American," he said, moving toward the door, but the child barred his way. + +"I am a Bretonne. My father is up there with the cannon of the marine. He +will shoot you if you are a spy." + +They faced each other for a moment. Then sighing, he bent over and kissed +the child. "Pray for France, little one," he murmured, and she repeated +with a pale smile: "For France and you, beau Monsieur." + +He ran across the street and through the gateway. Once outside, he edged +into line and shouldered his way along the road. A corporal passed, looked +at him, repassed, and finally called an officer. "You belong to the 60th," +growled the corporal looking at the number on his képi. + +"We have no use for Franc-tireurs," added the officer, catching sight of +his black trousers. + +"I wish to volunteer in place of a comrade," said Trent, and the officer +shrugged his shoulders and passed on. + +Nobody paid much attention to him, one or two merely glancing at his +trousers. The road was deep with slush and mud-ploughed and torn by wheels +and hoofs. A soldier in front of him wrenched his foot in an icy rut and +dragged himself to the edge of the embankment groaning. The plain on +either side of them was grey with melting snow. Here and there behind +dismantled hedge-rows stood wagons, bearing white flags with red crosses. +Sometimes the driver was a priest in rusty hat and gown, sometimes a +crippled Mobile. Once they passed a wagon driven by a Sister of Charity. +Silent empty houses with great rents in their walls, and every window +blank, huddled along the road. Further on, within the zone of danger, +nothing of human habitation remained except here and there a pile of +frozen bricks or a blackened cellar choked with snow. + +For some time Trent had been annoyed by the man behind him, who kept +treading on his heels. Convinced at last that it was intentional, he +turned to remonstrate and found himself face to face with a fellow-student +from the Beaux Arts. Trent stared. + +"I thought you were in the hospital!" + +The other shook his head, pointing to his bandaged jaw. + +"I see, you can't speak. Can I do anything?" + +The wounded man rummaged in his haversack and produced a crust of black +bread. + +"He can't eat it, his jaw is smashed, and he wants you to chew it for +him," said the soldier next to him. + +Trent took the crust, and grinding it in his teeth morsel by morsel, +passed it back to the starving man. + +From time to time mounted orderlies sped to the front, covering them with +slush. It was a chilly, silent march through sodden meadows wreathed in +fog. Along the railroad embankment across the ditch, another column moved +parallel to their own. Trent watched it, a sombre mass, now distinct, now +vague, now blotted out in a puff of fog. Once for half-an-hour he lost it, +but when again it came into view, he noticed a thin line detach itself +from the flank, and, bellying in the middle, swing rapidly to the west. At +the same moment a prolonged crackling broke out in the fog in front. Other +lines began to slough off from the column, swinging east and west, and the +crackling became continuous. A battery passed at full gallop, and he drew +back with his comrades to give it way. It went into action a little to the +right of his battalion, and as the shot from the first rifled piece boomed +through the mist, the cannon from the fortifications opened with a mighty +roar. An officer galloped by shouting something which Trent did not catch, +but he saw the ranks in front suddenly part company with his own, and +disappear in the twilight. More officers rode up and stood beside him +peering into the fog. Away in front the crackling had become one prolonged +crash. It was dreary waiting. Trent chewed some bread for the man behind, +who tried to swallow it, and after a while shook his head, motioning Trent +to eat the rest himself. A corporal offered him a little brandy and he +drank it, but when he turned around to return the flask, the corporal was +lying on the ground. Alarmed, he looked at the soldier next to him, who +shrugged his shoulders and opened his mouth to speak, but something struck +him and he rolled over and over into the ditch below. At that moment the +horse of one of the officers gave a bound and backed into the battalion, +lashing out with his heels. One man was ridden down; another was kicked in +the chest and hurled through the ranks. The officer sank his spurs into +the horse and forced him to the front again, where he stood trembling. The +cannonade seemed to draw nearer. A staff-officer, riding slowly up and +down the battalion suddenly collapsed in his saddle and clung to his +horse's mane. One of his boots dangled, crimsoned and dripping, from the +stirrup. Then out of the mist in front men came running. The roads, the +fields, the ditches were full of them, and many of them fell. For an +instant he imagined he saw horsemen riding about like ghosts in the +vapours beyond, and a man behind him cursed horribly, declaring he too had +seen them, and that they were Uhlans; but the battalion stood inactive, +and the mist fell again over the meadows. + +The colonel sat heavily upon his horse, his bullet-shaped head buried in +the astrakan collar of his dolman, his fat legs sticking straight out in +the stirrups. + +The buglers clustered about him with bugles poised, and behind him a +staff-officer in a pale blue jacket smoked a cigarette and chatted with a +captain of hussars. From the road in front came the sound of furious +galloping and an orderly reined up beside the colonel, who motioned him to +the rear without turning his head. Then on the left a confused murmur +arose which ended in a shout. A hussar passed like the wind, followed by +another and another, and then squadron after squadron whirled by them into +the sheeted mists. At that instant the colonel reared in his saddle, the +bugles clanged, and the whole battalion scrambled down the embankment, +over the ditch and started across the soggy meadow. Almost at once Trent +lost his cap. Something snatched it from his head, he thought it was a +tree branch. A good many of his comrades rolled over in the slush and ice, +and he imagined that they had slipped. One pitched right across his path +and he stopped to help him up, but the man screamed when he touched him +and an officer shouted, "Forward! Forward!" so he ran on again. It was a +long jog through the mist, and he was often obliged to shift his rifle. +When at last they lay panting behind the railroad embankment, he looked +about him. He had felt the need of action, of a desperate physical +struggle, of killing and crushing. He had been seized with a desire to +fling himself among masses and tear right and left. He longed to fire, to +use the thin sharp bayonet on his chassepot. He had not expected this. He +wished to become exhausted, to struggle and cut until incapable of lifting +his arm. Then he had intended to go home. He heard a man say that half the +battalion had gone down in the charge, and he saw another examining a +corpse under the embankment. The body, still warm, was clothed in a +strange uniform, but even when he noticed the spiked helmet lying a few +inches further away, he did not realize what had happened. + +The colonel sat on his horse a few feet to the left, his eyes sparkling +under the crimson képi. Trent heard him reply to an officer: "I can hold +it, but another charge, and I won't have enough men left to sound a +bugle." + +"Were the Prussians here?" Trent asked of a soldier who sat wiping the +blood trickling from his hair. + +"Yes. The hussars cleaned them out. We caught their cross fire." + +"We are supporting a battery on the embankment," said another. + +Then the battalion crawled over the embankment and moved along the lines +of twisted rails. Trent rolled up his trousers and tucked them into his +woollen socks: but they halted again, and some of the men sat down on the +dismantled railroad track. Trent looked for his wounded comrade from the +Beaux Arts. He was standing in his place, very pale. The cannonade had +become terrific. For a moment the mist lifted. He caught a glimpse of the +first battalion motionless on the railroad track in front, of regiments on +either flank, and then, as the fog settled again, the drums beat and the +music of the bugles began away on the extreme left. A restless movement +passed among the troops, the colonel threw up his arm, the drums rolled, +and the battalion moved off through the fog. They were near the front now +for the battalion was firing as it advanced. Ambulances galloped along the +base of the embankment to the rear, and the hussars passed and repassed +like phantoms. They were in the front at last, for all about them was +movement and turmoil, while from the fog, close at hand, came cries and +groans and crashing volleys. Shells fell everywhere, bursting along the +embankment, splashing them with frozen slush. Trent was frightened. He +began to dread the unknown, which lay there crackling and flaming in +obscurity. The shock of the cannon sickened him. He could even see the fog +light up with a dull orange as the thunder shook the earth. It was near, +he felt certain, for the colonel shouted "Forward!" and the first +battalion was hastening into it. He felt its breath, he trembled, but +hurried on. A fearful discharge in front terrified him. Somewhere in the +fog men were cheering, and the colonel's horse, streaming with blood +plunged about in the smoke. + +Another blast and shock, right in his face, almost stunned him, and he +faltered. All the men to the right were down. His head swam; the fog and +smoke stupefied him. He put out his hand for a support and caught +something. It was the wheel of a gun-carriage, and a man sprang from +behind it, aiming a blow at his head with a rammer, but stumbled back +shrieking with a bayonet through his neck, and Trent knew that he had +killed. Mechanically he stooped to pick up his rifle, but the bayonet was +still in the man, who lay, beating with red hands against the sod. It +sickened him and he leaned on the cannon. Men were fighting all around him +now, and the air was foul with smoke and sweat. Somebody seized him from +behind and another in front, but others in turn seized them or struck them +solid blows. The click! click! click! of bayonets infuriated him, and he +grasped the rammer and struck out blindly until it was shivered to pieces. + +A man threw his arm around his neck and bore him to the ground, but he +throttled him and raised himself on his knees. He saw a comrade seize the +cannon, and fall across it with his skull crushed in; he saw the colonel +tumble clean out of his saddle into the mud; then consciousness fled. + +When he came to himself, he was lying on the embankment among the twisted +rails. On every side huddled men who cried out and cursed and fled away +into the fog, and he staggered to his feet and followed them. Once he +stopped to help a comrade with a bandaged jaw, who could not speak but +clung to his arm for a time and then fell dead in the freezing mire; and +again he aided another, who groaned: "Trent, c'est moi--Philippe," until a +sudden volley in the midst relieved him of his charge. + +An icy wind swept down from the heights, cutting the fog into shreds. For +an instant, with an evil leer the sun peered through the naked woods of +Vincennes, sank like a blood-clot in the battery smoke, lower, lower, into +the blood-soaked plain. + + + + +IV + +When midnight sounded from the belfry of St. Sulpice the gates of Paris +were still choked with fragments of what had once been an army. + +They entered with the night, a sullen horde, spattered with slime, faint +with hunger and exhaustion. There was little disorder at first, and the +throng at the gates parted silently as the troops tramped along the +freezing streets. Confusion came as the hours passed. Swiftly and more +swiftly, crowding squadron after squadron and battery on battery, horses +plunging and caissons jolting, the remnants from the front surged through +the gates, a chaos of cavalry and artillery struggling for the right of +way. Close upon them stumbled the infantry; here a skeleton of a regiment +marching with a desperate attempt at order, there a riotous mob of Mobiles +crushing their way to the streets, then a turmoil of horsemen, cannon, +troops without, officers, officers without men, then again a line of +ambulances, the wheels groaning under their heavy loads. + +Dumb with misery the crowd looked on. + +All through the day the ambulances had been arriving, and all day long the +ragged throng whimpered and shivered by the barriers. At noon the crowd +was increased ten-fold, filling the squares about the gates, and swarming +over the inner fortifications. + +At four o'clock in the afternoon the German batteries suddenly wreathed +themselves in smoke, and the shells fell fast on Montparnasse. At twenty +minutes after four two projectiles struck a house in the rue de Bac, and a +moment later the first shell fell in the Latin Quarter. + +Braith was painting in bed when West came in very much scared. + +"I wish you would come down; our house has been knocked into a cocked hat, +and I'm afraid that some of the pillagers may take it into their heads to +pay us a visit to-night." + +Braith jumped out of bed and bundled himself into a garment which had once +been an overcoat. + +"Anybody hurt?" he inquired, struggling with a sleeve full of dilapidated +lining. + +"No. Colette is barricaded in the cellar, and the concierge ran away to +the fortifications. There will be a rough gang there if the bombardment +keeps up. You might help us--" + +"Of course," said Braith; but it was not until they had reached the rue +Serpente and had turned in the passage which led to West's cellar, that +the latter cried: "Have you seen Jack Trent, to-day?" + +"No," replied Braith, looking troubled, "he was not at Ambulance +Headquarters." + +"He stayed to take care of Sylvia, I suppose." + +A bomb came crashing through the roof of a house at the end of the alley +and burst in the basement, showering the street with slate and plaster. A +second struck a chimney and plunged into the garden, followed by an +avalanche of bricks, and another exploded with a deafening report in the +next street. + +They hurried along the passage to the steps which led to the cellar. Here +again Braith stopped. + +"Don't you think I had better run up to see if Jack and Sylvia are well +entrenched? I can get back before dark." + +"No. Go in and find Colette, and I'll go." + +"No, no, let me go, there's no danger." + +"I know it," replied West calmly; and, dragging Braith into the alley, +pointed to the cellar steps. The iron door was barred. + +"Colette! Colette!" he called. The door swung inward, and the girl sprang +up the stairs to meet them. At that instant, Braith, glancing behind him, +gave a startled cry, and pushing the two before him into the cellar, +jumped down after them and slammed the iron door. A few seconds later a +heavy jar from the outside shook the hinges. + +"They are here," muttered West, very pale. + +"That door," observed Colette calmly, "will hold for ever." + +Braith examined the low iron structure, now trembling with the blows +rained on it from without. West glanced anxiously at Colette, who +displayed no agitation, and this comforted him. + +"I don't believe they will spend much time here," said Braith; "they only +rummage in cellars for spirits, I imagine." + +"Unless they hear that valuables are buried there." + +"But surely nothing is buried here?" exclaimed Braith uneasily. + +"Unfortunately there is," growled West. "That miserly landlord of mine--" + +A crash from the outside, followed by a yell, cut him short; then blow +after blow shook the doors, until there came a sharp snap, a clinking of +metal and a triangular bit of iron fell inwards, leaving a hole through +which struggled a ray of light. + +Instantly West knelt, and shoving his revolver through the aperture fired +every cartridge. For a moment the alley resounded with the racket of the +revolver, then absolute silence followed. + +Presently a single questioning blow fell upon the door, and a moment later +another and another, and then a sudden crack zigzagged across the iron +plate. + +"Here," said West, seizing Colette by the wrist, "you follow me, Braith!" +and he ran swiftly toward a circular spot of light at the further end of +the cellar. The spot of light came from a barred man-hole above. West +motioned Braith to mount on his shoulders. + +"Push it over. You _must_!" + +With little effort Braith lifted the barred cover, scrambled out on his +stomach, and easily raised Colette from West's shoulders. + +"Quick, old chap!" cried the latter. + +Braith twisted his legs around a fence-chain and leaned down again. The +cellar was flooded with a yellow light, and the air reeked with the stench +of petroleum torches. The iron door still held, but a whole plate of metal +was gone, and now as they looked a figure came creeping through, holding a +torch. + +"Quick!" whispered Braith. "Jump!" and West hung dangling until Colette +grasped him by the collar, and he was dragged out. Then her nerves gave +way and she wept hysterically, but West threw his arm around her and led +her across the gardens into the next street, where Braith, after replacing +the man-hole cover and piling some stone slabs from the wall over it, +rejoined them. It was almost dark. They hurried through the street, now +only lighted by burning buildings, or the swift glare of the shells. They +gave wide berth to the fires, but at a distance saw the flitting forms of +pillagers among the _débris_. Sometimes they passed a female fury crazed +with drink shrieking anathemas upon the world, or some slouching lout +whose blackened face and hands betrayed his share in the work of +destruction. At last they reached the Seine and passed the bridge, and +then Braith said: "I must go back. I am not sure of Jack and Sylvia." As +he spoke, he made way for a crowd which came trampling across the bridge, +and along the river wall by the d'Orsay barracks. In the midst of it West +caught the measured tread of a platoon. A lantern passed, a file of +bayonets, then another lantern which glimmered on a deathly face behind, +and Colette gasped, "Hartman!" and he was gone. They peered fearfully +across the embankment, holding their breath. There was a shuffle of feet +on the quay, and the gate of the barracks slammed. A lantern shone for a +moment at the postern, the crowd pressed to the grille, then came the +clang of the volley from the stone parade. + +One by one the petroleum torches flared up along the embankment, and now +the whole square was in motion. Down from the Champs Elysées and across +the Place de la Concorde straggled the fragments of the battle, a company +here, and a mob there. They poured in from every street followed by women +and children, and a great murmur, borne on the icy wind, swept through the +Arc de Triomphe and down the dark avenue,--"Perdus! perdus!" + +A ragged end of a battalion was pressing past, the spectre of +annihilation. West groaned. Then a figure sprang from the shadowy ranks +and called West's name, and when he saw it was Trent he cried out. Trent +seized him, white with terror. + +"Sylvia?" + +West stared speechless, but Colette moaned, "Oh, Sylvia! Sylvia!--and they +are shelling the Quarter!" + +"Trent!" shouted Braith; but he was gone, and they could not overtake +them. + +The bombardment ceased as Trent crossed the Boulevard St. Germain, but the +entrance to the rue de Seine was blocked by a heap of smoking bricks. +Everywhere the shells had torn great holes in the pavement. The café was a +wreck of splinters and glass, the book-store tottered, ripped from roof to +basement, and the little bakery, long since closed, bulged outward above a +mass of slate and tin. + +He climbed over the steaming bricks and hurried into the rue de Tournon. +On the corner a fire blazed, lighting up his own street, and on the bank +wall, beneath a shattered gas lamp, a child was writing with a bit of +cinder. + +"HERE FELL THE FIRST SHELL." + +The letters stared him in the face. The rat-killer finished and stepped +back to view his work, but catching sight of Trent's bayonet, screamed and +fled, and as Trent staggered across the shattered street, from holes and +crannies in the ruins fierce women fled from their work of pillage, +cursing him. + +At first he could not find his house, for the tears blinded him, but he +felt along the wall and reached the door. A lantern burned in the +concierge's lodge and the old man lay dead beside it. Faint with fright he +leaned a moment on his rifle, then, snatching the lantern, sprang up the +stairs. He tried to call, but his tongue hardly moved. On the second floor +he saw plaster on the stairway, and on the third the floor was torn and +the concierge lay in a pool of blood across the landing. The next floor +was his, _theirs_. The door hung from its hinges, the walls gaped. He +crept in and sank down by the bed, and there two arms were flung around +his neck, and a tear-stained face sought his own. + +"Sylvia!" + +"O Jack! Jack! Jack!" + +From the tumbled pillow beside them a child wailed. + +"They brought it; it is mine," she sobbed. + +"Ours," he whispered, with his arms around them both. + +Then from the stairs below came Braith's anxious voice. + +"Trent! Is all well?" + + + + +THE STREET OF OUR LADY OF THE FIELDS + + "Et tout les jours passés dans la tristesse + Nous sont comptés comme des jours heureux!" + + +I + +The street is not fashionable, neither is it shabby. It is a pariah among +streets--a street without a Quarter. It is generally understood to lie +outside the pale of the aristocratic Avenue de l'Observatoire. The +students of the Montparnasse Quarter consider it swell and will have none +of it. The Latin Quarter, from the Luxembourg, its northern frontier, +sneers at its respectability and regards with disfavour the correctly +costumed students who haunt it. Few strangers go into it. At times, +however, the Latin Quarter students use it as a thoroughfare between the +rue de Rennes and the Bullier, but except for that and the weekly +afternoon visits of parents and guardians to the Convent near the rue +Vavin, the street of Our Lady of the Fields is as quiet as a Passy +boulevard. Perhaps the most respectable portion lies between the rue de la +Grande Chaumière and the rue Vavin, at least this was the conclusion +arrived at by the Reverend Joel Byram, as he rambled through it with +Hastings in charge. To Hastings the street looked pleasant in the bright +June weather, and he had begun to hope for its selection when the Reverend +Byram shied violently at the cross on the Convent opposite. + +"Jesuits," he muttered. + +"Well," said Hastings wearily, "I imagine we won't find anything better. +You say yourself that vice is triumphant in Paris, and it seems to me that +in every street we find Jesuits or something worse." + +After a moment he repeated, "Or something worse, which of course I would +not notice except for your kindness in warning me." + +Dr. Byram sucked in his lips and looked about him. He was impressed by the +evident respectability of the surroundings. Then frowning at the Convent +he took Hastings' arm and shuffled across the street to an iron gateway +which bore the number 201 _bis_ painted in white on a blue ground. Below +this was a notice printed in English: + + 1. For Porter please oppress once. + 2. For Servant please oppress twice. + 3. For Parlour please oppress thrice. + +Hastings touched the electric button three times, and they were ushered +through the garden and into the parlour by a trim maid. The dining-room +door, just beyond, was open, and from the table in plain view a stout +woman hastily arose and came toward them. Hastings caught a glimpse of a +young man with a big head and several snuffy old gentlemen at breakfast, +before the door closed and the stout woman waddled into the room, bringing +with her an aroma of coffee and a black poodle." + +"It ees a plaisir to you receive!" she cried. "Monsieur is Anglish? No? +Americain? Off course. My pension it ees for Americains surtout. Here all +spik Angleesh, c'est à dire, ze personnel; ze sairvants do spik, plus ou +moins, a little. I am happy to have you comme pensionnaires--" + +"Madame," began Dr. Byram, but was cut short again. + +"Ah, yess, I know, ah! mon Dieu! you do not spik Frainch but you have come +to lairne! My husband does spik Frainch wiss ze pensionnaires. We have at +ze moment a family Americaine who learn of my husband Frainch--" + +Here the poodle growled at Dr. Byram and was promptly cuffed by his +mistress. + +"Veux tu!" she cried, with a slap, "veux tu! Oh! le vilain, oh! le +vilain!" + +"Mais, madame," said Hastings, smiling, "il n'a pas l'air très féroce." + +The poodle fled, and his mistress cried, "Ah, ze accent charming! He does +spik already Frainch like a Parisien young gentleman!" + +Then Dr. Byram managed to get in a word or two and gathered more or less +information with regard to prices. + +"It ees a pension serieux; my clientèle ees of ze best, indeed a pension +de famille where one ees at 'ome." + +Then they went upstairs to examine Hastings' future quarters, test the +bed-springs and arrange for the weekly towel allowance. Dr. Byram appeared +satisfied. + +Madame Marotte accompanied them to the door and rang for the maid, but as +Hastings stepped out into the gravel walk, his guide and mentor paused a +moment and fixed Madame with his watery eyes. + +"You understand," he said, "that he is a youth of most careful bringing +up, and his character and morals are without a stain. He is young and has +never been abroad, never even seen a large city, and his parents have +requested me, as an old family friend living in Paris, to see that he is +placed under good influences. He is to study art, but on no account would +his parents wish him to live in the Latin Quarter if they knew of the +immorality which is rife there." + +A sound like the click of a latch interrupted him and he raised his eyes, +but not in time to see the maid slap the big-headed young man behind the +parlour-door. + +Madame coughed, cast a deadly glance behind her and then beamed on Dr. +Byram. + +"It ees well zat he come here. The pension more serious, il n'en existe +pas, eet ees not any!" she announced with conviction. + +So, as there was nothing more to add, Dr. Byram joined Hastings at the +gate. + +"I trust," he said, eyeing the Convent, "that you will make no +acquaintances among Jesuits!" + +Hastings looked at the Convent until a pretty girl passed before the gray +façade, and then he looked at her. A young fellow with a paint-box and +canvas came swinging along, stopped before the pretty girl, said something +during a brief but vigorous handshake at which they both laughed, and he +went his way, calling back, "À demain Valentine!" as in the same breath +she cried, "À demain!" + +"Valentine," thought Hastings, "what a quaint name;" and he started to +follow the Reverend Joel Byram, who was shuffling towards the nearest +tramway station. + + + + +II + +"An' you are pleas wiz Paris, Monsieur' Astang?" demanded Madame Marotte +the next morning as Hastings came into the breakfast-room of the pension, +rosy from his plunge in the limited bath above. + +"I am sure I shall like it," he replied, wondering at his own depression +of spirits. + +The maid brought him coffee and rolls. He returned the vacant glance of +the big-headed young man and acknowledged diffidently the salutes of the +snuffy old gentlemen. He did not try to finish his coffee, and sat +crumbling a roll, unconscious of the sympathetic glances of Madame +Marotte, who had tact enough not to bother him. + +Presently a maid entered with a tray on which were balanced two bowls of +chocolate, and the snuffy old gentlemen leered at her ankles. The maid +deposited the chocolate at a table near the window and smiled at Hastings. +Then a thin young lady, followed by her counterpart in all except years, +marched into the room and took the table near the window. They were +evidently American, but Hastings, if he expected any sign of recognition, +was disappointed. To be ignored by compatriots intensified his depression. +He fumbled with his knife and looked at his plate. + +The thin young lady was talkative enough. She was quite aware of Hastings' +presence, ready to be flattered if he looked at her, but on the other hand +she felt her superiority, for she had been three weeks in Paris and he, it +was easy to see, had not yet unpacked his steamer-trunk. + +Her conversation was complacent. She argued with her mother upon the +relative merits of the Louvre and the Bon Marché, but her mother's part of +the discussion was mostly confined to the observation, "Why, Susie!" + +The snuffy old gentlemen had left the room in a body, outwardly polite and +inwardly raging. They could not endure the Americans, who filled the room +with their chatter. + +The big-headed young man looked after them with a knowing cough, +murmuring, "Gay old birds!" + +"They look like bad old men, Mr. Bladen," said the girl. + +To this Mr. Bladen smiled and said, "They've had their day," in a tone +which implied that he was now having his. + +"And that's why they all have baggy eyes," cried the girl. "I think it's a +shame for young gentlemen--" + +"Why, Susie!" said the mother, and the conversation lagged. + +After a while Mr. Bladen threw down the _Petit Journal_, which he daily +studied at the expense of the house, and turning to Hastings, started to +make himself agreeable. He began by saying, "I see you are American." + +To this brilliant and original opening, Hastings, deadly homesick, replied +gratefully, and the conversation was judiciously nourished by observations +from Miss Susie Byng distinctly addressed to Mr. Bladen. In the course of +events Miss Susie, forgetting to address herself exclusively to Mr. +Bladen, and Hastings replying to her general question, the _entente +cordiale_ was established, and Susie and her mother extended a +protectorate over what was clearly neutral territory. + +"Mr. Hastings, you must not desert the pension every evening as Mr. Bladen +does. Paris is an awful place for young gentlemen, and Mr. Bladen is a +horrid cynic." + +Mr. Bladen looked gratified. + +Hastings answered, "I shall be at the studio all day, and I imagine I +shall be glad enough to come back at night." + +Mr. Bladen, who, at a salary of fifteen dollars a week, acted as agent for +the Pewly Manufacturing Company of Troy, N.Y., smiled a sceptical smile +and withdrew to keep an appointment with a customer on the Boulevard +Magenta. + +Hastings walked into the garden with Mrs. Byng and Susie, and, at their +invitation, sat down in the shade before the iron gate. + +The chestnut trees still bore their fragrant spikes of pink and white, and +the bees hummed among the roses, trellised on the white-walled house. + +A faint freshness was in the air. The watering carts moved up and down the +street, and a clear stream bubbled over the spotless gutters of the rue de +la Grande Chaumière. The sparrows were merry along the curb-stones, taking +bath after bath in the water and ruffling their feathers with delight. In +a walled garden across the street a pair of blackbirds whistled among the +almond trees. + +Hastings swallowed the lump in his throat, for the song of the birds and +the ripple of water in a Paris gutter brought back to him the sunny +meadows of Millbrook. + +"That's a blackbird," observed Miss Byng; "see him there on the bush with +pink blossoms. He's all black except his bill, and that looks as if it had +been dipped in an omelet, as some Frenchman says--" + +"Why, Susie!" said Mrs. Byng. + +"That garden belongs to a studio inhabited by two Americans," continued +the girl serenely, "and I often see them pass. They seem to need a great +many models, mostly young and feminine--" + +"Why, Susie!" + +"Perhaps they prefer painting that kind, but I don't see why they should +invite five, with three more young gentlemen, and all get into two cabs +and drive away singing. This street," she continued, "is dull. There is +nothing to see except the garden and a glimpse of the Boulevard +Montparnasse through the rue de la Grande Chaumière. No one ever passes +except a policeman. There is a convent on the corner." + +"I thought it was a Jesuit College," began Hastings, but was at once +overwhelmed with a Baedecker description of the place, ending with, "On +one side stand the palatial hotels of Jean Paul Laurens and Guillaume +Bouguereau, and opposite, in the little Passage Stanislas, Carolus Duran +paints the masterpieces which charm the world." + +The blackbird burst into a ripple of golden throaty notes, and from some +distant green spot in the city an unknown wild-bird answered with a frenzy +of liquid trills until the sparrows paused in their ablutions to look up +with restless chirps. + +Then a butterfly came and sat on a cluster of heliotrope and waved his +crimson-banded wings in the hot sunshine. Hastings knew him for a friend, +and before his eyes there came a vision of tall mulleins and scented +milkweed alive with painted wings, a vision of a white house and +woodbine-covered piazza,--a glimpse of a man reading and a woman leaning +over the pansy bed,--and his heart was full. He was startled a moment +later by Miss Byng. + +"I believe you are homesick!" Hastings blushed. Miss Byng looked at him +with a sympathetic sigh and continued: "Whenever I felt homesick at first +I used to go with mamma and walk in the Luxembourg Gardens. I don't know +why it is, but those old-fashioned gardens seemed to bring me nearer home +than anything in this artificial city." + +"But they are full of marble statues," said Mrs. Byng mildly; "I don't see +the resemblance myself." + +"Where is the Luxembourg?" inquired Hastings after a silence. + +"Come with me to the gate," said Miss Byng. He rose and followed her, and +she pointed out the rue Vavin at the foot of the street. + +"You pass by the convent to the right," she smiled; and Hastings went. + + + + +III + +The Luxembourg was a blaze of flowers. He walked slowly through the long +avenues of trees, past mossy marbles and old-time columns, and threading +the grove by the bronze lion, came upon the tree-crowned terrace above the +fountain. Below lay the basin shining in the sunlight. Flowering almonds +encircled the terrace, and, in a greater spiral, groves of chestnuts wound +in and out and down among the moist thickets by the western palace wing. +At one end of the avenue of trees the Observatory rose, its white domes +piled up like an eastern mosque; at the other end stood the heavy palace, +with every window-pane ablaze in the fierce sun of June. + +Around the fountain, children and white-capped nurses armed with bamboo +poles were pushing toy boats, whose sails hung limp in the sunshine. A +dark policeman, wearing red epaulettes and a dress sword, watched them for +a while and then went away to remonstrate with a young man who had +unchained his dog. The dog was pleasantly occupied in rubbing grass and +dirt into his back while his legs waved into the air. + +The policeman pointed at the dog. He was speechless with indignation. + +"Well, Captain," smiled the young fellow. + +"Well, Monsieur Student," growled the policeman. + +"What do you come and complain to me for?" + +"If you don't chain him I'll take him," shouted the policeman. + +"What's that to me, mon capitaine?" + +"Wha--t! Isn't that bull-dog yours?" + +"If it was, don't you suppose I'd chain him?" + +The officer glared for a moment in silence, then deciding that as he was a +student he was wicked, grabbed at the dog, who promptly dodged. Around and +around the flower-beds they raced, and when the officer came too near for +comfort, the bull-dog cut across a flower-bed, which perhaps was not +playing fair. + +The young man was amused, and the dog also seemed to enjoy the exercise. + +The policeman noticed this and decided to strike at the fountain-head of +the evil. He stormed up to the student and said, "As the owner of this +public nuisance I arrest you!" + +"But," objected the other, "I disclaim the dog." + +That was a poser. It was useless to attempt to catch the dog until three +gardeners lent a hand, but then the dog simply ran away and disappeared in +the rue de Medici. + +The policeman shambled off to find consolation among the white-capped +nurses, and the student, looking at his watch, stood up yawning. Then +catching sight of Hastings, he smiled and bowed. Hastings walked over to +the marble, laughing. + +"Why, Clifford," he said, "I didn't recognize you." + +"It's my moustache," sighed the other. "I sacrificed it to humour a whim +of--of--a friend. What do you think of my dog?" + +"Then he is yours?" cried Hastings. + +"Of course. It's a pleasant change for him, this playing tag with +policemen, but he is known now and I'll have to stop it. He's gone home. +He always does when the gardeners take a hand. It's a pity; he's fond of +rolling on lawns." Then they chatted for a moment of Hastings' prospects, +and Clifford politely offered to stand his sponsor at the studio. + +"You see, old tabby, I mean Dr. Byram, told me about you before I met +you," explained Clifford, "and Elliott and I will be glad to do anything +we can." Then looking at his watch again, he muttered, "I have just ten +minutes to catch the Versailles train; au revoir," and started to go, but +catching sight of a girl advancing by the fountain, took off his hat with +a confused smile. + +"Why are you not at Versailles?" she said, with an almost imperceptible +acknowledgment of Hastings' presence. + +"I--I'm going," murmured Clifford. + +For a moment they faced each other, and then Clifford, very red, +stammered, "With your permission I have the honour of presenting to you my +friend, Monsieur Hastings." + +Hastings bowed low. She smiled very sweetly, but there was something of +malice in the quiet inclination of her small Parisienne head. + +"I could have wished," she said, "that Monsieur Clifford might spare me +more time when he brings with him so charming an American." + +"Must--must I go, Valentine?" began Clifford. + +"Certainly," she replied. + +Clifford took his leave with very bad grace, wincing, when she added, "And +give my dearest love to Cécile!" As he disappeared in the rue d'Assas, the +girl turned as if to go, but then suddenly remembering Hastings, looked at +him and shook her head. + +"Monsieur Clifford is so perfectly harebrained," she smiled, "it is +embarrassing sometimes. You have heard, of course, all about his success +at the Salon?" + +He looked puzzled and she noticed it. + +"You have been to the Salon, of course?" + +"Why, no," he answered, "I only arrived in Paris three days ago." + +She seemed to pay little heed to his explanation, but continued: "Nobody +imagined he had the energy to do anything good, but on varnishing day the +Salon was astonished by the entrance of Monsieur Clifford, who strolled +about as bland as you please with an orchid in his buttonhole, and a +beautiful picture on the line." + +She smiled to herself at the reminiscence, and looked at the fountain. + +"Monsieur Bouguereau told me that Monsieur Julian was so astonished that +he only shook hands with Monsieur Clifford in a dazed manner, and actually +forgot to pat him on the back! Fancy," she continued with much merriment, +"fancy papa Julian forgetting to pat one on the back." + +Hastings, wondering at her acquaintance with the great Bouguereau, looked +at her with respect. "May I ask," he said diffidently, "whether you are a +pupil of Bouguereau?" + +"I?" she said in some surprise. Then she looked at him curiously. Was he +permitting himself the liberty of joking on such short acquaintance? + +His pleasant serious face questioned hers. + +"Tiens," she thought, "what a droll man!" + +"You surely study art?" he said. + +She leaned back on the crooked stick of her parasol, and looked at him. +"Why do you think so?" + +"Because you speak as if you did." + +"You are making fun of me," she said, "and it is not good taste." + +She stopped, confused, as he coloured to the roots of his hair. + +"How long have you been in Paris?" she said at length. + +"Three days," he replied gravely. + +"But--but--surely you are not a nouveau! You speak French too well!" + +Then after a pause, "Really are you a nouveau?" + +"I am," he said. + +She sat down on the marble bench lately occupied by Clifford, and tilting +her parasol over her small head looked at him. + +"I don't believe it." + +He felt the compliment, and for a moment hesitated to declare himself one +of the despised. Then mustering up his courage, he told her how new and +green he was, and all with a frankness which made her blue eyes open very +wide and her lips part in the sweetest of smiles. + +"You have never seen a studio?" + +"Never." + +"Nor a model?" + +"No." + +"How funny," she said solemnly. Then they both laughed. + +"And you," he said, "have seen studios?" + +"Hundreds." + +"And models?" + +"Millions." + +"And you know Bouguereau?" + +"Yes, and Henner, and Constant and Laurens, and Puvis de Chavannes and +Dagnan and Courtois, and--and all the rest of them!" + +"And yet you say you are not an artist." + +"Pardon," she said gravely, "did I say I was not?" + +"Won't you tell me?" he hesitated. + +At first she looked at him, shaking her head and smiling, then of a sudden +her eyes fell and she began tracing figures with her parasol in the gravel +at her feet. Hastings had taken a place on the seat, and now, with his +elbows on his knees, sat watching the spray drifting above the fountain +jet. A small boy, dressed as a sailor, stood poking his yacht and crying, +"I won't go home! I won't go home!" His nurse raised her hands to Heaven. + +"Just like a little American boy," thought Hastings, and a pang of +homesickness shot through him. + +Presently the nurse captured the boat, and the small boy stood at bay. + +"Monsieur René, when you decide to come here you may have your boat." + +The boy backed away scowling. + +"Give me my boat, I say," he cried, "and don't call me René, for my +name's Randall and you know it!" + +"Hello!" said Hastings,--"Randall?--that's English." + +"I am American," announced the boy in perfectly good English, turning to +look at Hastings, "and she's such a fool she calls me René because mamma +calls me Ranny--" + +Here he dodged the exasperated nurse and took up his station behind +Hastings, who laughed, and catching him around the waist lifted him into +his lap. + +"One of my countrymen," he said to the girl beside him. He smiled while he +spoke, but there was a queer feeling in his throat. + +"Don't you see the stars and stripes on my yacht?" demanded Randall. Sure +enough, the American colours hung limply under the nurse's arm. + +"Oh," cried the girl, "he is charming," and impulsively stooped to kiss +him, but the infant Randall wriggled out of Hastings' arms, and his nurse +pounced upon him with an angry glance at the girl. + +She reddened and then bit her lips as the nurse, with eyes still fixed on +her, dragged the child away and ostentatiously wiped his lips with her +handkerchief. + +Then she stole a look at Hastings and bit her lip again. + +"What an ill-tempered woman!" he said. "In America, most nurses are +flattered when people kiss their children." + +For an instant she tipped the parasol to hide her face, then closed it +with a snap and looked at him defiantly. + +"Do you think it strange that she objected?" + +"Why not?" he said in surprise. + +Again she looked at him with quick searching eyes. + +His eyes were clear and bright, and he smiled back, repeating, "Why not?" + +"You _are_ droll," she murmured, bending her head. + +"Why?" + +But she made no answer, and sat silent, tracing curves and circles in the +dust with her parasol. After a while he said--"I am glad to see that young +people have so much liberty here. I understood that the French were not at +all like us. You know in America--or at least where I live in Milbrook, +girls have every liberty,--go out alone and receive their friends alone, +and I was afraid I should miss it here. But I see how it is now, and I am +glad I was mistaken." + +She raised her eyes to his and kept them there. + +He continued pleasantly--"Since I have sat here I have seen a lot of +pretty girls walking alone on the terrace there,--and then _you_ are alone +too. Tell me, for I do not know French customs,--do you have the liberty +of going to the theatre without a chaperone?" + +For a long time she studied his face, and then with a trembling smile +said, "Why do you ask me?" + +"Because you must know, of course," he said gaily. + +"Yes," she replied indifferently, "I know." + +He waited for an answer, but getting none, decided that perhaps she had +misunderstood him. + +"I hope you don't think I mean to presume on our short acquaintance," he +began,--"in fact it is very odd but I don't know your name. When Mr. +Clifford presented me he only mentioned mine. Is that the custom in +France?" + +"It is the custom in the Latin Quarter," she said with a queer light in +her eyes. Then suddenly she began talking almost feverishly. + +"You must know, Monsieur Hastings, that we are all _un peu sans gêne_ here +in the Latin Quarter. We are very Bohemian, and etiquette and ceremony are +out of place. It was for that Monsieur Clifford presented you to me with +small ceremony, and left us together with less,--only for that, and I am +his friend, and I have many friends in the Latin Quarter, and we all know +each other very well--and I am not studying art, but--but--" + +"But what?" he said, bewildered. + +"I shall not tell you,--it is a secret," she said with an uncertain smile. +On both cheeks a pink spot was burning, and her eyes were very bright. + +Then in a moment her face fell. "Do you know Monsieur Clifford very +intimately?" + +"Not very." + +After a while she turned to him, grave and a little pale. + +"My name is Valentine--Valentine Tissot. Might--might I ask a service of +you on such very short acquaintance?" + +"Oh," he cried, "I should be honoured." + +"It is only this," she said gently, "it is not much. Promise me not to +speak to Monsieur Clifford about me. Promise me that you will speak to no +one about me." + +"I promise," he said, greatly puzzled. + +She laughed nervously. "I wish to remain a mystery. It is a caprice." + +"But," he began, "I had wished, I had hoped that you might give Monsieur +Clifford permission to bring me, to present me at your house." + +"My--my house!" she repeated. + +"I mean, where you live, in fact, to present me to your family." + +The change in the girl's face shocked him. + +"I beg your pardon," he cried, "I have hurt you." + +And as quick as a flash she understood him because she was a woman. + +"My parents are dead," she said. + +Presently he began again, very gently. + +"Would it displease you if I beg you to receive me? It is the custom?" + +"I cannot," she answered. Then glancing up at him, "I am sorry; I should +like to; but believe me. I cannot." + +He bowed seriously and looked vaguely uneasy. + +"It isn't because I don't wish to. I--I like you; you are very kind to +me." + +"Kind?" he cried, surprised and puzzled. + +"I like you," she said slowly, "and we will see each other sometimes if +you will." + +"At friends' houses." + +"No, not at friends' houses." + +"Where?" + +"Here," she said with defiant eyes. + +"Why," he cried, "in Paris you are much more liberal in your views than we +are." + +She looked at him curiously. + +"Yes, we are very Bohemian." + +"I think it is charming," he declared. + +"You see, we shall be in the best of society," she ventured timidly, with +a pretty gesture toward the statues of the dead queens, ranged in stately +ranks above the terrace. + +He looked at her, delighted, and she brightened at the success of her +innocent little pleasantry. + +"Indeed," she smiled, "I shall be well chaperoned, because you see we are +under the protection of the gods themselves; look, there are Apollo, and +Juno, and Venus, on their pedestals," counting them on her small gloved +fingers, "and Ceres, Hercules, and--but I can't make out--" + +Hastings turned to look up at the winged god under whose shadow they were +seated. + +"Why, it's Love," he said. + + + + +IV + +"There is a nouveau here," drawled Laffat, leaning around his easel and +addressing his friend Bowles, "there is a nouveau here who is so tender +and green and appetizing that Heaven help him if he should fall into a +salad bowl." + +"Hayseed?" inquired Bowles, plastering in a background with a broken +palette-knife and squinting at the effect with approval. + +"Yes, Squeedunk or Oshkosh, and how he ever grew up among the daisies and +escaped the cows, Heaven alone knows!" + +Bowles rubbed his thumb across the outlines of his study to "throw in a +little atmosphere," as he said, glared at the model, pulled at his pipe +and finding it out struck a match on his neighbour's back to relight it. + +"His name," continued Laffat, hurling a bit of bread at the hat-rack, "his +name is Hastings. He _is_ a berry. He knows no more about the world,"--and +here Mr. Laffat's face spoke volumes for his own knowledge of that +planet,--"than a maiden cat on its first moonlight stroll." + +Bowles now having succeeded in lighting his pipe, repeated the thumb touch +on the other edge of the study and said, "Ah!" + +"Yes," continued his friend, "and would you imagine it, he seems to think +that everything here goes on as it does in his d----d little backwoods +ranch at home; talks about the pretty girls who walk alone in the street; +says how sensible it is; and how French parents are misrepresented in +America; says that for his part he finds French girls,--and he confessed +to only knowing one,--as jolly as American girls. I tried to set him +right, tried to give him a pointer as to what sort of ladies walk about +alone or with students, and he was either too stupid or too innocent to +catch on. Then I gave it to him straight, and he said I was a vile-minded +fool and marched off." + +"Did you assist him with your shoe?" inquired Bowles, languidly +interested. + +"Well, no." + +"He called you a vile-minded fool." + +"He was correct," said Clifford from his easel in front. + +"What--what do you mean?" demanded Laffat, turning red. + +"_That_," replied Clifford. + +"Who spoke to you? Is this your business?" sneered Bowles, but nearly lost +his balance as Clifford swung about and eyed him. + +"Yes," he said slowly, "it's my business." + +No one spoke for some time. + +Then Clifford sang out, "I say, Hastings!" + +And when Hastings left his easel and came around, he nodded toward the +astonished Laffat. + +"This man has been disagreeable to you, and I want to tell you that any +time you feel inclined to kick him, why, I will hold the other creature." + +Hastings, embarrassed, said, "Why no, I don't agree with his ideas, +nothing more." + +Clifford said "Naturally," and slipping his arm through Hastings', +strolled about with him, and introduced him to several of his own friends, +at which all the nouveaux opened their eyes with envy, and the studio were +given to understand that Hastings, although prepared to do menial work as +the latest nouveau, was already within the charmed circle of the old, +respected and feared, the truly great. + +The rest finished, the model resumed his place, and work went on in a +chorus of songs and yells and every ear-splitting noise which the art +student utters when studying the beautiful. + +Five o'clock struck,--the model yawned, stretched and climbed into his +trousers, and the noisy contents of six studios crowded through the hall +and down into the street. Ten minutes later, Hastings found himself on top +of a Montrouge tram, and shortly afterward was joined by Clifford. + +They climbed down at the rue Gay Lussac. + +"I always stop here," observed Clifford, "I like the walk through the +Luxembourg." + +"By the way," said Hastings, "how can I call on you when I don't know +where you live?" + +"Why, I live opposite you." + +"What--the studio in the garden where the almond trees are and the +blackbirds--" + +"Exactly," said Clifford. "I'm with my friend Elliott." + +Hastings thought of the description of the two American artists which he +had heard from Miss Susie Byng, and looked blank. + +Clifford continued, "Perhaps you had better let me know when you think of +coming so,--so that I will be sure to--to be there," he ended rather +lamely. + +"I shouldn't care to meet any of your model friends there," said Hastings, +smiling. "You know--my ideas are rather straitlaced,--I suppose you would +say, Puritanical. I shouldn't enjoy it and wouldn't know how to behave." + +"Oh, I understand," said Clifford, but added with great cordiality,--"I'm +sure we'll be friends although you may not approve of me and my set, but +you will like Severn and Selby because--because, well, they are like +yourself, old chap." + +After a moment he continued, "There is something I want to speak about. +You see, when I introduced you, last week, in the Luxembourg, to +Valentine--" + +"Not a word!" cried Hastings, smiling; "you must not tell me a word of +her!" + +"Why--" + +"No--not a word!" he said gaily. "I insist,--promise me upon your honour +you will not speak of her until I give you permission; promise!" + +"I promise," said Clifford, amazed. + +"She is a charming girl,--we had such a delightful chat after you left, +and I thank you for presenting me, but not another word about her until I +give you permission." + +"Oh," murmured Clifford. + +"Remember your promise," he smiled, as he turned into his gateway. + +Clifford strolled across the street and, traversing the ivy-covered alley, +entered his garden. + +He felt for his studio key, muttering, "I wonder--I wonder,--but of course +he doesn't!" + +He entered the hallway, and fitting the key into the door, stood staring +at the two cards tacked over the panels. + + FOXHALL CLIFFORD + + RICHARD OSBORNE ELLIOTT + +"Why the devil doesn't he want me to speak of her?" + +He opened the door, and, discouraging the caresses of two brindle +bull-dogs, sank down on the sofa. + +Elliott sat smoking and sketching with a piece of charcoal by the window. + +"Hello," he said without looking around. + +Clifford gazed absently at the back of his head, murmuring, "I'm afraid, +I'm afraid that man is too innocent. I say, Elliott," he said, at last, +"Hastings,--you know the chap that old Tabby Byram came around here to +tell us about--the day you had to hide Colette in the armoire--" + +"Yes, what's up?" + +"Oh, nothing. He's a brick." + +"Yes," said Elliott, without enthusiasm. + +"Don't you think so?" demanded Clifford. + +"Why yes, but he is going to have a tough time when some of his illusions +are dispelled." + +"More shame to those who dispel 'em!" + +"Yes,--wait until he comes to pay his call on us, unexpectedly, of +course--" + +Clifford looked virtuous and lighted a cigar. + +"I was just going to say," he observed, "that I have asked him not to come +without letting us know, so I can postpone any orgie you may have +intended--" + +"Ah!" cried Elliott indignantly, "I suppose you put it to him in that +way." + +"Not exactly," grinned Clifford. Then more seriously, "I don't want +anything to occur here to bother him. He's a brick, and it's a pity we +can't be more like him." + +"I am," observed Elliott complacently, "only living with you--" + +"Listen!" cried the other. "I have managed to put my foot in it in great +style. Do you know what I've done? Well--the first time I met him in the +street,--or rather, it was in the Luxembourg, I introduced him to +Valentine!" + +"Did he object?" + +"Believe me," said Clifford, solemnly, "this rustic Hastings has no more +idea that Valentine is--is--in fact is Valentine, than he has that he +himself is a beautiful example of moral decency in a Quarter where morals +are as rare as elephants. I heard enough in a conversation between that +blackguard Loffat and the little immoral eruption, Bowles, to open my +eyes. I tell you Hastings is a trump! He's a healthy, clean-minded young +fellow, bred in a small country village, brought up with the idea that +saloons are way-stations to hell--and as for women--" + +"Well?" demanded Elliott + +"Well," said Clifford, "his idea of the dangerous woman is probably a +painted Jezabel." + +"Probably," replied the other. + +"He's a trump!" said Clifford, "and if he swears the world is as good and +pure as his own heart, I'll swear he's right." + +Elliott rubbed his charcoal on his file to get a point and turned to his +sketch saying, "He will never hear any pessimism from Richard Osborne E." + +"He's a lesson to me," said Clifford. Then he unfolded a small perfumed +note, written on rose-coloured paper, which had been lying on the table +before him. + +He read it, smiled, whistled a bar or two from "Miss Helyett," and sat +down to answer it on his best cream-laid note-paper. When it was written +and sealed, he picked up his stick and marched up and down the studio two +or three times, whistling. + +"Going out?" inquired the other, without turning. + +"Yes," he said, but lingered a moment over Elliott's shoulder, watching +him pick out the lights in his sketch with a bit of bread. + +"To-morrow is Sunday," he observed after a moment's silence. + +"Well?" inquired Elliott. + +"Have you seen Colette?" + +"No, I will to-night. She and Rowden and Jacqueline are coming to +Boulant's. I suppose you and, Cécile will be there?" + +"Well, no," replied Clifford. "Cécile dines at home to-night, and I--I had +an idea of going to Mignon's." + +Elliott looked at him with disapproval. + +"You can make all the arrangements for La Roche without me," he continued, +avoiding Elliott's eyes. + +"What are you up to now?" + +"Nothing," protested Clifford. + +"Don't tell me," replied his chum, with scorn; "fellows don't rush off to +Mignon's when the set dine at Boulant's. Who is it now?--but no, I won't +ask that,--what's the use!" Then he lifted up his voice in complaint and +beat upon the table with his pipe. "What's the use of ever trying to keep +track of you? What will Cécile say,--oh, yes, what will she say? It's a +pity you can't be constant two months, yes, by Jove! and the Quarter is +indulgent, but you abuse its good nature and mine too!" + +Presently he arose, and jamming his hat on his head, marched to the door. + +"Heaven alone knows why any one puts up with your antics, but they all do +and so do I. If I were Cécile or any of the other pretty fools after whom +you have toddled and will, in all human probabilities, continue to toddle, +I say, if I were Cécile I'd spank you! Now I'm going to Boulant's, and as +usual I shall make excuses for you and arrange the affair, and I don't +care a continental where you are going, but, by the skull of the studio +skeleton! if you don't turn up to-morrow with your sketching-kit under one +arm and Cécile under the other,--if you don't turn up in good shape, I'm +done with you, and the rest can think what they please. Good-night." + +Clifford said good-night with as pleasant a smile as he could muster, and +then sat down with his eyes on the door. He took out his watch and gave +Elliott ten minutes to vanish, then rang the concierge's call, murmuring, +"Oh dear, oh dear, why the devil do I do it?" + +"Alfred," he said, as that gimlet-eyed person answered the call, "make +yourself clean and proper, Alfred, and replace your sabots with a pair of +shoes. Then put on your best hat and take this letter to the big white +house in the Rue de Dragon. There is no answer, _mon petit_ Alfred." + +The concierge departed with a snort in which unwillingness for the errand +and affection for M. Clifford were blended. Then with great care the young +fellow arrayed himself in all the beauties of his and Elliott's wardrobe. +He took his time about it, and occasionally interrupted his toilet to play +his banjo or make pleasing diversion for the bull-dogs by gambling about +on all fours. "I've got two hours before me," he thought, and borrowed a +pair of Elliott's silken foot-gear, with which he and the dogs played ball +until he decided to put them on. Then he lighted a cigarette and inspected +his dress-coat. When he had emptied it of four handkerchiefs, a fan, and a +pair of crumpled gloves as long as his arm, he decided it was not suited +to add _éclat_ to his charms and cast about in his mind for a substitute. +Elliott was too thin, and, anyway, his coats were now under lock and key. +Rowden probably was as badly off as himself. Hastings! Hastings was the +man! But when he threw on a smoking-jacket and sauntered over to Hastings' +house, he was informed that he had been gone over an hour. + +"Now, where in the name of all that's reasonable could he have gone!" +muttered Clifford, looking down the street. + +The maid didn't know, so he bestowed upon her a fascinating smile and +lounged back to the studio. + +Hastings was not far away. The Luxembourg is within five minutes' walk of +the rue Notre Dame des Champs, and there he sat under the shadow of a +winged god, and there he had sat for an hour, poking holes in the dust and +watching the steps which lead from the northern terrace to the fountain. +The sun hung, a purple globe, above the misty hills of Meudon. Long +streamers of clouds touched with rose swept low on the western sky, and +the dome of the distant Invalides burned like an opal through the haze. +Behind the Palace the smoke from a high chimney mounted straight into the +air, purple until it crossed the sun, where it changed to a bar of +smouldering fire. High above the darkening foliage of the chestnuts the +twin towers of St. Sulpice rose, an ever-deepening silhouette. + +A sleepy blackbird was carolling in some near thicket, and pigeons passed +and repassed with the whisper of soft winds in their wings. The light on +the Palace windows had died away, and the dome of the Pantheon swam aglow +above the northern terrace, a fiery Valhalla in the sky; while below in +grim array, along the terrace ranged, the marble ranks of queens looked +out into the west. + +From the end of the long walk by the northern façade of the Palace came +the noise of omnibuses and the cries of the street. Hastings looked at the +Palace clock. Six, and as his own watch agreed with it, he fell to poking +holes in the gravel again. A constant stream of people passed between the +Odéon and the fountain. Priests in black, with silver-buckled shoes; line +soldiers, slouchy and rakish; neat girls without hats bearing milliners' +boxes, students with black portfolios and high hats, students with bérets +and big canes, nervous, quick-stepping officers, symphonies in turquoise +and silver; ponderous jangling cavalrymen all over dust, pastry cooks' +boys skipping along with utter disregard for the safety of the basket +balanced on the impish head, and then the lean outcast, the shambling +Paris tramp, slouching with shoulders bent and little eye furtively +scanning the ground for smokers' refuse;--all these moved in a steady +stream across the fountain circle and out into the city by the Odeon, +whose long arcades were now beginning to flicker with gas-jets. The +melancholy bells of St Sulpice struck the hour and the clock-tower of the +Palace lighted up. Then hurried steps sounded across the gravel and +Hastings raised his head. + +"How late you are," he said, but his voice was hoarse and only his flushed +face told how long had seemed the waiting. + +She said, "I was kept--indeed, I was so much annoyed--and--and I may only +stay a moment." + +She sat down beside him, casting a furtive glance over her shoulder at the +god upon his pedestal. + +"What a nuisance, that intruding cupid still there?" + +"Wings and arrows too," said Hastings, unheeding her motion to be seated. + +"Wings," she murmured, "oh, yes--to fly away with when he's tired of his +play. Of course it was a man who conceived the idea of wings, otherwise +Cupid would have been insupportable." + +"Do you think so?" + +"_Ma foi_, it's what men think." + +"And women?" + +"Oh," she said, with a toss of her small head, "I really forget what we +were speaking of." + +"We were speaking of love," said Hastings. + +"_I_ was not," said the girl. Then looking up at the marble god, "I don't +care for this one at all. I don't believe he knows how to shoot his +arrows--no, indeed, he is a coward;--he creeps up like an assassin in the +twilight. I don't approve of cowardice," she announced, and turned her +back on the statue. + +"I think," said Hastings quietly, "that he does shoot fairly--yes, and +even gives one warning." + +"Is it your experience, Monsieur Hastings?" + +He looked straight into her eyes and said, "He is warning me." + +"Heed the warning then," she cried, with a nervous laugh. As she spoke she +stripped off her gloves, and then carefully proceeded to draw them on +again. When this was accomplished she glanced at the Palace clock, saying, +"Oh dear, how late it is!" furled her umbrella, then unfurled it, and +finally looked at him. + +"No," he said, "I shall not heed his warning." + +"Oh dear," she sighed again, "still talking about that tiresome statue!" +Then stealing a glance at his face, "I suppose--I suppose you are in +love." + +"I don't know," he muttered, "I suppose I am." + +She raised her head with a quick gesture. "You seem delighted at the +idea," she said, but bit her lip and trembled as his eyes met hers. Then +sudden fear came over her and she sprang up, staring into the gathering +shadows. + +"Are you cold?" he said. + +But she only answered, "Oh dear, oh dear, it is late--so late! I must +go--good-night." + +She gave him her gloved hand a moment and then withdrew it with a start. + +"What is it?" he insisted. "Are you frightened?" + +She looked at him strangely. + +"No--no--not frightened,--you are very good to me--" + +"By Jove!" he burst out, "what do you mean by saying I'm good to you? +That's at least the third time, and I don't understand!" + +The sound of a drum from the guard-house at the palace cut him short. +"Listen," she whispered, "they are going to close. It's late, oh, so +late!" + +The rolling of the drum came nearer and nearer, and then the silhouette of +the drummer cut the sky above the eastern terrace. The fading light +lingered a moment on his belt and bayonet, then he passed into the +shadows, drumming the echoes awake. The roll became fainter along the +eastern terrace, then grew and grew and rattled with increasing sharpness +when he passed the avenue by the bronze lion and turned down the western +terrace walk. Louder and louder the drum sounded, and the echoes struck +back the notes from the grey palace wall; and now the drummer loomed up +before them--his red trousers a dull spot in the gathering gloom, the +brass of his drum and bayonet touched with a pale spark, his epaulettes +tossing on his shoulders. He passed leaving the crash of the drum in their +ears, and far into the alley of trees they saw his little tin cup shining +on his haversack. Then the sentinels began the monotonous cry: "On ferme! +on ferme!" and the bugle blew from the barracks in the rue de Tournon. + +"On ferme! on ferme!" + +"Good-night," she whispered, "I must return alone to-night." + +He watched her until she reached the northern terrace, and then sat down +on the marble seat until a hand on his shoulder and a glimmer of bayonets +warned him away. + +She passed on through the grove, and turning into the rue de Medici, +traversed it to the Boulevard. At the corner she bought a bunch of violets +and walked on along the Boulevard to the rue des Écoles. A cab was drawn +up before Boulant's, and a pretty girl aided by Elliott jumped out. + +"Valentine!" cried the girl, "come with us!" + +"I can't," she said, stopping a moment--"I have a rendezvous at Mignon's." + +"Not Victor?" cried the girl, laughing, but she passed with a little +shiver, nodding good-night, then turning into the Boulevard St. Germain, +she walked a tittle faster to escape a gay party sitting before the Café +Cluny who called to her to join them. At the door of the Restaurant Mignon +stood a coal-black negro in buttons. He took off his peaked cap as she +mounted the carpeted stairs. + +"Send Eugene to me," she said at the office, and passing through the +hallway to the right of the dining-room stopped before a row of panelled +doors. A waiter passed and she repeated her demand for Eugene, who +presently appeared, noiselessly skipping, and bowed murmuring, "Madame." + +"Who is here?" + +"No one in the cabinets, madame; in the half Madame Madelon and Monsieur +Gay, Monsieur de Clamart, Monsieur Clisson, Madame Marie and their set." +Then he looked around and bowing again murmured, "Monsieur awaits madame +since half an hour," and he knocked at one of the panelled doors bearing +the number six. + +Clifford opened the door and the girl entered. + +The garçon bowed her in, and whispering, "Will Monsieur have the goodness +to ring?" vanished. + +He helped her off with her jacket and took her hat and umbrella. When she +was seated at the little table with Clifford opposite she smiled and +leaned forward on both elbows looking him in the face. + +"What are you doing here?" she demanded. + +"Waiting," he replied, in accents of adoration. + +For an instant she turned and examined herself in the glass. The wide blue +eyes, the curling hair, the straight nose and short curled lip flashed in +the mirror an instant only, and then its depths reflected her pretty neck +and back. "Thus do I turn my back on vanity," she said, and then leaning +forward again, "What are you doing here?" + +"Waiting for you," repeated Clifford, slightly troubled. + +"And Cécile." + +"Now don't, Valentine--" + +"Do you know," she said calmly, "I dislike your conduct?" + +He was a little disconcerted, and rang for Eugene to cover his confusion. + +The soup was bisque, and the wine Pommery, and the courses followed each +other with the usual regularity until Eugene brought coffee, and there was +nothing left on the table but a small silver lamp. + +"Valentine," said Clifford, after having obtained permission to smoke, "is +it the Vaudeville or the Eldorado--or both, or the Nouveau Cirque, or--" + +"It is here," said Valentine. + +"Well," he said, greatly flattered, "I'm afraid I couldn't amuse you--" + +"Oh, yes, you are funnier than the Eldorado." + +"Now see here, don't guy me, Valentine. You always do, and, and,--you know +what they say,--a good laugh kills--" + +"What?" + +"Er--er--love and all that." + +She laughed until her eyes were moist with tears. "Tiens," she cried, "he +is dead, then!" + +Clifford eyed her with growing alarm. + +"Do you know why I came?" she said. + +"No," he replied uneasily, "I don't." + +"How long have you made love to me?" + +"Well," he admitted, somewhat startled,--"I should say,--for about a +year." + +"It is a year, I think. Are you not tired?" + +He did not answer. + +"Don't you know that I like you too well to--to ever fall in love with +you?" she said. "Don't you know that we are too good comrades,--too old +friends for that? And were we not,--do you think that I do not know your +history, Monsieur Clifford?" + +"Don't be--don't be so sarcastic," he urged; "don't be unkind, Valentine." + +"I'm not. I'm kind. I'm very kind,--to you and to Cécile." + +"Cécile is tired of me." + +"I hope she is," said the girl, "for she deserves a better fate. Tiens, do +you know your reputation in the Quarter? Of the inconstant, the most +inconstant,--utterly incorrigible and no more serious than a gnat on a +summer night. Poor Cécile!" + +Clifford looked so uncomfortable that she spoke more kindly. + +"I like you. You know that. Everybody does. You are a spoiled child here. +Everything is permitted you and every one makes allowance, but every one +cannot be a victim to caprice." + +"Caprice!" he cried. "By Jove, if the girls of the Latin Quarter are not +capricious--" + +"Never mind,--never mind about that! You must not sit in judgment--you of +all men. Why are you here to-night? Oh," she cried, "I will tell you why! +Monsieur receives a little note; he sends a little answer; he dresses in +his conquering raiment--" + +"I don't," said Clifford, very red. + +"You do, and it becomes you," she retorted with a faint smile. Then again, +very quietly, "I am in your power, but I know I am in the power of a +friend. I have come to acknowledge it to you here,--and it is because of +that that I am here to beg of you--a--a favour." + +Clifford opened his eyes, but said nothing. + +"I am in--great distress of mind. It is Monsieur Hastings." + +"Well?" said Clifford, in some astonishment. + +"I want to ask you," she continued in a low voice, "I want to ask you +to--to--in case you should speak of me before him,--not to say,--not to +say,--" + +"I shall not speak of you to him," he said quietly. + +"Can--can you prevent others?" + +"I might if I was present. May I ask why?" + +"That is not fair," she murmured; "you know how--how he considers me,--as +he considers every woman. You know how different he is from you and the +rest. I have never seen a man,--such a man as Monsieur Hastings." + +He let his cigarette go out unnoticed. + +"I am almost afraid of him--afraid he should know--what we all are in the +Quarter. Oh, I do not wish him to know! I do not wish him to--to turn from +me--to cease from speaking to me as he does! You--you and the rest cannot +know what it has been to me. I could not believe him,--I could not believe +he was so good and--and noble. I do not wish him to know--so soon. He will +find out--sooner or later, he will find out for himself, and then he will +turn away from me. Why!" she cried passionately, "why should he turn from +me and not from _you_?" + +Clifford, much embarrassed, eyed his cigarette. + +The girl rose, very white. "He is your friend--you have a right to warn +him." + +"He is my friend," he said at length. + +They looked at each other in silence. + +Then she cried, "By all that I hold to me most sacred, you need not warn +him!" + +"I shall trust your word," he said pleasantly. + + + + +V + +The month passed quickly for Hastings, and left few definite impressions +after it. It did leave some, however. One was a painful impression of +meeting Mr. Bladen on the Boulevard des Capucines in company with a very +pronounced young person whose laugh dismayed him, and when at last he +escaped from the café where Mr. Bladen had hauled him to join them in a +_bock_ he felt as if the whole boulevard was looking at him, and judging +him by his company. Later, an instinctive conviction regarding the young +person with Mr. Bladen sent the hot blood into his cheek, and he returned +to the pension in such a miserable state of mind that Miss Byng was +alarmed and advised him to conquer his homesickness at once. + +Another impression was equally vivid. One Saturday morning, feeling +lonely, his wanderings about the city brought him to the Gare St. Lazare. +It was early for breakfast, but he entered the Hôtel Terminus and took a +table near the window. As he wheeled about to give his order, a man +passing rapidly along the aisle collided with his head, and looking up to +receive the expected apology, he was met instead by a slap on the shoulder +and a hearty, "What the deuce are you doing here, old chap?" It was +Rowden, who seized him and told him to come along. So, mildly protesting, +he was ushered into a private dining-room where Clifford, rather red, +jumped up from the table and welcomed him with a startled air which was +softened by the unaffected glee of Rowden and the extreme courtesy of +Elliott. The latter presented him to three bewitching girls who welcomed +him so charmingly and seconded Rowden in his demand that Hastings should +make one of the party, that he consented at once. While Elliott briefly +outlined the projected excursion to La Roche, Hastings delightedly ate his +omelet, and returned the smiles of encouragement from Cécile and Colette +and Jacqueline. Meantime Clifford in a bland whisper was telling Rowden +what an ass he was. Poor Rowden looked miserable until Elliott, divining +how affairs were turning, frowned on Clifford and found a moment to let +Rowden know that they were all going to make the best of it. + +"You shut up," he observed to Clifford, "it's fate, and that settles it." + +"It's Rowden, and that settles it," murmured Clifford, concealing a grin. +For after all he was not Hastings' wet nurse. So it came about that the +train which left the Gare St. Lazare at 9.15 a.m. stopped a moment in its +career towards Havre and deposited at the red-roofed station of La Roche a +merry party, armed with sunshades, trout-rods, and one cane, carried by +the non-combatant, Hastings. Then, when they had established their camp in +a grove of sycamores which bordered the little river Ept, Clifford, the +acknowledged master of all that pertained to sportsmanship, took command. + +"You, Rowden," he said, "divide your flies with Elliott and keep an eye on +him or else he'll be trying to put on a float and sinker. Prevent him by +force from grubbing about for worms." + +Elliott protested, but was forced to smile in the general laugh. + +"You make me ill," he asserted; "do you think this is my first trout?" + +"I shall be delighted to see your first trout," said Clifford, and dodging +a fly hook, hurled with intent to hit, proceeded to sort and equip three +slender rods destined to bring joy and fish to Cécil, Colette, and +Jacqueline. With perfect gravity he ornamented each line with four split +shot, a small hook, and a brilliant quill float. + +"_I_ shall never touch the worms," announced Cécile with a shudder. + +Jacqueline and Colette hastened to sustain her, and Hastings pleasantly +offered to act in the capacity of general baiter and taker-off of fish. +But Cécile, doubtless fascinated by the gaudy flies in Clifford's book, +decided to accept lessons from him in the true art, and presently +disappeared up the Ept with Clifford in tow. + +Elliott looked doubtfully at Colette. + +"I prefer gudgeons," said that damsel with decision, "and you and Monsieur +Rowden may go away when you please; may they not, Jacqueline?" + +"Certainly," responded Jacqueline. + +Elliott, undecided, examined his rod and reel. + +"You've got your reel on wrong side up," observed Rowden. + +Elliott wavered, and stole a glance at Colette. + +"I--I--have almost decided to--er--not to flip the flies about just now," +he began. "There's the pole that Cécile left--" + +"Don't call it a pole," corrected Rowden. + +"_Rod_, then," continued Elliott, and started off in the wake of the two +girls, but was promptly collared by Rowden. + +"No, you don't! Fancy a man fishing with a float and sinker when he has a +fly rod in his hand! You come along!" + +Where the placid little Ept flows down between its thickets to the Seine, +a grassy bank shadows the haunt of the gudgeon, and on this bank sat +Colette and Jacqueline and chattered and laughed and watched the swerving +of the scarlet quills, while Hastings, his hat over his eyes, his head on +a bank of moss, listened to their soft voices and gallantly unhooked the +small and indignant gudgeon when a flash of a rod and a half-suppressed +scream announced a catch. The sunlight filtered through the leafy thickets +awaking to song the forest birds. Magpies in spotless black and white +flirted past, alighting near by with a hop and bound and twitch of the +tail. Blue and white jays with rosy breasts shrieked through the trees, +and a low-sailing hawk wheeled among the fields of ripening wheat, putting +to flight flocks of twittering hedge birds. + +Across the Seine a gull dropped on the water like a plume. The air was +pure and still. Scarcely a leaf moved. Sounds from a distant farm came +faintly, the shrill cock-crow and dull baying. Now and then a steam-tug +with big raking smoke-pipe, bearing the name "Guêpe 27," ploughed up the +river dragging its interminable train of barges, or a sailboat dropped +down with the current toward sleepy Rouen. + +A faint fresh odour of earth and water hung in the air, and through the +sunlight, orange-tipped butterflies danced above the marsh grass, soft +velvety butterflies flapped through the mossy woods. + +Hastings was thinking of Valentine. It was two o'clock when Elliott +strolled back, and frankly admitting that he had eluded Rowden, sat down +beside Colette and prepared to doze with satisfaction. + +"Where are your trout?" said Colette severely. + +"They still live," murmured Elliott, and went fast asleep. + +Rowden returned shortly after, and casting a scornful glance at the +slumbering one, displayed three crimson-flecked trout. + +"And that," smiled Hastings lazily, "that is the holy end to which the +faithful plod,--the slaughter of these small fish with a bit of silk and +feather." + +Rowden disdained to answer him. Colette caught another gudgeon and awoke +Elliott, who protested and gazed about for the lunch baskets, as Clifford +and Cécile came up demanding instant refreshment. Cécile's skirts were +soaked, and her gloves torn, but she was happy, and Clifford, dragging out +a two-pound trout, stood still to receive the applause of the company. + +"Where the deuce did you get that?" demanded Elliott. + +Cécile, wet and enthusiastic, recounted the battle, and then Clifford +eulogized her powers with the fly, and, in proof, produced from his creel +a defunct chub, which, he observed, just missed being a trout. + +They were all very happy at luncheon, and Hastings was voted "charming." +He enjoyed it immensely,--only it seemed to him at moments that flirtation +went further in France than in Millbrook, Connecticut, and he thought that +Cécile might be a little less enthusiastic about Clifford, that perhaps it +would be quite as well if Jacqueline sat further away from Rowden, and +that possibly Colette could have, for a moment at least, taken her eyes +from Elliott's face. Still he enjoyed it--except when his thoughts drifted +to Valentine, and then he felt that he was very far away from her. La +Roche is at least an hour and a half from Paris. It is also true that he +felt a happiness, a quick heart-beat when, at eight o'clock that night the +train which bore them from La Roche rolled into the Gare St. Lazare and he +was once more in the city of Valentine. + +"Good-night," they said, pressing around him. "You must come with us next +time!" + +He promised, and watched them, two by two, drift into the darkening city, +and stood so long that, when again he raised his eyes, the vast Boulevard +was twinkling with gas-jets through which the electric lights stared like +moons. + + + + +VI + +It was with another quick heart-beat that he awoke next morning, for his +first thought was of Valentine. + +The sun already gilded the towers of Notre Dame, the clatter of workmen's +sabots awoke sharp echoes in the street below, and across the way a +blackbird in a pink almond tree was going into an ecstasy of trills. + +He determined to awake Clifford for a brisk walk in the country, hoping +later to beguile that gentleman into the American church for his soul's +sake. He found Alfred the gimlet-eyed washing the asphalt walk which led +to the studio. + +"Monsieur Elliott?" he replied to the perfunctory inquiry, "_je ne sais +pas_." + +"And Monsieur Clifford," began Hastings, somewhat astonished. + +"Monsieur Clifford," said the concierge with fine irony, "will be pleased +to see you, as he retired early; in fact he has just come in." + +Hastings hesitated while the concierge pronounced a fine eulogy on people +who never stayed out all night and then came battering at the lodge gate +during hours which even a gendarme held sacred to sleep. He also +discoursed eloquently upon the beauties of temperance, and took an +ostentatious draught from the fountain in the court. + +"I do not think I will come in," said Hastings. + +"Pardon, monsieur," growled the concierge, "perhaps it would be well to +see Monsieur Clifford. He possibly needs aid. Me he drives forth with +hair-brushes and boots. It is a mercy if he has not set fire to something +with his candle." + +Hastings hesitated for an instant, but swallowing his dislike of such a +mission, walked slowly through the ivy-covered alley and across the inner +garden to the studio. He knocked. Perfect silence. Then he knocked again, +and this time something struck the door from within with a crash. + +"That," said the concierge, "was a boot." He fitted his duplicate key into +the lock and ushered Hastings in. Clifford, in disordered evening dress, +sat on the rug in the middle of the room. He held in his hand a shoe, and +did not appear astonished to see Hastings. + +"Good-morning, do you use Pears' soap?" he inquired with a vague wave of +his hand and a vaguer smile. + +Hastings' heart sank. "For Heaven's sake," he said, "Clifford, go to bed." + +"Not while that--that Alfred pokes his shaggy head in here an' I have a +shoe left." + +Hastings blew out the candle, picked up Clifford's hat and cane, and said, +with an emotion he could not conceal, "This is terrible, +Clifford,--I--never knew you did this sort of thing." + +"Well, I do," said Clifford. + +"Where is Elliott?" + +"Ole chap," returned Clifford, becoming maudlin, "Providence which +feeds--feeds--er--sparrows an' that sort of thing watcheth over the +intemperate wanderer--" + +"Where is Elliott?" + +But Clifford only wagged his head and waved his arm about. "He's out +there,--somewhere about." Then suddenly feeling a desire to see his +missing chum, lifted up his voice and howled for him. + +Hastings, thoroughly shocked, sat down on the lounge without a word. +Presently, after shedding several scalding tears, Clifford brightened up +and rose with great precaution. + +"Ole chap," he observed, "do you want to see er--er miracle? Well, here +goes. I'm goin' to begin." + +He paused, beaming at vacancy. + +"Er miracle," he repeated. + +Hastings supposed he was alluding to the miracle of his keeping his +balance, and said nothing. + +"I'm goin' to bed," he announced, "poor ole Clifford's goin' to bed, an' +that's er miracle!" + +And he did with a nice calculation of distance and equilibrium which would +have rung enthusiastic yells of applause from Elliott had he been there to +assist _en connaisseur_. But he was not. He had not yet reached the +studio. He was on his way, however, and smiled with magnificent +condescension on Hastings, who, half an hour later, found him reclining +upon a bench in the Luxembourg. He permitted himself to be aroused, dusted +and escorted to the gate. Here, however, he refused all further +assistance, and bestowing a patronizing bow upon Hastings, steered a +tolerably true course for the rue Vavin. + +Hastings watched him out of sight, and then slowly retraced his steps +toward the fountain. At first he felt gloomy and depressed, but gradually +the clear air of the morning lifted the pressure from his heart, and he +sat down on the marble seat under the shadow of the winged god. + +The air was fresh and sweet with perfume from the orange flowers. +Everywhere pigeons were bathing, dashing the water over their iris-hued +breasts, flashing in and out of the spray or nestling almost to the neck +along the polished basin. The sparrows, too, were abroad in force, soaking +their dust-coloured feathers in the limpid pool and chirping with might +and main. Under the sycamores which surrounded the duck-pond opposite the +fountain of Marie de Medici, the water-fowl cropped the herbage, or +waddled in rows down the bank to embark on some solemn aimless cruise. + +Butterflies, somewhat lame from a chilly night's repose under the lilac +leaves, crawled over and over the white phlox, or took a rheumatic flight +toward some sun-warmed shrub. The bees were already busy among the +heliotrope, and one or two grey flies with brick-coloured eyes sat in a +spot of sunlight beside the marble seat, or chased each other about, only +to return again to the spot of sunshine and rub their fore-legs, exulting. + +The sentries paced briskly before the painted boxes, pausing at times to +look toward the guard-house for their relief. + +They came at last, with a shuffle of feet and click of bayonets, the word +was passed, the relief fell out, and away they went, crunch, crunch, +across the gravel. + +A mellow chime floated from the clock-tower of the palace, the deep bell +of St. Sulpice echoed the stroke. Hastings sat dreaming in the shadow of +the god, and while he mused somebody came and sat down beside him. At +first he did not raise his head. It was only when she spoke that he sprang +up. + +"You! At this hour?" + +"I was restless, I could not sleep." Then in a low, happy voice--"And +_you!_ at this hour?" + +"I--I slept, but the sun awoke me." + +"_I_ could not sleep," she said, and her eyes seemed, for a moment, +touched with an indefinable shadow. Then, smiling, "I am so glad--I seemed +to know you were coming. Don't laugh, I believe in dreams." + +"Did you really dream of,--of my being here?" + +"I think I was awake when I dreamed it," she admitted. Then for a time +they were mute, acknowledging by silence the happiness of being together. +And after all their silence was eloquent, for faint smiles, and glances +born of their thoughts, crossed and recrossed, until lips moved and words +were formed, which seemed almost superfluous. What they said was not very +profound. Perhaps the most valuable jewel that fell from Hastings' lips +bore direct reference to breakfast. + +"I have not yet had my chocolate," she confessed, "but what a material man +you are." + +"Valentine," he said impulsively, "I wish,--I do wish that you +would,--just for this once,--give me the whole day,--just for this once." + +"Oh dear," she smiled, "not only material, but selfish!" + +"Not selfish, hungry," he said, looking at her. + +"A cannibal too; oh dear!" + +"Will you, Valentine?" + +"But my chocolate--" + +"Take it with me." + +"But _déjeuner_--" + +"Together, at St. Cloud." + +"But I can't--" + +"Together,--all day,--all day long; will you, Valentine?" + +She was silent. + +"Only for this once." + +Again that indefinable shadow fell across her eyes, and when it was gone +she sighed. "Yes,--together, only for this once." + +"All day?" he said, doubting his happiness. + +"All day," she smiled; "and oh, I am so hungry!" + +He laughed, enchanted. + +"What a material young lady it is." + +On the Boulevard St. Michel there is a Crémerie painted white and blue +outside, and neat and clean as a whistle inside. The auburn-haired young +woman who speaks French like a native, and rejoices in the name of Murphy, +smiled at them as they entered, and tossing a fresh napkin over the zinc +_tête-à-tête_ table, whisked before them two cups of chocolate and a +basket full of crisp, fresh croissons. + +The primrose-coloured pats of butter, each stamped with a shamrock in +relief, seemed saturated with the fragrance of Normandy pastures. + +"How delicious!" they said in the same breath, and then laughed at the +coincidence. + +"With but a single thought," he began. + +"How absurd!" she cried with cheeks all rosy. "I'm thinking I'd like a +croisson." + +"So am I," he replied triumphant, "that proves it." + +Then they had a quarrel; she accusing him of behaviour unworthy of a child +in arms, and he denying it, and bringing counter charges, until +Mademoiselle Murphy laughed in sympathy, and the last croisson was eaten +under a flag of truce. Then they rose, and she took his arm with a bright +nod to Mile. Murphy, who cried them a merry: "_Bonjour, madame! bonjour, +monsieur_!" and watched them hail a passing cab and drive away. "_Dieu! +qu'il est beau_," she sighed, adding after a moment, "Do they be married, +I dunno,--_ma foi ils ont bien l'air_." + +The cab swung around the rue de Medici, turned into the rue de Vaugirard, +followed it to where it crosses the rue de Rennes, and taking that noisy +thoroughfare, drew up before the Gare Montparnasse. They were just in time +for a train and scampered up the stairway and out to the cars as the last +note from the starting-gong rang through the arched station. The guard +slammed the door of their compartment, a whistle sounded, answered by a +screech from the locomotive, and the long train glided from the station, +faster, faster, and sped out into the morning sunshine. The summer wind +blew in their faces from the open window, and sent the soft hair dancing +on the girl's forehead. + +"We have the compartment to ourselves," said Hastings. + +She leaned against the cushioned window-seat, her eyes bright and wide +open, her lips parted. The wind lifted her hat, and fluttered the ribbons +under her chin. With a quick movement she untied them, and, drawing a long +hat-pin from her hat, laid it down on the seat beside her. The train was +flying. + +The colour surged in her cheeks, and, with each quick-drawn breath, her +breath rose and fell under the cluster of lilies at her throat. Trees, +houses, ponds, danced past, cut by a mist of telegraph poles. + +"Faster! faster!" she cried. + +His eyes never left her, but hers, wide open, and blue as the summer sky, +seemed fixed on something far ahead,--something which came no nearer, but +fled before them as they fled. + +Was it the horizon, cut now by the grim fortress on the hill, now by the +cross of a country chapel? Was it the summer moon, ghost-like, slipping +through the vaguer blue above? + +"Faster! faster!" she cried. + +Her parted lips burned scarlet. + +The car shook and shivered, and the fields streamed by like an emerald +torrent. He caught the excitement, and his faced glowed. + +"Oh," she cried, and with an unconscious movement caught his hand, drawing +him to the window beside her. "Look! lean out with me!" + +He only saw her lips move; her voice was drowned in the roar of a trestle, +but his hand closed in hers and he clung to the sill. The wind whistled in +their ears. "Not so far out, Valentine, take care!" he gasped. + +Below, through the ties of the trestle, a broad river flashed into view +and out again, as the train thundered along a tunnel, and away once more +through the freshest of green fields. The wind roared about them. The girl +was leaning far out from the window, and he caught her by the waist, +crying, "Not too far!" but she only murmured, "Faster! faster! away out of +the city, out of the land, faster, faster! away out of the world!" + +"What are you saying all to yourself?" he said, but his voice was broken, +and the wind whirled it back into his throat. + +She heard him, and, turning from the window looked down at his arm about +her. Then she raised her eyes to his. The car shook and the windows +rattled. They were dashing through a forest now, and the sun swept the +dewy branches with running flashes of fire. He looked into her troubled +eyes; he drew her to him and kissed the half-parted lips, and she cried +out, a bitter, hopeless cry, "Not that--not that!" + +But he held her close and strong, whispering words of honest love and +passion, and when she sobbed--"Not that--not that--I have promised! You +must--you must know--I am--not--worthy--" In the purity of his own heart +her words were, to him, meaningless then, meaningless for ever after. +Presently her voice ceased, and her head rested on his breast. He leaned +against the window, his ears swept by the furious wind, his heart in a +joyous tumult. The forest was passed, and the sun slipped from behind the +trees, flooding the earth again with brightness. She raised her eyes and +looked out into the world from the window. Then she began to speak, but +her voice was faint, and he bent his head close to hers and listened. "I +cannot turn from you; I am too weak. You were long ago my master--master +of my heart and soul. I have broken my word to one who trusted me, but I +have told you all;--what matters the rest?" He smiled at her innocence and +she worshipped his. She spoke again: "Take me or cast me away;--what +matters it? Now with a word you can kill me, and it might be easier to die +than to look upon happiness as great as mine." + +He took her in his arms, "Hush, what are you saying? Look,--look out at +the sunlight, the meadows and the streams. We shall be very happy in so +bright a world." + +She turned to the sunlight. From the window, the world below seemed very +fair to her. + +Trembling with happiness, she sighed: "Is this the world? Then I have +never known it." + +"Nor have I, God forgive me," he murmured. + +Perhaps it was our gentle Lady of the Fields who forgave them both. + + + + +RUE BARRÉE + + "For let Philosopher and Doctor preach + Of what they will and what they will not,--each + Is but one link in an eternal chain + That none can slip nor break nor over-reach." + + "Crimson nor yellow roses nor + The savour of the mounting sea + Are worth the perfume I adore + That clings to thee. + The languid-headed lilies tire, + The changeless waters weary me; + I ache with passionate desire + Of thine and thee. + There are but these things in the world-- + Thy mouth of fire, + Thy breasts, thy hands, thy hair upcurled + And my desire." + + +I + +One morning at Julian's, a student said to Selby, "That is Foxhall +Clifford," pointing with his brushes at a young man who sat before an +easel, doing nothing. + +Selby, shy and nervous, walked over and began: "My name is Selby,--I have +just arrived in Paris, and bring a letter of introduction--" His voice was +lost in the crash of a falling easel, the owner of which promptly +assaulted his neighbour, and for a time the noise of battle rolled through +the studios of MM. Boulanger and Lefebvre, presently subsiding into a +scuffle on the stairs outside. Selby, apprehensive as to his own reception +in the studio, looked at Clifford, who sat serenely watching the fight. + +"It's a little noisy here," said Clifford, "but you will like the fellows +when you know them." His unaffected manner delighted Selby. Then with a +simplicity that won his heart, he presented him to half a dozen students +of as many nationalities. Some were cordial, all were polite. Even the +majestic creature who held the position of Massier, unbent enough to say: +"My friend, when a man speaks French as well as you do, and is also a +friend of Monsieur Clifford, he will have no trouble in this studio. You +expect, of course, to fill the stove until the next new man comes?" + +"Of course." + +"And you don't mind chaff?" + +"No," replied Selby, who hated it. + +Clifford, much amused, put on his hat, saying, "You must expect lots of it +at first." + +Selby placed his own hat on his head and followed him to the door. + +As they passed the model stand there was a furious cry of "Chapeau! +Chapeau!" and a student sprang from his easel menacing Selby, who reddened +but looked at Clifford. + +"Take off your hat for them," said the latter, laughing. + +A little embarrassed, he turned and saluted the studio. + +"Et moi?" cried the model. + +"You are charming," replied Selby, astonished at his own audacity, but the +studio rose as one man, shouting: "He has done well! he's all right!" +while the model, laughing, kissed her hand to him and cried: "À demain +beau jeune homme!" + +All that week Selby worked at the studio unmolested. The French students +christened him "l'Enfant Prodigue," which was freely translated, "The +Prodigious Infant," "The Kid," "Kid Selby," and "Kidby." But the disease +soon ran its course from "Kidby" to "Kidney," and then naturally to +"Tidbits," where it was arrested by Clifford's authority and ultimately +relapsed to "Kid." + +Wednesday came, and with it M. Boulanger. For three hours the students +writhed under his biting sarcasms,--among the others Clifford, who was +informed that he knew even less about a work of art than he did about the +art of work. Selby was more fortunate. The professor examined his drawing +in silence, looked at him sharply, and passed on with a non-committal +gesture. He presently departed arm in arm with Bouguereau, to the relief +of Clifford, who was then at liberty to jam his hat on his head and +depart. + +The next day he did not appear, and Selby, who had counted on seeing him +at the studio, a thing which he learned later it was vanity to count on, +wandered back to the Latin Quarter alone. + +Paris was still strange and new to him. He was vaguely troubled by its +splendour. No tender memories stirred his American bosom at the Place du +Châtelet, nor even by Notre Dame. The Palais de Justice with its clock and +turrets and stalking sentinels in blue and vermilion, the Place St. Michel +with its jumble of omnibuses and ugly water-spitting griffins, the hill of +the Boulevard St. Michel, the tooting trams, the policemen dawdling two by +two, and the table-lined terraces of the Café Vacehett were nothing to +him, as yet, nor did he even know, when he stepped from the stones of the +Place St. Michel to the asphalt of the Boulevard, that he had crossed the +frontier and entered the student zone,--the famous Latin Quarter. + +A cabman hailed him as "bourgeois," and urged the superiority of driving +over walking. A gamin, with an appearance of great concern, requested the +latest telegraphic news from London, and then, standing on his head, +invited Selby to feats of strength. A pretty girl gave him a glance from a +pair of violet eyes. He did not see her, but she, catching her own +reflection in a window, wondered at the colour burning in her cheeks. +Turning to resume her course, she met Foxhall Clifford, and hurried on. +Clifford, open-mouthed, followed her with his eyes; then he looked after +Selby, who had turned into the Boulevard St. Germain toward the rue de +Seine. Then he examined himself in the shop window. The result seemed to +be unsatisfactory. + +"I'm not a beauty," he mused, "but neither am I a hobgoblin. What does she +mean by blushing at Selby? I never before saw her look at a fellow in my +life,--neither has any one in the Quarter. Anyway, I can swear she never +looks at me, and goodness knows I have done all that respectful adoration +can do." + +He sighed, and murmuring a prophecy concerning the salvation of his +immortal soul swung into that graceful lounge which at all times +characterized Clifford. With no apparent exertion, he overtook Selby at +the corner, and together they crossed the sunlit Boulevard and sat down +under the awning of the Café du Cercle. Clifford bowed to everybody on the +terrace, saying, "You shall meet them all later, but now let me present +you to two of the sights of Paris, Mr. Richard Elliott and Mr. Stanley +Rowden." + +The "sights" looked amiable, and took vermouth. + +"You cut the studio to-day," said Elliott, suddenly turning on Clifford, +who avoided his eyes. + +"To commune with nature?" observed Rowden. + +"What's her name this time?" asked Elliott, and Rowden answered promptly, +"Name, Yvette; nationality, Breton--" + +"Wrong," replied Clifford blandly, "it's Rue Barrée." + +The subject changed instantly, and Selby listened in surprise to names +which were new to him, and eulogies on the latest Prix de Rome winner. He +was delighted to hear opinions boldly expressed and points honestly +debated, although the vehicle was mostly slang, both English and French. +He longed for the time when he too should be plunged into the strife for +fame. + +The bells of St. Sulpice struck the hour, and the Palace of the Luxembourg +answered chime on chime. With a glance at the sun, dipping low in the +golden dust behind the Palais Bourbon, they rose, and turning to the east, +crossed the Boulevard St. Germain and sauntered toward the École de +Médecine. At the corner a girl passed them, walking hurriedly. Clifford +smirked, Elliot and Rowden were agitated, but they all bowed, and, without +raising her eyes, she returned their salute. But Selby, who had lagged +behind, fascinated by some gay shop window, looked up to meet two of the +bluest eyes he had ever seen. The eyes were dropped in an instant, and the +young fellow hastened to overtake the others. + +"By Jove," he said, "do you fellows know I have just seen the prettiest +girl--" An exclamation broke from the trio, gloomy, foreboding, like the +chorus in a Greek play. + +"Rue Barrée!" + +"What!" cried Selby, bewildered. + +The only answer was a vague gesture from Clifford. + +Two hours later, during dinner, Clifford turned to Selby and said, "You +want to ask me something; I can tell by the way you fidget about." + +"Yes, I do," he said, innocently enough; "it's about that girl. Who is +she?" + +In Rowden's smile there was pity, in Elliott's bitterness. + +"Her name," said Clifford solemnly, "is unknown to any one, at least," he +added with much conscientiousness, "as far as I can learn. Every fellow in +the Quarter bows to her and she returns the salute gravely, but no man has +ever been known to obtain more than that. Her profession, judging from her +music-roll, is that of a pianist. Her residence is in a small and humble +street which is kept in a perpetual process of repair by the city +authorities, and from the black letters painted on the barrier which +defends the street from traffic, she has taken the name by which we know +her,--Rue Barrée. Mr. Rowden, in his imperfect knowledge of the French +tongue, called our attention to it as Roo Barry--" + +"I didn't," said Rowden hotly. + +"And Roo Barry, or Rue Barrée, is to-day an object of adoration to every +rapin in the Quarter--" + +"We are not rapins," corrected Elliott. + +"_I_ am not," returned Clifford, "and I beg to call to your attention, +Selby, that these two gentlemen have at various and apparently unfortunate +moments, offered to lay down life and limb at the feet of Rue Barrée. The +lady possesses a chilling smile which she uses on such occasions and," +here he became gloomily impressive, "I have been forced to believe that +neither the scholarly grace of my friend Elliott nor the buxom beauty of +my friend Rowden have touched that heart of ice." + +Elliott and Rowden, boiling with indignation, cried out, "And you!" + +"I," said Clifford blandly, "do fear to tread where you rush in." + + + + +II + +Twenty-four hours later Selby had completely forgotten Rue Barrée. During +the week he worked with might and main at the studio, and Saturday night +found him so tired that he went to bed before dinner and had a nightmare +about a river of yellow ochre in which he was drowning. Sunday morning, +apropos of nothing at all, he thought of Rue Barrée, and ten seconds +afterwards he saw her. It was at the flower-market on the marble bridge. +She was examining a pot of pansies. The gardener had evidently thrown +heart and soul into the transaction, but Rue Barrée shook her head. + +It is a question whether Selby would have stopped then and there to +inspect a cabbage-rose had not Clifford unwound for him the yarn of the +previous Tuesday. It is possible that his curiosity was piqued, for with +the exception of a hen-turkey, a boy of nineteen is the most openly +curious biped alive. From twenty until death he tries to conceal it. But, +to be fair to Selby, it is also true that the market was attractive. Under +a cloudless sky the flowers were packed and heaped along the marble bridge +to the parapet. The air was soft, the sun spun a shadowy lacework among +the palms and glowed in the hearts of a thousand roses. Spring had +come,--was in full tide. The watering carts and sprinklers spread +freshness over the Boulevard, the sparrows had become vulgarly obtrusive, +and the credulous Seine angler anxiously followed his gaudy quill floating +among the soapsuds of the lavoirs. The white-spiked chestnuts clad in +tender green vibrated with the hum of bees. Shoddy butterflies flaunted +their winter rags among the heliotrope. There was a smell of fresh earth +in the air, an echo of the woodland brook in the ripple of the Seine, and +swallows soared and skimmed among the anchored river craft. Somewhere in a +window a caged bird was singing its heart out to the sky. + +Selby looked at the cabbage-rose and then at the sky. Something in the +song of the caged bird may have moved him, or perhaps it was that +dangerous sweetness in the air of May. + +At first he was hardly conscious that he had stopped then he was scarcely +conscious why he had stopped, then he thought he would move on, then he +thought he wouldn't, then he looked at Rue Barrée. + +The gardener said, "Mademoiselle, this is undoubtedly a fine pot of +pansies." + +Rue Barrée shook her head. + +The gardener smiled. She evidently did not want the pansies. She had +bought many pots of pansies there, two or three every spring, and never +argued. What did she want then? The pansies were evidently a feeler toward +a more important transaction. The gardener rubbed his hands and gazed +about him. + +"These tulips are magnificent," he observed, "and these hyacinths--" He +fell into a trance at the mere sight of the scented thickets. + +"That," murmured Rue, pointing to a splendid rose-bush with her furled +parasol, but in spite of her, her voice trembled a little. Selby noticed +it, more shame to him that he was listening, and the gardener noticed it, +and, burying his nose in the roses, scented a bargain. Still, to do him +justice, he did not add a centime to the honest value of the plant, for +after all, Rue was probably poor, and any one could see she was charming. + +"Fifty francs, Mademoiselle." + +The gardener's tone was grave. Rue felt that argument would be wasted. +They both stood silent for a moment. The gardener did not eulogize his +prize,--the rose-tree was gorgeous and any one could see it. + +"I will take the pansies," said the girl, and drew two francs from a worn +purse. Then she looked up. A tear-drop stood in the way refracting the +light like a diamond, but as it rolled into a little corner by her nose a +vision of Selby replaced it, and when a brush of the handkerchief had +cleared the startled blue eyes, Selby himself appeared, very much +embarrassed. He instantly looked up into the sky, apparently devoured with +a thirst for astronomical research, and as he continued his investigations +for fully five minutes, the gardener looked up too, and so did a +policeman. Then Selby looked at the tips of his boots, the gardener looked +at him and the policeman slouched on. Rue Barrée had been gone some time. + +"What," said the gardener, "may I offer Monsieur?" + +Selby never knew why, but he suddenly began to buy flowers. The gardener +was electrified. Never before had he sold so many flowers, never at such +satisfying prices, and never, never with such absolute unanimity of +opinion with a customer. But he missed the bargaining, the arguing, the +calling of Heaven to witness. The transaction lacked spice. + +"These tulips are magnificent!" + +"They are!" cried Selby warmly. + +"But alas, they are dear." + +"I will take them." + +"Dieu!" murmured the gardener in a perspiration, "he's madder than most +Englishmen." + +"This cactus--" + +"Is gorgeous!" + +"Alas--" + +"Send it with the rest." + +The gardener braced himself against the river wall. + +"That splendid rose-bush," he began faintly. + +"That is a beauty. I believe it is fifty francs--" + +He stopped, very red. The gardener relished his confusion. Then a sudden +cool self-possession took the place of his momentary confusion and he held +the gardener with his eye, and bullied him. + +"I'll take that bush. Why did not the young lady buy it?" + +"Mademoiselle is not wealthy." + +"How do you know?" + +"_Dame_, I sell her many pansies; pansies are not expensive." + +"Those are the pansies she bought?" + +"These, Monsieur, the blue and gold." + +"Then you intend to send them to her?" + +"At mid-day after the market." + +"Take this rose-bush with them, and"--here he glared at the +gardener--"don't you dare say from whom they came." The gardener's eyes +were like saucers, but Selby, calm and victorious, said: "Send the others +to the Hôtel du Sénat, 7 rue de Tournon. I will leave directions with the +concierge." + +Then he buttoned his glove with much dignity and stalked off, but when +well around the corner and hidden from the gardener's view, the conviction +that he was an idiot came home to him in a furious blush. Ten minutes +later he sat in his room in the Hôtel du Sénat repeating with an imbecile +smile: "What an ass I am, what an ass!" + +An hour later found him in the same chair, in the same position, his hat +and gloves still on, his stick in his hand, but he was silent, apparently +lost in contemplation of his boot toes, and his smile was less imbecile +and even a bit retrospective. + + + + +III + +About five o'clock that afternoon, the little sad-eyed woman who fills the +position of concierge at the Hôtel du Sénat held up her hands in amazement +to see a wagon-load of flower-bearing shrubs draw up before the doorway. +She called Joseph, the intemperate garçon, who, while calculating the +value of the flowers in _petits verres_, gloomily disclaimed any knowledge +as to their destination. + +"_Voyons_," said the little concierge, "_cherchons la femme_!" + +"You?" he suggested. + +The little woman stood a moment pensive and then sighed. Joseph caressed +his nose, a nose which for gaudiness could vie with any floral display. + +Then the gardener came in, hat in hand, and a few minutes later Selby +stood in the middle of his room, his coat off, his shirt-sleeves rolled +up. The chamber originally contained, besides the furniture, about two +square feet of walking room, and now this was occupied by a cactus. The +bed groaned under crates of pansies, lilies and heliotrope, the lounge was +covered with hyacinths and tulips, and the washstand supported a species +of young tree warranted to bear flowers at some time or other. + +Clifford came in a little later, fell over a box of sweet peas, swore a +little, apologized, and then, as the full splendour of the floral _fête_ +burst upon him, sat down in astonishment upon a geranium. The geranium was +a wreck, but Selby said, "Don't mind," and glared at the cactus. + +"Are you going to give a ball?" demanded Clifford. + +"N--no,--I'm very fond of flowers," said Selby, but the statement lacked +enthusiasm. + +"I should imagine so." Then, after a silence, "That's a fine cactus." + +Selby contemplated the cactus, touched it with the air of a connoisseur, +and pricked his thumb. + +Clifford poked a pansy with his stick. Then Joseph came in with the bill, +announcing the sum total in a loud voice, partly to impress Clifford, +partly to intimidate Selby into disgorging a _pourboire_ which he would +share, if he chose, with the gardener. Clifford tried to pretend that he +had not heard, while Selby paid bill and tribute without a murmur. Then he +lounged back into the room with an attempt at indifference which failed +entirely when he tore his trousers on the cactus. + +Clifford made some commonplace remark, lighted a cigarette and looked out +of the window to give Selby a chance. Selby tried to take it, but getting +as far as--"Yes, spring is here at last," froze solid. He looked at the +back of Clifford's head. It expressed volumes. Those little perked-up ears +seemed tingling with suppressed glee. He made a desperate effort to master +the situation, and jumped up to reach for some Russian cigarettes as an +incentive to conversation, but was foiled by the cactus, to whom again he +fell a prey. The last straw was added. + +"Damn the cactus." This observation was wrung from Selby against his +will,--against his own instinct of self-preservation, but the thorns on +the cactus were long and sharp, and at their repeated prick his pent-up +wrath escaped. It was too late now; it was done, and Clifford had wheeled +around. + +"See here, Selby, why the deuce did you buy those flowers?" + +"I'm fond of them," said Selby. + +"What are you going to do with them? You can't sleep here." + +"I could, if you'd help me take the pansies off the bed." + +"Where can you put them?" + +"Couldn't I give them to the concierge?" + +As soon as he said it he regretted it. What in Heaven's name would +Clifford think of him! He had heard the amount of the bill. Would he +believe that he had invested in these luxuries as a timid declaration to +his concierge? And would the Latin Quarter comment upon it in their own +brutal fashion? He dreaded ridicule and he knew Clifford's reputation. + +Then somebody knocked. + +Selby looked at Clifford with a hunted expression which touched that young +man's heart. It was a confession and at the same time a supplication. +Clifford jumped up, threaded his way through the floral labyrinth, and +putting an eye to the crack of the door, said, "Who the devil is it?" + +This graceful style of reception is indigenous to the Quarter. + +"It's Elliott," he said, looking back, "and Rowden too, and their +bulldogs." Then he addressed them through the crack. + +"Sit down on the stairs; Selby and I are coming out directly." + +Discretion is a virtue. The Latin Quarter possesses few, and discretion +seldom figures on the list. They sat down and began to whistle. + +Presently Rowden called out, "I smell flowers. They feast within!" + +"You ought to know Selby better than that," growled Clifford behind the +door, while the other hurriedly exchanged his torn trousers for others. + +"_We_ know Selby," said Elliott with emphasis. + +"Yes," said Rowden, "he gives receptions with floral decorations and +invites Clifford, while we sit on the stairs." + +"Yes, while the youth and beauty of the Quarter revel," suggested Rowden; +then, with sudden misgiving; "Is Odette there?" + +"See here," demanded Elliott, "is Colette there?" + +Then he raised his voice in a plaintive howl, "Are you there, Colette, +while I'm kicking my heels on these tiles?" + +"Clifford is capable of anything," said Rowden; "his nature is soured +since Rue Barrée sat on him." + +Elliott raised his voice: "I say, you fellows, we saw some flowers carried +into Rue Barrée's house at noon." + +"Posies and roses," specified Rowden. + +"Probably for her," added Elliott, caressing his bulldog. + +Clifford turned with sudden suspicion upon Selby. The latter hummed a +tune, selected a pair of gloves and, choosing a dozen cigarettes, placed +them in a case. Then walking over to the cactus, he deliberately detached +a blossom, drew it through his buttonhole, and picking up hat and stick, +smiled upon Clifford, at which the latter was mightily troubled. + + + + +IV + +Monday morning at Julian's, students fought for places; students with +prior claims drove away others who had been anxiously squatting on coveted +tabourets since the door was opened in hopes of appropriating them at +roll-call; students squabbled over palettes, brushes, portfolios, or rent +the air with demands for Ciceri and bread. The former, a dirty ex-model, +who had in palmier days posed as Judas, now dispensed stale bread at one +sou and made enough to keep himself in cigarettes. Monsieur Julian walked +in, smiled a fatherly smile and walked out. His disappearance was followed +by the apparition of the clerk, a foxy creature who flitted through the +battling hordes in search of prey. + +Three men who had not paid dues were caught and summoned. A fourth was +scented, followed, outflanked, his retreat towards the door cut off, and +finally captured behind the stove. About that time, the revolution +assuming an acute form, howls rose for "Jules!" + +Jules came, umpired two fights with a sad resignation in his big brown +eyes, shook hands with everybody and melted away in the throng, leaving an +atmosphere of peace and good-will. The lions sat down with the lambs, the +massiers marked the best places for themselves and friends, and, mounting +the model stands, opened the roll-calls. + +The word was passed, "They begin with C this week." + +They did. + +"Clisson!" + +Clisson jumped like a flash and marked his name on the floor in chalk +before a front seat. + +"Caron!" + +Caron galloped away to secure his place. Bang! went an easel. "_Nom de +Dieu_!" in French,--"Where in h--l are you goin'!" in English. Crash! a +paintbox fell with brushes and all on board. "_Dieu de Dieu de_--" spat! A +blow, a short rush, a clinch and scuffle, and the voice of the massier, +stern and reproachful: + +"Cochon!" + +Then the roll-call was resumed. + +"Clifford!" + +The massier paused and looked up, one finger between the leaves of the +ledger. + +"Clifford!" + +Clifford was not there. He was about three miles away in a direct line and +every instant increased the distance. Not that he was walking fast,--on +the contrary, he was strolling with that leisurely gait peculiar to +himself. Elliott was beside him and two bulldogs covered the rear. Elliott +was reading the "Gil Blas," from which he seemed to extract amusement, but +deeming boisterous mirth unsuitable to Clifford's state of mind, subdued +his amusement to a series of discreet smiles. The latter, moodily aware of +this, said nothing, but leading the way into the Luxembourg Gardens +installed himself upon a bench by the northern terrace and surveyed the +landscape with disfavour. Elliott, according to the Luxembourg +regulations, tied the two dogs and then, with an interrogative glance +toward his friend, resumed the "Gil Blas" and the discreet smiles. + +The day was perfect. The sun hung over Notre Dame, setting the city in a +glitter. The tender foliage of the chestnuts cast a shadow over the +terrace and flecked the paths and walks with tracery so blue that Clifford +might here have found encouragement for his violent "impressions" had he +but looked; but as usual in this period of his career, his thoughts were +anywhere except in his profession. Around about, the sparrows quarrelled +and chattered their courtship songs, the big rosy pigeons sailed from tree +to tree, the flies whirled in the sunbeams and the flowers exhaled a +thousand perfumes which stirred Clifford with languorous wistfulness. +Under this influence he spoke. + +"Elliott, you are a true friend--" + +"You make me ill," replied the latter, folding his paper. "It's just as I +thought,--you are tagging after some new petticoat again. And," he +continued wrathfully, "if this is what you've kept me away from Julian's +for,--if it's to fill me up with the perfections of some little idiot--" + +"Not idiot," remonstrated Clifford gently. + +"See here," cried Elliott, "have you the nerve to try to tell me that you +are in love again?" + +"Again?" + +"Yes, again and again and again and--by George have you?" + +"This," observed Clifford sadly, "is serious." + +For a moment Elliott would have laid hands on him, then he laughed from +sheer helplessness. "Oh, go on, go on; let's see, there's Clémence and +Marie Tellec and Cosette and Fifine, Colette, Marie Verdier--" + +"All of whom are charming, most charming, but I never was serious--" + +"So help me, Moses," said Elliott, solemnly, "each and every one of those +named have separately and in turn torn your heart with anguish and have +also made me lose my place at Julian's in this same manner; each and every +one, separately and in turn. Do you deny it?" + +"What you say may be founded on facts--in a way--but give me the credit of +being faithful to one at a time--" + +"Until the next came along." + +"But this,--this is really very different. Elliott, believe me, I am all +broken up." + +Then there being nothing else to do, Elliott gnashed his teeth and +listened. + +"It's--it's Rue Barrée." + +"Well," observed Elliott, with scorn, "if you are moping and moaning over +_that_ girl,--the girl who has given you and myself every reason to wish +that the ground would open and engulf us,--well, go on!" + +"I'm going on,--I don't care; timidity has fled--" + +"Yes, your native timidity." + +"I'm desperate, Elliott. Am I in love? Never, never did I feel so d--n +miserable. I can't sleep; honestly, I'm incapable of eating properly." + +"Same symptoms noticed in the case of Colette." + +"Listen, will you?" + +"Hold on a moment, I know the rest by heart. Now let me ask you something. +Is it your belief that Rue Barrée is a pure girl?" + +"Yes," said Clifford, turning red. + +"Do you love her,--not as you dangle and tiptoe after every pretty +inanity--I mean, do you honestly love her?" + +"Yes," said the other doggedly, "I would--" + +"Hold on a moment; would you marry her?" + +Clifford turned scarlet. "Yes," he muttered. + +"Pleasant news for your family," growled Elliott in suppressed fury. +"'Dear father, I have just married a charming grisette whom I'm sure +you'll welcome with open arms, in company with her mother, a most +estimable and cleanly washlady.' Good heavens! This seems to have gone a +little further than the rest. Thank your stars, young man, that my head is +level enough for us both. Still, in this case, I have no fear. Rue Barrée +sat on your aspirations in a manner unmistakably final." + +"Rue Barrée," began Clifford, drawing himself up, but he suddenly ceased, +for there where the dappled sunlight glowed in spots of gold, along the +sun-flecked path, tripped Rue Barrée. Her gown was spotless, and her big +straw hat, tipped a little from the white forehead, threw a shadow across +her eyes. + +Elliott stood up and bowed. Clifford removed his head-covering with an air +so plaintive, so appealing, so utterly humble that Rue Barrée smiled. + +The smile was delicious and when Clifford, incapable of sustaining himself +on his legs from sheer astonishment, toppled slightly, she smiled again in +spite of herself. A few moments later she took a chair on the terrace and +drawing a book from her music-roll, turned the pages, found the place, and +then placing it open downwards in her lap, sighed a little, smiled a +little, and looked out over the city. She had entirely forgotten Foxhall +Clifford. + +After a while she took up her book again, but instead of reading began to +adjust a rose in her corsage. The rose was big and red. It glowed like +fire there over her heart, and like fire it warmed her heart, now +fluttering under the silken petals. Rue Barrée sighed again. She was very +happy. The sky was so blue, the air so soft and perfumed, the sunshine so +caressing, and her heart sang within her, sang to the rose in her breast. +This is what it sang: "Out of the throng of passers-by, out of the world +of yesterday, out of the millions passing, one has turned aside to me." + +So her heart sang under his rose on her breast. Then two big +mouse-coloured pigeons came whistling by and alighted on the terrace, +where they bowed and strutted and bobbed and turned until Rue Barrée +laughed in delight, and looking up beheld Clifford before her. His hat was +in his hand and his face was wreathed in a series of appealing smiles +which would have touched the heart of a Bengal tiger. + +For an instant Rue Barrée frowned, then she looked curiously at Clifford, +then when she saw the resemblance between his bows and the bobbing +pigeons, in spite of herself, her lips parted in the most bewitching +laugh. Was this Rue Barrée? So changed, so changed that she did not know +herself; but oh! that song in her heart which drowned all else, which +trembled on her lips, struggling for utterance, which rippled forth in a +laugh at nothing,--at a strutting pigeon,--and Mr. Clifford. + +"And you think, because I return the salute of the students in the +Quarter, that you may be received in particular as a friend? I do not know +you, Monsieur, but vanity is man's other name;--be content, Monsieur +Vanity, I shall be punctilious--oh, most punctilious in returning your +salute." + +"But I beg--I implore you to let me render you that homage which has so +long--" + +"Oh dear; I don't care for homage." + +"Let me only be permitted to speak to you now and then,--occasionally--very +occasionally." + +"And if _you_, why not another?" + +"Not at all,--I will be discretion itself." + +"Discretion--why?" + +Her eyes were very clear, and Clifford winced for a moment, but only for a +moment. Then the devil of recklessness seizing him, he sat down and +offered himself, soul and body, goods and chattels. And all the time he +knew he was a fool and that infatuation is not love, and that each word he +uttered bound him in honour from which there was no escape. And all the +time Elliott was scowling down on the fountain plaza and savagely checking +both bulldogs from their desire to rush to Clifford's rescue,--for even +they felt there was something wrong, as Elliott stormed within himself and +growled maledictions. + +When Clifford finished, he finished in a glow of excitement, but Rue +Barrée's response was long in coming and his ardour cooled while the +situation slowly assumed its just proportions. Then regret began to creep +in, but he put that aside and broke out again in protestations. At the +first word Rue Barrée checked him. + +"I thank you," she said, speaking very gravely. "No man has ever before +offered me marriage." She turned and looked out over the city. After a +while she spoke again. "You offer me a great deal. I am alone, I have +nothing, I am nothing." She turned again and looked at Paris, brilliant, +fair, in the sunshine of a perfect day. He followed her eyes. + +"Oh," she murmured, "it is hard,--hard to work always--always alone with +never a friend you can have in honour, and the love that is offered means +the streets, the boulevard--when passion is dead. I know it,--_we_ know +it,--we others who have nothing,--have no one, and who give ourselves, +unquestioning--when we love,--yes, unquestioning--heart and soul, knowing +the end." + +She touched the rose at her breast. For a moment she seemed to forget him, +then quietly--"I thank you, I am very grateful." She opened the book and, +plucking a petal from the rose, dropped it between the leaves. Then +looking up she said gently, "I cannot accept." + + + + +V + +It took Clifford a month to entirely recover, although at the end of the +first week he was pronounced convalescent by Elliott, who was an +authority, and his convalescence was aided by the cordiality with which +Rue Barrée acknowledged his solemn salutes. Forty times a day he blessed +Rue Barrée for her refusal, and thanked his lucky stars, and at the same +time, oh, wondrous heart of ours!--he suffered the tortures of the +blighted. + +Elliott was annoyed, partly by Clifford's reticence, partly by the +unexplainable thaw in the frigidity of Rue Barrée. At their frequent +encounters, when she, tripping along the rue de Seine, with music-roll and +big straw hat would pass Clifford and his familiars steering an easterly +course to the Café Vachette, and at the respectful uncovering of the band +would colour and smile at Clifford, Elliott's slumbering suspicions awoke. +But he never found out anything, and finally gave it up as beyond his +comprehension, merely qualifying Clifford as an idiot and reserving his +opinion of Rue Barrée. And all this time Selby was jealous. At first he +refused to acknowledge it to himself, and cut the studio for a day in the +country, but the woods and fields of course aggravated his case, and the +brooks babbled of Rue Barrée and the mowers calling to each other across +the meadow ended in a quavering "Rue Bar-rée-e!" That day spent in the +country made him angry for a week, and he worked sulkily at Julian's, all +the time tormented by a desire to know where Clifford was and what he +might be doing. This culminated in an erratic stroll on Sunday which ended +at the flower-market on the Pont au Change, began again, was gloomily +extended to the morgue, and again ended at the marble bridge. It would +never do, and Selby felt it, so he went to see Clifford, who was +convalescing on mint juleps in his garden. + +They sat down together and discussed morals and human happiness, and each +found the other most entertaining, only Selby failed to pump Clifford, to +the other's unfeigned amusement. But the juleps spread balm on the sting +of jealousy, and trickled hope to the blighted, and when Selby said he +must go, Clifford went too, and when Selby, not to be outdone, insisted on +accompanying Clifford back to his door, Clifford determined to see Selby +back half way, and then finding it hard to part, they decided to dine +together and "flit." To flit, a verb applied to Clifford's nocturnal +prowls, expressed, perhaps, as well as anything, the gaiety proposed. +Dinner was ordered at Mignon's, and while Selby interviewed the chef, +Clifford kept a fatherly eye on the butler. The dinner was a success, or +was of the sort generally termed a success. Toward the dessert Selby heard +some one say as at a great distance, "Kid Selby, drunk as a lord." + +A group of men passed near them; it seemed to him that he shook hands and +laughed a great deal, and that everybody was very witty. There was +Clifford opposite swearing undying confidence in his chum Selby, and there +seemed to be others there, either seated beside them or continually +passing with the swish of skirts on the polished floor. The perfume of +roses, the rustle of fans, the touch of rounded arms and the laughter grew +vaguer and vaguer. The room seemed enveloped in mist. Then, all in a +moment each object stood out painfully distinct, only forms and visages +were distorted and voices piercing. He drew himself up, calm, grave, for +the moment master of himself, but very drunk. He knew he was drunk, and +was as guarded and alert, as keenly suspicious of himself as he would have +been of a thief at his elbow. His self-command enabled Clifford to hold +his head safely under some running water, and repair to the street +considerably the worse for wear, but never suspecting that his companion +was drunk. For a time he kept his self-command. His face was only a bit +paler, a bit tighter than usual; he was only a trifle slower and more +fastidious in his speech. It was midnight when he left Clifford peacefully +slumbering in somebody's arm-chair, with a long suede glove dangling in +his hand and a plumy boa twisted about his neck to protect his throat from +drafts. He walked through the hall and down the stairs, and found himself +on the sidewalk in a quarter he did not know. Mechanically he looked up at +the name of the street. The name was not familiar. He turned and steered +his course toward some lights clustered at the end of the street. They +proved farther away than he had anticipated, and after a long quest he +came to the conclusion that his eyes had been mysteriously removed from +their proper places and had been reset on either side of his head like +those of a bird. It grieved him to think of the inconvenience this +transformation might occasion him, and he attempted to cock up his head, +hen-like, to test the mobility of his neck. Then an immense despair stole +over him,--tears gathered in the tear-ducts, his heart melted, and he +collided with a tree. This shocked him into comprehension; he stifled the +violent tenderness in his breast, picked up his hat and moved on more +briskly. His mouth was white and drawn, his teeth tightly clinched. He +held his course pretty well and strayed but little, and after an +apparently interminable length of time found himself passing a line of +cabs. The brilliant lamps, red, yellow, and green annoyed him, and he felt +it might be pleasant to demolish them with his cane, but mastering this +impulse he passed on. Later an idea struck him that it would save fatigue +to take a cab, and he started back with that intention, but the cabs +seemed already so far away and the lanterns were so bright and confusing +that he gave it up, and pulling himself together looked around. + +A shadow, a mass, huge, undefined, rose to his right. He recognized the +Arc de Triomphe and gravely shook his cane at it. Its size annoyed him. He +felt it was too big. Then he heard something fall clattering to the +pavement and thought probably it was his cane but it didn't much matter. +When he had mastered himself and regained control of his right leg, which +betrayed symptoms of insubordination, he found himself traversing the +Place de la Concorde at a pace which threatened to land him at the +Madeleine. This would never do. He turned sharply to the right and +crossing the bridge passed the Palais Bourbon at a trot and wheeled into +the Boulevard St. Germain. He got on well enough although the size of the +War Office struck him as a personal insult, and he missed his cane, which +it would have been pleasant to drag along the iron railings as he passed. +It occurred to him, however, to substitute his hat, but when he found it +he forgot what he wanted it for and replaced it upon his head with +gravity. Then he was obliged to battle with a violent inclination to sit +down and weep. This lasted until he came to the rue de Rennes, but there +he became absorbed in contemplating the dragon on the balcony overhanging +the Cour du Dragon, and time slipped away until he remembered vaguely that +he had no business there, and marched off again. It was slow work. The +inclination to sit down and weep had given place to a desire for solitary +and deep reflection. Here his right leg forgot its obedience and attacking +the left, outflanked it and brought him up against a wooden board which +seemed to bar his path. He tried to walk around it, but found the street +closed. He tried to push it over, and found he couldn't. Then he noticed a +red lantern standing on a pile of paving-stones inside the barrier. This +was pleasant. How was he to get home if the boulevard was blocked? But he +was not on the boulevard. His treacherous right leg had beguiled him into +a detour, for there, behind him lay the boulevard with its endless line of +lamps,--and here, what was this narrow dilapidated street piled up with +earth and mortar and heaps of stone? He looked up. Written in staring +black letters on the barrier was + +RUE BARRÉE. + +He sat down. Two policemen whom he knew came by and advised him to get up, +but he argued the question from a standpoint of personal taste, and they +passed on, laughing. For he was at that moment absorbed in a problem. It +was, how to see Rue Barrée. She was somewhere or other in that big house +with the iron balconies, and the door was locked, but what of that? The +simple idea struck him to shout until she came. This idea was replaced by +another equally lucid,--to hammer on the door until she came; but finally +rejecting both of these as too uncertain, he decided to climb into the +balcony, and opening a window politely inquire for Rue Barrée. There was +but one lighted window in the house that he could see. It was on the +second floor, and toward this he cast his eyes. Then mounting the wooden +barrier and clambering over the piles of stones, he reached the sidewalk +and looked up at the façade for a foothold. It seemed impossible. But a +sudden fury seized him, a blind, drunken obstinacy, and the blood rushed +to his head, leaping, beating in his ears like the dull thunder of an +ocean. He set his teeth, and springing at a window-sill, dragged himself +up and hung to the iron bars. Then reason fled; there surged in his brain +the sound of many voices, his heart leaped up beating a mad tattoo, and +gripping at cornice and ledge he worked his way along the façade, clung to +pipes and shutters, and dragged himself up, over and into the balcony by +the lighted window. His hat fell off and rolled against the pane. For a +moment he leaned breathless against the railing--then the window was +slowly opened from within. + +They stared at each other for some time. Presently the girl took two +unsteady steps back into the room. He saw her face,--all crimsoned +now,--he saw her sink into a chair by the lamplit table, and without a +word he followed her into the room, closing the big door-like panes behind +him. Then they looked at each other in silence. + +The room was small and white; everything was white about it,--the +curtained bed, the little wash-stand in the corner, the bare walls, the +china lamp,--and his own face,--had he known it, but the face and neck of +Rue were surging in the colour that dyed the blossoming rose-tree there on +the hearth beside her. It did not occur to him to speak. She seemed not to +expect it. His mind was struggling with the impressions of the room. The +whiteness, the extreme purity of everything occupied him--began to trouble +him. As his eye became accustomed to the light, other objects grew from +the surroundings and took their places in the circle of lamplight. There +was a piano and a coal-scuttle and a little iron trunk and a bath-tub. +Then there was a row of wooden pegs against the door, with a white chintz +curtain covering the clothes underneath. On the bed lay an umbrella and a +big straw hat, and on the table, a music-roll unfurled, an ink-stand, and +sheets of ruled paper. Behind him stood a wardrobe faced with a mirror, +but somehow he did not care to see his own face just then. He was +sobering. + +The girl sat looking at him without a word. Her face was expressionless, +yet the lips at times trembled almost imperceptibly. Her eyes, so +wonderfully blue in the daylight, seemed dark and soft as velvet, and the +colour on her neck deepened and whitened with every breath. She seemed +smaller and more slender than when he had seen her in the street, and +there was now something in the curve of her cheek almost infantine. When +at last he turned and caught his own reflection in the mirror behind him, +a shock passed through him as though he had seen a shameful thing, and his +clouded mind and his clouded thoughts grew clearer. For a moment their +eyes met then his sought the floor, his lips tightened, and the struggle +within him bowed his head and strained every nerve to the breaking. And +now it was over, for the voice within had spoken. He listened, dully +interested but already knowing the end,--indeed it little mattered;--the +end would always be the same for him;--he understood now--always the same +for him, and he listened, dully interested, to a voice which grew within +him. After a while he stood up, and she rose at once, one small hand +resting on the table. Presently he opened the window, picked up his hat, +and shut it again. Then he went over to the rosebush and touched the +blossoms with his face. One was standing in a glass of water on the table +and mechanically the girl drew it out, pressed it with her lips and laid +it on the table beside him. He took it without a word and crossing the +room, opened the door. The landing was dark and silent, but the girl +lifted the lamp and gliding past him slipped down the polished stairs to +the hallway. Then unchaining the bolts, she drew open the iron wicket. + +Through this he passed with his rose. + + + + + + + + + + +End of Project Gutenberg's The King in Yellow, by Robert W. Chambers + +*** END OF THIS PROJECT GUTENBERG EBOOK THE KING IN YELLOW *** + +***** This file should be named 8492-8.txt or 8492-8.zip ***** +This and all associated files of various formats will be found in: + http://www.gutenberg.org/8/4/9/8492/ + +Produced by Suzanne Shell, Beth Trapaga, Charles Franks, +and the Online Distributed Proofreading Team + + +Updated editions will replace the previous one--the old editions +will be renamed. + +Creating the works from public domain print editions means that no +one owns a United States copyright in these works, so the Foundation +(and you!) can copy and distribute it in the United States without +permission and without paying copyright royalties. Special rules, +set forth in the General Terms of Use part of this license, apply to +copying and distributing Project Gutenberg-tm electronic works to +protect the PROJECT GUTENBERG-tm concept and trademark. Project +Gutenberg is a registered trademark, and may not be used if you +charge for the eBooks, unless you receive specific permission. If you +do not charge anything for copies of this eBook, complying with the +rules is very easy. You may use this eBook for nearly any purpose +such as creation of derivative works, reports, performances and +research. They may be modified and printed and given away--you may do +practically ANYTHING with public domain eBooks. Redistribution is +subject to the trademark license, especially commercial +redistribution. + + + +*** START: FULL LICENSE *** + +THE FULL PROJECT GUTENBERG LICENSE +PLEASE READ THIS BEFORE YOU DISTRIBUTE OR USE THIS WORK + +To protect the Project Gutenberg-tm mission of promoting the free +distribution of electronic works, by using or distributing this work +(or any other work associated in any way with the phrase "Project +Gutenberg"), you agree to comply with all the terms of the Full Project +Gutenberg-tm License available with this file or online at + www.gutenberg.org/license. + + +Section 1. General Terms of Use and Redistributing Project Gutenberg-tm +electronic works + +1.A. By reading or using any part of this Project Gutenberg-tm +electronic work, you indicate that you have read, understand, agree to +and accept all the terms of this license and intellectual property +(trademark/copyright) agreement. If you do not agree to abide by all +the terms of this agreement, you must cease using and return or destroy +all copies of Project Gutenberg-tm electronic works in your possession. +If you paid a fee for obtaining a copy of or access to a Project +Gutenberg-tm electronic work and you do not agree to be bound by the +terms of this agreement, you may obtain a refund from the person or +entity to whom you paid the fee as set forth in paragraph 1.E.8. + +1.B. "Project Gutenberg" is a registered trademark. It may only be +used on or associated in any way with an electronic work by people who +agree to be bound by the terms of this agreement. There are a few +things that you can do with most Project Gutenberg-tm electronic works +even without complying with the full terms of this agreement. See +paragraph 1.C below. There are a lot of things you can do with Project +Gutenberg-tm electronic works if you follow the terms of this agreement +and help preserve free future access to Project Gutenberg-tm electronic +works. See paragraph 1.E below. + +1.C. The Project Gutenberg Literary Archive Foundation ("the Foundation" +or PGLAF), owns a compilation copyright in the collection of Project +Gutenberg-tm electronic works. Nearly all the individual works in the +collection are in the public domain in the United States. If an +individual work is in the public domain in the United States and you are +located in the United States, we do not claim a right to prevent you from +copying, distributing, performing, displaying or creating derivative +works based on the work as long as all references to Project Gutenberg +are removed. Of course, we hope that you will support the Project +Gutenberg-tm mission of promoting free access to electronic works by +freely sharing Project Gutenberg-tm works in compliance with the terms of +this agreement for keeping the Project Gutenberg-tm name associated with +the work. You can easily comply with the terms of this agreement by +keeping this work in the same format with its attached full Project +Gutenberg-tm License when you share it without charge with others. + +1.D. The copyright laws of the place where you are located also govern +what you can do with this work. Copyright laws in most countries are in +a constant state of change. If you are outside the United States, check +the laws of your country in addition to the terms of this agreement +before downloading, copying, displaying, performing, distributing or +creating derivative works based on this work or any other Project +Gutenberg-tm work. The Foundation makes no representations concerning +the copyright status of any work in any country outside the United +States. + +1.E. Unless you have removed all references to Project Gutenberg: + +1.E.1. The following sentence, with active links to, or other immediate +access to, the full Project Gutenberg-tm License must appear prominently +whenever any copy of a Project Gutenberg-tm work (any work on which the +phrase "Project Gutenberg" appears, or with which the phrase "Project +Gutenberg" is associated) is accessed, displayed, performed, viewed, +copied or distributed: + +This eBook is for the use of anyone anywhere at no cost and with +almost no restrictions whatsoever. You may copy it, give it away or +re-use it under the terms of the Project Gutenberg License included +with this eBook or online at www.gutenberg.org + +1.E.2. If an individual Project Gutenberg-tm electronic work is derived +from the public domain (does not contain a notice indicating that it is +posted with permission of the copyright holder), the work can be copied +and distributed to anyone in the United States without paying any fees +or charges. If you are redistributing or providing access to a work +with the phrase "Project Gutenberg" associated with or appearing on the +work, you must comply either with the requirements of paragraphs 1.E.1 +through 1.E.7 or obtain permission for the use of the work and the +Project Gutenberg-tm trademark as set forth in paragraphs 1.E.8 or +1.E.9. + +1.E.3. If an individual Project Gutenberg-tm electronic work is posted +with the permission of the copyright holder, your use and distribution +must comply with both paragraphs 1.E.1 through 1.E.7 and any additional +terms imposed by the copyright holder. Additional terms will be linked +to the Project Gutenberg-tm License for all works posted with the +permission of the copyright holder found at the beginning of this work. + +1.E.4. Do not unlink or detach or remove the full Project Gutenberg-tm +License terms from this work, or any files containing a part of this +work or any other work associated with Project Gutenberg-tm. + +1.E.5. Do not copy, display, perform, distribute or redistribute this +electronic work, or any part of this electronic work, without +prominently displaying the sentence set forth in paragraph 1.E.1 with +active links or immediate access to the full terms of the Project +Gutenberg-tm License. + +1.E.6. You may convert to and distribute this work in any binary, +compressed, marked up, nonproprietary or proprietary form, including any +word processing or hypertext form. However, if you provide access to or +distribute copies of a Project Gutenberg-tm work in a format other than +"Plain Vanilla ASCII" or other format used in the official version +posted on the official Project Gutenberg-tm web site (www.gutenberg.org), +you must, at no additional cost, fee or expense to the user, provide a +copy, a means of exporting a copy, or a means of obtaining a copy upon +request, of the work in its original "Plain Vanilla ASCII" or other +form. Any alternate format must include the full Project Gutenberg-tm +License as specified in paragraph 1.E.1. + +1.E.7. Do not charge a fee for access to, viewing, displaying, +performing, copying or distributing any Project Gutenberg-tm works +unless you comply with paragraph 1.E.8 or 1.E.9. + +1.E.8. You may charge a reasonable fee for copies of or providing +access to or distributing Project Gutenberg-tm electronic works provided +that + +- You pay a royalty fee of 20% of the gross profits you derive from + the use of Project Gutenberg-tm works calculated using the method + you already use to calculate your applicable taxes. The fee is + owed to the owner of the Project Gutenberg-tm trademark, but he + has agreed to donate royalties under this paragraph to the + Project Gutenberg Literary Archive Foundation. Royalty payments + must be paid within 60 days following each date on which you + prepare (or are legally required to prepare) your periodic tax + returns. Royalty payments should be clearly marked as such and + sent to the Project Gutenberg Literary Archive Foundation at the + address specified in Section 4, "Information about donations to + the Project Gutenberg Literary Archive Foundation." + +- You provide a full refund of any money paid by a user who notifies + you in writing (or by e-mail) within 30 days of receipt that s/he + does not agree to the terms of the full Project Gutenberg-tm + License. You must require such a user to return or + destroy all copies of the works possessed in a physical medium + and discontinue all use of and all access to other copies of + Project Gutenberg-tm works. + +- You provide, in accordance with paragraph 1.F.3, a full refund of any + money paid for a work or a replacement copy, if a defect in the + electronic work is discovered and reported to you within 90 days + of receipt of the work. + +- You comply with all other terms of this agreement for free + distribution of Project Gutenberg-tm works. + +1.E.9. If you wish to charge a fee or distribute a Project Gutenberg-tm +electronic work or group of works on different terms than are set +forth in this agreement, you must obtain permission in writing from +both the Project Gutenberg Literary Archive Foundation and Michael +Hart, the owner of the Project Gutenberg-tm trademark. Contact the +Foundation as set forth in Section 3 below. + +1.F. + +1.F.1. Project Gutenberg volunteers and employees expend considerable +effort to identify, do copyright research on, transcribe and proofread +public domain works in creating the Project Gutenberg-tm +collection. Despite these efforts, Project Gutenberg-tm electronic +works, and the medium on which they may be stored, may contain +"Defects," such as, but not limited to, incomplete, inaccurate or +corrupt data, transcription errors, a copyright or other intellectual +property infringement, a defective or damaged disk or other medium, a +computer virus, or computer codes that damage or cannot be read by +your equipment. + +1.F.2. LIMITED WARRANTY, DISCLAIMER OF DAMAGES - Except for the "Right +of Replacement or Refund" described in paragraph 1.F.3, the Project +Gutenberg Literary Archive Foundation, the owner of the Project +Gutenberg-tm trademark, and any other party distributing a Project +Gutenberg-tm electronic work under this agreement, disclaim all +liability to you for damages, costs and expenses, including legal +fees. YOU AGREE THAT YOU HAVE NO REMEDIES FOR NEGLIGENCE, STRICT +LIABILITY, BREACH OF WARRANTY OR BREACH OF CONTRACT EXCEPT THOSE +PROVIDED IN PARAGRAPH 1.F.3. YOU AGREE THAT THE FOUNDATION, THE +TRADEMARK OWNER, AND ANY DISTRIBUTOR UNDER THIS AGREEMENT WILL NOT BE +LIABLE TO YOU FOR ACTUAL, DIRECT, INDIRECT, CONSEQUENTIAL, PUNITIVE OR +INCIDENTAL DAMAGES EVEN IF YOU GIVE NOTICE OF THE POSSIBILITY OF SUCH +DAMAGE. + +1.F.3. LIMITED RIGHT OF REPLACEMENT OR REFUND - If you discover a +defect in this electronic work within 90 days of receiving it, you can +receive a refund of the money (if any) you paid for it by sending a +written explanation to the person you received the work from. If you +received the work on a physical medium, you must return the medium with +your written explanation. The person or entity that provided you with +the defective work may elect to provide a replacement copy in lieu of a +refund. If you received the work electronically, the person or entity +providing it to you may choose to give you a second opportunity to +receive the work electronically in lieu of a refund. If the second copy +is also defective, you may demand a refund in writing without further +opportunities to fix the problem. + +1.F.4. Except for the limited right of replacement or refund set forth +in paragraph 1.F.3, this work is provided to you 'AS-IS', WITH NO OTHER +WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO +WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PURPOSE. + +1.F.5. Some states do not allow disclaimers of certain implied +warranties or the exclusion or limitation of certain types of damages. +If any disclaimer or limitation set forth in this agreement violates the +law of the state applicable to this agreement, the agreement shall be +interpreted to make the maximum disclaimer or limitation permitted by +the applicable state law. The invalidity or unenforceability of any +provision of this agreement shall not void the remaining provisions. + +1.F.6. INDEMNITY - You agree to indemnify and hold the Foundation, the +trademark owner, any agent or employee of the Foundation, anyone +providing copies of Project Gutenberg-tm electronic works in accordance +with this agreement, and any volunteers associated with the production, +promotion and distribution of Project Gutenberg-tm electronic works, +harmless from all liability, costs and expenses, including legal fees, +that arise directly or indirectly from any of the following which you do +or cause to occur: (a) distribution of this or any Project Gutenberg-tm +work, (b) alteration, modification, or additions or deletions to any +Project Gutenberg-tm work, and (c) any Defect you cause. + + +Section 2. Information about the Mission of Project Gutenberg-tm + +Project Gutenberg-tm is synonymous with the free distribution of +electronic works in formats readable by the widest variety of computers +including obsolete, old, middle-aged and new computers. It exists +because of the efforts of hundreds of volunteers and donations from +people in all walks of life. + +Volunteers and financial support to provide volunteers with the +assistance they need are critical to reaching Project Gutenberg-tm's +goals and ensuring that the Project Gutenberg-tm collection will +remain freely available for generations to come. In 2001, the Project +Gutenberg Literary Archive Foundation was created to provide a secure +and permanent future for Project Gutenberg-tm and future generations. +To learn more about the Project Gutenberg Literary Archive Foundation +and how your efforts and donations can help, see Sections 3 and 4 +and the Foundation information page at www.gutenberg.org + + +Section 3. Information about the Project Gutenberg Literary Archive +Foundation + +The Project Gutenberg Literary Archive Foundation is a non profit +501(c)(3) educational corporation organized under the laws of the +state of Mississippi and granted tax exempt status by the Internal +Revenue Service. The Foundation's EIN or federal tax identification +number is 64-6221541. Contributions to the Project Gutenberg +Literary Archive Foundation are tax deductible to the full extent +permitted by U.S. federal laws and your state's laws. + +The Foundation's principal office is located at 4557 Melan Dr. S. +Fairbanks, AK, 99712., but its volunteers and employees are scattered +throughout numerous locations. Its business office is located at 809 +North 1500 West, Salt Lake City, UT 84116, (801) 596-1887. Email +contact links and up to date contact information can be found at the +Foundation's web site and official page at www.gutenberg.org/contact + +For additional contact information: + Dr. Gregory B. Newby + Chief Executive and Director + gbnewby@pglaf.org + +Section 4. Information about Donations to the Project Gutenberg +Literary Archive Foundation + +Project Gutenberg-tm depends upon and cannot survive without wide +spread public support and donations to carry out its mission of +increasing the number of public domain and licensed works that can be +freely distributed in machine readable form accessible by the widest +array of equipment including outdated equipment. Many small donations +($1 to $5,000) are particularly important to maintaining tax exempt +status with the IRS. + +The Foundation is committed to complying with the laws regulating +charities and charitable donations in all 50 states of the United +States. Compliance requirements are not uniform and it takes a +considerable effort, much paperwork and many fees to meet and keep up +with these requirements. We do not solicit donations in locations +where we have not received written confirmation of compliance. To +SEND DONATIONS or determine the status of compliance for any +particular state visit www.gutenberg.org/donate + +While we cannot and do not solicit contributions from states where we +have not met the solicitation requirements, we know of no prohibition +against accepting unsolicited donations from donors in such states who +approach us with offers to donate. + +International donations are gratefully accepted, but we cannot make +any statements concerning tax treatment of donations received from +outside the United States. U.S. laws alone swamp our small staff. + +Please check the Project Gutenberg Web pages for current donation +methods and addresses. Donations are accepted in a number of other +ways including checks, online payments and credit card donations. +To donate, please visit: www.gutenberg.org/donate + + +Section 5. General Information About Project Gutenberg-tm electronic +works. + +Professor Michael S. Hart was the originator of the Project Gutenberg-tm +concept of a library of electronic works that could be freely shared +with anyone. For forty years, he produced and distributed Project +Gutenberg-tm eBooks with only a loose network of volunteer support. + +Project Gutenberg-tm eBooks are often created from several printed +editions, all of which are confirmed as Public Domain in the U.S. +unless a copyright notice is included. Thus, we do not necessarily +keep eBooks in compliance with any particular paper edition. + +Most people start at our Web site which has the main PG search facility: + + www.gutenberg.org + +This Web site includes information about Project Gutenberg-tm, +including how to make donations to the Project Gutenberg Literary +Archive Foundation, how to help produce our new eBooks, and how to +subscribe to our email newsletter to hear about new eBooks. \ No newline at end of file diff --git a/alt-implementations/readifry-master/main.js b/alt-implementations/readifry-master/main.js new file mode 100644 index 0000000..1cdac80 --- /dev/null +++ b/alt-implementations/readifry-master/main.js @@ -0,0 +1,316 @@ +/** + * Created by kukulski on 3/3/14. + */ + +var Main = (function(window) { + var state = { + heightFactor:3, + flatWidth:4, + limit:9 + }; + + var updateOffset = function() { + var f = state.field + + var nWidth = f.offsetHeight/state.heightFactor; + var ens = f.offsetWidth/nWidth; + // var attenuated = Math.sqrt(ens); + var attenuated = Math.pow(ens,.6); + //var baseShift = Math.min(ens,state.flatWidth) + // var shiftyWidth = Math.max(baseShift,attenuated) + var shiftyWidth = Math.min(ens,attenuated) + +// var remainder = ens - baseShift; + var foo = shiftyWidth*nWidth/2; + // var shifty = Math.max(0,wd-ht*state.heightFactor) + // var altCenter = Math.sqrt(wd) + // var rawCenter = wd/2; + // var unShift = Math.max(0,wd-2*ht)/4; + // var shift = rawCenter - unShift; + f.style.left = -foo+'px'; + } + + + var splits = [ + 0,0,0, //012 + 1,1,1, //345 + 2,2,2,2,//6789 + 3,3,3,3,3,3, //10-15 + 4,4,4,4,4,4,4,4 + ]; + var tick = function() { + + var idx = state.index; + idx = idx % state.words.length; + idx++; + state.index = idx; + state.field.innerText = state.words[idx]; + + if(!state.other.hidden){ + var word = state.words[idx]; + + var split = splits[word.length]; + var left = word.substr(0,split); + var right = word.substr(split); + + state.left.innerHTML = left; + state.right.innerHTML = right; + } + + + + + updateOffset(); + } + + + var Unhyph = (function(){ + + var advance = function(fstate) { + + if(fstate.fragments.length == 0) { + return { + done: true, + joined: fstate.str? fstate.joined.concat(fstate.str): fstate.joined + } + } + + var str = fstate.str; + var head = fstate.fragments[0]; + var rest = fstate.fragments.slice(1); + + if(str == null) { + return {str:head, fragments:rest,joined:fstate.joined}; + } + + if(str.length + head.length > state.limit) { + + return { + str: head, + fragments:rest, + joined:fstate.joined.concat(str + '-') + } + } + + return { + str: str + head, + fragments: rest, + joined: fstate.joined + } + } + + return function(fragments) { + var s = {str:null, fragments:fragments, joined:[]}; + + do { + s = advance(s); + } while (!s.done); + + return s.joined; + } + })(); + + + + return { + state:state, + setSourceField:function(elt) { + state.sourceField = elt; + }, + setAlignment:function(place) { + state.alignment = place; + }, + + hyphenateInto:function(str,arr) { + if(str.length < state.limit) { + arr.push(str); + return; + } + var hyphenated = Hyphenator.hyphenate(str,"en"); + var fragments = hyphenated.split(String.fromCharCode(173)); + + + var joined = Unhyph(fragments); + joined.forEach(function(word) { arr.push(word)}); + +// +// +// +// var line = null; +// +// for(var i = 0; i< fragments.length; i++) { +// var fragment = fragments[i]; +// if(!line) { +// line = fragment; +// continue; +// } +// if(line.length + fragment.length < state.limit) { +// line = line + fragment; +// continue; +// } +// +// arr.push(line + '-'); +// line = fragment; +// } +// if(line) +// arr.push(line); + + }, + selectedFile:function(event) { + if(event.target.files.length == 0) return; + + state.fr = new FileReader(); + state.fr.onloadend = function() { + + state.sourceField.value = state.fr.result; + Main.setText(state.fr.result) + } + try{ + state.fr.readAsText(event.target.files[0]) + } catch(e) { + console.log(e) + } + }, + setText:function(str) { + state.index = 0; + +// str = Hyphenator.hyphenate(str,"en"); + str = str.replace(/ +/g,' ').replace(/[\r\n\t]+/g,' ').replace(/(\-+)/g,"$1 "); + + var splitWords = str.split(' '); + //state.words = splitWords; + + state.words = []; + + var words = state.words; + + splitWords.forEach(function(word) { + Main.hyphenateInto(word,words); + }) + + + + }, + setField: function(elt) { + state.field = elt; + + }, + pause: function() { + if(state.intervalHandle) { + clearInterval(state.intervalHandle) + state.intervalHandle = 0; + } + }, + back:function(delta) { + var steps = Math.round(delta * state.wpm / 60) + 1; + state.index = Math.max(0,state.index - steps); + tick() + }, + go:function() { + if(state.intervalHandle) clearInterval(state.intervalHandle) + state.intervalHandle = setInterval(tick,state.interval); + }, + setRate: function(wpm) { + state.wpm = wpm; + var wpRefresh = wpm /3600; + var ticksPerWord = Math.round(1/wpRefresh); + this.setTicksPerWord(ticksPerWord) + + + }, + setTicksPerWord:function(tpw) { + state.ticksPerWord = tpw + + var wps = 60 /tpw + var rounded = 60 * wps; + + var elt = document.getElementById("rate") + if(elt) {elt.innerHTML = "" +Math.round(rounded)} + + state.interval = 1000/wps; + + if(state.intervalHandle) { + clearInterval(state.intervalHandle) + state.intervalHandle = setInterval(tick,state.interval); + } + }, + restart: function () { + var txt = state.sourceField ? state.sourceField.value : "ho hum no field."; + txt = txt || state.sourceField.innerText + this.setText(txt); + state.index = 0; + this.go(); + + }, + stop: function() { + if(state.intervalHandle) clearInterval(state.intervalHandle) + state.intervalHandle = 0 + }, + start: function() { + var Main = this; + + state.left = document.getElementById("left"); + state.right = document.getElementById("right"); + state.other = document.getElementById("other"); + + + Main.setField(document.getElementById("outField")) + + state.field.innerHTML = 'n'; + state.heightFactor = state.field.offsetHeight / state.field.offsetWidth; + + + + + Main.setSourceField(document.getElementById("ourText")) + Main.setRate(500); + Main.setAlignment(200); + Main.restart(); + + + + }, + playPause: function () { + if(state.intervalHandle) this.stop() + else this.go() + }, + hideShow: function(id) { + var elt = document.getElementById(id); + elt.hidden = !elt.hidden; + + }, + killMost: function(event) { + if(event.keyCode == 13 && event.shiftKey) return; + // event.preventDefault(); + event.stopPropagation(); + + }, + + keyCommands: { + 32: function() { Main.playPause()}, + 38: function() { Main.setTicksPerWord(state.ticksPerWord-1)}, + 40: function() { Main.setTicksPerWord(state.ticksPerWord+1)}, + 37: function() { Main.back(2)}, + 39: function() {Main.back(-2)}, + 84:function() {Main.hideShow("ourText")}, + + 65:function() {state.other.hidden = true, state.field.hidden = false}, + 66:function() {state.other.hidden = false, state.field.hidden = true}, + 72:function() {document.getElementById("help").hidden = true; + document.getElementById("ourText").hidden = true; + document.getElementById("controls").hidden = true; + + + }, + 76:function() {document.getElementById("loadFile").click()}, + + 191:function() {Main.hideShow("help")}, + 8: function() {Main.hideShow("controls")} + + }, + onKey:function(event) { + var fn = this.keyCommands["" + event.keyCode]; + if(typeof fn === "function") fn() + } + }; +}(window)); \ No newline at end of file diff --git a/alt-implementations/readifry-master/style.css b/alt-implementations/readifry-master/style.css new file mode 100644 index 0000000..e6ae085 --- /dev/null +++ b/alt-implementations/readifry-master/style.css @@ -0,0 +1,92 @@ +#ourText { + top:0; + bottom: 4em; + resize: none; + padding: 1rem; + position: absolute; +} +#loadFile { + bottom: 0em; + position: absolute; + left: 0em; + width: 15em; + height: 2em; +} + +body { + background-color: #EEEEEE; +} + +#outer { + position: fixed; + left: 50%; + top: 44%; + width: 100%; +} + + +#other { + position: fixed; + left: 50%; + top: 40%; + width: 100%; +} +#leftHolder, #right { top: 20%} + +#leftHolder { + position: absolute; + right: 50%; + top:0; +} +#right { + position: absolute; + left: 50%; + top:0; + width: auto; +} +#right::first-letter { + color: red; +} + +#outField, #marker { + position: absolute; + font-size: 250%; +} +#outField { + bottom:50%; +} + +#marker { + top: 50%; +} + +#help { + position: fixed; + right: -1.5em; + top: -1.5em; + padding: 2em 2em .15em .15em; + border-radius: 1em; + box-shadow: 0px 0px 5px #888888 inset; +} + +#controls { + position: fixed; + right: .5em; + bottom: .5em; + width: auto; +} +#controls * { + display: block; +} + +button { + width: 15em; + height: 2em; +} +#wrap { + position: fixed; + left: 0; + top: 10px; + bottom: 10px; + +} \ No newline at end of file diff --git a/alt-implementations/spread0r b/alt-implementations/spread0r new file mode 160000 index 0000000..abd77ba --- /dev/null +++ b/alt-implementations/spread0r @@ -0,0 +1 @@ +Subproject commit abd77ba3012cdab2ea0ef69952fb3b0e012c8c17