import{s as kt,o as Gt,n as Ve}from"../chunks/scheduler.53228c21.js";import{S as Wt,i as Bt,e as J,s as p,c as u,h as Ct,a as T,d as t,b as o,f as gt,g as f,j,k as Hs,l as xt,m as l,n as M,t as y,o as b,p as h}from"../chunks/index.100fac89.js";import{C as Xt}from"../chunks/CopyLLMTxtMenu.20a72e0e.js";import{C as U}from"../chunks/CodeBlock.d30a6509.js";import{H as X,E as Vt}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.4d82655d.js";import{H as Fs,a as Xe}from"../chunks/HfOption.fad27e59.js";function vt(_){let n,d;return n=new U({props:{code:"aW1wb3J0JTIwdG9yY2glMEFmcm9tJTIwZGlmZnVzZXJzLm1vZHVsYXJfcGlwZWxpbmVzJTIwaW1wb3J0JTIwU2VxdWVudGlhbFBpcGVsaW5lQmxvY2tzJTBBZnJvbSUyMGRpZmZ1c2Vycy5tb2R1bGFyX3BpcGVsaW5lcy5zdGFibGVfZGlmZnVzaW9uX3hsJTIwaW1wb3J0JTIwVEVYVDJJTUFHRV9CTE9DS1MlMEElMEFibG9ja3MlMjAlM0QlMjBTZXF1ZW50aWFsUGlwZWxpbmVCbG9ja3MuZnJvbV9ibG9ja3NfZGljdChURVhUMklNQUdFX0JMT0NLUyklMEElMEFtb2R1bGFyX3JlcG9faWQlMjAlM0QlMjAlMjJZaVlpWHUlMkZtb2R1bGFyLWxvYWRlci10MmktMDcwNCUyMiUwQXBpcGVsaW5lJTIwJTNEJTIwYmxvY2tzLmluaXRfcGlwZWxpbmUobW9kdWxhcl9yZXBvX2lkKSUwQSUwQXBpcGVsaW5lLmxvYWRfY29tcG9uZW50cyh0b3JjaF9kdHlwZSUzRHRvcmNoLmZsb2F0MTYpJTBBcGlwZWxpbmUudG8oJTIyY3VkYSUyMiklMEElMEFpbWFnZSUyMCUzRCUyMHBpcGVsaW5lKHByb21wdCUzRCUyMkFzdHJvbmF1dCUyMGluJTIwYSUyMGp1bmdsZSUyQyUyMGNvbGQlMjBjb2xvciUyMHBhbGV0dGUlMkMlMjBtdXRlZCUyMGNvbG9ycyUyQyUyMGRldGFpbGVkJTJDJTIwOGslMjIlMkMlMjBvdXRwdXQlM0QlMjJpbWFnZXMlMjIpJTVCMCU1RCUwQWltYWdlLnNhdmUoJTIybW9kdWxhcl90Mmlfb3V0LnBuZyUyMik=",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_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,c){M(n,a,c),d=!0},p:Ve,i(a){d||(y(n.$$.fragment,a),d=!0)},o(a){b(n.$$.fragment,a),d=!1},d(a){h(n,a)}}}function It(_){let n,d;return n=new U({props:{code:"aW1wb3J0JTIwdG9yY2glMEFmcm9tJTIwZGlmZnVzZXJzLm1vZHVsYXJfcGlwZWxpbmVzJTIwaW1wb3J0JTIwU2VxdWVudGlhbFBpcGVsaW5lQmxvY2tzJTBBZnJvbSUyMGRpZmZ1c2Vycy5tb2R1bGFyX3BpcGVsaW5lcy5zdGFibGVfZGlmZnVzaW9uX3hsJTIwaW1wb3J0JTIwSU1BR0UySU1BR0VfQkxPQ0tTJTBBJTBBYmxvY2tzJTIwJTNEJTIwU2VxdWVudGlhbFBpcGVsaW5lQmxvY2tzLmZyb21fYmxvY2tzX2RpY3QoSU1BR0UySU1BR0VfQkxPQ0tTKSUwQSUwQW1vZHVsYXJfcmVwb19pZCUyMCUzRCUyMCUyMllpWWlYdSUyRm1vZHVsYXItbG9hZGVyLXQyaS0wNzA0JTIyJTBBcGlwZWxpbmUlMjAlM0QlMjBibG9ja3MuaW5pdF9waXBlbGluZShtb2R1bGFyX3JlcG9faWQpJTBBJTBBcGlwZWxpbmUubG9hZF9jb21wb25lbnRzKHRvcmNoX2R0eXBlJTNEdG9yY2guZmxvYXQxNiklMEFwaXBlbGluZS50byglMjJjdWRhJTIyKSUwQSUwQXVybCUyMCUzRCUyMCUyMmh0dHBzJTNBJTJGJTJGaHVnZ2luZ2ZhY2UuY28lMkZkYXRhc2V0cyUyRmh1Z2dpbmdmYWNlJTJGZG9jdW1lbnRhdGlvbi1pbWFnZXMlMkZyZXNvbHZlJTJGbWFpbiUyRmRpZmZ1c2VycyUyRnNkeGwtdGV4dDJpbWcucG5nJTIyJTBBaW5pdF9pbWFnZSUyMCUzRCUyMGxvYWRfaW1hZ2UodXJsKSUwQXByb21wdCUyMCUzRCUyMCUyMmElMjBkb2clMjBjYXRjaGluZyUyMGElMjBmcmlzYmVlJTIwaW4lMjB0aGUlMjBqdW5nbGUlMjIlMEFpbWFnZSUyMCUzRCUyMHBpcGVsaW5lKHByb21wdCUzRHByb21wdCUyQyUyMGltYWdlJTNEaW5pdF9pbWFnZSUyQyUyMHN0cmVuZ3RoJTNEMC44JTJDJTIwb3V0cHV0JTNEJTIyaW1hZ2VzJTIyKSU1QjAlNUQlMEFpbWFnZS5zYXZlKCUyMm1vZHVsYXJfaTJpX291dC5wbmclMjIp",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_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,c){M(n,a,c),d=!0},p:Ve,i(a){d||(y(n.$$.fragment,a),d=!0)},o(a){b(n.$$.fragment,a),d=!1},d(a){h(n,a)}}}function Rt(_){let n,d;return n=new U({props:{code:"aW1wb3J0JTIwdG9yY2glMEFmcm9tJTIwZGlmZnVzZXJzLm1vZHVsYXJfcGlwZWxpbmVzJTIwaW1wb3J0JTIwU2VxdWVudGlhbFBpcGVsaW5lQmxvY2tzJTBBZnJvbSUyMGRpZmZ1c2Vycy5tb2R1bGFyX3BpcGVsaW5lcy5zdGFibGVfZGlmZnVzaW9uX3hsJTIwaW1wb3J0JTIwSU5QQUlOVF9CTE9DS1MlMEFmcm9tJTIwZGlmZnVzZXJzLnV0aWxzJTIwaW1wb3J0JTIwbG9hZF9pbWFnZSUwQSUwQWJsb2NrcyUyMCUzRCUyMFNlcXVlbnRpYWxQaXBlbGluZUJsb2Nrcy5mcm9tX2Jsb2Nrc19kaWN0KElOUEFJTlRfQkxPQ0tTKSUwQSUwQW1vZHVsYXJfcmVwb19pZCUyMCUzRCUyMCUyMllpWWlYdSUyRm1vZHVsYXItbG9hZGVyLXQyaS0wNzA0JTIyJTBBcGlwZWxpbmUlMjAlM0QlMjBibG9ja3MuaW5pdF9waXBlbGluZShtb2R1bGFyX3JlcG9faWQpJTBBJTBBcGlwZWxpbmUubG9hZF9jb21wb25lbnRzKHRvcmNoX2R0eXBlJTNEdG9yY2guZmxvYXQxNiklMEFwaXBlbGluZS50byglMjJjdWRhJTIyKSUwQSUwQWltZ191cmwlMjAlM0QlMjAlMjJodHRwcyUzQSUyRiUyRmh1Z2dpbmdmYWNlLmNvJTJGZGF0YXNldHMlMkZodWdnaW5nZmFjZSUyRmRvY3VtZW50YXRpb24taW1hZ2VzJTJGcmVzb2x2ZSUyRm1haW4lMkZkaWZmdXNlcnMlMkZzZHhsLXRleHQyaW1nLnBuZyUyMiUwQW1hc2tfdXJsJTIwJTNEJTIwJTIyaHR0cHMlM0ElMkYlMkZodWdnaW5nZmFjZS5jbyUyRmRhdGFzZXRzJTJGaHVnZ2luZ2ZhY2UlMkZkb2N1bWVudGF0aW9uLWltYWdlcyUyRnJlc29sdmUlMkZtYWluJTJGZGlmZnVzZXJzJTJGc2R4bC1pbnBhaW50LW1hc2sucG5nJTIyJTBBJTBBaW5pdF9pbWFnZSUyMCUzRCUyMGxvYWRfaW1hZ2UoaW1nX3VybCklMEFtYXNrX2ltYWdlJTIwJTNEJTIwbG9hZF9pbWFnZShtYXNrX3VybCklMEElMEFwcm9tcHQlMjAlM0QlMjAlMjJBJTIwZGVlcCUyMHNlYSUyMGRpdmVyJTIwZmxvYXRpbmclMjIlMEFpbWFnZSUyMCUzRCUyMHBpcGVsaW5lKHByb21wdCUzRHByb21wdCUyQyUyMGltYWdlJTNEaW5pdF9pbWFnZSUyQyUyMG1hc2tfaW1hZ2UlM0RtYXNrX2ltYWdlJTJDJTIwc3RyZW5ndGglM0QwLjg1JTJDJTIwb3V0cHV0JTNEJTIyaW1hZ2VzJTIyKSU1QjAlNUQlMEFpbWFnZS5zYXZlKCUyMm1vZHVhcl9pbnBhaW50X291dC5wbmclMjIp",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_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,c){M(n,a,c),d=!0},p:Ve,i(a){d||(y(n.$$.fragment,a),d=!0)},o(a){b(n.$$.fragment,a),d=!1},d(a){h(n,a)}}}function Yt(_){let n,d,a,c,i,r;return n=new Xe({props:{id:"example",option:"text-to-image",$$slots:{default:[vt]},$$scope:{ctx:_}}}),a=new Xe({props:{id:"example",option:"image-to-image",$$slots:{default:[It]},$$scope:{ctx:_}}}),i=new Xe({props:{id:"example",option:"inpainting",$$slots:{default:[Rt]},$$scope:{ctx:_}}}),{c(){u(n.$$.fragment),d=p(),u(a.$$.fragment),c=p(),u(i.$$.fragment)},l(m){f(n.$$.fragment,m),d=o(m),f(a.$$.fragment,m),c=o(m),f(i.$$.fragment,m)},m(m,$){M(n,m,$),l(m,d,$),M(a,m,$),l(m,c,$),M(i,m,$),r=!0},p(m,$){const Z={};$&2&&(Z.$$scope={dirty:$,ctx:m}),n.$set(Z);const k={};$&2&&(k.$$scope={dirty:$,ctx:m}),a.$set(k);const w={};$&2&&(w.$$scope={dirty:$,ctx:m}),i.$set(w)},i(m){r||(y(n.$$.fragment,m),y(a.$$.fragment,m),y(i.$$.fragment,m),r=!0)},o(m){b(n.$$.fragment,m),b(a.$$.fragment,m),b(i.$$.fragment,m),r=!1},d(m){m&&(t(d),t(c)),h(n,m),h(a,m),h(i,m)}}}function Nt(_){let n,d='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,c,i;return c=new U({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=J("p"),n.innerHTML=d,a=p(),u(c.$$.fragment)},l(r){n=T(r,"P",{"data-svelte-h":!0}),j(n)!=="svelte-rrycn"&&(n.innerHTML=d),a=o(r),f(c.$$.fragment,r)},m(r,m){l(r,n,m),l(r,a,m),M(c,r,m),i=!0},p:Ve,i(r){i||(y(c.$$.fragment,r),i=!0)},o(r){b(c.$$.fragment,r),i=!1},d(r){r&&(t(n),t(a)),h(c,r)}}}function Qt(_){let n,d='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,c,i,r,m='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>.',$,Z,k;return c=new U({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}}),Z=new U({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=J("p"),n.innerHTML=d,a=p(),u(c.$$.fragment),i=p(),r=J("p"),r.innerHTML=m,$=p(),u(Z.$$.fragment)},l(w){n=T(w,"P",{"data-svelte-h":!0}),j(n)!=="svelte-11rpnet"&&(n.innerHTML=d),a=o(w),f(c.$$.fragment,w),i=o(w),r=T(w,"P",{"data-svelte-h":!0}),j(r)!=="svelte-19zxms2"&&(r.innerHTML=m),$=o(w),f(Z.$$.fragment,w)},m(w,g){l(w,n,g),l(w,a,g),M(c,w,g),l(w,i,g),l(w,r,g),l(w,$,g),M(Z,w,g),k=!0},p:Ve,i(w){k||(y(c.$$.fragment,w),y(Z.$$.fragment,w),k=!0)},o(w){b(c.$$.fragment,w),b(Z.$$.fragment,w),k=!1},d(w){w&&(t(n),t(a),t(i),t(r),t($)),h(c,w),h(Z,w)}}}function zt(_){let n,d,a,c;return n=new Xe({props:{id:"create",option:"ModularPipelineBlocks",$$slots:{default:[Nt]},$$scope:{ctx:_}}}),a=new Xe({props:{id:"create",option:"from_pretrained",$$slots:{default:[Qt]},$$scope:{ctx:_}}}),{c(){u(n.$$.fragment),d=p(),u(a.$$.fragment)},l(i){f(n.$$.fragment,i),d=o(i),f(a.$$.fragment,i)},m(i,r){M(n,i,r),l(i,d,r),M(a,i,r),c=!0},p(i,r){const m={};r&2&&(m.$$scope={dirty:r,ctx:i}),n.$set(m);const $={};r&2&&($.$$scope={dirty:r,ctx:i}),a.$set($)},i(i){c||(y(n.$$.fragment,i),y(a.$$.fragment,i),c=!0)},o(i){b(n.$$.fragment,i),b(a.$$.fragment,i),c=!1},d(i){i&&t(d),h(n,i),h(a,i)}}}function Ht(_){let n,d;return n=new U({props:{code:"aW1wb3J0JTIwdG9yY2glMEElMEF0MmlfcGlwZWxpbmUubG9hZF9jb21wb25lbnRzKHRvcmNoX2R0eXBlJTNEdG9yY2guZmxvYXQxNiklMEF0MmlfcGlwZWxpbmUudG8oJTIyY3VkYSUyMik=",highlighted:`<span class="hljs-keyword">import</span> torch

