7  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 @_ `"ifwNum 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 pqgetBierI"(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  !(Lorg/freertr/rtr/rtrOspf6area;)Ijava/lang/Comparablejava/lang/Runnable 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()Ljava/lang/String; 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; schedWorkrunstartNowstopNow(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   E$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; InnerClassesorg/freertr/util/statestatesaddTypeowner%java/lang/invoke/MethodHandles$Lookupjava/lang/invoke/MethodHandlesLookup! !"(),)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 "#).;@ITXabhtx#%f @}*<=*&H*&fN-/-***-q *-=**&**fN- *-*b  !-14EHSV]`fs "#%&(' f f o<*a*M,E>,8,:* Ä:./0#1&334@5E6H8W9Z;b3h.n> #z̲}*`hee@aB6*&6*&f:tnij#}*&W?**j!**q*q*rDEGH$I'J5KCLHMKOSPVR`SfTsV}WYZ\]_`bcJefh$  f    p<-ʻfY:*ֵ-ڵ**W"rs tuv(w1x;yM!-----*-  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-Xdg6-X-:<**h*+-;^knod* +! !1@DGRUgjpw|,## ! {GY/M,*2,+r,+;uy,,*+;^," +28FY/M,*2,*,>+J+:/*h,n,* +;^,F %2?DG V Y adnsy' nYM,+P,,+;Y/N-- --*- ,6- `* +;^-6 !+19?L U!^"m#78$ Y:,666o 6Y/:6`*J  6@6*^& '()*!+$-,.1041:2@4K5S6[7e8n9v:|;<>@A$ J;<\>>Y:,Y/:6`* :DEG HJK L&M,N7O>PHQQR[S PQoѻY/:, **-:- ,a,X-k-n,;uy--,,,,*ZV WXY#Z+[,]:^?_F`MaQb^cne{fhijkmno,,I 6* 5*PY/L+*2+*5+=**N--8*q-;?DJ-U/-X[*+-;^-a-X-Pħ6-t-:X*Fh;:ȴ̸:*+-;^knoĄ*+#rsuvw$x)y9zH{L|O~Z]ory%y+4/"# ! ' 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 #&;>SVhk pv #  *G-Y 1L* 6YM,,,o+,**!*$'W+*S**!*$+W=+X4+/N-!*--۴-۴-۴25ʱB",5Mku{ D- *\*G *J*,9-Y=1L-Y=1M>**:* |;?DJfY:;?P,A8 *+**!*$'WD>*EXX*E/:=۴H*+,K+**!*$'W>+X*+/:*۴9Ա(# $ &'%(&*1+<,L-\.a/d1{2~45789:;<>,@ ABC"E1F4H@ICK\@bMlNsOxP{RMTF --% I"*M*N<=**N--R-8*q-;?DJj-U*-NV6-G-:+*h*-NEvWXZ[\!]0^4_7a>bAdLeOgahdjkkulxnopqstvwyn\|' # ! `*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 "#$%&)*+,-.0*162?3H4Q5[6e7o8~9:;=>?@ABCDEFGHI#@)K,M;NCOJPTQ]RjSsT}UVWXYP[^_`abcdf gh%i4j@kIlWn`ojpvrsuwyz|}~ 5[aw7?JMs3OVchn{  #69ALOu    1 = W o {  K!f  f L  f  f  f   f  f  f -Dz!  fp  fpB  fR  f  f  f '  f%  f   fQ 4'K%# 1m-'('%# 19I 3* xW*; d}** W<*;'W* =* >* W~Fp0>~* ~*@~ **M,* W}*ILn(08CIL!S"X$_%c'j(n*u+}-0./2346#  .  S"* ~* WY*ĶDZ< = ?@!A & * W G HA! *+ ʬ"V               "K@-@8@