7  org/freertr/tab/tabRoutetabNameLjava/lang/String; makeConcatWithConstants&(Ljava/lang/String;)Ljava/lang/String;  java/lang/Object()V  defDistI  defMetr  defProto   defRouTyp(Lorg/freertr/tab/tabRouteAttr$routeType;  !" lookupTrieLorg/freertr/tab/tabGep; $ %&versionJ(org/freertr/tab/tabGen ' + ,-prefixesLorg/freertr/tab/tabGen; '/ 0(Lorg/freertr/tab/tabGen;)V 2 3optimize4lookup5org/freertr/tab/tabGep 4 '8 9:size()I '< =>get(I)Ljava/lang/Comparable;@org/freertr/tab/tabRouteEntry 4B CDadd"(Lorg/freertr/tab/tabRouteEntry;)V 'F GH tableInfo()Ljava/lang/String; 8 K =L"(I)Lorg/freertr/tab/tabRouteEntry; ?N OP compareTo"(Lorg/freertr/tab/tabRouteEntry;)I RST UVorg/freertr/util/debugger tabRouteEvntZXclear Z[\ ]^org/freertr/util/loggerdebug(Ljava/lang/String;)V '` X bcd efjava/lang/StringvalueOf&(Ljava/lang/Object;)Ljava/lang/String; ?i jk copyBytesC(Lorg/freertr/tab/tabRoute$addType;)Lorg/freertr/tab/tabRouteEntry; mno pqorg/freertr/util/bitsgetTime()J ?s tualtsLjava/util/List; w8xjava/util/List wz ={(I)Ljava/lang/Object;}org/freertr/tab/tabRouteAttr | &time  : org/freertr/tab/tabRoute$addTypeordinal ' C.(Ljava/lang/Comparable;)Ljava/lang/Comparable; ? bestLorg/freertr/tab/tabRouteAttr; |  isOtherBetter!(Lorg/freertr/tab/tabRouteAttr;)Z ' put w C(Ljava/lang/Object;)Z ? hashBest lnkBcmp"Lorg/freertr/tab/tabRoute$addType; ?  selectBest ?  jorg/freertr/addr/addrPrefix()Lorg/freertr/addr/addrPrefix; ? prefixLorg/freertr/addr/addrPrefix;  jorg/freertr/addr/addrType()Lorg/freertr/addr/addrType; | nextHopLorg/freertr/addr/addrType; | distance | metric | protoNum | rouTyp  CF(Lorg/freertr/tab/tabRoute$addType;Lorg/freertr/tab/tabRouteEntry;ZZ)V ' del 4 D ' find  ^ | ifaceLorg/freertr/tab/tabRouteIface;  @(Lorg/freertr/tab/tabRouteEntry;)Lorg/freertr/tab/tabRouteEntry; notyet ? differsD(Lorg/freertr/tab/tabRoute$addType;Lorg/freertr/tab/tabRouteEntry;)I  org/freertr/tab/tabRouteUtil doNexthopFixW(Lorg/freertr/tab/tabRouteEntry;Lorg/freertr/tab/tabRoute;Lorg/freertr/tab/tabRoute;I)Z :maxBits (Lorg/freertr/addr/addrType;I)V 4 search maskLen setMask(I)Vjava/util/ArrayList   org/freertr/tab/tabListingmatches"(IILorg/freertr/addr/addrPrefix;)Z  ecmp  updateC(IILorg/freertr/tab/tabRouteEntry;Z)Lorg/freertr/tab/tabRouteEntry;      org/freertr/tab/tabRtrplcdoRpl_(IILorg/freertr/tab/tabRouteEntry;Lorg/freertr/tab/tabListing;Z)Lorg/freertr/tab/tabRouteEntry;   doUpdateEntry(IILorg/freertr/tab/tabRouteEntry;Lorg/freertr/tab/tabListing;Lorg/freertr/tab/tabListing;Lorg/freertr/tab/tabListing;)Lorg/freertr/tab/tabRouteEntry;   (Lorg/freertr/addr/addrPrefix;)Z  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  delUpdatedEntry(Lorg/freertr/tab/tabRoute;IILorg/freertr/tab/tabRouteEntry;Lorg/freertr/tab/tabListing;Lorg/freertr/tab/tabListing;Lorg/freertr/tab/tabListing;)Iorg/freertr/user/userFormat |" typ|prefix|metric|iface|hop|time $ %'(Ljava/lang/String;Ljava/lang/String;)V'prefix|hop|metric|aspath)'prefix|local|evpn*16|pmsi*16|remote|hop+prefix|local|remote|hop-2prefix|asnum|asnam|calc|encod|calc|encod|ago|since/3|2roa|2aspa|2 1 29(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V4prefix|pack|byte|pack|byte|time61|2transmit|2receive|18prefix|index|base|oldbase|srv6:%prefix|index|subdom|base|oldbase|size<$prefix|alts|candid|best|proto|source>prefix|hop|ago|last@prefix|hop|metric|asnameBprefix|hop|metric|asinfoDprefix|hop|metric|asmixed ` ?G HI toShRoute?(Lorg/freertr/user/userFormat;Lorg/freertr/tab/tabRouteEntry;)V ?K LItoShBgp ?N OItoShLdp ?Q RS toShBgpLabels@(Lorg/freertr/user/userFormat;Lorg/freertr/tab/tabRouteEntry;Z)V ?U VItoShRpki ?X YItoShEvpn ?[ \ItoShCntr ?^ _I toShSrRoute ?a bI toShBrRoute ?d eStoShEcmp ?g hI toShChgRoute ?j kI toShAsName ?m nI toShAsInfo ?p qI toShAsMixed s tuconvertTableHead (I)Lorg/freertr/user/userFormat; w xyconvertTableBody;(Lorg/freertr/user/userFormat;Lorg/freertr/tab/tabRoute;I)V Signature>Lorg/freertr/tab/tabGen;>;Lorg/freertr/tab/tabGep;toStringCodeLineNumberTable(Lorg/freertr/tab/tabRoute;)V StackMapTable"(Lorg/freertr/tab/tabRoute;)VcheckConsistencyK(Lorg/freertr/tab/tabRoute$addType;Lorg/freertr/tab/tabRouteEntry;ZZ)V{(Lorg/freertr/tab/tabRoute$addType;Lorg/freertr/addr/addrPrefix;Lorg/freertr/addr/addrType;)Lorg/freertr/tab/tabRouteEntry;m(Lorg/freertr/tab/tabRoute$addType;Lorg/freertr/addr/addrPrefix;TT;)Lorg/freertr/tab/tabRouteEntry;%(Lorg/freertr/addr/addrPrefix;)Z"(Lorg/freertr/tab/tabRouteEntry;)Z'(Lorg/freertr/tab/tabRouteEntry;)Z>(Lorg/freertr/addr/addrPrefix;)Lorg/freertr/tab/tabRouteEntry;H(Lorg/freertr/addr/addrPrefix;)Lorg/freertr/tab/tabRouteEntry;J(Lorg/freertr/tab/tabRouteEntry;)Lorg/freertr/tab/tabRouteEntry; getSubset(II)Lorg/freertr/tab/tabRoute;#(II)Lorg/freertr/tab/tabRoute;'(I)Lorg/freertr/tab/tabRouteEntry; delDistance(I)I delMetricdelProtodelIface"(Lorg/freertr/tab/tabRouteIface;)I preserveTime(Lorg/freertr/tab/tabRoute;)Z"(Lorg/freertr/tab/tabRoute;)ZsetProto,(Lorg/freertr/tab/tabRouteAttr$routeType;I)V mergeFrom@(Lorg/freertr/tab/tabRoute$addType;Lorg/freertr/tab/tabRoute;I)VE(Lorg/freertr/tab/tabRoute$addType;Lorg/freertr/tab/tabRoute;I)V[(Lorg/freertr/tab/tabRoute$addType;Lorg/freertr/tab/tabRoute;Lorg/freertr/tab/tabRoute;II)Ve(Lorg/freertr/tab/tabRoute$addType;Lorg/freertr/tab/tabRoute;Lorg/freertr/tab/tabRoute;II)Vroute<(Lorg/freertr/addr/addrType;)Lorg/freertr/tab/tabRouteEntry;)(TT;)Lorg/freertr/tab/tabRouteEntry;?(Lorg/freertr/tab/tabRoute$addType;Lorg/freertr/tab/tabRoute;)ZD(Lorg/freertr/tab/tabRoute$addType;Lorg/freertr/tab/tabRoute;)Zdump()Ljava/util/List;&()Ljava/util/List;r(IILorg/freertr/tab/tabRouteEntry;Lorg/freertr/tab/tabListing;Lorg/freertr/tab/tabListing;Lorg/freertr/tab/tabListing;)Lorg/freertr/tab/tabRouteEntry;(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;)In(Lorg/freertr/tab/tabRoute;IILorg/freertr/tab/tabRouteEntry;Lorg/freertr/tab/tabListing;Lorg/freertr/tab/tabListing;Lorg/freertr/tab/tabListing;)IaddUpdatedTable(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(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;)IdelUpdatedTable(IILorg/freertr/tab/tabRoute;Lorg/freertr/tab/tabRoute;Lorg/freertr/tab/tabListing;Lorg/freertr/tab/tabListing;Lorg/freertr/tab/tabListing;)Ii(IILorg/freertr/tab/tabRoute;Lorg/freertr/tab/tabRoute;Lorg/freertr/tab/tabListing;Lorg/freertr/tab/tabListing;Lorg/freertr/tab/tabListing;)IV(Lorg/freertr/user/userFormat;Lorg/freertr/tab/tabRoute;I)VconvertTableFull:(Lorg/freertr/tab/tabRoute;I)Lorg/freertr/user/userFormat;U(Lorg/freertr/tab/tabRoute;I)Lorg/freertr/user/userFormat;1Ljava/lang/Object; SourceFile tabRoute.java NestMembersBootstrapMethods tableadd del deldst delmet delprt delifc merged prefixes from   $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/tab/tabRouteAttr$routeType routeTypeaddType%java/lang/invoke/MethodHandles$Lookupjava/lang/invoke/MethodHandlesLookup! ,-z{!"z|%&#}H~" *i^~q5* ****** #*+*'Y)** qF KPU\a$r)s4t~g* ****** #*+*+*+*+*+*'Y+*.*+*1B{F KPU\a$|,}4~<DL[bffz3~n04Y6L=**7+**;?A*+$*/  4GH~ **E:~4*I*JL=*I*JN+-M-L*   (*,2 ??X~b(QWY**_*Y# a#**1 #' C~LJQ,agY ,+hM2l76,rv,ry|~+ P-8**,?:* *,A*Y# a#,&**,W* *,A*Y# a#,6,rv&,ry|:rW*Y# a#**,?:* *,A*Y# a#,&**,W* *,A*Y# a#,6,rv6,ry|:rW+ *Y# a#,rv ,+hM**,?:* *,A*Y# a#,**,W* *,A*Y# a#**,W* *,A*Y# a#,rv ,+hM**,* *,A*Y# a#**,?:* *,A*Y# a#6,rv"r,ry|W*Y# a#a!&7JP (.3=>KPW_ijy   "/4;CMN]^!g"n#v%&()*,-/0235689<=>?AB DE3D9G>HHIIKd* &; ? & 0 ? & -|   ?     ? ,zC~^?Y:,--*****+* Y Z[\"^._:`FaRb[c"?z~GQ+aY?YM,+**,* *,*Y# a#* mnpqr*s,u3v;xEy ?z~y:Q+aY**+* *+*Y# a#"&.8 z~9?YM,+**,? z~$ **+?z9:~ **7~ZY*N*I6=<6)**;?: -*W-d#-: !*8=@JPX? z=L~$ **;?z~z=**7d>]**;?:B3QaY**W* *DŽ *Y# a#F"%14:GQXadjnx ? ~z=**7d>]**;?:B3QaY**W* *DŽ *Y# a#F"%14:GQXa dj n x ? ~z=**7d>]**;?:B3QaY**W* *DŽ *Y# a#F"%1 4":#G%Q&X'a)dj+n,x. ? ~z=**7d>]**;?:B+3QaY**W* *DŽ *Y# a#F89:;"<%>1?4A:BGDQEXFaHd9jJnKxM ? ~**7+*7=>**7r**;?:W+:Gܙ=56rv#ry|~~ԄBWX$Y1Z6[9]A^F_IaVbXc[emfeXi! @??.z~^>**7S**;?:86rv&ry|:+ф. s tuv"x4yEzK{QxWs]~?1~a6,*7?,*;?:#+h:*+Q,aY2 "%14<EKQ`!?z~q6,*7O,*;?:3#+h:,- *+Q,aY:"%25=ILU[ap!?z~Y?YM,Y++* *,,>&,**,?:. (4<INQW(? z~Y,**7,*7>**74**;?:+,*;?ܙ2 &38;OQW?z~n4YL=**7 +**;aW+,2  w'z ~V,,- ,h--,M,,M,,B $, 0 9 = ?DNRTz ~S ":+*'()+ ,z ~O-N-*-W< =>@Az ~ @6 6  I0 J:   *- `6  "STUVW!Y7T=[?z ~ ;66-I,-J:  , `6"klmnoq2l8s?ztu~b_  ' 5 C Q ' 'Y!#Y&#Y(#Y*#Y,.0Y350Y7#Y9#Y;#Y=#Y?#YA#YC#>} (6DR`  xy~Z*E>+IN+J:95   & /  *F*J*M{*Pf*T]*WT*ZK*]B*`9*ՠc$*f*i*l *o# /28;ADJMSY? ???? ????z~IrM,,*v,   zz8 |@@