����   =[  ,io/confluent/license/validator/LicenseConfig	     CONFIG *Lorg/apache/kafka/common/config/ConfigDef;
  	 
   -org/apache/kafka/common/config/AbstractConfig <init> <(Lorg/apache/kafka/common/config/ConfigDef;Ljava/util/Map;)V	     componentId Ljava/lang/String;  confluent.license
     getPassword C(Ljava/lang/String;)Lorg/apache/kafka/common/config/types/Password;
      -org/apache/kafka/common/config/types/Password value ()Ljava/lang/String;	     license ! confluent.license.topic
  # $ % 	getString &(Ljava/lang/String;)Ljava/lang/String;	  ' (  topic * *confluent.license.topic.replication.factor
  , - . getShort %(Ljava/lang/String;)Ljava/lang/Short;
 0 1 2 3 4 java/lang/Short 
shortValue ()S	  6 7 8 replicationFactor I : )confluent.license.topic.create.timeout.ms
  < = > getInt '(Ljava/lang/String;)Ljava/lang/Integer;
 @ A B C D java/lang/Integer intValue ()I
 F G H I J java/time/Duration ofMillis (J)Ljava/time/Duration;	  L M N topicCreateTimeout Ljava/time/Duration; P &confluent.license.retry.backoff.min.ms	  R S N retryBackoffMinMs U &confluent.license.retry.backoff.max.ms	  W X N retryBackoffMaxMs Z confluent.license.	 \ ] ^ _ ` Dorg/apache/kafka/common/config/internals/ConfluentConfigs$ClientType PRODUCER FLorg/apache/kafka/common/config/internals/ConfluentConfigs$ClientType; b _confluent-license
 d e f g h 9org/apache/kafka/common/config/internals/ConfluentConfigs 
clientConfigs �(Lorg/apache/kafka/common/config/AbstractConfig;Ljava/lang/String;Lorg/apache/kafka/common/config/internals/ConfluentConfigs$ClientType;Ljava/lang/String;Ljava/lang/String;)Ljava/util/Map;	 \ j k ` CONSUMER	 \ m n ` ADMIN p !io/confluent/license/LicenseStore r replication.factor
 t u v w x java/lang/String valueOf (I)Ljava/lang/String; z { | } ~ 
java/util/Map put 8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; � min.insync.replicas
 � � � � � java/lang/Math min (II)I � 	%s: %n	%s � java/lang/Object
 � � � � getClass ()Ljava/lang/Class;
 � � � �  java/lang/Class getName
  � � � values ()Ljava/util/Map; �   � = � %n	
 � � � � � #org/apache/kafka/common/utils/Utils mkString k(Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
 t � � � format 9(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;	 � � � � � java/lang/System out Ljava/io/PrintStream; � java/io/PrintStream � java/io/FileOutputStream
 � �  � (Ljava/lang/String;)V	 � � � � � !java/nio/charset/StandardCharsets UTF_8 Ljava/nio/charset/Charset;
 � � � �  java/nio/charset/Charset name
 � �  � ,(Ljava/io/OutputStream;ZLjava/lang/String;)V
 � � � �  (org/apache/kafka/common/config/ConfigDef toHtmlTable
 � � � � println
 � � � � close ()V � java/lang/Throwable
 � � � � 
addSuppressed (Ljava/lang/Throwable;)V
 � �  �	 � � � � � -org/apache/kafka/common/config/ConfigDef$Type PASSWORD /Lorg/apache/kafka/common/config/ConfigDef$Type;	 � � � � � 3org/apache/kafka/common/config/ConfigDef$Importance HIGH 5Lorg/apache/kafka/common/config/ConfigDef$Importance; � License for Confluent plugins.
 � � � � define �(Ljava/lang/String;Lorg/apache/kafka/common/config/ConfigDef$Type;Ljava/lang/Object;Lorg/apache/kafka/common/config/ConfigDef$Importance;Ljava/lang/String;)Lorg/apache/kafka/common/config/ConfigDef;	 � � � � STRING	 � � � � LOW � �Topic used for storing Confluent license. CP versions 6.2.1 and up will use _confluent-license if it exists, otherwise _confluent-command. CP versions 7.0 and up will deprecate _confluent-license and only use _confluent-command.	 � � � � SHORT
 0 � w � (S)Ljava/lang/Short;
 @ � w � (I)Ljava/lang/Integer;
 � � � � � .org/apache/kafka/common/config/ConfigDef$Range atLeast D(Ljava/lang/Number;)Lorg/apache/kafka/common/config/ConfigDef$Range; �Replication factor of the license topic. This is used for creation of the topic if it doesn't exist. Replication factor cannot be altered after the topic is created.
 � � �(Ljava/lang/String;Lorg/apache/kafka/common/config/ConfigDef$Type;Ljava/lang/Object;Lorg/apache/kafka/common/config/ConfigDef$Validator;Lorg/apache/kafka/common/config/ConfigDef$Importance;Ljava/lang/String;)Lorg/apache/kafka/common/config/ConfigDef;	 � � INT 	'�
 SThe number of milliseconds to wait for license topic to be created during start up. 5Minimum backoff when retrying license topic creation. �� 5Maximum backoff when retrying license topic creation. PREFIX 
ConstantValue PRODUCER_PREFIX confluent.license.producer. CONSUMER_PREFIX confluent.license.consumer. ADMIN_PREFIX confluent.license.admin. LICENSE_PROP LICENSE_DEFAULT LICENSE_DOC 
TOPIC_PROP 
TOPIC_DEFAULT CONFLUENT_COMMAND_TOPIC" _confluent-command 	TOPIC_DOC REPLICATION_FACTOR_PROP REPLICATION_FACTOR_DEFAULT S    REPLICATION_FACTOR_DOC TOPIC_CREATE_TIMEOUT_PROP TOPIC_CREATE_TIMEOUT_DEFAULT TOPIC_CREATE_TIMEOUT_DOC RETRY_BACKOFF_MIN_MS_PROP RETRY_BACKOFF_MIN_MS_DEFAULT  � RETRY_BACKOFF_MIN_MS_DOC RETRY_BACKOFF_MAX_MS_PROP RETRY_BACKOFF_MAX_MS_DEFAULT RETRY_BACKOFF_MAX_MS_DOC $(Ljava/lang/String;Ljava/util/Map;)V Code LineNumberTable LocalVariableTable this .Lio/confluent/license/validator/LicenseConfig; props Ljava/util/Map; LocalVariableTypeTable Ljava/util/Map<**>; MethodParameters 	Signature ((Ljava/lang/String;Ljava/util/Map<**>;)V producerConfigs 7()Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>; consumerConfigs topicAndAdminClientConfigs configs 5Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>; toString main ([Ljava/lang/String;)V args [Ljava/lang/String; 
StackMapTableJ 
ExceptionsO java/lang/Exception <clinit> 
SourceFile LicenseConfig.java InnerClasses 
ClientType Type 
Importance RangeY 2org/apache/kafka/common/config/ConfigDef$Validator 	Validator !            Y                                �       �               a       ! #      � $      ) %&    ' (       )      9 * 8     +     	 ,      O - 8    . /      0      T 1 8    
 2                 (     M N    7 8    S N    X N          3 4   �     e*� ,� *+� 
**� � � ** � "� &**)� +� /� 5**9� ;� ?�� E� K**O� ;� ?�� E� Q**T� ;� ?�� E� V�   5   & 	   V  W 
 X  Y $ Z 1 [ B \ S ] d ^6        e78     e      e9: ;       e9< =   	   9  >   ? @ � 4   :     *Y� [a*� 
� c�   5       a6       78  >   A B � 4   :     *Y� ia*� 
� c�   5       e6       78  >   A C � 4   �     6*Y� la*� 
� cL+q*� 5� s� y W+*� 5� �� s� y W+�   5       i  j  k   l 4 m6       678    &D: ;      &DE >   A F  4   X 	    &�� �Y*� �� �SY*� ������ �S� ��   5       r  s " r6       &78   	GH 4   �     Y*�� 	� �� � �Y� �Y*2� �� �� �� �L+� � ö �+� �� +� �+� +� ˧ M+� +� ˧ 	N,-� �,��  $ 9 D � I M P � 5   "    w  x $ y . z 5 { 9 } D w X ~6     $ 4 � �    YIJ  K   ( W ��  �J ��  L � �  �� M    N=   I   P � 4   �      �� �Y� �� ��� �� � � �a� �� �)� �� �� �� �� � �9�� �� �� �� �	�O�� �� �� �� ��T�
� �� �� �� ��� �   5   B    ?  @ " A + B / C ; B F D J E V D a F e G q F | H � I � H � J Q   RS   *  \ dT@ � �U@ � �V@ � �W 	X �Z	