Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
branch: master
Fetching contributors…

Cannot retrieve contributors at this time

28076 lines (28044 sloc) 307.468 kB
"""
Anki plugin for inserting stroke counts and pinyin readings in cards. Makes use of the Unihan database
(http://unicode.org/charts/unihan.html) for its stroke count data.
Author: Max Bolingbroke (batterseapower@hotmail.com)
License: BSD3 (http://www.opensource.org/licenses/bsd-license.php)
License governing the Unihan database
-------------------------------------
Copyright (c) 1991-2009 Unicode, Inc. All rights reserved. Distributed under the Terms of Use in http://www.unicode.org/copyright.html.
Permission is hereby granted, free of charge, to any person obtaining a copy of the Unicode data files and any associated documentation
(the "Data Files") or Unicode software and any associated documentation (the "Software") to deal in the Data Files or Software without
restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, and/or sell copies of the Data
Files or Software, and to permit persons to whom the Data Files or Software are furnished to do so, provided that (a) the above copyright
notice(s) and this permission notice appear with all copies of the Data Files or Software, (b) both the above copyright notice(s) and this
permission notice appear in associated documentation, and (c) there is clear notice in each modified Data File or in the Software as well
as in the documentation associated with the Data File(s) or Software that the data or software has been modified.
THE DATA FILES AND SOFTWARE ARE 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 OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT
HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER
RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA FILES OR SOFTWARE.
Except as contained in this notice, the name of a copyright holder shall not be used in advertising or otherwise to promote the sale, use or
other dealings in these Data Files or Software without prior written authorization of the copyright holder.
"""
# Model to modify
MODEL_NAME = "Heisig"
# Field to read the character from
HANZI_FIELD_NAME = "Hanzi"
# Insert stroke counts
INSERT_STROKE_COUNTS = True
STROKE_COUNT_FIELD_NAME = "Stroke count"
# Insert readings
INSERT_READINGS = True
READING_FIELD_NAME = "Pinyin"
READING_TYPE = "mandarin"
#READING_TYPE = "cantonese"
from PyQt4 import QtGui, QtCore
from anki.cards import Card
from ankiqt import mw
####################################################################
# Add Hanzi stroke count choice to the Tool menu. On pressing it, #
# the update_deck function will run. #
####################################################################
def init_hook():
text, tooltip = menu_text()
if not text:
return
mw.mainWin.StrokeCountReadings = QtGui.QAction(text, mw)
mw.mainWin.StrokeCountReadings.setStatusTip(tooltip)
mw.mainWin.StrokeCountReadings.setEnabled(True)
mw.mainWin.StrokeCountReadings.setIcon(QtGui.QIcon(":/icons/kanji.png"))
mw.connect(mw.mainWin.StrokeCountReadings, QtCore.SIGNAL('triggered()'), update_deck)
mw.mainWin.menuTools.addAction(mw.mainWin.StrokeCountReadings)
def menu_text():
if INSERT_STROKE_COUNTS and INSERT_READINGS:
text = "Insert Hanzi stroke counts and readings"
tooltip = "Update all cards immediately with the stroke count from the Unihan database and the Anki readings"
elif INSERT_STROKE_COUNTS:
text = "Insert Hanzi stroke counts"
tooltip = "Update all cards immediately with the stroke count from the Unihan database"
elif INSERT_READINGS:
text = "Insert Hanzi readings"
tooltip = "Update all cards immediately with the Anki readings"
else:
text, tooltip = None, None
return text,tooltip
#######################################
# Run when the menu item is clicked. #
#######################################
def update_deck():
model = mw.deck.s.scalar('select id from models where name = \'%s\'' % MODEL_NAME)
card_model = mw.deck.s.scalar('select id from cardmodels where modelId = %s' % model)
for card in mw.deck.s.query(Card).filter('cardModelId = %s' % card_model):
update_card(card)
print "Deck modification complete"
mw.deck.s.flush()
mw.deck.setModified()
###############################################################
# Does the actual update of a card with the stroke count and #
# reading information. #
###############################################################
def update_card(card):
hanzi = card.fact.get(HANZI_FIELD_NAME, 0)
if len(hanzi) != 1:
print "Skipping a hanzi because it has more than one character"
return
if INSERT_STROKE_COUNTS:
insert_stroke_count(card, hanzi)
if INSERT_READINGS:
insert_readings(card, hanzi)
def insert_stroke_count(card, hanzi):
stroke_count = database[ord(hanzi)]
if not stroke_count:
print "Stroke count missing!"
return
if card.fact[STROKE_COUNT_FIELD_NAME]:
print "Already have a stroke count, skipping"
return
card.fact[STROKE_COUNT_FIELD_NAME] = unicode(stroke_count)
def insert_readings(card, hanzi):
from anki.features.chinese import unihan
pinyin = unihan.toReading(READING_TYPE, hanzi)
if not pinyin:
print "Pinyin unavailable!"
return
if card.fact[READING_FIELD_NAME]:
print "Already have reading, skipping"
return
card.fact[READING_FIELD_NAME] = pinyin
if __name__ == "__main__":
print "Don't run me. I'm a plugin!"
else:
mw.addHook('init', init_hook)
print 'Hanzi Stroke Count and Reading plugin loaded'
database = {
0x3400:5,
0x3401:6,
0x3402:6,
0x3403:3,
0x3404:3,
0x3405:2,
0x3406:6,
0x3407:3,
0x3408:3,
0x3409:3,
0x340A:4,
0x340B:4,
0x340C:5,
0x340D:5,
0x340E:5,
0x340F:5,
0x3410:6,
0x3411:6,
0x3412:6,
0x3413:6,
0x3414:6,
0x3415:6,
0x3416:7,
0x3417:7,
0x3418:7,
0x3419:8,
0x341A:8,
0x341B:8,
0x341C:9,
0x341D:9,
0x341E:9,
0x341F:9,
0x3420:9,
0x3421:11,
0x3422:11,
0x3423:11,
0x3424:12,
0x3425:16,
0x3426:19,
0x3427:4,
0x3428:8,
0x3429:8,
0x342A:6,
0x342B:6,
0x342C:7,
0x342D:8,
0x342E:13,
0x342F:17,
0x3430:5,
0x3431:5,
0x3432:5,
0x3433:5,
0x3434:5,
0x3435:5,
0x3436:5,
0x3437:5,
0x3438:6,
0x3439:6,
0x343A:6,
0x343B:6,
0x343C:6,
0x343D:6,
0x343E:6,
0x343F:6,
0x3440:6,
0x3441:7,
0x3442:7,
0x3443:7,
0x3444:7,
0x3445:7,
0x3446:7,
0x3447:7,
0x3448:7,
0x3449:8,
0x344A:8,
0x344B:8,
0x344C:8,
0x344D:8,
0x344E:8,
0x344F:8,
0x3450:8,
0x3451:8,
0x3452:8,
0x3453:8,
0x3454:8,
0x3455:8,
0x3456:8,
0x3457:9,
0x3458:9,
0x3459:9,
0x345A:9,
0x345B:9,
0x345C:9,
0x345D:9,
0x345E:9,
0x345F:9,
0x3460:9,
0x3461:9,
0x3462:9,
0x3463:10,
0x3464:11,
0x3465:10,
0x3466:10,
0x3467:10,
0x3468:10,
0x3469:10,
0x346A:10,
0x346B:10,
0x346C:10,
0x346D:10,
0x346E:11,
0x346F:11,
0x3470:11,
0x3471:11,
0x3472:11,
0x3473:12,
0x3474:12,
0x3475:12,
0x3476:12,
0x3477:12,
0x3478:12,
0x3479:12,
0x347A:12,
0x347B:13,
0x347C:13,
0x347D:13,
0x347E:13,
0x347F:13,
0x3480:13,
0x3481:13,
0x3482:14,
0x3483:14,
0x3484:14,
0x3485:14,
0x3486:14,
0x3487:14,
0x3488:14,
0x3489:14,
0x348A:14,
0x348B:14,
0x348C:14,
0x348D:14,
0x348E:14,
0x348F:14,
0x3490:14,
0x3491:15,
0x3492:15,
0x3493:15,
0x3494:15,
0x3495:15,
0x3496:15,
0x3497:15,
0x3498:15,
0x3499:16,
0x349A:16,
0x349B:16,
0x349C:16,
0x349D:17,
0x349E:17,
0x349F:18,
0x34A0:18,
0x34A1:19,
0x34A2:19,
0x34A3:19,
0x34A4:20,
0x34A5:20,
0x34A6:20,
0x34A7:21,
0x34A8:21,
0x34A9:23,
0x34AA:26,
0x34AB:6,
0x34AC:8,
0x34AD:10,
0x34AE:11,
0x34AF:18,
0x34B0:5,
0x34B1:5,
0x34B2:6,
0x34B3:7,
0x34B4:7,
0x34B5:7,
0x34B6:7,
0x34B7:7,
0x34B8:9,
0x34B9:20,
0x34BA:8,
0x34BB:11,
0x34BC:11,
0x34BD:12,
0x34BE:13,
0x34BF:22,
0x34C0:4,
0x34C1:4,
0x34C2:9,
0x34C3:12,
0x34C4:15,
0x34C5:4,
0x34C6:6,
0x34C7:6,
0x34C8:7,
0x34C9:8,
0x34CA:8,
0x34CB:8,
0x34CC:8,
0x34CD:8,
0x34CE:9,
0x34CF:9,
0x34D0:10,
0x34D1:10,
0x34D2:10,
0x34D3:11,
0x34D4:12,
0x34D5:12,
0x34D6:13,
0x34D7:14,
0x34D8:11,
0x34D9:6,
0x34DA:5,
0x34DB:5,
0x34DC:5,
0x34DD:6,
0x34DE:6,
0x34DF:7,
0x34E0:7,
0x34E1:8,
0x34E2:8,
0x34E3:8,
0x34E4:8,
0x34E5:8,
0x34E6:8,
0x34E7:9,
0x34E8:9,
0x34E9:9,
0x34EA:9,
0x34EB:9,
0x34EC:10,
0x34ED:10,
0x34EE:10,
0x34EF:10,
0x34F0:10,
0x34F1:11,
0x34F2:11,
0x34F3:11,
0x34F4:11,
0x34F5:11,
0x34F6:11,
0x34F7:12,
0x34F8:12,
0x34F9:12,
0x34FA:12,
0x34FB:12,
0x34FC:13,
0x34FD:13,
0x34FE:14,
0x34FF:14,
0x3500:14,
0x3501:14,
0x3502:14,
0x3503:14,
0x3504:14,
0x3505:14,
0x3506:14,
0x3507:14,
0x3508:14,
0x3509:14,
0x350A:15,
0x350B:16,
0x350C:16,
0x350D:16,
0x350E:17,
0x350F:17,
0x3510:18,
0x3511:19,
0x3512:20,
0x3513:5,
0x3514:6,
0x3515:6,
0x3516:6,
0x3517:7,
0x3518:7,
0x3519:8,
0x351A:8,
0x351B:8,
0x351C:9,
0x351D:10,
0x351E:10,
0x351F:10,
0x3520:11,
0x3521:12,
0x3522:14,
0x3523:17,
0x3524:17,
0x3525:17,
0x3526:17,
0x3527:18,
0x3528:11,
0x3529:12,
0x352A:13,
0x352B:4,
0x352C:8,
0x352D:11,
0x352E:21,
0x352F:7,
0x3530:7,
0x3531:11,
0x3532:13,
0x3533:13,
0x3534:13,
0x3535:14,
0x3536:26,
0x3537:7,
0x3538:12,
0x3539:4,
0x353A:6,
0x353B:6,
0x353C:13,
0x353D:8,
0x353E:3,
0x353F:3,
0x3540:7,
0x3541:8,
0x3542:6,
0x3543:6,
0x3544:6,
0x3545:7,
0x3546:7,
0x3547:7,
0x3548:8,
0x3549:8,
0x354A:9,
0x354B:10,
0x354C:10,
0x354D:10,
0x354E:12,
0x354F:13,
0x3550:14,
0x3551:14,
0x3552:15,
0x3553:17,
0x3554:24,
0x3555:4,
0x3556:10,
0x3557:11,
0x3558:11,
0x3559:15,
0x355A:4,
0x355B:4,
0x355C:6,
0x355D:7,
0x355E:8,
0x355F:9,
0x3560:12,
0x3561:14,
0x3562:14,
0x3563:5,
0x3564:5,
0x3565:5,
0x3566:6,
0x3567:6,
0x3568:6,
0x3569:7,
0x356A:7,
0x356B:7,
0x356C:7,
0x356D:7,
0x356E:7,
0x356F:7,
0x3570:7,
0x3571:7,
0x3572:7,
0x3573:7,
0x3574:7,
0x3575:7,
0x3576:7,
0x3577:8,
0x3578:8,
0x3579:8,
0x357A:8,
0x357B:8,
0x357C:8,
0x357D:8,
0x357E:8,
0x357F:8,
0x3580:9,
0x3581:9,
0x3582:9,
0x3583:9,
0x3584:9,
0x3585:9,
0x3586:9,
0x3587:9,
0x3588:9,
0x3589:9,
0x358A:9,
0x358B:9,
0x358C:9,
0x358D:9,
0x358E:9,
0x358F:10,
0x3590:10,
0x3591:10,
0x3592:10,
0x3593:10,
0x3594:10,
0x3595:10,
0x3596:10,
0x3597:10,
0x3598:10,
0x3599:10,
0x359A:10,
0x359B:10,
0x359C:10,
0x359D:10,
0x359E:10,
0x359F:11,
0x35A0:11,
0x35A1:11,
0x35A2:11,
0x35A3:11,
0x35A4:11,
0x35A5:11,
0x35A6:11,
0x35A7:11,
0x35A8:11,
0x35A9:11,
0x35AA:11,
0x35AB:11,
0x35AC:11,
0x35AD:11,
0x35AE:11,
0x35AF:11,
0x35B0:11,
0x35B1:11,
0x35B2:11,
0x35B3:11,
0x35B4:11,
0x35B5:11,
0x35B6:12,
0x35B7:12,
0x35B8:12,
0x35B9:12,
0x35BA:12,
0x35BB:12,
0x35BC:12,
0x35BD:12,
0x35BE:12,
0x35BF:12,
0x35C0:12,
0x35C1:12,
0x35C2:12,
0x35C3:12,
0x35C4:12,
0x35C5:12,
0x35C6:12,
0x35C7:12,
0x35C8:12,
0x35C9:12,
0x35CA:12,
0x35CB:12,
0x35CC:12,
0x35CD:12,
0x35CE:12,
0x35CF:12,
0x35D0:12,
0x35D1:12,
0x35D2:13,
0x35D3:13,
0x35D4:13,
0x35D5:13,
0x35D6:13,
0x35D7:13,
0x35D8:13,
0x35D9:13,
0x35DA:13,
0x35DB:13,
0x35DC:13,
0x35DD:13,
0x35DE:13,
0x35DF:13,
0x35E0:13,
0x35E1:13,
0x35E2:14,
0x35E3:14,
0x35E4:14,
0x35E5:14,
0x35E6:14,
0x35E7:14,
0x35E8:14,
0x35E9:14,
0x35EA:14,
0x35EB:14,
0x35EC:14,
0x35ED:14,
0x35EE:14,
0x35EF:14,
0x35F0:14,
0x35F1:15,
0x35F2:15,
0x35F3:15,
0x35F4:15,
0x35F5:15,
0x35F6:15,
0x35F7:15,
0x35F8:15,
0x35F9:15,
0x35FA:15,
0x35FB:16,
0x35FC:16,
0x35FD:16,
0x35FE:16,
0x35FF:16,
0x3600:16,
0x3601:16,
0x3602:16,
0x3603:16,
0x3604:16,
0x3605:17,
0x3606:17,
0x3607:17,
0x3608:17,
0x3609:18,
0x360A:18,
0x360B:18,
0x360C:18,
0x360D:18,
0x360E:18,
0x360F:18,
0x3610:19,
0x3611:19,
0x3612:19,
0x3613:20,
0x3614:20,
0x3615:21,
0x3616:21,
0x3617:21,
0x3618:22,
0x3619:23,
0x361A:23,
0x361B:25,
0x361C:26,
0x361D:5,
0x361E:5,
0x361F:6,
0x3620:8,
0x3621:8,
0x3622:9,
0x3623:10,
0x3624:14,
0x3625:20,
0x3626:5,
0x3627:7,
0x3628:7,
0x3629:7,
0x362A:7,
0x362B:7,
0x362C:7,
0x362D:7,
0x362E:7,
0x362F:7,
0x3630:7,
0x3631:8,
0x3632:8,
0x3633:8,
0x3634:8,
0x3635:8,
0x3636:9,
0x3637:9,
0x3638:9,
0x3639:9,
0x363A:9,
0x363B:9,
0x363C:9,
0x363D:9,
0x363E:9,
0x363F:10,
0x3640:10,
0x3641:10,
0x3642:10,
0x3643:10,
0x3644:10,
0x3645:10,
0x3646:10,
0x3647:11,
0x3648:11,
0x3649:11,
0x364A:11,
0x364B:11,
0x364C:11,
0x364D:11,
0x364E:12,
0x364F:12,
0x3650:12,
0x3651:12,
0x3652:12,
0x3653:12,
0x3654:12,
0x3655:12,
0x3656:12,
0x3657:12,
0x3658:12,
0x3659:13,
0x365A:13,
0x365B:13,
0x365C:13,
0x365D:13,
0x365E:13,
0x365F:13,
0x3660:14,
0x3661:14,
0x3662:14,
0x3663:14,
0x3664:14,
0x3665:14,
0x3666:14,
0x3667:15,
0x3668:15,
0x3669:15,
0x366A:15,
0x366B:15,
0x366C:15,
0x366D:15,
0x366E:15,
0x366F:15,
0x3670:16,
0x3671:16,
0x3672:16,
0x3673:16,
0x3674:16,
0x3675:16,
0x3676:16,
0x3677:17,
0x3678:17,
0x3679:17,
0x367A:17,
0x367B:18,
0x367C:18,
0x367D:18,
0x367E:19,
0x367F:19,
0x3680:20,
0x3681:24,
0x3682:25,
0x3683:12,
0x3684:15,
0x3685:9,
0x3686:9,
0x3687:9,
0x3688:5,
0x3689:8,
0x368A:12,
0x368B:14,
0x368C:14,
0x368D:18,
0x368E:5,
0x368F:6,
0x3690:6,
0x3691:6,
0x3692:7,
0x3693:7,
0x3694:8,
0x3695:8,
0x3696:8,
0x3697:8,
0x3698:8,
0x3699:8,
0x369A:9,
0x369B:9,
0x369C:11,
0x369D:11,
0x369E:11,
0x369F:12,
0x36A0:13,
0x36A1:16,
0x36A2:5,
0x36A3:6,
0x36A4:6,
0x36A5:6,
0x36A6:6,
0x36A7:6,
0x36A8:6,
0x36A9:7,
0x36AA:7,
0x36AB:7,
0x36AC:7,
0x36AD:7,
0x36AE:7,
0x36AF:7,
0x36B0:8,
0x36B1:8,
0x36B2:8,
0x36B3:8,
0x36B4:8,
0x36B5:8,
0x36B6:8,
0x36B7:8,
0x36B8:8,
0x36B9:8,
0x36BA:8,
0x36BB:8,
0x36BC:8,
0x36BD:8,
0x36BE:8,
0x36BF:8,
0x36C0:8,
0x36C1:8,
0x36C2:9,
0x36C3:9,
0x36C4:9,
0x36C5:9,
0x36C6:9,
0x36C7:9,
0x36C8:9,
0x36C9:9,
0x36CA:9,
0x36CB:9,
0x36CC:9,
0x36CD:10,
0x36CE:10,
0x36CF:10,
0x36D0:10,
0x36D1:10,
0x36D2:10,
0x36D3:10,
0x36D4:10,
0x36D5:10,
0x36D6:10,
0x36D7:10,
0x36D8:10,
0x36D9:10,
0x36DA:10,
0x36DB:10,
0x36DC:10,
0x36DD:10,
0x36DE:10,
0x36DF:10,
0x36E0:7,
0x36E1:10,
0x36E2:10,
0x36E3:10,
0x36E4:10,
0x36E5:11,
0x36E6:11,
0x36E7:11,
0x36E8:11,
0x36E9:11,
0x36EA:11,
0x36EB:11,
0x36EC:11,
0x36ED:11,
0x36EE:12,
0x36EF:12,
0x36F0:12,
0x36F1:12,
0x36F2:12,
0x36F3:12,
0x36F4:12,
0x36F5:12,
0x36F6:12,
0x36F7:12,
0x36F8:12,
0x36F9:12,
0x36FA:12,
0x36FB:12,
0x36FC:12,
0x36FD:12,
0x36FE:12,
0x36FF:12,
0x3700:12,
0x3701:12,
0x3702:12,
0x3703:12,
0x3704:12,
0x3705:13,
0x3706:13,
0x3707:13,
0x3708:13,
0x3709:13,
0x370A:13,
0x370B:13,
0x370C:13,
0x370D:13,
0x370E:13,
0x370F:13,
0x3710:13,
0x3711:13,
0x3712:13,
0x3713:13,
0x3714:13,
0x3715:14,
0x3716:14,
0x3717:14,
0x3718:14,
0x3719:14,
0x371A:14,
0x371B:14,
0x371C:14,
0x371D:14,
0x371E:14,
0x371F:14,
0x3720:14,
0x3721:14,
0x3722:14,
0x3723:15,
0x3724:15,
0x3725:15,
0x3726:15,
0x3727:15,
0x3728:15,
0x3729:16,
0x372A:16,
0x372B:16,
0x372C:16,
0x372D:16,
0x372E:17,
0x372F:17,
0x3730:18,
0x3731:18,
0x3732:19,
0x3733:19,
0x3734:19,
0x3735:19,
0x3736:20,
0x3737:20,
0x3738:20,
0x3739:21,
0x373A:22,
0x373B:26,
0x373C:26,
0x373D:6,
0x373E:7,
0x373F:7,
0x3740:8,
0x3741:9,
0x3742:10,
0x3743:10,
0x3744:12,
0x3745:13,
0x3746:15,
0x3747:16,
0x3748:25,
0x3749:4,
0x374A:5,
0x374B:5,
0x374C:6,
0x374D:6,
0x374E:7,
0x374F:7,
0x3750:7,
0x3751:7,
0x3752:8,
0x3753:9,
0x3754:9,
0x3755:9,
0x3756:9,
0x3757:10,
0x3758:10,
0x3759:10,
0x375A:10,
0x375B:11,
0x375C:11,
0x375D:11,
0x375E:11,
0x375F:11,
0x3760:11,
0x3761:11,
0x3762:12,
0x3763:12,
0x3764:13,
0x3765:13,
0x3766:13,
0x3767:13,
0x3768:13,
0x3769:14,
0x376A:14,
0x376B:14,
0x376C:14,
0x376D:15,
0x376E:15,
0x376F:15,
0x3770:18,
0x3771:21,
0x3772:26,
0x3773:5,
0x3774:7,
0x3775:8,
0x3776:10,
0x3777:12,
0x3778:10,
0x3779:12,
0x377A:14,
0x377B:15,
0x377C:6,
0x377D:7,
0x377E:8,
0x377F:8,
0x3780:9,
0x3781:9,
0x3782:10,
0x3783:11,
0x3784:11,
0x3785:11,
0x3786:11,
0x3787:12,
0x3788:12,
0x3789:13,
0x378A:13,
0x378B:5,
0x378C:6,
0x378D:6,
0x378E:7,
0x378F:8,
0x3790:8,
0x3791:8,
0x3792:9,
0x3793:9,
0x3794:9,
0x3795:9,
0x3796:9,
0x3797:10,
0x3798:11,
0x3799:11,
0x379A:12,
0x379B:12,
0x379C:14,
0x379D:14,
0x379E:14,
0x379F:15,
0x37A0:15,
0x37A1:19,
0x37A2:4,
0x37A3:7,
0x37A4:5,
0x37A5:5,
0x37A6:5,
0x37A7:5,
0x37A8:6,
0x37A9:6,
0x37AA:6,
0x37AB:6,
0x37AC:6,
0x37AD:6,
0x37AE:6,
0x37AF:6,
0x37B0:7,
0x37B1:7,
0x37B2:7,
0x37B3:7,
0x37B4:7,
0x37B5:7,
0x37B6:7,
0x37B7:7,
0x37B8:7,
0x37B9:8,
0x37BA:8,
0x37BB:8,
0x37BC:8,
0x37BD:8,
0x37BE:8,
0x37BF:8,
0x37C0:8,
0x37C1:8,
0x37C2:8,
0x37C3:8,
0x37C4:9,
0x37C5:9,
0x37C6:9,
0x37C7:10,
0x37C8:10,
0x37C9:10,
0x37CA:10,
0x37CB:10,
0x37CC:10,
0x37CD:10,
0x37CE:10,
0x37CF:10,
0x37D0:10,
0x37D1:10,
0x37D2:10,
0x37D3:10,
0x37D4:10,
0x37D5:10,
0x37D6:10,
0x37D7:11,
0x37D8:11,
0x37D9:11,
0x37DA:11,
0x37DB:11,
0x37DC:11,
0x37DD:11,
0x37DE:11,
0x37DF:11,
0x37E0:11,
0x37E1:11,
0x37E2:11,
0x37E3:11,
0x37E4:11,
0x37E5:11,
0x37E6:12,
0x37E7:12,
0x37E8:12,
0x37E9:12,
0x37EA:12,
0x37EB:12,
0x37EC:12,
0x37ED:12,
0x37EE:12,
0x37EF:12,
0x37F0:13,
0x37F1:13,
0x37F2:13,
0x37F3:13,
0x37F4:13,
0x37F5:13,
0x37F6:13,
0x37F7:13,
0x37F8:13,
0x37F9:14,
0x37FA:14,
0x37FB:14,
0x37FC:14,
0x37FD:14,
0x37FE:14,
0x37FF:14,
0x3800:14,
0x3801:14,
0x3802:14,
0x3803:14,
0x3804:14,
0x3805:15,
0x3806:15,
0x3807:15,
0x3808:15,
0x3809:15,
0x380A:15,
0x380B:15,
0x380C:15,
0x380D:15,
0x380E:15,
0x380F:15,
0x3810:15,
0x3811:16,
0x3812:16,
0x3813:16,
0x3814:16,
0x3815:16,
0x3816:16,
0x3817:16,
0x3818:17,
0x3819:17,
0x381A:17,
0x381B:17,
0x381C:17,
0x381D:18,
0x381E:18,
0x381F:18,
0x3820:19,
0x3821:19,
0x3822:19,
0x3823:19,
0x3824:20,
0x3825:21,
0x3826:21,
0x3827:22,
0x3828:28,
0x3829:6,
0x382A:4,
0x382B:10,
0x382C:10,
0x382D:12,
0x382E:15,
0x382F:5,
0x3830:8,
0x3831:11,
0x3832:5,
0x3833:5,
0x3834:6,
0x3835:6,
0x3836:6,
0x3837:7,
0x3838:7,
0x3839:7,
0x383A:7,
0x383B:7,
0x383C:7,
0x383D:8,
0x383E:8,
0x383F:8,
0x3840:8,
0x3841:9,
0x3842:9,
0x3843:9,
0x3844:9,
0x3845:9,
0x3846:9,
0x3847:10,
0x3848:10,
0x3849:11,
0x384A:11,
0x384B:11,
0x384C:11,
0x384D:11,
0x384E:11,
0x384F:12,
0x3850:12,
0x3851:12,
0x3852:12,
0x3853:12,
0x3854:12,
0x3855:12,
0x3856:12,
0x3857:13,
0x3858:13,
0x3859:13,
0x385A:13,
0x385B:13,
0x385C:14,
0x385D:14,
0x385E:14,
0x385F:14,
0x3860:15,
0x3861:15,
0x3862:16,
0x3863:16,
0x3864:16,
0x3865:17,
0x3866:17,
0x3867:20,
0x3868:20,
0x3869:22,
0x386A:22,
0x386B:12,
0x386C:12,
0x386D:14,
0x386E:16,
0x386F:6,
0x3870:6,
0x3871:6,
0x3872:7,
0x3873:7,
0x3874:8,
0x3875:8,
0x3876:8,
0x3877:8,
0x3878:8,
0x3879:8,
0x387A:8,
0x387B:8,
0x387C:9,
0x387D:9,
0x387E:9,
0x387F:9,
0x3880:9,
0x3881:9,
0x3882:9,
0x3883:10,
0x3884:10,
0x3885:10,
0x3886:10,
0x3887:10,
0x3888:11,
0x3889:11,
0x388A:11,
0x388B:11,
0x388C:11,
0x388D:12,
0x388E:12,
0x388F:12,
0x3890:12,
0x3891:13,
0x3892:14,
0x3893:14,
0x3894:14,
0x3895:14,
0x3896:15,
0x3897:15,
0x3898:15,
0x3899:16,
0x389A:16,
0x389B:16,
0x389C:16,
0x389D:19,
0x389E:20,
0x389F:6,
0x38A0:8,
0x38A1:14,
0x38A2:15,
0x38A3:16,
0x38A4:7,
0x38A5:9,
0x38A6:13,
0x38A7:4,
0x38A8:6,
0x38A9:6,
0x38AA:6,
0x38AB:6,
0x38AC:7,
0x38AD:7,
0x38AE:8,
0x38AF:8,
0x38B0:8,
0x38B1:8,
0x38B2:9,
0x38B3:9,
0x38B4:9,
0x38B5:9,
0x38B6:9,
0x38B7:9,
0x38B8:10,
0x38B9:10,
0x38BA:11,
0x38BB:11,
0x38BC:11,
0x38BD:12,
0x38BE:12,
0x38BF:12,
0x38C0:13,
0x38C1:13,
0x38C2:13,
0x38C3:14,
0x38C4:15,
0x38C5:15,
0x38C6:21,
0x38C7:8,
0x38C8:16,
0x38C9:6,
0x38CA:7,
0x38CB:8,
0x38CC:8,
0x38CD:8,
0x38CE:11,
0x38CF:12,
0x38D0:12,
0x38D1:14,
0x38D2:15,
0x38D3:16,
0x38D4:5,
0x38D5:6,
0x38D6:7,
0x38D7:7,
0x38D8:8,
0x38D9:8,
0x38DA:9,
0x38DB:9,
0x38DC:9,
0x38DD:9,
0x38DE:9,
0x38DF:9,
0x38E0:9,
0x38E1:9,
0x38E2:10,
0x38E3:10,
0x38E4:11,
0x38E5:11,
0x38E6:11,
0x38E7:11,
0x38E8:11,
0x38E9:11,
0x38EA:12,
0x38EB:12,
0x38EC:12,
0x38ED:12,
0x38EE:12,
0x38EF:13,
0x38F0:14,
0x38F1:14,
0x38F2:14,
0x38F3:15,
0x38F4:15,
0x38F5:16,
0x38F6:16,
0x38F7:17,
0x38F8:19,
0x38F9:20,
0x38FA:5,
0x38FB:6,
0x38FC:6,
0x38FD:7,
0x38FE:6,
0x38FF:6,
0x3900:7,
0x3901:8,
0x3902:8,
0x3903:7,
0x3904:7,
0x3905:8,
0x3906:7,
0x3907:7,
0x3908:7,
0x3909:7,
0x390A:7,
0x390B:7,
0x390C:8,
0x390D:9,
0x390E:9,
0x390F:8,
0x3910:8,
0x3911:8,
0x3912:8,
0x3913:8,
0x3914:8,
0x3915:8,
0x3916:8,
0x3917:9,
0x3918:8,
0x3919:9,
0x391A:9,
0x391B:9,
0x391C:9,
0x391D:9,
0x391E:9,
0x391F:10,
0x3920:10,
0x3921:9,
0x3922:9,
0x3923:10,
0x3924:9,
0x3925:9,
0x3926:9,
0x3927:9,
0x3928:9,
0x3929:10,
0x392A:10,
0x392B:10,
0x392C:9,
0x392D:9,
0x392E:11,
0x392F:10,
0x3930:11,
0x3931:10,
0x3932:11,
0x3933:10,
0x3934:10,
0x3935:11,
0x3936:10,
0x3937:10,
0x3938:10,
0x3939:10,
0x393A:9,
0x393B:11,
0x393C:10,
0x393D:10,
0x393E:11,
0x393F:11,
0x3940:11,
0x3941:12,
0x3942:11,
0x3943:11,
0x3944:11,
0x3945:11,
0x3946:11,
0x3947:11,
0x3948:12,
0x3949:11,
0x394A:11,
0x394B:12,
0x394C:11,
0x394D:11,
0x394E:12,
0x394F:11,
0x3950:12,
0x3951:12,
0x3952:11,
0x3953:11,
0x3954:11,
0x3955:12,
0x3956:12,
0x3957:11,
0x3958:11,
0x3959:11,
0x395A:12,
0x395B:12,
0x395C:12,
0x395D:12,
0x395E:12,
0x395F:12,
0x3960:12,
0x3961:12,
0x3962:12,
0x3963:13,
0x3964:13,
0x3965:12,
0x3966:13,
0x3967:12,
0x3968:13,
0x3969:12,
0x396A:12,
0x396B:12,
0x396C:13,
0x396D:13,
0x396E:13,
0x396F:14,
0x3970:13,
0x3971:13,
0x3972:14,
0x3973:13,
0x3974:13,
0x3975:13,
0x3976:14,
0x3977:14,
0x3978:14,
0x3979:14,
0x397A:13,
0x397B:14,
0x397C:14,
0x397D:14,
0x397E:14,
0x397F:15,
0x3980:14,
0x3981:15,
0x3982:15,
0x3983:14,
0x3984:15,
0x3985:14,
0x3986:14,
0x3987:14,
0x3988:14,
0x3989:15,
0x398A:15,
0x398B:15,
0x398C:16,
0x398D:15,
0x398E:15,
0x398F:15,
0x3990:15,
0x3991:15,
0x3992:15,
0x3993:15,
0x3994:16,
0x3995:15,
0x3996:15,
0x3997:16,
0x3998:17,
0x3999:16,
0x399A:18,
0x399B:18,
0x399C:17,
0x399D:18,
0x399E:18,
0x399F:18,
0x39A0:17,
0x39A1:18,
0x39A2:18,
0x39A3:20,
0x39A4:20,
0x39A5:19,
0x39A6:19,
0x39A7:19,
0x39A8:20,
0x39A9:20,
0x39AA:20,
0x39AB:22,
0x39AC:22,
0x39AD:27,
0x39AE:7,
0x39AF:7,
0x39B0:8,
0x39B1:8,
0x39B2:8,
0x39B3:9,
0x39B4:10,
0x39B5:10,
0x39B6:10,
0x39B7:11,
0x39B8:12,
0x39B9:13,
0x39BA:14,
0x39BB:15,
0x39BC:15,
0x39BD:17,
0x39BE:7,
0x39BF:8,
0x39C0:8,
0x39C1:9,
0x39C2:9,
0x39C3:5,
0x39C4:5,
0x39C5:5,
0x39C6:6,
0x39C7:6,
0x39C8:6,
0x39C9:7,
0x39CA:7,
0x39CB:7,
0x39CC:7,
0x39CD:7,
0x39CE:7,
0x39CF:7,
0x39D0:7,
0x39D1:7,
0x39D2:8,
0x39D3:8,
0x39D4:8,
0x39D5:8,
0x39D6:8,
0x39D7:8,
0x39D8:9,
0x39D9:8,
0x39DA:8,
0x39DB:8,
0x39DC:8,
0x39DD:8,
0x39DE:8,
0x39DF:8,
0x39E0:8,
0x39E1:9,
0x39E2:9,
0x39E3:9,
0x39E4:9,
0x39E5:9,
0x39E6:9,
0x39E7:9,
0x39E8:9,
0x39E9:9,
0x39EA:9,
0x39EB:9,
0x39EC:10,
0x39ED:10,
0x39EE:9,
0x39EF:9,
0x39F0:9,
0x39F1:10,
0x39F2:10,
0x39F3:11,
0x39F4:10,
0x39F5:10,
0x39F6:10,
0x39F7:10,
0x39F8:10,
0x39F9:11,
0x39FA:11,
0x39FB:11,
0x39FC:11,
0x39FD:11,
0x39FE:11,
0x39FF:11,
0x3A00:11,
0x3A01:11,
0x3A02:11,
0x3A03:11,
0x3A04:11,
0x3A05:11,
0x3A06:11,
0x3A07:12,
0x3A08:11,
0x3A09:12,
0x3A0A:12,
0x3A0B:12,
0x3A0C:13,
0x3A0D:13,
0x3A0E:12,
0x3A0F:12,
0x3A10:12,
0x3A11:12,
0x3A12:12,
0x3A13:12,
0x3A14:12,
0x3A15:12,
0x3A16:12,
0x3A17:12,
0x3A18:12,
0x3A19:13,
0x3A1A:13,
0x3A1B:13,
0x3A1C:13,
0x3A1D:13,
0x3A1E:13,
0x3A1F:13,
0x3A20:13,
0x3A21:13,
0x3A22:13,
0x3A23:13,
0x3A24:13,
0x3A25:13,
0x3A26:13,
0x3A27:13,
0x3A28:13,
0x3A29:13,
0x3A2A:13,
0x3A2B:13,
0x3A2C:13,
0x3A2D:14,
0x3A2E:14,
0x3A2F:14,
0x3A30:14,
0x3A31:14,
0x3A32:14,
0x3A33:14,
0x3A34:14,
0x3A35:14,
0x3A36:14,
0x3A37:14,
0x3A38:14,
0x3A39:14,
0x3A3A:14,
0x3A3B:15,
0x3A3C:15,
0x3A3D:14,
0x3A3E:14,
0x3A3F:14,
0x3A40:14,
0x3A41:14,
0x3A42:14,
0x3A43:15,
0x3A44:15,
0x3A45:15,
0x3A46:15,
0x3A47:15,
0x3A48:15,
0x3A49:15,
0x3A4A:15,
0x3A4B:15,
0x3A4C:15,
0x3A4D:15,
0x3A4E:15,
0x3A4F:15,
0x3A50:15,
0x3A51:15,
0x3A52:16,
0x3A53:17,
0x3A54:16,
0x3A55:16,
0x3A56:16,
0x3A57:16,
0x3A58:16,
0x3A59:16,
0x3A5A:17,
0x3A5B:17,
0x3A5C:17,
0x3A5D:17,
0x3A5E:17,
0x3A5F:17,
0x3A60:18,
0x3A61:18,
0x3A62:18,
0x3A63:18,
0x3A64:18,
0x3A65:18,
0x3A66:18,
0x3A67:18,
0x3A68:18,
0x3A69:18,
0x3A6A:18,
0x3A6B:18,
0x3A6C:19,
0x3A6D:19,
0x3A6E:20,
0x3A6F:20,
0x3A70:20,
0x3A71:21,
0x3A72:21,
0x3A73:21,
0x3A74:21,
0x3A75:23,
0x3A76:23,
0x3A77:23,
0x3A78:25,
0x3A79:25,
0x3A7A:8,
0x3A7B:10,
0x3A7C:10,
0x3A7D:11,
0x3A7E:12,
0x3A7F:7,
0x3A80:7,
0x3A81:8,
0x3A82:8,
0x3A83:9,
0x3A84:9,
0x3A85:9,
0x3A86:9,
0x3A87:10,
0x3A88:10,
0x3A89:10,
0x3A8A:11,
0x3A8B:11,
0x3A8C:11,
0x3A8D:11,
0x3A8E:11,
0x3A8F:12,
0x3A90:12,
0x3A91:12,
0x3A92:12,
0x3A93:12,
0x3A94:12,
0x3A95:12,
0x3A96:12,
0x3A97:12,
0x3A98:12,
0x3A99:12,
0x3A9A:12,
0x3A9B:13,
0x3A9C:13,
0x3A9D:13,
0x3A9E:13,
0x3A9F:13,
0x3AA0:14,
0x3AA1:14,
0x3AA2:14,
0x3AA3:14,
0x3AA4:15,
0x3AA5:15,
0x3AA6:15,
0x3AA7:16,
0x3AA8:16,
0x3AA9:16,
0x3AAA:16,
0x3AAB:18,
0x3AAC:18,
0x3AAD:20,
0x3AAE:21,
0x3AAF:7,
0x3AB0:10,
0x3AB1:13,
0x3AB2:6,
0x3AB3:6,
0x3AB4:8,
0x3AB5:9,
0x3AB6:10,
0x3AB7:11,
0x3AB8:12,
0x3AB9:15,
0x3ABA:17,
0x3ABB:23,
0x3ABC:9,
0x3ABD:9,
0x3ABE:10,
0x3ABF:10,
0x3AC0:12,
0x3AC1:14,
0x3AC2:15,
0x3AC3:6,
0x3AC4:8,
0x3AC5:10,
0x3AC6:9,
0x3AC7:10,
0x3AC8:10,
0x3AC9:10,
0x3ACA:11,
0x3ACB:11,
0x3ACC:11,
0x3ACD:12,
0x3ACE:15,
0x3ACF:15,
0x3AD0:6,
0x3AD1:6,
0x3AD2:7,
0x3AD3:7,
0x3AD4:7,
0x3AD5:7,
0x3AD6:7,
0x3AD7:7,
0x3AD8:8,
0x3AD9:8,
0x3ADA:8,
0x3ADB:9,
0x3ADC:9,
0x3ADD:9,
0x3ADE:9,
0x3ADF:9,
0x3AE0:9,
0x3AE1:9,
0x3AE2:9,
0x3AE3:9,
0x3AE4:9,
0x3AE5:10,
0x3AE6:10,
0x3AE7:10,
0x3AE8:10,
0x3AE9:10,
0x3AEA:10,
0x3AEB:10,
0x3AEC:10,
0x3AED:10,
0x3AEE:10,
0x3AEF:11,
0x3AF0:11,
0x3AF1:11,
0x3AF2:11,
0x3AF3:11,
0x3AF4:11,
0x3AF5:12,
0x3AF6:12,
0x3AF7:12,
0x3AF8:12,
0x3AF9:12,
0x3AFA:12,
0x3AFB:12,
0x3AFC:12,
0x3AFD:12,
0x3AFE:12,
0x3AFF:12,
0x3B00:12,
0x3B01:13,
0x3B02:13,
0x3B03:13,
0x3B04:13,
0x3B05:13,
0x3B06:13,
0x3B07:13,
0x3B08:13,
0x3B09:13,
0x3B0A:13,
0x3B0B:13,
0x3B0C:13,
0x3B0D:14,
0x3B0E:14,
0x3B0F:14,
0x3B10:14,
0x3B11:15,
0x3B12:15,
0x3B13:15,
0x3B14:15,
0x3B15:15,
0x3B16:15,
0x3B17:16,
0x3B18:16,
0x3B19:16,
0x3B1A:16,
0x3B1B:16,
0x3B1C:16,
0x3B1D:16,
0x3B1E:16,
0x3B1F:16,
0x3B20:17,
0x3B21:17,
0x3B22:17,
0x3B23:18,
0x3B24:18,
0x3B25:18,
0x3B26:18,
0x3B27:18,
0x3B28:18,
0x3B29:19,
0x3B2A:19,
0x3B2B:20,
0x3B2C:22,
0x3B2D:22,
0x3B2E:23,
0x3B2F:25,
0x3B30:6,
0x3B31:16,
0x3B32:17,
0x3B33:8,
0x3B34:10,
0x3B35:10,
0x3B36:11,
0x3B37:11,
0x3B38:12,
0x3B39:12,
0x3B3A:14,
0x3B3B:14,
0x3B3C:15,
0x3B3D:15,
0x3B3E:15,
0x3B3F:16,
0x3B40:17,
0x3B41:6,
0x3B42:7,
0x3B43:7,
0x3B44:7,
0x3B45:7,
0x3B46:7,
0x3B47:8,
0x3B48:8,
0x3B49:8,
0x3B4A:8,
0x3B4B:8,
0x3B4C:8,
0x3B4D:8,
0x3B4E:8,
0x3B4F:8,
0x3B50:8,
0x3B51:9,
0x3B52:9,
0x3B53:9,
0x3B54:9,
0x3B55:9,
0x3B56:9,
0x3B57:9,
0x3B58:10,
0x3B59:10,
0x3B5A:10,
0x3B5B:10,
0x3B5C:10,
0x3B5D:10,
0x3B5E:10,
0x3B5F:10,
0x3B60:10,
0x3B61:10,
0x3B62:10,
0x3B63:10,
0x3B64:10,
0x3B65:10,
0x3B66:10,
0x3B67:10,
0x3B68:11,
0x3B69:11,
0x3B6A:11,
0x3B6B:11,
0x3B6C:11,
0x3B6D:11,
0x3B6E:11,
0x3B6F:11,
0x3B70:11,
0x3B71:11,
0x3B72:11,
0x3B73:11,
0x3B74:11,
0x3B75:11,
0x3B76:12,
0x3B77:11,
0x3B78:12,
0x3B79:12,
0x3B7A:12,
0x3B7B:12,
0x3B7C:12,
0x3B7D:12,
0x3B7E:12,
0x3B7F:12,
0x3B80:12,
0x3B81:12,
0x3B82:12,
0x3B83:12,
0x3B84:12,
0x3B85:12,
0x3B86:12,
0x3B87:12,
0x3B88:12,
0x3B89:12,
0x3B8A:12,
0x3B8B:13,
0x3B8C:13,
0x3B8D:13,
0x3B8E:13,
0x3B8F:13,
0x3B90:13,
0x3B91:13,
0x3B92:13,
0x3B93:13,
0x3B94:13,
0x3B95:13,
0x3B96:13,
0x3B97:13,
0x3B98:13,
0x3B99:13,
0x3B9A:13,
0x3B9B:13,
0x3B9C:13,
0x3B9D:13,
0x3B9E:13,
0x3B9F:13,
0x3BA0:13,
0x3BA1:13,
0x3BA2:13,
0x3BA3:13,
0x3BA4:14,
0x3BA5:14,
0x3BA6:14,
0x3BA7:14,
0x3BA8:14,
0x3BA9:14,
0x3BAA:14,
0x3BAB:14,
0x3BAC:14,
0x3BAD:14,
0x3BAE:14,
0x3BAF:14,
0x3BB0:14,
0x3BB1:14,
0x3BB2:14,
0x3BB3:14,
0x3BB4:14,
0x3BB5:14,
0x3BB6:14,
0x3BB7:14,
0x3BB8:14,
0x3BB9:14,
0x3BBA:14,
0x3BBB:14,
0x3BBC:14,
0x3BBD:14,
0x3BBE:15,
0x3BBF:15,
0x3BC0:15,
0x3BC1:15,
0x3BC2:15,
0x3BC3:15,
0x3BC4:15,
0x3BC5:15,
0x3BC6:15,
0x3BC7:15,
0x3BC8:15,
0x3BC9:15,
0x3BCA:15,
0x3BCB:15,
0x3BCC:15,
0x3BCD:15,
0x3BCE:15,
0x3BCF:15,
0x3BD0:16,
0x3BD1:15,
0x3BD2:15,
0x3BD3:16,
0x3BD4:16,
0x3BD5:16,
0x3BD6:16,
0x3BD7:16,
0x3BD8:16,
0x3BD9:16,
0x3BDA:16,
0x3BDB:16,
0x3BDC:16,
0x3BDD:16,
0x3BDE:16,
0x3BDF:16,
0x3BE0:15,
0x3BE1:16,
0x3BE2:16,
0x3BE3:16,
0x3BE4:16,
0x3BE5:16,
0x3BE6:16,
0x3BE7:16,
0x3BE8:16,
0x3BE9:16,
0x3BEA:17,
0x3BEB:17,
0x3BEC:17,
0x3BED:17,
0x3BEE:17,
0x3BEF:17,
0x3BF0:17,
0x3BF1:17,
0x3BF2:17,
0x3BF3:17,
0x3BF4:17,
0x3BF5:17,
0x3BF6:17,
0x3BF7:18,
0x3BF8:18,
0x3BF9:18,
0x3BFA:18,
0x3BFB:18,
0x3BFC:18,
0x3BFD:18,
0x3BFE:19,
0x3BFF:19,
0x3C00:19,
0x3C01:19,
0x3C02:19,
0x3C03:19,
0x3C04:19,
0x3C05:19,
0x3C06:19,
0x3C07:19,
0x3C08:19,
0x3C09:20,
0x3C0A:20,
0x3C0B:20,
0x3C0C:20,
0x3C0D:20,
0x3C0E:20,
0x3C0F:20,
0x3C10:20,
0x3C11:20,
0x3C12:20,
0x3C13:20,
0x3C14:21,
0x3C15:21,
0x3C16:20,
0x3C17:22,
0x3C18:22,
0x3C19:23,
0x3C1A:23,
0x3C1B:23,
0x3C1C:23,
0x3C1D:7,
0x3C1E:7,
0x3C1F:8,
0x3C20:8,
0x3C21:8,
0x3C22:8,
0x3C23:9,
0x3C24:9,
0x3C25:9,
0x3C26:9,
0x3C27:9,
0x3C28:9,
0x3C29:10,
0x3C2A:10,
0x3C2B:10,
0x3C2C:10,
0x3C2D:10,
0x3C2E:11,
0x3C2F:11,
0x3C30:11,
0x3C31:11,
0x3C32:12,
0x3C33:12,
0x3C34:12,
0x3C35:12,
0x3C36:12,
0x3C37:10,
0x3C38:12,
0x3C39:13,
0x3C3A:13,
0x3C3B:13,
0x3C3C:13,
0x3C3D:13,
0x3C3E:13,
0x3C3F:14,
0x3C40:14,
0x3C41:14,
0x3C42:15,
0x3C43:15,
0x3C44:16,
0x3C45:16,
0x3C46:17,
0x3C47:17,
0x3C48:17,
0x3C49:17,
0x3C4A:19,
0x3C4B:20,
0x3C4C:22,
0x3C4D:23,
0x3C4E:25,
0x3C4F:6,
0x3C50:7,
0x3C51:7,
0x3C52:9,
0x3C53:9,
0x3C54:9,
0x3C55:12,
0x3C56:12,
0x3C57:14,
0x3C58:18,
0x3C59:6,
0x3C5A:8,
0x3C5B:8,
0x3C5C:8,
0x3C5D:8,
0x3C5E:9,
0x3C5F:9,
0x3C60:9,
0x3C61:10,
0x3C62:11,
0x3C63:11,
0x3C64:12,
0x3C65:12,
0x3C66:12,
0x3C67:12,
0x3C68:12,
0x3C69:12,
0x3C6A:13,
0x3C6B:13,
0x3C6C:13,
0x3C6D:13,
0x3C6E:13,
0x3C6F:14,
0x3C70:14,
0x3C71:14,
0x3C72:14,
0x3C73:15,
0x3C74:15,
0x3C75:16,
0x3C76:16,
0x3C77:16,
0x3C78:17,
0x3C79:20,
0x3C7A:20,
0x3C7B:23,
0x3C7C:7,
0x3C7D:8,
0x3C7E:10,
0x3C7F:10,
0x3C80:11,
0x3C81:12,
0x3C82:12,
0x3C83:12,
0x3C84:13,
0x3C85:14,
0x3C86:16,
0x3C87:16,
0x3C88:16,
0x3C89:17,
0x3C8A:18,
0x3C8B:9,
0x3C8C:6,
0x3C8D:8,
0x3C8E:8,
0x3C8F:8,
0x3C90:8,
0x3C91:8,
0x3C92:9,
0x3C93:10,
0x3C94:11,
0x3C95:11,
0x3C96:11,
0x3C97:11,
0x3C98:11,
0x3C99:11,
0x3C9A:11,
0x3C9B:12,
0x3C9C:12,
0x3C9D:12,
0x3C9E:12,
0x3C9F:13,
0x3CA0:13,
0x3CA1:13,
0x3CA2:13,
0x3CA3:13,
0x3CA4:14,
0x3CA5:14,
0x3CA6:14,
0x3CA7:14,
0x3CA8:14,
0x3CA9:14,
0x3CAA:16,
0x3CAB:16,
0x3CAC:16,
0x3CAD:16,
0x3CAE:16,
0x3CAF:18,
0x3CB0:18,
0x3CB1:19,
0x3CB2:26,
0x3CB3:10,
0x3CB4:8,
0x3CB5:11,
0x3CB6:15,
0x3CB7:16,
0x3CB8:4,
0x3CB9:5,
0x3CBA:5,
0x3CBB:6,
0x3CBC:5,
0x3CBD:6,
0x3CBE:7,
0x3CBF:6,
0x3CC0:7,
0x3CC1:7,
0x3CC2:7,
0x3CC3:7,
0x3CC4:7,
0x3CC5:7,
0x3CC6:7,
0x3CC7:7,
0x3CC8:7,
0x3CC9:7,
0x3CCA:7,
0x3CCB:8,
0x3CCC:8,
0x3CCD:8,
0x3CCE:8,
0x3CCF:8,
0x3CD0:8,
0x3CD1:8,
0x3CD2:8,
0x3CD3:8,
0x3CD4:8,
0x3CD5:8,
0x3CD6:9,
0x3CD7:9,
0x3CD8:9,
0x3CD9:9,
0x3CDA:9,
0x3CDB:9,
0x3CDC:9,
0x3CDD:9,
0x3CDE:9,
0x3CDF:11,
0x3CE0:9,
0x3CE1:9,
0x3CE2:9,
0x3CE3:9,
0x3CE4:10,
0x3CE5:10,
0x3CE6:10,
0x3CE7:10,
0x3CE8:10,
0x3CE9:10,
0x3CEA:10,
0x3CEB:11,
0x3CEC:10,
0x3CED:10,
0x3CEE:10,
0x3CEF:10,
0x3CF0:10,
0x3CF1:10,
0x3CF2:10,
0x3CF3:10,
0x3CF4:11,
0x3CF5:11,
0x3CF6:11,
0x3CF7:11,
0x3CF8:11,
0x3CF9:11,
0x3CFA:11,
0x3CFB:11,
0x3CFC:12,
0x3CFD:11,
0x3CFE:11,
0x3CFF:11,
0x3D00:11,
0x3D01:11,
0x3D02:11,
0x3D03:11,
0x3D04:11,
0x3D05:12,
0x3D06:11,
0x3D07:12,
0x3D08:11,
0x3D09:11,
0x3D0A:11,
0x3D0B:11,
0x3D0C:11,
0x3D0D:11,
0x3D0E:11,
0x3D0F:12,
0x3D10:12,
0x3D11:12,
0x3D12:12,
0x3D13:12,
0x3D14:12,
0x3D15:12,
0x3D16:12,
0x3D17:12,
0x3D18:12,
0x3D19:12,
0x3D1A:12,
0x3D1B:12,
0x3D1C:12,
0x3D1D:12,
0x3D1E:12,
0x3D1F:12,
0x3D20:12,
0x3D21:12,
0x3D22:12,
0x3D23:12,
0x3D24:12,
0x3D25:13,
0x3D26:13,
0x3D27:13,
0x3D28:13,
0x3D29:13,
0x3D2A:13,
0x3D2B:13,
0x3D2C:13,
0x3D2D:13,
0x3D2E:13,
0x3D2F:13,
0x3D30:13,
0x3D31:13,
0x3D32:13,
0x3D33:13,
0x3D34:13,
0x3D35:13,
0x3D36:13,
0x3D37:13,
0x3D38:13,
0x3D39:13,
0x3D3A:13,
0x3D3B:13,
0x3D3C:14,
0x3D3D:14,
0x3D3E:14,
0x3D3F:14,
0x3D40:14,
0x3D41:14,
0x3D42:14,
0x3D43:14,
0x3D44:14,
0x3D45:14,
0x3D46:14,
0x3D47:14,
0x3D48:14,
0x3D49:14,
0x3D4A:15,
0x3D4B:15,
0x3D4C:15,
0x3D4D:15,
0x3D4E:15,
0x3D4F:15,
0x3D50:15,
0x3D51:15,
0x3D52:15,
0x3D53:15,
0x3D54:15,
0x3D55:15,
0x3D56:15,
0x3D57:15,
0x3D58:16,
0x3D59:15,
0x3D5A:15,
0x3D5B:15,
0x3D5C:15,
0x3D5D:16,
0x3D5E:16,
0x3D5F:16,
0x3D60:16,
0x3D61:16,
0x3D62:16,
0x3D63:16,
0x3D64:16,
0x3D65:16,
0x3D66:16,
0x3D67:16,
0x3D68:17,
0x3D69:16,
0x3D6A:16,
0x3D6B:16,
0x3D6C:16,
0x3D6D:16,
0x3D6E:16,
0x3D6F:17,
0x3D70:17,
0x3D71:17,
0x3D72:17,
0x3D73:17,
0x3D74:17,
0x3D75:17,
0x3D76:17,
0x3D77:17,
0x3D78:17,
0x3D79:17,
0x3D7A:17,
0x3D7B:17,
0x3D7C:17,
0x3D7D:18,
0x3D7E:18,
0x3D7F:18,
0x3D80:18,
0x3D81:18,
0x3D82:18,
0x3D83:18,
0x3D84:19,
0x3D85:19,
0x3D86:19,
0x3D87:19,
0x3D88:19,
0x3D89:19,
0x3D8A:19,
0x3D8B:19,
0x3D8C:20,
0x3D8D:20,
0x3D8E:20,
0x3D8F:20,
0x3D90:20,
0x3D91:20,
0x3D92:21,
0x3D93:21,
0x3D94:21,
0x3D95:21,
0x3D96:21,
0x3D97:22,
0x3D98:21,
0x3D99:22,
0x3D9A:22,
0x3D9B:23,
0x3D9C:23,
0x3D9D:23,
0x3D9E:24,
0x3D9F:24,
0x3DA0:26,
0x3DA1:6,
0x3DA2:6,
0x3DA3:7,
0x3DA4:7,
0x3DA5:7,
0x3DA6:8,
0x3DA7:8,
0x3DA8:8,
0x3DA9:8,
0x3DAA:8,
0x3DAB:9,
0x3DAC:9,
0x3DAD:9,
0x3DAE:9,
0x3DAF:9,
0x3DB0:9,
0x3DB1:9,
0x3DB2:9,
0x3DB3:10,
0x3DB4:10,
0x3DB5:10,
0x3DB6:10,
0x3DB7:10,
0x3DB8:10,
0x3DB9:11,
0x3DBA:11,
0x3DBB:11,
0x3DBC:11,
0x3DBD:11,
0x3DBE:11,
0x3DBF:11,
0x3DC0:11,
0x3DC1:11,
0x3DC2:12,
0x3DC3:12,
0x3DC4:12,
0x3DC5:12,
0x3DC6:12,
0x3DC7:12,
0x3DC8:12,
0x3DC9:12,
0x3DCA:12,
0x3DCB:12,
0x3DCC:12,
0x3DCD:12,
0x3DCE:13,
0x3DCF:13,
0x3DD0:13,
0x3DD1:13,
0x3DD2:13,
0x3DD3:13,
0x3DD4:13,
0x3DD5:13,
0x3DD6:13,
0x3DD7:13,
0x3DD8:13,
0x3DD9:13,
0x3DDA:13,
0x3DDB:13,
0x3DDC:13,
0x3DDD:13,
0x3DDE:13,
0x3DDF:14,
0x3DE0:14,
0x3DE1:14,
0x3DE2:14,
0x3DE3:14,
0x3DE4:14,
0x3DE5:14,
0x3DE6:14,
0x3DE7:14,
0x3DE8:14,
0x3DE9:14,
0x3DEA:14,
0x3DEB:15,
0x3DEC:15,
0x3DED:15,
0x3DEE:15,
0x3DEF:15,
0x3DF0:15,
0x3DF1:15,
0x3DF2:15,
0x3DF3:16,
0x3DF4:16,
0x3DF5:16,
0x3DF6:16,
0x3DF7:16,
0x3DF8:16,
0x3DF9:16,
0x3DFA:16,
0x3DFB:16,
0x3DFC:16,
0x3DFD:16,
0x3DFE:17,
0x3DFF:17,
0x3E00:17,
0x3E01:17,
0x3E02:17,
0x3E03:17,
0x3E04:18,
0x3E05:18,
0x3E06:19,
0x3E07:19,
0x3E08:20,
0x3E09:19,
0x3E0A:20,
0x3E0B:20,
0x3E0C:20,
0x3E0D:21,
0x3E0E:22,
0x3E0F:23,
0x3E10:23,
0x3E11:26,
0x3E12:8,
0x3E13:8,
0x3E14:11,
0x3E15:14,
0x3E16:9,
0x3E17:10,
0x3E18:11,
0x3E19:13,
0x3E1A:8,
0x3E1B:9,
0x3E1C:12,
0x3E1D:8,
0x3E1E:8,
0x3E1F:10,
0x3E20:10,
0x3E21:10,
0x3E22:14,
0x3E23:17,
0x3E24:18,
0x3E25:21,
0x3E26:4,
0x3E27:10,
0x3E28:6,
0x3E29:7,
0x3E2A:7,
0x3E2B:8,
0x3E2C:8,
0x3E2D:8,
0x3E2E:8,
0x3E2F:8,
0x3E30:9,
0x3E31:9,
0x3E32:9,
0x3E33:9,
0x3E34:9,
0x3E35:10,
0x3E36:10,
0x3E37:10,
0x3E38:10,
0x3E39:11,
0x3E3A:11,
0x3E3B:11,
0x3E3C:11,
0x3E3D:11,
0x3E3E:11,
0x3E3F:11,
0x3E40:11,
0x3E41:12,
0x3E42:12,
0x3E43:12,
0x3E44:14,
0x3E45:13,
0x3E46:13,
0x3E47:13,
0x3E48:13,
0x3E49:14,
0x3E4A:14,
0x3E4B:14,
0x3E4C:15,
0x3E4D:15,
0x3E4E:15,
0x3E4F:15,
0x3E50:15,
0x3E51:16,
0x3E52:16,
0x3E53:16,
0x3E54:17,
0x3E55:17,
0x3E56:17,
0x3E57:18,
0x3E58:18,
0x3E59:19,
0x3E5A:21,
0x3E5B:22,
0x3E5C:8,
0x3E5D:7,
0x3E5E:7,
0x3E5F:7,
0x3E60:7,
0x3E61:8,
0x3E62:8,
0x3E63:8,
0x3E64:8,
0x3E65:8,
0x3E66:8,
0x3E67:8,
0x3E68:8,
0x3E69:8,
0x3E6A:8,
0x3E6B:9,
0x3E6C:9,
0x3E6D:9,
0x3E6E:9,
0x3E6F:9,
0x3E70:9,
0x3E71:10,
0x3E72:10,
0x3E73:10,
0x3E74:10,
0x3E75:10,
0x3E76:10,
0x3E77:10,
0x3E78:10,
0x3E79:11,
0x3E7A:11,
0x3E7B:11,
0x3E7C:11,
0x3E7D:11,
0x3E7E:11,
0x3E7F:11,
0x3E80:11,
0x3E81:12,
0x3E82:12,
0x3E83:12,
0x3E84:12,
0x3E85:12,
0x3E86:12,
0x3E87:13,
0x3E88:13,
0x3E89:13,
0x3E8A:13,
0x3E8B:13,
0x3E8C:13,
0x3E8D:13,
0x3E8E:14,
0x3E8F:14,
0x3E90:14,
0x3E91:14,
0x3E92:14,
0x3E93:14,
0x3E94:15,
0x3E95:15,
0x3E96:15,
0x3E97:15,
0x3E98:15,
0x3E99:15,
0x3E9A:16,
0x3E9B:16,
0x3E9C:16,
0x3E9D:17,
0x3E9E:17,
0x3E9F:17,
0x3EA0:18,
0x3EA1:19,
0x3EA2:19,
0x3EA3:20,
0x3EA4:20,
0x3EA5:20,
0x3EA6:20,
0x3EA7:24,
0x3EA8:6,
0x3EA9:6,
0x3EAA:6,
0x3EAB:6,
0x3EAC:7,
0x3EAD:7,
0x3EAE:7,
0x3EAF:7,
0x3EB0:8,
0x3EB1:9,
0x3EB2:8,
0x3EB3:8,
0x3EB4:8,
0x3EB5:8,
0x3EB6:8,
0x3EB7:9,
0x3EB8:10,
0x3EB9:9,
0x3EBA:9,
0x3EBB:9,
0x3EBC:9,
0x3EBD:9,
0x3EBE:9,
0x3EBF:10,
0x3EC0:10,
0x3EC1:10,
0x3EC2:10,
0x3EC3:10,
0x3EC4:10,
0x3EC5:10,
0x3EC6:10,
0x3EC7:10,
0x3EC8:10,
0x3EC9:11,
0x3ECA:11,
0x3ECB:11,
0x3ECC:11,
0x3ECD:11,
0x3ECE:11,
0x3ECF:11,
0x3ED0:11,
0x3ED1:12,
0x3ED2:12,
0x3ED3:12,
0x3ED4:12,
0x3ED5:12,
0x3ED6:12,
0x3ED7:13,
0x3ED8:12,
0x3ED9:12,
0x3EDA:12,
0x3EDB:12,
0x3EDC:12,
0x3EDD:13,
0x3EDE:13,
0x3EDF:13,
0x3EE0:13,
0x3EE1:13,
0x3EE2:13,
0x3EE3:13,
0x3EE4:13,
0x3EE5:13,
0x3EE6:13,
0x3EE7:14,
0x3EE8:14,
0x3EE9:14,
0x3EEA:14,
0x3EEB:15,
0x3EEC:15,
0x3EED:15,
0x3EEE:15,
0x3EEF:15,
0x3EF0:15,
0x3EF1:15,
0x3EF2:15,
0x3EF3:15,
0x3EF4:15,
0x3EF5:16,
0x3EF6:16,
0x3EF7:16,
0x3EF8:16,
0x3EF9:17,
0x3EFA:17,
0x3EFB:16,
0x3EFC:16,
0x3EFD:17,
0x3EFE:18,
0x3EFF:17,
0x3F00:17,
0x3F01:17,
0x3F02:18,
0x3F03:19,
0x3F04:19,
0x3F05:19,
0x3F06:19,
0x3F07:20,
0x3F08:23,
0x3F09:9,
0x3F0A:9,
0x3F0B:10,
0x3F0C:10,
0x3F0D:11,
0x3F0E:11,
0x3F0F:12,
0x3F10:14,
0x3F11:14,
0x3F12:14,
0x3F13:15,
0x3F14:15,
0x3F15:18,
0x3F16:26,
0x3F17:7,
0x3F18:8,
0x3F19:8,
0x3F1A:9,
0x3F1B:9,
0x3F1C:10,
0x3F1D:10,
0x3F1E:10,
0x3F1F:10,
0x3F20:10,
0x3F21:11,
0x3F22:11,
0x3F23:11,
0x3F24:11,
0x3F25:11,
0x3F26:11,
0x3F27:12,
0x3F28:12,
0x3F29:12,
0x3F2A:12,
0x3F2B:13,
0x3F2C:13,
0x3F2D:13,
0x3F2E:13,
0x3F2F:13,
0x3F30:13,
0x3F31:13,
0x3F32:14,
0x3F33:14,
0x3F34:14,
0x3F35:14,
0x3F36:14,
0x3F37:14,
0x3F38:15,
0x3F39:15,
0x3F3A:15,
0x3F3B:16,
0x3F3C:16,
0x3F3D:16,
0x3F3E:16,
0x3F3F:17,
0x3F40:17,
0x3F41:17,
0x3F42:17,
0x3F43:17,
0x3F44:17,
0x3F45:17,
0x3F46:18,
0x3F47:18,
0x3F48:19,
0x3F49:19,
0x3F4A:22,
0x3F4B:24,
0x3F4C:25,
0x3F4D:10,
0x3F4E:13,
0x3F4F:14,
0x3F50:15,
0x3F51:17,
0x3F52:12,
0x3F53:15,
0x3F54:16,
0x3F55:7,
0x3F56:7,
0x3F57:7,
0x3F58:9,
0x3F59:9,
0x3F5A:9,
0x3F5B:10,
0x3F5C:10,
0x3F5D:11,
0x3F5E:11,
0x3F5F:12,
0x3F60:12,
0x3F61:13,
0x3F62:13,
0x3F63:13,
0x3F64:13,
0x3F65:14,
0x3F66:15,
0x3F67:15,
0x3F68:15,
0x3F69:16,
0x3F6A:17,
0x3F6B:18,
0x3F6C:18,
0x3F6D:19,
0x3F6E:20,
0x3F6F:23,
0x3F70:13,
0x3F71:7,
0x3F72:7,
0x3F73:8,
0x3F74:8,
0x3F75:8,
0x3F76:8,
0x3F77:9,
0x3F78:9,
0x3F79:9,
0x3F7A:9,
0x3F7B:9,
0x3F7C:9,
0x3F7D:10,
0x3F7E:10,
0x3F7F:10,
0x3F80:10,
0x3F81:10,
0x3F82:10,
0x3F83:10,
0x3F84:10,
0x3F85:10,
0x3F86:10,
0x3F87:10,
0x3F88:10,
0x3F89:10,
0x3F8A:11,
0x3F8B:11,
0x3F8C:11,
0x3F8D:11,
0x3F8E:11,
0x3F8F:11,
0x3F90:11,
0x3F91:11,
0x3F92:11,
0x3F93:12,
0x3F94:12,
0x3F95:12,
0x3F96:12,
0x3F97:12,
0x3F98:12,
0x3F99:12,
0x3F9A:12,
0x3F9B:12,
0x3F9C:12,
0x3F9D:12,
0x3F9E:12,
0x3F9F:12,
0x3FA0:12,
0x3FA1:12,
0x3FA2:13,
0x3FA3:13,
0x3FA4:13,
0x3FA5:13,
0x3FA6:13,
0x3FA7:13,
0x3FA8:13,
0x3FA9:13,
0x3FAA:14,
0x3FAB:14,
0x3FAC:14,
0x3FAD:14,
0x3FAE:14,
0x3FAF:14,
0x3FB0:14,
0x3FB1:14,
0x3FB2:14,
0x3FB3:14,
0x3FB4:14,
0x3FB5:14,
0x3FB6:15,
0x3FB7:15,
0x3FB8:15,
0x3FB9:15,
0x3FBA:15,
0x3FBB:15,
0x3FBC:15,
0x3FBD:15,
0x3FBE:15,
0x3FBF:15,
0x3FC0:15,
0x3FC1:15,
0x3FC2:16,
0x3FC3:16,
0x3FC4:16,
0x3FC5:16,
0x3FC6:16,
0x3FC7:16,
0x3FC8:16,
0x3FC9:17,
0x3FCA:17,
0x3FCB:18,
0x3FCC:18,
0x3FCD:18,
0x3FCE:18,
0x3FCF:18,
0x3FD0:18,
0x3FD1:19,
0x3FD2:19,
0x3FD3:19,
0x3FD4:20,
0x3FD5:21,
0x3FD6:21,
0x3FD7:21,
0x3FD8:22,
0x3FD9:23,
0x3FDA:24,
0x3FDB:24,
0x3FDC:28,
0x3FDD:7,
0x3FDE:9,
0x3FDF:10,
0x3FE0:11,
0x3FE1:11,
0x3FE2:13,
0x3FE3:14,
0x3FE4:14,
0x3FE5:15,
0x3FE6:16,
0x3FE7:19,
0x3FE8:21,
0x3FE9:25,
0x3FEA:8,
0x3FEB:9,
0x3FEC:9,
0x3FED:10,
0x3FEE:10,
0x3FEF:11,
0x3FF0:11,
0x3FF1:12,
0x3FF2:13,
0x3FF3:13,
0x3FF4:14,
0x3FF5:14,
0x3FF6:15,
0x3FF7:15,
0x3FF8:16,
0x3FF9:18,
0x3FFA:20,
0x3FFB:8,
0x3FFC:9,
0x3FFD:9,
0x3FFE:10,
0x3FFF:10,
0x4000:10,
0x4001:11,
0x4002:11,
0x4003:12,
0x4004:13,
0x4005:13,
0x4006:14,
0x4007:16,
0x4008:16,
0x4009:17,
0x400A:19,
0x400B:21,
0x400C:22,
0x400D:29,
0x400E:7,
0x400F:7,
0x4010:8,
0x4011:8,
0x4012:8,
0x4013:8,
0x4014:8,
0x4015:9,
0x4016:9,
0x4017:9,
0x4018:9,
0x4019:9,
0x401A:9,
0x401B:9,
0x401C:9,
0x401D:9,
0x401E:9,
0x401F:10,
0x4020:10,
0x4021:10,
0x4022:10,
0x4023:10,
0x4024:10,
0x4025:10,
0x4026:10,
0x4027:11,
0x4028:11,
0x4029:11,
0x402A:11,
0x402B:11,
0x402C:11,
0x402D:11,
0x402E:11,
0x402F:12,
0x4030:12,
0x4031:12,
0x4032:12,
0x4033:12,
0x4034:12,
0x4035:12,
0x4036:12,
0x4037:12,
0x4038:12,
0x4039:12,
0x403A:12,
0x403B:12,
0x403C:12,
0x403D:12,
0x403E:12,
0x403F:12,
0x4040:12,
0x4041:13,
0x4042:13,
0x4043:13,
0x4044:13,
0x4045:13,
0x4046:13,
0x4047:13,
0x4048:13,
0x4049:13,
0x404A:14,
0x404B:14,
0x404C:14,
0x404D:14,
0x404E:14,
0x404F:14,
0x4050:14,
0x4051:14,
0x4052:14,
0x4053:14,
0x4054:14,
0x4055:14,
0x4056:14,
0x4057:15,
0x4058:15,
0x4059:15,
0x405A:15,
0x405B:15,
0x405C:15,
0x405D:15,
0x405E:15,
0x405F:15,
0x4060:15,
0x4061:15,
0x4062:16,
0x4063:16,
0x4064:16,
0x4065:16,
0x4066:16,
0x4067:16,
0x4068:16,
0x4069:16,
0x406A:16,
0x406B:17,
0x406C:17,
0x406D:17,
0x406E:17,
0x406F:17,
0x4070:17,
0x4071:17,
0x4072:17,
0x4073:17,
0x4074:18,
0x4075:18,
0x4076:18,
0x4077:18,
0x4078:18,
0x4079:18,
0x407A:18,
0x407B:20,
0x407C:20,
0x407D:20,
0x407E:20,
0x407F:21,
0x4080:21,
0x4081:22,
0x4082:23,
0x4083:23,
0x4084:25,
0x4085:30,
0x4086:8,
0x4087:9,
0x4088:11,
0x4089:14,
0x408A:17,
0x408B:17,
0x408C:17,
0x408D:20,
0x408E:24,
0x408F:10,
0x4090:10,
0x4091:10,
0x4092:11,
0x4093:12,
0x4094:13,
0x4095:14,
0x4096:6,
0x4097:7,
0x4098:8,
0x4099:8,
0x409A:9,
0x409B:9,
0x409C:9,
0x409D:9,
0x409E:9,
0x409F:10,
0x40A0:10,
0x40A1:10,
0x40A2:10,
0x40A3:10,
0x40A4:10,
0x40A5:10,
0x40A6:10,
0x40A7:10,
0x40A8:10,
0x40A9:11,
0x40AA:11,
0x40AB:11,
0x40AC:11,
0x40AD:11,
0x40AE:11,
0x40AF:11,
0x40B0:12,
0x40B1:12,
0x40B2:12,
0x40B3:12,
0x40B4:12,
0x40B5:12,
0x40B6:12,
0x40B7:13,
0x40B8:13,
0x40B9:13,
0x40BA:13,
0x40BB:13,
0x40BC:13,
0x40BD:13,
0x40BE:13,
0x40BF:13,
0x40C0:13,
0x40C1:13,
0x40C2:13,
0x40C3:13,
0x40C4:13,
0x40C5:13,
0x40C6:13,
0x40C7:13,
0x40C8:14,
0x40C9:14,
0x40CA:14,
0x40CB:14,
0x40CC:14,
0x40CD:14,
0x40CE:14,
0x40CF:14,
0x40D0:14,
0x40D1:15,
0x40D2:15,
0x40D3:15,
0x40D4:15,
0x40D5:15,
0x40D6:15,
0x40D7:15,
0x40D8:16,
0x40D9:16,
0x40DA:16,
0x40DB:16,
0x40DC:16,
0x40DD:16,
0x40DE:16,
0x40DF:17,
0x40E0:16,
0x40E1:17,
0x40E2:17,
0x40E3:17,
0x40E4:17,
0x40E5:17,
0x40E6:17,
0x40E7:17,
0x40E8:17,
0x40E9:18,
0x40EA:18,
0x40EB:18,
0x40EC:18,
0x40ED:18,
0x40EE:18,
0x40EF:18,
0x40F0:19,
0x40F1:20,
0x40F2:20,
0x40F3:20,
0x40F4:21,
0x40F5:21,
0x40F6:21,
0x40F7:21,
0x40F8:22,
0x40F9:22,
0x40FA:24,
0x40FB:26,
0x40FC:7,
0x40FD:9,
0x40FE:9,
0x40FF:9,
0x4100:9,
0x4101:10,
0x4102:10,
0x4103:10,
0x4104:11,
0x4105:11,
0x4106:11,
0x4107:12,
0x4108:12,
0x4109:12,
0x410A:12,
0x410B:13,
0x410C:13,
0x410D:13,
0x410E:13,
0x410F:13,
0x4110:13,
0x4111:13,
0x4112:13,
0x4113:14,
0x4114:14,
0x4115:14,
0x4116:14,
0x4117:14,
0x4118:15,
0x4119:15,
0x411A:16,
0x411B:16,
0x411C:16,
0x411D:16,
0x411E:16,
0x411F:17,
0x4120:18,
0x4121:18,
0x4122:19,
0x4123:20,
0x4124:21,
0x4125:29,
0x4126:7,
0x4127:7,
0x4128:8,
0x4129:8,
0x412A:8,
0x412B:8,
0x412C:8,
0x412D:8,
0x412E:9,
0x412F:9,
0x4130:9,
0x4131:9,
0x4132:9,
0x4133:9,
0x4134:9,
0x4135:9,
0x4136:10,
0x4137:10,
0x4138:10,
0x4139:10,
0x413A:11,
0x413B:11,
0x413C:11,
0x413D:11,
0x413E:11,
0x413F:11,
0x4140:11,
0x4141:11,
0x4142:11,
0x4143:11,
0x4144:11,
0x4145:11,
0x4146:11,
0x4147:11,
0x4148:11,
0x4149:11,
0x414A:11,
0x414B:12,
0x414C:12,
0x414D:12,
0x414E:12,
0x414F:12,
0x4150:12,
0x4151:12,
0x4152:12,
0x4153:12,
0x4154:13,
0x4155:13,
0x4156:13,
0x4157:13,
0x4158:13,
0x4159:13,
0x415A:13,
0x415B:13,
0x415C:13,
0x415D:13,
0x415E:13,
0x415F:13,
0x4160:14,
0x4161:14,
0x4162:14,
0x4163:14,
0x4164:14,
0x4165:14,
0x4166:14,
0x4167:14,
0x4168:14,
0x4169:14,
0x416A:14,
0x416B:14,
0x416C:15,
0x416D:15,
0x416E:15,
0x416F:15,
0x4170:15,
0x4171:15,
0x4172:15,
0x4173:15,
0x4174:15,
0x4175:15,
0x4176:15,
0x4177:16,
0x4178:16,
0x4179:16,
0x417A:16,
0x417B:16,
0x417C:16,
0x417D:16,
0x417E:17,
0x417F:17,
0x4180:17,
0x4181:18,
0x4182:18,
0x4183:18,
0x4184:18,
0x4185:18,
0x4186:18,
0x4187:18,
0x4188:20,
0x4189:20,
0x418A:21,
0x418B:21,
0x418C:21,
0x418D:21,
0x418E:22,
0x418F:22,
0x4190:30,
0x4191:7,
0x4192:8,
0x4193:9,
0x4194:9,
0x4195:9,
0x4196:9,
0x4197:10,
0x4198:10,
0x4199:10,
0x419A:11,
0x419B:11,
0x419C:11,
0x419D:11,
0x419E:11,
0x419F:11,
0x41A0:11,
0x41A1:12,
0x41A2:12,
0x41A3:12,
0x41A4:12,
0x41A5:12,
0x41A6:13,
0x41A7:13,
0x41A8:13,
0x41A9:13,
0x41AA:14,
0x41AB:14,
0x41AC:15,
0x41AD:15,
0x41AE:15,
0x41AF:16,
0x41B0:16,
0x41B1:16,
0x41B2:16,
0x41B3:16,
0x41B4:16,
0x41B5:17,
0x41B6:17,
0x41B7:17,
0x41B8:17,
0x41B9:17,
0x41BA:17,
0x41BB:17,
0x41BC:18,
0x41BD:18,
0x41BE:19,
0x41BF:19,
0x41C0:20,
0x41C1:22,
0x41C2:6,
0x41C3:8,
0x41C4:8,
0x41C5:9,
0x41C6:9,
0x41C7:10,
0x41C8:10,
0x41C9:10,
0x41CA:10,
0x41CB:11,
0x41CC:12,
0x41CD:12,
0x41CE:13,
0x41CF:13,
0x41D0:13,
0x41D1:13,
0x41D2:16,
0x41D3:17,
0x41D4:18,
0x41D5:19,
0x41D6:9,
0x41D7:10,
0x41D8:10,
0x41D9:10,
0x41DA:10,
0x41DB:10,
0x41DC:10,
0x41DD:10,
0x41DE:11,
0x41DF:11,
0x41E0:11,
0x41E1:11,
0x41E2:11,
0x41E3:11,
0x41E4:11,
0x41E5:11,
0x41E6:11,
0x41E7:12,
0x41E8:12,
0x41E9:12,
0x41EA:12,
0x41EB:12,
0x41EC:12,
0x41ED:12,
0x41EE:12,
0x41EF:12,
0x41F0:12,
0x41F1:12,
0x41F2:12,
0x41F3:12,
0x41F4:12,
0x41F5:13,
0x41F6:13,
0x41F7:13,
0x41F8:13,
0x41F9:13,
0x41FA:13,
0x41FB:13,
0x41FC:13,
0x41FD:13,
0x41FE:13,
0x41FF:13,
0x4200:13,
0x4201:14,
0x4202:14,
0x4203:14,
0x4204:14,
0x4205:14,
0x4206:14,
0x4207:14,
0x4208:14,
0x4209:14,
0x420A:14,
0x420B:14,
0x420C:14,
0x420D:14,
0x420E:15,
0x420F:15,
0x4210:15,
0x4211:15,
0x4212:15,
0x4213:15,
0x4214:15,
0x4215:15,
0x4216:15,
0x4217:15,
0x4218:15,
0x4219:15,
0x421A:15,
0x421B:15,
0x421C:15,
0x421D:15,
0x421E:15,
0x421F:15,
0x4220:15,
0x4221:15,
0x4222:15,
0x4223:15,
0x4224:15,
0x4225:15,
0x4226:15,
0x4227:15,
0x4228:15,
0x4229:15,
0x422A:16,
0x422B:16,
0x422C:16,
0x422D:16,
0x422E:16,
0x422F:16,
0x4230:16,
0x4231:16,
0x4232:16,
0x4233:16,
0x4234:16,
0x4235:16,
0x4236:16,
0x4237:16,
0x4238:17,
0x4239:17,
0x423A:17,
0x423B:17,
0x423C:17,
0x423D:17,
0x423E:17,
0x423F:17,
0x4240:17,
0x4241:17,
0x4242:17,
0x4243:17,
0x4244:17,
0x4245:17,
0x4246:17,
0x4247:17,
0x4248:18,
0x4249:18,
0x424A:18,
0x424B:18,
0x424C:18,
0x424D:18,
0x424E:18,
0x424F:19,
0x4250:18,
0x4251:18,
0x4252:18,
0x4253:18,
0x4254:18,
0x4255:18,
0x4256:18,
0x4257:18,
0x4258:18,
0x4259:18,
0x425A:18,
0x425B:19,
0x425C:19,
0x425D:19,
0x425E:19,
0x425F:19,
0x4260:19,
0x4261:19,
0x4262:19,
0x4263:18,
0x4264:19,
0x4265:20,
0x4266:21,
0x4267:21,
0x4268:21,
0x4269:21,
0x426A:21,
0x426B:21,
0x426C:21,
0x426D:21,
0x426E:22,
0x426F:22,
0x4270:22,
0x4271:22,
0x4272:23,
0x4273:23,
0x4274:23,
0x4275:23,
0x4276:24,
0x4277:26,
0x4278:27,
0x4279:30,
0x427A:9,
0x427B:10,
0x427C:10,
0x427D:11,
0x427E:11,
0x427F:11,
0x4280:11,
0x4281:12,
0x4282:12,
0x4283:12,
0x4284:12,
0x4285:12,
0x4286:12,
0x4287:13,
0x4288:13,
0x4289:13,
0x428A:13,
0x428B:13,
0x428C:13,
0x428D:14,
0x428E:14,
0x428F:14,
0x4290:14,
0x4291:14,
0x4292:14,
0x4293:15,
0x4294:15,
0x4295:15,
0x4296:15,
0x4297:15,
0x4298:15,
0x4299:15,
0x429A:16,
0x429B:16,
0x429C:17,
0x429D:17,
0x429E:17,
0x429F:17,
0x42A0:17,
0x42A1:17,
0x42A2:17,
0x42A3:18,
0x42A4:18,
0x42A5:18,
0x42A6:18,
0x42A7:18,
0x42A8:18,
0x42A9:18,
0x42AA:19,
0x42AB:19,
0x42AC:19,
0x42AD:20,
0x42AE:20,
0x42AF:21,
0x42B0:22,
0x42B1:23,
0x42B2:23,
0x42B3:25,
0x42B4:25,
0x42B5:8,
0x42B6:9,
0x42B7:9,
0x42B8:9,
0x42B9:9,
0x42BA:10,
0x42BB:10,
0x42BC:10,
0x42BD:10,
0x42BE:10,
0x42BF:10,
0x42C0:10,
0x42C1:10,
0x42C2:10,
0x42C3:10,
0x42C4:10,
0x42C5:10,
0x42C6:10,
0x42C7:10,
0x42C8:11,
0x42C9:11,
0x42CA:11,
0x42CB:11,
0x42CC:11,
0x42CD:11,
0x42CE:11,
0x42CF:11,
0x42D0:11,
0x42D1:11,
0x42D2:11,
0x42D3:11,
0x42D4:11,
0x42D5:12,
0x42D6:12,
0x42D7:12,
0x42D8:12,
0x42D9:12,
0x42DA:12,
0x42DB:12,
0x42DC:12,
0x42DD:12,
0x42DE:12,
0x42DF:13,
0x42E0:13,
0x42E1:13,
0x42E2:13,
0x42E3:13,
0x42E4:13,
0x42E5:13,
0x42E6:13,
0x42E7:14,
0x42E8:14,
0x42E9:14,
0x42EA:14,
0x42EB:14,
0x42EC:14,
0x42ED:14,
0x42EE:14,
0x42EF:14,
0x42F0:14,
0x42F1:14,
0x42F2:14,
0x42F3:15,
0x42F4:15,
0x42F5:15,
0x42F6:15,
0x42F7:15,
0x42F8:15,
0x42F9:15,
0x42FA:15,
0x42FB:15,
0x42FC:15,
0x42FD:15,
0x42FE:15,
0x42FF:15,
0x4300:15,
0x4301:15,
0x4302:15,
0x4303:15,
0x4304:15,
0x4305:16,
0x4306:16,
0x4307:16,
0x4308:16,
0x4309:16,
0x430A:16,
0x430B:16,
0x430C:17,
0x430D:17,
0x430E:17,
0x430F:17,
0x4310:17,
0x4311:17,
0x4312:17,
0x4313:17,
0x4314:17,
0x4315:17,
0x4316:18,
0x4317:18,
0x4318:18,
0x4319:18,
0x431A:18,
0x431B:18,
0x431C:19,
0x431D:19,
0x431E:19,
0x431F:19,
0x4320:19,
0x4321:19,
0x4322:19,
0x4323:20,
0x4324:20,
0x4325:20,
0x4326:20,
0x4327:20,
0x4328:21,
0x4329:21,
0x432A:22,
0x432B:22,
0x432C:22,
0x432D:22,
0x432E:23,
0x432F:24,
0x4330:24,
0x4331:24,
0x4332:24,
0x4333:25,
0x4334:25,
0x4335:27,
0x4336:9,
0x4337:11,
0x4338:10,
0x4339:11,
0x433A:12,
0x433B:12,
0x433C:13,
0x433D:14,
0x433E:15,
0x433F:15,
0x4340:16,
0x4341:19,
0x4342:9,
0x4343:10,
0x4344:11,
0x4345:11,
0x4346:11,
0x4347:11,
0x4348:11,
0x4349:11,
0x434A:12,
0x434B:14,
0x434C:14,
0x434D:16,
0x434E:23,
0x434F:5,
0x4350:8,
0x4351:9,
0x4352:9,
0x4353:9,
0x4354:9,
0x4355:10,
0x4356:10,
0x4357:10,
0x4358:11,
0x4359:12,
0x435A:12,
0x435B:13,
0x435C:13,
0x435D:13,
0x435E:14,
0x435F:14,
0x4360:16,
0x4361:16,
0x4362:17,
0x4363:18,
0x4364:19,
0x4365:21,
0x4366:24,
0x4367:10,
0x4368:10,
0x4369:10,
0x436A:11,
0x436B:11,
0x436C:11,
0x436D:11,
0x436E:12,
0x436F:12,
0x4370:12,
0x4371:13,
0x4372:14,
0x4373:14,
0x4374:14,
0x4375:14,
0x4376:14,
0x4377:15,
0x4378:16,
0x4379:16,
0x437A:17,
0x437B:18,
0x437C:18,
0x437D:22,
0x437E:10,
0x437F:10,
0x4380:11,
0x4381:11,
0x4382:11,
0x4383:11,
0x4384:11,
0x4385:11,
0x4386:11,
0x4387:12,
0x4388:12,
0x4389:12,
0x438A:12,