import{s as Me,o as $e,n as ke}from"../chunks/scheduler.8c3d61f6.js";import{S as Pe,i as Ie,g as l,s as i,r as b,A as Ue,h as p,f as n,c as a,j as V,u as v,x as y,k as z,y as f,a as o,v as w,d as x,t as B,w as T}from"../chunks/index.da70eac4.js";import{D as me}from"../chunks/Docstring.367be9ed.js";import{C as Te}from"../chunks/CodeBlock.a9c4becf.js";import{E as je}from"../chunks/ExampleCodeBlock.dd9ee828.js";import{H as ge,E as Je}from"../chunks/getInferenceSnippets.cb466318.js";function Ce(S){let r,$="Examples:",h,m,g;return m=new Te({props:{code:"aW1wb3J0JTIwdG9yY2glMEFmcm9tJTIwZGlmZnVzZXJzJTIwaW1wb3J0JTIwQnJpYVBpcGVsaW5lJTBBJTBBcGlwZSUyMCUzRCUyMEJyaWFQaXBlbGluZS5mcm9tX3ByZXRyYWluZWQoJTIyYnJpYWFpJTJGQlJJQS0zLjIlMjIlMkMlMjB0b3JjaF9kdHlwZSUzRHRvcmNoLmJmbG9hdDE2KSUwQXBpcGUudG8oJTIyY3VkYSUyMiklMEElMEFwaXBlLnRleHRfZW5jb2RlciUyMCUzRCUyMHBpcGUudGV4dF9lbmNvZGVyLnRvKGR0eXBlJTNEdG9yY2guYmZsb2F0MTYpJTBBZm9yJTIwYmxvY2slMjBpbiUyMHBpcGUudGV4dF9lbmNvZGVyLmVuY29kZXIuYmxvY2slM0ElMEElMjAlMjAlMjAlMjBibG9jay5sYXllciU1Qi0xJTVELkRlbnNlUmVsdURlbnNlLndvLnRvKGR0eXBlJTNEdG9yY2guZmxvYXQzMiklMEElMEFpZiUyMHBpcGUudmFlLmNvbmZpZy5zaGlmdF9mYWN0b3IlMjAlM0QlM0QlMjAwJTNBJTBBJTIwJTIwJTIwJTIwcGlwZS52YWUudG8oZHR5cGUlM0R0b3JjaC5mbG9hdDMyKSUwQSUwQXByb21wdCUyMCUzRCUyMCUyMlBob3RvcmVhbGlzdGljJTIwZm9vZCUyMHBob3RvZ3JhcGh5JTIwb2YlMjBhJTIwc3RhY2slMjBvZiUyMGZsdWZmeSUyMHBhbmNha2VzJTIwb24lMjBhJTIwd2hpdGUlMjBwbGF0ZSUyQyUyMHdpdGglMjBtYXBsZSUyMHN5cnVwJTIwYmVpbmclMjBwb3VyZWQlMjBvdmVyJTIwdGhlbS4lMjBPbiUyMHRvcCUyMG9mJTIwdGhlJTIwcGFuY2FrZXMlMjBhcmUlMjB0aGUlMjB3b3JkcyUyMCdCUklBJTIwMy4yJyUyMGluJTIwYm9sZCUyQyUyMHllbGxvdyUyQyUyMDNEJTIwbGV0dGVycy4lMjBUaGUlMjBiYWNrZ3JvdW5kJTIwaXMlMjBkYXJrJTIwYW5kJTIwb3V0JTIwb2YlMjBmb2N1cy4lMjIlMEFpbWFnZSUyMCUzRCUyMHBpcGUocHJvbXB0KS5pbWFnZXMlNUIwJTVEJTBBaW1hZ2Uuc2F2ZSglMjJicmlhLnBuZyUyMik=",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">import</span> torch
<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> diffusers <span class="hljs-keyword">import</span> BriaPipeline

<span class="hljs-meta">&gt;&gt;&gt; </span>pipe = BriaPipeline.from_pretrained(<span class="hljs-string">&quot;briaai/BRIA-3.2&quot;</span>, torch_dtype=torch.bfloat16)
<span class="hljs-meta">&gt;&gt;&gt; </span>pipe.to(<span class="hljs-string">&quot;cuda&quot;</span>)
<span class="hljs-comment"># BRIA&#x27;s T5 text encoder is sensitive to precision. We need to cast it to bfloat16 and keep the final layer in float32.</span>

<span class="hljs-meta">&gt;&gt;&gt; </span>pipe.text_encoder = pipe.text_encoder.to(dtype=torch.bfloat16)
<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">for</span> block <span class="hljs-keyword">in</span> pipe.text_encoder.encoder.block:
<span class="hljs-meta">... </span>    block.layer[-<span class="hljs-number">1</span>].DenseReluDense.wo.to(dtype=torch.float32)
<span class="hljs-comment"># BRIA&#x27;s VAE is not supported in mixed precision, so we use float32.</span>

<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">if</span> pipe.vae.config.shift_factor == <span class="hljs-number">0</span>:
<span class="hljs-meta">... </span>    pipe.vae.to(dtype=torch.float32)

<span class="hljs-meta">&gt;&gt;&gt; </span>prompt = <span class="hljs-string">&quot;Photorealistic food photography of a stack of fluffy pancakes on a white plate, with maple syrup being poured over them. On top of the pancakes are the words &#x27;BRIA 3.2&#x27; in bold, yellow, 3D letters. The background is dark and out of focus.&quot;</span>
<span class="hljs-meta">&gt;&gt;&gt; </span>image = pipe(prompt).images[<span class="hljs-number">0</span>]
<span class="hljs-meta">&gt;&gt;&gt; </span>image.save(<span class="hljs-string">&quot;bria.png&quot;</span>)`,wrap:!1}}),{c(){r=l("p"),r.textContent=$,h=i(),b(m.$$.fragment)},l(s){r=p(s,"P",{"data-svelte-h":!0}),y(r)!=="svelte-kvfsh7"&&(r.textContent=$),h=a(s),v(m.$$.fragment,s)},m(s,u){o(s,r,u),o(s,h,u),w(m,s,u),g=!0},p:ke,i(s){g||(x(m.$$.fragment,s),g=!0)},o(s){B(m.$$.fragment,s),g=!1},d(s){s&&(n(r),n(h)),T(m,s)}}}function Ge(S){let r,$,h,m,g,s,u,fe=`Bria 3.2 is the next-generation commercial-ready text-to-image model. With just 4 billion parameters, it provides exceptional aesthetics and text rendering, evaluated to provide on par results to leading open-source models, and outperforming other licensed models.
In addition to being built entirely on licensed data, 3.2 provides several advantages for enterprise and commercial use:`,W,k,ue="<li>Efficient Compute - the model is X3 smaller than the equivalent models in the market (4B parameters vs 12B parameters other open source models)</li> <li>Architecture Consistency: Same architecture as 3.1—ideal for users looking to upgrade without disruption.</li> <li>Fine-tuning Speedup: 2x faster fine-tuning on L40S and A100.</li>",O,P,he=`Original model checkpoints for Bria 3.2 can be found <a href="https://huggingface.co/briaai/BRIA-3.2" rel="nofollow">here</a>.
Github repo for Bria 3.2 can be found <a href="https://github.com/Bria-AI/BRIA-3.2" rel="nofollow">here</a>.`,q,I,_e='If you want to learn more about the Bria platform, and get free traril access, please visit <a href="https://bria.ai" rel="nofollow">bria.ai</a>.',X,U,Q,j,be='<em>As the model is gated, before using it with diffusers you first need to go to the <a href="https://huggingface.co/briaai/BRIA-3.2" rel="nofollow">Bria 3.2 Hugging Face page</a>, fill in the form and accept the gate. Once you are in, you need to login so that your system knows you’ve accepted the gate.</em>',K,J,ve="Use the command below to log in:",ee,C,te,G,ne,d,L,se,Z,ye="Based on FluxPipeline with several changes:",re,R,we="<li>no pooled embeddings</li> <li>We use zero padding for prompts</li> <li>No guidance embedding since this is not a distilled version</li>",le,_,E,pe,Y,xe="Function invoked when calling the pipeline for generation.",de,M,ce,A,F,oe,N,ie,D,ae;return g=new ge({props:{title:"Bria 3.2",local:"bria-32",headingTag:"h1"}}),U=new ge({props:{title:"Usage",local:"usage",headingTag:"h2"}}),C=new Te({props:{code:"aGYlMjBhdXRoJTIwbG9naW4=",highlighted:"hf auth login",wrap:!1}}),G=new ge({props:{title:"BriaPipeline",local:"diffusers.BriaPipeline",headingTag:"h2"}}),L=new me({props:{name:"class diffusers.BriaPipeline",anchor:"diffusers.BriaPipeline",parameters:[{name:"transformer",val:": BriaTransformer2DModel"},{name:"scheduler",val:": typing.Union[diffusers.schedulers.scheduling_flow_match_euler_discrete.FlowMatchEulerDiscreteScheduler, diffusers.schedulers.scheduling_utils.KarrasDiffusionSchedulers]"},{name:"vae",val:": AutoencoderKL"},{name:"text_encoder",val:": T5EncoderModel"},{name:"tokenizer",val:": T5TokenizerFast"},{name:"image_encoder",val:": CLIPVisionModelWithProjection = None"},{name:"feature_extractor",val:": CLIPImageProcessor = None"}],parametersDescription:[{anchor:"diffusers.BriaPipeline.transformer",description:`<strong>transformer</strong> (<a href="/docs/diffusers/main/en/api/models/bria_transformer#diffusers.BriaTransformer2DModel">BriaTransformer2DModel</a>) &#x2014;
Conditional Transformer (MMDiT) architecture to denoise the encoded image latents.`,name:"transformer"},{anchor:"diffusers.BriaPipeline.scheduler",description:`<strong>scheduler</strong> (<a href="/docs/diffusers/main/en/api/schedulers/flow_match_euler_discrete#diffusers.FlowMatchEulerDiscreteScheduler">FlowMatchEulerDiscreteScheduler</a>) &#x2014;
A scheduler to be used in combination with <code>transformer</code> to denoise the encoded image latents.`,name:"scheduler"},{anchor:"diffusers.BriaPipeline.vae",description:`<strong>vae</strong> (<a href="/docs/diffusers/main/en/api/models/autoencoderkl#diffusers.AutoencoderKL">AutoencoderKL</a>) &#x2014;
Variational Auto-Encoder (VAE) Model to encode and decode images to and from latent representations.`,name:"vae"},{anchor:"diffusers.BriaPipeline.text_encoder",description:`<strong>text_encoder</strong> (<code>T5EncoderModel</code>) &#x2014;
Frozen text-encoder. Bria uses
<a href="https://huggingface.co/docs/transformers/model_doc/t5#transformers.T5EncoderModel" rel="nofollow">T5</a>, specifically the
<a href="https://huggingface.co/google/t5-v1_1-xxl" rel="nofollow">t5-v1_1-xxl</a> variant.`,name:"text_encoder"},{anchor:"diffusers.BriaPipeline.tokenizer",description:`<strong>tokenizer</strong> (<code>T5TokenizerFast</code>) &#x2014;
Tokenizer of class
<a href="https://huggingface.co/docs/transformers/model_doc/t5#transformers.T5Tokenizer" rel="nofollow">T5Tokenizer</a>.`,name:"tokenizer"}],source:"https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/bria/pipeline_bria.py#L89"}}),E=new me({props:{name:"__call__",anchor:"diffusers.BriaPipeline.__call__",parameters:[{name:"prompt",val:": typing.Union[str, typing.List[str]] = None"},{name:"height",val:": typing.Optional[int] = None"},{name:"width",val:": typing.Optional[int] = None"},{name:"num_inference_steps",val:": int = 30"},{name:"timesteps",val:": typing.List[int] = None"},{name:"guidance_scale",val:": float = 5"},{name:"negative_prompt",val:": typing.Union[str, typing.List[str], NoneType] = None"},{name:"num_images_per_prompt",val:": typing.Optional[int] = 1"},{name:"generator",val:": typing.Union[torch._C.Generator, typing.List[torch._C.Generator], NoneType] = None"},{name:"latents",val:": typing.Optional[torch.FloatTensor] = None"},{name:"prompt_embeds",val:": typing.Optional[torch.FloatTensor] = None"},{name:"negative_prompt_embeds",val:": typing.Optional[torch.FloatTensor] = None"},{name:"output_type",val:": typing.Optional[str] = 'pil'"},{name:"return_dict",val:": bool = True"},{name:"attention_kwargs",val:": typing.Optional[typing.Dict[str, typing.Any]] = None"},{name:"callback_on_step_end",val:": typing.Optional[typing.Callable[[int, int, typing.Dict], NoneType]] = None"},{name:"callback_on_step_end_tensor_inputs",val:": typing.List[str] = ['latents']"},{name:"max_sequence_length",val:": int = 128"},{name:"clip_value",val:": typing.Optional[float] = None"},{name:"normalize",val:": bool = False"}],parametersDescription:[{anchor:"diffusers.BriaPipeline.__call__.prompt",description:`<strong>prompt</strong> (<code>str</code> or <code>List[str]</code>, <em>optional</em>) &#x2014;
The prompt or prompts to guide the image generation. If not defined, one has to pass <code>prompt_embeds</code>.
instead.`,name:"prompt"},{anchor:"diffusers.BriaPipeline.__call__.height",description:`<strong>height</strong> (<code>int</code>, <em>optional</em>, defaults to self.unet.config.sample_size * self.vae_scale_factor) &#x2014;
The height in pixels of the generated image. This is set to 1024 by default for the best results.`,name:"height"},{anchor:"diffusers.BriaPipeline.__call__.width",description:`<strong>width</strong> (<code>int</code>, <em>optional</em>, defaults to self.unet.config.sample_size * self.vae_scale_factor) &#x2014;
The width in pixels of the generated image. This is set to 1024 by default for the best results.`,name:"width"},{anchor:"diffusers.BriaPipeline.__call__.num_inference_steps",description:`<strong>num_inference_steps</strong> (<code>int</code>, <em>optional</em>, defaults to 50) &#x2014;
The number of denoising steps. More denoising steps usually lead to a higher quality image at the
expense of slower inference.`,name:"num_inference_steps"},{anchor:"diffusers.BriaPipeline.__call__.timesteps",description:`<strong>timesteps</strong> (<code>List[int]</code>, <em>optional</em>) &#x2014;
Custom timesteps to use for the denoising process with schedulers which support a <code>timesteps</code> argument
in their <code>set_timesteps</code> method. If not defined, the default behavior when <code>num_inference_steps</code> is
passed will be used. Must be in descending order.`,name:"timesteps"},{anchor:"diffusers.BriaPipeline.__call__.guidance_scale",description:`<strong>guidance_scale</strong> (<code>float</code>, <em>optional</em>, defaults to 5.0) &#x2014;
Guidance scale as defined in <a href="https://arxiv.org/abs/2207.12598" rel="nofollow">Classifier-Free Diffusion Guidance</a>.
<code>guidance_scale</code> is defined as <code>w</code> of equation 2. of <a href="https://arxiv.org/pdf/2205.11487.pdf" rel="nofollow">Imagen
Paper</a>. Guidance scale is enabled by setting <code>guidance_scale &gt; 1</code>. Higher guidance scale encourages to generate images that are closely linked to the text <code>prompt</code>,
usually at the expense of lower image quality.`,name:"guidance_scale"},{anchor:"diffusers.BriaPipeline.__call__.negative_prompt",description:`<strong>negative_prompt</strong> (<code>str</code> or <code>List[str]</code>, <em>optional</em>) &#x2014;
The prompt or prompts not to guide the image generation. If not defined, one has to pass
<code>negative_prompt_embeds</code> instead. Ignored when not using guidance (i.e., ignored if <code>guidance_scale</code> is
less than <code>1</code>).`,name:"negative_prompt"},{anchor:"diffusers.BriaPipeline.__call__.num_images_per_prompt",description:`<strong>num_images_per_prompt</strong> (<code>int</code>, <em>optional</em>, defaults to 1) &#x2014;
The number of images to generate per prompt.`,name:"num_images_per_prompt"},{anchor:"diffusers.BriaPipeline.__call__.generator",description:`<strong>generator</strong> (<code>torch.Generator</code> or <code>List[torch.Generator]</code>, <em>optional</em>) &#x2014;
One or a list of <a href="https://pytorch.org/docs/stable/generated/torch.Generator.html" rel="nofollow">torch generator(s)</a>
to make generation deterministic.`,name:"generator"},{anchor:"diffusers.BriaPipeline.__call__.latents",description:`<strong>latents</strong> (<code>torch.FloatTensor</code>, <em>optional</em>) &#x2014;
Pre-generated noisy latents, sampled from a Gaussian distribution, to be used as inputs for image
generation. Can be used to tweak the same generation with different prompts. If not provided, a latents
tensor will be generated by sampling using the supplied random <code>generator</code>.`,name:"latents"},{anchor:"diffusers.BriaPipeline.__call__.prompt_embeds",description:`<strong>prompt_embeds</strong> (<code>torch.FloatTensor</code>, <em>optional</em>) &#x2014;
Pre-generated text embeddings. Can be used to easily tweak text inputs, <em>e.g.</em> prompt weighting. If not
provided, text embeddings will be generated from <code>prompt</code> input argument.`,name:"prompt_embeds"},{anchor:"diffusers.BriaPipeline.__call__.negative_prompt_embeds",description:`<strong>negative_prompt_embeds</strong> (<code>torch.FloatTensor</code>, <em>optional</em>) &#x2014;
Pre-generated negative text embeddings. Can be used to easily tweak text inputs, <em>e.g.</em> prompt
weighting. If not provided, negative_prompt_embeds will be generated from <code>negative_prompt</code> input
argument.`,name:"negative_prompt_embeds"},{anchor:"diffusers.BriaPipeline.__call__.output_type",description:`<strong>output_type</strong> (<code>str</code>, <em>optional</em>, defaults to <code>&quot;pil&quot;</code>) &#x2014;
The output format of the generate image. Choose between
<a href="https://pillow.readthedocs.io/en/stable/" rel="nofollow">PIL</a>: <code>PIL.Image.Image</code> or <code>np.array</code>.`,name:"output_type"},{anchor:"diffusers.BriaPipeline.__call__.return_dict",description:`<strong>return_dict</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>True</code>) &#x2014;
Whether or not to return a <code>~pipelines.bria.BriaPipelineOutput</code> instead of a plain tuple.`,name:"return_dict"},{anchor:"diffusers.BriaPipeline.__call__.attention_kwargs",description:`<strong>attention_kwargs</strong> (<code>dict</code>, <em>optional</em>) &#x2014;
A kwargs dictionary that if specified is passed along to the <code>AttentionProcessor</code> as defined under
<code>self.processor</code> in
<a href="https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py" rel="nofollow">diffusers.models.attention_processor</a>.`,name:"attention_kwargs"},{anchor:"diffusers.BriaPipeline.__call__.callback_on_step_end",description:`<strong>callback_on_step_end</strong> (<code>Callable</code>, <em>optional</em>) &#x2014;
A function that calls at the end of each denoising steps during the inference. The function is called
with the following arguments: <code>callback_on_step_end(self: DiffusionPipeline, step: int, timestep: int, callback_kwargs: Dict)</code>. <code>callback_kwargs</code> will include a list of all tensors as specified by
<code>callback_on_step_end_tensor_inputs</code>.`,name:"callback_on_step_end"},{anchor:"diffusers.BriaPipeline.__call__.callback_on_step_end_tensor_inputs",description:`<strong>callback_on_step_end_tensor_inputs</strong> (<code>List</code>, <em>optional</em>) &#x2014;
The list of tensor inputs for the <code>callback_on_step_end</code> function. The tensors specified in the list
will be passed as <code>callback_kwargs</code> argument. You will only be able to include variables listed in the
<code>._callback_tensor_inputs</code> attribute of your pipeline class.`,name:"callback_on_step_end_tensor_inputs"},{anchor:"diffusers.BriaPipeline.__call__.max_sequence_length",description:"<strong>max_sequence_length</strong> (<code>int</code> defaults to 256) &#x2014; Maximum sequence length to use with the <code>prompt</code>.",name:"max_sequence_length"}],source:"https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/bria/pipeline_bria.py#L448",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script>


<p><code>~pipelines.bria.BriaPipelineOutput</code> if <code>return_dict</code>
is True, otherwise a <code>tuple</code>. When returning a tuple, the first element is a list with the generated
images.</p>
`,returnType:`<script context="module">export const metadata = 'undefined';<\/script>


<p><code>~pipelines.bria.BriaPipelineOutput</code> or <code>tuple</code></p>
`}}),M=new je({props:{anchor:"diffusers.BriaPipeline.__call__.example",$$slots:{default:[Ce]},$$scope:{ctx:S}}}),F=new me({props:{name:"encode_prompt",anchor:"diffusers.BriaPipeline.encode_prompt",parameters:[{name:"prompt",val:": typing.Union[str, typing.List[str]]"},{name:"device",val:": typing.Optional[torch.device] = None"},{name:"num_images_per_prompt",val:": int = 1"},{name:"do_classifier_free_guidance",val:": bool = True"},{name:"negative_prompt",val:": typing.Union[str, typing.List[str], NoneType] = None"},{name:"prompt_embeds",val:": typing.Optional[torch.FloatTensor] = None"},{name:"negative_prompt_embeds",val:": typing.Optional[torch.FloatTensor] = None"},{name:"max_sequence_length",val:": int = 128"},{name:"lora_scale",val:": typing.Optional[float] = None"}],parametersDescription:[{anchor:"diffusers.BriaPipeline.encode_prompt.prompt",description:`<strong>prompt</strong> (<code>str</code> or <code>List[str]</code>, <em>optional</em>) &#x2014;
prompt to be encoded`,name:"prompt"},{anchor:"diffusers.BriaPipeline.encode_prompt.device",description:`<strong>device</strong> &#x2014; (<code>torch.device</code>):
torch device`,name:"device"},{anchor:"diffusers.BriaPipeline.encode_prompt.num_images_per_prompt",description:`<strong>num_images_per_prompt</strong> (<code>int</code>) &#x2014;
number of images that should be generated per prompt`,name:"num_images_per_prompt"},{anchor:"diffusers.BriaPipeline.encode_prompt.do_classifier_free_guidance",description:`<strong>do_classifier_free_guidance</strong> (<code>bool</code>) &#x2014;
whether to use classifier free guidance or not`,name:"do_classifier_free_guidance"},{anchor:"diffusers.BriaPipeline.encode_prompt.negative_prompt",description:`<strong>negative_prompt</strong> (<code>str</code> or <code>List[str]</code>, <em>optional</em>) &#x2014;
The prompt or prompts not to guide the image generation. If not defined, one has to pass
<code>negative_prompt_embeds</code> instead. Ignored when not using guidance (i.e., ignored if <code>guidance_scale</code> is
less than <code>1</code>).`,name:"negative_prompt"},{anchor:"diffusers.BriaPipeline.encode_prompt.prompt_embeds",description:`<strong>prompt_embeds</strong> (<code>torch.FloatTensor</code>, <em>optional</em>) &#x2014;
Pre-generated text embeddings. Can be used to easily tweak text inputs, <em>e.g.</em> prompt weighting. If not
provided, text embeddings will be generated from <code>prompt</code> input argument.`,name:"prompt_embeds"},{anchor:"diffusers.BriaPipeline.encode_prompt.negative_prompt_embeds",description:`<strong>negative_prompt_embeds</strong> (<code>torch.FloatTensor</code>, <em>optional</em>) &#x2014;
Pre-generated negative text embeddings. Can be used to easily tweak text inputs, <em>e.g.</em> prompt
weighting. If not provided, negative_prompt_embeds will be generated from <code>negative_prompt</code> input
argument.`,name:"negative_prompt_embeds"}],source:"https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/bria/pipeline_bria.py#L146"}}),N=new Je({props:{source:"https://github.com/huggingface/diffusers/blob/main/docs/source/en/api/pipelines/bria_3_2.md"}}),{c(){r=l("meta"),$=i(),h=l("p"),m=i(),b(g.$$.fragment),s=i(),u=l("p"),u.textContent=fe,W=i(),k=l("ul"),k.innerHTML=ue,O=i(),P=l("p"),P.innerHTML=he,q=i(),I=l("p"),I.innerHTML=_e,X=i(),b(U.$$.fragment),Q=i(),j=l("p"),j.innerHTML=be,K=i(),J=l("p"),J.textContent=ve,ee=i(),b(C.$$.fragment),te=i(),b(G.$$.fragment),ne=i(),d=l("div"),b(L.$$.fragment),se=i(),Z=l("p"),Z.textContent=ye,re=i(),R=l("ul"),R.innerHTML=we,le=i(),_=l("div"),b(E.$$.fragment),pe=i(),Y=l("p"),Y.textContent=xe,de=i(),b(M.$$.fragment),ce=i(),A=l("div"),b(F.$$.fragment),oe=i(),b(N.$$.fragment),ie=i(),D=l("p"),this.h()},l(e){const t=Ue("svelte-u9bgzb",document.head);r=p(t,"META",{name:!0,content:!0}),t.forEach(n),$=a(e),h=p(e,"P",{}),V(h).forEach(n),m=a(e),v(g.$$.fragment,e),s=a(e),u=p(e,"P",{"data-svelte-h":!0}),y(u)!=="svelte-1fachwa"&&(u.textContent=fe),W=a(e),k=p(e,"UL",{"data-svelte-h":!0}),y(k)!=="svelte-1txl75c"&&(k.innerHTML=ue),O=a(e),P=p(e,"P",{"data-svelte-h":!0}),y(P)!=="svelte-1pirafh"&&(P.innerHTML=he),q=a(e),I=p(e,"P",{"data-svelte-h":!0}),y(I)!=="svelte-m9lr6p"&&(I.innerHTML=_e),X=a(e),v(U.$$.fragment,e),Q=a(e),j=p(e,"P",{"data-svelte-h":!0}),y(j)!=="svelte-xrh9ni"&&(j.innerHTML=be),K=a(e),J=p(e,"P",{"data-svelte-h":!0}),y(J)!=="svelte-12sg8l0"&&(J.textContent=ve),ee=a(e),v(C.$$.fragment,e),te=a(e),v(G.$$.fragment,e),ne=a(e),d=p(e,"DIV",{class:!0});var c=V(d);v(L.$$.fragment,c),se=a(c),Z=p(c,"P",{"data-svelte-h":!0}),y(Z)!=="svelte-18cwt80"&&(Z.textContent=ye),re=a(c),R=p(c,"UL",{"data-svelte-h":!0}),y(R)!=="svelte-ubdgrr"&&(R.innerHTML=we),le=a(c),_=p(c,"DIV",{class:!0});var H=V(_);v(E.$$.fragment,H),pe=a(H),Y=p(H,"P",{"data-svelte-h":!0}),y(Y)!=="svelte-v78lg8"&&(Y.textContent=xe),de=a(H),v(M.$$.fragment,H),H.forEach(n),ce=a(c),A=p(c,"DIV",{class:!0});var Be=V(A);v(F.$$.fragment,Be),Be.forEach(n),c.forEach(n),oe=a(e),v(N.$$.fragment,e),ie=a(e),D=p(e,"P",{}),V(D).forEach(n),this.h()},h(){z(r,"name","hf:doc:metadata"),z(r,"content",Le),z(_,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),z(A,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),z(d,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8")},m(e,t){f(document.head,r),o(e,$,t),o(e,h,t),o(e,m,t),w(g,e,t),o(e,s,t),o(e,u,t),o(e,W,t),o(e,k,t),o(e,O,t),o(e,P,t),o(e,q,t),o(e,I,t),o(e,X,t),w(U,e,t),o(e,Q,t),o(e,j,t),o(e,K,t),o(e,J,t),o(e,ee,t),w(C,e,t),o(e,te,t),w(G,e,t),o(e,ne,t),o(e,d,t),w(L,d,null),f(d,se),f(d,Z),f(d,re),f(d,R),f(d,le),f(d,_),w(E,_,null),f(_,pe),f(_,Y),f(_,de),w(M,_,null),f(d,ce),f(d,A),w(F,A,null),o(e,oe,t),w(N,e,t),o(e,ie,t),o(e,D,t),ae=!0},p(e,[t]){const c={};t&2&&(c.$$scope={dirty:t,ctx:e}),M.$set(c)},i(e){ae||(x(g.$$.fragment,e),x(U.$$.fragment,e),x(C.$$.fragment,e),x(G.$$.fragment,e),x(L.$$.fragment,e),x(E.$$.fragment,e),x(M.$$.fragment,e),x(F.$$.fragment,e),x(N.$$.fragment,e),ae=!0)},o(e){B(g.$$.fragment,e),B(U.$$.fragment,e),B(C.$$.fragment,e),B(G.$$.fragment,e),B(L.$$.fragment,e),B(E.$$.fragment,e),B(M.$$.fragment,e),B(F.$$.fragment,e),B(N.$$.fragment,e),ae=!1},d(e){e&&(n($),n(h),n(m),n(s),n(u),n(W),n(k),n(O),n(P),n(q),n(I),n(X),n(Q),n(j),n(K),n(J),n(ee),n(te),n(ne),n(d),n(oe),n(ie),n(D)),n(r),T(g,e),T(U,e),T(C,e),T(G,e),T(L),T(E),T(M),T(F),T(N,e)}}}const Le='{"title":"Bria 3.2","local":"bria-32","sections":[{"title":"Usage","local":"usage","sections":[],"depth":2},{"title":"BriaPipeline","local":"diffusers.BriaPipeline","sections":[],"depth":2}],"depth":1}';function Ee(S){return $e(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class He extends Pe{constructor(r){super(),Ie(this,r,Ee,Ge,Me,{})}}export{He as component};
