7D  java/lang/Object()Vorg/freertr/util/syncInt   (I)V  org/freertr/rtr/rtrOspf6areatodoLorg/freertr/util/syncInt;org/freertr/spf/spfCalc  (Lorg/freertr/spf/spfCalc;)V  lastSpfLorg/freertr/spf/spfCalc;  lowerLorg/freertr/rtr/rtrOspf6; !"areaI$org/freertr/tab/tabGen # ' ()lsasLorg/freertr/tab/tabGen; + ,)need2adv.org/freertr/tab/tabRoute0computed -2 3(Ljava/lang/String;)V 5 67routesLorg/freertr/tab/tabRoute;9org/freertr/util/notifier 8 < =>notifLorg/freertr/util/notifier; @ ABhostnameZD EFmakeConcatWithConstants(I)Ljava/lang/String; H IBstub K LBnssa N OBtraffEng Q RB segrouEna TUV W7org/freertr/rtr/rtrOspf6routerRedistedU -Y Z[size()I T] ^_amIabr()Z abc deorg/freertr/util/bitsgetTime()Jgorg/freertr/rtr/rtrOspf6lsa6 fk lmcreatedJ fo pBdoNotAge #r stfind.(Ljava/lang/Comparable;)Ljava/lang/Comparable; fw x"sequence fz {|contentDiffers (Lorg/freertr/rtr/rtrOspf6lsa;)Z ~ Borg/freertr/util/debugger rtrOspf6evnt  java/lang/StringvalueOf&(Ljava/lang/Object;)Ljava/lang/String; E&(Ljava/lang/String;)Ljava/lang/String;  3org/freertr/util/loggerdebug f generateCheckSum # tputD #Y # get(I)Ljava/lang/Comparable; f rtrIDLorg/freertr/addr/addrIPv4; T routerID  org/freertr/addr/addrIPv4 compareTo(Lorg/freertr/addr/addrType;)I  generateLsa"(Lorg/freertr/rtr/rtrOspf6lsa;ZZ)V  wakeNeighs T )ifacesorg/freertr/rtr/rtrOspf6iface )neighsorg/freertr/rtr/rtrOspf6neigh !Lorg/freertr/rtr/rtrOspf6area; < 8 wakeupDw@ # tdel  org/freertr/pack/packHolder merge2beg f f "lsaType f "lsaID  copyBytes()Lorg/freertr/addr/addrIPv4; getCopy()[B f bufDat[B msbPutW(II)V [dataSize putSkip  advertiseLsa"(IILorg/freertr/pack/packHolder;)V putByte msbPutD putAddr(ILorg/freertr/addr/addrType;)V putCopy([BIII)V  "org/freertr/addr/addrPrefixmaskLen   org/freertr/rtr/rtrOspf6prefprefixLorg/freertr/addr/addrPrefix;    ip2ip6<(Lorg/freertr/addr/addrPrefix;)Lorg/freertr/addr/addrPrefix;  "option  "metric  networkLorg/freertr/addr/addrType;   prefixSize (Lorg/freertr/addr/addrPrefix;)I  getByte(I)I ! "msbGetW$org/freertr/addr/addrIPv6 # ' ()getAddr(Lorg/freertr/addr/addrType;I)V + ) - . ip6toIP 0 1(ZZ)V 3 4[getCapabilities 6 7[ getCapaFlags 9 :)areas < =>ifaceLorg/freertr/ip/ipFwdIface; @AB Corg/freertr/ip/ipFwdIfaceLorg/freertr/ip/ipIfc; EFG HIorg/freertr/ip/ipIfcgetState!()Lorg/freertr/util/state$states; KLM NOorg/freertr/util/state$statesupLorg/freertr/util/state$states;  R SB maxMetric V W_needDR Y ZdrAddr \ ]_isEmpty _ `"locInt b c[DRintId e fgputLink2rtrLsa?(Lorg/freertr/pack/packHolder;IIILorg/freertr/addr/addrIPv4;I)V i j_isFull l m"rtrInt p q[ getMetric s t" drPriority @v wxaddrLorg/freertr/addr/addrIP; z{| }~org/freertr/addr/addrIPtoIPv6()Lorg/freertr/addr/addrIPv6;  @    prefixWrite?(Lorg/freertr/pack/packHolder;ILorg/freertr/rtr/rtrOspf6pref;)I T  traffEngIDLorg/freertr/addr/addrIPv6;org/freertr/rtr/rtrOspfTe   advertiseTe   putGenTlv1!(Lorg/freertr/pack/packHolder;Z)V   getTlvHandler()Lorg/freertr/enc/encTlv;  "org/freertr/enc/encTlvvalTyp  "valSiz  valDat a ([BII)V  toBuffer([BI)V  putThis (Lorg/freertr/pack/packHolder;)V  <(Lorg/freertr/pack/packHolder;ILorg/freertr/addr/addrType;)V  peer  "teMetric  m teBandwidth  " teAffinity  "teSrlg   putGenTlv2$(Lorg/freertr/pack/packHolder;IJII)V  putLink2ertrLsaA(Lorg/freertr/pack/packHolder;IIILorg/freertr/addr/addrIPv4;I[B)V   segrouLabLorg/freertr/tab/tabLabelEntry;  "org/freertr/tab/tabLabelEntrylabel  org/freertr/rtr/rtrOspfSrputAdj(I)[B!org/freertr/tab/tabRouteEntry   bestLorg/freertr/tab/tabRouteAttr; a msbGetD([BI)I org/freertr/tab/tabRouteAttr # fromBuf   getBytes (Lorg/freertr/pack/packHolder;)Z  getPref:(Lorg/freertr/enc/encTlv;Lorg/freertr/tab/tabRouteEntry;)V org/freertr/rtr/rtrOspfBr   createLnkLsa"(Lorg/freertr/rtr/rtrOspf6iface;)V  _amIdr   createNetLsa  B suppressAddr   BunsuppressAddr   createPrefLsa fl   B defOrigin   defaultRoute6()Lorg/freertr/addr/addrPrefix;  "origin   org/freertr/tab/tabRoute$addTypebetter"Lorg/freertr/tab/tabRoute$addType;org/freertr/rtr/rtrBgpUtil    roumapIntoLorg/freertr/tab/tabListing; " #  roupolInto % &  prflstInto -( )*addUpdatedEntry(Lorg/freertr/tab/tabRoute$addType;Lorg/freertr/tab/tabRoute;IILorg/freertr/tab/tabRouteEntry;ZLorg/freertr/tab/tabListing;Lorg/freertr/tab/tabListing;Lorg/freertr/tab/tabListing;)I -, -.addUpdatedTable(Lorg/freertr/tab/tabRoute$addType;IILorg/freertr/tab/tabRoute;Lorg/freertr/tab/tabRoute;ZLorg/freertr/tab/tabListing;Lorg/freertr/tab/tabListing;Lorg/freertr/tab/tabListing;)I -0 1"(I)Lorg/freertr/tab/tabRouteEntry; 3 4"tag 6 78 createExtLsa$(ILorg/freertr/addr/addrPrefix;III)V : ;< createSumLsa"(ILorg/freertr/addr/addrPrefix;I)V>rs @  -B CDaddF(Lorg/freertr/tab/tabRoute$addType;Lorg/freertr/tab/tabRouteEntry;ZZ)V TF G7routerComputedU I J"aggrAs -L sM>(Lorg/freertr/addr/addrPrefix;)Lorg/freertr/tab/tabRouteEntry; O PQ createTeLsaB(ILorg/freertr/rtr/rtrOspf6iface;Lorg/freertr/rtr/rtrOspf6neigh;)V S TB teSuppress VWX Yorg/freertr/rtr/rtrOspfRiputCapa V[ \ putHstnam T^ _ [Lorg/freertr/tab/tabLabelEntry; Ta b)algos d efputBaseX(Lorg/freertr/pack/packHolder;[Lorg/freertr/tab/tabLabelEntry;Lorg/freertr/tab/tabGen;)V i jBbierEna l m"srIndex o pBsrPop r stputPref(IZ)[B v w"brIndex Ty z_bierLab T| }"bierLen  "brSub  s'([Lorg/freertr/tab/tabLabelEntry;III)[B a  byteConcat([B[B)[B)#  BsrNode   createEprfLsa)(ILorg/freertr/addr/addrPrefix;IIII[B[B)V  " segrouIdx  "bierIdx  "bierSub  Bsrv6ena T )srv6org/freertr/cfg/cfgIfc  srv6loc8(Lorg/freertr/cfg/cfgIfc;I)Lorg/freertr/pack/packHolder;*D # clear   createRtrLsa   createLnkLsas   createNetLsas  createPrefLsas   createExtLsas   createSumLsas   createTeLsas   createRiLsa   createErtrLsa  createEprfLsas  createSrv6lsas   advertiseLsasDorg/freertr/rtr/rtrOspf6areaSpf  (Lorg/freertr/addr/addrIPv4;I)V f  getPayload()Lorg/freertr/pack/packHolder;   getSkip   D  addConnN(Lorg/freertr/addr/addrType;Lorg/freertr/addr/addrType;IZZLjava/lang/String;)V   prefixRead T " distantSum  "distance  addPref>(Lorg/freertr/addr/addrType;Lorg/freertr/tab/tabRouteEntry;Z)V T " distantExt  getBase(Lorg/freertr/enc/encTlv;)I  ) addSegRouB V  getHstnam,(Lorg/freertr/enc/encTlv;)Ljava/lang/String;  addIdent0(Lorg/freertr/addr/addrType;Ljava/lang/String;)V   getAlgos*(Lorg/freertr/enc/encTlv;)Ljava/util/List;    addAlgo.(Lorg/freertr/addr/addrType;Ljava/util/List;)V   parseEprfTlv9(Lorg/freertr/enc/encTlv;)Lorg/freertr/tab/tabRouteEntry;  "bierBeg  )addBierB  "rouSrc   addSegRouI=(Lorg/freertr/addr/addrType;Lorg/freertr/addr/addrPrefix;II)V  !"bierHdr # $%addBierI>(Lorg/freertr/addr/addrType;Lorg/freertr/addr/addrPrefix;III)V ' ()doWorkQ(Lorg/freertr/tab/tabGen;Lorg/freertr/addr/addrType;Lorg/freertr/addr/addrType;)Z + ,) segrouUsd.org/freertr/tab/tabIndex z -1 2!(ILorg/freertr/addr/addrPrefix;)V -4 56 add2table5(Lorg/freertr/tab/tabGen;Lorg/freertr/tab/tabIndex;)Z 89: ;<#org/freertr/tab/tabLabelEntry$owner ospf6srgb%Lorg/freertr/tab/tabLabelEntry$owner; T> ?@fwdCoreLorg/freertr/ip/ipFwd; B CD setFwdCommon>(Lorg/freertr/tab/tabLabelEntry$owner;Lorg/freertr/ip/ipFwd;)V F GHDRintAdr()Lorg/freertr/addr/addrIP; J KL addNextHop(ILorg/freertr/addr/addrType;Lorg/freertr/addr/addrIP;Lorg/freertr/tab/tabRouteIface;Lorg/freertr/addr/addrIP;Lorg/freertr/tab/tabRouteIface;)V N OB seenMyself zQ RS fromIPv6addr(Lorg/freertr/addr/addrIPv6;)V U VW getRoutes(Lorg/freertr/ip/ipFwd;Lorg/freertr/tab/tabLabelEntry$owner;[Lorg/freertr/tab/tabLabelEntry;Lorg/freertr/tab/tabGen;)Lorg/freertr/tab/tabRoute; - Z [ecmp ] ^  roumapFrom ` a  roupolFrom c d  prflstFrom fgh iorg/freertr/ip/ipFwd commonLabel Tk lmrouterDoAggregatess(ILorg/freertr/tab/tabRoute;Lorg/freertr/tab/tabRoute;Lorg/freertr/tab/tabLabelEntry;Lorg/freertr/addr/addrIPv4;I)V o pqgetBierI8(Lorg/freertr/ip/ipFwd;II)Lorg/freertr/tab/tabLabelBier; s tubierResLorg/freertr/tab/tabLabelBier; w xylistReachablility(Z)Ljava/lang/String; }java/util/ArrayList |  bLjava/util/List;org/freertr/rtr/rtrAlgo  ()Lorg/freertr/spf/spfCalc;  "num  flexExcl(I)Lorg/freertr/tab/tabGen;  E'(ILjava/lang/String;)Ljava/lang/String; rou  Cjava/util/List(Ljava/lang/Object;)Z T routerCreateComputed  or D 8 misleep  [ver  [  andIf(II)I   generateLsas   calculateSpf T  genLsas   purgeLsasjava/lang/Exception   traceback(Ljava/lang/Throwable;)V  and Djava/lang/Thread  (Ljava/lang/Runnable;)V  start E'(Ljava/lang/String;I)Ljava/lang/String;  f  writeData"(Lorg/freertr/pack/packHolder;IZ)I  org/freertr/enc/encBase64 encodeBytes([B)Ljava/lang/String; E8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;  org/freertr/util/cmds getRemaining()Ljava/lang/String;   decodeBytes(Ljava/lang/String;)[B f readData  !(Lorg/freertr/rtr/rtrOspf6area;)Ijava/lang/Comparablejava/lang/RunnablehaMode Signature7Lorg/freertr/tab/tabGen;OLorg/freertr/tab/tabGen;>;5Lorg/freertr/tab/tabRoute;GLjava/util/List;>;TLorg/freertr/tab/tabListing;SLorg/freertr/tab/tabListing;SLorg/freertr/tab/tabListing;;(Lorg/freertr/rtr/rtrOspf6;I)VCodeLineNumberTabletoString StackMapTable=(Lorg/freertr/addr/addrPrefix;)I?(ILorg/freertr/addr/addrPrefix;III)V=(ILorg/freertr/addr/addrPrefix;I)VD(ILorg/freertr/addr/addrPrefix;IIII[B[B)VT(Lorg/freertr/enc/encTlv;)Lorg/freertr/tab/tabRouteEntry; schedWorkrunstartNowstopNowstateGet%(Ljava/util/List;Ljava/lang/String;)V9(Ljava/util/List;Ljava/lang/String;)VstateSet(Lorg/freertr/util/cmds;)Z(Ljava/lang/Object;)IMethodParameters\Ljava/lang/Object;Ljava/lang/Comparable;Ljava/lang/Runnable; SourceFilertrOspf6area.javaBootstrapMethods ospf area generate lsa advertise lsas in area purge lsas in area purge generate lsas in area  calculate spf on area "$ unreachable:& reachable:(algo unreachable:*algo reachable:,started area .stopped area 0 24 567 E8$java/lang/invoke/StringConcatFactory(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; InnerClasses;org/freertr/util/statestatesaddTypeowner@%java/lang/invoke/MethodHandles$LookupBjava/lang/invoke/MethodHandlesLookup! !"B(),)tu67bSBIBLBABOBRBBjBB Bd & ^  a # ,)=>,Z**Y *Y*+**#Y%&*#Y%**-Y/14*8Y:;*?. !&1<ITY" *CN*+*+  4[=<*G*J<*J<*M*? *P@<"!6;  7[p/<*SX<*\<*J<"!(-$`7he7+j +n+j+n*&+qf: +uv+v`v +y}++*&+WN "#).;@ITXabht x  #%f @}*<=*&H*&fN-/-***-q *-=**&**fN- *-*b!-14EHSV!]"`f$s%&')*$,-/' f f o<*a*M,E>,8,:* Ä:567#8&:3;@<E=H?W@ZBb:h5nE #z̲}*`hee@aB6*&6*&f:tnij#}*&W?**j!**q*q*rKLNO$P'Q5RCSHTKVSWVY`Zf[s]}^`acdfgijQlmo$  f    p<-ʻfY:*ֵ-ڵ**W"yz {|}(~1;M!-----*-  fgd0++++++ +" !)/U++`+++++ ++++2 %,4<BMT % *` lh g;, N*`-*`,*`,*`--`)4 M*`>,*`,*` #Y%:*`&Y*:,,`"'0<EY/L+*2+*5+=**N--8*q-;?DJ-P6*QT6-U'-X[{*+-^-a-Xdd6-U-:9*'h*+-^knod* +! !1@DGRUgjpw|,## ! xDY/M,*2,+r,+;uy,,*+^," +28CY/M,*2,*,>+J+:/*h,n,* +^,F    % 2 ?DGVYadns y' kYM,+P,,+;Y/N-- --*- ,6- `* +^-6  !!"+#1$9%?&L'U(^)j*78$ Y:,666o 6Y/:6`*J  6@6*^- ./01!2$4,51748:9@;K<S=[>e?n@vA|BCEGH$ J;<\>>Y:,Y/:6`* :KLN OQR S&T,U7V>WHXQY[Z PQoѻY/:, **-:- ,a,X-k-n,;uy--,,,,*Z] ^_`#a+b,d:e?fFgMhQi^jnl{mopqrtuv,,I 6*/*PY/L+*2+*5+=**N--8*q-;?DJ-U,-X[*+-^-a-X-Pħ6-q-:U*Ch8:ȴ̸:*+-^knoĄ *+#yz|}~$)9HLOZ]ory%./"# ! ' 66, : Y/:          `         * Z&.9AIUbnv{ P+ +YM,+~#Y%N-+Y-+3~*:,,`6+Y/:++d+dʸL++,+,,V.6@T]gpr}"^ #2 U<*G*M,+,8*q,;?DJ*,. #&14FINT# _<*Q*M,5,8*q',;?DJ,*,6 #&14FIPSX^#  w<*i*M,M* , ,5,8 *,;?DJ*,6 #&;> S V hkpv#  *G-Y 1L* 6YM,,,o+,**!*$'W+*S**!*$+W=+X4+/N-!*--۴-۴-۴25ʱB",5Mk u!{"#% 'D- *\*G *J*,9-Y=1L-Y=1M>**:* |;?DJfY:;?P,A8 *+**!*$'WD>*EXX*E/:=۴H*+,K+**!*$'W>+X*+/:*۴9Ա(* + -.%/&112<3L4\5a6d8{9~;<>?@ABCE3G HIJ"L1M4O@PCR\GbTlUsVxW{YT[F --% I"*M*N<=**N--R-8*q-;?DJj-U*-NV6-G-:+*h*-NEv^_abc!d0e4f7h>iAkLlOnaodqkrusxuvwxz{}~uc' # ! `*M*? *PY/L+*MU*?+Z*P*]+*]*`c*g+*  (/3DV_ " *P *h<=**N--;?DJ:-k-k-nq:-u#*x*{-u-~:\-8*q66 :66:6-  6*-;-P!*G *J=*EX*E/N--۴H*w:-۴-۴q:-۴)*x*{-۴-۴:!*--۴W.!047ILQXel $'58=GT^N#&     / B*<*,*M, *,̱& +/2;A'J}***************̱B!%)-159=AEI  }*`he a@Y*N6*&-*&f:njYӷ:: Ы  c   U @ @@  #E)E  g 6   6  6 Y:    &  hC-Y   T (-Y    TW  Y:   & -Y ɻY:Y:   & ~6 -Y  CY: ~6 Y: WY: n**H-ȻY: 6  6   mY:  ٻY:m**H- 2Y:  6   6   mY:  ٻY:m**H- Y: 6  ٻY:   ~  ٻY: ~**H ~ ܵ2 ~p-o-Ҹ:    6 - - -  λY::      e* :-۴-۴۴~-۴۴۴"-Y*&W*P*]*#Y%***6*K*:,8*q;?DJ**Hk@**-YkYzY/*03W*]k27*=AU7X[-PYXaE;I6o:R*@M5zY/:P-oYn;I-*=7*]**T:*4XY*4*\*_*b+W**4*4*=ej*h*-*=nr*r}-vz-v{*-*|Y~6*`*`:*N--Y*&W6**:8*q;?DJU7X[-PYXaE;I6  o :  R *@ M5zY/:   P- oY n ;I -*=T:}'-v-v-Y1:Y*\*_*b+W**=ej*W*N(7EJMU_bu |  ")Dkn!$&')*+,-0123457*869?:H;Q<[=e>o?~@ABDEFGHIJKLMNOP#G)R,T;UCVJWTX]YjZs[}\]^_`Wbefghijkm no%p4q@rIsWu`vjwvyz|~ 5[aw7?JMs3OVjou'*=@HSV|   & 8 D ^ v   K!f  f L  f  f  f   f  f  f -Dz!  fp  fpB  fR  f  f  f '  f%  f   fQ 4'K%# 1t-'('%# 19I 3* xW*; d}** W<*;'W* =* >* W~Fp0>~* ~*@~ **M,* W}*ILn!("0#8$C%I&L(S)X+_,c.j/n1u2}47569:;=#  .  S"* ~* WY*ĶDZC D FG!H & * W N O u,*MY/N6*&S*&f:7--6---+,-ڸҺW:X YZ$[2\7]:_>`HaPbVcZdnZtf!f3   M+۸M,Y/N-,,-,-ʻfY:-*&W2 op qst!u'v+w4x?yA{K|2fA ! *+ $b33333333!3#3%3'3)3+3-3/319"K:<@-=@8>@?AC