import{s as gt,o as Wt,n as G}from"../chunks/scheduler.8c3d61f6.js";import{S as Gt,i as kt,g as b,s as p,r as u,A as Bt,h as T,f as t,c as o,j as Ut,u as f,x as w,k as Zt,y as Xt,a as l,v as M,d as y,t as J,w as h}from"../chunks/index.da70eac4.js";import{T as _t}from"../chunks/Tip.1d9b8c37.js";import{C as Z}from"../chunks/CodeBlock.a9c4becf.js";import{H as V,E as Ct}from"../chunks/getInferenceSnippets.725ed3d4.js";import{H as zs,a as Ve}from"../chunks/HfOption.6c3b4e77.js";function xt(j){let n,c;return n=new Z({props:{code:"aW1wb3J0JTIwdG9yY2glMEFmcm9tJTIwZGlmZnVzZXJzLm1vZHVsYXJfcGlwZWxpbmVzJTIwaW1wb3J0JTIwU2VxdWVudGlhbFBpcGVsaW5lQmxvY2tzJTBBZnJvbSUyMGRpZmZ1c2Vycy5tb2R1bGFyX3BpcGVsaW5lcy5zdGFibGVfZGlmZnVzaW9uX3hsJTIwaW1wb3J0JTIwVEVYVDJJTUFHRV9CTE9DS1MlMEElMEFibG9ja3MlMjAlM0QlMjBTZXF1ZW50aWFsUGlwZWxpbmVCbG9ja3MuZnJvbV9ibG9ja3NfZGljdChURVhUMklNQUdFX0JMT0NLUyklMEElMEFtb2R1bGFyX3JlcG9faWQlMjAlM0QlMjAlMjJZaVlpWHUlMkZtb2R1bGFyLWxvYWRlci10MmktMDcwNCUyMiUwQXBpcGVsaW5lJTIwJTNEJTIwYmxvY2tzLmluaXRfcGlwZWxpbmUobW9kdWxhcl9yZXBvX2lkKSUwQSUwQXBpcGVsaW5lLmxvYWRfZGVmYXVsdF9jb21wb25lbnRzKHRvcmNoX2R0eXBlJTNEdG9yY2guZmxvYXQxNiklMEFwaXBlbGluZS50byglMjJjdWRhJTIyKSUwQSUwQWltYWdlJTIwJTNEJTIwcGlwZWxpbmUocHJvbXB0JTNEJTIyQXN0cm9uYXV0JTIwaW4lMjBhJTIwanVuZ2xlJTJDJTIwY29sZCUyMGNvbG9yJTIwcGFsZXR0ZSUyQyUyMG11dGVkJTIwY29sb3JzJTJDJTIwZGV0YWlsZWQlMkMlMjA4ayUyMiUyQyUyMG91dHB1dCUzRCUyMmltYWdlcyUyMiklNUIwJTVEJTBBaW1hZ2Uuc2F2ZSglMjJtb2R1bGFyX3QyaV9vdXQucG5nJTIyKQ==",highlighted:`<span class="hljs-keyword">import</span> torch
<span class="hljs-keyword">from</span> diffusers.modular_pipelines <span class="hljs-keyword">import</span> SequentialPipelineBlocks
<span class="hljs-keyword">from</span> diffusers.modular_pipelines.stable_diffusion_xl <span class="hljs-keyword">import</span> TEXT2IMAGE_BLOCKS

blocks = SequentialPipelineBlocks.from_blocks_dict(TEXT2IMAGE_BLOCKS)

modular_repo_id = <span class="hljs-string">&quot;YiYiXu/modular-loader-t2i-0704&quot;</span>
pipeline = blocks.init_pipeline(modular_repo_id)

pipeline.load_default_components(torch_dtype=torch.float16)
pipeline.to(<span class="hljs-string">&quot;cuda&quot;</span>)

image = pipeline(prompt=<span class="hljs-string">&quot;Astronaut in a jungle, cold color palette, muted colors, detailed, 8k&quot;</span>, output=<span class="hljs-string">&quot;images&quot;</span>)[<span class="hljs-number">0</span>]
image.save(<span class="hljs-string">&quot;modular_t2i_out.png&quot;</span>)`,wrap:!1}}),{c(){u(n.$$.fragment)},l(a){f(n.$$.fragment,a)},m(a,m){M(n,a,m),c=!0},p:G,i(a){c||(y(n.$$.fragment,a),c=!0)},o(a){J(n.$$.fragment,a),c=!1},d(a){h(n,a)}}}function Vt(j){let n,c;return n=new Z({props:{code:"aW1wb3J0JTIwdG9yY2glMEFmcm9tJTIwZGlmZnVzZXJzLm1vZHVsYXJfcGlwZWxpbmVzJTIwaW1wb3J0JTIwU2VxdWVudGlhbFBpcGVsaW5lQmxvY2tzJTBBZnJvbSUyMGRpZmZ1c2Vycy5tb2R1bGFyX3BpcGVsaW5lcy5zdGFibGVfZGlmZnVzaW9uX3hsJTIwaW1wb3J0JTIwSU1BR0UySU1BR0VfQkxPQ0tTJTBBJTBBYmxvY2tzJTIwJTNEJTIwU2VxdWVudGlhbFBpcGVsaW5lQmxvY2tzLmZyb21fYmxvY2tzX2RpY3QoSU1BR0UySU1BR0VfQkxPQ0tTKSUwQSUwQW1vZHVsYXJfcmVwb19pZCUyMCUzRCUyMCUyMllpWWlYdSUyRm1vZHVsYXItbG9hZGVyLXQyaS0wNzA0JTIyJTBBcGlwZWxpbmUlMjAlM0QlMjBibG9ja3MuaW5pdF9waXBlbGluZShtb2R1bGFyX3JlcG9faWQpJTBBJTBBcGlwZWxpbmUubG9hZF9kZWZhdWx0X2NvbXBvbmVudHModG9yY2hfZHR5cGUlM0R0b3JjaC5mbG9hdDE2KSUwQXBpcGVsaW5lLnRvKCUyMmN1ZGElMjIpJTBBJTBBdXJsJTIwJTNEJTIwJTIyaHR0cHMlM0ElMkYlMkZodWdnaW5nZmFjZS5jbyUyRmRhdGFzZXRzJTJGaHVnZ2luZ2ZhY2UlMkZkb2N1bWVudGF0aW9uLWltYWdlcyUyRnJlc29sdmUlMkZtYWluJTJGZGlmZnVzZXJzJTJGc2R4bC10ZXh0MmltZy5wbmclMjIlMEFpbml0X2ltYWdlJTIwJTNEJTIwbG9hZF9pbWFnZSh1cmwpJTBBcHJvbXB0JTIwJTNEJTIwJTIyYSUyMGRvZyUyMGNhdGNoaW5nJTIwYSUyMGZyaXNiZWUlMjBpbiUyMHRoZSUyMGp1bmdsZSUyMiUwQWltYWdlJTIwJTNEJTIwcGlwZWxpbmUocHJvbXB0JTNEcHJvbXB0JTJDJTIwaW1hZ2UlM0Rpbml0X2ltYWdlJTJDJTIwc3RyZW5ndGglM0QwLjglMkMlMjBvdXRwdXQlM0QlMjJpbWFnZXMlMjIpJTVCMCU1RCUwQWltYWdlLnNhdmUoJTIybW9kdWxhcl9pMmlfb3V0LnBuZyUyMik=",highlighted:`<span class="hljs-keyword">import</span> torch
<span class="hljs-keyword">from</span> diffusers.modular_pipelines <span class="hljs-keyword">import</span> SequentialPipelineBlocks
<span class="hljs-keyword">from</span> diffusers.modular_pipelines.stable_diffusion_xl <span class="hljs-keyword">import</span> IMAGE2IMAGE_BLOCKS

blocks = SequentialPipelineBlocks.from_blocks_dict(IMAGE2IMAGE_BLOCKS)

modular_repo_id = <span class="hljs-string">&quot;YiYiXu/modular-loader-t2i-0704&quot;</span>
pipeline = blocks.init_pipeline(modular_repo_id)

pipeline.load_default_components(torch_dtype=torch.float16)
pipeline.to(<span class="hljs-string">&quot;cuda&quot;</span>)

url = <span class="hljs-string">&quot;https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/sdxl-text2img.png&quot;</span>
init_image = load_image(url)
prompt = <span class="hljs-string">&quot;a dog catching a frisbee in the jungle&quot;</span>
image = pipeline(prompt=prompt, image=init_image, strength=<span class="hljs-number">0.8</span>, output=<span class="hljs-string">&quot;images&quot;</span>)[<span class="hljs-number">0</span>]
image.save(<span class="hljs-string">&quot;modular_i2i_out.png&quot;</span>)`,wrap:!1}}),{c(){u(n.$$.fragment)},l(a){f(n.$$.fragment,a)},m(a,m){M(n,a,m),c=!0},p:G,i(a){c||(y(n.$$.fragment,a),c=!0)},o(a){J(n.$$.fragment,a),c=!1},d(a){h(n,a)}}}function vt(j){let n,c;return n=new Z({props:{code:"aW1wb3J0JTIwdG9yY2glMEFmcm9tJTIwZGlmZnVzZXJzLm1vZHVsYXJfcGlwZWxpbmVzJTIwaW1wb3J0JTIwU2VxdWVudGlhbFBpcGVsaW5lQmxvY2tzJTBBZnJvbSUyMGRpZmZ1c2Vycy5tb2R1bGFyX3BpcGVsaW5lcy5zdGFibGVfZGlmZnVzaW9uX3hsJTIwaW1wb3J0JTIwSU5QQUlOVF9CTE9DS1MlMEFmcm9tJTIwZGlmZnVzZXJzLnV0aWxzJTIwaW1wb3J0JTIwbG9hZF9pbWFnZSUwQSUwQWJsb2NrcyUyMCUzRCUyMFNlcXVlbnRpYWxQaXBlbGluZUJsb2Nrcy5mcm9tX2Jsb2Nrc19kaWN0KElOUEFJTlRfQkxPQ0tTKSUwQSUwQW1vZHVsYXJfcmVwb19pZCUyMCUzRCUyMCUyMllpWWlYdSUyRm1vZHVsYXItbG9hZGVyLXQyaS0wNzA0JTIyJTBBcGlwZWxpbmUlMjAlM0QlMjBibG9ja3MuaW5pdF9waXBlbGluZShtb2R1bGFyX3JlcG9faWQpJTBBJTBBcGlwZWxpbmUubG9hZF9kZWZhdWx0X2NvbXBvbmVudHModG9yY2hfZHR5cGUlM0R0b3JjaC5mbG9hdDE2KSUwQXBpcGVsaW5lLnRvKCUyMmN1ZGElMjIpJTBBJTBBaW1nX3VybCUyMCUzRCUyMCUyMmh0dHBzJTNBJTJGJTJGaHVnZ2luZ2ZhY2UuY28lMkZkYXRhc2V0cyUyRmh1Z2dpbmdmYWNlJTJGZG9jdW1lbnRhdGlvbi1pbWFnZXMlMkZyZXNvbHZlJTJGbWFpbiUyRmRpZmZ1c2VycyUyRnNkeGwtdGV4dDJpbWcucG5nJTIyJTBBbWFza191cmwlMjAlM0QlMjAlMjJodHRwcyUzQSUyRiUyRmh1Z2dpbmdmYWNlLmNvJTJGZGF0YXNldHMlMkZodWdnaW5nZmFjZSUyRmRvY3VtZW50YXRpb24taW1hZ2VzJTJGcmVzb2x2ZSUyRm1haW4lMkZkaWZmdXNlcnMlMkZzZHhsLWlucGFpbnQtbWFzay5wbmclMjIlMEElMEFpbml0X2ltYWdlJTIwJTNEJTIwbG9hZF9pbWFnZShpbWdfdXJsKSUwQW1hc2tfaW1hZ2UlMjAlM0QlMjBsb2FkX2ltYWdlKG1hc2tfdXJsKSUwQSUwQXByb21wdCUyMCUzRCUyMCUyMkElMjBkZWVwJTIwc2VhJTIwZGl2ZXIlMjBmbG9hdGluZyUyMiUwQWltYWdlJTIwJTNEJTIwcGlwZWxpbmUocHJvbXB0JTNEcHJvbXB0JTJDJTIwaW1hZ2UlM0Rpbml0X2ltYWdlJTJDJTIwbWFza19pbWFnZSUzRG1hc2tfaW1hZ2UlMkMlMjBzdHJlbmd0aCUzRDAuODUlMkMlMjBvdXRwdXQlM0QlMjJpbWFnZXMlMjIpJTVCMCU1RCUwQWltYWdlLnNhdmUoJTIybW9kdWFyX2lucGFpbnRfb3V0LnBuZyUyMik=",highlighted:`<span class="hljs-keyword">import</span> torch
<span class="hljs-keyword">from</span> diffusers.modular_pipelines <span class="hljs-keyword">import</span> SequentialPipelineBlocks
<span class="hljs-keyword">from</span> diffusers.modular_pipelines.stable_diffusion_xl <span class="hljs-keyword">import</span> INPAINT_BLOCKS
<span class="hljs-keyword">from</span> diffusers.utils <span class="hljs-keyword">import</span> load_image

blocks = SequentialPipelineBlocks.from_blocks_dict(INPAINT_BLOCKS)

modular_repo_id = <span class="hljs-string">&quot;YiYiXu/modular-loader-t2i-0704&quot;</span>
pipeline = blocks.init_pipeline(modular_repo_id)

pipeline.load_default_components(torch_dtype=torch.float16)
pipeline.to(<span class="hljs-string">&quot;cuda&quot;</span>)

img_url = <span class="hljs-string">&quot;https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/sdxl-text2img.png&quot;</span>
mask_url = <span class="hljs-string">&quot;https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/sdxl-inpaint-mask.png&quot;</span>

init_image = load_image(img_url)
mask_image = load_image(mask_url)

prompt = <span class="hljs-string">&quot;A deep sea diver floating&quot;</span>
image = pipeline(prompt=prompt, image=init_image, mask_image=mask_image, strength=<span class="hljs-number">0.85</span>, output=<span class="hljs-string">&quot;images&quot;</span>)[<span class="hljs-number">0</span>]
image.save(<span class="hljs-string">&quot;moduar_inpaint_out.png&quot;</span>)`,wrap:!1}}),{c(){u(n.$$.fragment)},l(a){f(n.$$.fragment,a)},m(a,m){M(n,a,m),c=!0},p:G,i(a){c||(y(n.$$.fragment,a),c=!0)},o(a){J(n.$$.fragment,a),c=!1},d(a){h(n,a)}}}function It(j){let n,c,a,m,i,r;return n=new Ve({props:{id:"example",option:"text-to-image",$$slots:{default:[xt]},$$scope:{ctx:j}}}),a=new Ve({props:{id:"example",option:"image-to-image",$$slots:{default:[Vt]},$$scope:{ctx:j}}}),i=new Ve({props:{id:"example",option:"inpainting",$$slots:{default:[vt]},$$scope:{ctx:j}}}),{c(){u(n.$$.fragment),c=p(),u(a.$$.fragment),m=p(),u(i.$$.fragment)},l(d){f(n.$$.fragment,d),c=o(d),f(a.$$.fragment,d),m=o(d),f(i.$$.fragment,d)},m(d,U){M(n,d,U),l(d,c,U),M(a,d,U),l(d,m,U),M(i,d,U),r=!0},p(d,U){const _={};U&2&&(_.$$scope={dirty:U,ctx:d}),n.$set(_);const g={};U&2&&(g.$$scope={dirty:U,ctx:d}),a.$set(g);const $={};U&2&&($.$$scope={dirty:U,ctx:d}),i.$set($)},i(d){r||(y(n.$$.fragment,d),y(a.$$.fragment,d),y(i.$$.fragment,d),r=!0)},o(d){J(n.$$.fragment,d),J(a.$$.fragment,d),J(i.$$.fragment,d),r=!1},d(d){d&&(t(c),t(m)),h(n,d),h(a,d),h(i,d)}}}function Rt(j){let n,c='Refer to the <a href="./components_manager">ComponentsManager</a> doc for more details about how it can help manage components across different workflows.';return{c(){n=b("p"),n.innerHTML=c},l(a){n=T(a,"P",{"data-svelte-h":!0}),w(n)!=="svelte-5nhw1d"&&(n.innerHTML=c)},m(a,m){l(a,n,m)},p:G,d(a){a&&t(n)}}}function Nt(j){let n,c='Use the <a href="/docs/diffusers/main/en/api/modular_diffusers/pipeline_blocks#diffusers.ModularPipelineBlocks.init_pipeline">init_pipeline()</a> method to create a <a href="/docs/diffusers/main/en/api/modular_diffusers/pipeline#diffusers.ModularPipeline">ModularPipeline</a> from the component and configuration specifications. This method loads the <em>specifications</em> from a <code>modular_model_index.json</code> file, but it doesn’t load the <em>models</em> yet.',a,m,i;return m=new Z({props:{code:"ZnJvbSUyMGRpZmZ1c2VycyUyMGltcG9ydCUyMENvbXBvbmVudHNNYW5hZ2VyJTBBZnJvbSUyMGRpZmZ1c2Vycy5tb2R1bGFyX3BpcGVsaW5lcyUyMGltcG9ydCUyMFNlcXVlbnRpYWxQaXBlbGluZUJsb2NrcyUwQWZyb20lMjBkaWZmdXNlcnMubW9kdWxhcl9waXBlbGluZXMuc3RhYmxlX2RpZmZ1c2lvbl94bCUyMGltcG9ydCUyMFRFWFQySU1BR0VfQkxPQ0tTJTBBJTBBdDJpX2Jsb2NrcyUyMCUzRCUyMFNlcXVlbnRpYWxQaXBlbGluZUJsb2Nrcy5mcm9tX2Jsb2Nrc19kaWN0KFRFWFQySU1BR0VfQkxPQ0tTKSUwQSUwQW1vZHVsYXJfcmVwb19pZCUyMCUzRCUyMCUyMllpWWlYdSUyRm1vZHVsYXItbG9hZGVyLXQyaS0wNzA0JTIyJTBBY29tcG9uZW50cyUyMCUzRCUyMENvbXBvbmVudHNNYW5hZ2VyKCklMEF0MmlfcGlwZWxpbmUlMjAlM0QlMjB0MmlfYmxvY2tzLmluaXRfcGlwZWxpbmUobW9kdWxhcl9yZXBvX2lkJTJDJTIwY29tcG9uZW50c19tYW5hZ2VyJTNEY29tcG9uZW50cyk=",highlighted:`<span class="hljs-keyword">from</span> diffusers <span class="hljs-keyword">import</span> ComponentsManager
<span class="hljs-keyword">from</span> diffusers.modular_pipelines <span class="hljs-keyword">import</span> SequentialPipelineBlocks
<span class="hljs-keyword">from</span> diffusers.modular_pipelines.stable_diffusion_xl <span class="hljs-keyword">import</span> TEXT2IMAGE_BLOCKS

t2i_blocks = SequentialPipelineBlocks.from_blocks_dict(TEXT2IMAGE_BLOCKS)

modular_repo_id = <span class="hljs-string">&quot;YiYiXu/modular-loader-t2i-0704&quot;</span>
components = ComponentsManager()
t2i_pipeline = t2i_blocks.init_pipeline(modular_repo_id, components_manager=components)`,wrap:!1}}),{c(){n=b("p"),n.innerHTML=c,a=p(),u(m.$$.fragment)},l(r){n=T(r,"P",{"data-svelte-h":!0}),w(n)!=="svelte-rrycn"&&(n.innerHTML=c),a=o(r),f(m.$$.fragment,r)},m(r,d){l(r,n,d),l(r,a,d),M(m,r,d),i=!0},p:G,i(r){i||(y(m.$$.fragment,r),i=!0)},o(r){J(m.$$.fragment,r),i=!1},d(r){r&&(t(n),t(a)),h(m,r)}}}function Yt(j){let n,c='The <a href="/docs/diffusers/main/en/api/modular_diffusers/pipeline#diffusers.ModularPipeline.from_pretrained">from_pretrained()</a> method creates a <a href="/docs/diffusers/main/en/api/modular_diffusers/pipeline#diffusers.ModularPipeline">ModularPipeline</a> from a modular repository on the Hub.',a,m,i,r,d='Add the <code>trust_remote_code</code> argument to load a custom <a href="/docs/diffusers/main/en/api/modular_diffusers/pipeline#diffusers.ModularPipeline">ModularPipeline</a>.',U,_,g;return m=new Z({props:{code:"ZnJvbSUyMGRpZmZ1c2VycyUyMGltcG9ydCUyME1vZHVsYXJQaXBlbGluZSUyQyUyMENvbXBvbmVudHNNYW5hZ2VyJTBBJTBBY29tcG9uZW50cyUyMCUzRCUyMENvbXBvbmVudHNNYW5hZ2VyKCklMEFwaXBlbGluZSUyMCUzRCUyME1vZHVsYXJQaXBlbGluZS5mcm9tX3ByZXRyYWluZWQoJTIyWWlZaVh1JTJGbW9kdWxhci1sb2FkZXItdDJpLTA3MDQlMjIlMkMlMjBjb21wb25lbnRzX21hbmFnZXIlM0Rjb21wb25lbnRzKQ==",highlighted:`<span class="hljs-keyword">from</span> diffusers <span class="hljs-keyword">import</span> ModularPipeline, ComponentsManager

components = ComponentsManager()
pipeline = ModularPipeline.from_pretrained(<span class="hljs-string">&quot;YiYiXu/modular-loader-t2i-0704&quot;</span>, components_manager=components)`,wrap:!1}}),_=new Z({props:{code:"ZnJvbSUyMGRpZmZ1c2VycyUyMGltcG9ydCUyME1vZHVsYXJQaXBlbGluZSUyQyUyMENvbXBvbmVudHNNYW5hZ2VyJTBBJTBBY29tcG9uZW50cyUyMCUzRCUyMENvbXBvbmVudHNNYW5hZ2VyKCklMEFtb2R1bGFyX3JlcG9faWQlMjAlM0QlMjAlMjJZaVlpWHUlMkZtb2R1bGFyLWRpZmZkaWZmLTA3MDQlMjIlMEFkaWZmZGlmZl9waXBlbGluZSUyMCUzRCUyME1vZHVsYXJQaXBlbGluZS5mcm9tX3ByZXRyYWluZWQobW9kdWxhcl9yZXBvX2lkJTJDJTIwdHJ1c3RfcmVtb3RlX2NvZGUlM0RUcnVlJTJDJTIwY29tcG9uZW50c19tYW5hZ2VyJTNEY29tcG9uZW50cyk=",highlighted:`<span class="hljs-keyword">from</span> diffusers <span class="hljs-keyword">import</span> ModularPipeline, ComponentsManager

components = ComponentsManager()
modular_repo_id = <span class="hljs-string">&quot;YiYiXu/modular-diffdiff-0704&quot;</span>
diffdiff_pipeline = ModularPipeline.from_pretrained(modular_repo_id, trust_remote_code=<span class="hljs-literal">True</span>, components_manager=components)`,wrap:!1}}),{c(){n=b("p"),n.innerHTML=c,a=p(),u(m.$$.fragment),i=p(),r=b("p"),r.innerHTML=d,U=p(),u(_.$$.fragment)},l($){n=T($,"P",{"data-svelte-h":!0}),w(n)!=="svelte-11rpnet"&&(n.innerHTML=c),a=o($),f(m.$$.fragment,$),i=o($),r=T($,"P",{"data-svelte-h":!0}),w(r)!=="svelte-19zxms2"&&(r.innerHTML=d),U=o($),f(_.$$.fragment,$)},m($,W){l($,n,W),l($,a,W),M(m,$,W),l($,i,W),l($,r,W),l($,U,W),M(_,$,W),g=!0},p:G,i($){g||(y(m.$$.fragment,$),y(_.$$.fragment,$),g=!0)},o($){J(m.$$.fragment,$),J(_.$$.fragment,$),g=!1},d($){$&&(t(n),t(a),t(i),t(r),t(U)),h(m,$),h(_,$)}}}function Qt(j){let n,c,a,m;return n=new Ve({props:{id:"create",option:"ModularPipelineBlocks",$$slots:{default:[Nt]},$$scope:{ctx:j}}}),a=new Ve({props:{id:"create",option:"from_pretrained",$$slots:{default:[Yt]},$$scope:{ctx:j}}}),{c(){u(n.$$.fragment),c=p(),u(a.$$.fragment)},l(i){f(n.$$.fragment,i),c=o(i),f(a.$$.fragment,i)},m(i,r){M(n,i,r),l(i,c,r),M(a,i,r),m=!0},p(i,r){const d={};r&2&&(d.$$scope={dirty:r,ctx:i}),n.$set(d);const U={};r&2&&(U.$$scope={dirty:r,ctx:i}),a.$set(U)},i(i){m||(y(n.$$.fragment,i),y(a.$$.fragment,i),m=!0)},o(i){J(n.$$.fragment,i),J(a.$$.fragment,i),m=!1},d(i){i&&t(c),h(n,i),h(a,i)}}}function zt(j){let n,c;return n=new Z({props:{code:"aW1wb3J0JTIwdG9yY2glMEElMEF0MmlfcGlwZWxpbmUubG9hZF9kZWZhdWx0X2NvbXBvbmVudHModG9yY2hfZHR5cGUlM0R0b3JjaC5mbG9hdDE2KSUwQXQyaV9waXBlbGluZS50byglMjJjdWRhJTIyKQ==",highlighted:`<span class="hljs-keyword">import</span> torch

t2i_pipeline.load_default_components(torch_dtype=torch.float16)
t2i_pipeline.to(<span class="hljs-string">&quot;cuda&quot;</span>)`,wrap:!1}}),{c(){u(n.$$.fragment)},l(a){f(n.$$.fragment,a)},m(a,m){M(n,a,m),c=!0},p:G,i(a){c||(y(n.$$.fragment,a),c=!0)},o(a){J(n.$$.fragment,a),c=!1},d(a){h(n,a)}}}function Ht(j){let n,c="The example below only loads the UNet and VAE.",a,m,i;return m=new Z({props:{code:"aW1wb3J0JTIwdG9yY2glMEElMEF0MmlfcGlwZWxpbmUubG9hZF9jb21wb25lbnRzKG5hbWVzJTNEJTVCJTIydW5ldCUyMiUyQyUyMCUyMnZhZSUyMiU1RCUyQyUyMHRvcmNoX2R0eXBlJTNEdG9yY2guZmxvYXQxNik=",highlighted:`<span class="hljs-keyword">import</span> torch

t2i_pipeline.load_components(names=[<span class="hljs-string">&quot;unet&quot;</span>, <span class="hljs-string">&quot;vae&quot;</span>], torch_dtype=torch.float16)`,wrap:!1}}),{c(){n=b("p"),n.textContent=c,a=p(),u(m.$$.fragment)},l(r){n=T(r,"P",{"data-svelte-h":!0}),w(n)!=="svelte-12gw1cx"&&(n.textContent=c),a=o(r),f(m.$$.fragment,r)},m(r,d){l(r,n,d),l(r,a,d),M(m,r,d),i=!0},p:G,i(r){i||(y(m.$$.fragment,r),i=!0)},o(r){J(m.$$.fragment,r),i=!1},d(r){r&&(t(n),t(a)),h(m,r)}}}function St(j){let n,c,a,m;return n=new Ve({props:{id:"load",option:"load_default_components",$$slots:{default:[zt]},$$scope:{ctx:j}}}),a=new Ve({props:{id:"load",option:"load_components",$$slots:{default:[Ht]},$$scope:{ctx:j}}}),{c(){u(n.$$.fragment),c=p(),u(a.$$.fragment)},l(i){f(n.$$.fragment,i),c=o(i),f(a.$$.fragment,i)},m(i,r){M(n,i,r),l(i,c,r),M(a,i,r),m=!0},p(i,r){const d={};r&2&&(d.$$scope={dirty:r,ctx:i}),n.$set(d);const U={};r&2&&(U.$$scope={dirty:r,ctx:i}),a.$set(U)},i(i){m||(y(n.$$.fragment,i),y(a.$$.fragment,i),m=!0)},o(i){J(n.$$.fragment,i),J(a.$$.fragment,i),m=!1},d(i){i&&t(c),h(n,i),h(a,i)}}}function Et(j){let n,c="A component may change from pretrained to config when updating a component. The component type is initially defined in a block’s <code>expected_components</code> field.";return{c(){n=b("p"),n.innerHTML=c},l(a){n=T(a,"P",{"data-svelte-h":!0}),w(n)!=="svelte-1t3fwfx"&&(n.innerHTML=c)},m(a,m){l(a,n,m)},p:G,d(a){a&&t(n)}}}function Ft(j){let n,c,a,m,i,r,d,U='<a href="/docs/diffusers/main/en/api/modular_diffusers/pipeline#diffusers.ModularPipeline">ModularPipeline</a> converts <a href="/docs/diffusers/main/en/api/modular_diffusers/pipeline_blocks#diffusers.ModularPipelineBlocks">ModularPipelineBlocks</a>’s into an executable pipeline that loads models and performs the computation steps defined in the block. It is the main interface for running a pipeline and it is very similar to the <a href="/docs/diffusers/main/en/api/pipelines/overview#diffusers.DiffusionPipeline">DiffusionPipeline</a> API.',_,g,$="The main difference is to include an expected <code>output</code> argument in the pipeline.",W,k,Ie,v,Hs='This guide will show you how to create a <a href="/docs/diffusers/main/en/api/modular_diffusers/pipeline#diffusers.ModularPipeline">ModularPipeline</a> and manage the components in it.',Re,I,Ne,R,Ss="Blocks are <code>InsertableDict</code> objects that can be inserted at specific positions, providing a flexible way to mix-and-match blocks.",Ye,N,Es="Use <code>insert()</code> on either the block class or <code>sub_blocks</code> attribute to add a block.",Qe,Y,ze,Q,Fs="Use <code>pop()</code> on either the block class or <code>sub_blocks</code> attribute to remove a block.",He,z,Se,H,Ls="Swap blocks by setting the existing block to the new block.",Ee,S,Fe,E,Le,F,qs='There are two ways to create a <a href="/docs/diffusers/main/en/api/modular_diffusers/pipeline#diffusers.ModularPipeline">ModularPipeline</a>. Assemble and create a pipeline from <a href="/docs/diffusers/main/en/api/modular_diffusers/pipeline_blocks#diffusers.ModularPipelineBlocks">ModularPipelineBlocks</a> or load an existing pipeline with <a href="/docs/diffusers/main/en/api/modular_diffusers/pipeline#diffusers.ModularPipeline.from_pretrained">from_pretrained()</a>.',qe,L,As='You should also initialize a <a href="/docs/diffusers/main/en/api/modular_diffusers/pipeline_components#diffusers.ComponentsManager">ComponentsManager</a> to handle device placement and memory and component management.',Ae,B,Pe,X,De,q,Ke,A,Ps='A <a href="/docs/diffusers/main/en/api/modular_diffusers/pipeline#diffusers.ModularPipeline">ModularPipeline</a> doesn’t automatically instantiate with components. It only loads the configuration and component specifications. You can load all components with <a href="/docs/diffusers/main/en/api/modular_diffusers/pipeline#diffusers.ModularPipeline.load_default_components">load_default_components()</a> or only load specific components with <a href="/docs/diffusers/main/en/api/modular_diffusers/pipeline#diffusers.ModularPipeline.load_components">load_components()</a>.',Oe,C,es,P,Ds="Print the pipeline to inspect the loaded pretrained components.",ss,D,ts,K,Ks="This should match the <code>modular_model_index.json</code> file from the modular repository a pipeline is initialized from. If a pipeline doesn’t need a component, it won’t be included even if it exists in the modular repository.",ls,O,Os="To modify where components are loaded from, edit the <code>modular_model_index.json</code> file in the repository and change it to your desired loading path. The example below loads a UNet from a different repository.",ns,ee,as,se,is,te,et="The pipeline properties below provide more information about which components are loaded.",ps,le,st="Use <code>component_names</code> to return all expected components.",os,ne,rs,ae,tt='Use <code>null_component_names</code> to return components that aren’t loaded yet. Load these components with <a href="/docs/diffusers/main/en/api/modular_diffusers/pipeline#diffusers.ModularPipeline.from_pretrained">from_pretrained()</a>.',ms,ie,cs,pe,lt="Use <code>pretrained_component_names</code> to return components that will be loaded from pretrained models.",ds,oe,us,re,nt="Use <code>config_component_names</code> to return components that are created with the default config (not loaded from a modular repository). Components from a config aren’t included because they are already initialized during pipeline creation. This is why they aren’t listed in <code>null_component_names</code>.",fs,me,Ms,ce,ys,de,at="Components may be updated depending on whether it is a <em>pretrained component</em> or a <em>config component</em>.",Js,x,hs,ue,it='A pretrained component is updated with <a href="/docs/diffusers/main/en/api/modular_diffusers/pipeline_components#diffusers.ComponentSpec">ComponentSpec</a> whereas a config component is updated by eihter passing the object directly or with <a href="/docs/diffusers/main/en/api/modular_diffusers/pipeline_components#diffusers.ComponentSpec">ComponentSpec</a>.',bs,fe,pt='The <a href="/docs/diffusers/main/en/api/modular_diffusers/pipeline_components#diffusers.ComponentSpec">ComponentSpec</a> shows <code>default_creation_method=&quot;from_pretrained&quot;</code> for a pretrained component shows <code>default_creation_method=&quot;from_config</code> for a config component.',Ts,Me,ot='To update a pretrained component, create a <a href="/docs/diffusers/main/en/api/modular_diffusers/pipeline_components#diffusers.ComponentSpec">ComponentSpec</a> with the name of the component and where to load it from. Use the <a href="/docs/diffusers/main/en/api/modular_diffusers/pipeline_components#diffusers.ComponentSpec.load">load()</a> method to load the component.',ws,ye,$s,Je,rt='The <a href="/docs/diffusers/main/en/api/modular_diffusers/pipeline#diffusers.ModularPipeline.update_components">update_components()</a> method replaces the component with a new one.',js,he,Us,be,mt="When a component is updated, the loading specifications are also updated in the pipeline config.",Zs,Te,_s,we,ct='When you use <a href="/docs/diffusers/main/en/api/modular_diffusers/pipeline_components#diffusers.ComponentSpec.load">load()</a>, the new component maintains its loading specifications. This makes it possible to extract the specification and recreate the component.',gs,$e,Ws,je,dt='The <a href="/docs/diffusers/main/en/api/modular_diffusers/pipeline#diffusers.ModularPipeline.get_component_spec">get_component_spec()</a> method gets a copy of the current component specification to modify or update.',Gs,Ue,ks,Ze,Bs,_e,ut="A repository is required if the pipeline blocks use <em>pretrained components</em>. The repository supplies loading specifications and metadata.",Xs,ge,ft='<a href="/docs/diffusers/main/en/api/modular_diffusers/pipeline#diffusers.ModularPipeline">ModularPipeline</a> specifically requires <em>modular repositories</em> (see <a href="https://huggingface.co/YiYiXu/modular-diffdiff" rel="nofollow">example repository</a>) which are more flexible than a typical repository. It contains a <code>modular_model_index.json</code> file containing the following 3 elements.',Cs,We,Mt="<li><code>library</code> and <code>class</code> shows which library the component was loaded from and it’s class. If <code>null</code>, the component hasn’t been loaded yet.</li> <li><code>loading_specs_dict</code> contains the information required to load the component such as the repository and subfolder it is loaded from.</li>",xs,Ge,yt="Unlike standard repositories, a modular repository can fetch components from different repositories based on the <code>loading_specs_dict</code>. Components don’t need to exist in the same repository.",Vs,ke,Jt='A modular repository may contain custom code for loading a <a href="/docs/diffusers/main/en/api/modular_diffusers/pipeline#diffusers.ModularPipeline">ModularPipeline</a>. This allows you to use specialized blocks that aren’t native to Diffusers.',vs,Be,Is,Xe,ht='The <a href="https://huggingface.co/YiYiXu/modular-diffdiff-0704/blob/main/config.json" rel="nofollow">config.json</a> file contains an <code>auto_map</code> key that points to where a custom block is defined in <code>block.py</code>.',Rs,Ce,Ns,xe,Ys,ve,Qs;return i=new V({props:{title:"ModularPipeline",local:"modularpipeline",headingTag:"h1"}}),k=new zs({props:{id:"example",options:["text-to-image","image-to-image","inpainting"],$$slots:{default:[It]},$$scope:{ctx:j}}}),I=new V({props:{title:"Adding blocks",local:"adding-blocks",headingTag:"h2"}}),Y=new Z({props:{code:"JTIzJTIwQkxPQ0tTJTIwaXMlMjBkaWN0JTIwb2YlMjBibG9jayUyMGNsYXNzZXMlMkMlMjB5b3UlMjBuZWVkJTIwdG8lMjBhZGQlMjBjbGFzcyUyMHRvJTIwaXQlMEFCTE9DS1MuaW5zZXJ0KCUyMmJsb2NrX25hbWUlMjIlMkMlMjBCbG9ja0NsYXNzJTJDJTIwaW5kZXgpJTBBJTIzJTIwc3ViX2Jsb2NrcyUyMGF0dHJpYnV0ZSUyMGNvbnRhaW5zJTIwaW5zdGFuY2UlMkMlMjBhZGQlMjBhJTIwYmxvY2slMjBpbnN0YW5jZSUyMHRvJTIwdGhlJTIwJTIwYXR0cmlidXRlJTBBdDJpX2Jsb2Nrcy5zdWJfYmxvY2tzLmluc2VydCglMjJibG9ja19uYW1lJTIyJTJDJTIwYmxvY2tfaW5zdGFuY2UlMkMlMjBpbmRleCk=",highlighted:`<span class="hljs-comment"># BLOCKS is dict of block classes, you need to add class to it</span>
BLOCKS.insert(<span class="hljs-string">&quot;block_name&quot;</span>, BlockClass, index)
<span class="hljs-comment"># sub_blocks attribute contains instance, add a block instance to the  attribute</span>
t2i_blocks.sub_blocks.insert(<span class="hljs-string">&quot;block_name&quot;</span>, block_instance, index)`,wrap:!1}}),z=new Z({props:{code:"JTIzJTIwcmVtb3ZlJTIwYSUyMGJsb2NrJTIwY2xhc3MlMjBmcm9tJTIwcHJlc2V0JTBBQkxPQ0tTLnBvcCglMjJ0ZXh0X2VuY29kZXIlMjIpJTBBJTIzJTIwc3BsaXQlMjBvdXQlMjBhJTIwYmxvY2slMjBpbnN0YW5jZSUyMG9uJTIwaXRzJTIwb3duJTBBdGV4dF9lbmNvZGVyX2Jsb2NrJTIwJTNEJTIwdDJpX2Jsb2Nrcy5zdWJfYmxvY2tzLnBvcCglMjJ0ZXh0X2VuY29kZXIlMjIp",highlighted:`<span class="hljs-comment"># remove a block class from preset</span>
BLOCKS.pop(<span class="hljs-string">&quot;text_encoder&quot;</span>)
<span class="hljs-comment"># split out a block instance on its own</span>
text_encoder_block = t2i_blocks.sub_blocks.pop(<span class="hljs-string">&quot;text_encoder&quot;</span>)`,wrap:!1}}),S=new Z({props:{code:"JTIzJTIwUmVwbGFjZSUyMGJsb2NrJTIwY2xhc3MlMjBpbiUyMHByZXNldCUwQUJMT0NLUyU1QiUyMnByZXBhcmVfbGF0ZW50cyUyMiU1RCUyMCUzRCUyMEN1c3RvbVByZXBhcmVMYXRlbnRzJTBBJTIzJTIwUmVwbGFjZSUyMGluJTIwc3ViX2Jsb2NrcyUyMGF0dHJpYnV0ZSUyMHVzaW5nJTIwYW4lMjBibG9jayUyMGluc3RhbmNlJTBBdDJpX2Jsb2Nrcy5zdWJfYmxvY2tzJTVCJTIycHJlcGFyZV9sYXRlbnRzJTIyJTVEJTIwJTNEJTIwQ3VzdG9tUHJlcGFyZUxhdGVudHMoKQ==",highlighted:`<span class="hljs-comment"># Replace block class in preset</span>
BLOCKS[<span class="hljs-string">&quot;prepare_latents&quot;</span>] = CustomPrepareLatents
<span class="hljs-comment"># Replace in sub_blocks attribute using an block instance</span>
t2i_blocks.sub_blocks[<span class="hljs-string">&quot;prepare_latents&quot;</span>] = CustomPrepareLatents()`,wrap:!1}}),E=new V({props:{title:"Creating a pipeline",local:"creating-a-pipeline",headingTag:"h2"}}),B=new _t({props:{warning:!1,$$slots:{default:[Rt]},$$scope:{ctx:j}}}),X=new zs({props:{id:"create",options:["ModularPipelineBlocks","from_pretrained"],$$slots:{default:[Qt]},$$scope:{ctx:j}}}),q=new V({props:{title:"Loading components",local:"loading-components",headingTag:"h2"}}),C=new zs({props:{id:"load",options:["load_default_components","load_components"],$$slots:{default:[St]},$$scope:{ctx:j}}}),D=new Z({props:{code:"dDJpX3BpcGVsaW5l",highlighted:"t2i_pipeline",wrap:!1}}),ee=new Z({props:{code:"JTIzJTIwb3JpZ2luYWwlMEElMjJ1bmV0JTIyJTNBJTIwJTVCJTBBJTIwJTIwbnVsbCUyQyUyMG51bGwlMkMlMEElMjAlMjAlN0IlMEElMjAlMjAlMjAlMjAlMjJyZXBvJTIyJTNBJTIwJTIyc3RhYmlsaXR5YWklMkZzdGFibGUtZGlmZnVzaW9uLXhsLWJhc2UtMS4wJTIyJTJDJTBBJTIwJTIwJTIwJTIwJTIyc3ViZm9sZGVyJTIyJTNBJTIwJTIydW5ldCUyMiUyQyUwQSUyMCUyMCUyMCUyMCUyMnZhcmlhbnQlMjIlM0ElMjAlMjJmcDE2JTIyJTBBJTIwJTIwJTdEJTBBJTVEJTBBJTBBJTIzJTIwbW9kaWZpZWQlMEElMjJ1bmV0JTIyJTNBJTIwJTVCJTBBJTIwJTIwbnVsbCUyQyUyMG51bGwlMkMlMEElMjAlMjAlN0IlMEElMjAlMjAlMjAlMjAlMjJyZXBvJTIyJTNBJTIwJTIyUnVuRGlmZnVzaW9uJTJGSnVnZ2VybmF1dC1YTC12OSUyMiUyQyUwQSUyMCUyMCUyMCUyMCUyMnN1YmZvbGRlciUyMiUzQSUyMCUyMnVuZXQlMjIlMkMlMEElMjAlMjAlMjAlMjAlMjJ2YXJpYW50JTIyJTNBJTIwJTIyZnAxNiUyMiUwQSUyMCUyMCU3RCUwQSU1RA==",highlighted:`# original
<span class="hljs-attr">&quot;unet&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">[</span>
  <span class="hljs-literal"><span class="hljs-keyword">null</span></span><span class="hljs-punctuation">,</span> <span class="hljs-literal"><span class="hljs-keyword">null</span></span><span class="hljs-punctuation">,</span>
  <span class="hljs-punctuation">{</span>
    <span class="hljs-attr">&quot;repo&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;stabilityai/stable-diffusion-xl-base-1.0&quot;</span><span class="hljs-punctuation">,</span>
    <span class="hljs-attr">&quot;subfolder&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;unet&quot;</span><span class="hljs-punctuation">,</span>
    <span class="hljs-attr">&quot;variant&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;fp16&quot;</span>
  <span class="hljs-punctuation">}</span>
<span class="hljs-punctuation">]</span>

# modified
<span class="hljs-attr">&quot;unet&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">[</span>
  <span class="hljs-literal"><span class="hljs-keyword">null</span></span><span class="hljs-punctuation">,</span> <span class="hljs-literal"><span class="hljs-keyword">null</span></span><span class="hljs-punctuation">,</span>
  <span class="hljs-punctuation">{</span>
    <span class="hljs-attr">&quot;repo&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;RunDiffusion/Juggernaut-XL-v9&quot;</span><span class="hljs-punctuation">,</span>
    <span class="hljs-attr">&quot;subfolder&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;unet&quot;</span><span class="hljs-punctuation">,</span>
    <span class="hljs-attr">&quot;variant&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;fp16&quot;</span>
  <span class="hljs-punctuation">}</span>
<span class="hljs-punctuation">]</span>`,wrap:!1}}),se=new V({props:{title:"Component loading status",local:"component-loading-status",headingTag:"h3"}}),ne=new Z({props:{code:"dDJpX3BpcGVsaW5lLmNvbXBvbmVudF9uYW1lcyUwQSU1Qid0ZXh0X2VuY29kZXInJTJDJTIwJ3RleHRfZW5jb2Rlcl8yJyUyQyUyMCd0b2tlbml6ZXInJTJDJTIwJ3Rva2VuaXplcl8yJyUyQyUyMCdndWlkZXInJTJDJTIwJ3NjaGVkdWxlciclMkMlMjAndW5ldCclMkMlMjAndmFlJyUyQyUyMCdpbWFnZV9wcm9jZXNzb3InJTVE",highlighted:`t2i_pipeline.component_names
[<span class="hljs-string">&#x27;text_encoder&#x27;</span>, <span class="hljs-string">&#x27;text_encoder_2&#x27;</span>, <span class="hljs-string">&#x27;tokenizer&#x27;</span>, <span class="hljs-string">&#x27;tokenizer_2&#x27;</span>, <span class="hljs-string">&#x27;guider&#x27;</span>, <span class="hljs-string">&#x27;scheduler&#x27;</span>, <span class="hljs-string">&#x27;unet&#x27;</span>, <span class="hljs-string">&#x27;vae&#x27;</span>, <span class="hljs-string">&#x27;image_processor&#x27;</span>]`,wrap:!1}}),ie=new Z({props:{code:"dDJpX3BpcGVsaW5lLm51bGxfY29tcG9uZW50X25hbWVzJTBBJTVCJ3RleHRfZW5jb2RlciclMkMlMjAndGV4dF9lbmNvZGVyXzInJTJDJTIwJ3Rva2VuaXplciclMkMlMjAndG9rZW5pemVyXzInJTJDJTIwJ3NjaGVkdWxlciclNUQ=",highlighted:`t2i_pipeline.null_component_names
[<span class="hljs-string">&#x27;text_encoder&#x27;</span>, <span class="hljs-string">&#x27;text_encoder_2&#x27;</span>, <span class="hljs-string">&#x27;tokenizer&#x27;</span>, <span class="hljs-string">&#x27;tokenizer_2&#x27;</span>, <span class="hljs-string">&#x27;scheduler&#x27;</span>]`,wrap:!1}}),oe=new Z({props:{code:"dDJpX3BpcGVsaW5lLnByZXRyYWluZWRfY29tcG9uZW50X25hbWVzJTBBJTVCJ3RleHRfZW5jb2RlciclMkMlMjAndGV4dF9lbmNvZGVyXzInJTJDJTIwJ3Rva2VuaXplciclMkMlMjAndG9rZW5pemVyXzInJTJDJTIwJ3NjaGVkdWxlciclMkMlMjAndW5ldCclMkMlMjAndmFlJyU1RA==",highlighted:`t2i_pipeline.pretrained_component_names
[<span class="hljs-string">&#x27;text_encoder&#x27;</span>, <span class="hljs-string">&#x27;text_encoder_2&#x27;</span>, <span class="hljs-string">&#x27;tokenizer&#x27;</span>, <span class="hljs-string">&#x27;tokenizer_2&#x27;</span>, <span class="hljs-string">&#x27;scheduler&#x27;</span>, <span class="hljs-string">&#x27;unet&#x27;</span>, <span class="hljs-string">&#x27;vae&#x27;</span>]`,wrap:!1}}),me=new Z({props:{code:"dDJpX3BpcGVsaW5lLmNvbmZpZ19jb21wb25lbnRfbmFtZXMlMEElNUInZ3VpZGVyJyUyQyUyMCdpbWFnZV9wcm9jZXNzb3InJTVE",highlighted:`t2i_pipeline.config_component_names
[<span class="hljs-string">&#x27;guider&#x27;</span>, <span class="hljs-string">&#x27;image_processor&#x27;</span>]`,wrap:!1}}),ce=new V({props:{title:"Updating components",local:"updating-components",headingTag:"h2"}}),x=new _t({props:{warning:!0,$$slots:{default:[Et]},$$scope:{ctx:j}}}),ye=new Z({props:{code:"ZnJvbSUyMGRpZmZ1c2VycyUyMGltcG9ydCUyMENvbXBvbmVudFNwZWMlMkMlMjBVTmV0MkRDb25kaXRpb25Nb2RlbCUwQSUwQXVuZXRfc3BlYyUyMCUzRCUyMENvbXBvbmVudFNwZWMobmFtZSUzRCUyMnVuZXQlMjIlMkN0eXBlX2hpbnQlM0RVTmV0MkRDb25kaXRpb25Nb2RlbCUyQyUyMHJlcG8lM0QlMjJzdGFiaWxpdHlhaSUyRnN0YWJsZS1kaWZmdXNpb24teGwtYmFzZS0xLjAlMjIlMkMlMjBzdWJmb2xkZXIlM0QlMjJ1bmV0JTIyJTJDJTIwdmFyaWFudCUzRCUyMmZwMTYlMjIpJTBBdW5ldCUyMCUzRCUyMHVuZXRfc3BlYy5sb2FkKHRvcmNoX2R0eXBlJTNEdG9yY2guZmxvYXQxNik=",highlighted:`<span class="hljs-keyword">from</span> diffusers <span class="hljs-keyword">import</span> ComponentSpec, UNet2DConditionModel

unet_spec = ComponentSpec(name=<span class="hljs-string">&quot;unet&quot;</span>,type_hint=UNet2DConditionModel, repo=<span class="hljs-string">&quot;stabilityai/stable-diffusion-xl-base-1.0&quot;</span>, subfolder=<span class="hljs-string">&quot;unet&quot;</span>, variant=<span class="hljs-string">&quot;fp16&quot;</span>)
unet = unet_spec.load(torch_dtype=torch.float16)`,wrap:!1}}),he=new Z({props:{code:"dDJpX3BpcGVsaW5lLnVwZGF0ZV9jb21wb25lbnRzKHVuZXQlM0R1bmV0Mik=",highlighted:"t2i_pipeline.update_components(unet=unet2)",wrap:!1}}),Te=new V({props:{title:"Component extraction and modification",local:"component-extraction-and-modification",headingTag:"h3"}}),$e=new Z({props:{code:"c3BlYyUyMCUzRCUyMENvbXBvbmVudFNwZWMuZnJvbV9jb21wb25lbnQoJTIydW5ldCUyMiUyQyUyMHVuZXQyKSUwQXNwZWMlMEFDb21wb25lbnRTcGVjKG5hbWUlM0QndW5ldCclMkMlMjB0eXBlX2hpbnQlM0QlM0NjbGFzcyUyMCdkaWZmdXNlcnMubW9kZWxzLnVuZXRzLnVuZXRfMmRfY29uZGl0aW9uLlVOZXQyRENvbmRpdGlvbk1vZGVsJyUzRSUyQyUyMGRlc2NyaXB0aW9uJTNETm9uZSUyQyUyMGNvbmZpZyUzRE5vbmUlMkMlMjByZXBvJTNEJ3N0YWJpbGl0eWFpJTJGc3RhYmxlLWRpZmZ1c2lvbi14bC1iYXNlLTEuMCclMkMlMjBzdWJmb2xkZXIlM0QndW5ldCclMkMlMjB2YXJpYW50JTNEJ2ZwMTYnJTJDJTIwcmV2aXNpb24lM0ROb25lJTJDJTIwZGVmYXVsdF9jcmVhdGlvbl9tZXRob2QlM0QnZnJvbV9wcmV0cmFpbmVkJyklMEF1bmV0Ml9yZWNyZWF0ZWQlMjAlM0QlMjBzcGVjLmxvYWQodG9yY2hfZHR5cGUlM0R0b3JjaC5mbG9hdDE2KQ==",highlighted:`spec = ComponentSpec.from_component(<span class="hljs-string">&quot;unet&quot;</span>, unet2)
spec
ComponentSpec(name=<span class="hljs-string">&#x27;unet&#x27;</span>, type_hint=&lt;<span class="hljs-keyword">class</span> <span class="hljs-string">&#x27;diffusers.models.unets.unet_2d_condition.UNet2DConditionModel&#x27;</span>&gt;, description=<span class="hljs-literal">None</span>, config=<span class="hljs-literal">None</span>, repo=<span class="hljs-string">&#x27;stabilityai/stable-diffusion-xl-base-1.0&#x27;</span>, subfolder=<span class="hljs-string">&#x27;unet&#x27;</span>, variant=<span class="hljs-string">&#x27;fp16&#x27;</span>, revision=<span class="hljs-literal">None</span>, default_creation_method=<span class="hljs-string">&#x27;from_pretrained&#x27;</span>)
unet2_recreated = spec.load(torch_dtype=torch.float16)`,wrap:!1}}),Ue=new Z({props:{code:"dW5ldF9zcGVjJTIwJTNEJTIwdDJpX3BpcGVsaW5lLmdldF9jb21wb25lbnRfc3BlYyglMjJ1bmV0JTIyKSUwQXVuZXRfc3BlYyUwQUNvbXBvbmVudFNwZWMoJTBBJTIwJTIwJTIwJTIwbmFtZSUzRCd1bmV0JyUyQyUwQSUyMCUyMCUyMCUyMHR5cGVfaGludCUzRCUzQ2NsYXNzJTIwJ2RpZmZ1c2Vycy5tb2RlbHMudW5ldHMudW5ldF8yZF9jb25kaXRpb24uVU5ldDJEQ29uZGl0aW9uTW9kZWwnJTNFJTJDJTBBJTIwJTIwJTIwJTIwcmVwbyUzRCdSdW5EaWZmdXNpb24lMkZKdWdnZXJuYXV0LVhMLXY5JyUyQyUwQSUyMCUyMCUyMCUyMHN1YmZvbGRlciUzRCd1bmV0JyUyQyUwQSUyMCUyMCUyMCUyMHZhcmlhbnQlM0QnZnAxNiclMkMlMEElMjAlMjAlMjAlMjBkZWZhdWx0X2NyZWF0aW9uX21ldGhvZCUzRCdmcm9tX3ByZXRyYWluZWQnJTBBKSUwQSUwQSUyMyUyMG1vZGlmeSUyMHRvJTIwbG9hZCUyMGZyb20lMjBhJTIwZGlmZmVyZW50JTIwcmVwb3NpdG9yeSUwQXVuZXRfc3BlYy5yZXBvJTIwJTNEJTIwJTIyc3RhYmlsaXR5YWklMkZzdGFibGUtZGlmZnVzaW9uLXhsLWJhc2UtMS4wJTIyJTBBJTBBJTIzJTIwbG9hZCUyMGNvbXBvbmVudCUyMHdpdGglMjBtb2RpZmllZCUyMHNwZWMlMEF1bmV0JTIwJTNEJTIwdW5ldF9zcGVjLmxvYWQodG9yY2hfZHR5cGUlM0R0b3JjaC5mbG9hdDE2KQ==",highlighted:`unet_spec = t2i_pipeline.get_component_spec(<span class="hljs-string">&quot;unet&quot;</span>)
unet_spec
ComponentSpec(
    name=<span class="hljs-string">&#x27;unet&#x27;</span>,
    type_hint=&lt;<span class="hljs-keyword">class</span> <span class="hljs-string">&#x27;diffusers.models.unets.unet_2d_condition.UNet2DConditionModel&#x27;</span>&gt;,
    repo=<span class="hljs-string">&#x27;RunDiffusion/Juggernaut-XL-v9&#x27;</span>,
    subfolder=<span class="hljs-string">&#x27;unet&#x27;</span>,
    variant=<span class="hljs-string">&#x27;fp16&#x27;</span>,
    default_creation_method=<span class="hljs-string">&#x27;from_pretrained&#x27;</span>
)

<span class="hljs-comment"># modify to load from a different repository</span>
unet_spec.repo = <span class="hljs-string">&quot;stabilityai/stable-diffusion-xl-base-1.0&quot;</span>

<span class="hljs-comment"># load component with modified spec</span>
unet = unet_spec.load(torch_dtype=torch.float16)`,wrap:!1}}),Ze=new V({props:{title:"Modular repository",local:"modular-repository",headingTag:"h2"}}),Be=new Z({props:{code:"bW9kdWxhci1kaWZmZGlmZi0wNzA0JTJGJTBBJUUyJTk0JTlDJUUyJTk0JTgwJUUyJTk0JTgwJTIwYmxvY2sucHklMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjMlMjBDdXN0b20lMjBwaXBlbGluZSUyMGJsb2NrcyUyMGltcGxlbWVudGF0aW9uJTBBJUUyJTk0JTlDJUUyJTk0JTgwJUUyJTk0JTgwJTIwY29uZmlnLmpzb24lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjMlMjBQaXBlbGluZSUyMGNvbmZpZ3VyYXRpb24lMjBhbmQlMjBhdXRvX21hcCUwQSVFMiU5NCU5NCVFMiU5NCU4MCVFMiU5NCU4MCUyMG1vZHVsYXJfbW9kZWxfaW5kZXguanNvbiUyMCUyMCUyMCUyMCUyMyUyMENvbXBvbmVudCUyMGxvYWRpbmclMjBzcGVjaWZpY2F0aW9ucw==",highlighted:`modular-<span class="hljs-keyword">diffdiff-0704/
</span>├── <span class="hljs-keyword">block.py </span>                   <span class="hljs-comment"># Custom pipeline blocks implementation</span>
├── <span class="hljs-built_in">config</span>.<span class="hljs-keyword">json </span>                <span class="hljs-comment"># Pipeline configuration and auto_map</span>
└── modular_model_index.<span class="hljs-keyword">json </span>   <span class="hljs-comment"># Component loading specifications</span>`,wrap:!1}}),Ce=new Z({props:{code:"JTdCJTBBJTIwJTIwJTIyX2NsYXNzX25hbWUlMjIlM0ElMjAlMjJEaWZmRGlmZkJsb2NrcyUyMiUyQyUwQSUyMCUyMCUyMmF1dG9fbWFwJTIyJTNBJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIyTW9kdWxhclBpcGVsaW5lQmxvY2tzJTIyJTNBJTIwJTIyYmxvY2suRGlmZkRpZmZCbG9ja3MlMjIlMEElMjAlMjAlN0QlMEElN0Q=",highlighted:`<span class="hljs-punctuation">{</span>
  <span class="hljs-attr">&quot;_class_name&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;DiffDiffBlocks&quot;</span><span class="hljs-punctuation">,</span>
  <span class="hljs-attr">&quot;auto_map&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">{</span>
    <span class="hljs-attr">&quot;ModularPipelineBlocks&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;block.DiffDiffBlocks&quot;</span>
  <span class="hljs-punctuation">}</span>
<span class="hljs-punctuation">}</span>`,wrap:!1}}),xe=new Ct({props:{source:"https://github.com/huggingface/diffusers/blob/main/docs/source/en/modular_diffusers/modular_pipeline.md"}}),{c(){n=b("meta"),c=p(),a=b("p"),m=p(),u(i.$$.fragment),r=p(),d=b("p"),d.innerHTML=U,_=p(),g=b("p"),g.innerHTML=$,W=p(),u(k.$$.fragment),Ie=p(),v=b("p"),v.innerHTML=Hs,Re=p(),u(I.$$.fragment),Ne=p(),R=b("p"),R.innerHTML=Ss,Ye=p(),N=b("p"),N.innerHTML=Es,Qe=p(),u(Y.$$.fragment),ze=p(),Q=b("p"),Q.innerHTML=Fs,He=p(),u(z.$$.fragment),Se=p(),H=b("p"),H.textContent=Ls,Ee=p(),u(S.$$.fragment),Fe=p(),u(E.$$.fragment),Le=p(),F=b("p"),F.innerHTML=qs,qe=p(),L=b("p"),L.innerHTML=As,Ae=p(),u(B.$$.fragment),Pe=p(),u(X.$$.fragment),De=p(),u(q.$$.fragment),Ke=p(),A=b("p"),A.innerHTML=Ps,Oe=p(),u(C.$$.fragment),es=p(),P=b("p"),P.textContent=Ds,ss=p(),u(D.$$.fragment),ts=p(),K=b("p"),K.innerHTML=Ks,ls=p(),O=b("p"),O.innerHTML=Os,ns=p(),u(ee.$$.fragment),as=p(),u(se.$$.fragment),is=p(),te=b("p"),te.textContent=et,ps=p(),le=b("p"),le.innerHTML=st,os=p(),u(ne.$$.fragment),rs=p(),ae=b("p"),ae.innerHTML=tt,ms=p(),u(ie.$$.fragment),cs=p(),pe=b("p"),pe.innerHTML=lt,ds=p(),u(oe.$$.fragment),us=p(),re=b("p"),re.innerHTML=nt,fs=p(),u(me.$$.fragment),Ms=p(),u(ce.$$.fragment),ys=p(),de=b("p"),de.innerHTML=at,Js=p(),u(x.$$.fragment),hs=p(),ue=b("p"),ue.innerHTML=it,bs=p(),fe=b("p"),fe.innerHTML=pt,Ts=p(),Me=b("p"),Me.innerHTML=ot,ws=p(),u(ye.$$.fragment),$s=p(),Je=b("p"),Je.innerHTML=rt,js=p(),u(he.$$.fragment),Us=p(),be=b("p"),be.textContent=mt,Zs=p(),u(Te.$$.fragment),_s=p(),we=b("p"),we.innerHTML=ct,gs=p(),u($e.$$.fragment),Ws=p(),je=b("p"),je.innerHTML=dt,Gs=p(),u(Ue.$$.fragment),ks=p(),u(Ze.$$.fragment),Bs=p(),_e=b("p"),_e.innerHTML=ut,Xs=p(),ge=b("p"),ge.innerHTML=ft,Cs=p(),We=b("ul"),We.innerHTML=Mt,xs=p(),Ge=b("p"),Ge.innerHTML=yt,Vs=p(),ke=b("p"),ke.innerHTML=Jt,vs=p(),u(Be.$$.fragment),Is=p(),Xe=b("p"),Xe.innerHTML=ht,Rs=p(),u(Ce.$$.fragment),Ns=p(),u(xe.$$.fragment),Ys=p(),ve=b("p"),this.h()},l(e){const s=Bt("svelte-u9bgzb",document.head);n=T(s,"META",{name:!0,content:!0}),s.forEach(t),c=o(e),a=T(e,"P",{}),Ut(a).forEach(t),m=o(e),f(i.$$.fragment,e),r=o(e),d=T(e,"P",{"data-svelte-h":!0}),w(d)!=="svelte-1m5w318"&&(d.innerHTML=U),_=o(e),g=T(e,"P",{"data-svelte-h":!0}),w(g)!=="svelte-i5jg24"&&(g.innerHTML=$),W=o(e),f(k.$$.fragment,e),Ie=o(e),v=T(e,"P",{"data-svelte-h":!0}),w(v)!=="svelte-6rrv95"&&(v.innerHTML=Hs),Re=o(e),f(I.$$.fragment,e),Ne=o(e),R=T(e,"P",{"data-svelte-h":!0}),w(R)!=="svelte-mujuz3"&&(R.innerHTML=Ss),Ye=o(e),N=T(e,"P",{"data-svelte-h":!0}),w(N)!=="svelte-zqhodf"&&(N.innerHTML=Es),Qe=o(e),f(Y.$$.fragment,e),ze=o(e),Q=T(e,"P",{"data-svelte-h":!0}),w(Q)!=="svelte-1ifd08m"&&(Q.innerHTML=Fs),He=o(e),f(z.$$.fragment,e),Se=o(e),H=T(e,"P",{"data-svelte-h":!0}),w(H)!=="svelte-1nq3m3c"&&(H.textContent=Ls),Ee=o(e),f(S.$$.fragment,e),Fe=o(e),f(E.$$.fragment,e),Le=o(e),F=T(e,"P",{"data-svelte-h":!0}),w(F)!=="svelte-m27xa5"&&(F.innerHTML=qs),qe=o(e),L=T(e,"P",{"data-svelte-h":!0}),w(L)!=="svelte-6mb94g"&&(L.innerHTML=As),Ae=o(e),f(B.$$.fragment,e),Pe=o(e),f(X.$$.fragment,e),De=o(e),f(q.$$.fragment,e),Ke=o(e),A=T(e,"P",{"data-svelte-h":!0}),w(A)!=="svelte-1epny62"&&(A.innerHTML=Ps),Oe=o(e),f(C.$$.fragment,e),es=o(e),P=T(e,"P",{"data-svelte-h":!0}),w(P)!=="svelte-1061sb5"&&(P.textContent=Ds),ss=o(e),f(D.$$.fragment,e),ts=o(e),K=T(e,"P",{"data-svelte-h":!0}),w(K)!=="svelte-dlvpfi"&&(K.innerHTML=Ks),ls=o(e),O=T(e,"P",{"data-svelte-h":!0}),w(O)!=="svelte-ze9gpp"&&(O.innerHTML=Os),ns=o(e),f(ee.$$.fragment,e),as=o(e),f(se.$$.fragment,e),is=o(e),te=T(e,"P",{"data-svelte-h":!0}),w(te)!=="svelte-tncgcu"&&(te.textContent=et),ps=o(e),le=T(e,"P",{"data-svelte-h":!0}),w(le)!=="svelte-1n7f6wy"&&(le.innerHTML=st),os=o(e),f(ne.$$.fragment,e),rs=o(e),ae=T(e,"P",{"data-svelte-h":!0}),w(ae)!=="svelte-12q9nz6"&&(ae.innerHTML=tt),ms=o(e),f(ie.$$.fragment,e),cs=o(e),pe=T(e,"P",{"data-svelte-h":!0}),w(pe)!=="svelte-186jghx"&&(pe.innerHTML=lt),ds=o(e),f(oe.$$.fragment,e),us=o(e),re=T(e,"P",{"data-svelte-h":!0}),w(re)!=="svelte-14wppcr"&&(re.innerHTML=nt),fs=o(e),f(me.$$.fragment,e),Ms=o(e),f(ce.$$.fragment,e),ys=o(e),de=T(e,"P",{"data-svelte-h":!0}),w(de)!=="svelte-10f47tp"&&(de.innerHTML=at),Js=o(e),f(x.$$.fragment,e),hs=o(e),ue=T(e,"P",{"data-svelte-h":!0}),w(ue)!=="svelte-6lbp1r"&&(ue.innerHTML=it),bs=o(e),fe=T(e,"P",{"data-svelte-h":!0}),w(fe)!=="svelte-11i7zfa"&&(fe.innerHTML=pt),Ts=o(e),Me=T(e,"P",{"data-svelte-h":!0}),w(Me)!=="svelte-1nqkxht"&&(Me.innerHTML=ot),ws=o(e),f(ye.$$.fragment,e),$s=o(e),Je=T(e,"P",{"data-svelte-h":!0}),w(Je)!=="svelte-pkrvtp"&&(Je.innerHTML=rt),js=o(e),f(he.$$.fragment,e),Us=o(e),be=T(e,"P",{"data-svelte-h":!0}),w(be)!=="svelte-1tjewkw"&&(be.textContent=mt),Zs=o(e),f(Te.$$.fragment,e),_s=o(e),we=T(e,"P",{"data-svelte-h":!0}),w(we)!=="svelte-19j06lv"&&(we.innerHTML=ct),gs=o(e),f($e.$$.fragment,e),Ws=o(e),je=T(e,"P",{"data-svelte-h":!0}),w(je)!=="svelte-18jvucs"&&(je.innerHTML=dt),Gs=o(e),f(Ue.$$.fragment,e),ks=o(e),f(Ze.$$.fragment,e),Bs=o(e),_e=T(e,"P",{"data-svelte-h":!0}),w(_e)!=="svelte-7e3y9a"&&(_e.innerHTML=ut),Xs=o(e),ge=T(e,"P",{"data-svelte-h":!0}),w(ge)!=="svelte-13gpg4p"&&(ge.innerHTML=ft),Cs=o(e),We=T(e,"UL",{"data-svelte-h":!0}),w(We)!=="svelte-1t814mj"&&(We.innerHTML=Mt),xs=o(e),Ge=T(e,"P",{"data-svelte-h":!0}),w(Ge)!=="svelte-278bgf"&&(Ge.innerHTML=yt),Vs=o(e),ke=T(e,"P",{"data-svelte-h":!0}),w(ke)!=="svelte-1n3gbmr"&&(ke.innerHTML=Jt),vs=o(e),f(Be.$$.fragment,e),Is=o(e),Xe=T(e,"P",{"data-svelte-h":!0}),w(Xe)!=="svelte-1o6htac"&&(Xe.innerHTML=ht),Rs=o(e),f(Ce.$$.fragment,e),Ns=o(e),f(xe.$$.fragment,e),Ys=o(e),ve=T(e,"P",{}),Ut(ve).forEach(t),this.h()},h(){Zt(n,"name","hf:doc:metadata"),Zt(n,"content",Lt)},m(e,s){Xt(document.head,n),l(e,c,s),l(e,a,s),l(e,m,s),M(i,e,s),l(e,r,s),l(e,d,s),l(e,_,s),l(e,g,s),l(e,W,s),M(k,e,s),l(e,Ie,s),l(e,v,s),l(e,Re,s),M(I,e,s),l(e,Ne,s),l(e,R,s),l(e,Ye,s),l(e,N,s),l(e,Qe,s),M(Y,e,s),l(e,ze,s),l(e,Q,s),l(e,He,s),M(z,e,s),l(e,Se,s),l(e,H,s),l(e,Ee,s),M(S,e,s),l(e,Fe,s),M(E,e,s),l(e,Le,s),l(e,F,s),l(e,qe,s),l(e,L,s),l(e,Ae,s),M(B,e,s),l(e,Pe,s),M(X,e,s),l(e,De,s),M(q,e,s),l(e,Ke,s),l(e,A,s),l(e,Oe,s),M(C,e,s),l(e,es,s),l(e,P,s),l(e,ss,s),M(D,e,s),l(e,ts,s),l(e,K,s),l(e,ls,s),l(e,O,s),l(e,ns,s),M(ee,e,s),l(e,as,s),M(se,e,s),l(e,is,s),l(e,te,s),l(e,ps,s),l(e,le,s),l(e,os,s),M(ne,e,s),l(e,rs,s),l(e,ae,s),l(e,ms,s),M(ie,e,s),l(e,cs,s),l(e,pe,s),l(e,ds,s),M(oe,e,s),l(e,us,s),l(e,re,s),l(e,fs,s),M(me,e,s),l(e,Ms,s),M(ce,e,s),l(e,ys,s),l(e,de,s),l(e,Js,s),M(x,e,s),l(e,hs,s),l(e,ue,s),l(e,bs,s),l(e,fe,s),l(e,Ts,s),l(e,Me,s),l(e,ws,s),M(ye,e,s),l(e,$s,s),l(e,Je,s),l(e,js,s),M(he,e,s),l(e,Us,s),l(e,be,s),l(e,Zs,s),M(Te,e,s),l(e,_s,s),l(e,we,s),l(e,gs,s),M($e,e,s),l(e,Ws,s),l(e,je,s),l(e,Gs,s),M(Ue,e,s),l(e,ks,s),M(Ze,e,s),l(e,Bs,s),l(e,_e,s),l(e,Xs,s),l(e,ge,s),l(e,Cs,s),l(e,We,s),l(e,xs,s),l(e,Ge,s),l(e,Vs,s),l(e,ke,s),l(e,vs,s),M(Be,e,s),l(e,Is,s),l(e,Xe,s),l(e,Rs,s),M(Ce,e,s),l(e,Ns,s),M(xe,e,s),l(e,Ys,s),l(e,ve,s),Qs=!0},p(e,[s]){const bt={};s&2&&(bt.$$scope={dirty:s,ctx:e}),k.$set(bt);const Tt={};s&2&&(Tt.$$scope={dirty:s,ctx:e}),B.$set(Tt);const wt={};s&2&&(wt.$$scope={dirty:s,ctx:e}),X.$set(wt);const $t={};s&2&&($t.$$scope={dirty:s,ctx:e}),C.$set($t);const jt={};s&2&&(jt.$$scope={dirty:s,ctx:e}),x.$set(jt)},i(e){Qs||(y(i.$$.fragment,e),y(k.$$.fragment,e),y(I.$$.fragment,e),y(Y.$$.fragment,e),y(z.$$.fragment,e),y(S.$$.fragment,e),y(E.$$.fragment,e),y(B.$$.fragment,e),y(X.$$.fragment,e),y(q.$$.fragment,e),y(C.$$.fragment,e),y(D.$$.fragment,e),y(ee.$$.fragment,e),y(se.$$.fragment,e),y(ne.$$.fragment,e),y(ie.$$.fragment,e),y(oe.$$.fragment,e),y(me.$$.fragment,e),y(ce.$$.fragment,e),y(x.$$.fragment,e),y(ye.$$.fragment,e),y(he.$$.fragment,e),y(Te.$$.fragment,e),y($e.$$.fragment,e),y(Ue.$$.fragment,e),y(Ze.$$.fragment,e),y(Be.$$.fragment,e),y(Ce.$$.fragment,e),y(xe.$$.fragment,e),Qs=!0)},o(e){J(i.$$.fragment,e),J(k.$$.fragment,e),J(I.$$.fragment,e),J(Y.$$.fragment,e),J(z.$$.fragment,e),J(S.$$.fragment,e),J(E.$$.fragment,e),J(B.$$.fragment,e),J(X.$$.fragment,e),J(q.$$.fragment,e),J(C.$$.fragment,e),J(D.$$.fragment,e),J(ee.$$.fragment,e),J(se.$$.fragment,e),J(ne.$$.fragment,e),J(ie.$$.fragment,e),J(oe.$$.fragment,e),J(me.$$.fragment,e),J(ce.$$.fragment,e),J(x.$$.fragment,e),J(ye.$$.fragment,e),J(he.$$.fragment,e),J(Te.$$.fragment,e),J($e.$$.fragment,e),J(Ue.$$.fragment,e),J(Ze.$$.fragment,e),J(Be.$$.fragment,e),J(Ce.$$.fragment,e),J(xe.$$.fragment,e),Qs=!1},d(e){e&&(t(c),t(a),t(m),t(r),t(d),t(_),t(g),t(W),t(Ie),t(v),t(Re),t(Ne),t(R),t(Ye),t(N),t(Qe),t(ze),t(Q),t(He),t(Se),t(H),t(Ee),t(Fe),t(Le),t(F),t(qe),t(L),t(Ae),t(Pe),t(De),t(Ke),t(A),t(Oe),t(es),t(P),t(ss),t(ts),t(K),t(ls),t(O),t(ns),t(as),t(is),t(te),t(ps),t(le),t(os),t(rs),t(ae),t(ms),t(cs),t(pe),t(ds),t(us),t(re),t(fs),t(Ms),t(ys),t(de),t(Js),t(hs),t(ue),t(bs),t(fe),t(Ts),t(Me),t(ws),t($s),t(Je),t(js),t(Us),t(be),t(Zs),t(_s),t(we),t(gs),t(Ws),t(je),t(Gs),t(ks),t(Bs),t(_e),t(Xs),t(ge),t(Cs),t(We),t(xs),t(Ge),t(Vs),t(ke),t(vs),t(Is),t(Xe),t(Rs),t(Ns),t(Ys),t(ve)),t(n),h(i,e),h(k,e),h(I,e),h(Y,e),h(z,e),h(S,e),h(E,e),h(B,e),h(X,e),h(q,e),h(C,e),h(D,e),h(ee,e),h(se,e),h(ne,e),h(ie,e),h(oe,e),h(me,e),h(ce,e),h(x,e),h(ye,e),h(he,e),h(Te,e),h($e,e),h(Ue,e),h(Ze,e),h(Be,e),h(Ce,e),h(xe,e)}}}const Lt='{"title":"ModularPipeline","local":"modularpipeline","sections":[{"title":"Adding blocks","local":"adding-blocks","sections":[],"depth":2},{"title":"Creating a pipeline","local":"creating-a-pipeline","sections":[],"depth":2},{"title":"Loading components","local":"loading-components","sections":[{"title":"Component loading status","local":"component-loading-status","sections":[],"depth":3}],"depth":2},{"title":"Updating components","local":"updating-components","sections":[{"title":"Component extraction and modification","local":"component-extraction-and-modification","sections":[],"depth":3}],"depth":2},{"title":"Modular repository","local":"modular-repository","sections":[],"depth":2}],"depth":1}';function qt(j){return Wt(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class sl extends Gt{constructor(n){super(),kt(this,n,qt,Ft,gt,{})}}export{sl as component};