t2i_pipeline.load_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,c){M(n,a,c),d=!0},p:Ve,i(a){d||(y(n.$$.fragment,a),d=!0)},o(a){b(n.$$.fragment,a),d=!1},d(a){h(n,a)}}}function Ft(_){let n,d="The example below only loads the UNet and VAE.",a,c,i;return c=new U({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=J("p"),n.textContent=d,a=p(),u(c.$$.fragment)},l(r){n=T(r,"P",{"data-svelte-h":!0}),j(n)!=="svelte-12gw1cx"&&(n.textContent=d),a=o(r),f(c.$$.fragment,r)},m(r,m){l(r,n,m),l(r,a,m),M(c,r,m),i=!0},p:Ve,i(r){i||(y(c.$$.fragment,r),i=!0)},o(r){b(c.$$.fragment,r),i=!1},d(r){r&&(t(n),t(a)),h(c,r)}}}function Et(_){let n,d,a,c;return n=new Xe({props:{id:"load",option:"load_components",$$slots:{default:[Ht]},$$scope:{ctx:_}}}),a=new Xe({props:{id:"load",option:"load_components",$$slots:{default:[Ft]},$$scope:{ctx:_}}}),{c(){u(n.$$.fragment),d=p(),u(a.$$.fragment)},l(i){f(n.$$.fragment,i),d=o(i),f(a.$$.fragment,i)},m(i,r){M(n,i,r),l(i,d,r),M(a,i,r),c=!0},p(i,r){const m={};r&2&&(m.$$scope={dirty:r,ctx:i}),n.$set(m);const $={};r&2&&($.$$scope={dirty:r,ctx:i}),a.$set($)},i(i){c||(y(n.$$.fragment,i),y(a.$$.fragment,i),c=!0)},o(i){b(n.$$.fragment,i),b(a.$$.fragment,i),c=!1},d(i){i&&t(d),h(n,i),h(a,i)}}}function St(_){let n,d,a,c,i,r,m,$,Z,k='<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.',w,g,Es="The main difference is to include an expected <code>output</code> argument in the pipeline.",Ie,G,Re,V,Ss='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.',Ye,v,Ne,I,Ls="Blocks are <code>InsertableDict</code> objects that can be inserted at specific positions, providing a flexible way to mix-and-match blocks.",Qe,R,qs="Use <code>insert()</code> on either the block class or <code>sub_blocks</code> attribute to add a block.",ze,Y,He,N,As="Use <code>pop()</code> on either the block class or <code>sub_blocks</code> attribute to remove a block.",Fe,Q,Ee,z,Ps="Swap blocks by setting the existing block to the new block.",Se,H,Le,F,qe,E,Ds='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>.',Ae,S,Ks='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.',Pe,W,Os='<p>Refer to the <a href="./components_manager">ComponentsManager</a> doc for more details about how it can help manage components across different workflows.</p>',De,B,Ke,L,Oe,q,et='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_components">load_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>.',es,C,ss,A,st="Print the pipeline to inspect the loaded pretrained components.",ts,P,ls,D,tt="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.",ns,K,lt="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.",as,O,is,ee,ps,se,nt="The pipeline properties below provide more information about which components are loaded.",os,te,at="Use <code>component_names</code> to return all expected components.",rs,le,ms,ne,it='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>.',cs,ae,ds,ie,pt="Use <code>pretrained_component_names</code> to return components that will be loaded from pretrained models.",us,pe,fs,oe,ot="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>.",Ms,re,ys,me,bs,ce,rt="Components may be updated depending on whether it is a <em>pretrained component</em> or a <em>config component</em>.",hs,x,mt="<p>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.</p>",Js,de,ct='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>.',Ts,ue,dt='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.',js,fe,ut='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,Me,$s,ye,ft='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.',Us,be,_s,he,Mt="When a component is updated, the loading specifications are also updated in the pipeline config.",Zs,Je,gs,Te,yt='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.',ks,je,Gs,we,bt='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.',Ws,$e,Bs,Ue,Cs,_e,ht="A repository is required if the pipeline blocks use <em>pretrained components</em>. The repository supplies loading specifications and metadata.",xs,Ze,Jt='<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.',Xs,ge,Tt="<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>",Vs,ke,jt="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,Ge,wt='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.',Is,We,Rs,Be,$t='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>.',Ys,Ce,Ns,xe,Qs,ve,zs;return i=new Xt({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),m=new X({props:{title:"ModularPipeline",local:"modularpipeline",headingTag:"h1"}}),G=new Fs({props:{id:"example",options:["text-to-image","image-to-image","inpainting"],$$slots:{default:[Yt]},$$scope:{ctx:_}}}),v=new X({props:{title:"Adding blocks",local:"adding-blocks",headingTag:"h2"}}),Y=new U({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}}),Q=new U({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}}),H=new U({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}}),F=new X({props:{title:"Creating a pipeline",local:"creating-a-pipeline",headingTag:"h2"}}),B=new Fs({props:{id:"create",options:["ModularPipelineBlocks","from_pretrained"],$$slots:{default:[zt]},$$scope:{ctx:_}}}),L=new X({props:{title:"Loading components",local:"loading-components",headingTag:"h2"}}),C=new Fs({props:{id:"load",options:["load_components","load_components"],$$slots:{default:[Et]},$$scope:{ctx:_}}}),P=new U({props:{code:"dDJpX3BpcGVsaW5l",highlighted:"t2i_pipeline",wrap:!1}}),O=new U({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}}),ee=new X({props:{title:"Component loading status",local:"component-loading-status",headingTag:"h3"}}),le=new U({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}}),ae=new U({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}}),pe=new U({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}}),re=new U({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}}),me=new X({props:{title:"Updating components",local:"updating-components",headingTag:"h2"}}),Me=new U({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}}),be=new U({props:{code:"dDJpX3BpcGVsaW5lLnVwZGF0ZV9jb21wb25lbnRzKHVuZXQlM0R1bmV0Mik=",highlighted:"t2i_pipeline.update_components(unet=unet2)",wrap:!1}}),Je=new X({props:{title:"Component extraction and modification",local:"component-extraction-and-modification",headingTag:"h3"}}),je=new U({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}}),$e=new U({props:{code:"dW5ldF9zcGVjJTIwJTNEJTIwdDJpX3BpcGVsaW5lLmdldF9jb21wb25lbnRfc3BlYyglMjJ1bmV0JTIyKSUwQXVuZXRfc3BlYyUwQUNvbXBvbmVudFNwZWMoJTBBJTIwJTIwJTIwJTIwbmFtZSUzRCd1bmV0JyUyQyUwQSUyMCUyMCUyMCUyMHR5cGVfaGludCUzRCUzQ2NsYXNzJTIwJ2RpZmZ1c2Vycy5tb2RlbHMudW5ldHMudW5ldF8yZF9jb25kaXRpb24uVU5ldDJEQ29uZGl0aW9uTW9kZWwnJTNFJTJDJTBBJTIwJTIwJTIwJTIwcHJldHJhaW5lZF9tb2RlbF9uYW1lX29yX3BhdGglM0QnUnVuRGlmZnVzaW9uJTJGSnVnZ2VybmF1dC1YTC12OSclMkMlMEElMjAlMjAlMjAlMjBzdWJmb2xkZXIlM0QndW5ldCclMkMlMEElMjAlMjAlMjAlMjB2YXJpYW50JTNEJ2ZwMTYnJTJDJTBBJTIwJTIwJTIwJTIwZGVmYXVsdF9jcmVhdGlvbl9tZXRob2QlM0QnZnJvbV9wcmV0cmFpbmVkJyUwQSklMEElMEElMjMlMjBtb2RpZnklMjB0byUyMGxvYWQlMjBmcm9tJTIwYSUyMGRpZmZlcmVudCUyMHJlcG9zaXRvcnklMEF1bmV0X3NwZWMucHJldHJhaW5lZF9tb2RlbF9uYW1lX29yX3BhdGglMjAlM0QlMjAlMjJzdGFiaWxpdHlhaSUyRnN0YWJsZS1kaWZmdXNpb24teGwtYmFzZS0xLjAlMjIlMEElMEElMjMlMjBsb2FkJTIwY29tcG9uZW50JTIwd2l0aCUyMG1vZGlmaWVkJTIwc3BlYyUwQXVuZXQlMjAlM0QlMjB1bmV0X3NwZWMubG9hZCh0b3JjaF9kdHlwZSUzRHRvcmNoLmZsb2F0MTYp",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;,
    pretrained_model_name_or_path=<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.pretrained_model_name_or_path = <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}}),Ue=new X({props:{title:"Modular repository",local:"modular-repository",headingTag:"h2"}}),We=new U({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 U({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 Vt({props:{source:"https://github.com/huggingface/diffusers/blob/main/docs/source/en/modular_diffusers/modular_pipeline.md"}}),{c(){n=J("meta"),d=p(),a=J("p"),c=p(),u(i.$$.fragment),r=p(),u(m.$$.fragment),$=p(),Z=J("p"),Z.innerHTML=k,w=p(),g=J("p"),g.innerHTML=Es,Ie=p(),u(G.$$.fragment),Re=p(),V=J("p"),V.innerHTML=Ss,Ye=p(),u(v.$$.fragment),Ne=p(),I=J("p"),I.innerHTML=Ls,Qe=p(),R=J("p"),R.innerHTML=qs,ze=p(),u(Y.$$.fragment),He=p(),N=J("p"),N.innerHTML=As,Fe=p(),u(Q.$$.fragment),Ee=p(),z=J("p"),z.textContent=Ps,Se=p(),u(H.$$.fragment),Le=p(),u(F.$$.fragment),qe=p(),E=J("p"),E.innerHTML=Ds,Ae=p(),S=J("p"),S.innerHTML=Ks,Pe=p(),W=J("blockquote"),W.innerHTML=Os,De=p(),u(B.$$.fragment),Ke=p(),u(L.$$.fragment),Oe=p(),q=J("p"),q.innerHTML=et,es=p(),u(C.$$.fragment),ss=p(),A=J("p"),A.textContent=st,ts=p(),u(P.$$.fragment),ls=p(),D=J("p"),D.innerHTML=tt,ns=p(),K=J("p"),K.innerHTML=lt,as=p(),u(O.$$.fragment),is=p(),u(ee.$$.fragment),ps=p(),se=J("p"),se.textContent=nt,os=p(),te=J("p"),te.innerHTML=at,rs=p(),u(le.$$.fragment),ms=p(),ne=J("p"),ne.innerHTML=it,cs=p(),u(ae.$$.fragment),ds=p(),ie=J("p"),ie.innerHTML=pt,us=p(),u(pe.$$.fragment),fs=p(),oe=J("p"),oe.innerHTML=ot,Ms=p(),u(re.$$.fragment),ys=p(),u(me.$$.fragment),bs=p(),ce=J("p"),ce.innerHTML=rt,hs=p(),x=J("blockquote"),x.innerHTML=mt,Js=p(),de=J("p"),de.innerHTML=ct,Ts=p(),ue=J("p"),ue.innerHTML=dt,js=p(),fe=J("p"),fe.innerHTML=ut,ws=p(),u(Me.$$.fragment),$s=p(),ye=J("p"),ye.innerHTML=ft,Us=p(),u(be.$$.fragment),_s=p(),he=J("p"),he.textContent=Mt,Zs=p(),u(Je.$$.fragment),gs=p(),Te=J("p"),Te.innerHTML=yt,ks=p(),u(je.$$.fragment),Gs=p(),we=J("p"),we.innerHTML=bt,Ws=p(),u($e.$$.fragment),Bs=p(),u(Ue.$$.fragment),Cs=p(),_e=J("p"),_e.innerHTML=ht,xs=p(),Ze=J("p"),Ze.innerHTML=Jt,Xs=p(),ge=J("ul"),ge.innerHTML=Tt,Vs=p(),ke=J("p"),ke.innerHTML=jt,vs=p(),Ge=J("p"),Ge.innerHTML=wt,Is=p(),u(We.$$.fragment),Rs=p(),Be=J("p"),Be.innerHTML=$t,Ys=p(),u(Ce.$$.fragment),Ns=p(),u(xe.$$.fragment),Qs=p(),ve=J("p"),this.h()},l(e){const s=Ct("svelte-u9bgzb",document.head);n=T(s,"META",{name:!0,content:!0}),s.forEach(t),d=o(e),a=T(e,"P",{}),gt(a).forEach(t),c=o(e),f(i.$$.fragment,e),r=o(e),f(m.$$.fragment,e),$=o(e),Z=T(e,"P",{"data-svelte-h":!0}),j(Z)!=="svelte-1m5w318"&&(Z.innerHTML=k),w=o(e),g=T(e,"P",{"data-svelte-h":!0}),j(g)!=="svelte-i5jg24"&&(g.innerHTML=Es),Ie=o(e),f(G.$$.fragment,e),Re=o(e),V=T(e,"P",{"data-svelte-h":!0}),j(V)!=="svelte-6rrv95"&&(V.innerHTML=Ss),Ye=o(e),f(v.$$.fragment,e),Ne=o(e),I=T(e,"P",{"data-svelte-h":!0}),j(I)!=="svelte-mujuz3"&&(I.innerHTML=Ls),Qe=o(e),R=T(e,"P",{"data-svelte-h":!0}),j(R)!=="svelte-zqhodf"&&(R.innerHTML=qs),ze=o(e),f(Y.$$.fragment,e),He=o(e),N=T(e,"P",{"data-svelte-h":!0}),j(N)!=="svelte-1ifd08m"&&(N.innerHTML=As),Fe=o(e),f(Q.$$.fragment,e),Ee=o(e),z=T(e,"P",{"data-svelte-h":!0}),j(z)!=="svelte-1nq3m3c"&&(z.textContent=Ps),Se=o(e),f(H.$$.fragment,e),Le=o(e),f(F.$$.fragment,e),qe=o(e),E=T(e,"P",{"data-svelte-h":!0}),j(E)!=="svelte-m27xa5"&&(E.innerHTML=Ds),Ae=o(e),S=T(e,"P",{"data-svelte-h":!0}),j(S)!=="svelte-6mb94g"&&(S.innerHTML=Ks),Pe=o(e),W=T(e,"BLOCKQUOTE",{class:!0,"data-svelte-h":!0}),j(W)!=="svelte-1u0il4y"&&(W.innerHTML=Os),De=o(e),f(B.$$.fragment,e),Ke=o(e),f(L.$$.fragment,e),Oe=o(e),q=T(e,"P",{"data-svelte-h":!0}),j(q)!=="svelte-grw516"&&(q.innerHTML=et),es=o(e),f(C.$$.fragment,e),ss=o(e),A=T(e,"P",{"data-svelte-h":!0}),j(A)!=="svelte-1061sb5"&&(A.textContent=st),ts=o(e),f(P.$$.fragment,e),ls=o(e),D=T(e,"P",{"data-svelte-h":!0}),j(D)!=="svelte-dlvpfi"&&(D.innerHTML=tt),ns=o(e),K=T(e,"P",{"data-svelte-h":!0}),j(K)!=="svelte-ze9gpp"&&(K.innerHTML=lt),as=o(e),f(O.$$.fragment,e),is=o(e),f(ee.$$.fragment,e),ps=o(e),se=T(e,"P",{"data-svelte-h":!0}),j(se)!=="svelte-tncgcu"&&(se.textContent=nt),os=o(e),te=T(e,"P",{"data-svelte-h":!0}),j(te)!=="svelte-1n7f6wy"&&(te.innerHTML=at),rs=o(e),f(le.$$.fragment,e),ms=o(e),ne=T(e,"P",{"data-svelte-h":!0}),j(ne)!=="svelte-12q9nz6"&&(ne.innerHTML=it),cs=o(e),f(ae.$$.fragment,e),ds=o(e),ie=T(e,"P",{"data-svelte-h":!0}),j(ie)!=="svelte-186jghx"&&(ie.innerHTML=pt),us=o(e),f(pe.$$.fragment,e),fs=o(e),oe=T(e,"P",{"data-svelte-h":!0}),j(oe)!=="svelte-14wppcr"&&(oe.innerHTML=ot),Ms=o(e),f(re.$$.fragment,e),ys=o(e),f(me.$$.fragment,e),bs=o(e),ce=T(e,"P",{"data-svelte-h":!0}),j(ce)!=="svelte-10f47tp"&&(ce.innerHTML=rt),hs=o(e),x=T(e,"BLOCKQUOTE",{class:!0,"data-svelte-h":!0}),j(x)!=="svelte-1c9nm5f"&&(x.innerHTML=mt),Js=o(e),de=T(e,"P",{"data-svelte-h":!0}),j(de)!=="svelte-6lbp1r"&&(de.innerHTML=ct),Ts=o(e),ue=T(e,"P",{"data-svelte-h":!0}),j(ue)!=="svelte-11i7zfa"&&(ue.innerHTML=dt),js=o(e),fe=T(e,"P",{"data-svelte-h":!0}),j(fe)!=="svelte-1nqkxht"&&(fe.innerHTML=ut),ws=o(e),f(Me.$$.fragment,e),$s=o(e),ye=T(e,"P",{"data-svelte-h":!0}),j(ye)!=="svelte-pkrvtp"&&(ye.innerHTML=ft),Us=o(e),f(be.$$.fragment,e),_s=o(e),he=T(e,"P",{"data-svelte-h":!0}),j(he)!=="svelte-1tjewkw"&&(he.textContent=Mt),Zs=o(e),f(Je.$$.fragment,e),gs=o(e),Te=T(e,"P",{"data-svelte-h":!0}),j(Te)!=="svelte-19j06lv"&&(Te.innerHTML=yt),ks=o(e),f(je.$$.fragment,e),Gs=o(e),we=T(e,"P",{"data-svelte-h":!0}),j(we)!=="svelte-18jvucs"&&(we.innerHTML=bt),Ws=o(e),f($e.$$.fragment,e),Bs=o(e),f(Ue.$$.fragment,e),Cs=o(e),_e=T(e,"P",{"data-svelte-h":!0}),j(_e)!=="svelte-7e3y9a"&&(_e.innerHTML=ht),xs=o(e),Ze=T(e,"P",{"data-svelte-h":!0}),j(Ze)!=="svelte-13gpg4p"&&(Ze.innerHTML=Jt),Xs=o(e),ge=T(e,"UL",{"data-svelte-h":!0}),j(ge)!=="svelte-1t814mj"&&(ge.innerHTML=Tt),Vs=o(e),ke=T(e,"P",{"data-svelte-h":!0}),j(ke)!=="svelte-278bgf"&&(ke.innerHTML=jt),vs=o(e),Ge=T(e,"P",{"data-svelte-h":!0}),j(Ge)!=="svelte-1n3gbmr"&&(Ge.innerHTML=wt),Is=o(e),f(We.$$.fragment,e),Rs=o(e),Be=T(e,"P",{"data-svelte-h":!0}),j(Be)!=="svelte-1o6htac"&&(Be.innerHTML=$t),Ys=o(e),f(Ce.$$.fragment,e),Ns=o(e),f(xe.$$.fragment,e),Qs=o(e),ve=T(e,"P",{}),gt(ve).forEach(t),this.h()},h(){Hs(n,"name","hf:doc:metadata"),Hs(n,"content",Lt),Hs(W,"class","tip"),Hs(x,"class","warning")},m(e,s){xt(document.head,n),l(e,d,s),l(e,a,s),l(e,c,s),M(i,e,s),l(e,r,s),M(m,e,s),l(e,$,s),l(e,Z,s),l(e,w,s),l(e,g,s),l(e,Ie,s),M(G,e,s),l(e,Re,s),l(e,V,s),l(e,Ye,s),M(v,e,s),l(e,Ne,s),l(e,I,s),l(e,Qe,s),l(e,R,s),l(e,ze,s),M(Y,e,s),l(e,He,s),l(e,N,s),l(e,Fe,s),M(Q,e,s),l(e,Ee,s),l(e,z,s),l(e,Se,s),M(H,e,s),l(e,Le,s),M(F,e,s),l(e,qe,s),l(e,E,s),l(e,Ae,s),l(e,S,s),l(e,Pe,s),l(e,W,s),l(e,De,s),M(B,e,s),l(e,Ke,s),M(L,e,s),l(e,Oe,s),l(e,q,s),l(e,es,s),M(C,e,s),l(e,ss,s),l(e,A,s),l(e,ts,s),M(P,e,s),l(e,ls,s),l(e,D,s),l(e,ns,s),l(e,K,s),l(e,as,s),M(O,e,s),l(e,is,s),M(ee,e,s),l(e,ps,s),l(e,se,s),l(e,os,s),l(e,te,s),l(e,rs,s),M(le,e,s),l(e,ms,s),l(e,ne,s),l(e,cs,s),M(ae,e,s),l(e,ds,s),l(e,ie,s),l(e,us,s),M(pe,e,s),l(e,fs,s),l(e,oe,s),l(e,Ms,s),M(re,e,s),l(e,ys,s),M(me,e,s),l(e,bs,s),l(e,ce,s),l(e,hs,s),l(e,x,s),l(e,Js,s),l(e,de,s),l(e,Ts,s),l(e,ue,s),l(e,js,s),l(e,fe,s),l(e,ws,s),M(Me,e,s),l(e,$s,s),l(e,ye,s),l(e,Us,s),M(be,e,s),l(e,_s,s),l(e,he,s),l(e,Zs,s),M(Je,e,s),l(e,gs,s),l(e,Te,s),l(e,ks,s),M(je,e,s),l(e,Gs,s),l(e,we,s),l(e,Ws,s),M($e,e,s),l(e,Bs,s),M(Ue,e,s),l(e,Cs,s),l(e,_e,s),l(e,xs,s),l(e,Ze,s),l(e,Xs,s),l(e,ge,s),l(e,Vs,s),l(e,ke,s),l(e,vs,s),l(e,Ge,s),l(e,Is,s),M(We,e,s),l(e,Rs,s),l(e,Be,s),l(e,Ys,s),M(Ce,e,s),l(e,Ns,s),M(xe,e,s),l(e,Qs,s),l(e,ve,s),zs=!0},p(e,[s]){const Ut={};s&2&&(Ut.$$scope={dirty:s,ctx:e}),G.$set(Ut);const _t={};s&2&&(_t.$$scope={dirty:s,ctx:e}),B.$set(_t);const Zt={};s&2&&(Zt.$$scope={dirty:s,ctx:e}),C.$set(Zt)},i(e){zs||(y(i.$$.fragment,e),y(m.$$.fragment,e),y(G.$$.fragment,e),y(v.$$.fragment,e),y(Y.$$.fragment,e),y(Q.$$.fragment,e),y(H.$$.fragment,e),y(F.$$.fragment,e),y(B.$$.fragment,e),y(L.$$.fragment,e),y(C.$$.fragment,e),y(P.$$.fragment,e),y(O.$$.fragment,e),y(ee.$$.fragment,e),y(le.$$.fragment,e),y(ae.$$.fragment,e),y(pe.$$.fragment,e),y(re.$$.fragment,e),y(me.$$.fragment,e),y(Me.$$.fragment,e),y(be.$$.fragment,e),y(Je.$$.fragment,e),y(je.$$.fragment,e),y($e.$$.fragment,e),y(Ue.$$.fragment,e),y(We.$$.fragment,e),y(Ce.$$.fragment,e),y(xe.$$.fragment,e),zs=!0)},o(e){b(i.$$.fragment,e),b(m.$$.fragment,e),b(G.$$.fragment,e),b(v.$$.fragment,e),b(Y.$$.fragment,e),b(Q.$$.fragment,e),b(H.$$.fragment,e),b(F.$$.fragment,e),b(B.$$.fragment,e),b(L.$$.fragment,e),b(C.$$.fragment,e),b(P.$$.fragment,e),b(O.$$.fragment,e),b(ee.$$.fragment,e),b(le.$$.fragment,e),b(ae.$$.fragment,e),b(pe.$$.fragment,e),b(re.$$.fragment,e),b(me.$$.fragment,e),b(Me.$$.fragment,e),b(be.$$.fragment,e),b(Je.$$.fragment,e),b(je.$$.fragment,e),b($e.$$.fragment,e),b(Ue.$$.fragment,e),b(We.$$.fragment,e),b(Ce.$$.fragment,e),b(xe.$$.fragment,e),zs=!1},d(e){e&&(t(d),t(a),t(c),t(r),t($),t(Z),t(w),t(g),t(Ie),t(Re),t(V),t(Ye),t(Ne),t(I),t(Qe),t(R),t(ze),t(He),t(N),t(Fe),t(Ee),t(z),t(Se),t(Le),t(qe),t(E),t(Ae),t(S),t(Pe),t(W),t(De),t(Ke),t(Oe),t(q),t(es),t(ss),t(A),t(ts),t(ls),t(D),t(ns),t(K),t(as),t(is),t(ps),t(se),t(os),t(te),t(rs),t(ms),t(ne),t(cs),t(ds),t(ie),t(us),t(fs),t(oe),t(Ms),t(ys),t(bs),t(ce),t(hs),t(x),t(Js),t(de),t(Ts),t(ue),t(js),t(fe),t(ws),t($s),t(ye),t(Us),t(_s),t(he),t(Zs),t(gs),t(Te),t(ks),t(Gs),t(we),t(Ws),t(Bs),t(Cs),t(_e),t(xs),t(Ze),t(Xs),t(ge),t(Vs),t(ke),t(vs),t(Ge),t(Is),t(Rs),t(Be),t(Ys),t(Ns),t(Qs),t(ve)),t(n),h(i,e),h(m,e),h(G,e),h(v,e),h(Y,e),h(Q,e),h(H,e),h(F,e),h(B,e),h(L,e),h(C,e),h(P,e),h(O,e),h(ee,e),h(le,e),h(ae,e),h(pe,e),h(re,e),h(me,e),h(Me,e),h(be,e),h(Je,e),h(je,e),h($e,e),h(Ue,e),h(We,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(_){return Gt(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class sl extends Wt{constructor(n){super(),Bt(this,n,qt,St,kt,{})}}export{sl as component};
