IMDataProto.js 245 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656
  1. (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){
  2. // source: IMDataProto.proto
  3. /**
  4. * @fileoverview
  5. * @enhanceable
  6. * @suppress {messageConventions} JS Compiler reports an error if a variable or
  7. * field starts with 'MSG_' and isn't a translatable message.
  8. * @public
  9. */
  10. // GENERATED CODE -- DO NOT EDIT!
  11. var jspb = require('./google-protobuf');
  12. var goog = jspb;
  13. var global = Function('return this')();
  14. goog.exportSymbol('proto.IMData', null, global);
  15. goog.exportSymbol('proto.IMData.InitData', null, global);
  16. goog.exportSymbol('proto.IMData.MsgData', null, global);
  17. goog.exportSymbol('proto.IMData.MsgData.FromUser', null, global);
  18. /**
  19. * Generated by JsPbCodeGenerator.
  20. * @param {Array=} opt_data Optional initial data array, typically from a
  21. * server response, or constructed directly in Javascript. The array is used
  22. * in place and becomes part of the constructed object. It is not cloned.
  23. * If no data is provided, the constructed object will be empty, but still
  24. * valid.
  25. * @extends {jspb.Message}
  26. * @constructor
  27. */
  28. proto.IMData = function(opt_data) {
  29. jspb.Message.initialize(this, opt_data, 0, -1, null, null);
  30. };
  31. goog.inherits(proto.IMData, jspb.Message);
  32. if (goog.DEBUG && !COMPILED) {
  33. /**
  34. * @public
  35. * @override
  36. */
  37. proto.IMData.displayName = 'proto.IMData';
  38. }
  39. /**
  40. * Generated by JsPbCodeGenerator.
  41. * @param {Array=} opt_data Optional initial data array, typically from a
  42. * server response, or constructed directly in Javascript. The array is used
  43. * in place and becomes part of the constructed object. It is not cloned.
  44. * If no data is provided, the constructed object will be empty, but still
  45. * valid.
  46. * @extends {jspb.Message}
  47. * @constructor
  48. */
  49. proto.IMData.InitData = function(opt_data) {
  50. jspb.Message.initialize(this, opt_data, 0, -1, null, null);
  51. };
  52. goog.inherits(proto.IMData.InitData, jspb.Message);
  53. if (goog.DEBUG && !COMPILED) {
  54. /**
  55. * @public
  56. * @override
  57. */
  58. proto.IMData.InitData.displayName = 'proto.IMData.InitData';
  59. }
  60. /**
  61. * Generated by JsPbCodeGenerator.
  62. * @param {Array=} opt_data Optional initial data array, typically from a
  63. * server response, or constructed directly in Javascript. The array is used
  64. * in place and becomes part of the constructed object. It is not cloned.
  65. * If no data is provided, the constructed object will be empty, but still
  66. * valid.
  67. * @extends {jspb.Message}
  68. * @constructor
  69. */
  70. proto.IMData.MsgData = function(opt_data) {
  71. jspb.Message.initialize(this, opt_data, 0, -1, null, null);
  72. };
  73. goog.inherits(proto.IMData.MsgData, jspb.Message);
  74. if (goog.DEBUG && !COMPILED) {
  75. /**
  76. * @public
  77. * @override
  78. */
  79. proto.IMData.MsgData.displayName = 'proto.IMData.MsgData';
  80. }
  81. /**
  82. * Generated by JsPbCodeGenerator.
  83. * @param {Array=} opt_data Optional initial data array, typically from a
  84. * server response, or constructed directly in Javascript. The array is used
  85. * in place and becomes part of the constructed object. It is not cloned.
  86. * If no data is provided, the constructed object will be empty, but still
  87. * valid.
  88. * @extends {jspb.Message}
  89. * @constructor
  90. */
  91. proto.IMData.MsgData.FromUser = function(opt_data) {
  92. jspb.Message.initialize(this, opt_data, 0, -1, null, null);
  93. };
  94. goog.inherits(proto.IMData.MsgData.FromUser, jspb.Message);
  95. if (goog.DEBUG && !COMPILED) {
  96. /**
  97. * @public
  98. * @override
  99. */
  100. proto.IMData.MsgData.FromUser.displayName = 'proto.IMData.MsgData.FromUser';
  101. }
  102. if (jspb.Message.GENERATE_TO_OBJECT) {
  103. /**
  104. * Creates an object representation of this proto.
  105. * Field names that are reserved in JavaScript and will be renamed to pb_name.
  106. * Optional fields that are not set will be set to undefined.
  107. * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
  108. * For the list of reserved names please see:
  109. * net/proto2/compiler/js/internal/generator.cc#kKeyword.
  110. * @param {boolean=} opt_includeInstance Deprecated. whether to include the
  111. * JSPB instance for transitional soy proto support:
  112. * http://goto/soy-param-migration
  113. * @return {!Object}
  114. */
  115. proto.IMData.prototype.toObject = function(opt_includeInstance) {
  116. return proto.IMData.toObject(opt_includeInstance, this);
  117. };
  118. /**
  119. * Static version of the {@see toObject} method.
  120. * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  121. * the JSPB instance for transitional soy proto support:
  122. * http://goto/soy-param-migration
  123. * @param {!proto.IMData} msg The msg instance to transform.
  124. * @return {!Object}
  125. * @suppress {unusedLocalVariables} f is only used for nested messages
  126. */
  127. proto.IMData.toObject = function(includeInstance, msg) {
  128. var f, obj = {
  129. id: jspb.Message.getFieldWithDefault(msg, 1, ""),
  130. type: jspb.Message.getFieldWithDefault(msg, 2, 0),
  131. initdata: (f = msg.getInitdata()) && proto.IMData.InitData.toObject(includeInstance, f),
  132. msgdata: (f = msg.getMsgdata()) && proto.IMData.MsgData.toObject(includeInstance, f),
  133. timestamp: jspb.Message.getFieldWithDefault(msg, 5, 0),
  134. expandMap: (f = msg.getExpandMap()) ? f.toObject(includeInstance, undefined) : []
  135. };
  136. if (includeInstance) {
  137. obj.$jspbMessageInstance = msg;
  138. }
  139. return obj;
  140. };
  141. }
  142. /**
  143. * Deserializes binary data (in protobuf wire format).
  144. * @param {jspb.ByteSource} bytes The bytes to deserialize.
  145. * @return {!proto.IMData}
  146. */
  147. proto.IMData.deserializeBinary = function(bytes) {
  148. var reader = new jspb.BinaryReader(bytes);
  149. var msg = new proto.IMData;
  150. return proto.IMData.deserializeBinaryFromReader(msg, reader);
  151. };
  152. /**
  153. * Deserializes binary data (in protobuf wire format) from the
  154. * given reader into the given message object.
  155. * @param {!proto.IMData} msg The message object to deserialize into.
  156. * @param {!jspb.BinaryReader} reader The BinaryReader to use.
  157. * @return {!proto.IMData}
  158. */
  159. proto.IMData.deserializeBinaryFromReader = function(msg, reader) {
  160. while (reader.nextField()) {
  161. if (reader.isEndGroup()) {
  162. break;
  163. }
  164. var field = reader.getFieldNumber();
  165. switch (field) {
  166. case 1:
  167. var value = /** @type {string} */ (reader.readString());
  168. msg.setId(value);
  169. break;
  170. case 2:
  171. var value = /** @type {number} */ (reader.readInt32());
  172. msg.setType(value);
  173. break;
  174. case 3:
  175. var value = new proto.IMData.InitData;
  176. reader.readMessage(value,proto.IMData.InitData.deserializeBinaryFromReader);
  177. msg.setInitdata(value);
  178. break;
  179. case 4:
  180. var value = new proto.IMData.MsgData;
  181. reader.readMessage(value,proto.IMData.MsgData.deserializeBinaryFromReader);
  182. msg.setMsgdata(value);
  183. break;
  184. case 5:
  185. var value = /** @type {number} */ (reader.readInt64());
  186. msg.setTimestamp(value);
  187. break;
  188. case 6:
  189. var value = msg.getExpandMap();
  190. reader.readMessage(value, function(message, reader) {
  191. jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, "");
  192. });
  193. break;
  194. default:
  195. reader.skipField();
  196. break;
  197. }
  198. }
  199. return msg;
  200. };
  201. /**
  202. * Serializes the message to binary data (in protobuf wire format).
  203. * @return {!Uint8Array}
  204. */
  205. proto.IMData.prototype.serializeBinary = function() {
  206. var writer = new jspb.BinaryWriter();
  207. proto.IMData.serializeBinaryToWriter(this, writer);
  208. return writer.getResultBuffer();
  209. };
  210. /**
  211. * Serializes the given message to binary data (in protobuf wire
  212. * format), writing to the given BinaryWriter.
  213. * @param {!proto.IMData} message
  214. * @param {!jspb.BinaryWriter} writer
  215. * @suppress {unusedLocalVariables} f is only used for nested messages
  216. */
  217. proto.IMData.serializeBinaryToWriter = function(message, writer) {
  218. var f = undefined;
  219. f = message.getId();
  220. if (f.length > 0) {
  221. writer.writeString(
  222. 1,
  223. f
  224. );
  225. }
  226. f = message.getType();
  227. if (f !== 0) {
  228. writer.writeInt32(
  229. 2,
  230. f
  231. );
  232. }
  233. f = message.getInitdata();
  234. if (f != null) {
  235. writer.writeMessage(
  236. 3,
  237. f,
  238. proto.IMData.InitData.serializeBinaryToWriter
  239. );
  240. }
  241. f = message.getMsgdata();
  242. if (f != null) {
  243. writer.writeMessage(
  244. 4,
  245. f,
  246. proto.IMData.MsgData.serializeBinaryToWriter
  247. );
  248. }
  249. f = message.getTimestamp();
  250. if (f !== 0) {
  251. writer.writeInt64(
  252. 5,
  253. f
  254. );
  255. }
  256. f = message.getExpandMap(true);
  257. if (f && f.getLength() > 0) {
  258. f.serializeBinary(6, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString);
  259. }
  260. };
  261. if (jspb.Message.GENERATE_TO_OBJECT) {
  262. /**
  263. * Creates an object representation of this proto.
  264. * Field names that are reserved in JavaScript and will be renamed to pb_name.
  265. * Optional fields that are not set will be set to undefined.
  266. * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
  267. * For the list of reserved names please see:
  268. * net/proto2/compiler/js/internal/generator.cc#kKeyword.
  269. * @param {boolean=} opt_includeInstance Deprecated. whether to include the
  270. * JSPB instance for transitional soy proto support:
  271. * http://goto/soy-param-migration
  272. * @return {!Object}
  273. */
  274. proto.IMData.InitData.prototype.toObject = function(opt_includeInstance) {
  275. return proto.IMData.InitData.toObject(opt_includeInstance, this);
  276. };
  277. /**
  278. * Static version of the {@see toObject} method.
  279. * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  280. * the JSPB instance for transitional soy proto support:
  281. * http://goto/soy-param-migration
  282. * @param {!proto.IMData.InitData} msg The msg instance to transform.
  283. * @return {!Object}
  284. * @suppress {unusedLocalVariables} f is only used for nested messages
  285. */
  286. proto.IMData.InitData.toObject = function(includeInstance, msg) {
  287. var f, obj = {
  288. heartbeatms: jspb.Message.getFieldWithDefault(msg, 1, 0),
  289. timeoutms: jspb.Message.getFieldWithDefault(msg, 2, 0),
  290. reconnectmaxnum: jspb.Message.getFieldWithDefault(msg, 3, 0),
  291. reconnectms: jspb.Message.getFieldWithDefault(msg, 4, 0),
  292. allowaccess: jspb.Message.getFieldWithDefault(msg, 5, false),
  293. expandMap: (f = msg.getExpandMap()) ? f.toObject(includeInstance, undefined) : []
  294. };
  295. if (includeInstance) {
  296. obj.$jspbMessageInstance = msg;
  297. }
  298. return obj;
  299. };
  300. }
  301. /**
  302. * Deserializes binary data (in protobuf wire format).
  303. * @param {jspb.ByteSource} bytes The bytes to deserialize.
  304. * @return {!proto.IMData.InitData}
  305. */
  306. proto.IMData.InitData.deserializeBinary = function(bytes) {
  307. var reader = new jspb.BinaryReader(bytes);
  308. var msg = new proto.IMData.InitData;
  309. return proto.IMData.InitData.deserializeBinaryFromReader(msg, reader);
  310. };
  311. /**
  312. * Deserializes binary data (in protobuf wire format) from the
  313. * given reader into the given message object.
  314. * @param {!proto.IMData.InitData} msg The message object to deserialize into.
  315. * @param {!jspb.BinaryReader} reader The BinaryReader to use.
  316. * @return {!proto.IMData.InitData}
  317. */
  318. proto.IMData.InitData.deserializeBinaryFromReader = function(msg, reader) {
  319. while (reader.nextField()) {
  320. if (reader.isEndGroup()) {
  321. break;
  322. }
  323. var field = reader.getFieldNumber();
  324. switch (field) {
  325. case 1:
  326. var value = /** @type {number} */ (reader.readInt32());
  327. msg.setHeartbeatms(value);
  328. break;
  329. case 2:
  330. var value = /** @type {number} */ (reader.readInt32());
  331. msg.setTimeoutms(value);
  332. break;
  333. case 3:
  334. var value = /** @type {number} */ (reader.readInt32());
  335. msg.setReconnectmaxnum(value);
  336. break;
  337. case 4:
  338. var value = /** @type {number} */ (reader.readInt32());
  339. msg.setReconnectms(value);
  340. break;
  341. case 5:
  342. var value = /** @type {boolean} */ (reader.readBool());
  343. msg.setAllowaccess(value);
  344. break;
  345. case 6:
  346. var value = msg.getExpandMap();
  347. reader.readMessage(value, function(message, reader) {
  348. jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, "");
  349. });
  350. break;
  351. default:
  352. reader.skipField();
  353. break;
  354. }
  355. }
  356. return msg;
  357. };
  358. /**
  359. * Serializes the message to binary data (in protobuf wire format).
  360. * @return {!Uint8Array}
  361. */
  362. proto.IMData.InitData.prototype.serializeBinary = function() {
  363. var writer = new jspb.BinaryWriter();
  364. proto.IMData.InitData.serializeBinaryToWriter(this, writer);
  365. return writer.getResultBuffer();
  366. };
  367. /**
  368. * Serializes the given message to binary data (in protobuf wire
  369. * format), writing to the given BinaryWriter.
  370. * @param {!proto.IMData.InitData} message
  371. * @param {!jspb.BinaryWriter} writer
  372. * @suppress {unusedLocalVariables} f is only used for nested messages
  373. */
  374. proto.IMData.InitData.serializeBinaryToWriter = function(message, writer) {
  375. var f = undefined;
  376. f = message.getHeartbeatms();
  377. if (f !== 0) {
  378. writer.writeInt32(
  379. 1,
  380. f
  381. );
  382. }
  383. f = message.getTimeoutms();
  384. if (f !== 0) {
  385. writer.writeInt32(
  386. 2,
  387. f
  388. );
  389. }
  390. f = message.getReconnectmaxnum();
  391. if (f !== 0) {
  392. writer.writeInt32(
  393. 3,
  394. f
  395. );
  396. }
  397. f = message.getReconnectms();
  398. if (f !== 0) {
  399. writer.writeInt32(
  400. 4,
  401. f
  402. );
  403. }
  404. f = message.getAllowaccess();
  405. if (f) {
  406. writer.writeBool(
  407. 5,
  408. f
  409. );
  410. }
  411. f = message.getExpandMap(true);
  412. if (f && f.getLength() > 0) {
  413. f.serializeBinary(6, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString);
  414. }
  415. };
  416. /**
  417. * optional int32 heartbeatMS = 1;
  418. * @return {number}
  419. */
  420. proto.IMData.InitData.prototype.getHeartbeatms = function() {
  421. return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
  422. };
  423. /** @param {number} value */
  424. proto.IMData.InitData.prototype.setHeartbeatms = function(value) {
  425. jspb.Message.setProto3IntField(this, 1, value);
  426. };
  427. /**
  428. * optional int32 timeoutMS = 2;
  429. * @return {number}
  430. */
  431. proto.IMData.InitData.prototype.getTimeoutms = function() {
  432. return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
  433. };
  434. /** @param {number} value */
  435. proto.IMData.InitData.prototype.setTimeoutms = function(value) {
  436. jspb.Message.setProto3IntField(this, 2, value);
  437. };
  438. /**
  439. * optional int32 reconnectMaxNum = 3;
  440. * @return {number}
  441. */
  442. proto.IMData.InitData.prototype.getReconnectmaxnum = function() {
  443. return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
  444. };
  445. /** @param {number} value */
  446. proto.IMData.InitData.prototype.setReconnectmaxnum = function(value) {
  447. jspb.Message.setProto3IntField(this, 3, value);
  448. };
  449. /**
  450. * optional int32 reconnectMS = 4;
  451. * @return {number}
  452. */
  453. proto.IMData.InitData.prototype.getReconnectms = function() {
  454. return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));
  455. };
  456. /** @param {number} value */
  457. proto.IMData.InitData.prototype.setReconnectms = function(value) {
  458. jspb.Message.setProto3IntField(this, 4, value);
  459. };
  460. /**
  461. * optional bool allowAccess = 5;
  462. * @return {boolean}
  463. */
  464. proto.IMData.InitData.prototype.getAllowaccess = function() {
  465. return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 5, false));
  466. };
  467. /** @param {boolean} value */
  468. proto.IMData.InitData.prototype.setAllowaccess = function(value) {
  469. jspb.Message.setProto3BooleanField(this, 5, value);
  470. };
  471. /**
  472. * map<string, string> expand = 6;
  473. * @param {boolean=} opt_noLazyCreate Do not create the map if
  474. * empty, instead returning `undefined`
  475. * @return {!jspb.Map<string,string>}
  476. */
  477. proto.IMData.InitData.prototype.getExpandMap = function(opt_noLazyCreate) {
  478. return /** @type {!jspb.Map<string,string>} */ (
  479. jspb.Message.getMapField(this, 6, opt_noLazyCreate,
  480. null));
  481. };
  482. /**
  483. * Clears values from the map. The map will be non-null.
  484. */
  485. proto.IMData.InitData.prototype.clearExpandMap = function() {
  486. this.getExpandMap().clear();
  487. };
  488. if (jspb.Message.GENERATE_TO_OBJECT) {
  489. /**
  490. * Creates an object representation of this proto.
  491. * Field names that are reserved in JavaScript and will be renamed to pb_name.
  492. * Optional fields that are not set will be set to undefined.
  493. * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
  494. * For the list of reserved names please see:
  495. * net/proto2/compiler/js/internal/generator.cc#kKeyword.
  496. * @param {boolean=} opt_includeInstance Deprecated. whether to include the
  497. * JSPB instance for transitional soy proto support:
  498. * http://goto/soy-param-migration
  499. * @return {!Object}
  500. */
  501. proto.IMData.MsgData.prototype.toObject = function(opt_includeInstance) {
  502. return proto.IMData.MsgData.toObject(opt_includeInstance, this);
  503. };
  504. /**
  505. * Static version of the {@see toObject} method.
  506. * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  507. * the JSPB instance for transitional soy proto support:
  508. * http://goto/soy-param-migration
  509. * @param {!proto.IMData.MsgData} msg The msg instance to transform.
  510. * @return {!Object}
  511. * @suppress {unusedLocalVariables} f is only used for nested messages
  512. */
  513. proto.IMData.MsgData.toObject = function(includeInstance, msg) {
  514. var f, obj = {
  515. id: jspb.Message.getFieldWithDefault(msg, 1, ""),
  516. sid: jspb.Message.getFieldWithDefault(msg, 2, 0),
  517. fromuser: (f = msg.getFromuser()) && proto.IMData.MsgData.FromUser.toObject(includeInstance, f),
  518. touserid: jspb.Message.getFieldWithDefault(msg, 4, ""),
  519. msgtype: jspb.Message.getFieldWithDefault(msg, 5, ""),
  520. customtype: jspb.Message.getFieldWithDefault(msg, 6, ""),
  521. msgbody: jspb.Message.getFieldWithDefault(msg, 7, ""),
  522. sendtime: jspb.Message.getFieldWithDefault(msg, 8, 0),
  523. expandMap: (f = msg.getExpandMap()) ? f.toObject(includeInstance, undefined) : []
  524. };
  525. if (includeInstance) {
  526. obj.$jspbMessageInstance = msg;
  527. }
  528. return obj;
  529. };
  530. }
  531. /**
  532. * Deserializes binary data (in protobuf wire format).
  533. * @param {jspb.ByteSource} bytes The bytes to deserialize.
  534. * @return {!proto.IMData.MsgData}
  535. */
  536. proto.IMData.MsgData.deserializeBinary = function(bytes) {
  537. var reader = new jspb.BinaryReader(bytes);
  538. var msg = new proto.IMData.MsgData;
  539. return proto.IMData.MsgData.deserializeBinaryFromReader(msg, reader);
  540. };
  541. /**
  542. * Deserializes binary data (in protobuf wire format) from the
  543. * given reader into the given message object.
  544. * @param {!proto.IMData.MsgData} msg The message object to deserialize into.
  545. * @param {!jspb.BinaryReader} reader The BinaryReader to use.
  546. * @return {!proto.IMData.MsgData}
  547. */
  548. proto.IMData.MsgData.deserializeBinaryFromReader = function(msg, reader) {
  549. while (reader.nextField()) {
  550. if (reader.isEndGroup()) {
  551. break;
  552. }
  553. var field = reader.getFieldNumber();
  554. switch (field) {
  555. case 1:
  556. var value = /** @type {string} */ (reader.readString());
  557. msg.setId(value);
  558. break;
  559. case 2:
  560. var value = /** @type {number} */ (reader.readInt64());
  561. msg.setSid(value);
  562. break;
  563. case 3:
  564. var value = new proto.IMData.MsgData.FromUser;
  565. reader.readMessage(value,proto.IMData.MsgData.FromUser.deserializeBinaryFromReader);
  566. msg.setFromuser(value);
  567. break;
  568. case 4:
  569. var value = /** @type {string} */ (reader.readString());
  570. msg.setTouserid(value);
  571. break;
  572. case 5:
  573. var value = /** @type {string} */ (reader.readString());
  574. msg.setMsgtype(value);
  575. break;
  576. case 6:
  577. var value = /** @type {string} */ (reader.readString());
  578. msg.setCustomtype(value);
  579. break;
  580. case 7:
  581. var value = /** @type {string} */ (reader.readString());
  582. msg.setMsgbody(value);
  583. break;
  584. case 8:
  585. var value = /** @type {number} */ (reader.readInt64());
  586. msg.setSendtime(value);
  587. break;
  588. case 9:
  589. var value = msg.getExpandMap();
  590. reader.readMessage(value, function(message, reader) {
  591. jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, "");
  592. });
  593. break;
  594. default:
  595. reader.skipField();
  596. break;
  597. }
  598. }
  599. return msg;
  600. };
  601. /**
  602. * Serializes the message to binary data (in protobuf wire format).
  603. * @return {!Uint8Array}
  604. */
  605. proto.IMData.MsgData.prototype.serializeBinary = function() {
  606. var writer = new jspb.BinaryWriter();
  607. proto.IMData.MsgData.serializeBinaryToWriter(this, writer);
  608. return writer.getResultBuffer();
  609. };
  610. /**
  611. * Serializes the given message to binary data (in protobuf wire
  612. * format), writing to the given BinaryWriter.
  613. * @param {!proto.IMData.MsgData} message
  614. * @param {!jspb.BinaryWriter} writer
  615. * @suppress {unusedLocalVariables} f is only used for nested messages
  616. */
  617. proto.IMData.MsgData.serializeBinaryToWriter = function(message, writer) {
  618. var f = undefined;
  619. f = message.getId();
  620. if (f.length > 0) {
  621. writer.writeString(
  622. 1,
  623. f
  624. );
  625. }
  626. f = message.getSid();
  627. if (f !== 0) {
  628. writer.writeInt64(
  629. 2,
  630. f
  631. );
  632. }
  633. f = message.getFromuser();
  634. if (f != null) {
  635. writer.writeMessage(
  636. 3,
  637. f,
  638. proto.IMData.MsgData.FromUser.serializeBinaryToWriter
  639. );
  640. }
  641. f = message.getTouserid();
  642. if (f.length > 0) {
  643. writer.writeString(
  644. 4,
  645. f
  646. );
  647. }
  648. f = message.getMsgtype();
  649. if (f.length > 0) {
  650. writer.writeString(
  651. 5,
  652. f
  653. );
  654. }
  655. f = message.getCustomtype();
  656. if (f.length > 0) {
  657. writer.writeString(
  658. 6,
  659. f
  660. );
  661. }
  662. f = message.getMsgbody();
  663. if (f.length > 0) {
  664. writer.writeString(
  665. 7,
  666. f
  667. );
  668. }
  669. f = message.getSendtime();
  670. if (f !== 0) {
  671. writer.writeInt64(
  672. 8,
  673. f
  674. );
  675. }
  676. f = message.getExpandMap(true);
  677. if (f && f.getLength() > 0) {
  678. f.serializeBinary(9, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString);
  679. }
  680. };
  681. if (jspb.Message.GENERATE_TO_OBJECT) {
  682. /**
  683. * Creates an object representation of this proto.
  684. * Field names that are reserved in JavaScript and will be renamed to pb_name.
  685. * Optional fields that are not set will be set to undefined.
  686. * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
  687. * For the list of reserved names please see:
  688. * net/proto2/compiler/js/internal/generator.cc#kKeyword.
  689. * @param {boolean=} opt_includeInstance Deprecated. whether to include the
  690. * JSPB instance for transitional soy proto support:
  691. * http://goto/soy-param-migration
  692. * @return {!Object}
  693. */
  694. proto.IMData.MsgData.FromUser.prototype.toObject = function(opt_includeInstance) {
  695. return proto.IMData.MsgData.FromUser.toObject(opt_includeInstance, this);
  696. };
  697. /**
  698. * Static version of the {@see toObject} method.
  699. * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  700. * the JSPB instance for transitional soy proto support:
  701. * http://goto/soy-param-migration
  702. * @param {!proto.IMData.MsgData.FromUser} msg The msg instance to transform.
  703. * @return {!Object}
  704. * @suppress {unusedLocalVariables} f is only used for nested messages
  705. */
  706. proto.IMData.MsgData.FromUser.toObject = function(includeInstance, msg) {
  707. var f, obj = {
  708. id: jspb.Message.getFieldWithDefault(msg, 1, ""),
  709. nickname: jspb.Message.getFieldWithDefault(msg, 2, ""),
  710. headimg: jspb.Message.getFieldWithDefault(msg, 3, ""),
  711. expandMap: (f = msg.getExpandMap()) ? f.toObject(includeInstance, undefined) : []
  712. };
  713. if (includeInstance) {
  714. obj.$jspbMessageInstance = msg;
  715. }
  716. return obj;
  717. };
  718. }
  719. /**
  720. * Deserializes binary data (in protobuf wire format).
  721. * @param {jspb.ByteSource} bytes The bytes to deserialize.
  722. * @return {!proto.IMData.MsgData.FromUser}
  723. */
  724. proto.IMData.MsgData.FromUser.deserializeBinary = function(bytes) {
  725. var reader = new jspb.BinaryReader(bytes);
  726. var msg = new proto.IMData.MsgData.FromUser;
  727. return proto.IMData.MsgData.FromUser.deserializeBinaryFromReader(msg, reader);
  728. };
  729. /**
  730. * Deserializes binary data (in protobuf wire format) from the
  731. * given reader into the given message object.
  732. * @param {!proto.IMData.MsgData.FromUser} msg The message object to deserialize into.
  733. * @param {!jspb.BinaryReader} reader The BinaryReader to use.
  734. * @return {!proto.IMData.MsgData.FromUser}
  735. */
  736. proto.IMData.MsgData.FromUser.deserializeBinaryFromReader = function(msg, reader) {
  737. while (reader.nextField()) {
  738. if (reader.isEndGroup()) {
  739. break;
  740. }
  741. var field = reader.getFieldNumber();
  742. switch (field) {
  743. case 1:
  744. var value = /** @type {string} */ (reader.readString());
  745. msg.setId(value);
  746. break;
  747. case 2:
  748. var value = /** @type {string} */ (reader.readString());
  749. msg.setNickname(value);
  750. break;
  751. case 3:
  752. var value = /** @type {string} */ (reader.readString());
  753. msg.setHeadimg(value);
  754. break;
  755. case 4:
  756. var value = msg.getExpandMap();
  757. reader.readMessage(value, function(message, reader) {
  758. jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, "");
  759. });
  760. break;
  761. default:
  762. reader.skipField();
  763. break;
  764. }
  765. }
  766. return msg;
  767. };
  768. /**
  769. * Serializes the message to binary data (in protobuf wire format).
  770. * @return {!Uint8Array}
  771. */
  772. proto.IMData.MsgData.FromUser.prototype.serializeBinary = function() {
  773. var writer = new jspb.BinaryWriter();
  774. proto.IMData.MsgData.FromUser.serializeBinaryToWriter(this, writer);
  775. return writer.getResultBuffer();
  776. };
  777. /**
  778. * Serializes the given message to binary data (in protobuf wire
  779. * format), writing to the given BinaryWriter.
  780. * @param {!proto.IMData.MsgData.FromUser} message
  781. * @param {!jspb.BinaryWriter} writer
  782. * @suppress {unusedLocalVariables} f is only used for nested messages
  783. */
  784. proto.IMData.MsgData.FromUser.serializeBinaryToWriter = function(message, writer) {
  785. var f = undefined;
  786. f = message.getId();
  787. if (f.length > 0) {
  788. writer.writeString(
  789. 1,
  790. f
  791. );
  792. }
  793. f = message.getNickname();
  794. if (f.length > 0) {
  795. writer.writeString(
  796. 2,
  797. f
  798. );
  799. }
  800. f = message.getHeadimg();
  801. if (f.length > 0) {
  802. writer.writeString(
  803. 3,
  804. f
  805. );
  806. }
  807. f = message.getExpandMap(true);
  808. if (f && f.getLength() > 0) {
  809. f.serializeBinary(4, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString);
  810. }
  811. };
  812. /**
  813. * optional string id = 1;
  814. * @return {string}
  815. */
  816. proto.IMData.MsgData.FromUser.prototype.getId = function() {
  817. return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
  818. };
  819. /** @param {string} value */
  820. proto.IMData.MsgData.FromUser.prototype.setId = function(value) {
  821. jspb.Message.setProto3StringField(this, 1, value);
  822. };
  823. /**
  824. * optional string nickName = 2;
  825. * @return {string}
  826. */
  827. proto.IMData.MsgData.FromUser.prototype.getNickname = function() {
  828. return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
  829. };
  830. /** @param {string} value */
  831. proto.IMData.MsgData.FromUser.prototype.setNickname = function(value) {
  832. jspb.Message.setProto3StringField(this, 2, value);
  833. };
  834. /**
  835. * optional string headImg = 3;
  836. * @return {string}
  837. */
  838. proto.IMData.MsgData.FromUser.prototype.getHeadimg = function() {
  839. return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
  840. };
  841. /** @param {string} value */
  842. proto.IMData.MsgData.FromUser.prototype.setHeadimg = function(value) {
  843. jspb.Message.setProto3StringField(this, 3, value);
  844. };
  845. /**
  846. * map<string, string> expand = 4;
  847. * @param {boolean=} opt_noLazyCreate Do not create the map if
  848. * empty, instead returning `undefined`
  849. * @return {!jspb.Map<string,string>}
  850. */
  851. proto.IMData.MsgData.FromUser.prototype.getExpandMap = function(opt_noLazyCreate) {
  852. return /** @type {!jspb.Map<string,string>} */ (
  853. jspb.Message.getMapField(this, 4, opt_noLazyCreate,
  854. null));
  855. };
  856. /**
  857. * Clears values from the map. The map will be non-null.
  858. */
  859. proto.IMData.MsgData.FromUser.prototype.clearExpandMap = function() {
  860. this.getExpandMap().clear();
  861. };
  862. /**
  863. * optional string id = 1;
  864. * @return {string}
  865. */
  866. proto.IMData.MsgData.prototype.getId = function() {
  867. return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
  868. };
  869. /** @param {string} value */
  870. proto.IMData.MsgData.prototype.setId = function(value) {
  871. jspb.Message.setProto3StringField(this, 1, value);
  872. };
  873. /**
  874. * optional int64 sId = 2;
  875. * @return {number}
  876. */
  877. proto.IMData.MsgData.prototype.getSid = function() {
  878. return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
  879. };
  880. /** @param {number} value */
  881. proto.IMData.MsgData.prototype.setSid = function(value) {
  882. jspb.Message.setProto3IntField(this, 2, value);
  883. };
  884. /**
  885. * optional FromUser fromUser = 3;
  886. * @return {?proto.IMData.MsgData.FromUser}
  887. */
  888. proto.IMData.MsgData.prototype.getFromuser = function() {
  889. return /** @type{?proto.IMData.MsgData.FromUser} */ (
  890. jspb.Message.getWrapperField(this, proto.IMData.MsgData.FromUser, 3));
  891. };
  892. /** @param {?proto.IMData.MsgData.FromUser|undefined} value */
  893. proto.IMData.MsgData.prototype.setFromuser = function(value) {
  894. jspb.Message.setWrapperField(this, 3, value);
  895. };
  896. /**
  897. * Clears the message field making it undefined.
  898. */
  899. proto.IMData.MsgData.prototype.clearFromuser = function() {
  900. this.setFromuser(undefined);
  901. };
  902. /**
  903. * Returns whether this field is set.
  904. * @return {boolean}
  905. */
  906. proto.IMData.MsgData.prototype.hasFromuser = function() {
  907. return jspb.Message.getField(this, 3) != null;
  908. };
  909. /**
  910. * optional string toUserId = 4;
  911. * @return {string}
  912. */
  913. proto.IMData.MsgData.prototype.getTouserid = function() {
  914. return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
  915. };
  916. /** @param {string} value */
  917. proto.IMData.MsgData.prototype.setTouserid = function(value) {
  918. jspb.Message.setProto3StringField(this, 4, value);
  919. };
  920. /**
  921. * optional string msgType = 5;
  922. * @return {string}
  923. */
  924. proto.IMData.MsgData.prototype.getMsgtype = function() {
  925. return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, ""));
  926. };
  927. /** @param {string} value */
  928. proto.IMData.MsgData.prototype.setMsgtype = function(value) {
  929. jspb.Message.setProto3StringField(this, 5, value);
  930. };
  931. /**
  932. * optional string customType = 6;
  933. * @return {string}
  934. */
  935. proto.IMData.MsgData.prototype.getCustomtype = function() {
  936. return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, ""));
  937. };
  938. /** @param {string} value */
  939. proto.IMData.MsgData.prototype.setCustomtype = function(value) {
  940. jspb.Message.setProto3StringField(this, 6, value);
  941. };
  942. /**
  943. * optional string msgBody = 7;
  944. * @return {string}
  945. */
  946. proto.IMData.MsgData.prototype.getMsgbody = function() {
  947. return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, ""));
  948. };
  949. /** @param {string} value */
  950. proto.IMData.MsgData.prototype.setMsgbody = function(value) {
  951. jspb.Message.setProto3StringField(this, 7, value);
  952. };
  953. /**
  954. * optional int64 sendTime = 8;
  955. * @return {number}
  956. */
  957. proto.IMData.MsgData.prototype.getSendtime = function() {
  958. return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 8, 0));
  959. };
  960. /** @param {number} value */
  961. proto.IMData.MsgData.prototype.setSendtime = function(value) {
  962. jspb.Message.setProto3IntField(this, 8, value);
  963. };
  964. /**
  965. * map<string, string> expand = 9;
  966. * @param {boolean=} opt_noLazyCreate Do not create the map if
  967. * empty, instead returning `undefined`
  968. * @return {!jspb.Map<string,string>}
  969. */
  970. proto.IMData.MsgData.prototype.getExpandMap = function(opt_noLazyCreate) {
  971. return /** @type {!jspb.Map<string,string>} */ (
  972. jspb.Message.getMapField(this, 9, opt_noLazyCreate,
  973. null));
  974. };
  975. /**
  976. * Clears values from the map. The map will be non-null.
  977. */
  978. proto.IMData.MsgData.prototype.clearExpandMap = function() {
  979. this.getExpandMap().clear();
  980. };
  981. /**
  982. * optional string id = 1;
  983. * @return {string}
  984. */
  985. proto.IMData.prototype.getId = function() {
  986. return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
  987. };
  988. /** @param {string} value */
  989. proto.IMData.prototype.setId = function(value) {
  990. jspb.Message.setProto3StringField(this, 1, value);
  991. };
  992. /**
  993. * optional int32 type = 2;
  994. * @return {number}
  995. */
  996. proto.IMData.prototype.getType = function() {
  997. return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
  998. };
  999. /** @param {number} value */
  1000. proto.IMData.prototype.setType = function(value) {
  1001. jspb.Message.setProto3IntField(this, 2, value);
  1002. };
  1003. /**
  1004. * optional InitData initData = 3;
  1005. * @return {?proto.IMData.InitData}
  1006. */
  1007. proto.IMData.prototype.getInitdata = function() {
  1008. return /** @type{?proto.IMData.InitData} */ (
  1009. jspb.Message.getWrapperField(this, proto.IMData.InitData, 3));
  1010. };
  1011. /** @param {?proto.IMData.InitData|undefined} value */
  1012. proto.IMData.prototype.setInitdata = function(value) {
  1013. jspb.Message.setWrapperField(this, 3, value);
  1014. };
  1015. /**
  1016. * Clears the message field making it undefined.
  1017. */
  1018. proto.IMData.prototype.clearInitdata = function() {
  1019. this.setInitdata(undefined);
  1020. };
  1021. /**
  1022. * Returns whether this field is set.
  1023. * @return {boolean}
  1024. */
  1025. proto.IMData.prototype.hasInitdata = function() {
  1026. return jspb.Message.getField(this, 3) != null;
  1027. };
  1028. /**
  1029. * optional MsgData msgData = 4;
  1030. * @return {?proto.IMData.MsgData}
  1031. */
  1032. proto.IMData.prototype.getMsgdata = function() {
  1033. return /** @type{?proto.IMData.MsgData} */ (
  1034. jspb.Message.getWrapperField(this, proto.IMData.MsgData, 4));
  1035. };
  1036. /** @param {?proto.IMData.MsgData|undefined} value */
  1037. proto.IMData.prototype.setMsgdata = function(value) {
  1038. jspb.Message.setWrapperField(this, 4, value);
  1039. };
  1040. /**
  1041. * Clears the message field making it undefined.
  1042. */
  1043. proto.IMData.prototype.clearMsgdata = function() {
  1044. this.setMsgdata(undefined);
  1045. };
  1046. /**
  1047. * Returns whether this field is set.
  1048. * @return {boolean}
  1049. */
  1050. proto.IMData.prototype.hasMsgdata = function() {
  1051. return jspb.Message.getField(this, 4) != null;
  1052. };
  1053. /**
  1054. * optional int64 timestamp = 5;
  1055. * @return {number}
  1056. */
  1057. proto.IMData.prototype.getTimestamp = function() {
  1058. return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0));
  1059. };
  1060. /** @param {number} value */
  1061. proto.IMData.prototype.setTimestamp = function(value) {
  1062. jspb.Message.setProto3IntField(this, 5, value);
  1063. };
  1064. /**
  1065. * map<string, string> expand = 6;
  1066. * @param {boolean=} opt_noLazyCreate Do not create the map if
  1067. * empty, instead returning `undefined`
  1068. * @return {!jspb.Map<string,string>}
  1069. */
  1070. proto.IMData.prototype.getExpandMap = function(opt_noLazyCreate) {
  1071. return /** @type {!jspb.Map<string,string>} */ (
  1072. jspb.Message.getMapField(this, 6, opt_noLazyCreate,
  1073. null));
  1074. };
  1075. /**
  1076. * Clears values from the map. The map will be non-null.
  1077. */
  1078. proto.IMData.prototype.clearExpandMap = function() {
  1079. this.getExpandMap().clear();
  1080. };
  1081. goog.object.extend(exports, proto);
  1082. },{"./google-protobuf":3}],2:[function(require,module,exports){
  1083. var IMDataProto = require('./IMDataProto_pb.js');
  1084. module.exports = {
  1085. IMDataProto: IMDataProto
  1086. }
  1087. },{"./IMDataProto_pb.js":1}],3:[function(require,module,exports){
  1088. (function (global,Buffer){
  1089. var $jscomp={scope:{},getGlobal:function(a){return"undefined"!=typeof window&&window===a?a:"undefined"!=typeof global?global:a}};$jscomp.global=$jscomp.getGlobal(this);$jscomp.initSymbol=function(){$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol);$jscomp.initSymbol=function(){}};$jscomp.symbolCounter_=0;$jscomp.Symbol=function(a){return"jscomp_symbol_"+a+$jscomp.symbolCounter_++};
  1090. $jscomp.initSymbolIterator=function(){$jscomp.initSymbol();$jscomp.global.Symbol.iterator||($jscomp.global.Symbol.iterator=$jscomp.global.Symbol("iterator"));$jscomp.initSymbolIterator=function(){}};$jscomp.makeIterator=function(a){$jscomp.initSymbolIterator();$jscomp.initSymbol();$jscomp.initSymbolIterator();var b=a[Symbol.iterator];if(b)return b.call(a);var c=0;return{next:function(){return c<a.length?{done:!1,value:a[c++]}:{done:!0}}}};
  1091. $jscomp.arrayFromIterator=function(a){for(var b,c=[];!(b=a.next()).done;)c.push(b.value);return c};$jscomp.arrayFromIterable=function(a){return a instanceof Array?a:$jscomp.arrayFromIterator($jscomp.makeIterator(a))};$jscomp.inherits=function(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a;for(var d in b)if(Object.defineProperties){var e=Object.getOwnPropertyDescriptor(b,d);e&&Object.defineProperty(a,d,e)}else a[d]=b[d]};$jscomp.array=$jscomp.array||{};
  1092. $jscomp.iteratorFromArray=function(a,b){$jscomp.initSymbolIterator();a instanceof String&&(a+="");var c=0,d={next:function(){if(c<a.length){var e=c++;return{value:b(e,a[e]),done:!1}}d.next=function(){return{done:!0,value:void 0}};return d.next()}};$jscomp.initSymbol();$jscomp.initSymbolIterator();d[Symbol.iterator]=function(){return d};return d};
  1093. $jscomp.findInternal=function(a,b,c){a instanceof String&&(a=String(a));for(var d=a.length,e=0;e<d;e++){var f=a[e];if(b.call(c,f,e,a))return{i:e,v:f}}return{i:-1,v:void 0}};
  1094. $jscomp.array.from=function(a,b,c){$jscomp.initSymbolIterator();b=null!=b?b:function(a){return a};var d=[];$jscomp.initSymbol();$jscomp.initSymbolIterator();var e=a[Symbol.iterator];"function"==typeof e&&(a=e.call(a));if("function"==typeof a.next)for(;!(e=a.next()).done;)d.push(b.call(c,e.value));else for(var e=a.length,f=0;f<e;f++)d.push(b.call(c,a[f]));return d};$jscomp.array.of=function(a){return $jscomp.array.from(arguments)};
  1095. $jscomp.array.entries=function(){return $jscomp.iteratorFromArray(this,function(a,b){return[a,b]})};$jscomp.array.installHelper_=function(a,b){!Array.prototype[a]&&Object.defineProperties&&Object.defineProperty&&Object.defineProperty(Array.prototype,a,{configurable:!0,enumerable:!1,writable:!0,value:b})};$jscomp.array.entries$install=function(){$jscomp.array.installHelper_("entries",$jscomp.array.entries)};$jscomp.array.keys=function(){return $jscomp.iteratorFromArray(this,function(a){return a})};
  1096. $jscomp.array.keys$install=function(){$jscomp.array.installHelper_("keys",$jscomp.array.keys)};$jscomp.array.values=function(){return $jscomp.iteratorFromArray(this,function(a,b){return b})};$jscomp.array.values$install=function(){$jscomp.array.installHelper_("values",$jscomp.array.values)};
  1097. $jscomp.array.copyWithin=function(a,b,c){var d=this.length;a=Number(a);b=Number(b);c=Number(null!=c?c:d);if(a<b)for(c=Math.min(c,d);b<c;)b in this?this[a++]=this[b++]:(delete this[a++],b++);else for(c=Math.min(c,d+b-a),a+=c-b;c>b;)--c in this?this[--a]=this[c]:delete this[a];return this};$jscomp.array.copyWithin$install=function(){$jscomp.array.installHelper_("copyWithin",$jscomp.array.copyWithin)};
  1098. $jscomp.array.fill=function(a,b,c){var d=this.length||0;0>b&&(b=Math.max(0,d+b));if(null==c||c>d)c=d;c=Number(c);0>c&&(c=Math.max(0,d+c));for(b=Number(b||0);b<c;b++)this[b]=a;return this};$jscomp.array.fill$install=function(){$jscomp.array.installHelper_("fill",$jscomp.array.fill)};$jscomp.array.find=function(a,b){return $jscomp.findInternal(this,a,b).v};$jscomp.array.find$install=function(){$jscomp.array.installHelper_("find",$jscomp.array.find)};
  1099. $jscomp.array.findIndex=function(a,b){return $jscomp.findInternal(this,a,b).i};$jscomp.array.findIndex$install=function(){$jscomp.array.installHelper_("findIndex",$jscomp.array.findIndex)};$jscomp.ASSUME_NO_NATIVE_MAP=!1;
  1100. $jscomp.Map$isConformant=function(){if($jscomp.ASSUME_NO_NATIVE_MAP)return!1;var a=$jscomp.global.Map;if(!a||!a.prototype.entries||"function"!=typeof Object.seal)return!1;try{var b=Object.seal({x:4}),c=new a($jscomp.makeIterator([[b,"s"]]));if("s"!=c.get(b)||1!=c.size||c.get({x:4})||c.set({x:4},"t")!=c||2!=c.size)return!1;var d=c.entries(),e=d.next();if(e.done||e.value[0]!=b||"s"!=e.value[1])return!1;e=d.next();return e.done||4!=e.value[0].x||"t"!=e.value[1]||!d.next().done?!1:!0}catch(f){return!1}};
  1101. $jscomp.Map=function(a){this.data_={};this.head_=$jscomp.Map.createHead();this.size=0;if(a){a=$jscomp.makeIterator(a);for(var b;!(b=a.next()).done;)b=b.value,this.set(b[0],b[1])}};
  1102. $jscomp.Map.prototype.set=function(a,b){var c=$jscomp.Map.maybeGetEntry(this,a);c.list||(c.list=this.data_[c.id]=[]);c.entry?c.entry.value=b:(c.entry={next:this.head_,previous:this.head_.previous,head:this.head_,key:a,value:b},c.list.push(c.entry),this.head_.previous.next=c.entry,this.head_.previous=c.entry,this.size++);return this};
  1103. $jscomp.Map.prototype["delete"]=function(a){a=$jscomp.Map.maybeGetEntry(this,a);return a.entry&&a.list?(a.list.splice(a.index,1),a.list.length||delete this.data_[a.id],a.entry.previous.next=a.entry.next,a.entry.next.previous=a.entry.previous,a.entry.head=null,this.size--,!0):!1};$jscomp.Map.prototype.clear=function(){this.data_={};this.head_=this.head_.previous=$jscomp.Map.createHead();this.size=0};$jscomp.Map.prototype.has=function(a){return!!$jscomp.Map.maybeGetEntry(this,a).entry};
  1104. $jscomp.Map.prototype.get=function(a){return(a=$jscomp.Map.maybeGetEntry(this,a).entry)&&a.value};$jscomp.Map.prototype.entries=function(){return $jscomp.Map.makeIterator_(this,function(a){return[a.key,a.value]})};$jscomp.Map.prototype.keys=function(){return $jscomp.Map.makeIterator_(this,function(a){return a.key})};$jscomp.Map.prototype.values=function(){return $jscomp.Map.makeIterator_(this,function(a){return a.value})};
  1105. $jscomp.Map.prototype.forEach=function(a,b){for(var c=this.entries(),d;!(d=c.next()).done;)d=d.value,a.call(b,d[1],d[0],this)};$jscomp.Map.maybeGetEntry=function(a,b){var c=$jscomp.Map.getId(b),d=a.data_[c];if(d&&Object.prototype.hasOwnProperty.call(a.data_,c))for(var e=0;e<d.length;e++){var f=d[e];if(b!==b&&f.key!==f.key||b===f.key)return{id:c,list:d,index:e,entry:f}}return{id:c,list:d,index:-1,entry:void 0}};
  1106. $jscomp.Map.makeIterator_=function(a,b){var c=a.head_,d={next:function(){if(c){for(;c.head!=a.head_;)c=c.previous;for(;c.next!=c.head;)return c=c.next,{done:!1,value:b(c)};c=null}return{done:!0,value:void 0}}};$jscomp.initSymbol();$jscomp.initSymbolIterator();d[Symbol.iterator]=function(){return d};return d};$jscomp.Map.mapIndex_=0;$jscomp.Map.createHead=function(){var a={};return a.previous=a.next=a.head=a};
  1107. $jscomp.Map.getId=function(a){if(!(a instanceof Object))return"p_"+a;if(!($jscomp.Map.idKey in a))try{$jscomp.Map.defineProperty(a,$jscomp.Map.idKey,{value:++$jscomp.Map.mapIndex_})}catch(b){}return $jscomp.Map.idKey in a?a[$jscomp.Map.idKey]:"o_ "+a};$jscomp.Map.defineProperty=Object.defineProperty?function(a,b,c){Object.defineProperty(a,b,{value:String(c)})}:function(a,b,c){a[b]=String(c)};$jscomp.Map.Entry=function(){};
  1108. $jscomp.Map$install=function(){$jscomp.initSymbol();$jscomp.initSymbolIterator();$jscomp.Map$isConformant()?$jscomp.Map=$jscomp.global.Map:($jscomp.initSymbol(),$jscomp.initSymbolIterator(),$jscomp.Map.prototype[Symbol.iterator]=$jscomp.Map.prototype.entries,$jscomp.initSymbol(),$jscomp.Map.idKey=Symbol("map-id-key"),$jscomp.Map$install=function(){})};$jscomp.math=$jscomp.math||{};
  1109. $jscomp.math.clz32=function(a){a=Number(a)>>>0;if(0===a)return 32;var b=0;0===(a&4294901760)&&(a<<=16,b+=16);0===(a&4278190080)&&(a<<=8,b+=8);0===(a&4026531840)&&(a<<=4,b+=4);0===(a&3221225472)&&(a<<=2,b+=2);0===(a&2147483648)&&b++;return b};$jscomp.math.imul=function(a,b){a=Number(a);b=Number(b);var c=a&65535,d=b&65535;return c*d+((a>>>16&65535)*d+c*(b>>>16&65535)<<16>>>0)|0};$jscomp.math.sign=function(a){a=Number(a);return 0===a||isNaN(a)?a:0<a?1:-1};
  1110. $jscomp.math.log10=function(a){return Math.log(a)/Math.LN10};$jscomp.math.log2=function(a){return Math.log(a)/Math.LN2};$jscomp.math.log1p=function(a){a=Number(a);if(.25>a&&-.25<a){for(var b=a,c=1,d=a,e=0,f=1;e!=d;)b*=a,f*=-1,d=(e=d)+f*b/++c;return d}return Math.log(1+a)};$jscomp.math.expm1=function(a){a=Number(a);if(.25>a&&-.25<a){for(var b=a,c=1,d=a,e=0;e!=d;)b*=a/++c,d=(e=d)+b;return d}return Math.exp(a)-1};$jscomp.math.cosh=function(a){a=Number(a);return(Math.exp(a)+Math.exp(-a))/2};
  1111. $jscomp.math.sinh=function(a){a=Number(a);return 0===a?a:(Math.exp(a)-Math.exp(-a))/2};$jscomp.math.tanh=function(a){a=Number(a);if(0===a)return a;var b=Math.exp(-2*Math.abs(a)),b=(1-b)/(1+b);return 0>a?-b:b};$jscomp.math.acosh=function(a){a=Number(a);return Math.log(a+Math.sqrt(a*a-1))};$jscomp.math.asinh=function(a){a=Number(a);if(0===a)return a;var b=Math.log(Math.abs(a)+Math.sqrt(a*a+1));return 0>a?-b:b};
  1112. $jscomp.math.atanh=function(a){a=Number(a);return($jscomp.math.log1p(a)-$jscomp.math.log1p(-a))/2};$jscomp.math.hypot=function(a,b,c){a=Number(a);b=Number(b);var d,e,f,g=Math.max(Math.abs(a),Math.abs(b));for(d=2;d<arguments.length;d++)g=Math.max(g,Math.abs(arguments[d]));if(1E100<g||1E-100>g){a/=g;b/=g;f=a*a+b*b;for(d=2;d<arguments.length;d++)e=Number(arguments[d])/g,f+=e*e;return Math.sqrt(f)*g}f=a*a+b*b;for(d=2;d<arguments.length;d++)e=Number(arguments[d]),f+=e*e;return Math.sqrt(f)};
  1113. $jscomp.math.trunc=function(a){a=Number(a);if(isNaN(a)||Infinity===a||-Infinity===a||0===a)return a;var b=Math.floor(Math.abs(a));return 0>a?-b:b};$jscomp.math.cbrt=function(a){if(0===a)return a;a=Number(a);var b=Math.pow(Math.abs(a),1/3);return 0>a?-b:b};$jscomp.number=$jscomp.number||{};$jscomp.number.isFinite=function(a){return"number"!==typeof a?!1:!isNaN(a)&&Infinity!==a&&-Infinity!==a};$jscomp.number.isInteger=function(a){return $jscomp.number.isFinite(a)?a===Math.floor(a):!1};
  1114. $jscomp.number.isNaN=function(a){return"number"===typeof a&&isNaN(a)};$jscomp.number.isSafeInteger=function(a){return $jscomp.number.isInteger(a)&&Math.abs(a)<=$jscomp.number.MAX_SAFE_INTEGER};$jscomp.number.EPSILON=function(){return Math.pow(2,-52)}();$jscomp.number.MAX_SAFE_INTEGER=function(){return 9007199254740991}();$jscomp.number.MIN_SAFE_INTEGER=function(){return-9007199254740991}();$jscomp.object=$jscomp.object||{};
  1115. $jscomp.object.assign=function(a,b){for(var c=1;c<arguments.length;c++){var d=arguments[c];if(d)for(var e in d)Object.prototype.hasOwnProperty.call(d,e)&&(a[e]=d[e])}return a};$jscomp.object.is=function(a,b){return a===b?0!==a||1/a===1/b:a!==a&&b!==b};$jscomp.ASSUME_NO_NATIVE_SET=!1;
  1116. $jscomp.Set$isConformant=function(){if($jscomp.ASSUME_NO_NATIVE_SET)return!1;var a=$jscomp.global.Set;if(!a||!a.prototype.entries||"function"!=typeof Object.seal)return!1;try{var b=Object.seal({x:4}),c=new a($jscomp.makeIterator([b]));if(!c.has(b)||1!=c.size||c.add(b)!=c||1!=c.size||c.add({x:4})!=c||2!=c.size)return!1;var d=c.entries(),e=d.next();if(e.done||e.value[0]!=b||e.value[1]!=b)return!1;e=d.next();return e.done||e.value[0]==b||4!=e.value[0].x||e.value[1]!=e.value[0]?!1:d.next().done}catch(f){return!1}};
  1117. $jscomp.Set=function(a){this.map_=new $jscomp.Map;if(a){a=$jscomp.makeIterator(a);for(var b;!(b=a.next()).done;)this.add(b.value)}this.size=this.map_.size};$jscomp.Set.prototype.add=function(a){this.map_.set(a,a);this.size=this.map_.size;return this};$jscomp.Set.prototype["delete"]=function(a){a=this.map_["delete"](a);this.size=this.map_.size;return a};$jscomp.Set.prototype.clear=function(){this.map_.clear();this.size=0};$jscomp.Set.prototype.has=function(a){return this.map_.has(a)};
  1118. $jscomp.Set.prototype.entries=function(){return this.map_.entries()};$jscomp.Set.prototype.values=function(){return this.map_.values()};$jscomp.Set.prototype.forEach=function(a,b){var c=this;this.map_.forEach(function(d){return a.call(b,d,d,c)})};$jscomp.Set$install=function(){$jscomp.Map$install();$jscomp.Set$isConformant()?$jscomp.Set=$jscomp.global.Set:($jscomp.initSymbol(),$jscomp.initSymbolIterator(),$jscomp.Set.prototype[Symbol.iterator]=$jscomp.Set.prototype.values,$jscomp.Set$install=function(){})};
  1119. $jscomp.string=$jscomp.string||{};$jscomp.checkStringArgs=function(a,b,c){if(null==a)throw new TypeError("The 'this' value for String.prototype."+c+" must not be null or undefined");if(b instanceof RegExp)throw new TypeError("First argument to String.prototype."+c+" must not be a regular expression");return a+""};
  1120. $jscomp.string.fromCodePoint=function(a){for(var b="",c=0;c<arguments.length;c++){var d=Number(arguments[c]);if(0>d||1114111<d||d!==Math.floor(d))throw new RangeError("invalid_code_point "+d);65535>=d?b+=String.fromCharCode(d):(d-=65536,b+=String.fromCharCode(d>>>10&1023|55296),b+=String.fromCharCode(d&1023|56320))}return b};
  1121. $jscomp.string.repeat=function(a){var b=$jscomp.checkStringArgs(this,null,"repeat");if(0>a||1342177279<a)throw new RangeError("Invalid count value");a|=0;for(var c="";a;)if(a&1&&(c+=b),a>>>=1)b+=b;return c};$jscomp.string.repeat$install=function(){String.prototype.repeat||(String.prototype.repeat=$jscomp.string.repeat)};
  1122. $jscomp.string.codePointAt=function(a){var b=$jscomp.checkStringArgs(this,null,"codePointAt"),c=b.length;a=Number(a)||0;if(0<=a&&a<c){a|=0;var d=b.charCodeAt(a);if(55296>d||56319<d||a+1===c)return d;a=b.charCodeAt(a+1);return 56320>a||57343<a?d:1024*(d-55296)+a+9216}};$jscomp.string.codePointAt$install=function(){String.prototype.codePointAt||(String.prototype.codePointAt=$jscomp.string.codePointAt)};
  1123. $jscomp.string.includes=function(a,b){return-1!==$jscomp.checkStringArgs(this,a,"includes").indexOf(a,b||0)};$jscomp.string.includes$install=function(){String.prototype.includes||(String.prototype.includes=$jscomp.string.includes)};$jscomp.string.startsWith=function(a,b){var c=$jscomp.checkStringArgs(this,a,"startsWith");a+="";for(var d=c.length,e=a.length,f=Math.max(0,Math.min(b|0,c.length)),g=0;g<e&&f<d;)if(c[f++]!=a[g++])return!1;return g>=e};
  1124. $jscomp.string.startsWith$install=function(){String.prototype.startsWith||(String.prototype.startsWith=$jscomp.string.startsWith)};$jscomp.string.endsWith=function(a,b){var c=$jscomp.checkStringArgs(this,a,"endsWith");a+="";void 0===b&&(b=c.length);for(var d=Math.max(0,Math.min(b|0,c.length)),e=a.length;0<e&&0<d;)if(c[--d]!=a[--e])return!1;return 0>=e};$jscomp.string.endsWith$install=function(){String.prototype.endsWith||(String.prototype.endsWith=$jscomp.string.endsWith)};
  1125. var COMPILED=!0,goog=goog||{};goog.global=this;goog.isDef=function(a){return void 0!==a};goog.exportPath_=function(a,b,c){a=a.split(".");c=c||goog.global;a[0]in c||!c.execScript||c.execScript("var "+a[0]);for(var d;a.length&&(d=a.shift());)!a.length&&goog.isDef(b)?c[d]=b:c=c[d]?c[d]:c[d]={}};
  1126. goog.define=function(a,b){var c=b;COMPILED||(goog.global.CLOSURE_UNCOMPILED_DEFINES&&Object.prototype.hasOwnProperty.call(goog.global.CLOSURE_UNCOMPILED_DEFINES,a)?c=goog.global.CLOSURE_UNCOMPILED_DEFINES[a]:goog.global.CLOSURE_DEFINES&&Object.prototype.hasOwnProperty.call(goog.global.CLOSURE_DEFINES,a)&&(c=goog.global.CLOSURE_DEFINES[a]));goog.exportPath_(a,c)};goog.DEBUG=!0;goog.LOCALE="en";goog.TRUSTED_SITE=!0;goog.STRICT_MODE_COMPATIBLE=!1;goog.DISALLOW_TEST_ONLY_CODE=COMPILED&&!goog.DEBUG;
  1127. goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING=!1;goog.provide=function(a){if(!COMPILED&&goog.isProvided_(a))throw Error('Namespace "'+a+'" already declared.');goog.constructNamespace_(a)};goog.constructNamespace_=function(a,b){if(!COMPILED){delete goog.implicitNamespaces_[a];for(var c=a;(c=c.substring(0,c.lastIndexOf(".")))&&!goog.getObjectByName(c);)goog.implicitNamespaces_[c]=!0}goog.exportPath_(a,b)};goog.VALID_MODULE_RE_=/^[a-zA-Z_$][a-zA-Z0-9._$]*$/;
  1128. goog.module=function(a){if(!goog.isString(a)||!a||-1==a.search(goog.VALID_MODULE_RE_))throw Error("Invalid module identifier");if(!goog.isInModuleLoader_())throw Error("Module "+a+" has been loaded incorrectly.");if(goog.moduleLoaderState_.moduleName)throw Error("goog.module may only be called once per module.");goog.moduleLoaderState_.moduleName=a;if(!COMPILED){if(goog.isProvided_(a))throw Error('Namespace "'+a+'" already declared.');delete goog.implicitNamespaces_[a]}};goog.module.get=function(a){return goog.module.getInternal_(a)};
  1129. goog.module.getInternal_=function(a){if(!COMPILED)return goog.isProvided_(a)?a in goog.loadedModules_?goog.loadedModules_[a]:goog.getObjectByName(a):null};goog.moduleLoaderState_=null;goog.isInModuleLoader_=function(){return null!=goog.moduleLoaderState_};
  1130. goog.module.declareLegacyNamespace=function(){if(!COMPILED&&!goog.isInModuleLoader_())throw Error("goog.module.declareLegacyNamespace must be called from within a goog.module");if(!COMPILED&&!goog.moduleLoaderState_.moduleName)throw Error("goog.module must be called prior to goog.module.declareLegacyNamespace.");goog.moduleLoaderState_.declareLegacyNamespace=!0};
  1131. goog.setTestOnly=function(a){if(goog.DISALLOW_TEST_ONLY_CODE)throw a=a||"",Error("Importing test-only code into non-debug environment"+(a?": "+a:"."));};goog.forwardDeclare=function(a){};COMPILED||(goog.isProvided_=function(a){return a in goog.loadedModules_||!goog.implicitNamespaces_[a]&&goog.isDefAndNotNull(goog.getObjectByName(a))},goog.implicitNamespaces_={"goog.module":!0});
  1132. goog.getObjectByName=function(a,b){for(var c=a.split("."),d=b||goog.global,e;e=c.shift();)if(goog.isDefAndNotNull(d[e]))d=d[e];else return null;return d};goog.globalize=function(a,b){var c=b||goog.global,d;for(d in a)c[d]=a[d]};goog.addDependency=function(a,b,c,d){if(goog.DEPENDENCIES_ENABLED){var e;a=a.replace(/\\/g,"/");for(var f=goog.dependencies_,g=0;e=b[g];g++)f.nameToPath[e]=a,f.pathIsModule[a]=!!d;for(d=0;b=c[d];d++)a in f.requires||(f.requires[a]={}),f.requires[a][b]=!0}};
  1133. goog.ENABLE_DEBUG_LOADER=!0;goog.logToConsole_=function(a){goog.global.console&&goog.global.console.error(a)};goog.require=function(a){if(!COMPILED){goog.ENABLE_DEBUG_LOADER&&goog.IS_OLD_IE_&&goog.maybeProcessDeferredDep_(a);if(goog.isProvided_(a))return goog.isInModuleLoader_()?goog.module.getInternal_(a):null;if(goog.ENABLE_DEBUG_LOADER){var b=goog.getPathFromDeps_(a);if(b)return goog.writeScripts_(b),null}a="goog.require could not find: "+a;goog.logToConsole_(a);throw Error(a);}};
  1134. goog.basePath="";goog.nullFunction=function(){};goog.abstractMethod=function(){throw Error("unimplemented abstract method");};goog.addSingletonGetter=function(a){a.getInstance=function(){if(a.instance_)return a.instance_;goog.DEBUG&&(goog.instantiatedSingletons_[goog.instantiatedSingletons_.length]=a);return a.instance_=new a}};goog.instantiatedSingletons_=[];goog.LOAD_MODULE_USING_EVAL=!0;goog.SEAL_MODULE_EXPORTS=goog.DEBUG;goog.loadedModules_={};goog.DEPENDENCIES_ENABLED=!COMPILED&&goog.ENABLE_DEBUG_LOADER;
  1135. goog.DEPENDENCIES_ENABLED&&(goog.dependencies_={pathIsModule:{},nameToPath:{},requires:{},visited:{},written:{},deferred:{}},goog.inHtmlDocument_=function(){var a=goog.global.document;return null!=a&&"write"in a},goog.findBasePath_=function(){if(goog.isDef(goog.global.CLOSURE_BASE_PATH))goog.basePath=goog.global.CLOSURE_BASE_PATH;else if(goog.inHtmlDocument_())for(var a=goog.global.document.getElementsByTagName("SCRIPT"),b=a.length-1;0<=b;--b){var c=a[b].src,d=c.lastIndexOf("?"),d=-1==d?c.length:
  1136. d;if("base.js"==c.substr(d-7,7)){goog.basePath=c.substr(0,d-7);break}}},goog.importScript_=function(a,b){(goog.global.CLOSURE_IMPORT_SCRIPT||goog.writeScriptTag_)(a,b)&&(goog.dependencies_.written[a]=!0)},goog.IS_OLD_IE_=!(goog.global.atob||!goog.global.document||!goog.global.document.all),goog.importModule_=function(a){goog.importScript_("",'goog.retrieveAndExecModule_("'+a+'");')&&(goog.dependencies_.written[a]=!0)},goog.queuedModules_=[],goog.wrapModule_=function(a,b){return goog.LOAD_MODULE_USING_EVAL&&
  1137. goog.isDef(goog.global.JSON)?"goog.loadModule("+goog.global.JSON.stringify(b+"\n//# sourceURL="+a+"\n")+");":'goog.loadModule(function(exports) {"use strict";'+b+"\n;return exports});\n//# sourceURL="+a+"\n"},goog.loadQueuedModules_=function(){var a=goog.queuedModules_.length;if(0<a){var b=goog.queuedModules_;goog.queuedModules_=[];for(var c=0;c<a;c++)goog.maybeProcessDeferredPath_(b[c])}},goog.maybeProcessDeferredDep_=function(a){goog.isDeferredModule_(a)&&goog.allDepsAreAvailable_(a)&&(a=goog.getPathFromDeps_(a),
  1138. goog.maybeProcessDeferredPath_(goog.basePath+a))},goog.isDeferredModule_=function(a){return(a=goog.getPathFromDeps_(a))&&goog.dependencies_.pathIsModule[a]?goog.basePath+a in goog.dependencies_.deferred:!1},goog.allDepsAreAvailable_=function(a){if((a=goog.getPathFromDeps_(a))&&a in goog.dependencies_.requires)for(var b in goog.dependencies_.requires[a])if(!goog.isProvided_(b)&&!goog.isDeferredModule_(b))return!1;return!0},goog.maybeProcessDeferredPath_=function(a){if(a in goog.dependencies_.deferred){var b=
  1139. goog.dependencies_.deferred[a];delete goog.dependencies_.deferred[a];goog.globalEval(b)}},goog.loadModuleFromUrl=function(a){goog.retrieveAndExecModule_(a)},goog.loadModule=function(a){var b=goog.moduleLoaderState_;try{goog.moduleLoaderState_={moduleName:void 0,declareLegacyNamespace:!1};var c;if(goog.isFunction(a))c=a.call(goog.global,{});else if(goog.isString(a))c=goog.loadModuleFromSource_.call(goog.global,a);else throw Error("Invalid module definition");var d=goog.moduleLoaderState_.moduleName;
  1140. if(!goog.isString(d)||!d)throw Error('Invalid module name "'+d+'"');goog.moduleLoaderState_.declareLegacyNamespace?goog.constructNamespace_(d,c):goog.SEAL_MODULE_EXPORTS&&Object.seal&&Object.seal(c);goog.loadedModules_[d]=c}finally{goog.moduleLoaderState_=b}},goog.loadModuleFromSource_=function(a){eval(a);return{}},goog.writeScriptSrcNode_=function(a){goog.global.document.write('<script type="text/javascript" src="'+a+'">\x3c/script>')},goog.appendScriptSrcNode_=function(a){var b=goog.global.document,
  1141. c=b.createElement("script");c.type="text/javascript";c.src=a;c.defer=!1;c.async=!1;b.head.appendChild(c)},goog.writeScriptTag_=function(a,b){if(goog.inHtmlDocument_()){var c=goog.global.document;if(!goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING&&"complete"==c.readyState){if(/\bdeps.js$/.test(a))return!1;throw Error('Cannot write "'+a+'" after document load');}var d=goog.IS_OLD_IE_;void 0===b?d?(d=" onreadystatechange='goog.onScriptLoad_(this, "+ ++goog.lastNonModuleScriptIndex_+")' ",c.write('<script type="text/javascript" src="'+
  1142. a+'"'+d+">\x3c/script>")):goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING?goog.appendScriptSrcNode_(a):goog.writeScriptSrcNode_(a):c.write('<script type="text/javascript">'+b+"\x3c/script>");return!0}return!1},goog.lastNonModuleScriptIndex_=0,goog.onScriptLoad_=function(a,b){"complete"==a.readyState&&goog.lastNonModuleScriptIndex_==b&&goog.loadQueuedModules_();return!0},goog.writeScripts_=function(a){function b(a){if(!(a in e.written||a in e.visited)){e.visited[a]=!0;if(a in e.requires)for(var f in e.requires[a])if(!goog.isProvided_(f))if(f in
  1143. e.nameToPath)b(e.nameToPath[f]);else throw Error("Undefined nameToPath for "+f);a in d||(d[a]=!0,c.push(a))}}var c=[],d={},e=goog.dependencies_;b(a);for(a=0;a<c.length;a++){var f=c[a];goog.dependencies_.written[f]=!0}var g=goog.moduleLoaderState_;goog.moduleLoaderState_=null;for(a=0;a<c.length;a++)if(f=c[a])e.pathIsModule[f]?goog.importModule_(goog.basePath+f):goog.importScript_(goog.basePath+f);else throw goog.moduleLoaderState_=g,Error("Undefined script input");goog.moduleLoaderState_=g},goog.getPathFromDeps_=
  1144. function(a){return a in goog.dependencies_.nameToPath?goog.dependencies_.nameToPath[a]:null},goog.findBasePath_(),goog.global.CLOSURE_NO_DEPS||goog.importScript_(goog.basePath+"deps.js"));goog.normalizePath_=function(a){a=a.split("/");for(var b=0;b<a.length;)"."==a[b]?a.splice(b,1):b&&".."==a[b]&&a[b-1]&&".."!=a[b-1]?a.splice(--b,2):b++;return a.join("/")};
  1145. goog.loadFileSync_=function(a){if(goog.global.CLOSURE_LOAD_FILE_SYNC)return goog.global.CLOSURE_LOAD_FILE_SYNC(a);var b=new goog.global.XMLHttpRequest;b.open("get",a,!1);b.send();return b.responseText};
  1146. goog.retrieveAndExecModule_=function(a){if(!COMPILED){var b=a;a=goog.normalizePath_(a);var c=goog.global.CLOSURE_IMPORT_SCRIPT||goog.writeScriptTag_,d=goog.loadFileSync_(a);if(null!=d)d=goog.wrapModule_(a,d),goog.IS_OLD_IE_?(goog.dependencies_.deferred[b]=d,goog.queuedModules_.push(b)):c(a,d);else throw Error("load of "+a+"failed");}};
  1147. goog.typeOf=function(a){var b=typeof a;if("object"==b)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);if("[object Window]"==c)return"object";if("[object Array]"==c||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==c||"undefined"!=typeof a.call&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("call"))return"function"}else return"null";
  1148. else if("function"==b&&"undefined"==typeof a.call)return"object";return b};goog.isNull=function(a){return null===a};goog.isDefAndNotNull=function(a){return null!=a};goog.isArray=function(a){return"array"==goog.typeOf(a)};goog.isArrayLike=function(a){var b=goog.typeOf(a);return"array"==b||"object"==b&&"number"==typeof a.length};goog.isDateLike=function(a){return goog.isObject(a)&&"function"==typeof a.getFullYear};goog.isString=function(a){return"string"==typeof a};
  1149. goog.isBoolean=function(a){return"boolean"==typeof a};goog.isNumber=function(a){return"number"==typeof a};goog.isFunction=function(a){return"function"==goog.typeOf(a)};goog.isObject=function(a){var b=typeof a;return"object"==b&&null!=a||"function"==b};goog.getUid=function(a){return a[goog.UID_PROPERTY_]||(a[goog.UID_PROPERTY_]=++goog.uidCounter_)};goog.hasUid=function(a){return!!a[goog.UID_PROPERTY_]};
  1150. goog.removeUid=function(a){null!==a&&"removeAttribute"in a&&a.removeAttribute(goog.UID_PROPERTY_);try{delete a[goog.UID_PROPERTY_]}catch(b){}};goog.UID_PROPERTY_="closure_uid_"+(1E9*Math.random()>>>0);goog.uidCounter_=0;goog.getHashCode=goog.getUid;goog.removeHashCode=goog.removeUid;goog.cloneObject=function(a){var b=goog.typeOf(a);if("object"==b||"array"==b){if(a.clone)return a.clone();var b="array"==b?[]:{},c;for(c in a)b[c]=goog.cloneObject(a[c]);return b}return a};
  1151. goog.bindNative_=function(a,b,c){return a.call.apply(a.bind,arguments)};goog.bindJs_=function(a,b,c){if(!a)throw Error();if(2<arguments.length){var d=Array.prototype.slice.call(arguments,2);return function(){var c=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(c,d);return a.apply(b,c)}}return function(){return a.apply(b,arguments)}};
  1152. goog.bind=function(a,b,c){Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?goog.bind=goog.bindNative_:goog.bind=goog.bindJs_;return goog.bind.apply(null,arguments)};goog.partial=function(a,b){var c=Array.prototype.slice.call(arguments,1);return function(){var b=c.slice();b.push.apply(b,arguments);return a.apply(this,b)}};goog.mixin=function(a,b){for(var c in b)a[c]=b[c]};goog.now=goog.TRUSTED_SITE&&Date.now||function(){return+new Date};
  1153. goog.globalEval=function(a){if(goog.global.execScript)goog.global.execScript(a,"JavaScript");else if(goog.global.eval){if(null==goog.evalWorksForGlobals_)if(goog.global.eval("var _evalTest_ = 1;"),"undefined"!=typeof goog.global._evalTest_){try{delete goog.global._evalTest_}catch(d){}goog.evalWorksForGlobals_=!0}else goog.evalWorksForGlobals_=!1;if(goog.evalWorksForGlobals_)goog.global.eval(a);else{var b=goog.global.document,c=b.createElement("SCRIPT");c.type="text/javascript";c.defer=!1;c.appendChild(b.createTextNode(a));
  1154. b.body.appendChild(c);b.body.removeChild(c)}}else throw Error("goog.globalEval not available");};goog.evalWorksForGlobals_=null;goog.getCssName=function(a,b){var c=function(a){return goog.cssNameMapping_[a]||a},d=function(a){a=a.split("-");for(var b=[],d=0;d<a.length;d++)b.push(c(a[d]));return b.join("-")},d=goog.cssNameMapping_?"BY_WHOLE"==goog.cssNameMappingStyle_?c:d:function(a){return a};return b?a+"-"+d(b):d(a)};
  1155. goog.setCssNameMapping=function(a,b){goog.cssNameMapping_=a;goog.cssNameMappingStyle_=b};!COMPILED&&goog.global.CLOSURE_CSS_NAME_MAPPING&&(goog.cssNameMapping_=goog.global.CLOSURE_CSS_NAME_MAPPING);goog.getMsg=function(a,b){b&&(a=a.replace(/\{\$([^}]+)}/g,function(a,d){return null!=b&&d in b?b[d]:a}));return a};goog.getMsgWithFallback=function(a,b){return a};goog.exportSymbol=function(a,b,c){goog.exportPath_(a,b,c)};goog.exportProperty=function(a,b,c){a[b]=c};
  1156. goog.inherits=function(a,b){function c(){}c.prototype=b.prototype;a.superClass_=b.prototype;a.prototype=new c;a.prototype.constructor=a;a.base=function(a,c,f){for(var g=Array(arguments.length-2),h=2;h<arguments.length;h++)g[h-2]=arguments[h];return b.prototype[c].apply(a,g)}};
  1157. goog.base=function(a,b,c){var d=arguments.callee.caller;if(goog.STRICT_MODE_COMPATIBLE||goog.DEBUG&&!d)throw Error("arguments.caller not defined. goog.base() cannot be used with strict mode code. See http://www.ecma-international.org/ecma-262/5.1/#sec-C");if(d.superClass_){for(var e=Array(arguments.length-1),f=1;f<arguments.length;f++)e[f-1]=arguments[f];return d.superClass_.constructor.apply(a,e)}e=Array(arguments.length-2);for(f=2;f<arguments.length;f++)e[f-2]=arguments[f];for(var f=!1,g=a.constructor;g;g=
  1158. g.superClass_&&g.superClass_.constructor)if(g.prototype[b]===d)f=!0;else if(f)return g.prototype[b].apply(a,e);if(a[b]===d)return a.constructor.prototype[b].apply(a,e);throw Error("goog.base called from a method of one name to a method of a different name");};goog.scope=function(a){a.call(goog.global)};COMPILED||(goog.global.COMPILED=COMPILED);
  1159. goog.defineClass=function(a,b){var c=b.constructor,d=b.statics;c&&c!=Object.prototype.constructor||(c=function(){throw Error("cannot instantiate an interface (no constructor defined).");});c=goog.defineClass.createSealingConstructor_(c,a);a&&goog.inherits(c,a);delete b.constructor;delete b.statics;goog.defineClass.applyProperties_(c.prototype,b);null!=d&&(d instanceof Function?d(c):goog.defineClass.applyProperties_(c,d));return c};goog.defineClass.SEAL_CLASS_INSTANCES=goog.DEBUG;
  1160. goog.defineClass.createSealingConstructor_=function(a,b){if(goog.defineClass.SEAL_CLASS_INSTANCES&&Object.seal instanceof Function){if(b&&b.prototype&&b.prototype[goog.UNSEALABLE_CONSTRUCTOR_PROPERTY_])return a;var c=function(){var b=a.apply(this,arguments)||this;b[goog.UID_PROPERTY_]=b[goog.UID_PROPERTY_];this.constructor===c&&Object.seal(b);return b};return c}return a};goog.defineClass.OBJECT_PROTOTYPE_FIELDS_="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");
  1161. goog.defineClass.applyProperties_=function(a,b){for(var c in b)Object.prototype.hasOwnProperty.call(b,c)&&(a[c]=b[c]);for(var d=0;d<goog.defineClass.OBJECT_PROTOTYPE_FIELDS_.length;d++)c=goog.defineClass.OBJECT_PROTOTYPE_FIELDS_[d],Object.prototype.hasOwnProperty.call(b,c)&&(a[c]=b[c])};goog.tagUnsealableClass=function(a){!COMPILED&&goog.defineClass.SEAL_CLASS_INSTANCES&&(a.prototype[goog.UNSEALABLE_CONSTRUCTOR_PROPERTY_]=!0)};goog.UNSEALABLE_CONSTRUCTOR_PROPERTY_="goog_defineClass_legacy_unsealable";goog.dom={};goog.dom.NodeType={ELEMENT:1,ATTRIBUTE:2,TEXT:3,CDATA_SECTION:4,ENTITY_REFERENCE:5,ENTITY:6,PROCESSING_INSTRUCTION:7,COMMENT:8,DOCUMENT:9,DOCUMENT_TYPE:10,DOCUMENT_FRAGMENT:11,NOTATION:12};goog.debug={};goog.debug.Error=function(a){if(Error.captureStackTrace)Error.captureStackTrace(this,goog.debug.Error);else{var b=Error().stack;b&&(this.stack=b)}a&&(this.message=String(a));this.reportErrorToServer=!0};goog.inherits(goog.debug.Error,Error);goog.debug.Error.prototype.name="CustomError";goog.string={};goog.string.DETECT_DOUBLE_ESCAPING=!1;goog.string.FORCE_NON_DOM_HTML_UNESCAPING=!1;goog.string.Unicode={NBSP:"\u00a0"};goog.string.startsWith=function(a,b){return 0==a.lastIndexOf(b,0)};goog.string.endsWith=function(a,b){var c=a.length-b.length;return 0<=c&&a.indexOf(b,c)==c};goog.string.caseInsensitiveStartsWith=function(a,b){return 0==goog.string.caseInsensitiveCompare(b,a.substr(0,b.length))};
  1162. goog.string.caseInsensitiveEndsWith=function(a,b){return 0==goog.string.caseInsensitiveCompare(b,a.substr(a.length-b.length,b.length))};goog.string.caseInsensitiveEquals=function(a,b){return a.toLowerCase()==b.toLowerCase()};goog.string.subs=function(a,b){for(var c=a.split("%s"),d="",e=Array.prototype.slice.call(arguments,1);e.length&&1<c.length;)d+=c.shift()+e.shift();return d+c.join("%s")};goog.string.collapseWhitespace=function(a){return a.replace(/[\s\xa0]+/g," ").replace(/^\s+|\s+$/g,"")};
  1163. goog.string.isEmptyOrWhitespace=function(a){return/^[\s\xa0]*$/.test(a)};goog.string.isEmptyString=function(a){return 0==a.length};goog.string.isEmpty=goog.string.isEmptyOrWhitespace;goog.string.isEmptyOrWhitespaceSafe=function(a){return goog.string.isEmptyOrWhitespace(goog.string.makeSafe(a))};goog.string.isEmptySafe=goog.string.isEmptyOrWhitespaceSafe;goog.string.isBreakingWhitespace=function(a){return!/[^\t\n\r ]/.test(a)};goog.string.isAlpha=function(a){return!/[^a-zA-Z]/.test(a)};
  1164. goog.string.isNumeric=function(a){return!/[^0-9]/.test(a)};goog.string.isAlphaNumeric=function(a){return!/[^a-zA-Z0-9]/.test(a)};goog.string.isSpace=function(a){return" "==a};goog.string.isUnicodeChar=function(a){return 1==a.length&&" "<=a&&"~">=a||"\u0080"<=a&&"\ufffd">=a};goog.string.stripNewlines=function(a){return a.replace(/(\r\n|\r|\n)+/g," ")};goog.string.canonicalizeNewlines=function(a){return a.replace(/(\r\n|\r|\n)/g,"\n")};
  1165. goog.string.normalizeWhitespace=function(a){return a.replace(/\xa0|\s/g," ")};goog.string.normalizeSpaces=function(a){return a.replace(/\xa0|[ \t]+/g," ")};goog.string.collapseBreakingSpaces=function(a){return a.replace(/[\t\r\n ]+/g," ").replace(/^[\t\r\n ]+|[\t\r\n ]+$/g,"")};goog.string.trim=goog.TRUSTED_SITE&&String.prototype.trim?function(a){return a.trim()}:function(a){return a.replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")};goog.string.trimLeft=function(a){return a.replace(/^[\s\xa0]+/,"")};
  1166. goog.string.trimRight=function(a){return a.replace(/[\s\xa0]+$/,"")};goog.string.caseInsensitiveCompare=function(a,b){var c=String(a).toLowerCase(),d=String(b).toLowerCase();return c<d?-1:c==d?0:1};
  1167. goog.string.numberAwareCompare_=function(a,b,c){if(a==b)return 0;if(!a)return-1;if(!b)return 1;for(var d=a.toLowerCase().match(c),e=b.toLowerCase().match(c),f=Math.min(d.length,e.length),g=0;g<f;g++){c=d[g];var h=e[g];if(c!=h)return a=parseInt(c,10),!isNaN(a)&&(b=parseInt(h,10),!isNaN(b)&&a-b)?a-b:c<h?-1:1}return d.length!=e.length?d.length-e.length:a<b?-1:1};goog.string.intAwareCompare=function(a,b){return goog.string.numberAwareCompare_(a,b,/\d+|\D+/g)};
  1168. goog.string.floatAwareCompare=function(a,b){return goog.string.numberAwareCompare_(a,b,/\d+|\.\d+|\D+/g)};goog.string.numerateCompare=goog.string.floatAwareCompare;goog.string.urlEncode=function(a){return encodeURIComponent(String(a))};goog.string.urlDecode=function(a){return decodeURIComponent(a.replace(/\+/g," "))};goog.string.newLineToBr=function(a,b){return a.replace(/(\r\n|\r|\n)/g,b?"<br />":"<br>")};
  1169. goog.string.htmlEscape=function(a,b){if(b)a=a.replace(goog.string.AMP_RE_,"&amp;").replace(goog.string.LT_RE_,"&lt;").replace(goog.string.GT_RE_,"&gt;").replace(goog.string.QUOT_RE_,"&quot;").replace(goog.string.SINGLE_QUOTE_RE_,"&#39;").replace(goog.string.NULL_RE_,"&#0;"),goog.string.DETECT_DOUBLE_ESCAPING&&(a=a.replace(goog.string.E_RE_,"&#101;"));else{if(!goog.string.ALL_RE_.test(a))return a;-1!=a.indexOf("&")&&(a=a.replace(goog.string.AMP_RE_,"&amp;"));-1!=a.indexOf("<")&&(a=a.replace(goog.string.LT_RE_,
  1170. "&lt;"));-1!=a.indexOf(">")&&(a=a.replace(goog.string.GT_RE_,"&gt;"));-1!=a.indexOf('"')&&(a=a.replace(goog.string.QUOT_RE_,"&quot;"));-1!=a.indexOf("'")&&(a=a.replace(goog.string.SINGLE_QUOTE_RE_,"&#39;"));-1!=a.indexOf("\x00")&&(a=a.replace(goog.string.NULL_RE_,"&#0;"));goog.string.DETECT_DOUBLE_ESCAPING&&-1!=a.indexOf("e")&&(a=a.replace(goog.string.E_RE_,"&#101;"))}return a};goog.string.AMP_RE_=/&/g;goog.string.LT_RE_=/</g;goog.string.GT_RE_=/>/g;goog.string.QUOT_RE_=/"/g;
  1171. goog.string.SINGLE_QUOTE_RE_=/'/g;goog.string.NULL_RE_=/\x00/g;goog.string.E_RE_=/e/g;goog.string.ALL_RE_=goog.string.DETECT_DOUBLE_ESCAPING?/[\x00&<>"'e]/:/[\x00&<>"']/;goog.string.unescapeEntities=function(a){return goog.string.contains(a,"&")?!goog.string.FORCE_NON_DOM_HTML_UNESCAPING&&"document"in goog.global?goog.string.unescapeEntitiesUsingDom_(a):goog.string.unescapePureXmlEntities_(a):a};
  1172. goog.string.unescapeEntitiesWithDocument=function(a,b){return goog.string.contains(a,"&")?goog.string.unescapeEntitiesUsingDom_(a,b):a};
  1173. goog.string.unescapeEntitiesUsingDom_=function(a,b){var c={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"'},d;d=b?b.createElement("div"):goog.global.document.createElement("div");return a.replace(goog.string.HTML_ENTITY_PATTERN_,function(a,b){var g=c[a];if(g)return g;if("#"==b.charAt(0)){var h=Number("0"+b.substr(1));isNaN(h)||(g=String.fromCharCode(h))}g||(d.innerHTML=a+" ",g=d.firstChild.nodeValue.slice(0,-1));return c[a]=g})};
  1174. goog.string.unescapePureXmlEntities_=function(a){return a.replace(/&([^;]+);/g,function(a,c){switch(c){case "amp":return"&";case "lt":return"<";case "gt":return">";case "quot":return'"';default:if("#"==c.charAt(0)){var d=Number("0"+c.substr(1));if(!isNaN(d))return String.fromCharCode(d)}return a}})};goog.string.HTML_ENTITY_PATTERN_=/&([^;\s<&]+);?/g;goog.string.whitespaceEscape=function(a,b){return goog.string.newLineToBr(a.replace(/ /g," &#160;"),b)};
  1175. goog.string.preserveSpaces=function(a){return a.replace(/(^|[\n ]) /g,"$1"+goog.string.Unicode.NBSP)};goog.string.stripQuotes=function(a,b){for(var c=b.length,d=0;d<c;d++){var e=1==c?b:b.charAt(d);if(a.charAt(0)==e&&a.charAt(a.length-1)==e)return a.substring(1,a.length-1)}return a};goog.string.truncate=function(a,b,c){c&&(a=goog.string.unescapeEntities(a));a.length>b&&(a=a.substring(0,b-3)+"...");c&&(a=goog.string.htmlEscape(a));return a};
  1176. goog.string.truncateMiddle=function(a,b,c,d){c&&(a=goog.string.unescapeEntities(a));if(d&&a.length>b){d>b&&(d=b);var e=a.length-d;a=a.substring(0,b-d)+"..."+a.substring(e)}else a.length>b&&(d=Math.floor(b/2),e=a.length-d,a=a.substring(0,d+b%2)+"..."+a.substring(e));c&&(a=goog.string.htmlEscape(a));return a};goog.string.specialEscapeChars_={"\x00":"\\0","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\x0B":"\\x0B",'"':'\\"',"\\":"\\\\","<":"<"};goog.string.jsEscapeCache_={"'":"\\'"};
  1177. goog.string.quote=function(a){a=String(a);for(var b=['"'],c=0;c<a.length;c++){var d=a.charAt(c),e=d.charCodeAt(0);b[c+1]=goog.string.specialEscapeChars_[d]||(31<e&&127>e?d:goog.string.escapeChar(d))}b.push('"');return b.join("")};goog.string.escapeString=function(a){for(var b=[],c=0;c<a.length;c++)b[c]=goog.string.escapeChar(a.charAt(c));return b.join("")};
  1178. goog.string.escapeChar=function(a){if(a in goog.string.jsEscapeCache_)return goog.string.jsEscapeCache_[a];if(a in goog.string.specialEscapeChars_)return goog.string.jsEscapeCache_[a]=goog.string.specialEscapeChars_[a];var b,c=a.charCodeAt(0);if(31<c&&127>c)b=a;else{if(256>c){if(b="\\x",16>c||256<c)b+="0"}else b="\\u",4096>c&&(b+="0");b+=c.toString(16).toUpperCase()}return goog.string.jsEscapeCache_[a]=b};goog.string.contains=function(a,b){return-1!=a.indexOf(b)};
  1179. goog.string.caseInsensitiveContains=function(a,b){return goog.string.contains(a.toLowerCase(),b.toLowerCase())};goog.string.countOf=function(a,b){return a&&b?a.split(b).length-1:0};goog.string.removeAt=function(a,b,c){var d=a;0<=b&&b<a.length&&0<c&&(d=a.substr(0,b)+a.substr(b+c,a.length-b-c));return d};goog.string.remove=function(a,b){var c=new RegExp(goog.string.regExpEscape(b),"");return a.replace(c,"")};
  1180. goog.string.removeAll=function(a,b){var c=new RegExp(goog.string.regExpEscape(b),"g");return a.replace(c,"")};goog.string.regExpEscape=function(a){return String(a).replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08")};goog.string.repeat=String.prototype.repeat?function(a,b){return a.repeat(b)}:function(a,b){return Array(b+1).join(a)};
  1181. goog.string.padNumber=function(a,b,c){a=goog.isDef(c)?a.toFixed(c):String(a);c=a.indexOf(".");-1==c&&(c=a.length);return goog.string.repeat("0",Math.max(0,b-c))+a};goog.string.makeSafe=function(a){return null==a?"":String(a)};goog.string.buildString=function(a){return Array.prototype.join.call(arguments,"")};goog.string.getRandomString=function(){return Math.floor(2147483648*Math.random()).toString(36)+Math.abs(Math.floor(2147483648*Math.random())^goog.now()).toString(36)};
  1182. goog.string.compareVersions=function(a,b){for(var c=0,d=goog.string.trim(String(a)).split("."),e=goog.string.trim(String(b)).split("."),f=Math.max(d.length,e.length),g=0;0==c&&g<f;g++){var h=d[g]||"",k=e[g]||"",l=RegExp("(\\d*)(\\D*)","g"),p=RegExp("(\\d*)(\\D*)","g");do{var m=l.exec(h)||["","",""],n=p.exec(k)||["","",""];if(0==m[0].length&&0==n[0].length)break;var c=0==m[1].length?0:parseInt(m[1],10),q=0==n[1].length?0:parseInt(n[1],10),c=goog.string.compareElements_(c,q)||goog.string.compareElements_(0==
  1183. m[2].length,0==n[2].length)||goog.string.compareElements_(m[2],n[2])}while(0==c)}return c};goog.string.compareElements_=function(a,b){return a<b?-1:a>b?1:0};goog.string.hashCode=function(a){for(var b=0,c=0;c<a.length;++c)b=31*b+a.charCodeAt(c)>>>0;return b};goog.string.uniqueStringCounter_=2147483648*Math.random()|0;goog.string.createUniqueString=function(){return"goog_"+goog.string.uniqueStringCounter_++};
  1184. goog.string.toNumber=function(a){var b=Number(a);return 0==b&&goog.string.isEmptyOrWhitespace(a)?NaN:b};goog.string.isLowerCamelCase=function(a){return/^[a-z]+([A-Z][a-z]*)*$/.test(a)};goog.string.isUpperCamelCase=function(a){return/^([A-Z][a-z]*)+$/.test(a)};goog.string.toCamelCase=function(a){return String(a).replace(/\-([a-z])/g,function(a,c){return c.toUpperCase()})};goog.string.toSelectorCase=function(a){return String(a).replace(/([A-Z])/g,"-$1").toLowerCase()};
  1185. goog.string.toTitleCase=function(a,b){var c=goog.isString(b)?goog.string.regExpEscape(b):"\\s";return a.replace(new RegExp("(^"+(c?"|["+c+"]+":"")+")([a-z])","g"),function(a,b,c){return b+c.toUpperCase()})};goog.string.capitalize=function(a){return String(a.charAt(0)).toUpperCase()+String(a.substr(1)).toLowerCase()};goog.string.parseInt=function(a){isFinite(a)&&(a=String(a));return goog.isString(a)?/^\s*-?0x/i.test(a)?parseInt(a,16):parseInt(a,10):NaN};
  1186. goog.string.splitLimit=function(a,b,c){a=a.split(b);for(var d=[];0<c&&a.length;)d.push(a.shift()),c--;a.length&&d.push(a.join(b));return d};goog.string.editDistance=function(a,b){var c=[],d=[];if(a==b)return 0;if(!a.length||!b.length)return Math.max(a.length,b.length);for(var e=0;e<b.length+1;e++)c[e]=e;for(e=0;e<a.length;e++){d[0]=e+1;for(var f=0;f<b.length;f++)d[f+1]=Math.min(d[f]+1,c[f+1]+1,c[f]+Number(a[e]!=b[f]));for(f=0;f<c.length;f++)c[f]=d[f]}return d[b.length]};goog.asserts={};goog.asserts.ENABLE_ASSERTS=goog.DEBUG;goog.asserts.AssertionError=function(a,b){b.unshift(a);goog.debug.Error.call(this,goog.string.subs.apply(null,b));b.shift();this.messagePattern=a};goog.inherits(goog.asserts.AssertionError,goog.debug.Error);goog.asserts.AssertionError.prototype.name="AssertionError";goog.asserts.DEFAULT_ERROR_HANDLER=function(a){throw a;};goog.asserts.errorHandler_=goog.asserts.DEFAULT_ERROR_HANDLER;
  1187. goog.asserts.doAssertFailure_=function(a,b,c,d){var e="Assertion failed";if(c)var e=e+(": "+c),f=d;else a&&(e+=": "+a,f=b);a=new goog.asserts.AssertionError(""+e,f||[]);goog.asserts.errorHandler_(a)};goog.asserts.setErrorHandler=function(a){goog.asserts.ENABLE_ASSERTS&&(goog.asserts.errorHandler_=a)};goog.asserts.assert=function(a,b,c){goog.asserts.ENABLE_ASSERTS&&!a&&goog.asserts.doAssertFailure_("",null,b,Array.prototype.slice.call(arguments,2));return a};
  1188. goog.asserts.fail=function(a,b){goog.asserts.ENABLE_ASSERTS&&goog.asserts.errorHandler_(new goog.asserts.AssertionError("Failure"+(a?": "+a:""),Array.prototype.slice.call(arguments,1)))};goog.asserts.assertNumber=function(a,b,c){goog.asserts.ENABLE_ASSERTS&&!goog.isNumber(a)&&goog.asserts.doAssertFailure_("Expected number but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};
  1189. goog.asserts.assertString=function(a,b,c){goog.asserts.ENABLE_ASSERTS&&!goog.isString(a)&&goog.asserts.doAssertFailure_("Expected string but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};goog.asserts.assertFunction=function(a,b,c){goog.asserts.ENABLE_ASSERTS&&!goog.isFunction(a)&&goog.asserts.doAssertFailure_("Expected function but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};
  1190. goog.asserts.assertObject=function(a,b,c){goog.asserts.ENABLE_ASSERTS&&!goog.isObject(a)&&goog.asserts.doAssertFailure_("Expected object but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};goog.asserts.assertArray=function(a,b,c){goog.asserts.ENABLE_ASSERTS&&!goog.isArray(a)&&goog.asserts.doAssertFailure_("Expected array but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};
  1191. goog.asserts.assertBoolean=function(a,b,c){goog.asserts.ENABLE_ASSERTS&&!goog.isBoolean(a)&&goog.asserts.doAssertFailure_("Expected boolean but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};goog.asserts.assertElement=function(a,b,c){!goog.asserts.ENABLE_ASSERTS||goog.isObject(a)&&a.nodeType==goog.dom.NodeType.ELEMENT||goog.asserts.doAssertFailure_("Expected Element but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};
  1192. goog.asserts.assertInstanceof=function(a,b,c,d){!goog.asserts.ENABLE_ASSERTS||a instanceof b||goog.asserts.doAssertFailure_("Expected instanceof %s but got %s.",[goog.asserts.getType_(b),goog.asserts.getType_(a)],c,Array.prototype.slice.call(arguments,3));return a};goog.asserts.assertObjectPrototypeIsIntact=function(){for(var a in Object.prototype)goog.asserts.fail(a+" should not be enumerable in Object.prototype.")};
  1193. goog.asserts.getType_=function(a){return a instanceof Function?a.displayName||a.name||"unknown type name":a instanceof Object?a.constructor.displayName||a.constructor.name||Object.prototype.toString.call(a):null===a?"null":typeof a};var jspb={Map:function(a,b){this.arr_=a;this.valueCtor_=b;this.map_={};this.arrClean=!0;0<this.arr_.length&&this.loadFromArray_()}};jspb.Map.prototype.loadFromArray_=function(){for(var a=0;a<this.arr_.length;a++){var b=this.arr_[a],c=b[0];this.map_[c.toString()]=new jspb.Map.Entry_(c,b[1])}this.arrClean=!0};
  1194. jspb.Map.prototype.toArray=function(){if(this.arrClean){if(this.valueCtor_){var a=this.map_,b;for(b in a)if(Object.prototype.hasOwnProperty.call(a,b)){var c=a[b].valueWrapper;c&&c.toArray()}}}else{this.arr_.length=0;a=this.stringKeys_();a.sort();for(b=0;b<a.length;b++){var d=this.map_[a[b]];(c=d.valueWrapper)&&c.toArray();this.arr_.push([d.key,d.value])}this.arrClean=!0}return this.arr_};
  1195. jspb.Map.prototype.toObject=function(a,b){for(var c=this.toArray(),d=[],e=0;e<c.length;e++){var f=this.map_[c[e][0].toString()];this.wrapEntry_(f);var g=f.valueWrapper;g?(goog.asserts.assert(b),d.push([f.key,b(a,g)])):d.push([f.key,f.value])}return d};jspb.Map.fromObject=function(a,b,c){b=new jspb.Map([],b);for(var d=0;d<a.length;d++){var e=a[d][0],f=c(a[d][1]);b.set(e,f)}return b};jspb.Map.ArrayIteratorIterable_=function(a){this.idx_=0;this.arr_=a};
  1196. jspb.Map.ArrayIteratorIterable_.prototype.next=function(){return this.idx_<this.arr_.length?{done:!1,value:this.arr_[this.idx_++]}:{done:!0,value:void 0}};$jscomp.initSymbol();"undefined"!=typeof Symbol&&($jscomp.initSymbol(),$jscomp.initSymbolIterator(),jspb.Map.ArrayIteratorIterable_.prototype[Symbol.iterator]=function(){return this});jspb.Map.prototype.getLength=function(){return this.stringKeys_().length};jspb.Map.prototype.clear=function(){this.map_={};this.arrClean=!1};
  1197. jspb.Map.prototype.del=function(a){a=a.toString();var b=this.map_.hasOwnProperty(a);delete this.map_[a];this.arrClean=!1;return b};jspb.Map.prototype.getEntryList=function(){var a=[],b=this.stringKeys_();b.sort();for(var c=0;c<b.length;c++){var d=this.map_[b[c]];a.push([d.key,d.value])}return a};jspb.Map.prototype.entries=function(){var a=[],b=this.stringKeys_();b.sort();for(var c=0;c<b.length;c++){var d=this.map_[b[c]];a.push([d.key,this.wrapEntry_(d)])}return new jspb.Map.ArrayIteratorIterable_(a)};
  1198. jspb.Map.prototype.keys=function(){var a=[],b=this.stringKeys_();b.sort();for(var c=0;c<b.length;c++)a.push(this.map_[b[c]].key);return new jspb.Map.ArrayIteratorIterable_(a)};jspb.Map.prototype.values=function(){var a=[],b=this.stringKeys_();b.sort();for(var c=0;c<b.length;c++)a.push(this.wrapEntry_(this.map_[b[c]]));return new jspb.Map.ArrayIteratorIterable_(a)};
  1199. jspb.Map.prototype.forEach=function(a,b){var c=this.stringKeys_();c.sort();for(var d=0;d<c.length;d++){var e=this.map_[c[d]];a.call(b,this.wrapEntry_(e),e.key,this)}};jspb.Map.prototype.set=function(a,b){var c=new jspb.Map.Entry_(a);this.valueCtor_?(c.valueWrapper=b,c.value=b.toArray()):c.value=b;this.map_[a.toString()]=c;this.arrClean=!1;return this};jspb.Map.prototype.wrapEntry_=function(a){return this.valueCtor_?(a.valueWrapper||(a.valueWrapper=new this.valueCtor_(a.value)),a.valueWrapper):a.value};
  1200. jspb.Map.prototype.get=function(a){if(a=this.map_[a.toString()])return this.wrapEntry_(a)};jspb.Map.prototype.has=function(a){return a.toString()in this.map_};jspb.Map.prototype.serializeBinary=function(a,b,c,d,e){var f=this.stringKeys_();f.sort();for(var g=0;g<f.length;g++){var h=this.map_[f[g]];b.beginSubMessage(a);c.call(b,1,h.key);this.valueCtor_?d.call(b,2,this.wrapEntry_(h),e):d.call(b,2,h.value);b.endSubMessage()}};
  1201. jspb.Map.deserializeBinary=function(a,b,c,d,e,f){for(var g=void 0;b.nextField()&&!b.isEndGroup();){var h=b.getFieldNumber();1==h?f=c.call(b):2==h&&(a.valueCtor_?(goog.asserts.assert(e),g=new a.valueCtor_,d.call(b,g,e)):g=d.call(b))}goog.asserts.assert(void 0!=f);goog.asserts.assert(void 0!=g);a.set(f,g)};jspb.Map.prototype.stringKeys_=function(){var a=this.map_,b=[],c;for(c in a)Object.prototype.hasOwnProperty.call(a,c)&&b.push(c);return b};
  1202. jspb.Map.Entry_=function(a,b){this.key=a;this.value=b;this.valueWrapper=void 0};goog.array={};goog.NATIVE_ARRAY_PROTOTYPES=goog.TRUSTED_SITE;goog.array.ASSUME_NATIVE_FUNCTIONS=!1;goog.array.peek=function(a){return a[a.length-1]};goog.array.last=goog.array.peek;
  1203. goog.array.indexOf=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.indexOf)?function(a,b,c){goog.asserts.assert(null!=a.length);return Array.prototype.indexOf.call(a,b,c)}:function(a,b,c){c=null==c?0:0>c?Math.max(0,a.length+c):c;if(goog.isString(a))return goog.isString(b)&&1==b.length?a.indexOf(b,c):-1;for(;c<a.length;c++)if(c in a&&a[c]===b)return c;return-1};
  1204. goog.array.lastIndexOf=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.lastIndexOf)?function(a,b,c){goog.asserts.assert(null!=a.length);return Array.prototype.lastIndexOf.call(a,b,null==c?a.length-1:c)}:function(a,b,c){c=null==c?a.length-1:c;0>c&&(c=Math.max(0,a.length+c));if(goog.isString(a))return goog.isString(b)&&1==b.length?a.lastIndexOf(b,c):-1;for(;0<=c;c--)if(c in a&&a[c]===b)return c;return-1};
  1205. goog.array.forEach=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.forEach)?function(a,b,c){goog.asserts.assert(null!=a.length);Array.prototype.forEach.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=goog.isString(a)?a.split(""):a,f=0;f<d;f++)f in e&&b.call(c,e[f],f,a)};goog.array.forEachRight=function(a,b,c){for(var d=a.length,e=goog.isString(a)?a.split(""):a,d=d-1;0<=d;--d)d in e&&b.call(c,e[d],d,a)};
  1206. goog.array.filter=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.filter)?function(a,b,c){goog.asserts.assert(null!=a.length);return Array.prototype.filter.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=[],f=0,g=goog.isString(a)?a.split(""):a,h=0;h<d;h++)if(h in g){var k=g[h];b.call(c,k,h,a)&&(e[f++]=k)}return e};
  1207. goog.array.map=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.map)?function(a,b,c){goog.asserts.assert(null!=a.length);return Array.prototype.map.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=Array(d),f=goog.isString(a)?a.split(""):a,g=0;g<d;g++)g in f&&(e[g]=b.call(c,f[g],g,a));return e};
  1208. goog.array.reduce=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.reduce)?function(a,b,c,d){goog.asserts.assert(null!=a.length);d&&(b=goog.bind(b,d));return Array.prototype.reduce.call(a,b,c)}:function(a,b,c,d){var e=c;goog.array.forEach(a,function(c,g){e=b.call(d,e,c,g,a)});return e};
  1209. goog.array.reduceRight=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.reduceRight)?function(a,b,c,d){goog.asserts.assert(null!=a.length);goog.asserts.assert(null!=b);d&&(b=goog.bind(b,d));return Array.prototype.reduceRight.call(a,b,c)}:function(a,b,c,d){var e=c;goog.array.forEachRight(a,function(c,g){e=b.call(d,e,c,g,a)});return e};
  1210. goog.array.some=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.some)?function(a,b,c){goog.asserts.assert(null!=a.length);return Array.prototype.some.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=goog.isString(a)?a.split(""):a,f=0;f<d;f++)if(f in e&&b.call(c,e[f],f,a))return!0;return!1};
  1211. goog.array.every=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.every)?function(a,b,c){goog.asserts.assert(null!=a.length);return Array.prototype.every.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=goog.isString(a)?a.split(""):a,f=0;f<d;f++)if(f in e&&!b.call(c,e[f],f,a))return!1;return!0};goog.array.count=function(a,b,c){var d=0;goog.array.forEach(a,function(a,f,g){b.call(c,a,f,g)&&++d},c);return d};
  1212. goog.array.find=function(a,b,c){b=goog.array.findIndex(a,b,c);return 0>b?null:goog.isString(a)?a.charAt(b):a[b]};goog.array.findIndex=function(a,b,c){for(var d=a.length,e=goog.isString(a)?a.split(""):a,f=0;f<d;f++)if(f in e&&b.call(c,e[f],f,a))return f;return-1};goog.array.findRight=function(a,b,c){b=goog.array.findIndexRight(a,b,c);return 0>b?null:goog.isString(a)?a.charAt(b):a[b]};
  1213. goog.array.findIndexRight=function(a,b,c){for(var d=a.length,e=goog.isString(a)?a.split(""):a,d=d-1;0<=d;d--)if(d in e&&b.call(c,e[d],d,a))return d;return-1};goog.array.contains=function(a,b){return 0<=goog.array.indexOf(a,b)};goog.array.isEmpty=function(a){return 0==a.length};goog.array.clear=function(a){if(!goog.isArray(a))for(var b=a.length-1;0<=b;b--)delete a[b];a.length=0};goog.array.insert=function(a,b){goog.array.contains(a,b)||a.push(b)};
  1214. goog.array.insertAt=function(a,b,c){goog.array.splice(a,c,0,b)};goog.array.insertArrayAt=function(a,b,c){goog.partial(goog.array.splice,a,c,0).apply(null,b)};goog.array.insertBefore=function(a,b,c){var d;2==arguments.length||0>(d=goog.array.indexOf(a,c))?a.push(b):goog.array.insertAt(a,b,d)};goog.array.remove=function(a,b){var c=goog.array.indexOf(a,b),d;(d=0<=c)&&goog.array.removeAt(a,c);return d};
  1215. goog.array.removeAt=function(a,b){goog.asserts.assert(null!=a.length);return 1==Array.prototype.splice.call(a,b,1).length};goog.array.removeIf=function(a,b,c){b=goog.array.findIndex(a,b,c);return 0<=b?(goog.array.removeAt(a,b),!0):!1};goog.array.removeAllIf=function(a,b,c){var d=0;goog.array.forEachRight(a,function(e,f){b.call(c,e,f,a)&&goog.array.removeAt(a,f)&&d++});return d};goog.array.concat=function(a){return Array.prototype.concat.apply(Array.prototype,arguments)};
  1216. goog.array.join=function(a){return Array.prototype.concat.apply(Array.prototype,arguments)};goog.array.toArray=function(a){var b=a.length;if(0<b){for(var c=Array(b),d=0;d<b;d++)c[d]=a[d];return c}return[]};goog.array.clone=goog.array.toArray;goog.array.extend=function(a,b){for(var c=1;c<arguments.length;c++){var d=arguments[c];if(goog.isArrayLike(d)){var e=a.length||0,f=d.length||0;a.length=e+f;for(var g=0;g<f;g++)a[e+g]=d[g]}else a.push(d)}};
  1217. goog.array.splice=function(a,b,c,d){goog.asserts.assert(null!=a.length);return Array.prototype.splice.apply(a,goog.array.slice(arguments,1))};goog.array.slice=function(a,b,c){goog.asserts.assert(null!=a.length);return 2>=arguments.length?Array.prototype.slice.call(a,b):Array.prototype.slice.call(a,b,c)};
  1218. goog.array.removeDuplicates=function(a,b,c){b=b||a;var d=function(a){return goog.isObject(a)?"o"+goog.getUid(a):(typeof a).charAt(0)+a};c=c||d;for(var d={},e=0,f=0;f<a.length;){var g=a[f++],h=c(g);Object.prototype.hasOwnProperty.call(d,h)||(d[h]=!0,b[e++]=g)}b.length=e};goog.array.binarySearch=function(a,b,c){return goog.array.binarySearch_(a,c||goog.array.defaultCompare,!1,b)};goog.array.binarySelect=function(a,b,c){return goog.array.binarySearch_(a,b,!0,void 0,c)};
  1219. goog.array.binarySearch_=function(a,b,c,d,e){for(var f=0,g=a.length,h;f<g;){var k=f+g>>1,l;l=c?b.call(e,a[k],k,a):b(d,a[k]);0<l?f=k+1:(g=k,h=!l)}return h?f:~f};goog.array.sort=function(a,b){a.sort(b||goog.array.defaultCompare)};goog.array.stableSort=function(a,b){for(var c=0;c<a.length;c++)a[c]={index:c,value:a[c]};var d=b||goog.array.defaultCompare;goog.array.sort(a,function(a,b){return d(a.value,b.value)||a.index-b.index});for(c=0;c<a.length;c++)a[c]=a[c].value};
  1220. goog.array.sortByKey=function(a,b,c){var d=c||goog.array.defaultCompare;goog.array.sort(a,function(a,c){return d(b(a),b(c))})};goog.array.sortObjectsByKey=function(a,b,c){goog.array.sortByKey(a,function(a){return a[b]},c)};goog.array.isSorted=function(a,b,c){b=b||goog.array.defaultCompare;for(var d=1;d<a.length;d++){var e=b(a[d-1],a[d]);if(0<e||0==e&&c)return!1}return!0};
  1221. goog.array.equals=function(a,b,c){if(!goog.isArrayLike(a)||!goog.isArrayLike(b)||a.length!=b.length)return!1;var d=a.length;c=c||goog.array.defaultCompareEquality;for(var e=0;e<d;e++)if(!c(a[e],b[e]))return!1;return!0};goog.array.compare3=function(a,b,c){c=c||goog.array.defaultCompare;for(var d=Math.min(a.length,b.length),e=0;e<d;e++){var f=c(a[e],b[e]);if(0!=f)return f}return goog.array.defaultCompare(a.length,b.length)};goog.array.defaultCompare=function(a,b){return a>b?1:a<b?-1:0};
  1222. goog.array.inverseDefaultCompare=function(a,b){return-goog.array.defaultCompare(a,b)};goog.array.defaultCompareEquality=function(a,b){return a===b};goog.array.binaryInsert=function(a,b,c){c=goog.array.binarySearch(a,b,c);return 0>c?(goog.array.insertAt(a,b,-(c+1)),!0):!1};goog.array.binaryRemove=function(a,b,c){b=goog.array.binarySearch(a,b,c);return 0<=b?goog.array.removeAt(a,b):!1};
  1223. goog.array.bucket=function(a,b,c){for(var d={},e=0;e<a.length;e++){var f=a[e],g=b.call(c,f,e,a);goog.isDef(g)&&(d[g]||(d[g]=[])).push(f)}return d};goog.array.toObject=function(a,b,c){var d={};goog.array.forEach(a,function(e,f){d[b.call(c,e,f,a)]=e});return d};goog.array.range=function(a,b,c){var d=[],e=0,f=a;c=c||1;void 0!==b&&(e=a,f=b);if(0>c*(f-e))return[];if(0<c)for(a=e;a<f;a+=c)d.push(a);else for(a=e;a>f;a+=c)d.push(a);return d};
  1224. goog.array.repeat=function(a,b){for(var c=[],d=0;d<b;d++)c[d]=a;return c};goog.array.flatten=function(a){for(var b=[],c=0;c<arguments.length;c++){var d=arguments[c];if(goog.isArray(d))for(var e=0;e<d.length;e+=8192)for(var f=goog.array.slice(d,e,e+8192),f=goog.array.flatten.apply(null,f),g=0;g<f.length;g++)b.push(f[g]);else b.push(d)}return b};
  1225. goog.array.rotate=function(a,b){goog.asserts.assert(null!=a.length);a.length&&(b%=a.length,0<b?Array.prototype.unshift.apply(a,a.splice(-b,b)):0>b&&Array.prototype.push.apply(a,a.splice(0,-b)));return a};goog.array.moveItem=function(a,b,c){goog.asserts.assert(0<=b&&b<a.length);goog.asserts.assert(0<=c&&c<a.length);b=Array.prototype.splice.call(a,b,1);Array.prototype.splice.call(a,c,0,b[0])};
  1226. goog.array.zip=function(a){if(!arguments.length)return[];for(var b=[],c=arguments[0].length,d=1;d<arguments.length;d++)arguments[d].length<c&&(c=arguments[d].length);for(d=0;d<c;d++){for(var e=[],f=0;f<arguments.length;f++)e.push(arguments[f][d]);b.push(e)}return b};goog.array.shuffle=function(a,b){for(var c=b||Math.random,d=a.length-1;0<d;d--){var e=Math.floor(c()*(d+1)),f=a[d];a[d]=a[e];a[e]=f}};goog.array.copyByIndex=function(a,b){var c=[];goog.array.forEach(b,function(b){c.push(a[b])});return c};goog.crypt={};goog.crypt.stringToByteArray=function(a){for(var b=[],c=0,d=0;d<a.length;d++){for(var e=a.charCodeAt(d);255<e;)b[c++]=e&255,e>>=8;b[c++]=e}return b};goog.crypt.byteArrayToString=function(a){if(8192>=a.length)return String.fromCharCode.apply(null,a);for(var b="",c=0;c<a.length;c+=8192)var d=goog.array.slice(a,c,c+8192),b=b+String.fromCharCode.apply(null,d);return b};goog.crypt.byteArrayToHex=function(a){return goog.array.map(a,function(a){a=a.toString(16);return 1<a.length?a:"0"+a}).join("")};
  1227. goog.crypt.hexToByteArray=function(a){goog.asserts.assert(0==a.length%2,"Key string length must be multiple of 2");for(var b=[],c=0;c<a.length;c+=2)b.push(parseInt(a.substring(c,c+2),16));return b};
  1228. goog.crypt.stringToUtf8ByteArray=function(a){for(var b=[],c=0,d=0;d<a.length;d++){var e=a.charCodeAt(d);128>e?b[c++]=e:(2048>e?b[c++]=e>>6|192:(55296==(e&64512)&&d+1<a.length&&56320==(a.charCodeAt(d+1)&64512)?(e=65536+((e&1023)<<10)+(a.charCodeAt(++d)&1023),b[c++]=e>>18|240,b[c++]=e>>12&63|128):b[c++]=e>>12|224,b[c++]=e>>6&63|128),b[c++]=e&63|128)}return b};
  1229. goog.crypt.utf8ByteArrayToString=function(a){for(var b=[],c=0,d=0;c<a.length;){var e=a[c++];if(128>e)b[d++]=String.fromCharCode(e);else if(191<e&&224>e){var f=a[c++];b[d++]=String.fromCharCode((e&31)<<6|f&63)}else if(239<e&&365>e){var f=a[c++],g=a[c++],h=a[c++],e=((e&7)<<18|(f&63)<<12|(g&63)<<6|h&63)-65536;b[d++]=String.fromCharCode(55296+(e>>10));b[d++]=String.fromCharCode(56320+(e&1023))}else f=a[c++],g=a[c++],b[d++]=String.fromCharCode((e&15)<<12|(f&63)<<6|g&63)}return b.join("")};
  1230. goog.crypt.xorByteArray=function(a,b){goog.asserts.assert(a.length==b.length,"XOR array lengths must match");for(var c=[],d=0;d<a.length;d++)c.push(a[d]^b[d]);return c};goog.labs={};goog.labs.userAgent={};goog.labs.userAgent.util={};goog.labs.userAgent.util.getNativeUserAgentString_=function(){var a=goog.labs.userAgent.util.getNavigator_();return a&&(a=a.userAgent)?a:""};goog.labs.userAgent.util.getNavigator_=function(){return goog.global.navigator};goog.labs.userAgent.util.userAgent_=goog.labs.userAgent.util.getNativeUserAgentString_();goog.labs.userAgent.util.setUserAgent=function(a){goog.labs.userAgent.util.userAgent_=a||goog.labs.userAgent.util.getNativeUserAgentString_()};
  1231. goog.labs.userAgent.util.getUserAgent=function(){return goog.labs.userAgent.util.userAgent_};goog.labs.userAgent.util.matchUserAgent=function(a){var b=goog.labs.userAgent.util.getUserAgent();return goog.string.contains(b,a)};goog.labs.userAgent.util.matchUserAgentIgnoreCase=function(a){var b=goog.labs.userAgent.util.getUserAgent();return goog.string.caseInsensitiveContains(b,a)};
  1232. goog.labs.userAgent.util.extractVersionTuples=function(a){for(var b=RegExp("(\\w[\\w ]+)/([^\\s]+)\\s*(?:\\((.*?)\\))?","g"),c=[],d;d=b.exec(a);)c.push([d[1],d[2],d[3]||void 0]);return c};goog.labs.userAgent.platform={};goog.labs.userAgent.platform.isAndroid=function(){return goog.labs.userAgent.util.matchUserAgent("Android")};goog.labs.userAgent.platform.isIpod=function(){return goog.labs.userAgent.util.matchUserAgent("iPod")};goog.labs.userAgent.platform.isIphone=function(){return goog.labs.userAgent.util.matchUserAgent("iPhone")&&!goog.labs.userAgent.util.matchUserAgent("iPod")&&!goog.labs.userAgent.util.matchUserAgent("iPad")};goog.labs.userAgent.platform.isIpad=function(){return goog.labs.userAgent.util.matchUserAgent("iPad")};
  1233. goog.labs.userAgent.platform.isIos=function(){return goog.labs.userAgent.platform.isIphone()||goog.labs.userAgent.platform.isIpad()||goog.labs.userAgent.platform.isIpod()};goog.labs.userAgent.platform.isMacintosh=function(){return goog.labs.userAgent.util.matchUserAgent("Macintosh")};goog.labs.userAgent.platform.isLinux=function(){return goog.labs.userAgent.util.matchUserAgent("Linux")};goog.labs.userAgent.platform.isWindows=function(){return goog.labs.userAgent.util.matchUserAgent("Windows")};
  1234. goog.labs.userAgent.platform.isChromeOS=function(){return goog.labs.userAgent.util.matchUserAgent("CrOS")};
  1235. goog.labs.userAgent.platform.getVersion=function(){var a=goog.labs.userAgent.util.getUserAgent(),b="";goog.labs.userAgent.platform.isWindows()?(b=/Windows (?:NT|Phone) ([0-9.]+)/,b=(a=b.exec(a))?a[1]:"0.0"):goog.labs.userAgent.platform.isIos()?(b=/(?:iPhone|iPod|iPad|CPU)\s+OS\s+(\S+)/,b=(a=b.exec(a))&&a[1].replace(/_/g,".")):goog.labs.userAgent.platform.isMacintosh()?(b=/Mac OS X ([0-9_.]+)/,b=(a=b.exec(a))?a[1].replace(/_/g,"."):"10"):goog.labs.userAgent.platform.isAndroid()?(b=/Android\s+([^\);]+)(\)|;)/,
  1236. b=(a=b.exec(a))&&a[1]):goog.labs.userAgent.platform.isChromeOS()&&(b=/(?:CrOS\s+(?:i686|x86_64)\s+([0-9.]+))/,b=(a=b.exec(a))&&a[1]);return b||""};goog.labs.userAgent.platform.isVersionOrHigher=function(a){return 0<=goog.string.compareVersions(goog.labs.userAgent.platform.getVersion(),a)};goog.object={};goog.object.forEach=function(a,b,c){for(var d in a)b.call(c,a[d],d,a)};goog.object.filter=function(a,b,c){var d={},e;for(e in a)b.call(c,a[e],e,a)&&(d[e]=a[e]);return d};goog.object.map=function(a,b,c){var d={},e;for(e in a)d[e]=b.call(c,a[e],e,a);return d};goog.object.some=function(a,b,c){for(var d in a)if(b.call(c,a[d],d,a))return!0;return!1};goog.object.every=function(a,b,c){for(var d in a)if(!b.call(c,a[d],d,a))return!1;return!0};
  1237. goog.object.getCount=function(a){var b=0,c;for(c in a)b++;return b};goog.object.getAnyKey=function(a){for(var b in a)return b};goog.object.getAnyValue=function(a){for(var b in a)return a[b]};goog.object.contains=function(a,b){return goog.object.containsValue(a,b)};goog.object.getValues=function(a){var b=[],c=0,d;for(d in a)b[c++]=a[d];return b};goog.object.getKeys=function(a){var b=[],c=0,d;for(d in a)b[c++]=d;return b};
  1238. goog.object.getValueByKeys=function(a,b){for(var c=goog.isArrayLike(b),d=c?b:arguments,c=c?0:1;c<d.length&&(a=a[d[c]],goog.isDef(a));c++);return a};goog.object.containsKey=function(a,b){return null!==a&&b in a};goog.object.containsValue=function(a,b){for(var c in a)if(a[c]==b)return!0;return!1};goog.object.findKey=function(a,b,c){for(var d in a)if(b.call(c,a[d],d,a))return d};goog.object.findValue=function(a,b,c){return(b=goog.object.findKey(a,b,c))&&a[b]};
  1239. goog.object.isEmpty=function(a){for(var b in a)return!1;return!0};goog.object.clear=function(a){for(var b in a)delete a[b]};goog.object.remove=function(a,b){var c;(c=b in a)&&delete a[b];return c};goog.object.add=function(a,b,c){if(null!==a&&b in a)throw Error('The object already contains the key "'+b+'"');goog.object.set(a,b,c)};goog.object.get=function(a,b,c){return null!==a&&b in a?a[b]:c};goog.object.set=function(a,b,c){a[b]=c};
  1240. goog.object.setIfUndefined=function(a,b,c){return b in a?a[b]:a[b]=c};goog.object.setWithReturnValueIfNotSet=function(a,b,c){if(b in a)return a[b];c=c();return a[b]=c};goog.object.equals=function(a,b){for(var c in a)if(!(c in b)||a[c]!==b[c])return!1;for(c in b)if(!(c in a))return!1;return!0};goog.object.clone=function(a){var b={},c;for(c in a)b[c]=a[c];return b};
  1241. goog.object.unsafeClone=function(a){var b=goog.typeOf(a);if("object"==b||"array"==b){if(goog.isFunction(a.clone))return a.clone();var b="array"==b?[]:{},c;for(c in a)b[c]=goog.object.unsafeClone(a[c]);return b}return a};goog.object.transpose=function(a){var b={},c;for(c in a)b[a[c]]=c;return b};goog.object.PROTOTYPE_FIELDS_="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");
  1242. goog.object.extend=function(a,b){for(var c,d,e=1;e<arguments.length;e++){d=arguments[e];for(c in d)a[c]=d[c];for(var f=0;f<goog.object.PROTOTYPE_FIELDS_.length;f++)c=goog.object.PROTOTYPE_FIELDS_[f],Object.prototype.hasOwnProperty.call(d,c)&&(a[c]=d[c])}};
  1243. goog.object.create=function(a){var b=arguments.length;if(1==b&&goog.isArray(arguments[0]))return goog.object.create.apply(null,arguments[0]);if(b%2)throw Error("Uneven number of arguments");for(var c={},d=0;d<b;d+=2)c[arguments[d]]=arguments[d+1];return c};goog.object.createSet=function(a){var b=arguments.length;if(1==b&&goog.isArray(arguments[0]))return goog.object.createSet.apply(null,arguments[0]);for(var c={},d=0;d<b;d++)c[arguments[d]]=!0;return c};
  1244. goog.object.createImmutableView=function(a){var b=a;Object.isFrozen&&!Object.isFrozen(a)&&(b=Object.create(a),Object.freeze(b));return b};goog.object.isImmutableView=function(a){return!!Object.isFrozen&&Object.isFrozen(a)};goog.labs.userAgent.browser={};goog.labs.userAgent.browser.matchOpera_=function(){return goog.labs.userAgent.util.matchUserAgent("Opera")||goog.labs.userAgent.util.matchUserAgent("OPR")};goog.labs.userAgent.browser.matchIE_=function(){return goog.labs.userAgent.util.matchUserAgent("Trident")||goog.labs.userAgent.util.matchUserAgent("MSIE")};goog.labs.userAgent.browser.matchEdge_=function(){return goog.labs.userAgent.util.matchUserAgent("Edge")};goog.labs.userAgent.browser.matchFirefox_=function(){return goog.labs.userAgent.util.matchUserAgent("Firefox")};
  1245. goog.labs.userAgent.browser.matchSafari_=function(){return goog.labs.userAgent.util.matchUserAgent("Safari")&&!(goog.labs.userAgent.browser.matchChrome_()||goog.labs.userAgent.browser.matchCoast_()||goog.labs.userAgent.browser.matchOpera_()||goog.labs.userAgent.browser.matchEdge_()||goog.labs.userAgent.browser.isSilk()||goog.labs.userAgent.util.matchUserAgent("Android"))};goog.labs.userAgent.browser.matchCoast_=function(){return goog.labs.userAgent.util.matchUserAgent("Coast")};
  1246. goog.labs.userAgent.browser.matchIosWebview_=function(){return(goog.labs.userAgent.util.matchUserAgent("iPad")||goog.labs.userAgent.util.matchUserAgent("iPhone"))&&!goog.labs.userAgent.browser.matchSafari_()&&!goog.labs.userAgent.browser.matchChrome_()&&!goog.labs.userAgent.browser.matchCoast_()&&goog.labs.userAgent.util.matchUserAgent("AppleWebKit")};
  1247. goog.labs.userAgent.browser.matchChrome_=function(){return(goog.labs.userAgent.util.matchUserAgent("Chrome")||goog.labs.userAgent.util.matchUserAgent("CriOS"))&&!goog.labs.userAgent.browser.matchOpera_()&&!goog.labs.userAgent.browser.matchEdge_()};goog.labs.userAgent.browser.matchAndroidBrowser_=function(){return goog.labs.userAgent.util.matchUserAgent("Android")&&!(goog.labs.userAgent.browser.isChrome()||goog.labs.userAgent.browser.isFirefox()||goog.labs.userAgent.browser.isOpera()||goog.labs.userAgent.browser.isSilk())};
  1248. goog.labs.userAgent.browser.isOpera=goog.labs.userAgent.browser.matchOpera_;goog.labs.userAgent.browser.isIE=goog.labs.userAgent.browser.matchIE_;goog.labs.userAgent.browser.isEdge=goog.labs.userAgent.browser.matchEdge_;goog.labs.userAgent.browser.isFirefox=goog.labs.userAgent.browser.matchFirefox_;goog.labs.userAgent.browser.isSafari=goog.labs.userAgent.browser.matchSafari_;goog.labs.userAgent.browser.isCoast=goog.labs.userAgent.browser.matchCoast_;goog.labs.userAgent.browser.isIosWebview=goog.labs.userAgent.browser.matchIosWebview_;
  1249. goog.labs.userAgent.browser.isChrome=goog.labs.userAgent.browser.matchChrome_;goog.labs.userAgent.browser.isAndroidBrowser=goog.labs.userAgent.browser.matchAndroidBrowser_;goog.labs.userAgent.browser.isSilk=function(){return goog.labs.userAgent.util.matchUserAgent("Silk")};
  1250. goog.labs.userAgent.browser.getVersion=function(){function a(a){a=goog.array.find(a,d);return c[a]||""}var b=goog.labs.userAgent.util.getUserAgent();if(goog.labs.userAgent.browser.isIE())return goog.labs.userAgent.browser.getIEVersion_(b);var b=goog.labs.userAgent.util.extractVersionTuples(b),c={};goog.array.forEach(b,function(a){c[a[0]]=a[1]});var d=goog.partial(goog.object.containsKey,c);return goog.labs.userAgent.browser.isOpera()?a(["Version","Opera","OPR"]):goog.labs.userAgent.browser.isEdge()?
  1251. a(["Edge"]):goog.labs.userAgent.browser.isChrome()?a(["Chrome","CriOS"]):(b=b[2])&&b[1]||""};goog.labs.userAgent.browser.isVersionOrHigher=function(a){return 0<=goog.string.compareVersions(goog.labs.userAgent.browser.getVersion(),a)};
  1252. goog.labs.userAgent.browser.getIEVersion_=function(a){var b=/rv: *([\d\.]*)/.exec(a);if(b&&b[1])return b[1];var b="",c=/MSIE +([\d\.]+)/.exec(a);if(c&&c[1])if(a=/Trident\/(\d.\d)/.exec(a),"7.0"==c[1])if(a&&a[1])switch(a[1]){case "4.0":b="8.0";break;case "5.0":b="9.0";break;case "6.0":b="10.0";break;case "7.0":b="11.0"}else b="7.0";else b=c[1];return b};goog.labs.userAgent.engine={};goog.labs.userAgent.engine.isPresto=function(){return goog.labs.userAgent.util.matchUserAgent("Presto")};goog.labs.userAgent.engine.isTrident=function(){return goog.labs.userAgent.util.matchUserAgent("Trident")||goog.labs.userAgent.util.matchUserAgent("MSIE")};goog.labs.userAgent.engine.isEdge=function(){return goog.labs.userAgent.util.matchUserAgent("Edge")};
  1253. goog.labs.userAgent.engine.isWebKit=function(){return goog.labs.userAgent.util.matchUserAgentIgnoreCase("WebKit")&&!goog.labs.userAgent.engine.isEdge()};goog.labs.userAgent.engine.isGecko=function(){return goog.labs.userAgent.util.matchUserAgent("Gecko")&&!goog.labs.userAgent.engine.isWebKit()&&!goog.labs.userAgent.engine.isTrident()&&!goog.labs.userAgent.engine.isEdge()};
  1254. goog.labs.userAgent.engine.getVersion=function(){var a=goog.labs.userAgent.util.getUserAgent();if(a){var a=goog.labs.userAgent.util.extractVersionTuples(a),b=goog.labs.userAgent.engine.getEngineTuple_(a);if(b)return"Gecko"==b[0]?goog.labs.userAgent.engine.getVersionForKey_(a,"Firefox"):b[1];var a=a[0],c;if(a&&(c=a[2])&&(c=/Trident\/([^\s;]+)/.exec(c)))return c[1]}return""};
  1255. goog.labs.userAgent.engine.getEngineTuple_=function(a){if(!goog.labs.userAgent.engine.isEdge())return a[1];for(var b=0;b<a.length;b++){var c=a[b];if("Edge"==c[0])return c}};goog.labs.userAgent.engine.isVersionOrHigher=function(a){return 0<=goog.string.compareVersions(goog.labs.userAgent.engine.getVersion(),a)};goog.labs.userAgent.engine.getVersionForKey_=function(a,b){var c=goog.array.find(a,function(a){return b==a[0]});return c&&c[1]||""};goog.userAgent={};goog.userAgent.ASSUME_IE=!1;goog.userAgent.ASSUME_EDGE=!1;goog.userAgent.ASSUME_GECKO=!1;goog.userAgent.ASSUME_WEBKIT=!1;goog.userAgent.ASSUME_MOBILE_WEBKIT=!1;goog.userAgent.ASSUME_OPERA=!1;goog.userAgent.ASSUME_ANY_VERSION=!1;goog.userAgent.BROWSER_KNOWN_=goog.userAgent.ASSUME_IE||goog.userAgent.ASSUME_EDGE||goog.userAgent.ASSUME_GECKO||goog.userAgent.ASSUME_MOBILE_WEBKIT||goog.userAgent.ASSUME_WEBKIT||goog.userAgent.ASSUME_OPERA;goog.userAgent.getUserAgentString=function(){return goog.labs.userAgent.util.getUserAgent()};
  1256. goog.userAgent.getNavigator=function(){return goog.global.navigator||null};goog.userAgent.OPERA=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_OPERA:goog.labs.userAgent.browser.isOpera();goog.userAgent.IE=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_IE:goog.labs.userAgent.browser.isIE();goog.userAgent.EDGE=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_EDGE:goog.labs.userAgent.engine.isEdge();goog.userAgent.EDGE_OR_IE=goog.userAgent.EDGE||goog.userAgent.IE;
  1257. goog.userAgent.GECKO=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_GECKO:goog.labs.userAgent.engine.isGecko();goog.userAgent.WEBKIT=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_WEBKIT||goog.userAgent.ASSUME_MOBILE_WEBKIT:goog.labs.userAgent.engine.isWebKit();goog.userAgent.isMobile_=function(){return goog.userAgent.WEBKIT&&goog.labs.userAgent.util.matchUserAgent("Mobile")};goog.userAgent.MOBILE=goog.userAgent.ASSUME_MOBILE_WEBKIT||goog.userAgent.isMobile_();goog.userAgent.SAFARI=goog.userAgent.WEBKIT;
  1258. goog.userAgent.determinePlatform_=function(){var a=goog.userAgent.getNavigator();return a&&a.platform||""};goog.userAgent.PLATFORM=goog.userAgent.determinePlatform_();goog.userAgent.ASSUME_MAC=!1;goog.userAgent.ASSUME_WINDOWS=!1;goog.userAgent.ASSUME_LINUX=!1;goog.userAgent.ASSUME_X11=!1;goog.userAgent.ASSUME_ANDROID=!1;goog.userAgent.ASSUME_IPHONE=!1;goog.userAgent.ASSUME_IPAD=!1;
  1259. goog.userAgent.PLATFORM_KNOWN_=goog.userAgent.ASSUME_MAC||goog.userAgent.ASSUME_WINDOWS||goog.userAgent.ASSUME_LINUX||goog.userAgent.ASSUME_X11||goog.userAgent.ASSUME_ANDROID||goog.userAgent.ASSUME_IPHONE||goog.userAgent.ASSUME_IPAD;goog.userAgent.MAC=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_MAC:goog.labs.userAgent.platform.isMacintosh();goog.userAgent.WINDOWS=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_WINDOWS:goog.labs.userAgent.platform.isWindows();
  1260. goog.userAgent.isLegacyLinux_=function(){return goog.labs.userAgent.platform.isLinux()||goog.labs.userAgent.platform.isChromeOS()};goog.userAgent.LINUX=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_LINUX:goog.userAgent.isLegacyLinux_();goog.userAgent.isX11_=function(){var a=goog.userAgent.getNavigator();return!!a&&goog.string.contains(a.appVersion||"","X11")};goog.userAgent.X11=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_X11:goog.userAgent.isX11_();
  1261. goog.userAgent.ANDROID=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_ANDROID:goog.labs.userAgent.platform.isAndroid();goog.userAgent.IPHONE=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_IPHONE:goog.labs.userAgent.platform.isIphone();goog.userAgent.IPAD=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_IPAD:goog.labs.userAgent.platform.isIpad();goog.userAgent.operaVersion_=function(){var a=goog.global.opera.version;try{return a()}catch(b){return a}};
  1262. goog.userAgent.determineVersion_=function(){if(goog.userAgent.OPERA&&goog.global.opera)return goog.userAgent.operaVersion_();var a="",b=goog.userAgent.getVersionRegexResult_();b&&(a=b?b[1]:"");return goog.userAgent.IE&&(b=goog.userAgent.getDocumentMode_(),b>parseFloat(a))?String(b):a};
  1263. goog.userAgent.getVersionRegexResult_=function(){var a=goog.userAgent.getUserAgentString();if(goog.userAgent.GECKO)return/rv\:([^\);]+)(\)|;)/.exec(a);if(goog.userAgent.EDGE)return/Edge\/([\d\.]+)/.exec(a);if(goog.userAgent.IE)return/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(a);if(goog.userAgent.WEBKIT)return/WebKit\/(\S+)/.exec(a)};goog.userAgent.getDocumentMode_=function(){var a=goog.global.document;return a?a.documentMode:void 0};goog.userAgent.VERSION=goog.userAgent.determineVersion_();
  1264. goog.userAgent.compare=function(a,b){return goog.string.compareVersions(a,b)};goog.userAgent.isVersionOrHigherCache_={};goog.userAgent.isVersionOrHigher=function(a){return goog.userAgent.ASSUME_ANY_VERSION||goog.userAgent.isVersionOrHigherCache_[a]||(goog.userAgent.isVersionOrHigherCache_[a]=0<=goog.string.compareVersions(goog.userAgent.VERSION,a))};goog.userAgent.isVersion=goog.userAgent.isVersionOrHigher;
  1265. goog.userAgent.isDocumentModeOrHigher=function(a){return Number(goog.userAgent.DOCUMENT_MODE)>=a};goog.userAgent.isDocumentMode=goog.userAgent.isDocumentModeOrHigher;goog.userAgent.DOCUMENT_MODE=function(){var a=goog.global.document,b=goog.userAgent.getDocumentMode_();return a&&goog.userAgent.IE?b||("CSS1Compat"==a.compatMode?parseInt(goog.userAgent.VERSION,10):5):void 0}();goog.userAgent.product={};goog.userAgent.product.ASSUME_FIREFOX=!1;goog.userAgent.product.ASSUME_IPHONE=!1;goog.userAgent.product.ASSUME_IPAD=!1;goog.userAgent.product.ASSUME_ANDROID=!1;goog.userAgent.product.ASSUME_CHROME=!1;goog.userAgent.product.ASSUME_SAFARI=!1;
  1266. goog.userAgent.product.PRODUCT_KNOWN_=goog.userAgent.ASSUME_IE||goog.userAgent.ASSUME_EDGE||goog.userAgent.ASSUME_OPERA||goog.userAgent.product.ASSUME_FIREFOX||goog.userAgent.product.ASSUME_IPHONE||goog.userAgent.product.ASSUME_IPAD||goog.userAgent.product.ASSUME_ANDROID||goog.userAgent.product.ASSUME_CHROME||goog.userAgent.product.ASSUME_SAFARI;goog.userAgent.product.OPERA=goog.userAgent.OPERA;goog.userAgent.product.IE=goog.userAgent.IE;goog.userAgent.product.EDGE=goog.userAgent.EDGE;
  1267. goog.userAgent.product.FIREFOX=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_FIREFOX:goog.labs.userAgent.browser.isFirefox();goog.userAgent.product.isIphoneOrIpod_=function(){return goog.labs.userAgent.platform.isIphone()||goog.labs.userAgent.platform.isIpod()};goog.userAgent.product.IPHONE=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_IPHONE:goog.userAgent.product.isIphoneOrIpod_();
  1268. goog.userAgent.product.IPAD=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_IPAD:goog.labs.userAgent.platform.isIpad();goog.userAgent.product.ANDROID=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_ANDROID:goog.labs.userAgent.browser.isAndroidBrowser();goog.userAgent.product.CHROME=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_CHROME:goog.labs.userAgent.browser.isChrome();
  1269. goog.userAgent.product.isSafariDesktop_=function(){return goog.labs.userAgent.browser.isSafari()&&!goog.labs.userAgent.platform.isIos()};goog.userAgent.product.SAFARI=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_SAFARI:goog.userAgent.product.isSafariDesktop_();goog.crypt.base64={};goog.crypt.base64.byteToCharMap_=null;goog.crypt.base64.charToByteMap_=null;goog.crypt.base64.byteToCharMapWebSafe_=null;goog.crypt.base64.ENCODED_VALS_BASE="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";goog.crypt.base64.ENCODED_VALS=goog.crypt.base64.ENCODED_VALS_BASE+"+/=";goog.crypt.base64.ENCODED_VALS_WEBSAFE=goog.crypt.base64.ENCODED_VALS_BASE+"-_.";
  1270. goog.crypt.base64.ASSUME_NATIVE_SUPPORT_=goog.userAgent.GECKO||goog.userAgent.WEBKIT&&!goog.userAgent.product.SAFARI||goog.userAgent.OPERA;goog.crypt.base64.HAS_NATIVE_ENCODE_=goog.crypt.base64.ASSUME_NATIVE_SUPPORT_||"function"==typeof goog.global.btoa;goog.crypt.base64.HAS_NATIVE_DECODE_=goog.crypt.base64.ASSUME_NATIVE_SUPPORT_||!goog.userAgent.product.SAFARI&&!goog.userAgent.IE&&"function"==typeof goog.global.atob;
  1271. goog.crypt.base64.encodeByteArray=function(a,b){goog.asserts.assert(goog.isArrayLike(a),"encodeByteArray takes an array as a parameter");goog.crypt.base64.init_();for(var c=b?goog.crypt.base64.byteToCharMapWebSafe_:goog.crypt.base64.byteToCharMap_,d=[],e=0;e<a.length;e+=3){var f=a[e],g=e+1<a.length,h=g?a[e+1]:0,k=e+2<a.length,l=k?a[e+2]:0,p=f>>2,f=(f&3)<<4|h>>4,h=(h&15)<<2|l>>6,l=l&63;k||(l=64,g||(h=64));d.push(c[p],c[f],c[h],c[l])}return d.join("")};
  1272. goog.crypt.base64.encodeString=function(a,b){return goog.crypt.base64.HAS_NATIVE_ENCODE_&&!b?goog.global.btoa(a):goog.crypt.base64.encodeByteArray(goog.crypt.stringToByteArray(a),b)};goog.crypt.base64.decodeString=function(a,b){if(goog.crypt.base64.HAS_NATIVE_DECODE_&&!b)return goog.global.atob(a);var c="";goog.crypt.base64.decodeStringInternal_(a,function(a){c+=String.fromCharCode(a)});return c};
  1273. goog.crypt.base64.decodeStringToByteArray=function(a,b){var c=[];goog.crypt.base64.decodeStringInternal_(a,function(a){c.push(a)});return c};goog.crypt.base64.decodeStringToUint8Array=function(a){goog.asserts.assert(!goog.userAgent.IE||goog.userAgent.isVersionOrHigher("10"),"Browser does not support typed arrays");var b=new Uint8Array(Math.ceil(3*a.length/4)),c=0;goog.crypt.base64.decodeStringInternal_(a,function(a){b[c++]=a});return b.subarray(0,c)};
  1274. goog.crypt.base64.decodeStringInternal_=function(a,b){function c(b){for(;d<a.length;){var c=a.charAt(d++),e=goog.crypt.base64.charToByteMap_[c];if(null!=e)return e;if(!goog.string.isEmptyOrWhitespace(c))throw Error("Unknown base64 encoding at char: "+c);}return b}goog.crypt.base64.init_();for(var d=0;;){var e=c(-1),f=c(0),g=c(64),h=c(64);if(64===h&&-1===e)break;b(e<<2|f>>4);64!=g&&(b(f<<4&240|g>>2),64!=h&&b(g<<6&192|h))}};
  1275. goog.crypt.base64.init_=function(){if(!goog.crypt.base64.byteToCharMap_){goog.crypt.base64.byteToCharMap_={};goog.crypt.base64.charToByteMap_={};goog.crypt.base64.byteToCharMapWebSafe_={};for(var a=0;a<goog.crypt.base64.ENCODED_VALS.length;a++)goog.crypt.base64.byteToCharMap_[a]=goog.crypt.base64.ENCODED_VALS.charAt(a),goog.crypt.base64.charToByteMap_[goog.crypt.base64.byteToCharMap_[a]]=a,goog.crypt.base64.byteToCharMapWebSafe_[a]=goog.crypt.base64.ENCODED_VALS_WEBSAFE.charAt(a),a>=goog.crypt.base64.ENCODED_VALS_BASE.length&&
  1276. (goog.crypt.base64.charToByteMap_[goog.crypt.base64.ENCODED_VALS_WEBSAFE.charAt(a)]=a)}};jspb.ExtensionFieldInfo=function(a,b,c,d,e){this.fieldIndex=a;this.fieldName=b;this.ctor=c;this.toObjectFn=d;this.isRepeated=e};jspb.ExtensionFieldBinaryInfo=function(a,b,c,d,e,f){this.fieldInfo=a;this.binaryReaderFn=b;this.binaryWriterFn=c;this.binaryMessageSerializeFn=d;this.binaryMessageDeserializeFn=e;this.isPacked=f};jspb.ExtensionFieldInfo.prototype.isMessageType=function(){return!!this.ctor};jspb.Message=function(){};jspb.Message.GENERATE_TO_OBJECT=!0;jspb.Message.GENERATE_FROM_OBJECT=!goog.DISALLOW_TEST_ONLY_CODE;
  1277. jspb.Message.GENERATE_TO_STRING=!0;jspb.Message.ASSUME_LOCAL_ARRAYS=!1;jspb.Message.SERIALIZE_EMPTY_TRAILING_FIELDS=!0;jspb.Message.SUPPORTS_UINT8ARRAY_="function"==typeof Uint8Array;jspb.Message.prototype.getJsPbMessageId=function(){return this.messageId_};jspb.Message.getIndex_=function(a,b){return b+a.arrayIndexOffset_};jspb.Message.getFieldNumber_=function(a,b){return b-a.arrayIndexOffset_};
  1278. jspb.Message.initialize=function(a,b,c,d,e,f){a.wrappers_=null;b||(b=c?[c]:[]);a.messageId_=c?String(c):void 0;a.arrayIndexOffset_=0===c?-1:0;a.array=b;jspb.Message.initPivotAndExtensionObject_(a,d);a.convertedFloatingPointFields_={};jspb.Message.SERIALIZE_EMPTY_TRAILING_FIELDS||(a.repeatedFields=e);if(e)for(b=0;b<e.length;b++)c=e[b],c<a.pivot_?(c=jspb.Message.getIndex_(a,c),a.array[c]=a.array[c]||jspb.Message.EMPTY_LIST_SENTINEL_):(jspb.Message.maybeInitEmptyExtensionObject_(a),a.extensionObject_[c]=
  1279. a.extensionObject_[c]||jspb.Message.EMPTY_LIST_SENTINEL_);if(f&&f.length)for(b=0;b<f.length;b++)jspb.Message.computeOneofCase(a,f[b])};jspb.Message.EMPTY_LIST_SENTINEL_=goog.DEBUG&&Object.freeze?Object.freeze([]):[];jspb.Message.isArray_=function(a){return jspb.Message.ASSUME_LOCAL_ARRAYS?a instanceof Array:goog.isArray(a)};
  1280. jspb.Message.initPivotAndExtensionObject_=function(a,b){if(a.array.length){var c=a.array.length-1,d=a.array[c];if(d&&"object"==typeof d&&!jspb.Message.isArray_(d)&&!(jspb.Message.SUPPORTS_UINT8ARRAY_&&d instanceof Uint8Array)){a.pivot_=jspb.Message.getFieldNumber_(a,c);a.extensionObject_=d;return}}-1<b?(a.pivot_=b,a.extensionObject_=null):a.pivot_=Number.MAX_VALUE};
  1281. jspb.Message.maybeInitEmptyExtensionObject_=function(a){var b=jspb.Message.getIndex_(a,a.pivot_);a.array[b]||(a.extensionObject_=a.array[b]={})};jspb.Message.toObjectList=function(a,b,c){for(var d=[],e=0;e<a.length;e++)d[e]=b.call(a[e],c,a[e]);return d};
  1282. jspb.Message.toObjectExtension=function(a,b,c,d,e){for(var f in c){var g=c[f],h=d.call(a,g);if(null!=h){for(var k in g.fieldName)if(g.fieldName.hasOwnProperty(k))break;b[k]=g.toObjectFn?g.isRepeated?jspb.Message.toObjectList(h,g.toObjectFn,e):g.toObjectFn(e,h):h}}};
  1283. jspb.Message.serializeBinaryExtensions=function(a,b,c,d){for(var e in c){var f=c[e],g=f.fieldInfo;if(!f.binaryWriterFn)throw Error("Message extension present that was generated without binary serialization support");var h=d.call(a,g);if(null!=h)if(g.isMessageType())if(f.binaryMessageSerializeFn)f.binaryWriterFn.call(b,g.fieldIndex,h,f.binaryMessageSerializeFn);else throw Error("Message extension present holding submessage without binary support enabled, and message is being serialized to binary format");
  1284. else f.binaryWriterFn.call(b,g.fieldIndex,h)}};jspb.Message.readBinaryExtension=function(a,b,c,d,e){var f=c[b.getFieldNumber()];if(f){c=f.fieldInfo;if(!f.binaryReaderFn)throw Error("Deserializing extension whose generated code does not support binary format");var g;c.isMessageType()?(g=new c.ctor,f.binaryReaderFn.call(b,g,f.binaryMessageDeserializeFn)):g=f.binaryReaderFn.call(b);c.isRepeated&&!f.isPacked?(b=d.call(a,c))?b.push(g):e.call(a,c,[g]):e.call(a,c,g)}else b.skipField()};
  1285. jspb.Message.getField=function(a,b){if(b<a.pivot_){var c=jspb.Message.getIndex_(a,b),d=a.array[c];return d===jspb.Message.EMPTY_LIST_SENTINEL_?a.array[c]=[]:d}if(a.extensionObject_)return d=a.extensionObject_[b],d===jspb.Message.EMPTY_LIST_SENTINEL_?a.extensionObject_[b]=[]:d};
  1286. jspb.Message.getRepeatedField=function(a,b){if(b<a.pivot_){var c=jspb.Message.getIndex_(a,b),d=a.array[c];return d===jspb.Message.EMPTY_LIST_SENTINEL_?a.array[c]=[]:d}d=a.extensionObject_[b];return d===jspb.Message.EMPTY_LIST_SENTINEL_?a.extensionObject_[b]=[]:d};jspb.Message.getOptionalFloatingPointField=function(a,b){var c=jspb.Message.getField(a,b);return null==c?c:+c};
  1287. jspb.Message.getRepeatedFloatingPointField=function(a,b){var c=jspb.Message.getRepeatedField(a,b);a.convertedFloatingPointFields_||(a.convertedFloatingPointFields_={});if(!a.convertedFloatingPointFields_[b]){for(var d=0;d<c.length;d++)c[d]=+c[d];a.convertedFloatingPointFields_[b]=!0}return c};
  1288. jspb.Message.bytesAsB64=function(a){if(null==a||goog.isString(a))return a;if(jspb.Message.SUPPORTS_UINT8ARRAY_&&a instanceof Uint8Array)return goog.crypt.base64.encodeByteArray(a);goog.asserts.fail("Cannot coerce to b64 string: "+goog.typeOf(a));return null};jspb.Message.bytesAsU8=function(a){if(null==a||a instanceof Uint8Array)return a;if(goog.isString(a))return goog.crypt.base64.decodeStringToUint8Array(a);goog.asserts.fail("Cannot coerce to Uint8Array: "+goog.typeOf(a));return null};
  1289. jspb.Message.bytesListAsB64=function(a){jspb.Message.assertConsistentTypes_(a);return!a.length||goog.isString(a[0])?a:goog.array.map(a,jspb.Message.bytesAsB64)};jspb.Message.bytesListAsU8=function(a){jspb.Message.assertConsistentTypes_(a);return!a.length||a[0]instanceof Uint8Array?a:goog.array.map(a,jspb.Message.bytesAsU8)};
  1290. jspb.Message.assertConsistentTypes_=function(a){if(goog.DEBUG&&a&&1<a.length){var b=goog.typeOf(a[0]);goog.array.forEach(a,function(a){goog.typeOf(a)!=b&&goog.asserts.fail("Inconsistent type in JSPB repeated field array. Got "+goog.typeOf(a)+" expected "+b)})}};jspb.Message.getFieldWithDefault=function(a,b,c){a=jspb.Message.getField(a,b);return null==a?c:a};jspb.Message.getFieldProto3=jspb.Message.getFieldWithDefault;
  1291. jspb.Message.getMapField=function(a,b,c,d){a.wrappers_||(a.wrappers_={});if(b in a.wrappers_)return a.wrappers_[b];if(!c)return c=jspb.Message.getField(a,b),c||(c=[],jspb.Message.setField(a,b,c)),a.wrappers_[b]=new jspb.Map(c,d)};jspb.Message.setField=function(a,b,c){b<a.pivot_?a.array[jspb.Message.getIndex_(a,b)]=c:(jspb.Message.maybeInitEmptyExtensionObject_(a),a.extensionObject_[b]=c)};jspb.Message.setProto3IntField=function(a,b,c){jspb.Message.setFieldIgnoringDefault_(a,b,c,0)};
  1292. jspb.Message.setProto3StringIntField=function(a,b,c){jspb.Message.setFieldIgnoringDefault_(a,b,c,"0")};jspb.Message.setProto3FloatField=function(a,b,c){jspb.Message.setFieldIgnoringDefault_(a,b,c,0)};jspb.Message.setProto3BooleanField=function(a,b,c){jspb.Message.setFieldIgnoringDefault_(a,b,c,!1)};jspb.Message.setProto3StringField=function(a,b,c){jspb.Message.setFieldIgnoringDefault_(a,b,c,"")};jspb.Message.setProto3BytesField=function(a,b,c){jspb.Message.setFieldIgnoringDefault_(a,b,c,"")};
  1293. jspb.Message.setProto3EnumField=function(a,b,c){jspb.Message.setFieldIgnoringDefault_(a,b,c,0)};jspb.Message.setFieldIgnoringDefault_=function(a,b,c,d){c!=d?jspb.Message.setField(a,b,c):a.array[jspb.Message.getIndex_(a,b)]=null};jspb.Message.addToRepeatedField=function(a,b,c,d){a=jspb.Message.getRepeatedField(a,b);void 0!=d?a.splice(d,0,c):a.push(c)};
  1294. jspb.Message.setOneofField=function(a,b,c,d){(c=jspb.Message.computeOneofCase(a,c))&&c!==b&&void 0!==d&&(a.wrappers_&&c in a.wrappers_&&(a.wrappers_[c]=void 0),jspb.Message.setField(a,c,void 0));jspb.Message.setField(a,b,d)};jspb.Message.computeOneofCase=function(a,b){for(var c,d,e=0;e<b.length;e++){var f=b[e],g=jspb.Message.getField(a,f);null!=g&&(c=f,d=g,jspb.Message.setField(a,f,void 0))}return c?(jspb.Message.setField(a,c,d),c):0};
  1295. jspb.Message.getWrapperField=function(a,b,c,d){a.wrappers_||(a.wrappers_={});if(!a.wrappers_[c]){var e=jspb.Message.getField(a,c);if(d||e)a.wrappers_[c]=new b(e)}return a.wrappers_[c]};jspb.Message.getRepeatedWrapperField=function(a,b,c){jspb.Message.wrapRepeatedField_(a,b,c);b=a.wrappers_[c];b==jspb.Message.EMPTY_LIST_SENTINEL_&&(b=a.wrappers_[c]=[]);return b};
  1296. jspb.Message.wrapRepeatedField_=function(a,b,c){a.wrappers_||(a.wrappers_={});if(!a.wrappers_[c]){for(var d=jspb.Message.getRepeatedField(a,c),e=[],f=0;f<d.length;f++)e[f]=new b(d[f]);a.wrappers_[c]=e}};jspb.Message.setWrapperField=function(a,b,c){a.wrappers_||(a.wrappers_={});var d=c?c.toArray():c;a.wrappers_[b]=c;jspb.Message.setField(a,b,d)};
  1297. jspb.Message.setOneofWrapperField=function(a,b,c,d){a.wrappers_||(a.wrappers_={});var e=d?d.toArray():d;a.wrappers_[b]=d;jspb.Message.setOneofField(a,b,c,e)};jspb.Message.setRepeatedWrapperField=function(a,b,c){a.wrappers_||(a.wrappers_={});c=c||[];for(var d=[],e=0;e<c.length;e++)d[e]=c[e].toArray();a.wrappers_[b]=c;jspb.Message.setField(a,b,d)};
  1298. jspb.Message.addToRepeatedWrapperField=function(a,b,c,d,e){jspb.Message.wrapRepeatedField_(a,d,b);var f=a.wrappers_[b];f||(f=a.wrappers_[b]=[]);c=c?c:new d;a=jspb.Message.getRepeatedField(a,b);void 0!=e?(f.splice(e,0,c),a.splice(e,0,c.toArray())):(f.push(c),a.push(c.toArray()));return c};jspb.Message.toMap=function(a,b,c,d){for(var e={},f=0;f<a.length;f++)e[b.call(a[f])]=c?c.call(a[f],d,a[f]):a[f];return e};
  1299. jspb.Message.prototype.syncMapFields_=function(){if(this.wrappers_)for(var a in this.wrappers_){var b=this.wrappers_[a];if(goog.isArray(b))for(var c=0;c<b.length;c++)b[c]&&b[c].toArray();else b&&b.toArray()}};jspb.Message.prototype.toArray=function(){this.syncMapFields_();return this.array};jspb.Message.GENERATE_TO_STRING&&(jspb.Message.prototype.toString=function(){this.syncMapFields_();return this.array.toString()});
  1300. jspb.Message.prototype.getExtension=function(a){if(this.extensionObject_){this.wrappers_||(this.wrappers_={});var b=a.fieldIndex;if(a.isRepeated){if(a.isMessageType())return this.wrappers_[b]||(this.wrappers_[b]=goog.array.map(this.extensionObject_[b]||[],function(b){return new a.ctor(b)})),this.wrappers_[b]}else if(a.isMessageType())return!this.wrappers_[b]&&this.extensionObject_[b]&&(this.wrappers_[b]=new a.ctor(this.extensionObject_[b])),this.wrappers_[b];return this.extensionObject_[b]}};
  1301. jspb.Message.prototype.setExtension=function(a,b){this.wrappers_||(this.wrappers_={});jspb.Message.maybeInitEmptyExtensionObject_(this);var c=a.fieldIndex;a.isRepeated?(b=b||[],a.isMessageType()?(this.wrappers_[c]=b,this.extensionObject_[c]=goog.array.map(b,function(a){return a.toArray()})):this.extensionObject_[c]=b):a.isMessageType()?(this.wrappers_[c]=b,this.extensionObject_[c]=b?b.toArray():b):this.extensionObject_[c]=b;return this};
  1302. jspb.Message.difference=function(a,b){if(!(a instanceof b.constructor))throw Error("Messages have different types.");var c=a.toArray(),d=b.toArray(),e=[],f=0,g=c.length>d.length?c.length:d.length;a.getJsPbMessageId()&&(e[0]=a.getJsPbMessageId(),f=1);for(;f<g;f++)jspb.Message.compareFields(c[f],d[f])||(e[f]=d[f]);return new a.constructor(e)};jspb.Message.equals=function(a,b){return a==b||!(!a||!b)&&a instanceof b.constructor&&jspb.Message.compareFields(a.toArray(),b.toArray())};
  1303. jspb.Message.compareExtensions=function(a,b){a=a||{};b=b||{};var c={},d;for(d in a)c[d]=0;for(d in b)c[d]=0;for(d in c)if(!jspb.Message.compareFields(a[d],b[d]))return!1;return!0};
  1304. jspb.Message.compareFields=function(a,b){if(a==b)return!0;if(!goog.isObject(a)||!goog.isObject(b))return goog.isNumber(a)&&isNaN(a)||goog.isNumber(b)&&isNaN(b)?String(a)==String(b):!1;if(a.constructor!=b.constructor)return!1;if(jspb.Message.SUPPORTS_UINT8ARRAY_&&a.constructor===Uint8Array){if(a.length!=b.length)return!1;for(var c=0;c<a.length;c++)if(a[c]!=b[c])return!1;return!0}if(a.constructor===Array){for(var d=void 0,e=void 0,f=Math.max(a.length,b.length),c=0;c<f;c++){var g=a[c],h=b[c];g&&g.constructor==
  1305. Object&&(goog.asserts.assert(void 0===d),goog.asserts.assert(c===a.length-1),d=g,g=void 0);h&&h.constructor==Object&&(goog.asserts.assert(void 0===e),goog.asserts.assert(c===b.length-1),e=h,h=void 0);if(!jspb.Message.compareFields(g,h))return!1}return d||e?(d=d||{},e=e||{},jspb.Message.compareExtensions(d,e)):!0}if(a.constructor===Object)return jspb.Message.compareExtensions(a,b);throw Error("Invalid type in JSPB array");};jspb.Message.prototype.cloneMessage=function(){return jspb.Message.cloneMessage(this)};
  1306. jspb.Message.prototype.clone=function(){return jspb.Message.cloneMessage(this)};jspb.Message.clone=function(a){return jspb.Message.cloneMessage(a)};jspb.Message.cloneMessage=function(a){return new a.constructor(jspb.Message.clone_(a.toArray()))};
  1307. jspb.Message.copyInto=function(a,b){goog.asserts.assertInstanceof(a,jspb.Message);goog.asserts.assertInstanceof(b,jspb.Message);goog.asserts.assert(a.constructor==b.constructor,"Copy source and target message should have the same type.");for(var c=jspb.Message.clone(a),d=b.toArray(),e=c.toArray(),f=d.length=0;f<e.length;f++)d[f]=e[f];b.wrappers_=c.wrappers_;b.extensionObject_=c.extensionObject_};
  1308. jspb.Message.clone_=function(a){var b;if(goog.isArray(a)){for(var c=Array(a.length),d=0;d<a.length;d++)b=a[d],null!=b&&(c[d]="object"==typeof b?jspb.Message.clone_(goog.asserts.assert(b)):b);return c}if(jspb.Message.SUPPORTS_UINT8ARRAY_&&a instanceof Uint8Array)return new Uint8Array(a);c={};for(d in a)b=a[d],null!=b&&(c[d]="object"==typeof b?jspb.Message.clone_(goog.asserts.assert(b)):b);return c};jspb.Message.registerMessageType=function(a,b){jspb.Message.registry_[a]=b;b.messageId=a};
  1309. jspb.Message.registry_={};jspb.Message.messageSetExtensions={};jspb.Message.messageSetExtensionsBinary={};jspb.arith={};jspb.arith.UInt64=function(a,b){this.lo=a;this.hi=b};jspb.arith.UInt64.prototype.cmp=function(a){return this.hi<a.hi||this.hi==a.hi&&this.lo<a.lo?-1:this.hi==a.hi&&this.lo==a.lo?0:1};jspb.arith.UInt64.prototype.rightShift=function(){return new jspb.arith.UInt64((this.lo>>>1|(this.hi&1)<<31)>>>0,this.hi>>>1>>>0)};jspb.arith.UInt64.prototype.leftShift=function(){return new jspb.arith.UInt64(this.lo<<1>>>0,(this.hi<<1|this.lo>>>31)>>>0)};
  1310. jspb.arith.UInt64.prototype.msb=function(){return!!(this.hi&2147483648)};jspb.arith.UInt64.prototype.lsb=function(){return!!(this.lo&1)};jspb.arith.UInt64.prototype.zero=function(){return 0==this.lo&&0==this.hi};jspb.arith.UInt64.prototype.add=function(a){return new jspb.arith.UInt64((this.lo+a.lo&4294967295)>>>0>>>0,((this.hi+a.hi&4294967295)>>>0)+(4294967296<=this.lo+a.lo?1:0)>>>0)};
  1311. jspb.arith.UInt64.prototype.sub=function(a){return new jspb.arith.UInt64((this.lo-a.lo&4294967295)>>>0>>>0,((this.hi-a.hi&4294967295)>>>0)-(0>this.lo-a.lo?1:0)>>>0)};jspb.arith.UInt64.mul32x32=function(a,b){for(var c=a&65535,d=a>>>16,e=b&65535,f=b>>>16,g=c*e+65536*(c*f&65535)+65536*(d*e&65535),c=d*f+(c*f>>>16)+(d*e>>>16);4294967296<=g;)g-=4294967296,c+=1;return new jspb.arith.UInt64(g>>>0,c>>>0)};
  1312. jspb.arith.UInt64.prototype.mul=function(a){var b=jspb.arith.UInt64.mul32x32(this.lo,a);a=jspb.arith.UInt64.mul32x32(this.hi,a);a.hi=a.lo;a.lo=0;return b.add(a)};
  1313. jspb.arith.UInt64.prototype.div=function(a){if(0==a)return[];var b=new jspb.arith.UInt64(0,0),c=new jspb.arith.UInt64(this.lo,this.hi);a=new jspb.arith.UInt64(a,0);for(var d=new jspb.arith.UInt64(1,0);!a.msb();)a=a.leftShift(),d=d.leftShift();for(;!d.zero();)0>=a.cmp(c)&&(b=b.add(d),c=c.sub(a)),a=a.rightShift(),d=d.rightShift();return[b,c]};jspb.arith.UInt64.prototype.toString=function(){for(var a="",b=this;!b.zero();)var b=b.div(10),c=b[0],a=b[1].lo+a,b=c;""==a&&(a="0");return a};
  1314. jspb.arith.UInt64.fromString=function(a){for(var b=new jspb.arith.UInt64(0,0),c=new jspb.arith.UInt64(0,0),d=0;d<a.length;d++){if("0">a[d]||"9"<a[d])return null;var e=parseInt(a[d],10);c.lo=e;b=b.mul(10).add(c)}return b};jspb.arith.UInt64.prototype.clone=function(){return new jspb.arith.UInt64(this.lo,this.hi)};jspb.arith.Int64=function(a,b){this.lo=a;this.hi=b};
  1315. jspb.arith.Int64.prototype.add=function(a){return new jspb.arith.Int64((this.lo+a.lo&4294967295)>>>0>>>0,((this.hi+a.hi&4294967295)>>>0)+(4294967296<=this.lo+a.lo?1:0)>>>0)};jspb.arith.Int64.prototype.sub=function(a){return new jspb.arith.Int64((this.lo-a.lo&4294967295)>>>0>>>0,((this.hi-a.hi&4294967295)>>>0)-(0>this.lo-a.lo?1:0)>>>0)};jspb.arith.Int64.prototype.clone=function(){return new jspb.arith.Int64(this.lo,this.hi)};
  1316. jspb.arith.Int64.prototype.toString=function(){var a=0!=(this.hi&2147483648),b=new jspb.arith.UInt64(this.lo,this.hi);a&&(b=(new jspb.arith.UInt64(0,0)).sub(b));return(a?"-":"")+b.toString()};jspb.arith.Int64.fromString=function(a){var b=0<a.length&&"-"==a[0];b&&(a=a.substring(1));a=jspb.arith.UInt64.fromString(a);if(null===a)return null;b&&(a=(new jspb.arith.UInt64(0,0)).sub(a));return new jspb.arith.Int64(a.lo,a.hi)};jspb.BinaryConstants={};jspb.ConstBinaryMessage=function(){};jspb.BinaryMessage=function(){};jspb.BinaryConstants.FieldType={INVALID:-1,DOUBLE:1,FLOAT:2,INT64:3,UINT64:4,INT32:5,FIXED64:6,FIXED32:7,BOOL:8,STRING:9,GROUP:10,MESSAGE:11,BYTES:12,UINT32:13,ENUM:14,SFIXED32:15,SFIXED64:16,SINT32:17,SINT64:18,FHASH64:30,VHASH64:31};jspb.BinaryConstants.WireType={INVALID:-1,VARINT:0,FIXED64:1,DELIMITED:2,START_GROUP:3,END_GROUP:4,FIXED32:5};
  1317. jspb.BinaryConstants.FieldTypeToWireType=function(a){var b=jspb.BinaryConstants.FieldType,c=jspb.BinaryConstants.WireType;switch(a){case b.INT32:case b.INT64:case b.UINT32:case b.UINT64:case b.SINT32:case b.SINT64:case b.BOOL:case b.ENUM:case b.VHASH64:return c.VARINT;case b.DOUBLE:case b.FIXED64:case b.SFIXED64:case b.FHASH64:return c.FIXED64;case b.STRING:case b.MESSAGE:case b.BYTES:return c.DELIMITED;case b.FLOAT:case b.FIXED32:case b.SFIXED32:return c.FIXED32;default:return c.INVALID}};
  1318. jspb.BinaryConstants.INVALID_FIELD_NUMBER=-1;jspb.BinaryConstants.FLOAT32_EPS=1.401298464324817E-45;jspb.BinaryConstants.FLOAT32_MIN=1.1754943508222875E-38;jspb.BinaryConstants.FLOAT32_MAX=3.4028234663852886E38;jspb.BinaryConstants.FLOAT64_EPS=4.9E-324;jspb.BinaryConstants.FLOAT64_MIN=2.2250738585072014E-308;jspb.BinaryConstants.FLOAT64_MAX=1.7976931348623157E308;jspb.BinaryConstants.TWO_TO_20=1048576;jspb.BinaryConstants.TWO_TO_23=8388608;jspb.BinaryConstants.TWO_TO_31=2147483648;
  1319. jspb.BinaryConstants.TWO_TO_32=4294967296;jspb.BinaryConstants.TWO_TO_52=4503599627370496;jspb.BinaryConstants.TWO_TO_63=0x7fffffffffffffff;jspb.BinaryConstants.TWO_TO_64=1.8446744073709552E19;jspb.BinaryConstants.ZERO_HASH="\x00\x00\x00\x00\x00\x00\x00\x00";jspb.utils={};jspb.utils.split64Low=0;jspb.utils.split64High=0;jspb.utils.splitUint64=function(a){var b=a>>>0;a=Math.floor((a-b)/jspb.BinaryConstants.TWO_TO_32)>>>0;jspb.utils.split64Low=b;jspb.utils.split64High=a};jspb.utils.splitInt64=function(a){var b=0>a;a=Math.abs(a);var c=a>>>0;a=Math.floor((a-c)/jspb.BinaryConstants.TWO_TO_32);a>>>=0;b&&(a=~a>>>0,c=(~c>>>0)+1,4294967295<c&&(c=0,a++,4294967295<a&&(a=0)));jspb.utils.split64Low=c;jspb.utils.split64High=a};
  1320. jspb.utils.splitZigzag64=function(a){var b=0>a;a=2*Math.abs(a);jspb.utils.splitUint64(a);a=jspb.utils.split64Low;var c=jspb.utils.split64High;b&&(0==a?0==c?c=a=4294967295:(c--,a=4294967295):a--);jspb.utils.split64Low=a;jspb.utils.split64High=c};
  1321. jspb.utils.splitFloat32=function(a){var b=0>a?1:0;a=b?-a:a;var c;0===a?0<1/a?(jspb.utils.split64High=0,jspb.utils.split64Low=0):(jspb.utils.split64High=0,jspb.utils.split64Low=2147483648):isNaN(a)?(jspb.utils.split64High=0,jspb.utils.split64Low=2147483647):a>jspb.BinaryConstants.FLOAT32_MAX?(jspb.utils.split64High=0,jspb.utils.split64Low=(b<<31|2139095040)>>>0):a<jspb.BinaryConstants.FLOAT32_MIN?(a=Math.round(a/Math.pow(2,-149)),jspb.utils.split64High=0,jspb.utils.split64Low=(b<<31|a)>>>0):(c=Math.floor(Math.log(a)/
  1322. Math.LN2),a*=Math.pow(2,-c),a=Math.round(a*jspb.BinaryConstants.TWO_TO_23)&8388607,jspb.utils.split64High=0,jspb.utils.split64Low=(b<<31|c+127<<23|a)>>>0)};
  1323. jspb.utils.splitFloat64=function(a){var b=0>a?1:0;a=b?-a:a;if(0===a)jspb.utils.split64High=0<1/a?0:2147483648,jspb.utils.split64Low=0;else if(isNaN(a))jspb.utils.split64High=2147483647,jspb.utils.split64Low=4294967295;else if(a>jspb.BinaryConstants.FLOAT64_MAX)jspb.utils.split64High=(b<<31|2146435072)>>>0,jspb.utils.split64Low=0;else if(a<jspb.BinaryConstants.FLOAT64_MIN){var c=a/Math.pow(2,-1074);a=c/jspb.BinaryConstants.TWO_TO_32;jspb.utils.split64High=(b<<31|a)>>>0;jspb.utils.split64Low=c>>>0}else{var d=
  1324. Math.floor(Math.log(a)/Math.LN2);1024==d&&(d=1023);c=a*Math.pow(2,-d);a=c*jspb.BinaryConstants.TWO_TO_20&1048575;c=c*jspb.BinaryConstants.TWO_TO_52>>>0;jspb.utils.split64High=(b<<31|d+1023<<20|a)>>>0;jspb.utils.split64Low=c}};
  1325. jspb.utils.splitHash64=function(a){var b=a.charCodeAt(0),c=a.charCodeAt(1),d=a.charCodeAt(2),e=a.charCodeAt(3),f=a.charCodeAt(4),g=a.charCodeAt(5),h=a.charCodeAt(6);a=a.charCodeAt(7);jspb.utils.split64Low=b+(c<<8)+(d<<16)+(e<<24)>>>0;jspb.utils.split64High=f+(g<<8)+(h<<16)+(a<<24)>>>0};jspb.utils.joinUint64=function(a,b){return b*jspb.BinaryConstants.TWO_TO_32+a};
  1326. jspb.utils.joinInt64=function(a,b){var c=b&2147483648;c&&(a=~a+1>>>0,b=~b>>>0,0==a&&(b=b+1>>>0));var d=jspb.utils.joinUint64(a,b);return c?-d:d};jspb.utils.joinZigzag64=function(a,b){var c=a&1;a=(a>>>1|b<<31)>>>0;b>>>=1;c&&(a=a+1>>>0,0==a&&(b=b+1>>>0));var d=jspb.utils.joinUint64(a,b);return c?-d:d};jspb.utils.joinFloat32=function(a,b){var c=2*(a>>31)+1,d=a>>>23&255,e=a&8388607;return 255==d?e?NaN:Infinity*c:0==d?c*Math.pow(2,-149)*e:c*Math.pow(2,d-150)*(e+Math.pow(2,23))};
  1327. jspb.utils.joinFloat64=function(a,b){var c=2*(b>>31)+1,d=b>>>20&2047,e=jspb.BinaryConstants.TWO_TO_32*(b&1048575)+a;return 2047==d?e?NaN:Infinity*c:0==d?c*Math.pow(2,-1074)*e:c*Math.pow(2,d-1075)*(e+jspb.BinaryConstants.TWO_TO_52)};jspb.utils.joinHash64=function(a,b){return String.fromCharCode(a>>>0&255,a>>>8&255,a>>>16&255,a>>>24&255,b>>>0&255,b>>>8&255,b>>>16&255,b>>>24&255)};jspb.utils.DIGITS="0123456789abcdef".split("");
  1328. jspb.utils.joinUnsignedDecimalString=function(a,b){function c(a){for(var b=1E7,c=0;7>c;c++){var b=b/10,d=a/b%10>>>0;if(0!=d||h)h=!0,k+=g[d]}}if(2097151>=b)return""+(jspb.BinaryConstants.TWO_TO_32*b+a);var d=(a>>>24|b<<8)>>>0&16777215,e=b>>16&65535,f=(a&16777215)+6777216*d+6710656*e,d=d+8147497*e,e=2*e;1E7<=f&&(d+=Math.floor(f/1E7),f%=1E7);1E7<=d&&(e+=Math.floor(d/1E7),d%=1E7);var g=jspb.utils.DIGITS,h=!1,k="";(e||h)&&c(e);(d||h)&&c(d);(f||h)&&c(f);return k};
  1329. jspb.utils.joinSignedDecimalString=function(a,b){var c=b&2147483648;c&&(a=~a+1>>>0,b=~b+(0==a?1:0)>>>0);var d=jspb.utils.joinUnsignedDecimalString(a,b);return c?"-"+d:d};jspb.utils.hash64ToDecimalString=function(a,b){jspb.utils.splitHash64(a);var c=jspb.utils.split64Low,d=jspb.utils.split64High;return b?jspb.utils.joinSignedDecimalString(c,d):jspb.utils.joinUnsignedDecimalString(c,d)};
  1330. jspb.utils.hash64ArrayToDecimalStrings=function(a,b){for(var c=Array(a.length),d=0;d<a.length;d++)c[d]=jspb.utils.hash64ToDecimalString(a[d],b);return c};
  1331. jspb.utils.decimalStringToHash64=function(a){function b(a,b){for(var c=0;8>c&&(1!==a||0<b);c++){var d=a*e[c]+b;e[c]=d&255;b=d>>>8}}function c(){for(var a=0;8>a;a++)e[a]=~e[a]&255}goog.asserts.assert(0<a.length);var d=!1;"-"===a[0]&&(d=!0,a=a.slice(1));for(var e=[0,0,0,0,0,0,0,0],f=0;f<a.length;f++)b(10,jspb.utils.DIGITS.indexOf(a[f]));d&&(c(),b(1,1));return goog.crypt.byteArrayToString(e)};jspb.utils.splitDecimalString=function(a){jspb.utils.splitHash64(jspb.utils.decimalStringToHash64(a))};
  1332. jspb.utils.hash64ToHexString=function(a){var b=Array(18);b[0]="0";b[1]="x";for(var c=0;8>c;c++){var d=a.charCodeAt(7-c);b[2*c+2]=jspb.utils.DIGITS[d>>4];b[2*c+3]=jspb.utils.DIGITS[d&15]}return b.join("")};jspb.utils.hexStringToHash64=function(a){a=a.toLowerCase();goog.asserts.assert(18==a.length);goog.asserts.assert("0"==a[0]);goog.asserts.assert("x"==a[1]);for(var b="",c=0;8>c;c++)var d=jspb.utils.DIGITS.indexOf(a[2*c+2]),e=jspb.utils.DIGITS.indexOf(a[2*c+3]),b=String.fromCharCode(16*d+e)+b;return b};
  1333. jspb.utils.hash64ToNumber=function(a,b){jspb.utils.splitHash64(a);var c=jspb.utils.split64Low,d=jspb.utils.split64High;return b?jspb.utils.joinInt64(c,d):jspb.utils.joinUint64(c,d)};jspb.utils.numberToHash64=function(a){jspb.utils.splitInt64(a);return jspb.utils.joinHash64(jspb.utils.split64Low,jspb.utils.split64High)};jspb.utils.countVarints=function(a,b,c){for(var d=0,e=b;e<c;e++)d+=a[e]>>7;return c-b-d};
  1334. jspb.utils.countVarintFields=function(a,b,c,d){var e=0;d=8*d+jspb.BinaryConstants.WireType.VARINT;if(128>d)for(;b<c&&a[b++]==d;)for(e++;;){var f=a[b++];if(0==(f&128))break}else for(;b<c;){for(f=d;128<f;){if(a[b]!=(f&127|128))return e;b++;f>>=7}if(a[b++]!=f)break;for(e++;f=a[b++],0!=(f&128););}return e};jspb.utils.countFixedFields_=function(a,b,c,d,e){var f=0;if(128>d)for(;b<c&&a[b++]==d;)f++,b+=e;else for(;b<c;){for(var g=d;128<g;){if(a[b++]!=(g&127|128))return f;g>>=7}if(a[b++]!=g)break;f++;b+=e}return f};
  1335. jspb.utils.countFixed32Fields=function(a,b,c,d){return jspb.utils.countFixedFields_(a,b,c,8*d+jspb.BinaryConstants.WireType.FIXED32,4)};jspb.utils.countFixed64Fields=function(a,b,c,d){return jspb.utils.countFixedFields_(a,b,c,8*d+jspb.BinaryConstants.WireType.FIXED64,8)};
  1336. jspb.utils.countDelimitedFields=function(a,b,c,d){var e=0;for(d=8*d+jspb.BinaryConstants.WireType.DELIMITED;b<c;){for(var f=d;128<f;){if(a[b++]!=(f&127|128))return e;f>>=7}if(a[b++]!=f)break;e++;for(var g=0,h=1;f=a[b++],g+=(f&127)*h,h*=128,0!=(f&128););b+=g}return e};jspb.utils.debugBytesToTextFormat=function(a){var b='"';if(a){a=jspb.utils.byteSourceToUint8Array(a);for(var c=0;c<a.length;c++)b+="\\x",16>a[c]&&(b+="0"),b+=a[c].toString(16)}return b+'"'};
  1337. jspb.utils.debugScalarToTextFormat=function(a){return goog.isString(a)?goog.string.quote(a):a.toString()};jspb.utils.stringToByteArray=function(a){for(var b=new Uint8Array(a.length),c=0;c<a.length;c++){var d=a.charCodeAt(c);if(255<d)throw Error("Conversion error: string contains codepoint outside of byte range");b[c]=d}return b};
  1338. jspb.utils.byteSourceToUint8Array=function(a){if(a.constructor===Uint8Array)return a;if(a.constructor===ArrayBuffer||a.constructor===Buffer||a.constructor===Array)return new Uint8Array(a);if(a.constructor===String)return goog.crypt.base64.decodeStringToUint8Array(a);goog.asserts.fail("Type not convertible to Uint8Array.");return new Uint8Array(0)};jspb.BinaryEncoder=function(){this.buffer_=[]};jspb.BinaryEncoder.prototype.length=function(){return this.buffer_.length};jspb.BinaryEncoder.prototype.end=function(){var a=this.buffer_;this.buffer_=[];return a};
  1339. jspb.BinaryEncoder.prototype.writeSplitVarint64=function(a,b){goog.asserts.assert(a==Math.floor(a));goog.asserts.assert(b==Math.floor(b));goog.asserts.assert(0<=a&&a<jspb.BinaryConstants.TWO_TO_32);for(goog.asserts.assert(0<=b&&b<jspb.BinaryConstants.TWO_TO_32);0<b||127<a;)this.buffer_.push(a&127|128),a=(a>>>7|b<<25)>>>0,b>>>=7;this.buffer_.push(a)};
  1340. jspb.BinaryEncoder.prototype.writeSplitFixed64=function(a,b){goog.asserts.assert(a==Math.floor(a));goog.asserts.assert(b==Math.floor(b));goog.asserts.assert(0<=a&&a<jspb.BinaryConstants.TWO_TO_32);goog.asserts.assert(0<=b&&b<jspb.BinaryConstants.TWO_TO_32);this.writeUint32(a);this.writeUint32(b)};
  1341. jspb.BinaryEncoder.prototype.writeUnsignedVarint32=function(a){goog.asserts.assert(a==Math.floor(a));for(goog.asserts.assert(0<=a&&a<jspb.BinaryConstants.TWO_TO_32);127<a;)this.buffer_.push(a&127|128),a>>>=7;this.buffer_.push(a)};
  1342. jspb.BinaryEncoder.prototype.writeSignedVarint32=function(a){goog.asserts.assert(a==Math.floor(a));goog.asserts.assert(a>=-jspb.BinaryConstants.TWO_TO_31&&a<jspb.BinaryConstants.TWO_TO_31);if(0<=a)this.writeUnsignedVarint32(a);else{for(var b=0;9>b;b++)this.buffer_.push(a&127|128),a>>=7;this.buffer_.push(1)}};
  1343. jspb.BinaryEncoder.prototype.writeUnsignedVarint64=function(a){goog.asserts.assert(a==Math.floor(a));goog.asserts.assert(0<=a&&a<jspb.BinaryConstants.TWO_TO_64);jspb.utils.splitInt64(a);this.writeSplitVarint64(jspb.utils.split64Low,jspb.utils.split64High)};
  1344. jspb.BinaryEncoder.prototype.writeSignedVarint64=function(a){goog.asserts.assert(a==Math.floor(a));goog.asserts.assert(a>=-jspb.BinaryConstants.TWO_TO_63&&a<jspb.BinaryConstants.TWO_TO_63);jspb.utils.splitInt64(a);this.writeSplitVarint64(jspb.utils.split64Low,jspb.utils.split64High)};
  1345. jspb.BinaryEncoder.prototype.writeZigzagVarint32=function(a){goog.asserts.assert(a==Math.floor(a));goog.asserts.assert(a>=-jspb.BinaryConstants.TWO_TO_31&&a<jspb.BinaryConstants.TWO_TO_31);this.writeUnsignedVarint32((a<<1^a>>31)>>>0)};jspb.BinaryEncoder.prototype.writeZigzagVarint64=function(a){goog.asserts.assert(a==Math.floor(a));goog.asserts.assert(a>=-jspb.BinaryConstants.TWO_TO_63&&a<jspb.BinaryConstants.TWO_TO_63);jspb.utils.splitZigzag64(a);this.writeSplitVarint64(jspb.utils.split64Low,jspb.utils.split64High)};
  1346. jspb.BinaryEncoder.prototype.writeZigzagVarint64String=function(a){this.writeZigzagVarint64(parseInt(a,10))};jspb.BinaryEncoder.prototype.writeUint8=function(a){goog.asserts.assert(a==Math.floor(a));goog.asserts.assert(0<=a&&256>a);this.buffer_.push(a>>>0&255)};jspb.BinaryEncoder.prototype.writeUint16=function(a){goog.asserts.assert(a==Math.floor(a));goog.asserts.assert(0<=a&&65536>a);this.buffer_.push(a>>>0&255);this.buffer_.push(a>>>8&255)};
  1347. jspb.BinaryEncoder.prototype.writeUint32=function(a){goog.asserts.assert(a==Math.floor(a));goog.asserts.assert(0<=a&&a<jspb.BinaryConstants.TWO_TO_32);this.buffer_.push(a>>>0&255);this.buffer_.push(a>>>8&255);this.buffer_.push(a>>>16&255);this.buffer_.push(a>>>24&255)};jspb.BinaryEncoder.prototype.writeUint64=function(a){goog.asserts.assert(a==Math.floor(a));goog.asserts.assert(0<=a&&a<jspb.BinaryConstants.TWO_TO_64);jspb.utils.splitUint64(a);this.writeUint32(jspb.utils.split64Low);this.writeUint32(jspb.utils.split64High)};
  1348. jspb.BinaryEncoder.prototype.writeInt8=function(a){goog.asserts.assert(a==Math.floor(a));goog.asserts.assert(-128<=a&&128>a);this.buffer_.push(a>>>0&255)};jspb.BinaryEncoder.prototype.writeInt16=function(a){goog.asserts.assert(a==Math.floor(a));goog.asserts.assert(-32768<=a&&32768>a);this.buffer_.push(a>>>0&255);this.buffer_.push(a>>>8&255)};
  1349. jspb.BinaryEncoder.prototype.writeInt32=function(a){goog.asserts.assert(a==Math.floor(a));goog.asserts.assert(a>=-jspb.BinaryConstants.TWO_TO_31&&a<jspb.BinaryConstants.TWO_TO_31);this.buffer_.push(a>>>0&255);this.buffer_.push(a>>>8&255);this.buffer_.push(a>>>16&255);this.buffer_.push(a>>>24&255)};
  1350. jspb.BinaryEncoder.prototype.writeInt64=function(a){goog.asserts.assert(a==Math.floor(a));goog.asserts.assert(a>=-jspb.BinaryConstants.TWO_TO_63&&a<jspb.BinaryConstants.TWO_TO_63);jspb.utils.splitInt64(a);this.writeSplitFixed64(jspb.utils.split64Low,jspb.utils.split64High)};
  1351. jspb.BinaryEncoder.prototype.writeInt64String=function(a){goog.asserts.assert(a==Math.floor(a));goog.asserts.assert(+a>=-jspb.BinaryConstants.TWO_TO_63&&+a<jspb.BinaryConstants.TWO_TO_63);jspb.utils.splitHash64(jspb.utils.decimalStringToHash64(a));this.writeSplitFixed64(jspb.utils.split64Low,jspb.utils.split64High)};jspb.BinaryEncoder.prototype.writeFloat=function(a){goog.asserts.assert(a>=-jspb.BinaryConstants.FLOAT32_MAX&&a<=jspb.BinaryConstants.FLOAT32_MAX);jspb.utils.splitFloat32(a);this.writeUint32(jspb.utils.split64Low)};
  1352. jspb.BinaryEncoder.prototype.writeDouble=function(a){goog.asserts.assert(a>=-jspb.BinaryConstants.FLOAT64_MAX&&a<=jspb.BinaryConstants.FLOAT64_MAX);jspb.utils.splitFloat64(a);this.writeUint32(jspb.utils.split64Low);this.writeUint32(jspb.utils.split64High)};jspb.BinaryEncoder.prototype.writeBool=function(a){goog.asserts.assert(goog.isBoolean(a)||goog.isNumber(a));this.buffer_.push(a?1:0)};
  1353. jspb.BinaryEncoder.prototype.writeEnum=function(a){goog.asserts.assert(a==Math.floor(a));goog.asserts.assert(a>=-jspb.BinaryConstants.TWO_TO_31&&a<jspb.BinaryConstants.TWO_TO_31);this.writeSignedVarint32(a)};jspb.BinaryEncoder.prototype.writeBytes=function(a){this.buffer_.push.apply(this.buffer_,a)};jspb.BinaryEncoder.prototype.writeVarintHash64=function(a){jspb.utils.splitHash64(a);this.writeSplitVarint64(jspb.utils.split64Low,jspb.utils.split64High)};
  1354. jspb.BinaryEncoder.prototype.writeFixedHash64=function(a){jspb.utils.splitHash64(a);this.writeUint32(jspb.utils.split64Low);this.writeUint32(jspb.utils.split64High)};
  1355. jspb.BinaryEncoder.prototype.writeString=function(a){for(var b=this.buffer_.length,c=0;c<a.length;c++){var d=a.charCodeAt(c);if(128>d)this.buffer_.push(d);else if(2048>d)this.buffer_.push(d>>6|192),this.buffer_.push(d&63|128);else if(65536>d)if(55296<=d&&56319>=d&&c+1<a.length){var e=a.charCodeAt(c+1);56320<=e&&57343>=e&&(d=1024*(d-55296)+e-56320+65536,this.buffer_.push(d>>18|240),this.buffer_.push(d>>12&63|128),this.buffer_.push(d>>6&63|128),this.buffer_.push(d&63|128),c++)}else this.buffer_.push(d>>
  1356. 12|224),this.buffer_.push(d>>6&63|128),this.buffer_.push(d&63|128)}return this.buffer_.length-b};jspb.BinaryWriter=function(){this.blocks_=[];this.totalLength_=0;this.encoder_=new jspb.BinaryEncoder;this.bookmarks_=[]};jspb.BinaryWriter.prototype.appendUint8Array_=function(a){var b=this.encoder_.end();this.blocks_.push(b);this.blocks_.push(a);this.totalLength_+=b.length+a.length};
  1357. jspb.BinaryWriter.prototype.beginDelimited_=function(a){this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.DELIMITED);a=this.encoder_.end();this.blocks_.push(a);this.totalLength_+=a.length;a.push(this.totalLength_);return a};jspb.BinaryWriter.prototype.endDelimited_=function(a){var b=a.pop(),b=this.totalLength_+this.encoder_.length()-b;for(goog.asserts.assert(0<=b);127<b;)a.push(b&127|128),b>>>=7,this.totalLength_++;a.push(b);this.totalLength_++};
  1358. jspb.BinaryWriter.prototype.writeSerializedMessage=function(a,b,c){this.appendUint8Array_(a.subarray(b,c))};jspb.BinaryWriter.prototype.maybeWriteSerializedMessage=function(a,b,c){null!=a&&null!=b&&null!=c&&this.writeSerializedMessage(a,b,c)};jspb.BinaryWriter.prototype.reset=function(){this.blocks_=[];this.encoder_.end();this.totalLength_=0;this.bookmarks_=[]};
  1359. jspb.BinaryWriter.prototype.getResultBuffer=function(){goog.asserts.assert(0==this.bookmarks_.length);for(var a=new Uint8Array(this.totalLength_+this.encoder_.length()),b=this.blocks_,c=b.length,d=0,e=0;e<c;e++){var f=b[e];a.set(f,d);d+=f.length}b=this.encoder_.end();a.set(b,d);d+=b.length;goog.asserts.assert(d==a.length);this.blocks_=[a];return a};jspb.BinaryWriter.prototype.getResultBase64String=function(a){return goog.crypt.base64.encodeByteArray(this.getResultBuffer(),a)};
  1360. jspb.BinaryWriter.prototype.beginSubMessage=function(a){this.bookmarks_.push(this.beginDelimited_(a))};jspb.BinaryWriter.prototype.endSubMessage=function(){goog.asserts.assert(0<=this.bookmarks_.length);this.endDelimited_(this.bookmarks_.pop())};jspb.BinaryWriter.prototype.writeFieldHeader_=function(a,b){goog.asserts.assert(1<=a&&a==Math.floor(a));this.encoder_.writeUnsignedVarint32(8*a+b)};
  1361. jspb.BinaryWriter.prototype.writeAny=function(a,b,c){var d=jspb.BinaryConstants.FieldType;switch(a){case d.DOUBLE:this.writeDouble(b,c);break;case d.FLOAT:this.writeFloat(b,c);break;case d.INT64:this.writeInt64(b,c);break;case d.UINT64:this.writeUint64(b,c);break;case d.INT32:this.writeInt32(b,c);break;case d.FIXED64:this.writeFixed64(b,c);break;case d.FIXED32:this.writeFixed32(b,c);break;case d.BOOL:this.writeBool(b,c);break;case d.STRING:this.writeString(b,c);break;case d.GROUP:goog.asserts.fail("Group field type not supported in writeAny()");
  1362. break;case d.MESSAGE:goog.asserts.fail("Message field type not supported in writeAny()");break;case d.BYTES:this.writeBytes(b,c);break;case d.UINT32:this.writeUint32(b,c);break;case d.ENUM:this.writeEnum(b,c);break;case d.SFIXED32:this.writeSfixed32(b,c);break;case d.SFIXED64:this.writeSfixed64(b,c);break;case d.SINT32:this.writeSint32(b,c);break;case d.SINT64:this.writeSint64(b,c);break;case d.FHASH64:this.writeFixedHash64(b,c);break;case d.VHASH64:this.writeVarintHash64(b,c);break;default:goog.asserts.fail("Invalid field type in writeAny()")}};
  1363. jspb.BinaryWriter.prototype.writeUnsignedVarint32_=function(a,b){null!=b&&(this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeUnsignedVarint32(b))};jspb.BinaryWriter.prototype.writeSignedVarint32_=function(a,b){null!=b&&(this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeSignedVarint32(b))};jspb.BinaryWriter.prototype.writeUnsignedVarint64_=function(a,b){null!=b&&(this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeUnsignedVarint64(b))};
  1364. jspb.BinaryWriter.prototype.writeSignedVarint64_=function(a,b){null!=b&&(this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeSignedVarint64(b))};jspb.BinaryWriter.prototype.writeZigzagVarint32_=function(a,b){null!=b&&(this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeZigzagVarint32(b))};jspb.BinaryWriter.prototype.writeZigzagVarint64_=function(a,b){null!=b&&(this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeZigzagVarint64(b))};
  1365. jspb.BinaryWriter.prototype.writeZigzagVarint64String_=function(a,b){null!=b&&(this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeZigzagVarint64String(b))};jspb.BinaryWriter.prototype.writeInt32=function(a,b){null!=b&&(goog.asserts.assert(b>=-jspb.BinaryConstants.TWO_TO_31&&b<jspb.BinaryConstants.TWO_TO_31),this.writeSignedVarint32_(a,b))};
  1366. jspb.BinaryWriter.prototype.writeInt32String=function(a,b){if(null!=b){var c=parseInt(b,10);goog.asserts.assert(c>=-jspb.BinaryConstants.TWO_TO_31&&c<jspb.BinaryConstants.TWO_TO_31);this.writeSignedVarint32_(a,c)}};jspb.BinaryWriter.prototype.writeInt64=function(a,b){null!=b&&(goog.asserts.assert(b>=-jspb.BinaryConstants.TWO_TO_63&&b<jspb.BinaryConstants.TWO_TO_63),this.writeSignedVarint64_(a,b))};
  1367. jspb.BinaryWriter.prototype.writeInt64String=function(a,b){if(null!=b){var c=jspb.arith.Int64.fromString(b);this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.VARINT);this.encoder_.writeSplitVarint64(c.lo,c.hi)}};jspb.BinaryWriter.prototype.writeUint32=function(a,b){null!=b&&(goog.asserts.assert(0<=b&&b<jspb.BinaryConstants.TWO_TO_32),this.writeUnsignedVarint32_(a,b))};
  1368. jspb.BinaryWriter.prototype.writeUint32String=function(a,b){if(null!=b){var c=parseInt(b,10);goog.asserts.assert(0<=c&&c<jspb.BinaryConstants.TWO_TO_32);this.writeUnsignedVarint32_(a,c)}};jspb.BinaryWriter.prototype.writeUint64=function(a,b){null!=b&&(goog.asserts.assert(0<=b&&b<jspb.BinaryConstants.TWO_TO_64),this.writeUnsignedVarint64_(a,b))};
  1369. jspb.BinaryWriter.prototype.writeUint64String=function(a,b){if(null!=b){var c=jspb.arith.UInt64.fromString(b);this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.VARINT);this.encoder_.writeSplitVarint64(c.lo,c.hi)}};jspb.BinaryWriter.prototype.writeSint32=function(a,b){null!=b&&(goog.asserts.assert(b>=-jspb.BinaryConstants.TWO_TO_31&&b<jspb.BinaryConstants.TWO_TO_31),this.writeZigzagVarint32_(a,b))};
  1370. jspb.BinaryWriter.prototype.writeSint64=function(a,b){null!=b&&(goog.asserts.assert(b>=-jspb.BinaryConstants.TWO_TO_63&&b<jspb.BinaryConstants.TWO_TO_63),this.writeZigzagVarint64_(a,b))};jspb.BinaryWriter.prototype.writeSint64String=function(a,b){null!=b&&(goog.asserts.assert(+b>=-jspb.BinaryConstants.TWO_TO_63&&+b<jspb.BinaryConstants.TWO_TO_63),this.writeZigzagVarint64String_(a,b))};
  1371. jspb.BinaryWriter.prototype.writeFixed32=function(a,b){null!=b&&(goog.asserts.assert(0<=b&&b<jspb.BinaryConstants.TWO_TO_32),this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.FIXED32),this.encoder_.writeUint32(b))};jspb.BinaryWriter.prototype.writeFixed64=function(a,b){null!=b&&(goog.asserts.assert(0<=b&&b<jspb.BinaryConstants.TWO_TO_64),this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.FIXED64),this.encoder_.writeUint64(b))};
  1372. jspb.BinaryWriter.prototype.writeFixed64String=function(a,b){if(null!=b){var c=jspb.arith.UInt64.fromString(b);this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.FIXED64);this.encoder_.writeSplitFixed64(c.lo,c.hi)}};jspb.BinaryWriter.prototype.writeSfixed32=function(a,b){null!=b&&(goog.asserts.assert(b>=-jspb.BinaryConstants.TWO_TO_31&&b<jspb.BinaryConstants.TWO_TO_31),this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.FIXED32),this.encoder_.writeInt32(b))};
  1373. jspb.BinaryWriter.prototype.writeSfixed64=function(a,b){null!=b&&(goog.asserts.assert(b>=-jspb.BinaryConstants.TWO_TO_63&&b<jspb.BinaryConstants.TWO_TO_63),this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.FIXED64),this.encoder_.writeInt64(b))};jspb.BinaryWriter.prototype.writeSfixed64String=function(a,b){if(null!=b){var c=jspb.arith.Int64.fromString(b);this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.FIXED64);this.encoder_.writeSplitFixed64(c.lo,c.hi)}};
  1374. jspb.BinaryWriter.prototype.writeFloat=function(a,b){null!=b&&(this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.FIXED32),this.encoder_.writeFloat(b))};jspb.BinaryWriter.prototype.writeDouble=function(a,b){null!=b&&(this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.FIXED64),this.encoder_.writeDouble(b))};jspb.BinaryWriter.prototype.writeBool=function(a,b){null!=b&&(goog.asserts.assert(goog.isBoolean(b)||goog.isNumber(b)),this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeBool(b))};
  1375. jspb.BinaryWriter.prototype.writeEnum=function(a,b){null!=b&&(goog.asserts.assert(b>=-jspb.BinaryConstants.TWO_TO_31&&b<jspb.BinaryConstants.TWO_TO_31),this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeSignedVarint32(b))};jspb.BinaryWriter.prototype.writeString=function(a,b){if(null!=b){var c=this.beginDelimited_(a);this.encoder_.writeString(b);this.endDelimited_(c)}};
  1376. jspb.BinaryWriter.prototype.writeBytes=function(a,b){if(null!=b){var c=jspb.utils.byteSourceToUint8Array(b);this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.DELIMITED);this.encoder_.writeUnsignedVarint32(c.length);this.appendUint8Array_(c)}};jspb.BinaryWriter.prototype.writeMessage=function(a,b,c){null!=b&&(a=this.beginDelimited_(a),c(b,this),this.endDelimited_(a))};
  1377. jspb.BinaryWriter.prototype.writeGroup=function(a,b,c){null!=b&&(this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.START_GROUP),c(b,this),this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.END_GROUP))};jspb.BinaryWriter.prototype.writeFixedHash64=function(a,b){null!=b&&(goog.asserts.assert(8==b.length),this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.FIXED64),this.encoder_.writeFixedHash64(b))};
  1378. jspb.BinaryWriter.prototype.writeVarintHash64=function(a,b){null!=b&&(goog.asserts.assert(8==b.length),this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeVarintHash64(b))};jspb.BinaryWriter.prototype.writeRepeatedInt32=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeSignedVarint32_(a,b[c])};jspb.BinaryWriter.prototype.writeRepeatedInt32String=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeInt32String(a,b[c])};
  1379. jspb.BinaryWriter.prototype.writeRepeatedInt64=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeSignedVarint64_(a,b[c])};jspb.BinaryWriter.prototype.writeRepeatedInt64String=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeInt64String(a,b[c])};jspb.BinaryWriter.prototype.writeRepeatedUint32=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeUnsignedVarint32_(a,b[c])};
  1380. jspb.BinaryWriter.prototype.writeRepeatedUint32String=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeUint32String(a,b[c])};jspb.BinaryWriter.prototype.writeRepeatedUint64=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeUnsignedVarint64_(a,b[c])};jspb.BinaryWriter.prototype.writeRepeatedUint64String=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeUint64String(a,b[c])};
  1381. jspb.BinaryWriter.prototype.writeRepeatedSint32=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeZigzagVarint32_(a,b[c])};jspb.BinaryWriter.prototype.writeRepeatedSint64=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeZigzagVarint64_(a,b[c])};jspb.BinaryWriter.prototype.writeRepeatedSint64String=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeZigzagVarint64String_(a,b[c])};
  1382. jspb.BinaryWriter.prototype.writeRepeatedFixed32=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeFixed32(a,b[c])};jspb.BinaryWriter.prototype.writeRepeatedFixed64=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeFixed64(a,b[c])};jspb.BinaryWriter.prototype.writeRepeatedFixed64String=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeFixed64String(a,b[c])};
  1383. jspb.BinaryWriter.prototype.writeRepeatedSfixed32=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeSfixed32(a,b[c])};jspb.BinaryWriter.prototype.writeRepeatedSfixed64=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeSfixed64(a,b[c])};jspb.BinaryWriter.prototype.writeRepeatedSfixed64String=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeSfixed64String(a,b[c])};
  1384. jspb.BinaryWriter.prototype.writeRepeatedFloat=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeFloat(a,b[c])};jspb.BinaryWriter.prototype.writeRepeatedDouble=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeDouble(a,b[c])};jspb.BinaryWriter.prototype.writeRepeatedBool=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeBool(a,b[c])};jspb.BinaryWriter.prototype.writeRepeatedEnum=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeEnum(a,b[c])};
  1385. jspb.BinaryWriter.prototype.writeRepeatedString=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeString(a,b[c])};jspb.BinaryWriter.prototype.writeRepeatedBytes=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeBytes(a,b[c])};jspb.BinaryWriter.prototype.writeRepeatedMessage=function(a,b,c){if(null!=b)for(var d=0;d<b.length;d++){var e=this.beginDelimited_(a);c(b[d],this);this.endDelimited_(e)}};
  1386. jspb.BinaryWriter.prototype.writeRepeatedGroup=function(a,b,c){if(null!=b)for(var d=0;d<b.length;d++)this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.START_GROUP),c(b[d],this),this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.END_GROUP)};jspb.BinaryWriter.prototype.writeRepeatedFixedHash64=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeFixedHash64(a,b[c])};
  1387. jspb.BinaryWriter.prototype.writeRepeatedVarintHash64=function(a,b){if(null!=b)for(var c=0;c<b.length;c++)this.writeVarintHash64(a,b[c])};jspb.BinaryWriter.prototype.writePackedInt32=function(a,b){if(null!=b&&b.length){for(var c=this.beginDelimited_(a),d=0;d<b.length;d++)this.encoder_.writeSignedVarint32(b[d]);this.endDelimited_(c)}};
  1388. jspb.BinaryWriter.prototype.writePackedInt32String=function(a,b){if(null!=b&&b.length){for(var c=this.beginDelimited_(a),d=0;d<b.length;d++)this.encoder_.writeSignedVarint32(parseInt(b[d],10));this.endDelimited_(c)}};jspb.BinaryWriter.prototype.writePackedInt64=function(a,b){if(null!=b&&b.length){for(var c=this.beginDelimited_(a),d=0;d<b.length;d++)this.encoder_.writeSignedVarint64(b[d]);this.endDelimited_(c)}};
  1389. jspb.BinaryWriter.prototype.writePackedInt64String=function(a,b){if(null!=b&&b.length){for(var c=this.beginDelimited_(a),d=0;d<b.length;d++){var e=jspb.arith.Int64.fromString(b[d]);this.encoder_.writeSplitVarint64(e.lo,e.hi)}this.endDelimited_(c)}};jspb.BinaryWriter.prototype.writePackedUint32=function(a,b){if(null!=b&&b.length){for(var c=this.beginDelimited_(a),d=0;d<b.length;d++)this.encoder_.writeUnsignedVarint32(b[d]);this.endDelimited_(c)}};
  1390. jspb.BinaryWriter.prototype.writePackedUint32String=function(a,b){if(null!=b&&b.length){for(var c=this.beginDelimited_(a),d=0;d<b.length;d++)this.encoder_.writeUnsignedVarint32(parseInt(b[d],10));this.endDelimited_(c)}};jspb.BinaryWriter.prototype.writePackedUint64=function(a,b){if(null!=b&&b.length){for(var c=this.beginDelimited_(a),d=0;d<b.length;d++)this.encoder_.writeUnsignedVarint64(b[d]);this.endDelimited_(c)}};
  1391. jspb.BinaryWriter.prototype.writePackedUint64String=function(a,b){if(null!=b&&b.length){for(var c=this.beginDelimited_(a),d=0;d<b.length;d++){var e=jspb.arith.UInt64.fromString(b[d]);this.encoder_.writeSplitVarint64(e.lo,e.hi)}this.endDelimited_(c)}};jspb.BinaryWriter.prototype.writePackedSint32=function(a,b){if(null!=b&&b.length){for(var c=this.beginDelimited_(a),d=0;d<b.length;d++)this.encoder_.writeZigzagVarint32(b[d]);this.endDelimited_(c)}};
  1392. jspb.BinaryWriter.prototype.writePackedSint64=function(a,b){if(null!=b&&b.length){for(var c=this.beginDelimited_(a),d=0;d<b.length;d++)this.encoder_.writeZigzagVarint64(b[d]);this.endDelimited_(c)}};jspb.BinaryWriter.prototype.writePackedSint64String=function(a,b){if(null!=b&&b.length){for(var c=this.beginDelimited_(a),d=0;d<b.length;d++)this.encoder_.writeZigzagVarint64(parseInt(b[d],10));this.endDelimited_(c)}};
  1393. jspb.BinaryWriter.prototype.writePackedFixed32=function(a,b){if(null!=b&&b.length){this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.DELIMITED);this.encoder_.writeUnsignedVarint32(4*b.length);for(var c=0;c<b.length;c++)this.encoder_.writeUint32(b[c])}};jspb.BinaryWriter.prototype.writePackedFixed64=function(a,b){if(null!=b&&b.length){this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.DELIMITED);this.encoder_.writeUnsignedVarint32(8*b.length);for(var c=0;c<b.length;c++)this.encoder_.writeUint64(b[c])}};
  1394. jspb.BinaryWriter.prototype.writePackedFixed64String=function(a,b){if(null!=b&&b.length){this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.DELIMITED);this.encoder_.writeUnsignedVarint32(8*b.length);for(var c=0;c<b.length;c++){var d=jspb.arith.UInt64.fromString(b[c]);this.encoder_.writeSplitFixed64(d.lo,d.hi)}}};
  1395. jspb.BinaryWriter.prototype.writePackedSfixed32=function(a,b){if(null!=b&&b.length){this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.DELIMITED);this.encoder_.writeUnsignedVarint32(4*b.length);for(var c=0;c<b.length;c++)this.encoder_.writeInt32(b[c])}};jspb.BinaryWriter.prototype.writePackedSfixed64=function(a,b){if(null!=b&&b.length){this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.DELIMITED);this.encoder_.writeUnsignedVarint32(8*b.length);for(var c=0;c<b.length;c++)this.encoder_.writeInt64(b[c])}};
  1396. jspb.BinaryWriter.prototype.writePackedSfixed64String=function(a,b){if(null!=b&&b.length){this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.DELIMITED);this.encoder_.writeUnsignedVarint32(8*b.length);for(var c=0;c<b.length;c++)this.encoder_.writeInt64String(b[c])}};jspb.BinaryWriter.prototype.writePackedFloat=function(a,b){if(null!=b&&b.length){this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.DELIMITED);this.encoder_.writeUnsignedVarint32(4*b.length);for(var c=0;c<b.length;c++)this.encoder_.writeFloat(b[c])}};
  1397. jspb.BinaryWriter.prototype.writePackedDouble=function(a,b){if(null!=b&&b.length){this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.DELIMITED);this.encoder_.writeUnsignedVarint32(8*b.length);for(var c=0;c<b.length;c++)this.encoder_.writeDouble(b[c])}};jspb.BinaryWriter.prototype.writePackedBool=function(a,b){if(null!=b&&b.length){this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.DELIMITED);this.encoder_.writeUnsignedVarint32(b.length);for(var c=0;c<b.length;c++)this.encoder_.writeBool(b[c])}};
  1398. jspb.BinaryWriter.prototype.writePackedEnum=function(a,b){if(null!=b&&b.length){for(var c=this.beginDelimited_(a),d=0;d<b.length;d++)this.encoder_.writeEnum(b[d]);this.endDelimited_(c)}};jspb.BinaryWriter.prototype.writePackedFixedHash64=function(a,b){if(null!=b&&b.length){this.writeFieldHeader_(a,jspb.BinaryConstants.WireType.DELIMITED);this.encoder_.writeUnsignedVarint32(8*b.length);for(var c=0;c<b.length;c++)this.encoder_.writeFixedHash64(b[c])}};
  1399. jspb.BinaryWriter.prototype.writePackedVarintHash64=function(a,b){if(null!=b&&b.length){for(var c=this.beginDelimited_(a),d=0;d<b.length;d++)this.encoder_.writeVarintHash64(b[d]);this.endDelimited_(c)}};jspb.BinaryIterator=function(a,b,c){this.elements_=this.nextMethod_=this.decoder_=null;this.cursor_=0;this.nextValue_=null;this.atEnd_=!0;this.init_(a,b,c)};jspb.BinaryIterator.prototype.init_=function(a,b,c){a&&b&&(this.decoder_=a,this.nextMethod_=b);this.elements_=c||null;this.cursor_=0;this.nextValue_=null;this.atEnd_=!this.decoder_&&!this.elements_;this.next()};jspb.BinaryIterator.instanceCache_=[];
  1400. jspb.BinaryIterator.alloc=function(a,b,c){if(jspb.BinaryIterator.instanceCache_.length){var d=jspb.BinaryIterator.instanceCache_.pop();d.init_(a,b,c);return d}return new jspb.BinaryIterator(a,b,c)};jspb.BinaryIterator.prototype.free=function(){this.clear();100>jspb.BinaryIterator.instanceCache_.length&&jspb.BinaryIterator.instanceCache_.push(this)};
  1401. jspb.BinaryIterator.prototype.clear=function(){this.decoder_&&this.decoder_.free();this.elements_=this.nextMethod_=this.decoder_=null;this.cursor_=0;this.nextValue_=null;this.atEnd_=!0};jspb.BinaryIterator.prototype.get=function(){return this.nextValue_};jspb.BinaryIterator.prototype.atEnd=function(){return this.atEnd_};
  1402. jspb.BinaryIterator.prototype.next=function(){var a=this.nextValue_;this.decoder_?this.decoder_.atEnd()?(this.nextValue_=null,this.atEnd_=!0):this.nextValue_=this.nextMethod_.call(this.decoder_):this.elements_&&(this.cursor_==this.elements_.length?(this.nextValue_=null,this.atEnd_=!0):this.nextValue_=this.elements_[this.cursor_++]);return a};jspb.BinaryDecoder=function(a,b,c){this.bytes_=null;this.tempHigh_=this.tempLow_=this.cursor_=this.end_=this.start_=0;this.error_=!1;a&&this.setBlock(a,b,c)};
  1403. jspb.BinaryDecoder.instanceCache_=[];jspb.BinaryDecoder.alloc=function(a,b,c){if(jspb.BinaryDecoder.instanceCache_.length){var d=jspb.BinaryDecoder.instanceCache_.pop();a&&d.setBlock(a,b,c);return d}return new jspb.BinaryDecoder(a,b,c)};jspb.BinaryDecoder.prototype.free=function(){this.clear();100>jspb.BinaryDecoder.instanceCache_.length&&jspb.BinaryDecoder.instanceCache_.push(this)};jspb.BinaryDecoder.prototype.clone=function(){return jspb.BinaryDecoder.alloc(this.bytes_,this.start_,this.end_-this.start_)};
  1404. jspb.BinaryDecoder.prototype.clear=function(){this.bytes_=null;this.cursor_=this.end_=this.start_=0;this.error_=!1};jspb.BinaryDecoder.prototype.getBuffer=function(){return this.bytes_};jspb.BinaryDecoder.prototype.setBlock=function(a,b,c){this.bytes_=jspb.utils.byteSourceToUint8Array(a);this.start_=goog.isDef(b)?b:0;this.end_=goog.isDef(c)?this.start_+c:this.bytes_.length;this.cursor_=this.start_};jspb.BinaryDecoder.prototype.getEnd=function(){return this.end_};
  1405. jspb.BinaryDecoder.prototype.setEnd=function(a){this.end_=a};jspb.BinaryDecoder.prototype.reset=function(){this.cursor_=this.start_};jspb.BinaryDecoder.prototype.getCursor=function(){return this.cursor_};jspb.BinaryDecoder.prototype.setCursor=function(a){this.cursor_=a};jspb.BinaryDecoder.prototype.advance=function(a){this.cursor_+=a;goog.asserts.assert(this.cursor_<=this.end_)};jspb.BinaryDecoder.prototype.atEnd=function(){return this.cursor_==this.end_};
  1406. jspb.BinaryDecoder.prototype.pastEnd=function(){return this.cursor_>this.end_};jspb.BinaryDecoder.prototype.getError=function(){return this.error_||0>this.cursor_||this.cursor_>this.end_};
  1407. jspb.BinaryDecoder.prototype.readSplitVarint64_=function(){for(var a,b=0,c,d=0;4>d;d++)if(a=this.bytes_[this.cursor_++],b|=(a&127)<<7*d,128>a){this.tempLow_=b>>>0;this.tempHigh_=0;return}a=this.bytes_[this.cursor_++];b|=(a&127)<<28;c=0|(a&127)>>4;if(128>a)this.tempLow_=b>>>0,this.tempHigh_=c>>>0;else{for(d=0;5>d;d++)if(a=this.bytes_[this.cursor_++],c|=(a&127)<<7*d+3,128>a){this.tempLow_=b>>>0;this.tempHigh_=c>>>0;return}goog.asserts.fail("Failed to read varint, encoding is invalid.");this.error_=
  1408. !0}};jspb.BinaryDecoder.prototype.skipVarint=function(){for(;this.bytes_[this.cursor_]&128;)this.cursor_++;this.cursor_++};jspb.BinaryDecoder.prototype.unskipVarint=function(a){for(;128<a;)this.cursor_--,a>>>=7;this.cursor_--};
  1409. jspb.BinaryDecoder.prototype.readUnsignedVarint32=function(){var a,b=this.bytes_;a=b[this.cursor_+0];var c=a&127;if(128>a)return this.cursor_+=1,goog.asserts.assert(this.cursor_<=this.end_),c;a=b[this.cursor_+1];c|=(a&127)<<7;if(128>a)return this.cursor_+=2,goog.asserts.assert(this.cursor_<=this.end_),c;a=b[this.cursor_+2];c|=(a&127)<<14;if(128>a)return this.cursor_+=3,goog.asserts.assert(this.cursor_<=this.end_),c;a=b[this.cursor_+3];c|=(a&127)<<21;if(128>a)return this.cursor_+=4,goog.asserts.assert(this.cursor_<=
  1410. this.end_),c;a=b[this.cursor_+4];c|=(a&15)<<28;if(128>a)return this.cursor_+=5,goog.asserts.assert(this.cursor_<=this.end_),c>>>0;this.cursor_+=5;128<=b[this.cursor_++]&&128<=b[this.cursor_++]&&128<=b[this.cursor_++]&&128<=b[this.cursor_++]&&128<=b[this.cursor_++]&&goog.asserts.assert(!1);goog.asserts.assert(this.cursor_<=this.end_);return c};jspb.BinaryDecoder.prototype.readSignedVarint32=jspb.BinaryDecoder.prototype.readUnsignedVarint32;jspb.BinaryDecoder.prototype.readUnsignedVarint32String=function(){return this.readUnsignedVarint32().toString()};
  1411. jspb.BinaryDecoder.prototype.readSignedVarint32String=function(){return this.readSignedVarint32().toString()};jspb.BinaryDecoder.prototype.readZigzagVarint32=function(){var a=this.readUnsignedVarint32();return a>>>1^-(a&1)};jspb.BinaryDecoder.prototype.readUnsignedVarint64=function(){this.readSplitVarint64_();return jspb.utils.joinUint64(this.tempLow_,this.tempHigh_)};
  1412. jspb.BinaryDecoder.prototype.readUnsignedVarint64String=function(){this.readSplitVarint64_();return jspb.utils.joinUnsignedDecimalString(this.tempLow_,this.tempHigh_)};jspb.BinaryDecoder.prototype.readSignedVarint64=function(){this.readSplitVarint64_();return jspb.utils.joinInt64(this.tempLow_,this.tempHigh_)};jspb.BinaryDecoder.prototype.readSignedVarint64String=function(){this.readSplitVarint64_();return jspb.utils.joinSignedDecimalString(this.tempLow_,this.tempHigh_)};
  1413. jspb.BinaryDecoder.prototype.readZigzagVarint64=function(){this.readSplitVarint64_();return jspb.utils.joinZigzag64(this.tempLow_,this.tempHigh_)};jspb.BinaryDecoder.prototype.readZigzagVarint64String=function(){return this.readZigzagVarint64().toString()};jspb.BinaryDecoder.prototype.readUint8=function(){var a=this.bytes_[this.cursor_+0];this.cursor_+=1;goog.asserts.assert(this.cursor_<=this.end_);return a};
  1414. jspb.BinaryDecoder.prototype.readUint16=function(){var a=this.bytes_[this.cursor_+0],b=this.bytes_[this.cursor_+1];this.cursor_+=2;goog.asserts.assert(this.cursor_<=this.end_);return a<<0|b<<8};jspb.BinaryDecoder.prototype.readUint32=function(){var a=this.bytes_[this.cursor_+0],b=this.bytes_[this.cursor_+1],c=this.bytes_[this.cursor_+2],d=this.bytes_[this.cursor_+3];this.cursor_+=4;goog.asserts.assert(this.cursor_<=this.end_);return(a<<0|b<<8|c<<16|d<<24)>>>0};
  1415. jspb.BinaryDecoder.prototype.readUint64=function(){var a=this.readUint32(),b=this.readUint32();return jspb.utils.joinUint64(a,b)};jspb.BinaryDecoder.prototype.readUint64String=function(){var a=this.readUint32(),b=this.readUint32();return jspb.utils.joinUnsignedDecimalString(a,b)};jspb.BinaryDecoder.prototype.readInt8=function(){var a=this.bytes_[this.cursor_+0];this.cursor_+=1;goog.asserts.assert(this.cursor_<=this.end_);return a<<24>>24};
  1416. jspb.BinaryDecoder.prototype.readInt16=function(){var a=this.bytes_[this.cursor_+0],b=this.bytes_[this.cursor_+1];this.cursor_+=2;goog.asserts.assert(this.cursor_<=this.end_);return(a<<0|b<<8)<<16>>16};jspb.BinaryDecoder.prototype.readInt32=function(){var a=this.bytes_[this.cursor_+0],b=this.bytes_[this.cursor_+1],c=this.bytes_[this.cursor_+2],d=this.bytes_[this.cursor_+3];this.cursor_+=4;goog.asserts.assert(this.cursor_<=this.end_);return a<<0|b<<8|c<<16|d<<24};
  1417. jspb.BinaryDecoder.prototype.readInt64=function(){var a=this.readUint32(),b=this.readUint32();return jspb.utils.joinInt64(a,b)};jspb.BinaryDecoder.prototype.readInt64String=function(){var a=this.readUint32(),b=this.readUint32();return jspb.utils.joinSignedDecimalString(a,b)};jspb.BinaryDecoder.prototype.readFloat=function(){var a=this.readUint32();return jspb.utils.joinFloat32(a,0)};
  1418. jspb.BinaryDecoder.prototype.readDouble=function(){var a=this.readUint32(),b=this.readUint32();return jspb.utils.joinFloat64(a,b)};jspb.BinaryDecoder.prototype.readBool=function(){return!!this.bytes_[this.cursor_++]};jspb.BinaryDecoder.prototype.readEnum=function(){return this.readSignedVarint32()};
  1419. jspb.BinaryDecoder.prototype.readString=function(a){var b=this.bytes_,c=this.cursor_;a=c+a;for(var d=[],e="";c<a;){var f=b[c++];if(128>f)d.push(f);else if(192>f)continue;else if(224>f){var g=b[c++];d.push((f&31)<<6|g&63)}else if(240>f){var g=b[c++],h=b[c++];d.push((f&15)<<12|(g&63)<<6|h&63)}else if(248>f){var g=b[c++],h=b[c++],k=b[c++],f=(f&7)<<18|(g&63)<<12|(h&63)<<6|k&63,f=f-65536;d.push((f>>10&1023)+55296,(f&1023)+56320)}8192<=d.length&&(e+=String.fromCharCode.apply(null,d),d.length=0)}e+=goog.crypt.byteArrayToString(d);
  1420. this.cursor_=c;return e};jspb.BinaryDecoder.prototype.readStringWithLength=function(){var a=this.readUnsignedVarint32();return this.readString(a)};jspb.BinaryDecoder.prototype.readBytes=function(a){if(0>a||this.cursor_+a>this.bytes_.length)return this.error_=!0,goog.asserts.fail("Invalid byte length!"),new Uint8Array(0);var b=this.bytes_.subarray(this.cursor_,this.cursor_+a);this.cursor_+=a;goog.asserts.assert(this.cursor_<=this.end_);return b};
  1421. jspb.BinaryDecoder.prototype.readVarintHash64=function(){this.readSplitVarint64_();return jspb.utils.joinHash64(this.tempLow_,this.tempHigh_)};jspb.BinaryDecoder.prototype.readFixedHash64=function(){var a=this.bytes_,b=this.cursor_,c=a[b+0],d=a[b+1],e=a[b+2],f=a[b+3],g=a[b+4],h=a[b+5],k=a[b+6],a=a[b+7];this.cursor_+=8;return String.fromCharCode(c,d,e,f,g,h,k,a)};jspb.BinaryReader=function(a,b,c){this.decoder_=jspb.BinaryDecoder.alloc(a,b,c);this.fieldCursor_=this.decoder_.getCursor();this.nextField_=jspb.BinaryConstants.INVALID_FIELD_NUMBER;this.nextWireType_=jspb.BinaryConstants.WireType.INVALID;this.error_=!1;this.readCallbacks_=null};jspb.BinaryReader.instanceCache_=[];
  1422. jspb.BinaryReader.alloc=function(a,b,c){if(jspb.BinaryReader.instanceCache_.length){var d=jspb.BinaryReader.instanceCache_.pop();a&&d.decoder_.setBlock(a,b,c);return d}return new jspb.BinaryReader(a,b,c)};jspb.BinaryReader.prototype.alloc=jspb.BinaryReader.alloc;
  1423. jspb.BinaryReader.prototype.free=function(){this.decoder_.clear();this.nextField_=jspb.BinaryConstants.INVALID_FIELD_NUMBER;this.nextWireType_=jspb.BinaryConstants.WireType.INVALID;this.error_=!1;this.readCallbacks_=null;100>jspb.BinaryReader.instanceCache_.length&&jspb.BinaryReader.instanceCache_.push(this)};jspb.BinaryReader.prototype.getFieldCursor=function(){return this.fieldCursor_};jspb.BinaryReader.prototype.getCursor=function(){return this.decoder_.getCursor()};
  1424. jspb.BinaryReader.prototype.getBuffer=function(){return this.decoder_.getBuffer()};jspb.BinaryReader.prototype.getFieldNumber=function(){return this.nextField_};jspb.BinaryReader.prototype.getWireType=function(){return this.nextWireType_};jspb.BinaryReader.prototype.isEndGroup=function(){return this.nextWireType_==jspb.BinaryConstants.WireType.END_GROUP};jspb.BinaryReader.prototype.getError=function(){return this.error_||this.decoder_.getError()};
  1425. jspb.BinaryReader.prototype.setBlock=function(a,b,c){this.decoder_.setBlock(a,b,c);this.nextField_=jspb.BinaryConstants.INVALID_FIELD_NUMBER;this.nextWireType_=jspb.BinaryConstants.WireType.INVALID};jspb.BinaryReader.prototype.reset=function(){this.decoder_.reset();this.nextField_=jspb.BinaryConstants.INVALID_FIELD_NUMBER;this.nextWireType_=jspb.BinaryConstants.WireType.INVALID};jspb.BinaryReader.prototype.advance=function(a){this.decoder_.advance(a)};
  1426. jspb.BinaryReader.prototype.nextField=function(){if(this.decoder_.atEnd())return!1;if(this.getError())return goog.asserts.fail("Decoder hit an error"),!1;this.fieldCursor_=this.decoder_.getCursor();var a=this.decoder_.readUnsignedVarint32(),b=a>>>3,a=a&7;if(a!=jspb.BinaryConstants.WireType.VARINT&&a!=jspb.BinaryConstants.WireType.FIXED32&&a!=jspb.BinaryConstants.WireType.FIXED64&&a!=jspb.BinaryConstants.WireType.DELIMITED&&a!=jspb.BinaryConstants.WireType.START_GROUP&&a!=jspb.BinaryConstants.WireType.END_GROUP)return goog.asserts.fail("Invalid wire type"),
  1427. this.error_=!0,!1;this.nextField_=b;this.nextWireType_=a;return!0};jspb.BinaryReader.prototype.unskipHeader=function(){this.decoder_.unskipVarint(this.nextField_<<3|this.nextWireType_)};jspb.BinaryReader.prototype.skipMatchingFields=function(){var a=this.nextField_;for(this.unskipHeader();this.nextField()&&this.getFieldNumber()==a;)this.skipField();this.decoder_.atEnd()||this.unskipHeader()};
  1428. jspb.BinaryReader.prototype.skipVarintField=function(){this.nextWireType_!=jspb.BinaryConstants.WireType.VARINT?(goog.asserts.fail("Invalid wire type for skipVarintField"),this.skipField()):this.decoder_.skipVarint()};jspb.BinaryReader.prototype.skipDelimitedField=function(){if(this.nextWireType_!=jspb.BinaryConstants.WireType.DELIMITED)goog.asserts.fail("Invalid wire type for skipDelimitedField"),this.skipField();else{var a=this.decoder_.readUnsignedVarint32();this.decoder_.advance(a)}};
  1429. jspb.BinaryReader.prototype.skipFixed32Field=function(){this.nextWireType_!=jspb.BinaryConstants.WireType.FIXED32?(goog.asserts.fail("Invalid wire type for skipFixed32Field"),this.skipField()):this.decoder_.advance(4)};jspb.BinaryReader.prototype.skipFixed64Field=function(){this.nextWireType_!=jspb.BinaryConstants.WireType.FIXED64?(goog.asserts.fail("Invalid wire type for skipFixed64Field"),this.skipField()):this.decoder_.advance(8)};
  1430. jspb.BinaryReader.prototype.skipGroup=function(){var a=[this.nextField_];do{if(!this.nextField()){goog.asserts.fail("Unmatched start-group tag: stream EOF");this.error_=!0;break}if(this.nextWireType_==jspb.BinaryConstants.WireType.START_GROUP)a.push(this.nextField_);else if(this.nextWireType_==jspb.BinaryConstants.WireType.END_GROUP&&this.nextField_!=a.pop()){goog.asserts.fail("Unmatched end-group tag");this.error_=!0;break}}while(0<a.length)};
  1431. jspb.BinaryReader.prototype.skipField=function(){switch(this.nextWireType_){case jspb.BinaryConstants.WireType.VARINT:this.skipVarintField();break;case jspb.BinaryConstants.WireType.FIXED64:this.skipFixed64Field();break;case jspb.BinaryConstants.WireType.DELIMITED:this.skipDelimitedField();break;case jspb.BinaryConstants.WireType.FIXED32:this.skipFixed32Field();break;case jspb.BinaryConstants.WireType.START_GROUP:this.skipGroup();break;default:goog.asserts.fail("Invalid wire encoding for field.")}};
  1432. jspb.BinaryReader.prototype.registerReadCallback=function(a,b){goog.isNull(this.readCallbacks_)&&(this.readCallbacks_={});goog.asserts.assert(!this.readCallbacks_[a]);this.readCallbacks_[a]=b};jspb.BinaryReader.prototype.runReadCallback=function(a){goog.asserts.assert(!goog.isNull(this.readCallbacks_));a=this.readCallbacks_[a];goog.asserts.assert(a);return a(this)};
  1433. jspb.BinaryReader.prototype.readAny=function(a){this.nextWireType_=jspb.BinaryConstants.FieldTypeToWireType(a);var b=jspb.BinaryConstants.FieldType;switch(a){case b.DOUBLE:return this.readDouble();case b.FLOAT:return this.readFloat();case b.INT64:return this.readInt64();case b.UINT64:return this.readUint64();case b.INT32:return this.readInt32();case b.FIXED64:return this.readFixed64();case b.FIXED32:return this.readFixed32();case b.BOOL:return this.readBool();case b.STRING:return this.readString();
  1434. case b.GROUP:goog.asserts.fail("Group field type not supported in readAny()");case b.MESSAGE:goog.asserts.fail("Message field type not supported in readAny()");case b.BYTES:return this.readBytes();case b.UINT32:return this.readUint32();case b.ENUM:return this.readEnum();case b.SFIXED32:return this.readSfixed32();case b.SFIXED64:return this.readSfixed64();case b.SINT32:return this.readSint32();case b.SINT64:return this.readSint64();case b.FHASH64:return this.readFixedHash64();case b.VHASH64:return this.readVarintHash64();
  1435. default:goog.asserts.fail("Invalid field type in readAny()")}return 0};jspb.BinaryReader.prototype.readMessage=function(a,b){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var c=this.decoder_.getEnd(),d=this.decoder_.readUnsignedVarint32(),d=this.decoder_.getCursor()+d;this.decoder_.setEnd(d);b(a,this);this.decoder_.setCursor(d);this.decoder_.setEnd(c)};
  1436. jspb.BinaryReader.prototype.readGroup=function(a,b,c){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.START_GROUP);goog.asserts.assert(this.nextField_==a);c(b,this);this.error_||this.nextWireType_==jspb.BinaryConstants.WireType.END_GROUP||(goog.asserts.fail("Group submessage did not end with an END_GROUP tag"),this.error_=!0)};
  1437. jspb.BinaryReader.prototype.getFieldDecoder=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var a=this.decoder_.readUnsignedVarint32(),b=this.decoder_.getCursor(),c=b+a,a=jspb.BinaryDecoder.alloc(this.decoder_.getBuffer(),b,a);this.decoder_.setCursor(c);return a};jspb.BinaryReader.prototype.readInt32=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT);return this.decoder_.readSignedVarint32()};
  1438. jspb.BinaryReader.prototype.readInt32String=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT);return this.decoder_.readSignedVarint32String()};jspb.BinaryReader.prototype.readInt64=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT);return this.decoder_.readSignedVarint64()};jspb.BinaryReader.prototype.readInt64String=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT);return this.decoder_.readSignedVarint64String()};
  1439. jspb.BinaryReader.prototype.readUint32=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT);return this.decoder_.readUnsignedVarint32()};jspb.BinaryReader.prototype.readUint32String=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT);return this.decoder_.readUnsignedVarint32String()};jspb.BinaryReader.prototype.readUint64=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT);return this.decoder_.readUnsignedVarint64()};
  1440. jspb.BinaryReader.prototype.readUint64String=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT);return this.decoder_.readUnsignedVarint64String()};jspb.BinaryReader.prototype.readSint32=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT);return this.decoder_.readZigzagVarint32()};jspb.BinaryReader.prototype.readSint64=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT);return this.decoder_.readZigzagVarint64()};
  1441. jspb.BinaryReader.prototype.readSint64String=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT);return this.decoder_.readZigzagVarint64String()};jspb.BinaryReader.prototype.readFixed32=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED32);return this.decoder_.readUint32()};jspb.BinaryReader.prototype.readFixed64=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64);return this.decoder_.readUint64()};
  1442. jspb.BinaryReader.prototype.readFixed64String=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64);return this.decoder_.readUint64String()};jspb.BinaryReader.prototype.readSfixed32=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED32);return this.decoder_.readInt32()};jspb.BinaryReader.prototype.readSfixed32String=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED32);return this.decoder_.readInt32().toString()};
  1443. jspb.BinaryReader.prototype.readSfixed64=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64);return this.decoder_.readInt64()};jspb.BinaryReader.prototype.readSfixed64String=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64);return this.decoder_.readInt64String()};jspb.BinaryReader.prototype.readFloat=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED32);return this.decoder_.readFloat()};
  1444. jspb.BinaryReader.prototype.readDouble=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64);return this.decoder_.readDouble()};jspb.BinaryReader.prototype.readBool=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT);return!!this.decoder_.readUnsignedVarint32()};jspb.BinaryReader.prototype.readEnum=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT);return this.decoder_.readSignedVarint64()};
  1445. jspb.BinaryReader.prototype.readString=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var a=this.decoder_.readUnsignedVarint32();return this.decoder_.readString(a)};jspb.BinaryReader.prototype.readBytes=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var a=this.decoder_.readUnsignedVarint32();return this.decoder_.readBytes(a)};
  1446. jspb.BinaryReader.prototype.readVarintHash64=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT);return this.decoder_.readVarintHash64()};jspb.BinaryReader.prototype.readFixedHash64=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64);return this.decoder_.readFixedHash64()};
  1447. jspb.BinaryReader.prototype.readPackedField_=function(a){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);for(var b=this.decoder_.readUnsignedVarint32(),b=this.decoder_.getCursor()+b,c=[];this.decoder_.getCursor()<b;)c.push(a.call(this.decoder_));return c};jspb.BinaryReader.prototype.readPackedInt32=function(){return this.readPackedField_(this.decoder_.readSignedVarint32)};jspb.BinaryReader.prototype.readPackedInt32String=function(){return this.readPackedField_(this.decoder_.readSignedVarint32String)};
  1448. jspb.BinaryReader.prototype.readPackedInt64=function(){return this.readPackedField_(this.decoder_.readSignedVarint64)};jspb.BinaryReader.prototype.readPackedInt64String=function(){return this.readPackedField_(this.decoder_.readSignedVarint64String)};jspb.BinaryReader.prototype.readPackedUint32=function(){return this.readPackedField_(this.decoder_.readUnsignedVarint32)};jspb.BinaryReader.prototype.readPackedUint32String=function(){return this.readPackedField_(this.decoder_.readUnsignedVarint32String)};
  1449. jspb.BinaryReader.prototype.readPackedUint64=function(){return this.readPackedField_(this.decoder_.readUnsignedVarint64)};jspb.BinaryReader.prototype.readPackedUint64String=function(){return this.readPackedField_(this.decoder_.readUnsignedVarint64String)};jspb.BinaryReader.prototype.readPackedSint32=function(){return this.readPackedField_(this.decoder_.readZigzagVarint32)};jspb.BinaryReader.prototype.readPackedSint64=function(){return this.readPackedField_(this.decoder_.readZigzagVarint64)};
  1450. jspb.BinaryReader.prototype.readPackedSint64String=function(){return this.readPackedField_(this.decoder_.readZigzagVarint64String)};jspb.BinaryReader.prototype.readPackedFixed32=function(){return this.readPackedField_(this.decoder_.readUint32)};jspb.BinaryReader.prototype.readPackedFixed64=function(){return this.readPackedField_(this.decoder_.readUint64)};jspb.BinaryReader.prototype.readPackedFixed64String=function(){return this.readPackedField_(this.decoder_.readUint64String)};
  1451. jspb.BinaryReader.prototype.readPackedSfixed32=function(){return this.readPackedField_(this.decoder_.readInt32)};jspb.BinaryReader.prototype.readPackedSfixed64=function(){return this.readPackedField_(this.decoder_.readInt64)};jspb.BinaryReader.prototype.readPackedSfixed64String=function(){return this.readPackedField_(this.decoder_.readInt64String)};jspb.BinaryReader.prototype.readPackedFloat=function(){return this.readPackedField_(this.decoder_.readFloat)};
  1452. jspb.BinaryReader.prototype.readPackedDouble=function(){return this.readPackedField_(this.decoder_.readDouble)};jspb.BinaryReader.prototype.readPackedBool=function(){return this.readPackedField_(this.decoder_.readBool)};jspb.BinaryReader.prototype.readPackedEnum=function(){return this.readPackedField_(this.decoder_.readEnum)};jspb.BinaryReader.prototype.readPackedVarintHash64=function(){return this.readPackedField_(this.decoder_.readVarintHash64)};
  1453. jspb.BinaryReader.prototype.readPackedFixedHash64=function(){return this.readPackedField_(this.decoder_.readFixedHash64)};jspb.Export={};exports.Map=jspb.Map;exports.Message=jspb.Message;exports.BinaryReader=jspb.BinaryReader;exports.BinaryWriter=jspb.BinaryWriter;exports.ExtensionFieldInfo=jspb.ExtensionFieldInfo;exports.ExtensionFieldBinaryInfo=jspb.ExtensionFieldBinaryInfo;exports.exportSymbol=goog.exportSymbol;exports.inherits=goog.inherits;exports.object={extend:goog.object.extend};exports.typeOf=goog.typeOf;
  1454. }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {},require("buffer").Buffer)
  1455. },{"buffer":5}],4:[function(require,module,exports){
  1456. 'use strict'
  1457. exports.byteLength = byteLength
  1458. exports.toByteArray = toByteArray
  1459. exports.fromByteArray = fromByteArray
  1460. var lookup = []
  1461. var revLookup = []
  1462. var Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array
  1463. var code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
  1464. for (var i = 0, len = code.length; i < len; ++i) {
  1465. lookup[i] = code[i]
  1466. revLookup[code.charCodeAt(i)] = i
  1467. }
  1468. // Support decoding URL-safe base64 strings, as Node.js does.
  1469. // See: https://en.wikipedia.org/wiki/Base64#URL_applications
  1470. revLookup['-'.charCodeAt(0)] = 62
  1471. revLookup['_'.charCodeAt(0)] = 63
  1472. function getLens (b64) {
  1473. var len = b64.length
  1474. if (len % 4 > 0) {
  1475. throw new Error('Invalid string. Length must be a multiple of 4')
  1476. }
  1477. // Trim off extra bytes after placeholder bytes are found
  1478. // See: https://github.com/beatgammit/base64-js/issues/42
  1479. var validLen = b64.indexOf('=')
  1480. if (validLen === -1) validLen = len
  1481. var placeHoldersLen = validLen === len
  1482. ? 0
  1483. : 4 - (validLen % 4)
  1484. return [validLen, placeHoldersLen]
  1485. }
  1486. // base64 is 4/3 + up to two characters of the original data
  1487. function byteLength (b64) {
  1488. var lens = getLens(b64)
  1489. var validLen = lens[0]
  1490. var placeHoldersLen = lens[1]
  1491. return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen
  1492. }
  1493. function _byteLength (b64, validLen, placeHoldersLen) {
  1494. return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen
  1495. }
  1496. function toByteArray (b64) {
  1497. var tmp
  1498. var lens = getLens(b64)
  1499. var validLen = lens[0]
  1500. var placeHoldersLen = lens[1]
  1501. var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))
  1502. var curByte = 0
  1503. // if there are placeholders, only get up to the last complete 4 chars
  1504. var len = placeHoldersLen > 0
  1505. ? validLen - 4
  1506. : validLen
  1507. for (var i = 0; i < len; i += 4) {
  1508. tmp =
  1509. (revLookup[b64.charCodeAt(i)] << 18) |
  1510. (revLookup[b64.charCodeAt(i + 1)] << 12) |
  1511. (revLookup[b64.charCodeAt(i + 2)] << 6) |
  1512. revLookup[b64.charCodeAt(i + 3)]
  1513. arr[curByte++] = (tmp >> 16) & 0xFF
  1514. arr[curByte++] = (tmp >> 8) & 0xFF
  1515. arr[curByte++] = tmp & 0xFF
  1516. }
  1517. if (placeHoldersLen === 2) {
  1518. tmp =
  1519. (revLookup[b64.charCodeAt(i)] << 2) |
  1520. (revLookup[b64.charCodeAt(i + 1)] >> 4)
  1521. arr[curByte++] = tmp & 0xFF
  1522. }
  1523. if (placeHoldersLen === 1) {
  1524. tmp =
  1525. (revLookup[b64.charCodeAt(i)] << 10) |
  1526. (revLookup[b64.charCodeAt(i + 1)] << 4) |
  1527. (revLookup[b64.charCodeAt(i + 2)] >> 2)
  1528. arr[curByte++] = (tmp >> 8) & 0xFF
  1529. arr[curByte++] = tmp & 0xFF
  1530. }
  1531. return arr
  1532. }
  1533. function tripletToBase64 (num) {
  1534. return lookup[num >> 18 & 0x3F] +
  1535. lookup[num >> 12 & 0x3F] +
  1536. lookup[num >> 6 & 0x3F] +
  1537. lookup[num & 0x3F]
  1538. }
  1539. function encodeChunk (uint8, start, end) {
  1540. var tmp
  1541. var output = []
  1542. for (var i = start; i < end; i += 3) {
  1543. tmp =
  1544. ((uint8[i] << 16) & 0xFF0000) +
  1545. ((uint8[i + 1] << 8) & 0xFF00) +
  1546. (uint8[i + 2] & 0xFF)
  1547. output.push(tripletToBase64(tmp))
  1548. }
  1549. return output.join('')
  1550. }
  1551. function fromByteArray (uint8) {
  1552. var tmp
  1553. var len = uint8.length
  1554. var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes
  1555. var parts = []
  1556. var maxChunkLength = 16383 // must be multiple of 3
  1557. // go through the array every three bytes, we'll deal with trailing stuff later
  1558. for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {
  1559. parts.push(encodeChunk(
  1560. uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)
  1561. ))
  1562. }
  1563. // pad the end with zeros, but make sure to not forget the extra bytes
  1564. if (extraBytes === 1) {
  1565. tmp = uint8[len - 1]
  1566. parts.push(
  1567. lookup[tmp >> 2] +
  1568. lookup[(tmp << 4) & 0x3F] +
  1569. '=='
  1570. )
  1571. } else if (extraBytes === 2) {
  1572. tmp = (uint8[len - 2] << 8) + uint8[len - 1]
  1573. parts.push(
  1574. lookup[tmp >> 10] +
  1575. lookup[(tmp >> 4) & 0x3F] +
  1576. lookup[(tmp << 2) & 0x3F] +
  1577. '='
  1578. )
  1579. }
  1580. return parts.join('')
  1581. }
  1582. },{}],5:[function(require,module,exports){
  1583. (function (Buffer){
  1584. /*!
  1585. * The buffer module from node.js, for the browser.
  1586. *
  1587. * @author Feross Aboukhadijeh <https://feross.org>
  1588. * @license MIT
  1589. */
  1590. /* eslint-disable no-proto */
  1591. 'use strict'
  1592. var base64 = require('base64-js')
  1593. var ieee754 = require('ieee754')
  1594. exports.Buffer = Buffer
  1595. exports.SlowBuffer = SlowBuffer
  1596. exports.INSPECT_MAX_BYTES = 50
  1597. var K_MAX_LENGTH = 0x7fffffff
  1598. exports.kMaxLength = K_MAX_LENGTH
  1599. /**
  1600. * If `Buffer.TYPED_ARRAY_SUPPORT`:
  1601. * === true Use Uint8Array implementation (fastest)
  1602. * === false Print warning and recommend using `buffer` v4.x which has an Object
  1603. * implementation (most compatible, even IE6)
  1604. *
  1605. * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,
  1606. * Opera 11.6+, iOS 4.2+.
  1607. *
  1608. * We report that the browser does not support typed arrays if the are not subclassable
  1609. * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`
  1610. * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support
  1611. * for __proto__ and has a buggy typed array implementation.
  1612. */
  1613. Buffer.TYPED_ARRAY_SUPPORT = typedArraySupport()
  1614. if (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&
  1615. typeof console.error === 'function') {
  1616. console.error(
  1617. 'This browser lacks typed array (Uint8Array) support which is required by ' +
  1618. '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'
  1619. )
  1620. }
  1621. function typedArraySupport () {
  1622. // Can typed array instances can be augmented?
  1623. try {
  1624. var arr = new Uint8Array(1)
  1625. arr.__proto__ = { __proto__: Uint8Array.prototype, foo: function () { return 42 } }
  1626. return arr.foo() === 42
  1627. } catch (e) {
  1628. return false
  1629. }
  1630. }
  1631. Object.defineProperty(Buffer.prototype, 'parent', {
  1632. enumerable: true,
  1633. get: function () {
  1634. if (!Buffer.isBuffer(this)) return undefined
  1635. return this.buffer
  1636. }
  1637. })
  1638. Object.defineProperty(Buffer.prototype, 'offset', {
  1639. enumerable: true,
  1640. get: function () {
  1641. if (!Buffer.isBuffer(this)) return undefined
  1642. return this.byteOffset
  1643. }
  1644. })
  1645. function createBuffer (length) {
  1646. if (length > K_MAX_LENGTH) {
  1647. throw new RangeError('The value "' + length + '" is invalid for option "size"')
  1648. }
  1649. // Return an augmented `Uint8Array` instance
  1650. var buf = new Uint8Array(length)
  1651. buf.__proto__ = Buffer.prototype
  1652. return buf
  1653. }
  1654. /**
  1655. * The Buffer constructor returns instances of `Uint8Array` that have their
  1656. * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of
  1657. * `Uint8Array`, so the returned instances will have all the node `Buffer` methods
  1658. * and the `Uint8Array` methods. Square bracket notation works as expected -- it
  1659. * returns a single octet.
  1660. *
  1661. * The `Uint8Array` prototype remains unmodified.
  1662. */
  1663. function Buffer (arg, encodingOrOffset, length) {
  1664. // Common case.
  1665. if (typeof arg === 'number') {
  1666. if (typeof encodingOrOffset === 'string') {
  1667. throw new TypeError(
  1668. 'The "string" argument must be of type string. Received type number'
  1669. )
  1670. }
  1671. return allocUnsafe(arg)
  1672. }
  1673. return from(arg, encodingOrOffset, length)
  1674. }
  1675. // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97
  1676. if (typeof Symbol !== 'undefined' && Symbol.species != null &&
  1677. Buffer[Symbol.species] === Buffer) {
  1678. Object.defineProperty(Buffer, Symbol.species, {
  1679. value: null,
  1680. configurable: true,
  1681. enumerable: false,
  1682. writable: false
  1683. })
  1684. }
  1685. Buffer.poolSize = 8192 // not used by this implementation
  1686. function from (value, encodingOrOffset, length) {
  1687. if (typeof value === 'string') {
  1688. return fromString(value, encodingOrOffset)
  1689. }
  1690. if (ArrayBuffer.isView(value)) {
  1691. return fromArrayLike(value)
  1692. }
  1693. if (value == null) {
  1694. throw TypeError(
  1695. 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +
  1696. 'or Array-like Object. Received type ' + (typeof value)
  1697. )
  1698. }
  1699. if (isInstance(value, ArrayBuffer) ||
  1700. (value && isInstance(value.buffer, ArrayBuffer))) {
  1701. return fromArrayBuffer(value, encodingOrOffset, length)
  1702. }
  1703. if (typeof value === 'number') {
  1704. throw new TypeError(
  1705. 'The "value" argument must not be of type number. Received type number'
  1706. )
  1707. }
  1708. var valueOf = value.valueOf && value.valueOf()
  1709. if (valueOf != null && valueOf !== value) {
  1710. return Buffer.from(valueOf, encodingOrOffset, length)
  1711. }
  1712. var b = fromObject(value)
  1713. if (b) return b
  1714. if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&
  1715. typeof value[Symbol.toPrimitive] === 'function') {
  1716. return Buffer.from(
  1717. value[Symbol.toPrimitive]('string'), encodingOrOffset, length
  1718. )
  1719. }
  1720. throw new TypeError(
  1721. 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +
  1722. 'or Array-like Object. Received type ' + (typeof value)
  1723. )
  1724. }
  1725. /**
  1726. * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError
  1727. * if value is a number.
  1728. * Buffer.from(str[, encoding])
  1729. * Buffer.from(array)
  1730. * Buffer.from(buffer)
  1731. * Buffer.from(arrayBuffer[, byteOffset[, length]])
  1732. **/
  1733. Buffer.from = function (value, encodingOrOffset, length) {
  1734. return from(value, encodingOrOffset, length)
  1735. }
  1736. // Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:
  1737. // https://github.com/feross/buffer/pull/148
  1738. Buffer.prototype.__proto__ = Uint8Array.prototype
  1739. Buffer.__proto__ = Uint8Array
  1740. function assertSize (size) {
  1741. if (typeof size !== 'number') {
  1742. throw new TypeError('"size" argument must be of type number')
  1743. } else if (size < 0) {
  1744. throw new RangeError('The value "' + size + '" is invalid for option "size"')
  1745. }
  1746. }
  1747. function alloc (size, fill, encoding) {
  1748. assertSize(size)
  1749. if (size <= 0) {
  1750. return createBuffer(size)
  1751. }
  1752. if (fill !== undefined) {
  1753. // Only pay attention to encoding if it's a string. This
  1754. // prevents accidentally sending in a number that would
  1755. // be interpretted as a start offset.
  1756. return typeof encoding === 'string'
  1757. ? createBuffer(size).fill(fill, encoding)
  1758. : createBuffer(size).fill(fill)
  1759. }
  1760. return createBuffer(size)
  1761. }
  1762. /**
  1763. * Creates a new filled Buffer instance.
  1764. * alloc(size[, fill[, encoding]])
  1765. **/
  1766. Buffer.alloc = function (size, fill, encoding) {
  1767. return alloc(size, fill, encoding)
  1768. }
  1769. function allocUnsafe (size) {
  1770. assertSize(size)
  1771. return createBuffer(size < 0 ? 0 : checked(size) | 0)
  1772. }
  1773. /**
  1774. * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.
  1775. * */
  1776. Buffer.allocUnsafe = function (size) {
  1777. return allocUnsafe(size)
  1778. }
  1779. /**
  1780. * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.
  1781. */
  1782. Buffer.allocUnsafeSlow = function (size) {
  1783. return allocUnsafe(size)
  1784. }
  1785. function fromString (string, encoding) {
  1786. if (typeof encoding !== 'string' || encoding === '') {
  1787. encoding = 'utf8'
  1788. }
  1789. if (!Buffer.isEncoding(encoding)) {
  1790. throw new TypeError('Unknown encoding: ' + encoding)
  1791. }
  1792. var length = byteLength(string, encoding) | 0
  1793. var buf = createBuffer(length)
  1794. var actual = buf.write(string, encoding)
  1795. if (actual !== length) {
  1796. // Writing a hex string, for example, that contains invalid characters will
  1797. // cause everything after the first invalid character to be ignored. (e.g.
  1798. // 'abxxcd' will be treated as 'ab')
  1799. buf = buf.slice(0, actual)
  1800. }
  1801. return buf
  1802. }
  1803. function fromArrayLike (array) {
  1804. var length = array.length < 0 ? 0 : checked(array.length) | 0
  1805. var buf = createBuffer(length)
  1806. for (var i = 0; i < length; i += 1) {
  1807. buf[i] = array[i] & 255
  1808. }
  1809. return buf
  1810. }
  1811. function fromArrayBuffer (array, byteOffset, length) {
  1812. if (byteOffset < 0 || array.byteLength < byteOffset) {
  1813. throw new RangeError('"offset" is outside of buffer bounds')
  1814. }
  1815. if (array.byteLength < byteOffset + (length || 0)) {
  1816. throw new RangeError('"length" is outside of buffer bounds')
  1817. }
  1818. var buf
  1819. if (byteOffset === undefined && length === undefined) {
  1820. buf = new Uint8Array(array)
  1821. } else if (length === undefined) {
  1822. buf = new Uint8Array(array, byteOffset)
  1823. } else {
  1824. buf = new Uint8Array(array, byteOffset, length)
  1825. }
  1826. // Return an augmented `Uint8Array` instance
  1827. buf.__proto__ = Buffer.prototype
  1828. return buf
  1829. }
  1830. function fromObject (obj) {
  1831. if (Buffer.isBuffer(obj)) {
  1832. var len = checked(obj.length) | 0
  1833. var buf = createBuffer(len)
  1834. if (buf.length === 0) {
  1835. return buf
  1836. }
  1837. obj.copy(buf, 0, 0, len)
  1838. return buf
  1839. }
  1840. if (obj.length !== undefined) {
  1841. if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {
  1842. return createBuffer(0)
  1843. }
  1844. return fromArrayLike(obj)
  1845. }
  1846. if (obj.type === 'Buffer' && Array.isArray(obj.data)) {
  1847. return fromArrayLike(obj.data)
  1848. }
  1849. }
  1850. function checked (length) {
  1851. // Note: cannot use `length < K_MAX_LENGTH` here because that fails when
  1852. // length is NaN (which is otherwise coerced to zero.)
  1853. if (length >= K_MAX_LENGTH) {
  1854. throw new RangeError('Attempt to allocate Buffer larger than maximum ' +
  1855. 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')
  1856. }
  1857. return length | 0
  1858. }
  1859. function SlowBuffer (length) {
  1860. if (+length != length) { // eslint-disable-line eqeqeq
  1861. length = 0
  1862. }
  1863. return Buffer.alloc(+length)
  1864. }
  1865. Buffer.isBuffer = function isBuffer (b) {
  1866. return b != null && b._isBuffer === true &&
  1867. b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false
  1868. }
  1869. Buffer.compare = function compare (a, b) {
  1870. if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)
  1871. if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)
  1872. if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {
  1873. throw new TypeError(
  1874. 'The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array'
  1875. )
  1876. }
  1877. if (a === b) return 0
  1878. var x = a.length
  1879. var y = b.length
  1880. for (var i = 0, len = Math.min(x, y); i < len; ++i) {
  1881. if (a[i] !== b[i]) {
  1882. x = a[i]
  1883. y = b[i]
  1884. break
  1885. }
  1886. }
  1887. if (x < y) return -1
  1888. if (y < x) return 1
  1889. return 0
  1890. }
  1891. Buffer.isEncoding = function isEncoding (encoding) {
  1892. switch (String(encoding).toLowerCase()) {
  1893. case 'hex':
  1894. case 'utf8':
  1895. case 'utf-8':
  1896. case 'ascii':
  1897. case 'latin1':
  1898. case 'binary':
  1899. case 'base64':
  1900. case 'ucs2':
  1901. case 'ucs-2':
  1902. case 'utf16le':
  1903. case 'utf-16le':
  1904. return true
  1905. default:
  1906. return false
  1907. }
  1908. }
  1909. Buffer.concat = function concat (list, length) {
  1910. if (!Array.isArray(list)) {
  1911. throw new TypeError('"list" argument must be an Array of Buffers')
  1912. }
  1913. if (list.length === 0) {
  1914. return Buffer.alloc(0)
  1915. }
  1916. var i
  1917. if (length === undefined) {
  1918. length = 0
  1919. for (i = 0; i < list.length; ++i) {
  1920. length += list[i].length
  1921. }
  1922. }
  1923. var buffer = Buffer.allocUnsafe(length)
  1924. var pos = 0
  1925. for (i = 0; i < list.length; ++i) {
  1926. var buf = list[i]
  1927. if (isInstance(buf, Uint8Array)) {
  1928. buf = Buffer.from(buf)
  1929. }
  1930. if (!Buffer.isBuffer(buf)) {
  1931. throw new TypeError('"list" argument must be an Array of Buffers')
  1932. }
  1933. buf.copy(buffer, pos)
  1934. pos += buf.length
  1935. }
  1936. return buffer
  1937. }
  1938. function byteLength (string, encoding) {
  1939. if (Buffer.isBuffer(string)) {
  1940. return string.length
  1941. }
  1942. if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {
  1943. return string.byteLength
  1944. }
  1945. if (typeof string !== 'string') {
  1946. throw new TypeError(
  1947. 'The "string" argument must be one of type string, Buffer, or ArrayBuffer. ' +
  1948. 'Received type ' + typeof string
  1949. )
  1950. }
  1951. var len = string.length
  1952. var mustMatch = (arguments.length > 2 && arguments[2] === true)
  1953. if (!mustMatch && len === 0) return 0
  1954. // Use a for loop to avoid recursion
  1955. var loweredCase = false
  1956. for (;;) {
  1957. switch (encoding) {
  1958. case 'ascii':
  1959. case 'latin1':
  1960. case 'binary':
  1961. return len
  1962. case 'utf8':
  1963. case 'utf-8':
  1964. return utf8ToBytes(string).length
  1965. case 'ucs2':
  1966. case 'ucs-2':
  1967. case 'utf16le':
  1968. case 'utf-16le':
  1969. return len * 2
  1970. case 'hex':
  1971. return len >>> 1
  1972. case 'base64':
  1973. return base64ToBytes(string).length
  1974. default:
  1975. if (loweredCase) {
  1976. return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8
  1977. }
  1978. encoding = ('' + encoding).toLowerCase()
  1979. loweredCase = true
  1980. }
  1981. }
  1982. }
  1983. Buffer.byteLength = byteLength
  1984. function slowToString (encoding, start, end) {
  1985. var loweredCase = false
  1986. // No need to verify that "this.length <= MAX_UINT32" since it's a read-only
  1987. // property of a typed array.
  1988. // This behaves neither like String nor Uint8Array in that we set start/end
  1989. // to their upper/lower bounds if the value passed is out of range.
  1990. // undefined is handled specially as per ECMA-262 6th Edition,
  1991. // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.
  1992. if (start === undefined || start < 0) {
  1993. start = 0
  1994. }
  1995. // Return early if start > this.length. Done here to prevent potential uint32
  1996. // coercion fail below.
  1997. if (start > this.length) {
  1998. return ''
  1999. }
  2000. if (end === undefined || end > this.length) {
  2001. end = this.length
  2002. }
  2003. if (end <= 0) {
  2004. return ''
  2005. }
  2006. // Force coersion to uint32. This will also coerce falsey/NaN values to 0.
  2007. end >>>= 0
  2008. start >>>= 0
  2009. if (end <= start) {
  2010. return ''
  2011. }
  2012. if (!encoding) encoding = 'utf8'
  2013. while (true) {
  2014. switch (encoding) {
  2015. case 'hex':
  2016. return hexSlice(this, start, end)
  2017. case 'utf8':
  2018. case 'utf-8':
  2019. return utf8Slice(this, start, end)
  2020. case 'ascii':
  2021. return asciiSlice(this, start, end)
  2022. case 'latin1':
  2023. case 'binary':
  2024. return latin1Slice(this, start, end)
  2025. case 'base64':
  2026. return base64Slice(this, start, end)
  2027. case 'ucs2':
  2028. case 'ucs-2':
  2029. case 'utf16le':
  2030. case 'utf-16le':
  2031. return utf16leSlice(this, start, end)
  2032. default:
  2033. if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)
  2034. encoding = (encoding + '').toLowerCase()
  2035. loweredCase = true
  2036. }
  2037. }
  2038. }
  2039. // This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)
  2040. // to detect a Buffer instance. It's not possible to use `instanceof Buffer`
  2041. // reliably in a browserify context because there could be multiple different
  2042. // copies of the 'buffer' package in use. This method works even for Buffer
  2043. // instances that were created from another copy of the `buffer` package.
  2044. // See: https://github.com/feross/buffer/issues/154
  2045. Buffer.prototype._isBuffer = true
  2046. function swap (b, n, m) {
  2047. var i = b[n]
  2048. b[n] = b[m]
  2049. b[m] = i
  2050. }
  2051. Buffer.prototype.swap16 = function swap16 () {
  2052. var len = this.length
  2053. if (len % 2 !== 0) {
  2054. throw new RangeError('Buffer size must be a multiple of 16-bits')
  2055. }
  2056. for (var i = 0; i < len; i += 2) {
  2057. swap(this, i, i + 1)
  2058. }
  2059. return this
  2060. }
  2061. Buffer.prototype.swap32 = function swap32 () {
  2062. var len = this.length
  2063. if (len % 4 !== 0) {
  2064. throw new RangeError('Buffer size must be a multiple of 32-bits')
  2065. }
  2066. for (var i = 0; i < len; i += 4) {
  2067. swap(this, i, i + 3)
  2068. swap(this, i + 1, i + 2)
  2069. }
  2070. return this
  2071. }
  2072. Buffer.prototype.swap64 = function swap64 () {
  2073. var len = this.length
  2074. if (len % 8 !== 0) {
  2075. throw new RangeError('Buffer size must be a multiple of 64-bits')
  2076. }
  2077. for (var i = 0; i < len; i += 8) {
  2078. swap(this, i, i + 7)
  2079. swap(this, i + 1, i + 6)
  2080. swap(this, i + 2, i + 5)
  2081. swap(this, i + 3, i + 4)
  2082. }
  2083. return this
  2084. }
  2085. Buffer.prototype.toString = function toString () {
  2086. var length = this.length
  2087. if (length === 0) return ''
  2088. if (arguments.length === 0) return utf8Slice(this, 0, length)
  2089. return slowToString.apply(this, arguments)
  2090. }
  2091. Buffer.prototype.toLocaleString = Buffer.prototype.toString
  2092. Buffer.prototype.equals = function equals (b) {
  2093. if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')
  2094. if (this === b) return true
  2095. return Buffer.compare(this, b) === 0
  2096. }
  2097. Buffer.prototype.inspect = function inspect () {
  2098. var str = ''
  2099. var max = exports.INSPECT_MAX_BYTES
  2100. str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()
  2101. if (this.length > max) str += ' ... '
  2102. return '<Buffer ' + str + '>'
  2103. }
  2104. Buffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {
  2105. if (isInstance(target, Uint8Array)) {
  2106. target = Buffer.from(target, target.offset, target.byteLength)
  2107. }
  2108. if (!Buffer.isBuffer(target)) {
  2109. throw new TypeError(
  2110. 'The "target" argument must be one of type Buffer or Uint8Array. ' +
  2111. 'Received type ' + (typeof target)
  2112. )
  2113. }
  2114. if (start === undefined) {
  2115. start = 0
  2116. }
  2117. if (end === undefined) {
  2118. end = target ? target.length : 0
  2119. }
  2120. if (thisStart === undefined) {
  2121. thisStart = 0
  2122. }
  2123. if (thisEnd === undefined) {
  2124. thisEnd = this.length
  2125. }
  2126. if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {
  2127. throw new RangeError('out of range index')
  2128. }
  2129. if (thisStart >= thisEnd && start >= end) {
  2130. return 0
  2131. }
  2132. if (thisStart >= thisEnd) {
  2133. return -1
  2134. }
  2135. if (start >= end) {
  2136. return 1
  2137. }
  2138. start >>>= 0
  2139. end >>>= 0
  2140. thisStart >>>= 0
  2141. thisEnd >>>= 0
  2142. if (this === target) return 0
  2143. var x = thisEnd - thisStart
  2144. var y = end - start
  2145. var len = Math.min(x, y)
  2146. var thisCopy = this.slice(thisStart, thisEnd)
  2147. var targetCopy = target.slice(start, end)
  2148. for (var i = 0; i < len; ++i) {
  2149. if (thisCopy[i] !== targetCopy[i]) {
  2150. x = thisCopy[i]
  2151. y = targetCopy[i]
  2152. break
  2153. }
  2154. }
  2155. if (x < y) return -1
  2156. if (y < x) return 1
  2157. return 0
  2158. }
  2159. // Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,
  2160. // OR the last index of `val` in `buffer` at offset <= `byteOffset`.
  2161. //
  2162. // Arguments:
  2163. // - buffer - a Buffer to search
  2164. // - val - a string, Buffer, or number
  2165. // - byteOffset - an index into `buffer`; will be clamped to an int32
  2166. // - encoding - an optional encoding, relevant is val is a string
  2167. // - dir - true for indexOf, false for lastIndexOf
  2168. function bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {
  2169. // Empty buffer means no match
  2170. if (buffer.length === 0) return -1
  2171. // Normalize byteOffset
  2172. if (typeof byteOffset === 'string') {
  2173. encoding = byteOffset
  2174. byteOffset = 0
  2175. } else if (byteOffset > 0x7fffffff) {
  2176. byteOffset = 0x7fffffff
  2177. } else if (byteOffset < -0x80000000) {
  2178. byteOffset = -0x80000000
  2179. }
  2180. byteOffset = +byteOffset // Coerce to Number.
  2181. if (numberIsNaN(byteOffset)) {
  2182. // byteOffset: it it's undefined, null, NaN, "foo", etc, search whole buffer
  2183. byteOffset = dir ? 0 : (buffer.length - 1)
  2184. }
  2185. // Normalize byteOffset: negative offsets start from the end of the buffer
  2186. if (byteOffset < 0) byteOffset = buffer.length + byteOffset
  2187. if (byteOffset >= buffer.length) {
  2188. if (dir) return -1
  2189. else byteOffset = buffer.length - 1
  2190. } else if (byteOffset < 0) {
  2191. if (dir) byteOffset = 0
  2192. else return -1
  2193. }
  2194. // Normalize val
  2195. if (typeof val === 'string') {
  2196. val = Buffer.from(val, encoding)
  2197. }
  2198. // Finally, search either indexOf (if dir is true) or lastIndexOf
  2199. if (Buffer.isBuffer(val)) {
  2200. // Special case: looking for empty string/buffer always fails
  2201. if (val.length === 0) {
  2202. return -1
  2203. }
  2204. return arrayIndexOf(buffer, val, byteOffset, encoding, dir)
  2205. } else if (typeof val === 'number') {
  2206. val = val & 0xFF // Search for a byte value [0-255]
  2207. if (typeof Uint8Array.prototype.indexOf === 'function') {
  2208. if (dir) {
  2209. return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)
  2210. } else {
  2211. return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)
  2212. }
  2213. }
  2214. return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)
  2215. }
  2216. throw new TypeError('val must be string, number or Buffer')
  2217. }
  2218. function arrayIndexOf (arr, val, byteOffset, encoding, dir) {
  2219. var indexSize = 1
  2220. var arrLength = arr.length
  2221. var valLength = val.length
  2222. if (encoding !== undefined) {
  2223. encoding = String(encoding).toLowerCase()
  2224. if (encoding === 'ucs2' || encoding === 'ucs-2' ||
  2225. encoding === 'utf16le' || encoding === 'utf-16le') {
  2226. if (arr.length < 2 || val.length < 2) {
  2227. return -1
  2228. }
  2229. indexSize = 2
  2230. arrLength /= 2
  2231. valLength /= 2
  2232. byteOffset /= 2
  2233. }
  2234. }
  2235. function read (buf, i) {
  2236. if (indexSize === 1) {
  2237. return buf[i]
  2238. } else {
  2239. return buf.readUInt16BE(i * indexSize)
  2240. }
  2241. }
  2242. var i
  2243. if (dir) {
  2244. var foundIndex = -1
  2245. for (i = byteOffset; i < arrLength; i++) {
  2246. if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {
  2247. if (foundIndex === -1) foundIndex = i
  2248. if (i - foundIndex + 1 === valLength) return foundIndex * indexSize
  2249. } else {
  2250. if (foundIndex !== -1) i -= i - foundIndex
  2251. foundIndex = -1
  2252. }
  2253. }
  2254. } else {
  2255. if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength
  2256. for (i = byteOffset; i >= 0; i--) {
  2257. var found = true
  2258. for (var j = 0; j < valLength; j++) {
  2259. if (read(arr, i + j) !== read(val, j)) {
  2260. found = false
  2261. break
  2262. }
  2263. }
  2264. if (found) return i
  2265. }
  2266. }
  2267. return -1
  2268. }
  2269. Buffer.prototype.includes = function includes (val, byteOffset, encoding) {
  2270. return this.indexOf(val, byteOffset, encoding) !== -1
  2271. }
  2272. Buffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {
  2273. return bidirectionalIndexOf(this, val, byteOffset, encoding, true)
  2274. }
  2275. Buffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {
  2276. return bidirectionalIndexOf(this, val, byteOffset, encoding, false)
  2277. }
  2278. function hexWrite (buf, string, offset, length) {
  2279. offset = Number(offset) || 0
  2280. var remaining = buf.length - offset
  2281. if (!length) {
  2282. length = remaining
  2283. } else {
  2284. length = Number(length)
  2285. if (length > remaining) {
  2286. length = remaining
  2287. }
  2288. }
  2289. var strLen = string.length
  2290. if (length > strLen / 2) {
  2291. length = strLen / 2
  2292. }
  2293. for (var i = 0; i < length; ++i) {
  2294. var parsed = parseInt(string.substr(i * 2, 2), 16)
  2295. if (numberIsNaN(parsed)) return i
  2296. buf[offset + i] = parsed
  2297. }
  2298. return i
  2299. }
  2300. function utf8Write (buf, string, offset, length) {
  2301. return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)
  2302. }
  2303. function asciiWrite (buf, string, offset, length) {
  2304. return blitBuffer(asciiToBytes(string), buf, offset, length)
  2305. }
  2306. function latin1Write (buf, string, offset, length) {
  2307. return asciiWrite(buf, string, offset, length)
  2308. }
  2309. function base64Write (buf, string, offset, length) {
  2310. return blitBuffer(base64ToBytes(string), buf, offset, length)
  2311. }
  2312. function ucs2Write (buf, string, offset, length) {
  2313. return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)
  2314. }
  2315. Buffer.prototype.write = function write (string, offset, length, encoding) {
  2316. // Buffer#write(string)
  2317. if (offset === undefined) {
  2318. encoding = 'utf8'
  2319. length = this.length
  2320. offset = 0
  2321. // Buffer#write(string, encoding)
  2322. } else if (length === undefined && typeof offset === 'string') {
  2323. encoding = offset
  2324. length = this.length
  2325. offset = 0
  2326. // Buffer#write(string, offset[, length][, encoding])
  2327. } else if (isFinite(offset)) {
  2328. offset = offset >>> 0
  2329. if (isFinite(length)) {
  2330. length = length >>> 0
  2331. if (encoding === undefined) encoding = 'utf8'
  2332. } else {
  2333. encoding = length
  2334. length = undefined
  2335. }
  2336. } else {
  2337. throw new Error(
  2338. 'Buffer.write(string, encoding, offset[, length]) is no longer supported'
  2339. )
  2340. }
  2341. var remaining = this.length - offset
  2342. if (length === undefined || length > remaining) length = remaining
  2343. if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {
  2344. throw new RangeError('Attempt to write outside buffer bounds')
  2345. }
  2346. if (!encoding) encoding = 'utf8'
  2347. var loweredCase = false
  2348. for (;;) {
  2349. switch (encoding) {
  2350. case 'hex':
  2351. return hexWrite(this, string, offset, length)
  2352. case 'utf8':
  2353. case 'utf-8':
  2354. return utf8Write(this, string, offset, length)
  2355. case 'ascii':
  2356. return asciiWrite(this, string, offset, length)
  2357. case 'latin1':
  2358. case 'binary':
  2359. return latin1Write(this, string, offset, length)
  2360. case 'base64':
  2361. // Warning: maxLength not taken into account in base64Write
  2362. return base64Write(this, string, offset, length)
  2363. case 'ucs2':
  2364. case 'ucs-2':
  2365. case 'utf16le':
  2366. case 'utf-16le':
  2367. return ucs2Write(this, string, offset, length)
  2368. default:
  2369. if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)
  2370. encoding = ('' + encoding).toLowerCase()
  2371. loweredCase = true
  2372. }
  2373. }
  2374. }
  2375. Buffer.prototype.toJSON = function toJSON () {
  2376. return {
  2377. type: 'Buffer',
  2378. data: Array.prototype.slice.call(this._arr || this, 0)
  2379. }
  2380. }
  2381. function base64Slice (buf, start, end) {
  2382. if (start === 0 && end === buf.length) {
  2383. return base64.fromByteArray(buf)
  2384. } else {
  2385. return base64.fromByteArray(buf.slice(start, end))
  2386. }
  2387. }
  2388. function utf8Slice (buf, start, end) {
  2389. end = Math.min(buf.length, end)
  2390. var res = []
  2391. var i = start
  2392. while (i < end) {
  2393. var firstByte = buf[i]
  2394. var codePoint = null
  2395. var bytesPerSequence = (firstByte > 0xEF) ? 4
  2396. : (firstByte > 0xDF) ? 3
  2397. : (firstByte > 0xBF) ? 2
  2398. : 1
  2399. if (i + bytesPerSequence <= end) {
  2400. var secondByte, thirdByte, fourthByte, tempCodePoint
  2401. switch (bytesPerSequence) {
  2402. case 1:
  2403. if (firstByte < 0x80) {
  2404. codePoint = firstByte
  2405. }
  2406. break
  2407. case 2:
  2408. secondByte = buf[i + 1]
  2409. if ((secondByte & 0xC0) === 0x80) {
  2410. tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)
  2411. if (tempCodePoint > 0x7F) {
  2412. codePoint = tempCodePoint
  2413. }
  2414. }
  2415. break
  2416. case 3:
  2417. secondByte = buf[i + 1]
  2418. thirdByte = buf[i + 2]
  2419. if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {
  2420. tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)
  2421. if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {
  2422. codePoint = tempCodePoint
  2423. }
  2424. }
  2425. break
  2426. case 4:
  2427. secondByte = buf[i + 1]
  2428. thirdByte = buf[i + 2]
  2429. fourthByte = buf[i + 3]
  2430. if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {
  2431. tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)
  2432. if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {
  2433. codePoint = tempCodePoint
  2434. }
  2435. }
  2436. }
  2437. }
  2438. if (codePoint === null) {
  2439. // we did not generate a valid codePoint so insert a
  2440. // replacement char (U+FFFD) and advance only 1 byte
  2441. codePoint = 0xFFFD
  2442. bytesPerSequence = 1
  2443. } else if (codePoint > 0xFFFF) {
  2444. // encode to utf16 (surrogate pair dance)
  2445. codePoint -= 0x10000
  2446. res.push(codePoint >>> 10 & 0x3FF | 0xD800)
  2447. codePoint = 0xDC00 | codePoint & 0x3FF
  2448. }
  2449. res.push(codePoint)
  2450. i += bytesPerSequence
  2451. }
  2452. return decodeCodePointsArray(res)
  2453. }
  2454. // Based on http://stackoverflow.com/a/22747272/680742, the browser with
  2455. // the lowest limit is Chrome, with 0x10000 args.
  2456. // We go 1 magnitude less, for safety
  2457. var MAX_ARGUMENTS_LENGTH = 0x1000
  2458. function decodeCodePointsArray (codePoints) {
  2459. var len = codePoints.length
  2460. if (len <= MAX_ARGUMENTS_LENGTH) {
  2461. return String.fromCharCode.apply(String, codePoints) // avoid extra slice()
  2462. }
  2463. // Decode in chunks to avoid "call stack size exceeded".
  2464. var res = ''
  2465. var i = 0
  2466. while (i < len) {
  2467. res += String.fromCharCode.apply(
  2468. String,
  2469. codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)
  2470. )
  2471. }
  2472. return res
  2473. }
  2474. function asciiSlice (buf, start, end) {
  2475. var ret = ''
  2476. end = Math.min(buf.length, end)
  2477. for (var i = start; i < end; ++i) {
  2478. ret += String.fromCharCode(buf[i] & 0x7F)
  2479. }
  2480. return ret
  2481. }
  2482. function latin1Slice (buf, start, end) {
  2483. var ret = ''
  2484. end = Math.min(buf.length, end)
  2485. for (var i = start; i < end; ++i) {
  2486. ret += String.fromCharCode(buf[i])
  2487. }
  2488. return ret
  2489. }
  2490. function hexSlice (buf, start, end) {
  2491. var len = buf.length
  2492. if (!start || start < 0) start = 0
  2493. if (!end || end < 0 || end > len) end = len
  2494. var out = ''
  2495. for (var i = start; i < end; ++i) {
  2496. out += toHex(buf[i])
  2497. }
  2498. return out
  2499. }
  2500. function utf16leSlice (buf, start, end) {
  2501. var bytes = buf.slice(start, end)
  2502. var res = ''
  2503. for (var i = 0; i < bytes.length; i += 2) {
  2504. res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))
  2505. }
  2506. return res
  2507. }
  2508. Buffer.prototype.slice = function slice (start, end) {
  2509. var len = this.length
  2510. start = ~~start
  2511. end = end === undefined ? len : ~~end
  2512. if (start < 0) {
  2513. start += len
  2514. if (start < 0) start = 0
  2515. } else if (start > len) {
  2516. start = len
  2517. }
  2518. if (end < 0) {
  2519. end += len
  2520. if (end < 0) end = 0
  2521. } else if (end > len) {
  2522. end = len
  2523. }
  2524. if (end < start) end = start
  2525. var newBuf = this.subarray(start, end)
  2526. // Return an augmented `Uint8Array` instance
  2527. newBuf.__proto__ = Buffer.prototype
  2528. return newBuf
  2529. }
  2530. /*
  2531. * Need to make sure that buffer isn't trying to write out of bounds.
  2532. */
  2533. function checkOffset (offset, ext, length) {
  2534. if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')
  2535. if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')
  2536. }
  2537. Buffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {
  2538. offset = offset >>> 0
  2539. byteLength = byteLength >>> 0
  2540. if (!noAssert) checkOffset(offset, byteLength, this.length)
  2541. var val = this[offset]
  2542. var mul = 1
  2543. var i = 0
  2544. while (++i < byteLength && (mul *= 0x100)) {
  2545. val += this[offset + i] * mul
  2546. }
  2547. return val
  2548. }
  2549. Buffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {
  2550. offset = offset >>> 0
  2551. byteLength = byteLength >>> 0
  2552. if (!noAssert) {
  2553. checkOffset(offset, byteLength, this.length)
  2554. }
  2555. var val = this[offset + --byteLength]
  2556. var mul = 1
  2557. while (byteLength > 0 && (mul *= 0x100)) {
  2558. val += this[offset + --byteLength] * mul
  2559. }
  2560. return val
  2561. }
  2562. Buffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {
  2563. offset = offset >>> 0
  2564. if (!noAssert) checkOffset(offset, 1, this.length)
  2565. return this[offset]
  2566. }
  2567. Buffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {
  2568. offset = offset >>> 0
  2569. if (!noAssert) checkOffset(offset, 2, this.length)
  2570. return this[offset] | (this[offset + 1] << 8)
  2571. }
  2572. Buffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {
  2573. offset = offset >>> 0
  2574. if (!noAssert) checkOffset(offset, 2, this.length)
  2575. return (this[offset] << 8) | this[offset + 1]
  2576. }
  2577. Buffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {
  2578. offset = offset >>> 0
  2579. if (!noAssert) checkOffset(offset, 4, this.length)
  2580. return ((this[offset]) |
  2581. (this[offset + 1] << 8) |
  2582. (this[offset + 2] << 16)) +
  2583. (this[offset + 3] * 0x1000000)
  2584. }
  2585. Buffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {
  2586. offset = offset >>> 0
  2587. if (!noAssert) checkOffset(offset, 4, this.length)
  2588. return (this[offset] * 0x1000000) +
  2589. ((this[offset + 1] << 16) |
  2590. (this[offset + 2] << 8) |
  2591. this[offset + 3])
  2592. }
  2593. Buffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {
  2594. offset = offset >>> 0
  2595. byteLength = byteLength >>> 0
  2596. if (!noAssert) checkOffset(offset, byteLength, this.length)
  2597. var val = this[offset]
  2598. var mul = 1
  2599. var i = 0
  2600. while (++i < byteLength && (mul *= 0x100)) {
  2601. val += this[offset + i] * mul
  2602. }
  2603. mul *= 0x80
  2604. if (val >= mul) val -= Math.pow(2, 8 * byteLength)
  2605. return val
  2606. }
  2607. Buffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {
  2608. offset = offset >>> 0
  2609. byteLength = byteLength >>> 0
  2610. if (!noAssert) checkOffset(offset, byteLength, this.length)
  2611. var i = byteLength
  2612. var mul = 1
  2613. var val = this[offset + --i]
  2614. while (i > 0 && (mul *= 0x100)) {
  2615. val += this[offset + --i] * mul
  2616. }
  2617. mul *= 0x80
  2618. if (val >= mul) val -= Math.pow(2, 8 * byteLength)
  2619. return val
  2620. }
  2621. Buffer.prototype.readInt8 = function readInt8 (offset, noAssert) {
  2622. offset = offset >>> 0
  2623. if (!noAssert) checkOffset(offset, 1, this.length)
  2624. if (!(this[offset] & 0x80)) return (this[offset])
  2625. return ((0xff - this[offset] + 1) * -1)
  2626. }
  2627. Buffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {
  2628. offset = offset >>> 0
  2629. if (!noAssert) checkOffset(offset, 2, this.length)
  2630. var val = this[offset] | (this[offset + 1] << 8)
  2631. return (val & 0x8000) ? val | 0xFFFF0000 : val
  2632. }
  2633. Buffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {
  2634. offset = offset >>> 0
  2635. if (!noAssert) checkOffset(offset, 2, this.length)
  2636. var val = this[offset + 1] | (this[offset] << 8)
  2637. return (val & 0x8000) ? val | 0xFFFF0000 : val
  2638. }
  2639. Buffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {
  2640. offset = offset >>> 0
  2641. if (!noAssert) checkOffset(offset, 4, this.length)
  2642. return (this[offset]) |
  2643. (this[offset + 1] << 8) |
  2644. (this[offset + 2] << 16) |
  2645. (this[offset + 3] << 24)
  2646. }
  2647. Buffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {
  2648. offset = offset >>> 0
  2649. if (!noAssert) checkOffset(offset, 4, this.length)
  2650. return (this[offset] << 24) |
  2651. (this[offset + 1] << 16) |
  2652. (this[offset + 2] << 8) |
  2653. (this[offset + 3])
  2654. }
  2655. Buffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {
  2656. offset = offset >>> 0
  2657. if (!noAssert) checkOffset(offset, 4, this.length)
  2658. return ieee754.read(this, offset, true, 23, 4)
  2659. }
  2660. Buffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {
  2661. offset = offset >>> 0
  2662. if (!noAssert) checkOffset(offset, 4, this.length)
  2663. return ieee754.read(this, offset, false, 23, 4)
  2664. }
  2665. Buffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {
  2666. offset = offset >>> 0
  2667. if (!noAssert) checkOffset(offset, 8, this.length)
  2668. return ieee754.read(this, offset, true, 52, 8)
  2669. }
  2670. Buffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {
  2671. offset = offset >>> 0
  2672. if (!noAssert) checkOffset(offset, 8, this.length)
  2673. return ieee754.read(this, offset, false, 52, 8)
  2674. }
  2675. function checkInt (buf, value, offset, ext, max, min) {
  2676. if (!Buffer.isBuffer(buf)) throw new TypeError('"buffer" argument must be a Buffer instance')
  2677. if (value > max || value < min) throw new RangeError('"value" argument is out of bounds')
  2678. if (offset + ext > buf.length) throw new RangeError('Index out of range')
  2679. }
  2680. Buffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {
  2681. value = +value
  2682. offset = offset >>> 0
  2683. byteLength = byteLength >>> 0
  2684. if (!noAssert) {
  2685. var maxBytes = Math.pow(2, 8 * byteLength) - 1
  2686. checkInt(this, value, offset, byteLength, maxBytes, 0)
  2687. }
  2688. var mul = 1
  2689. var i = 0
  2690. this[offset] = value & 0xFF
  2691. while (++i < byteLength && (mul *= 0x100)) {
  2692. this[offset + i] = (value / mul) & 0xFF
  2693. }
  2694. return offset + byteLength
  2695. }
  2696. Buffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {
  2697. value = +value
  2698. offset = offset >>> 0
  2699. byteLength = byteLength >>> 0
  2700. if (!noAssert) {
  2701. var maxBytes = Math.pow(2, 8 * byteLength) - 1
  2702. checkInt(this, value, offset, byteLength, maxBytes, 0)
  2703. }
  2704. var i = byteLength - 1
  2705. var mul = 1
  2706. this[offset + i] = value & 0xFF
  2707. while (--i >= 0 && (mul *= 0x100)) {
  2708. this[offset + i] = (value / mul) & 0xFF
  2709. }
  2710. return offset + byteLength
  2711. }
  2712. Buffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {
  2713. value = +value
  2714. offset = offset >>> 0
  2715. if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)
  2716. this[offset] = (value & 0xff)
  2717. return offset + 1
  2718. }
  2719. Buffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {
  2720. value = +value
  2721. offset = offset >>> 0
  2722. if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)
  2723. this[offset] = (value & 0xff)
  2724. this[offset + 1] = (value >>> 8)
  2725. return offset + 2
  2726. }
  2727. Buffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {
  2728. value = +value
  2729. offset = offset >>> 0
  2730. if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)
  2731. this[offset] = (value >>> 8)
  2732. this[offset + 1] = (value & 0xff)
  2733. return offset + 2
  2734. }
  2735. Buffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {
  2736. value = +value
  2737. offset = offset >>> 0
  2738. if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)
  2739. this[offset + 3] = (value >>> 24)
  2740. this[offset + 2] = (value >>> 16)
  2741. this[offset + 1] = (value >>> 8)
  2742. this[offset] = (value & 0xff)
  2743. return offset + 4
  2744. }
  2745. Buffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {
  2746. value = +value
  2747. offset = offset >>> 0
  2748. if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)
  2749. this[offset] = (value >>> 24)
  2750. this[offset + 1] = (value >>> 16)
  2751. this[offset + 2] = (value >>> 8)
  2752. this[offset + 3] = (value & 0xff)
  2753. return offset + 4
  2754. }
  2755. Buffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {
  2756. value = +value
  2757. offset = offset >>> 0
  2758. if (!noAssert) {
  2759. var limit = Math.pow(2, (8 * byteLength) - 1)
  2760. checkInt(this, value, offset, byteLength, limit - 1, -limit)
  2761. }
  2762. var i = 0
  2763. var mul = 1
  2764. var sub = 0
  2765. this[offset] = value & 0xFF
  2766. while (++i < byteLength && (mul *= 0x100)) {
  2767. if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {
  2768. sub = 1
  2769. }
  2770. this[offset + i] = ((value / mul) >> 0) - sub & 0xFF
  2771. }
  2772. return offset + byteLength
  2773. }
  2774. Buffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {
  2775. value = +value
  2776. offset = offset >>> 0
  2777. if (!noAssert) {
  2778. var limit = Math.pow(2, (8 * byteLength) - 1)
  2779. checkInt(this, value, offset, byteLength, limit - 1, -limit)
  2780. }
  2781. var i = byteLength - 1
  2782. var mul = 1
  2783. var sub = 0
  2784. this[offset + i] = value & 0xFF
  2785. while (--i >= 0 && (mul *= 0x100)) {
  2786. if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {
  2787. sub = 1
  2788. }
  2789. this[offset + i] = ((value / mul) >> 0) - sub & 0xFF
  2790. }
  2791. return offset + byteLength
  2792. }
  2793. Buffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {
  2794. value = +value
  2795. offset = offset >>> 0
  2796. if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)
  2797. if (value < 0) value = 0xff + value + 1
  2798. this[offset] = (value & 0xff)
  2799. return offset + 1
  2800. }
  2801. Buffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {
  2802. value = +value
  2803. offset = offset >>> 0
  2804. if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)
  2805. this[offset] = (value & 0xff)
  2806. this[offset + 1] = (value >>> 8)
  2807. return offset + 2
  2808. }
  2809. Buffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {
  2810. value = +value
  2811. offset = offset >>> 0
  2812. if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)
  2813. this[offset] = (value >>> 8)
  2814. this[offset + 1] = (value & 0xff)
  2815. return offset + 2
  2816. }
  2817. Buffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {
  2818. value = +value
  2819. offset = offset >>> 0
  2820. if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)
  2821. this[offset] = (value & 0xff)
  2822. this[offset + 1] = (value >>> 8)
  2823. this[offset + 2] = (value >>> 16)
  2824. this[offset + 3] = (value >>> 24)
  2825. return offset + 4
  2826. }
  2827. Buffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {
  2828. value = +value
  2829. offset = offset >>> 0
  2830. if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)
  2831. if (value < 0) value = 0xffffffff + value + 1
  2832. this[offset] = (value >>> 24)
  2833. this[offset + 1] = (value >>> 16)
  2834. this[offset + 2] = (value >>> 8)
  2835. this[offset + 3] = (value & 0xff)
  2836. return offset + 4
  2837. }
  2838. function checkIEEE754 (buf, value, offset, ext, max, min) {
  2839. if (offset + ext > buf.length) throw new RangeError('Index out of range')
  2840. if (offset < 0) throw new RangeError('Index out of range')
  2841. }
  2842. function writeFloat (buf, value, offset, littleEndian, noAssert) {
  2843. value = +value
  2844. offset = offset >>> 0
  2845. if (!noAssert) {
  2846. checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)
  2847. }
  2848. ieee754.write(buf, value, offset, littleEndian, 23, 4)
  2849. return offset + 4
  2850. }
  2851. Buffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {
  2852. return writeFloat(this, value, offset, true, noAssert)
  2853. }
  2854. Buffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {
  2855. return writeFloat(this, value, offset, false, noAssert)
  2856. }
  2857. function writeDouble (buf, value, offset, littleEndian, noAssert) {
  2858. value = +value
  2859. offset = offset >>> 0
  2860. if (!noAssert) {
  2861. checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)
  2862. }
  2863. ieee754.write(buf, value, offset, littleEndian, 52, 8)
  2864. return offset + 8
  2865. }
  2866. Buffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {
  2867. return writeDouble(this, value, offset, true, noAssert)
  2868. }
  2869. Buffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {
  2870. return writeDouble(this, value, offset, false, noAssert)
  2871. }
  2872. // copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)
  2873. Buffer.prototype.copy = function copy (target, targetStart, start, end) {
  2874. if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')
  2875. if (!start) start = 0
  2876. if (!end && end !== 0) end = this.length
  2877. if (targetStart >= target.length) targetStart = target.length
  2878. if (!targetStart) targetStart = 0
  2879. if (end > 0 && end < start) end = start
  2880. // Copy 0 bytes; we're done
  2881. if (end === start) return 0
  2882. if (target.length === 0 || this.length === 0) return 0
  2883. // Fatal error conditions
  2884. if (targetStart < 0) {
  2885. throw new RangeError('targetStart out of bounds')
  2886. }
  2887. if (start < 0 || start >= this.length) throw new RangeError('Index out of range')
  2888. if (end < 0) throw new RangeError('sourceEnd out of bounds')
  2889. // Are we oob?
  2890. if (end > this.length) end = this.length
  2891. if (target.length - targetStart < end - start) {
  2892. end = target.length - targetStart + start
  2893. }
  2894. var len = end - start
  2895. if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {
  2896. // Use built-in when available, missing from IE11
  2897. this.copyWithin(targetStart, start, end)
  2898. } else if (this === target && start < targetStart && targetStart < end) {
  2899. // descending copy from end
  2900. for (var i = len - 1; i >= 0; --i) {
  2901. target[i + targetStart] = this[i + start]
  2902. }
  2903. } else {
  2904. Uint8Array.prototype.set.call(
  2905. target,
  2906. this.subarray(start, end),
  2907. targetStart
  2908. )
  2909. }
  2910. return len
  2911. }
  2912. // Usage:
  2913. // buffer.fill(number[, offset[, end]])
  2914. // buffer.fill(buffer[, offset[, end]])
  2915. // buffer.fill(string[, offset[, end]][, encoding])
  2916. Buffer.prototype.fill = function fill (val, start, end, encoding) {
  2917. // Handle string cases:
  2918. if (typeof val === 'string') {
  2919. if (typeof start === 'string') {
  2920. encoding = start
  2921. start = 0
  2922. end = this.length
  2923. } else if (typeof end === 'string') {
  2924. encoding = end
  2925. end = this.length
  2926. }
  2927. if (encoding !== undefined && typeof encoding !== 'string') {
  2928. throw new TypeError('encoding must be a string')
  2929. }
  2930. if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {
  2931. throw new TypeError('Unknown encoding: ' + encoding)
  2932. }
  2933. if (val.length === 1) {
  2934. var code = val.charCodeAt(0)
  2935. if ((encoding === 'utf8' && code < 128) ||
  2936. encoding === 'latin1') {
  2937. // Fast path: If `val` fits into a single byte, use that numeric value.
  2938. val = code
  2939. }
  2940. }
  2941. } else if (typeof val === 'number') {
  2942. val = val & 255
  2943. }
  2944. // Invalid ranges are not set to a default, so can range check early.
  2945. if (start < 0 || this.length < start || this.length < end) {
  2946. throw new RangeError('Out of range index')
  2947. }
  2948. if (end <= start) {
  2949. return this
  2950. }
  2951. start = start >>> 0
  2952. end = end === undefined ? this.length : end >>> 0
  2953. if (!val) val = 0
  2954. var i
  2955. if (typeof val === 'number') {
  2956. for (i = start; i < end; ++i) {
  2957. this[i] = val
  2958. }
  2959. } else {
  2960. var bytes = Buffer.isBuffer(val)
  2961. ? val
  2962. : Buffer.from(val, encoding)
  2963. var len = bytes.length
  2964. if (len === 0) {
  2965. throw new TypeError('The value "' + val +
  2966. '" is invalid for argument "value"')
  2967. }
  2968. for (i = 0; i < end - start; ++i) {
  2969. this[i + start] = bytes[i % len]
  2970. }
  2971. }
  2972. return this
  2973. }
  2974. // HELPER FUNCTIONS
  2975. // ================
  2976. var INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g
  2977. function base64clean (str) {
  2978. // Node takes equal signs as end of the Base64 encoding
  2979. str = str.split('=')[0]
  2980. // Node strips out invalid characters like \n and \t from the string, base64-js does not
  2981. str = str.trim().replace(INVALID_BASE64_RE, '')
  2982. // Node converts strings with length < 2 to ''
  2983. if (str.length < 2) return ''
  2984. // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not
  2985. while (str.length % 4 !== 0) {
  2986. str = str + '='
  2987. }
  2988. return str
  2989. }
  2990. function toHex (n) {
  2991. if (n < 16) return '0' + n.toString(16)
  2992. return n.toString(16)
  2993. }
  2994. function utf8ToBytes (string, units) {
  2995. units = units || Infinity
  2996. var codePoint
  2997. var length = string.length
  2998. var leadSurrogate = null
  2999. var bytes = []
  3000. for (var i = 0; i < length; ++i) {
  3001. codePoint = string.charCodeAt(i)
  3002. // is surrogate component
  3003. if (codePoint > 0xD7FF && codePoint < 0xE000) {
  3004. // last char was a lead
  3005. if (!leadSurrogate) {
  3006. // no lead yet
  3007. if (codePoint > 0xDBFF) {
  3008. // unexpected trail
  3009. if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
  3010. continue
  3011. } else if (i + 1 === length) {
  3012. // unpaired lead
  3013. if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
  3014. continue
  3015. }
  3016. // valid lead
  3017. leadSurrogate = codePoint
  3018. continue
  3019. }
  3020. // 2 leads in a row
  3021. if (codePoint < 0xDC00) {
  3022. if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
  3023. leadSurrogate = codePoint
  3024. continue
  3025. }
  3026. // valid surrogate pair
  3027. codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000
  3028. } else if (leadSurrogate) {
  3029. // valid bmp char, but last char was a lead
  3030. if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
  3031. }
  3032. leadSurrogate = null
  3033. // encode utf8
  3034. if (codePoint < 0x80) {
  3035. if ((units -= 1) < 0) break
  3036. bytes.push(codePoint)
  3037. } else if (codePoint < 0x800) {
  3038. if ((units -= 2) < 0) break
  3039. bytes.push(
  3040. codePoint >> 0x6 | 0xC0,
  3041. codePoint & 0x3F | 0x80
  3042. )
  3043. } else if (codePoint < 0x10000) {
  3044. if ((units -= 3) < 0) break
  3045. bytes.push(
  3046. codePoint >> 0xC | 0xE0,
  3047. codePoint >> 0x6 & 0x3F | 0x80,
  3048. codePoint & 0x3F | 0x80
  3049. )
  3050. } else if (codePoint < 0x110000) {
  3051. if ((units -= 4) < 0) break
  3052. bytes.push(
  3053. codePoint >> 0x12 | 0xF0,
  3054. codePoint >> 0xC & 0x3F | 0x80,
  3055. codePoint >> 0x6 & 0x3F | 0x80,
  3056. codePoint & 0x3F | 0x80
  3057. )
  3058. } else {
  3059. throw new Error('Invalid code point')
  3060. }
  3061. }
  3062. return bytes
  3063. }
  3064. function asciiToBytes (str) {
  3065. var byteArray = []
  3066. for (var i = 0; i < str.length; ++i) {
  3067. // Node's code seems to be doing this and not & 0x7F..
  3068. byteArray.push(str.charCodeAt(i) & 0xFF)
  3069. }
  3070. return byteArray
  3071. }
  3072. function utf16leToBytes (str, units) {
  3073. var c, hi, lo
  3074. var byteArray = []
  3075. for (var i = 0; i < str.length; ++i) {
  3076. if ((units -= 2) < 0) break
  3077. c = str.charCodeAt(i)
  3078. hi = c >> 8
  3079. lo = c % 256
  3080. byteArray.push(lo)
  3081. byteArray.push(hi)
  3082. }
  3083. return byteArray
  3084. }
  3085. function base64ToBytes (str) {
  3086. return base64.toByteArray(base64clean(str))
  3087. }
  3088. function blitBuffer (src, dst, offset, length) {
  3089. for (var i = 0; i < length; ++i) {
  3090. if ((i + offset >= dst.length) || (i >= src.length)) break
  3091. dst[i + offset] = src[i]
  3092. }
  3093. return i
  3094. }
  3095. // ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass
  3096. // the `instanceof` check but they should be treated as of that type.
  3097. // See: https://github.com/feross/buffer/issues/166
  3098. function isInstance (obj, type) {
  3099. return obj instanceof type ||
  3100. (obj != null && obj.constructor != null && obj.constructor.name != null &&
  3101. obj.constructor.name === type.name)
  3102. }
  3103. function numberIsNaN (obj) {
  3104. // For IE11 support
  3105. return obj !== obj // eslint-disable-line no-self-compare
  3106. }
  3107. }).call(this,require("buffer").Buffer)
  3108. },{"base64-js":4,"buffer":5,"ieee754":6}],6:[function(require,module,exports){
  3109. exports.read = function (buffer, offset, isLE, mLen, nBytes) {
  3110. var e, m
  3111. var eLen = (nBytes * 8) - mLen - 1
  3112. var eMax = (1 << eLen) - 1
  3113. var eBias = eMax >> 1
  3114. var nBits = -7
  3115. var i = isLE ? (nBytes - 1) : 0
  3116. var d = isLE ? -1 : 1
  3117. var s = buffer[offset + i]
  3118. i += d
  3119. e = s & ((1 << (-nBits)) - 1)
  3120. s >>= (-nBits)
  3121. nBits += eLen
  3122. for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}
  3123. m = e & ((1 << (-nBits)) - 1)
  3124. e >>= (-nBits)
  3125. nBits += mLen
  3126. for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}
  3127. if (e === 0) {
  3128. e = 1 - eBias
  3129. } else if (e === eMax) {
  3130. return m ? NaN : ((s ? -1 : 1) * Infinity)
  3131. } else {
  3132. m = m + Math.pow(2, mLen)
  3133. e = e - eBias
  3134. }
  3135. return (s ? -1 : 1) * m * Math.pow(2, e - mLen)
  3136. }
  3137. exports.write = function (buffer, value, offset, isLE, mLen, nBytes) {
  3138. var e, m, c
  3139. var eLen = (nBytes * 8) - mLen - 1
  3140. var eMax = (1 << eLen) - 1
  3141. var eBias = eMax >> 1
  3142. var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)
  3143. var i = isLE ? 0 : (nBytes - 1)
  3144. var d = isLE ? 1 : -1
  3145. var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0
  3146. value = Math.abs(value)
  3147. if (isNaN(value) || value === Infinity) {
  3148. m = isNaN(value) ? 1 : 0
  3149. e = eMax
  3150. } else {
  3151. e = Math.floor(Math.log(value) / Math.LN2)
  3152. if (value * (c = Math.pow(2, -e)) < 1) {
  3153. e--
  3154. c *= 2
  3155. }
  3156. if (e + eBias >= 1) {
  3157. value += rt / c
  3158. } else {
  3159. value += rt * Math.pow(2, 1 - eBias)
  3160. }
  3161. if (value * c >= 2) {
  3162. e++
  3163. c /= 2
  3164. }
  3165. if (e + eBias >= eMax) {
  3166. m = 0
  3167. e = eMax
  3168. } else if (e + eBias >= 1) {
  3169. m = ((value * c) - 1) * Math.pow(2, mLen)
  3170. e = e + eBias
  3171. } else {
  3172. m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)
  3173. e = 0
  3174. }
  3175. }
  3176. for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}
  3177. e = (e << mLen) | m
  3178. eLen += mLen
  3179. for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}
  3180. buffer[offset + i - d] |= s * 128
  3181. }
  3182. },{}]},{},[2]);