              elif self.config["split_fc"]:
                  fc_shared = fc_a
              else:
                  fc_shared = fc_both
              inter_a = [Concatenate(name="inter_a")([inter_a[0], fc_shared(inputs["a"])])]
              inter_b = [Concatenate(name="inter_b")([inter_b[0], fc_shared(inputs["b"])])]
  
          if self.config["enable_gblock"]:
              fc_gblock = FullyConnected("gblock", input_shapes, self.config)()
              inter_a.append(fc_gblock(inputs["a"]))
              inter_b.append(fc_gblock(inputs["b"]))
 
</s> remove         if model.keras_name:
 </s> add         if model.keras_name and self._config["enc_architecture"].startswith("clipv_"):
            assert model.keras_name in T.get_args(TypeModelsViT)
            kwargs["input_shape"] = self._input_shape
            kwargs["load_weights"] = self._config["enc_load_weights"]
            retval = ViT(T.cast(TypeModelsViT, model.keras_name),
                         input_size=self._input_shape[0],
                         load_weights=self._config["enc_load_weights"])()
        elif model.keras_name: </s> remove             var_x = LeakyReLU(alpha=0.2)(var_x)
 </s> add             var_x = kl.LeakyReLU(alpha=0.2)(var_x) </s> remove                 var_x = LeakyReLU(alpha=0.1)(var_x)
 </s> add                 var_x = kl.LeakyReLU(alpha=0.1)(var_x) </s> remove             var_x = Reshape((dim, dim, int(self._max_nodes / (dim ** 2))))(var_x)
 </s> add             var_x = kl.Reshape((dim, dim, int(self._max_nodes / (dim ** 2))))(var_x) </s> remove             var_x = GaussianNoise(1.0)(var_x)
 </s> add             var_x = kl.GaussianNoise(1.0)(var_x)
            inter_a = [kl.Concatenate(name="inter_a")([inter_a[0], fc_shared(inputs["a"])])]
            inter_b = [kl.Concatenate(name="inter_b")([inter_b[0], fc_shared(inputs["b"])])]
              elif self.config["split_fc"]:
                  fc_shared = fc_a
              else:
                  fc_shared = fc_both
            inter_a = [kl.Concatenate(name="inter_a")([inter_a[0], fc_shared(inputs["a"])])]
            inter_b = [kl.Concatenate(name="inter_b")([inter_b[0], fc_shared(inputs["b"])])]
            inter_a = [kl.Concatenate(name="inter_a")([inter_a[0], fc_shared(inputs["a"])])]
            inter_b = [kl.Concatenate(name="inter_b")([inter_b[0], fc_shared(inputs["b"])])]
  
          if self.config["enable_gblock"]:
              fc_gblock = FullyConnected("gblock", input_shapes, self.config)()
              inter_a.append(fc_gblock(inputs["a"]))
              inter_b.append(fc_gblock(inputs["b"]))
keep keep keep keep replace replace keep keep keep keep keep
 Updates:
    - Remove clipfaker
    - Add clip to Phaze-A
    - streamline clip to vision only
    - update lib.model.networks
    - Docs and tests update
    - Phaze-A - add option to flatten bottleneck 
plugins/train/model/phaze_a.py